WO2012005193A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2012005193A1
WO2012005193A1 PCT/JP2011/065208 JP2011065208W WO2012005193A1 WO 2012005193 A1 WO2012005193 A1 WO 2012005193A1 JP 2011065208 W JP2011065208 W JP 2011065208W WO 2012005193 A1 WO2012005193 A1 WO 2012005193A1
Authority
WO
WIPO (PCT)
Prior art keywords
progression
code stream
image
unit
image processing
Prior art date
Application number
PCT/JP2011/065208
Other languages
English (en)
French (fr)
Inventor
福原 隆浩
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to EP11803527A priority Critical patent/EP2458841A1/en
Priority to RU2012108119/08A priority patent/RU2012108119A/ru
Priority to CN2011800036811A priority patent/CN102484674A/zh
Priority to BR112012004815A priority patent/BR112012004815A2/pt
Priority to US13/393,935 priority patent/US8953898B2/en
Publication of WO2012005193A1 publication Critical patent/WO2012005193A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving the convenience of a code stream in which multi-line images are encoded.
  • Such stereoscopic content such as 3D movies is rapidly spreading.
  • 3D content stereo images using binocular parallax of human eyes are the mainstream. This is to allow the user to perceive parallax and to perceive the subject three-dimensionally by causing the left eye image and the right eye image to be viewed separately by the user's eyes.
  • the progression which is a data structure for realizing the extensibility of the decoded image in the case of integrating a multi-system (multi-view) code stream. Accordingly, when a single code stream is generated by integrating a multi-system code stream, the progression function cannot be used, and the convenience of the code stream may not be improved.
  • One aspect of the present invention is an analysis unit that analyzes a progression structure, which is a data structure for realizing extensibility of a decoded image, included in a multi-system codestream in which an image is encoded, and an analysis result by the analysis unit And determining the progression structure after the integration of the multi-system codestreams according to the integration structure, integrating the multi-system codestreams according to the integration structure determined by the determination means, and having the progression structure.
  • An image processing apparatus includes an integration unit that generates a single system code stream.
  • the code stream may have a progression structure for layers, resolution levels, components, and positions.
  • the determination means has a hierarchy in the order of lineage, resolution level, position, component, and layer.
  • the structure may be a progressive structure after the integration.
  • the determination means has a hierarchy in the order of resolution level, position, lineage, component, and layer.
  • the structure may be a progressive structure after the integration.
  • the determination means has a hierarchy in the order of components, lines, positions, resolution levels, and layers.
  • the structure may be a progressive structure after the integration.
  • the progression information generation means includes at least one of SGcod, SPcoc, and Ppoc in the COD marker segment of JPEG2000 included in the codestream after integration, as the progression information, the hierarchical structure of the integration structure after integration. Can be defined in one.
  • It may further comprise a decoding means for decoding the code stream of each system separated by the separating means.
  • progression information generation means for generating progression information that is information relating to the progression structure for each system code stream separated by the separation means and adding the progression information to the code stream.
  • the image encoding apparatus 100 shown in FIG. 1 has a plurality of input systems (multi-system input), encodes multi-system image data input from each input system, respectively, and generates a code stream.
  • the code streams are integrated to generate one code stream.
  • the image encoding apparatus 100 generates a code stream so as to have a progression function for realizing the expandability of the decoded image, such as JPEG2000 (Joint Photographic Experts Group 2000). That is, the image encoding device 100 generates a highly convenient code stream that can be used for various purposes.
  • the image encoding apparatus 100 inputs X system image data.
  • the image encoding device 100 includes an encoding unit 101-1 to encoding unit 101 -X, and a code stream generation unit 102.
  • the encoding unit 101-1 through encoding unit 101-X encode X input image data (input image data 111-1 through input image data 111-X), respectively, and generate X code streams (code streams 112-1). To code stream 112-X).
  • the code stream generation unit 102 receives the outputs (code stream 112-1 to code stream 112-X) of the encoding unit 101-1 to the encoding unit 101-X, and integrates them based on the designation 113 from the outside.
  • One code stream is generated and output (code stream 114).
  • the encoding unit 101 when it is not necessary to distinguish the encoding unit 101-1 to the encoding unit 101-X from each other, they are simply referred to as the encoding unit 101. Further, when it is not necessary to distinguish the input image data 111-1 to the input image data 111-X from each other, they are simply referred to as input image data 111. Further, when it is not necessary to distinguish the code streams 112-1 to 112-X from each other, they are simply referred to as a code stream 112.
  • each encoding unit 101 generates a code stream 112 so as to have a progression structure that is a data structure for realizing the expandability of a decoded image with respect to image quality, resolution, and the like.
  • the code stream generation unit 102 adds to the progression structure of the code streams 112, and further, the progression structure for multiple systems (data structure that realizes scalability related to the system, that is, which The code stream 114 is generated so as to have a data structure capable of controlling a system, which system is to be decoded, and in what order.
  • the encoding unit 101 is provided in each system.
  • one encoding unit 101 may be capable of encoding the input image data 111 of a plurality of systems.
  • the image encoding apparatus 100 may include one encoding unit 101, and the encoding unit 101 may encode the X system input image data 111 and generate an X system code stream. .
  • FIG. 2 is a block diagram illustrating a main configuration example of the encoding unit 101 of FIG.
  • the encoding unit 101 is an encoder that performs encoding so as to generate a code stream having a progression structure similar to the JPEG2000 system.
  • the encoding unit 101 may encode an image by the JPEG2000 method.
  • the encoding unit 101 includes a DC level shift unit 131, a wavelet transform unit 132, a quantization unit 133, a code blocking unit 134, and a bit plane development unit 135.
  • the DC level shift unit 131 performs a level shift of the DC component of the image data (input image data 111 in FIG. 1) input to the encoding unit 101 as indicated by an arrow 161 in order to efficiently perform the subsequent wavelet transform.
  • the RGB signal has a positive value (unsigned integer). Therefore, the DC level shift unit 131 uses this fact to improve the compression efficiency by performing level shift that halves the dynamic range of the original signal. Therefore, this level shift is not performed when a signal having an integer value with a sign (both positive and negative) is used as the original signal, such as the color difference data Cb and the color difference data Cr of the YCbCr signal.
  • the wavelet transform unit 132 is realized by a filter bank usually composed of a low-pass filter and a high-pass filter. Further, since a digital filter usually has an impulse response (filter coefficient) having a length of a plurality of taps, the wavelet transform unit 132 has a buffer that buffers an input image that can be filtered in advance.
  • the wavelet transform unit 132 When the wavelet transform unit 132 acquires the image data output from the DC level shift unit 131 as indicated by an arrow 162 in an amount more than the minimum necessary for filtering, the wavelet transform unit 132 applies a predetermined amount to the image data after the DC level shift. Filtering is performed using a wavelet transform filter to generate wavelet coefficients. The wavelet transform unit 132 performs filtering for separating the image data into a low frequency component and a high frequency component for each of the vertical direction and the horizontal direction of the image.
  • the wavelet transform unit 132 recursively repeats such filtering processing a predetermined number of times for subbands separated as low-frequency components in both the vertical direction and the horizontal direction. This is because, for example, as shown in FIG. 3, most of the energy of the image is concentrated in the low frequency component.
  • FIG. 3 is a diagram illustrating a configuration example of a subband. As shown in FIG. 3, in both the division level number 1 state and the division level number 3 state, most of the energy of the image is concentrated in the low frequency component.
  • FIG. 4 is a diagram illustrating a configuration example of subbands generated by the wavelet transform process with the number of division levels of 4.
  • the wavelet transform unit 132 first filters the entire image to generate subbands 1LL (not shown), 1HL, 1LH, and 1HH. Next, the wavelet transform unit 132 performs filtering again on the generated subband 1LL to generate 2LL (not shown), 2HL, 2LH, and 2HH. Further, the wavelet transform unit 132 performs filtering again on the generated subband 2LL to generate 3LL, 3HL, 3LH, and 3HH. Further, the wavelet transform unit 132 performs filtering again on the generated subband 3LL to generate 4LL, 4HL, 4LH, and 4HH.
  • the wavelet transform unit 132 supplies the wavelet coefficient obtained by filtering to the quantization unit 133 as indicated by an arrow 163 for each subband.
  • the quantization unit 133 quantizes the supplied wavelet coefficients. This quantization method is arbitrary, but scalar quantization that divides by the quantization step size is common.
  • the quantization unit 133 supplies the quantization coefficient obtained by the quantization to the code blocking unit 134 as indicated by an arrow 164. In the subsequent stage, a quantized coefficient is supplied instead of the wavelet coefficient. This quantized coefficient is also handled basically in the same manner as the wavelet coefficient. Accordingly, in the following description, unless necessary, the description thereof will be omitted, and simply referred to as a coefficient or coefficient data.
  • the processing of the quantization unit 133 is omitted, as indicated by an arrow 165.
  • the output of the wavelet transform unit 132 is supplied to the code block unit 134.
  • the wavelet coefficients are divided by the code block forming unit 134 into code blocks having a predetermined size, which is a processing unit of entropy coding.
  • FIG. 5 shows the positional relationship of code blocks in each subband. For example, a code block having a size of about 64 ⁇ 64 pixels is generated in all subbands after division. Each subsequent processing unit performs processing for each code block.
  • the code block forming unit 134 supplies each code block to the bit plane developing unit 135 as indicated by an arrow 166.
  • the bit plane expansion unit 135 expands the coefficient data into bit planes for each bit position.
  • the bit plane is obtained by dividing (slicing) a coefficient group including a predetermined number of wavelet coefficients for each bit, that is, for each position. That is, the bit plane is a set of bits (coefficient bits) at the same position in the coefficient group.
  • Fig. 6 shows a specific example.
  • the left figure of FIG. 6 shows a total of 16 coefficients, 4 vertical and 4 horizontal. Among these 16 coefficients, the coefficient having the maximum absolute value is 13, which is expressed as 1101 in binary.
  • the bit plane expansion unit 135 expands such a coefficient group into four bit planes indicating absolute values (absolute bit planes) and one bit plane indicating codes (sign bit planes). That is, the coefficient group on the left in FIG. 6 is expanded into four absolute value bit planes and one code bit plane, as shown on the right in FIG.
  • all elements of the absolute value bit plane take values of 0 or 1.
  • the bit plane element indicating the sign takes either a value indicating that the coefficient value is positive, a value indicating that the coefficient value is 0, or a value indicating that the coefficient value is negative.
  • the encoding unit 101 further includes a bit modeling unit 136, an arithmetic encoding unit 137, a code amount adding unit 138, a rate control unit 139, a header generation unit 140, and a packet generation unit 141.
  • the bit plane development unit 135 supplies the developed bit plane to the bit modeling unit 136 as indicated by an arrow 167.
  • the bit modeling unit 136 and the arithmetic coding unit 137 operate as an EBCOT (Embedded Coding with Optimized Truncation) unit 151, and perform entropy coding called EBCOT defined in the JPEG2000 standard on the input coefficient data.
  • EBCOT is a technique for performing coding while measuring the statistic of the coefficient in each block for each block of a predetermined size.
  • the bit modeling unit 136 performs bit modeling on the coefficient data according to the procedure defined in the JPEG2000 standard, and as shown by an arrow 168, information such as control information, symbols, and context is sent to the arithmetic coding unit 137. Supply.
  • the arithmetic encoding unit 137 performs arithmetic encoding on the bit plane of the coefficient.
  • the vertical and horizontal size of the code block is a power of 2 from 4 to 256, and the sizes usually used are 32 ⁇ 32, 64 ⁇ 64, 128 ⁇ 32, and the like. It is assumed that the coefficient value is represented by an n-bit signed binary number, and bit 0 to bit (n ⁇ 2) represent respective bits from LSB to MSB. The remaining 1 bit indicates a sign.
  • the coding of the code block is performed by the following three kinds of coding passes in order from the bit plane on the MSB side.
  • Bit-plane (n-1) (MSB) is encoded by Cleanup Pass. Subsequently, the LSB side is sequentially moved, and each bit plane is encoded using three encoding passes in the order of SignificantSignPropagation Pass, Magnitude Refinement Pass, and Cleanup Pass.
  • the first bit plane from the MSB side where 1 appears first is written in the header, and all 0 bit planes (referred to as zero bit planes) continuous from the MSB side are not encoded.
  • encoding is performed by repeatedly using three types of encoding passes, and the encoding is terminated up to an arbitrary encoding pass of an arbitrary bit plane, thereby taking a trade-off between code amount and image quality (rate control is performed). ).
  • the code block is divided into stripes every four coefficients in height.
  • the stripe width is equal to the code block width.
  • the scan order is the order in which all the coefficients in one code block are traced. In the code block, the order is from the upper stripe to the lower stripe, and in the stripe, from the left column to the right column. The order is from top to bottom in the sequence. All coefficients in the code block in each coding pass are processed in this scan order.
  • Significance Propagation Pass In the Significance Propagation Pass that encodes a certain bit plane, the bit plane value of a non-significant coefficient in which at least one coefficient in the vicinity of 8 is significant is arithmetically encoded. When the encoded bit plane value is 1, whether the code is + or-is continued with MQ encoding.
  • significance is the state that the encoder has for each coefficient, and the initial value of significance changes to 0 representing non-significant, and changes to 1 representing significant when 1 is encoded with that coefficient, and always thereafter. It will continue to be 1. Therefore, the significance can be said to be a flag indicating whether or not information of significant digits has already been encoded. If a bit plane becomes significant, it remains significant in subsequent bit planes.
  • Magnitude Refinement Pass In the Magnitude Refinement Pass that encodes a bit plane, the Significance Propagation Pass that encodes a bit plane and the value of a bit plane of a significant coefficient that is not encoded are MQ-encoded.
  • Cleanup Pass In the Cleanup Pass that encodes a bit plane, the value of the bit plane of a non-significant coefficient that is a Significance Pass that encodes a bit plane and that is not encoded is MQ encoded. When the value of the encoded bit plane is 1, whether the code is + or-(Sign information) is subsequently subjected to MQ encoding.
  • MQ coding In the MQ coding in the above three coding passes, ZC (Zero Coding), RLC (Run-Length Coding), SC (Sign Coding), and MR (Magnitude Refinement) are used depending on the case. .
  • MQ coding is a learning type binary arithmetic code defined by JBIG2 (reference: ISO / IEC FDIS 14492, “Lossy / Lossless Coding” of “Bi-level” Images, “March 2000”).
  • the arithmetic encoding unit 137 supplies the generated code stream to the code amount adding unit 138 as indicated by an arrow 169.
  • the code amount adding unit 138 counts and accumulates the code amount of the code stream.
  • the code amount adding unit 138 supplies the code stream to the header creating unit 140 and the packet generating unit 141 as indicated by the arrows 172 and 173, and the code amount adding unit 138 as illustrated by the arrow 170.
  • the accumulated value is supplied to the rate control unit 139.
  • the rate control unit 139 controls the EBCOT unit 151 based on the supplied accumulated value of the code amount, as shown by an arrow 171, and ends the encoding when the accumulated value reaches the target code amount. That is, the rate control unit 139 controls the amount of generated code (code stream rate control).
  • the packet generation unit 141 packetizes the supplied code stream.
  • the header generation unit 140 generates header information of the packet and supplies the header information to the packet generation unit 141 as indicated by an arrow 174.
  • the packet generation unit 141 performs packetization using the header information.
  • FIG. 9 The concept of this packet is shown in FIG.
  • the example shown in FIG. 9 is an example in which wavelet transformation is performed three times, and as a result, four packets from the lowest packet 1 to the highest packet 4 are generated. Therefore, the encoded code streams of all the code blocks existing in the subbands in these individual packets are packed for each packet.
  • FIG. 10 illustrates a case where the coding pass is divided into L layers, layer 1 to layer L.
  • the leading coding pass of layer n is located immediately after the last trailing coding pass of layer (n ⁇ 1). Therefore, the code amount of the code stream increases as the number of layers increases. That is, the image quality of the decoded image is improved (the resolution does not change).
  • image quality of the decoded image can be controlled by controlling from which layer 1 to which layer is decoded during decoding.
  • image quality indicates the visual quality of a decoded image depending on this layer (that is, the amount of information of each pixel).
  • the generated packet is output to the outside of the encoding unit 101 and supplied to the code stream generating unit 102 as indicated by an arrow 175.
  • Each encoding unit 101 encodes image data by the JPEG2000 system as described above, and generates a codestream having a JPEG2000 progression function for resolution, layer, and the like.
  • FIG. 11 is a block diagram illustrating a main configuration example of the code stream generation unit 102 of FIG. As illustrated in FIG. 11, the code stream generation unit 102 includes a progression analysis unit 181, a designation reception unit 182, a progression determination unit 183, an integration unit 184, and a progression information generation unit 185.
  • the code stream generation unit 102 includes a progression analysis unit 181, a designation reception unit 182, a progression determination unit 183, an integration unit 184, and a progression information generation unit 185.
  • the progression analysis unit 181 analyzes the progression structure for each of the input code streams 112-1 to 112-X, and identifies what structure each code stream is configured with.
  • the progression analysis unit 181 supplies the analyzed code streams 191-1 to 191-X to the integration unit 184. Further, the progression analysis unit 181 supplies the analysis result of each code stream to the progression determination unit 183 (arrow 192).
  • code streams 191-1 to 191-X are simply referred to as a code stream 191 when there is no need to distinguish them from each other.
  • the designation receiving unit 182 receives, for example, designation 113 of the progression structure of the integrated code stream supplied from the outside, such as a user or another device, and supplies it to the progression determining unit 183 (arrow 192).
  • the progression determination unit 183 determines the progression structure of the integrated code stream based on the analysis result supplied from the progression analysis unit 181 and the designation from the outside supplied from the designation receiving unit 182, and the information This is supplied to the integration unit 184 (arrow 194).
  • the progression determination unit 183 may determine the progression structure using not only the analysis result and designation from the outside but also other information as appropriate.
  • the integration unit 184 Based on the information on the progression structure supplied from the progression determination unit 193, the integration unit 184 has a progression analysis unit so that the integrated code stream has a progression structure for each system in addition to the resolution and image quality. Each code stream supplied from 181 is integrated. The integration unit 184 supplies the integrated single code stream 195 to the progression information generation unit 185.
  • the progression information generation unit 185 generates progression information that is information related to the progression structure of the code stream 194, and embeds the progression information in a predetermined position of the integrated code stream 194 such as header information.
  • the progression information generator 185 outputs the code stream 114 with the progression information added.
  • JPEG2000 Progression As characteristics in JPEG2000 encoding, there are a bit plane and a subband generated by wavelet transform. These allow definition of progression.
  • Progression is the order of codewords belonging to the same category. For example, if code words of different layers belonging to the same resolution level are collected, images having the same image size and different image quality can be generated. Conversely, by collecting codewords of different resolution levels belonging to the same layer, it is possible to generate images having the same image quality but different image sizes. That is, it is a data structure for realizing the expandability of the decoded image.
  • JPEG2000 In JPEG2000, only a part of data can be decoded from a code stream for a predetermined element in this way. Accordingly, various decoded images can be easily obtained from one code stream. In other words, by providing the code stream with such a progression structure, the code stream can be used for various purposes, and the convenience of the code stream is improved.
  • a high-performance liquid crystal display rich in expressive power on a large screen from one code stream a high-resolution and high-bit-rate decoded image is provided, and a small-screen mobile phone with low image processing capability
  • a decoded image with a low resolution and a low bit rate can be easily realized by selecting a progression element such as a layer or a subband to be decoded.
  • Such a progression structure can be used not only in the decoding process but also in a conversion process (transcoding) for changing the image size, image quality, etc. of the decoded image. That is, as in the decoding process described above, a code stream in which the image size and the image quality of a decoded image are changed can be easily generated by simply selecting a progression element such as a layer or subband (ie, transcoding). can do.
  • a progression element such as a layer or subband (ie, transcoding).
  • the resolution level is a level generated along with the wavelet transform as illustrated in FIG. That is, the resolution level defines the image size of the decoded image.
  • the layer is an element that affects the image quality at the level in the bit plane direction.
  • a component is defined when it is composed of different components such as YCbCr (the number of components is 3 in the case of YCbCr and RGB).
  • the position relates to one of the features of JPEG2000, and defines the number and position of each tile when the screen is divided and encoded into a plurality of rectangular blocks.
  • LRCP Layer Resolution-level Component Position Progression
  • RLCP Resolution-level Layer Component Position Progression
  • RPCL Resolution-level Position Component Component Layer
  • PCRL Purponent Position-Resolution-level Layer
  • FIG. 12 shows a decoded image generated when an encoded code stream in which JPEG2000 codewords are arranged in the order of LRCP is decoded in that order.
  • the code words are arranged so that the lowest layer is the position. In the following, description of the position (P) is omitted. *
  • the decoded image is displayed so that the image quality is gradually improved as in the order of image 201, image 202, image 203, and image 204 shown in FIG.
  • FIG. 13 shows a decoded image generated when an encoded code stream in which JPEG2000 codewords are arranged in the order of RLCP is decoded in that order.
  • packets are arranged in the following order. That is, the codewords are arranged so that the highest layer is the resolution level, the next lower layer is the layer, the next lower layer is the component, and the lowest layer is the position. In the following, description of the position (P) is omitted.
  • the decoded image gradually increases in image size (resolution) as shown in the order of image 211, image 212, image 213, and image 214 shown in FIG. Is displayed.
  • the order of the decoding process of the code stream differs depending on the hierarchical structure of each element of the progression, and the display method of the decoded image also changes.
  • other RPCL, PCRL, and CPRL are also subjected to decoding processing in the order corresponding to each hierarchical structure.
  • FIG. 14 is a diagram showing an example of SGcod parameters, which are parameters for coding style, defined in Table A-14 of the JPEG2000 Part-1 draft. It is possible to define the above-mentioned progression order by Progression order (8 bits) in SGcod.
  • the code stream 112 supplied to the code stream generation unit 102 in FIG. 1 has a JPEG2000 progression structure as described above.
  • the code stream generation unit 102 expands this progression structure, and adds a progression structure for multiple systems (a progression structure that realizes system scalability) to the conventional structure.
  • the code streams are integrated to generate one code stream. An example of the hierarchical structure of the progression after integration will be described below.
  • the first example of the hierarchical structure is XLRCP in which the highest hierarchy is a system and the following hierarchy is LRCP.
  • the decoded image is decoded and displayed one by one in order as shown in FIG. That is, the XLRCP codestream is first decoded from layer 1 to layer N as in the image 201-1, the image 202-1, the image 203-1, and the image 204-1 for the first system (gradually). To improve the image quality).
  • each system is decoded one by one, and finally, for the Xth system, layers 1 to N are decoded as in image 201-X, image 202-X, image 203-X, and image 204-X. (The image quality gradually improves.)
  • the code stream generation unit 102 uses the code stream having such an XLRCP structure. Is generated as follows.
  • the variable v indicates the number of views (number of input systems X) (VLRCP).
  • Multi-view can generate 3D video with a wide viewing angle by increasing the number of cameras, and can extract images in the depth direction much more easily than stereo.
  • many research institutions are also examining techniques for interpolating and synthesizing arbitrary viewpoint images between cameras.
  • the code stream generation unit 102 uses the following code stream having such an XLRCP structure. Generate as follows. In the following, the variable s indicates the system (left or right) (SLRCP). In the following, description of the position (P) is omitted.
  • the second example of the hierarchical structure is LXRCP with the second hierarchy of LRCP as a system.
  • the decoded image is decoded and displayed one layer at a time as shown in FIG. That is, the LXRCP code stream is first decoded in order from the first system to the X-th system for the first system, such as the image 201-1, the image 201-2,..., The image 201-X. (X layer 1 images are generated).
  • X decoded images of layer 1 are obtained, next, with respect to layer 2, the first system to the Xth system, such as image 202-1, image 202-2,. Are sequentially decoded (X layer 2 images are generated).
  • the first system to the Xth system are sequentially decoded as in the image 203-1, the image 203-2,... Layer 3 image is generated).
  • each layer is decoded, and finally, for the layer L, from the first system to the Xth system as in the image 204-1, the image 204-2,..., The image 204-X. Decoded in order (images of X layers L are generated).
  • the image quality of the stereo image is gradually improved on the receiving side (decoding side). Suitable for application.
  • the code stream generation unit 102 uses the code stream having such an LXRCP structure. Is generated as follows. In the following, the variable v indicates the number of views (number of input systems X) (LVRCP). In the following, description of the position (P) is omitted.
  • the code stream generation unit 102 uses the following code stream having such an LXRCP structure. Generate as follows. In the following, the variable s indicates the system (left or right) (LSRCP). In the following, description of the position (P) is omitted.
  • XRLCP A third example of the hierarchical structure is XRLCP in which the highest hierarchy is a system and the following hierarchy is RLCP.
  • the decoded image is decoded and displayed one by one in order as shown in FIG.
  • the XRLCP code stream first has the resolution of the lowest hierarchy from the resolution level of the lowest layer, such as image 211-1, image 212-1, image 213-1 and image 214-1, for the first system. Up to the level is decoded (the image size gradually increases).
  • the second system and subsequent systems are similarly decoded one by one.
  • the image 211-X, the image 212-X, and the image 213 are decoded.
  • the resolution level from the lowest layer to the resolution level of the highest hierarchy is decoded (the image size gradually increases).
  • the code stream generation unit 102 uses the following code stream having such an XLRCP structure. Generate as follows. In the following, the variable s indicates the system (left or right) (SRLCP). In the following, description of the position (P) is omitted.
  • RXLCP The fourth example of the hierarchical structure is RXLCP with the second hierarchy of RLCP as a system.
  • the decoded image is decoded and displayed in order by one resolution level. That is, the RXLCP codestream is first decoded in order from the first system to the Xth system, such as the image 211-1,... X bottom layer resolution level images are generated).
  • the third resolution level from the bottom is similarly decoded in order from the first system to the Xth system as in the image 213-1,.
  • the third resolution level image from the bottom is generated).
  • the resolution level is decoded one by one.
  • the resolution level of the highest layer is changed from the first system to the Xth system as in the image 214-1,..., The image 214-X. Decoded sequentially (X top layer resolution level images are generated).
  • the code stream generation unit 102 uses the code stream having such an RXLCP structure. Is generated as follows. In the following, the variable v indicates the number of views (number of input systems X) (RVLCP). In the following, description of the position (P) is omitted.
  • the progression information generation unit 185 sets the Progression order of the SGcod parameter existing in the tile part header or main header of one system code stream 195 integrated by the integration unit 184 to a value corresponding to the progression structure of the code stream 195. To do.
  • the lower 4 bits can maintain compatibility with the conventional JPEG2000. Affinity can be increased. Therefore, for example, in a conventional JPEG2000 decoder that does not support such an extension, it can be decoded as a hierarchical structure of four elements according to the lower 4 bits.
  • Rsiz Denotes capabilities that a decoder needs toproperly decode the codestream.
  • step S101 each encoding unit 101 encodes the image data 111 input from the input system corresponding to itself.
  • step S102 the image coding apparatus 100 determines whether or not the input images of all systems have been encoded. If it is determined that there are unprocessed systems, the process returns to step S101, and all the systems Wait until it is determined that the input image has been processed.
  • step S102 when it is determined that the input images of all systems have been encoded, the image encoding device 100 advances the process to step S103.
  • step S103 the code stream generation unit 102 integrates the code streams of the respective systems, and generates a single system code stream having a progression function.
  • the image encoding device 100 ends the multi-system input encoding process.
  • step S121 the DC level shift unit 131 shifts the DC level of the image data input from the corresponding input system.
  • the wavelet transform unit 132 performs wavelet transform on the image data whose DC level has been shifted.
  • step S124 the code blocking unit 134 divides the quantized coefficient in units of code blocks.
  • step S125 the bit plane expansion unit 135 expands the coefficient for each code block into a bit plane.
  • step S126 the EBCOT unit 151 encodes the coefficient expanded in the bit plane.
  • step S127 the rate control unit 139 controls the rate of the generated code amount using the code amount and the like added by the code amount adding unit 138.
  • step S130 When the process of step S130 is finished, the encoding process is finished. This encoding process is repeatedly executed for each predetermined data unit until the supply of image data is completed or an instruction for termination is received. Further, this encoding process is executed in each encoding unit 101.
  • the encoding unit 101 can encode the input images of each system so as to have a progression structure that is a data structure for realizing the expandability of the decoded image.
  • the code stream generation unit 102 starts a code stream generation process.
  • the progression analysis unit 181 analyzes the progression for all the code streams supplied from each encoding unit 101 in step S151.
  • step S152 the designation receiving unit 182 receives a designation related to the progression structure after the code stream integration supplied from, for example, a user or an external device.
  • step S153 the progression determination unit 183 determines the progression structure of the integrated code stream based on the analysis result obtained by the process of step S151 and the external designation received by the process of step S152.
  • step S154 the integration unit 184 integrates the code streams of the respective systems so as to have the progression structure determined in step S153.
  • the progression information generation unit 185 generates the progression information of the integrated code stream, and the progression information is generated at a predetermined position of the integrated code stream such as Progression order in SGcod or Rsiz of the SIZ marker. Add information.
  • step S156 the progression information generation unit 185 outputs a code stream.
  • the code stream generation unit 102 has a structure in which the code stream of each system is added to the progression structure of each code stream with a progression structure for multiple systems (a data structure that realizes system scalability). Can be integrated into. By doing in this way, the image coding apparatus 100 can encode a multi-system input image, realize the expandability of the decoded image, and generate a code stream that can be used for various purposes.
  • the image decoding apparatus for decoding the code stream is based on the progression information added to the code stream.
  • the code stream can be easily decoded.
  • the image encoding device 100 can improve the convenience of a code stream in which multi-line images are encoded.
  • the progression information may be provided to the decoding side as data different from the code stream. In this case, however, it is necessary to clarify the correspondence between the code stream and the progression information (so that the correspondence can be grasped on the decoding side).
  • FIG. 26 is a block diagram illustrating a main configuration example of an image decoding device to which the present invention has been applied.
  • the image decoding apparatus 300 can decode a code stream according to a progression structure, which is a data structure for realizing the expandability of the decoded image, included in the input code stream, and can obtain a multi-system decoded image. .
  • a progression structure which is a data structure for realizing the expandability of the decoded image, included in the input code stream.
  • the image decoding apparatus 300 decodes only necessary information in accordance with the progression structure of the input code stream, and the decoded image (decoded image corresponding to the application) whose image quality, image size, etc. are appropriate for the application. ) May be obtained.
  • the image decoding apparatus 300 includes a code stream analysis unit 301, and decoding units 302-1 to 302-X.
  • the code stream analysis unit 301 analyzes the progression structure of the code stream 311 based on the progression information added to the input code stream 311 and the number of systems (number of views) X before the code stream 311 is integrated. Into the code stream.
  • the code stream analysis unit 301 supplies the separated code stream 312-1 to code stream 312-X to the decoding unit 302-1 to decoding unit 302-X corresponding to each system.
  • Each of the decoding units 302-1 to 302-X decodes the input code stream by a method corresponding to the encoding unit 101 in FIG. 1, and decodes the decoded image data 313-1 to decoded image 313-X. Generate and output.
  • the decoding units 302-1 to 302-X are simply referred to as the decoding unit 302 when it is not necessary to distinguish between them.
  • the code streams 312-1 to 312-X are simply referred to as code streams 312 when there is no need to distinguish them from each other.
  • the decoding unit 302 is provided in each system. However, one decoding unit 302 may be able to decode the code streams 312 of a plurality of systems.
  • the image decoding apparatus 300 may include one decoding unit 302, and the decoding unit 302 may decode the X system code stream 312 to generate the X system decoded image data 313. .
  • FIG. 27 is a block diagram illustrating a main configuration example of the code stream analysis unit 301 of FIG. As illustrated in FIG. 27, the code stream analysis unit 301 includes a progression analysis unit 321, a division unit 322, and a progression information generation unit 323.
  • the progression analysis unit 321 analyzes the progression information added to the input code stream 311 and analyzes the progression structure of the code stream 311. For example, the progression analysis unit 321 refers to the Progress order in the SGcod described in the main header and tile part header of the code stream 311 and Rsiz of the SIZ marker, and grasps the progression structure of the code stream 311 and the number of views. The progression analysis unit 321 supplies the analyzed code stream 331 and the analysis result 332 to the division unit 322.
  • the dividing unit 322 Based on the analysis result of the progression supplied from the progression analysis unit 321, the dividing unit 322 has a progression structure (data that realizes scalability related to the system) included in the code stream 331 supplied from the progression analysis unit 321. Based on the structure), the code stream 331 that was one system is separated into X code streams before integration.
  • encoded data for each predetermined unit is arranged according to the order of the progression structure.
  • the dividing unit 322 switches the decoding unit 302 that is the supply destination of the code stream 331 according to the progression structure for multiple systems among the progression structures that the code stream 331 has.
  • the dividing unit 322 supplies the separated code stream 333-1 to code stream 333-X to the progression information generating unit 323.
  • the progression information generation unit 323 generates progression information indicating a progression structure for each of the code streams 333-1 to 333-X, and places the progression information at predetermined positions of the code streams 333-1 to 333-X. Append.
  • code streams 333-1 to 333-X are simply referred to as code streams 333 when there is no need to distinguish them from each other.
  • FIG. 28 is a block diagram illustrating a main configuration example of the decoding unit 302.
  • the decoding unit 302 corresponds to the encoding unit 101 in FIG. 1 and decodes the code stream generated by encoding by the encoding unit 101.
  • the decoding unit 302 includes a packet decoding unit 351, an arithmetic decoding unit 352, a bit modeling unit 353, a bit plane synthesis unit 354, a code block synthesis unit 355, a wavelet inverse transformation unit 356, and a DC level inverse unit.
  • a shift unit 357 is included.
  • the packet decoding unit 351 decodes the packet supplied from the image encoding device 100 as indicated by the arrow 361 and supplies the code stream to the arithmetic decoding unit 352 as indicated by the arrow 362.
  • the arithmetic decoding unit 352 and the bit modeling unit 353 operate as the EBCOT unit 371, and perform entropy decoding called EBCOT defined by, for example, the JPEG2000 standard on the input code stream.
  • the arithmetic decoding unit 352 decodes the code stream by a method corresponding to the arithmetic encoding unit 137 and supplies the context to the bit modeling unit 353 as indicated by an arrow 363.
  • the bit modeling unit 353 generates wavelet coefficients expanded on the bit plane by a method corresponding to the bit modeling unit 136.
  • the bit modeling unit 353 supplies the generated coefficient data for each bit plane to the bit plane synthesis unit 354 as indicated by an arrow 364.
  • the bit plane synthesis unit 354 synthesizes the wavelet coefficients expanded on the bit plane.
  • the bit plane synthesis unit 354 supplies the wavelet coefficients obtained by synthesizing the bit planes to the code block synthesis unit 355 as indicated by an arrow 365.
  • the code block synthesis unit 355 generates coefficient data in units of code blocks using the supplied bit plane, and further synthesizes them to generate coefficient data for each subband.
  • the code block synthesis unit 355 supplies it to the wavelet inverse transformation unit 356 as indicated by an arrow 366.
  • the wavelet inverse transform unit 356 performs wavelet inverse transform on the supplied wavelet coefficients to generate baseband image data.
  • the wavelet inverse transform unit 356 supplies the generated baseband image data to the DC level inverse shift unit 357 as indicated by an arrow 367.
  • each code stream 312 encoded data for each predetermined unit is arranged in an order according to the progression structure. Therefore, the decoding unit 302 can decode the code stream 312 in the order according to the progression structure included in the code stream 312 by sequentially decoding the input code stream 312.
  • the image decoding apparatus 300 performs multi-system output decoding processing to decode a code stream in which multi-system images are integrated. First, an example of the flow of this multi-system output decoding process will be described with reference to the flowchart of FIG.
  • the image decoding apparatus 300 acquires the code stream generated by the image encoding apparatus 100, the image decoding apparatus 300 starts multi-system output decoding processing.
  • the code stream analysis unit 301 analyzes the acquired code stream and separates the code stream into code streams of the number of systems before integration.
  • the progression analysis unit 321 analyzes the progression information added to the code stream in step S321, and grasps the progression structure of the code stream, the number of views, and the like.
  • step S322 the dividing unit 322 separates the code stream for each system according to the progression structure of the code stream analyzed by the process of step S321.
  • step S323 the progression information generation unit 323 generates and adds progression information for each of the separated code streams.
  • step S324 the progression information generation unit 323 outputs the code stream of each system to which the progression information is added.
  • step S324 the code stream analysis unit 301 ends the analysis process, returns the process to step S301 in FIG. 29, and executes the processes in and after step S302.
  • the packet decoding unit 351 extracts encoded data from the acquired packet in step S341.
  • step S342 the EBCOT unit 371 decodes the encoded data extracted in step S341.
  • step S343 the bit plane combining unit 354 combines the bit planes of the coefficient data obtained by the decoding, and generates coefficient data for each code block.
  • step S344 the code block synthesis unit 355 synthesizes code blocks of coefficient data for each code block, and generates coefficient data for each subband.
  • step S345 the wavelet inverse transform unit 356 performs wavelet inverse transform on the coefficient data for each subband to generate baseband image data. Note that, when the coefficient data is quantized in the image encoding device 100, inverse quantization corresponding to the quantization is performed on the coefficient data, and then the wavelet inverse transform is performed.
  • step S346 the DC level reverse shift unit 357 reversely shifts the DC level of the baseband image data obtained by the inverse wavelet transform.
  • step S347 the decoding unit 302 outputs the image data subjected to the DC level reverse shift process from the output system 368 as decoded image data.
  • the decoded image data is output to a display (not shown), for example, and the image is displayed.
  • the decoding unit 302 ends the decoding process.
  • the decoding unit 302 repeats such decoding processing for each decoding processing unit. Since each encoded data is arranged in the order corresponding to the progression structure in the code stream, the decoding unit 302 can easily decode the code stream by sequentially decoding the supplied encoded data according to the progression information. Decoding can be performed in the order according to the progression structure.
  • the image decoding apparatus 300 analyzes the progression information added to the code stream, thereby performing decoding according to the progression structure, which is a data structure for realizing the extensibility of the decoded image.
  • System decoded image data can be generated. That is, the image decoding apparatus 300 can appropriately decode the code stream generated by the image encoding apparatus 100 and realize the expandability of the decoded image. Therefore, the image decoding apparatus 300 can improve the convenience of the code stream in which multi-line images are encoded.
  • a method of extracting this depth data from a plurality of image data is considered. That is, a certain subject is photographed from a plurality of directions, and the position of the subject in the depth direction is calculated from the difference in the position of the subject in each captured image. By such a method, the depth direction position is obtained for all subjects in the captured image, and depth data is generated.
  • the position of the subject in the depth direction in the image can be specified, and therefore binocular parallax from an arbitrary viewpoint can be calculated based on the information. That is, a stereo image from an arbitrary viewpoint can be generated.
  • depth data may be encoded as one system, and may be encoded together with image data to form a single system code stream so as to have a progression structure.
  • the present invention encodes such depth data as an input of a single system.
  • the present invention can also be applied to a case where a single code stream having a progression structure is used.
  • FIG. 32 is a block diagram showing a configuration example of the image encoding device in that case. 32, the same number is attached
  • an image encoding device 400 basically has the same configuration as the image encoding device 100, but further includes a depth data generation unit 411 and an encoding unit 412.
  • the input image data 111 of each input system is an image in which substantially the same subject is photographed or drawn from different directions, that is, an image constituting a multiview.
  • the depth data generation unit 411 uses each input image data 111 to generate depth data 421 indicating the position of the subject in the depth direction in the image.
  • the method for calculating the position of the subject in the depth direction is arbitrary.
  • FIG. 33 shows an example of depth data.
  • An example of the depth data of the image data 111 shown in FIG. 33A is shown in FIG.
  • the depth data 421 is information indicating the position in the depth direction of the entire area of the image data 111 with a predetermined number of bits for each predetermined range, for example, for each pixel or each block. It is. That is, the depth data 421 can be generally expressed as grayscale bitmap data. The number of gradations of the bitmap data becomes the bit depth of the depth data 421 (that is, the ability to express the position in the depth direction).
  • this depth data can be encoded basically in the same manner as the other input image data 111.
  • the depth data generation unit 411 supplies the generated depth data 421 to the encoding unit 412.
  • the encoding unit 412 has the same configuration as the encoding unit 101 and performs the same processing. That is, the encoding unit 412 encodes the depth data 421 in the same manner as the encoding unit 101, and generates a code stream 422 having a progression structure such as JPEG2000. The encoding unit 412 supplies the generated code stream 422 to the code stream generation unit 102.
  • the code stream generation unit 102 integrates the code streams of the respective systems as in the case of the first embodiment, and generates a single system code stream 114 having a progression structure including a progression structure for multiple systems. To do.
  • the depth data may be generated outside the image encoding device 400.
  • the image encoding device 400 has the same configuration as the image encoding device 100 of FIG. That is, when image data and depth data are input, the image encoding device 100 can encode them.
  • step S401 and step S402 in FIG. 34 are executed similarly to step S101 and step S102 in FIG.
  • step S403 the depth data generation unit 411 generates depth data from the input image data 111 of each system.
  • step S404 the encoding unit 412 encodes the depth data in the same manner as in step S401.
  • step S405 the code stream generation unit 102 integrates the code stream generated in step S401 and the code stream generated in step S404 in the same manner as in step S103 in FIG. 23, and has a progression structure. Generate a system codestream.
  • step S405 the image encoding device 400 ends the multi-system input encoding process.
  • the image encoding device 400 generates depth data from multi-line input image data constituting a multi-view, encodes the input image data of each line along with the depth data, and has one line having a progression structure.
  • a code stream can be generated.
  • the image encoding device 400 can improve the convenience of a code stream in which images of multiple systems are encoded even when the depth data is included in this way.
  • the depth data can be processed as one system of image data (bitmap data). That is, the image decoding apparatus 300 described in the second embodiment can also decode the code stream 114 generated by the image encoding apparatus 400 in the same manner as the code stream 114 generated by the image encoding apparatus 100. it can.
  • the code stream generated by the image encoding device 100 or the image encoding device 400 described above may be transferred to the image decoding device 300 by any method.
  • the image encoding apparatus 100 or the image encoding apparatus 400 records the generated code stream on an arbitrary recording medium such as a Blu-Ray Disc, a flash memory, or a hard disk, and the image decoding apparatus 300 records the recording medium.
  • the code stream may be read from and decoded.
  • the image encoding device 100 or the image encoding device 400 may transmit the generated code stream to the image decoding device 300 via an arbitrary communication medium such as a wired or wireless network.
  • the code stream generation unit 102 of the image encoding device 100 and the image encoding device 400 has been described as acquiring the designation 113 from the outside regarding the progression structure, but the provider of this designation is arbitrary It is. For example, it may be supplied from a user or another device as described above. Further, it may be supplied from an image decoding device that decodes a code stream generated by the image encoding device.
  • FIG. 35 is a block diagram showing a configuration example of a network system to which the present invention is applied.
  • a network system 500 shown in FIG. 35 is a system that transmits multi-line image data from the transmission side to the reception side via the network 501. At that time, in order to reduce the bandwidth used at the time of transmission, the network system 500 encodes multi-line image data on the transmission side, and transmits the data as a single code stream, and decodes it on the reception side. The original multi-system decoded image data is obtained.
  • the network 501 is composed of an arbitrary communication medium.
  • the network 501 is configured by an arbitrary network represented by the Internet, a LAN, or the like.
  • the network 501 may be a single network or a collection of a plurality of networks. Therefore, the network 501 may include an arbitrary communication device such as a repeater in addition to a communication medium such as a cable.
  • the network 501 may be a wired network, a wireless network, or a mixture of wired and wireless.
  • the network system 500 includes the above-described image encoding device 100 as an encoding device on the transmission side.
  • the network system 500 includes the above-described image decoding device 300 as a receiving-side decoding device.
  • the transmitting-side image encoding device 100 encodes multi-channel image data to be transmitted, generates a single-system code stream 114 having a progression structure, and transmits it to the image decoding device 300 via the network 501. To do.
  • the image decoding apparatus 300 on the receiving side receives it as a code stream 311, decodes it, separates it into original multi-system image data, and outputs it.
  • the image decoding apparatus 300 provides the designation 511 relating to the progression structure to the image encoding apparatus 100 via the network 501 based on the usage method of the image data.
  • the code stream generation unit 102 of the image encoding device 100 accepts this as an external designation 113.
  • the image encoding device 100 can easily generate a code stream having a progression structure according to the use on the reception (decoding) side. That is, the network system 500 can improve the convenience of a code stream in which images of multiple systems are encoded.
  • the designation relating to the progression structure is performed by a device other than the image decoding device 300, for example, a control center or a relay hub included in the network 501 based on the bandwidth of the network 501 or the congestion status (image coding device 100). May be provided).
  • the image data encoding method is not limited to the JPEG2000 method.
  • a CPU (Central Processing Unit) 601 of the personal computer 600 performs various processes according to a program stored in a ROM (Read Only Memory) 602 or a program loaded from a storage unit 613 into a RAM (Random Access Memory) 603. Execute the process.
  • the RAM 603 also appropriately stores data necessary for the CPU 601 to execute various processes.
  • the CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604.
  • An input / output interface 610 is also connected to the bus 604.
  • the input / output interface 610 includes an input unit 611 including a keyboard and a mouse, a display such as a CRT (Cathode Ray Tube) display and an LCD (Liquid Crystal Display), an output unit 612 including a speaker, an SSD (Solid).
  • a storage unit 613 made up of State Drive) and a hard disk, and a communication unit 614 made up of a wired LAN (Local Area Network), wireless LAN interface, modem, and the like are connected.
  • the communication unit 614 performs communication processing via a network including the Internet.
  • a drive 615 is connected to the input / output interface 610 as necessary, and a removable medium 621 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is loaded. It is installed in the storage unit 613 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It only consists of removable media 621 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is configured by a ROM 602 that stores a program and a hard disk included in the storage unit 613, which is distributed to the user in a state of being incorporated in the apparatus main body in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described above as one device (or processing unit) may be configured as a plurality of devices (or processing units).
  • the configuration described above as a plurality of devices (or processing units) may be configured as a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). Good. That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
  • the code stream generation unit 102 in FIG. 1 may be an independent device, and multiple code streams may be input and integrated to be output as a single code stream having a progression structure. Good.
  • the present invention includes, for example, an editing device for 3D digital cinema, a 3D archive system, a 3D image transmission device of a broadcasting station, a 3D image database, a 3D medical image recording system, a 3D game machine, a television receiver system, and a 3D compatible BluBRay.
  • the present invention can be applied to an authoring tool installed in a disc recorder or player, a free viewpoint television, a realistic video conference system, a personal computer, or the like, or a software module thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本発明は、多系統の画像が符号化されたコードストリームの利便性を向上させることができるようにする画像処理装置および方法に関する。 プログレッション決定部183は、入力される各系統のコードストリーム112についてプログレッション構造の解析結果や、外部から供給されるプログレッション構造の指定等に基づいて、統合後のコードストリームのプログレッション構造を決定する。統合部184は、その決定に従って、プログレッション構造を有するように各コードストリームを統合する。プログレッション情報生成部185は、統合後のコードストリーム194のプログレッション情報を生成し、所定の位置に埋め込む。本発明は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本発明は、画像処理装置および方法に関し、特に、多系統の画像が符号化されたコードストリームの利便性を向上させることができるようにした画像処理装置および方法に関する。
 最近、立体視(所謂3D画像表示)対応の映画が普及しつつある。例えば、3D表示可能な映画(所謂3D映画)が積極的に制作されるようになり、従来の2D表示のみ可能な映画(所謂2D映画)との大きな差別化になっている。3D映画の場合、コンテンツ(画像データ等)は、MPEG-4 AVCの拡張フォーマットであるMVC(Multi-view Video Coding)規格によって高能率に圧縮されて、Blu-Ray Disc(登録商標)等の記録媒体に記録される。
 ユーザは、家庭用のBlu-Ray Discプレイヤでそのコンテンツを再生し、立体視用のメガネ(所謂3Dメガネ)をかけて視聴することで、家庭でいながらにして3D映画を楽しむことができる。
 このような3D映画等の立体視用のコンテンツ(3Dコンテンツ)が急速に普及しつつある。3Dコンテンツの画像としては、人間の目の両眼視差を利用したステレオ画が主流である。これは、左眼用の画像と右眼用の画像を、ユーザのそれぞれの目に別々に見させることにより、ユーザに視差を感じさせ、被写体を立体的に認知させるものである。
 しかしながら、上述した両眼視差による立体視では、任意の方向からの立体視を実現することはできない。これを実現するためには被写体画像の奥行き方向のデータ情報(Depth_Map)を抽出する必要がある。
 画像データから画像処理・分析技術を用いて、大まかな奥行き情報を自動的に抽出する研究は盛んに行われている(例えば、非特許文献1および非特許文献2参照)。これらの技術や、比較的容易とされる複数のカメラから画像内の被写体の奥行き情報を抽出する技術によって、2眼のみならず複数の自由視点からの立体画像が生成できる足がかりになる。
 しかしながら、2眼ステレオ画像ならば元々のデータ量には限界があるが、複数眼の画像データ及びそれらの奥行きデータをトータルすると、膨大なデータ量になる。従ってこれらのデータをいかに高能率に圧縮するかが重要になってくる。
 例えば、ステレオ画像の場合、左右各系統の画像をエンコードして生成された符号化コードストリームは、2系統となる。同様に、マルチビューの場合、そのビューの数だけ符号化コードストリームが存在することになる。そこで、1つの方法として、これらの多系統のコードストリームを1つの符号化コードストリームに統合することが考えられる。このようにすることにより、符号化効率を向上させることができる。
 ところで、JPEG2000はデジタルシネマ規格のコーデックとして採用されているのみならず、セキュリティやアーカイブ、医用画像、ブロードキャスティングなど広範囲に使われているISOの静止画国際規格である。このJPEG2000の豊富な機能の1つにスケラビリティがある。これは1つの符号化コードストリームを複数の同一カテゴリに属するものに分ける機能である。これによって符号化コードストリーム内のプログレッション(順番)を並び替えることで、解像度や画質等のスケラビリティ(復号画像の拡張性)を実現することができる。従って、コードストリームをより多様な用途で使用することができるようなり、コードストリームの利便性が向上する。
Fast Approximate Energy Minimization via Graph Cuts"IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.23, No.11, November 2001, "Stereo Matching Using Belief Propagation"IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.25, No.7, July 2003
 しかしながら、多系統(マルチビュー)のコードストリームを統合する場合における、復号画像の拡張性を実現するためのデータ構造であるプログレッションについて定義されていなかった。したがって、多系統のコードストリームを統合して1本のコードストリームを生成する場合、このプログレッションの機能を使用することができず、コードストリームの利便性を向上させることができない恐れがあった。
 本発明は、このような状況に鑑みて提案されたものであり、多系統の画像を符号化して1本のコードストリームを生成する場合のプログレッションを定義することにより、多系統の画像が符号化されたコードストリームの利便性を向上させることができるようにすることを目的とする。
 本発明の一側面は、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、前記解析手段による解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定する決定手段と、前記決定手段により決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する1系統のコードストリームを生成する統合手段とを備える画像処理装置である。
 前記コードストリームは、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有することができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造に、系統についてのプログレッション構造を加えるように、前記統合後のプログレッション構造を決定することができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、系統、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、レイヤ、系統、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、系統、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、解像度レベル、系統、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、系統、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、解像度レベル、ポジション、系統、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、ポジション、系統、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、コンポーネント、系統、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
 前記統合後のプログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備えることができる。
 前記プログレッション情報生成手段は、前記プログレッション情報として、前記統合後のプログレッション構造の階層構造を、統合後の前記コードストリームに含まれる、JPEG2000のCODマーカセグメント中のSGcod、SPcoc、およびPpocの少なくともいずれか1つにおいて定義することができる。
 前記プログレッション情報生成手段は、前記プログレッション情報として、前記統合手段により統合されたコードストリームの系統数を、統合後の前記コードストリームに含まれる、JPEG2000のSIZマーカセグメント中のRsizにおいて定義することができる。
 前記プログレッション構造に関する外部からの指定を受け付ける指定受付手段をさらに備え、前記決定手段は、前記解析手段による解析結果、および、前記指定受付手段により受け付けられた前記外部からの指定に従って、前記統合後のプログレッション構造を決定することができる。
 各系統の前記画像を、前記プログレッション構造を有するように符号化する符号化手段をさらに備え、前記解析手段は、前記符号化手段により前記画像が符号化されて生成された各系統の前記コードストリームのプログレッション構造を解析することができる。
 各系統の前記画像から、前記画像の奥行き方向の位置を示す奥行きデータを生成する奥行きデータ生成手段をさらに備え、前記符号化手段は、前記奥行きデータ生成手段により生成された前記奥行きデータをさらに符号化し、前記統合手段は、前記符号化手段により生成された前記奥行きデータのコードストリームを、1系統のコードストリームとして、他の多系統とのコードストリームとともに統合することができる。
 本発明の一側面は、また、画像処理装置の画像処理方法であって、解析手段が、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、決定手段が、解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定し、統合手段が、決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する1系統のコードストリームを生成する画像処理方法である。
 本発明の他の側面は、画像が符号化された多系統のコードストリームが統合されて生成された1系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、前記解析手段により解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の1系統のコードストリームを、前記多系統のコードストリームに分離する分離手段とを備える画像処理装置である。
 前記分離手段により分離された各系統のコードストリームを復号する復号手段をさらに備えることができる。
 前記分離手段により分離された各系統のコードストリームについて、前記プログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備えることができる。
 前記統合後の1系統のコードストリームは、系統、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有することができる。
 本発明の他の側面は、また、画像処理装置の画像処理方法であって、解析手段が、画像が符号化された多系統のコードストリームが統合されて生成された1系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、分離手段が、解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の1系統のコードストリームを、前記多系統のコードストリームに分離する画像処理方法である。
 本発明の一側面においては、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造が解析され、その解析結果に従って多系統のコードストリームの統合後のプログレッション構造が決定され、その決定された統合後のプログレッション構造に従って、多系統のコードストリームが統合され、プログレッション構造を有する1系統のコードストリームが生成される。
 本発明の他の側面においては、画像が符号化された多系統のコードストリームが統合されて生成された1系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造が解析され、その解析されたプログレッション構造に含まれる、系統についてのプログレッション構造に従って、統合後の1系統のコードストリームが、多系統のコードストリームに分離される。
 本発明によれば、画像を処理することができる。特に、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
本発明を適用した画像符号化装置の主な構成例を示すブロック図である。 エンコード部の主な構成例を示すブロック図である。 サブバンドの構成例を示す図である。 サブバンドの構成例を示す図である。 各サブバンド中のコードブロックの例を示す図である。 ビットプレーンの例を説明する図である。 符号化パスの例を説明する図である。 係数の走査の例を説明する図である。 レイヤを説明する図である。 レイヤの構成例を説明する図である。 コードストリーム生成部の主な構成例を示すブロック図である。 プログレッション機能の例を説明する図である。 プログレッション機能の他の例を説明する図である。 JPEG2000のSGcodパラメータを説明する図である。 JPEG2000のプログレッションオーダのパラメータの例を示す図である。 本発明を適用したコードストリームの復号順の例を説明する図である。 本発明を適用したコードストリームの復号順の他の例を説明する図である。 本発明を適用したコードストリームの復号順の、さらに他の例を説明する図である。 本発明を適用したコードストリームの復号順の、さらに他の例を説明する図である。 プログレッションオーダの拡張例を示す図である。 JPEG2000のケイパビリティRサイズパラメータの定義を説明する図である。 本発明を適用したビュー数の定義の方法の例を説明する図である。 多系統入力符号化処理の流れの例を説明するフローチャートである。 符号化処理の流れの例を説明するフローチャートである。 コードストリーム生成処理の流れの例を説明するフローチャートである。 本発明を適用した画像復号装置の主な構成例を示すブロック図である。 コードストリーム解析部の主な構成例を示すブロック図である。 デコード部の主な構成例を示すブロック図である。 多系統出力復号処理の流れの例を説明するフローチャートである。 解析処理の流れの例を説明するフローチャートである。 復号処理の流れの例を説明するフローチャートである。 本発明を適用した画像符号化装置の主な構成例を示すブロック図である。 奥行きデータの例を説明する図である。 多系統入力符号化処理の流れの他の例を説明するフローチャートである。 本発明を適用したネットワークシステムの主な構成例を説明する図である。 本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
 以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(画像符号化装置)
4.第4の実施の形態(ネットワークシステム)
5.第5の実施の形態(パーソナルコンピュータ)
<1.第1の実施の形態>
[画像符号化装置の構成]
 図1は、本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
 図1に示される画像符号化装置100は、複数の入力系統を有し(多系統入力)、各入力系統より入力した多系統の画像データを、それぞれ符号化してコードストリームを生成し、さらにそのコードストリームを統合して、1本のコードストリームを生成する。その際、画像符号化装置100は、JPEG2000(Joint Photographic Experts Group 2000)のような、復号画像の拡張性を実現するためのプログレッション機能を有するようにコードストリームを生成する。つまり、画像符号化装置100は、より多様な用途に使用可能な、利便性の高いコードストリームを生成する。
 図1に示されるように。画像符号化装置100は、X本の系統の画像データを入力する。画像符号化装置100は、エンコード部101-1乃至エンコード部101-X、並びに、コードストリーム生成部102を有する。
 エンコード部101-1乃至エンコード部101-Xは、X系統の入力画像データ(入力画像データ111-1乃至入力画像データ111-X)をそれぞれ符号化し、X本のコードストリーム(コードストリーム112-1乃至コードストリーム112-X)を生成する。
 コードストリーム生成部102は、エンコード部101-1乃至エンコード部101-Xの出力(コードストリーム112-1乃至コードストリーム112-X)を受け付け、外部からの指定113に基づいて、それらを統合して1本のコードストリームを生成し、出力する(コードストリーム114)。
 以下において、エンコード部101-1乃至エンコード部101-Xを互いに区別する必要のない場合、単にエンコード部101と称する。また、入力画像データ111-1乃至入力画像データ111-Xを互いに区別する必要のない場合、単に入力画像データ111と称する。さらに、コードストリーム112-1乃至コードストリーム112-Xを互いに区別する必要のない場合、単にコードストリーム112と称する。
 各エンコード部101は、後述するように、画質や解像度等について、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を有するようにコードストリーム112を生成する。コードストリーム生成部102は、外部からの指定113に基づいて、それらのコードストリーム112が有するプログレッション構造に加え、さらに、多系統についてのプログレッション構造(系統に関する拡張性を実現するデータ構造、つまり、どの系統を復号するか、どの系統をどの順に復号するか等を制御することができるデータ構造)を有するようにコードストリーム114を生成する。
 なお、以上においては、エンコード部101を各系統に設けるように説明したが、1つのエンコード部101が複数の系統の入力画像データ111をそれぞれ符号化することができるようにしてもよい。例えば、画像符号化装置100が1個のエンコード部101を有するようにし、そのエンコード部101が、X系統の入力画像データ111をそれぞれ符号化し、X系統のコードストリームを生成するようにしてもよい。
[エンコード部の構成]
 図2は、図1のエンコード部101の主な構成例を示すブロック図である。エンコード部101は、JPEG2000方式と同様のプログレッション構造を有するコードストリームを生成するように符号化を行うエンコーダである。エンコード部101がJPEG2000方式により画像を符号化するようにしてもよい。
 図2に示されるように、エンコード部101は、DCレベルシフト部131、ウェーブレット変換部132、量子化部133、コードブロック化部134、およびビットプレーン展開部135を有する。
 DCレベルシフト部131は、後段のウェーブレット変換を効率的に行うために、矢印161のようにエンコード部101に入力された画像データ(図1の入力画像データ111)のDC成分のレベルシフトを行う。例えば、RGB信号が正の値(符号無しの整数)を持っている。そこで、DCレベルシフト部131は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従って、YCbCr信号の色差データCbや色差データCrの様に符号(正負両方あり)の整数値を持つ信号を原信号とする場合には、このレベルシフトは行われない。
 ウェーブレット変換部132は、通常低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答(フィルタ係数)を有するので、ウェーブレット変換部132は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
 ウェーブレット変換部132は、矢印162のようにDCレベルシフト部131より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得すると、そのDCレベルシフト後の画像データに対して、所定のウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部132は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
 そして、ウェーブレット変換部132は、このようなフィルタリング処理を、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、例えば図3に示されるように、画像のエネルギーの多くが低域成分に集中しているからである。
 図3は、サブバンドの構成例を示す図である。図3に示されるように、分割レベル数1の状態においても分割レベル数3の状態においても、画像のエネルギーの多くは、低域成分に集中している。
 図4は、分割レベル数4のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。
 この場合、ウェーブレット変換部132は、まず、画像全体をフィルタリングし、サブバンド1LL(図示せず)、1HL、1LH、および1HHを生成する。次に、ウェーブレット変換部132は、生成されたサブバンド1LLに対して再度フィルタリングを行い、2LL(図示せず)、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部132は、生成されたサブバンド2LLに対して再度フィルタリングを行い、3LL、3HL、3LH、および3HHを生成する。さらに、ウェーブレット変換部132は、生成されたサブバンド3LLに対して再度フィルタリングを行い、4LL、4HL、4LH、および4HHを生成する。
 このように、分割レベル数4まで分析フィルタリングが行われると、13個のサブバンドが生成される。図4に示されるように、分割レベルが1つ上位に進むごとに、サブバンドのサイズは、縦方向および横方向にそれぞれ2分の1となる。
 つまり、例えば横方向に1920画素の画像のベースバンドの画像データが1回分析フィルタリングされると、横方向に960画素のサブバンドが4つ(1LL,1HL,1LH,1HH)生成される。さらに、サブバンド1LLが1回分析フィルタリングされると、横方向に480画素のサブバンドが4つ(2LL,2HL,2LH,2HH)が生成される。さらに、サブバンド2LLが回分析フィルタリングされると、横方向に240画素のサブバンドが4つ(3LL,3HL,3LH,3HH)が生成される。さらに、サブバンド3LLが1回分析フィルタリングされると、横方向に120画素のサブバンドが4つ(4LL,4HL,4LH,4HH)が生成される。
 なお、ウェーブレット変換の分割レベル数は任意である。
 ウェーブレット変換部132は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、矢印163に示されるように量子化部133に供給する。量子化部133は、供給されたウェーブレット係数を量子化する。この量子化の方法は任意であるが、量子化ステップサイズで除算するスカラ量子化が一般的である。量子化部133は、量子化により得られた量子化係数を、矢印164に示されるように、コードブロック化部134に供給する。なお、これより後段においては、ウェーブレット係数の代わりに量子化係数が供給されることになるが、この量子化係数もウェーブレット係数の場合と基本的に同様に扱われる。したがって、以下においては、必要でない限りその点についての説明は省略し、単に係数または係数データと称する。
 なお、エンコード部101が、復号処理により元のデータを完全に復元可能な可逆符号化方式により画像データを符号化する場合、この量子化部133の処理は省略され、矢印165に示されるように、ウェーブレット変換部132の出力がコードブロック化部134に供給される。
 ウェーブレット係数は、コードブロック化部134で、エントロピ符号化の処理単位である所定の大きさのコードブロックに分割される。図5は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。後段の各処理部は、このコードブロック毎に処理を行う。
 コードブロック化部134は、矢印166に示されるように、各コードブロックをビットプレーン展開部135に供給する。ビットプレーン展開部135は、係数データを、ビットの位毎のビットプレーンに展開する。
 ビットプレーンは、所定の数のウェーブレット係数よりなる係数群を、1ビット毎、つまり位毎に分割(スライス)したものである。つまり、ビットプレーンは、その係数群の互いに同一の位のビット(係数ビット)の集合である。
 図6にその具体例を示す。図6の左図は縦4個、横4個の計16個の係数を示している。この16個の係数のうち、絶対値が最大のものは13で、2進数で1101と表現される。ビットプレーン展開部135は、このような係数群を、絶対値を示す4枚のビットプレーン(絶対値のビットプレーン)と、符号を示す1枚のビットプレーン(符号のビットプレーン)に展開する。つまり、図6中左の係数群は、図6中右に示されるように、4枚の絶対値のビットプレーンと1枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて0か1の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が0であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
 エンコード部101は、さらに、ビットモデリング部136、算術符号化部137、符号量加算部138、レート制御部139、ヘッダ生成部140、およびパケット生成部141を有する。
 ビットプレーン展開部135は、展開したビットプレーンを、矢印167に示されるように、ビットモデリング部136に供給する。
 ビットモデリング部136および算術符号化部137は、EBCOT(Embedded Coding with Optimized Truncation)部151として動作し、入力される係数データに対して、JPEG2000規格で定められたEBCOTと呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
 ビットモデリング部136は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、矢印168に示されるように、制御情報、シンボル、およびコンテキスト等の情報を算術符号化部137に供給する。算術符号化部137は、係数のビットプレーンを算術符号化する。
 コードブロックの縦横のサイズは4から256まで2のべき乗で、通常使用される大きさは、32×32、64×64、128×32等がある。係数値がnビットの符号付き2進数で表されていて、bit0からbit(n-2)がLSBからMSBまでのそれぞれのビットを表すとする。残りの1ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の3種類の符号化パスによって行われる。
 (1)Significant Propagation Pass
 (2)Magnitude Refinement Pass
 (3)Cleanup Pass
 3つの符号化パスの用いられる順序は、図7で示される。最初にBit-plane(n-1)(MSB)がCleanup Passによって符号化される。続いて順次LSB側に向かい、各ビットプレーンの符号化が、3つの符号化パスをSignificant Propagation Pass、Magnitude Refinement Pass、Cleanup Passの順序で用いて行われる。
 ただし、実際にはMSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、MSB側から連続するオール0のビットプレーン(ゼロビットプレーンと称する)は符号化しない。この順序で3種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの、任意の符号化パス迄で符号化を打ち切ることにより、符号量と画質のトレードオフを取る(レート制御を行う)。
 次に、係数の走査(スキャニング)について図8を用いて説明する。コードブロックは高さ4個の係数毎にストライプ(stripe)に分けられる。ストライプの幅はコードブロックの幅に等しい。スキャン順とは、1個のコードブロック内の、すべての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。
各符号化パスにおいてコードブロック中のすべての係数が、このスキャン順で処理される。
 以下、3つの符号化パスについて述べる。以下はいずれもJPEG-2000規格書(参考文献:ISO/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system)に記述されている内容である。
 (1)Significance Propagation Pass(SPパス):
 あるビットプレーンを符号化するSignificance Propagation Passでは、8近傍の少なくとも1つの係数が有意(significant)であるようなnon-significant係数のビットプレーンの値を算術符号化する。その符号化したビットプレーンの値が1である場合は、符号が+であるか、-であるかを続けてMQ符号化する。
 ここでsignificanceというJPEG2000特有の用語について説明する。significanceとは、各係数に対して符号化器が持つ状態で、significanceの初期値はnon-significantを表す0、その係数で1が符号化されたときにsignificantを表す1に変化し、以降常に1であり続けるものである。従って、significanceとは有効桁の情報を既に符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
 (2)Magnitude Refinement Pass(MRパス):
 ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化する Significance Propagation Passで、且つ符号化していないsignificantな係数のビットプレーンの値をMQ符号化する。
 (3)Cleanup Pass(CUパス):
 ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Passで、且つ符号化していないnon-significantな係数のビットプレーンの値をMQ符号化する。その符号化したビットプレーンの値が1である場合は符号が+であるか-であるか(Sign情報)を続けてMQ符号化する。
 尚、以上の3つの符号化パスでのMQ符号化では、ケースに応じて、ZC(Zero Coding)、RLC(Run-Length Coding)、SC(Sign Coding)、およびMR(Magnitude Refinement)が使い分けられる。ここでMQ符号化と呼ばれる算術符号が用いられる。MQ符号化は、JBIG2(参考文献:ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000)で規定された学習型の2値算術符号である。
 図2に戻り、算術符号化部137は、生成したコードストリームを、矢印169に示されるように、符号量加算部138に供給する。符号量加算部138は、そのコードストリームの符号量をカウントし、累積する。
 そして、符号量加算部138は、そのコードストリームを、矢印172および矢印173に示されるように、ヘッダ作成部140およびパケット生成部141に供給するとともに、矢印170に示されるように、符号量の累積値をレート制御部139に供給する。レート制御部139は、供給された符号量の累積値に基づいて、矢印171に示されるように、EBCOT部151を制御し、累積値が目標符号量に達した時点で符号化を終了させる。つまり、レート制御部139は、発生符号量の制御(コードストリームのレート制御)を行う。
 パケット生成部141は、供給されたコードストリームをパケット化する。ヘッダ生成部140は、そのパケットのヘッダ情報を生成し、そのヘッダ情報を矢印174に示されるように、パケット生成部141に供給する。パケット生成部141は、そのヘッダ情報を用いてパケット化を行う。
 このパケットの概念を図9に示す。図9に示される例では、ウェーブレット変換を3回施した例で、その結果、最低域のPacket-1から最高域のPacket-4までの4個のパケットが生成されることを示している。従って、これら個々のパケット内のサブバンド中に存在する、すべての符号ブロックの符号化コードストリームが、パケット毎にパッキングされることになる。
 また図10は、符号化パスを、レイヤ1乃至レイヤLのL個のレイヤに分割したケースを図示したものである。あるコードブロックで、レイヤnの先頭の符号化パスはレイヤ(n-1)の最終後尾の符号化パスの直後に位置する。したがって、レイヤ数が増えるごとにコードストリームの符号量が増加する。つまり復号画像の画質が向上する(解像度は変化しない)。
 したがって、復号時に、レイヤ1からどのレイヤまでを復号するかを制御することにより、復号画像の画質を制御することができる。以下において、特に説明をしない限り、「画質」は、このレイヤ(つまり各画素の情報量)に依存する復号画像の視覚的品質のことを示すものとする。
 なお、どのコードブロックのどの符号化パスでレイヤの境界を切るかは、エンコーダ(画像符号化装置100)により設定することができる。以上のパケット内のサブバンド中に存在する、すべてのコードブロックのコードストリームが、パケット毎にパッキングされることになる。
 生成されたパケットは矢印175に示されるように、エンコード部101の外部に出力され、コードストリーム生成部102に供給される。
 各エンコード部101は、上述したようにJPEG2000方式で画像データを符号化し、解像度やレイヤ等について、JPEG2000のプログレッション機能を持たせたコードストリームを生成する。
[コードストリーム生成部]
 図11は、図1のコードストリーム生成部102の主な構成例を示すブロック図である。図11に示されるように、コードストリーム生成部102は、プログレッション解析部181、指定受付部182、プログレッション決定部183、統合部184、およびプログレッション情報生成部185を有する。
 プログレッション解析部181は、入力されるコードストリーム112-1乃至コードストリーム112-Xのそれぞれについて、プログレッション構造を解析し、各コードストリームがどのような構造で構成されるかを特定する。プログレッション解析部181は、解析が済んだコードストリーム191-1乃至191-Xを統合部184に供給する。
また、プログレッション解析部181は、各コードストリームの解析結果をプログレッション決定部183に供給する(矢印192)。
 なお、以下において、コードストリーム191-1乃至191-Xを互いに区別して説明する必要が無い場合、単にコードストリーム191と称する。
 指定受付部182は、例えば、ユーザや他の装置等、外部から供給される、統合後のコードストリームのプログレッション構造の指定113を受け付け、それをプログレッション決定部183に供給する(矢印192)。プログレッション決定部183は、プログレッション解析部181から供給される解析結果、および、指定受付部182から供給される外部からの指定に基づいて、統合後のコードストリームのプログレッション構造を決定し、その情報を統合部184に供給する(矢印194)。なお、プログレッション決定部183は、解析結果や外部からの指定だけでなく、適宜、その他の情報も用いてプログレッション構造の決定を行うようにしてもよい。
 統合部184は、プログレッション決定部193より供給されるプログレッション構造に関する情報に基づいて、統合後のコードストリームが解像度や画質の他に、さらに、各系統についてもプログレッション構造を有するように、プログレッション解析部181から供給される各コードストリームを統合する。統合部184は、統合した1本のコードストリーム195をプログレッション情報生成部185に供給する。
 プログレッション情報生成部185は、そのコードストリーム194のプログレッション構造に関する情報であるプログレッション情報を生成し、そのプログレッション情報を、例えばヘッダ情報等、統合後のコードストリーム194の所定の位置に埋め込む。プログレッション情報生成部185は、プログレッション情報を付加したコードストリーム114を出力する。
[JPEG2000のプログレッション]
 JPEG2000の符号化における特徴として、ビットプレーンと、ウェーブレット変換によって生成されるサブバンドとがある。これらによってプログレッションの定義が可能になる。
 プログレッションとは、同じカテゴリに属する符号語の順番である。例えば同じ解像度レベルに属する異なるレイヤの符号語を集めれば、画像サイズが同一で画質が異なる画像を生成することができる。逆に同じレイヤに属する異なる解像度レベルの符号語を集めれば、画質が同じで画像サイズが異なる画像を生成することができる。つまり、復号画像の拡張性を実現するためのデータ構造である。
 JPEG2000では、このように所定の要素について、コードストリームから一部のデータのみを復号することができる。これにより、1つのコードストリームから多様な復号画像を容易に得ることができる。つまり、コードストリームにこのようなプログレッション構造を持たせることにより、より多様な用途に使用することができるようになり、コードストリームの利便性が向上する。
 例えば、1つのコードストリームから、大画面の表現力が豊かな高性能の液晶ディスプレイに対しては、高解像度かつ高ビットレートの復号画像を提供し、小画面で画像処理能力が低い携帯電話機等に対しては、低解像度かつ低ビットレートの復号画像を提供する、といったことも、復号するレイヤやサブバンド等のプログレッションの要素の選択により、容易に実現することができる。
 なお、このようなプログレッション構造は、復号処理だけでなく、復号画像の画像サイズや画質等を変化させる変換処理(トランスコード)においても利用することができる。つまり、上述した復号処理の場合と同様に、レイヤやサブバンド等のプログレッションの要素を選択するだけで、容易に、復号画像の画像サイズや画質を変化させたコードストリームを生成する(すなわちトランスコードする)ことができる。
 JPEG2000の場合、プログレッションの要素には、解像度レベル、レイヤ、ポジション、およびコンポーネントの4つが存在する。
 解像度レベルは、図3で図示したように、ウェーブレット変換に伴って生成されるレベルである。つまり、解像度レベルは、復号画像の画像サイズを定義するものである。レイヤは、図10で図示した通り、ビットプレーン方向のレベルで画質を左右する要素である。また、コンポーネントは、例えばYCbCrのような異なる成分からなる場合に定義されるものである(YCbCrやRGBの場合、コンポーネント数は、3になる)。最後にポジションであるが、これはJPEG2000の特徴の1つのタイリングに関係するもので、画面を複数の矩形ブロックに分割エンコード・デコードする場合の、各タイルの個数や位置を定義する。
 以上のようにプログレッションの要素が複数存在する場合、要素毎の階層構造が形成される。JPEG2000のPart-1の場合、上述した要素を使ったLRCP(Layer Resolution-level Component Position Progression)、RLCP(Resolution-level Layer Component Position Progression)、RPCL(Resolution-level Position Component Layer)、PCRL(Position Component Resolution-level Layer)、およびCPRL(Component Position Resolution-level Layer)の5通りの階層構造が用意されている。
 図12はLRCPの順番にJPEG2000の符号語を並べた符号化コードストリームを、その順番にデコードした時に生成されるデコード画像を図示したものである。このプログレッション構造の場合、以下の順番にパケットが並んでいる。すなわち、最上位階層がレイヤ(全レイヤ数=L)、その1つ下の階層が解像度レベル(N(max)が最大解像度レベル)、さらにその1つ下の階層がコンポーネント(Csizはコンポーネント総数)、最下位階層がポジションとなるように、符号語が並べられている。なお、以下においては、ポジション(P)についての説明は省略している。 
 for each l = 0, …, L-1
    for each r = 0, …, N(max)
       for each i = 0, …, Csiz-1
          { packet for component(i), resolution-level(r), layer(l) }
 この場合、最上位階層がレイヤであるので、復号画像は、図12に示される画像201、画像202、画像203、画像204の順のように、徐々に画質が向上していくように表示される。
 図13はRLCPの順番にJPEG2000の符号語を並べた符号化コードストリームを、その順番にデコードした際に生成されるデコード画像を図示したものである。このプログレッション構造の場合、以下の順番にパケットが並んでいる。すなわち、最上位階層が解像度レベル、その1つ下の階層がレイヤ、さらにその1つ下の階層がコンポーネント、最下位階層がポジションとなるように、符号語が並べられている。なお、以下においては、ポジション(P)についての説明は省略している。 
 for each r = 0, …, N(max)
    for each l = 0, …, L-1
       for each i = 0, …, Csiz-1
          { packet for component(i), resolution-level(r), layer(l) }
 この場合、最上位階層が解像度レベルであるので、復号画像は、図13に示される画像211、画像212、画像213、画像214の順のように、徐々に画像サイズ(解像度)が大きくなるように表示される。
 このように、プログレッションの各要素の階層構造に応じて、コードストリームの復号処理の順序が異なり、復号画像の表示のされ方も変化する。その他のRPCL、PCRL、およびCPRLについても同様に、それぞれの階層構造に応じた順序で復号処理が進められる。
[JPEG2000でのプログレッションの定義]
 図14は、JPEG2000 Part-1ドラフトのTable A-14に定義されている、符号化スタイル用のパラメータであるSGcodパラメータの例を示す図である。SGcod内のProgression order(8ビット)で上記のプログレッションの順番を定義することが可能である。
 このTable A-16では、図15に示されるように、上述したLRCP, RLCP, RPCL, PCRL, CPRLの5通りのプログレッションが定義されている。
[プログレッションの拡張]
 図1のコードストリーム生成部102(図11のプログレッション解析部181)に供給されるコードストリーム112は、上述したようなJPEG2000のプログレッション構造を有する。
 コードストリーム生成部102(図11の統合部184)は、このプログレッション構造を拡張し、従来の構造に、多系統についてのプログレッション構造(系統に関する拡張性を実現するプログレッション構造)をさらに加えるように各コードストリームを統合し、1本のコードストリームを生成する。統合後のプログレッションの階層構造の例を以下に説明する。
[XLRCP]
 階層構造の第1の例は、最上位階層を系統とし、以下の階層をLRCPとするXLRCPである。この場合、復号画像は、図16に示されるように、1系統ずつ順に復号されて表示される。つまり、XLRCPのコードストリームは、まず第1の系統について、画像201-1、画像202-1、画像203-1、画像204-1のように、レイヤ1からレイヤNまでが復号される(徐々に画質が向上する)。
 第1の系統の復号画像が得られると、次に、第2の系統について、画像201-2、画像202-2、画像203-2、画像204-2のように、レイヤ1からレイヤNまでが復号される(徐々に画質が向上する)。
 このように、1系統ずつ復号され、最後に、第Xの系統について、画像201-X、画像202-X、画像203-X、画像204-Xのように、レイヤ1からレイヤNまでが復号される(徐々に画質が向上する)。
 例えば、入力画像データ111がビュー数がVのマルチビューの場合(つまり入力系統数X=Vの場合)、コードストリーム生成部102(統合部184)は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数vがビュー数(入力系統数X)を示している(VLRCP)。マルチビューはカメラの台数を増やすことで、視野角の広い3D映像を生成することができる他、画像の奥行き方向の抽出もステレオに比べて遥かに容易に実現できる特徴がある。その結果、カメラ間の任意視点の画像を補間・合成する技術も多くの研究機関で検討されている。また3D以外の用途でも横一線にカメラを配置することでパノラマ画像を生成することにも有用である。なお、以下においては、ポジション(P)についての説明は省略している。
 for each v = 0, …, V-1
  for each l = 0, …, L-1
   for each r = 0, …, N(max)
    for each i = 0, …, Csiz-1
     { packet for view(v), component(i), resolution-level(r), layer(l) } 
 また、例えば、入力画像データ111が3D画像データの場合(つまり入力系統数X=2の場合)、コードストリーム生成部102(統合部184)は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数sが系統(left or right)を示している(SLRCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each s = left, right
  for each l = 0, …, L-1
   for each r = 0, …, N(max)
    for each i = 0, …, Csiz-1
     { packet for stereo(s), component(i), resolution-level(r), layer(l) }
[LXRCP]
 階層構造の第2の例は、LRCPの第2の階層を系統とするLXRCPである。この場合、復号画像は、図17に示されるように、1レイヤずつ順に復号されて表示される。つまり、LXRCPのコードストリームは、まず第1の系統について、画像201-1、画像201-2、・・・、画像201-Xのように、第1の系統から第Xの系統までが順に復号される(X個のレイヤ1の画像が生成される)。
 レイヤ1の復号画像がX個得られると、次に、レイヤ2について、画像202-1、画像202-2、・・・、画像202-Xのように、第1の系統から第Xの系統までが順に復号される(X個のレイヤ2の画像が生成される)。
 続いて、レイヤ3についても同様に、画像203-1、画像203-2、・・・、画像203-Xのように、第1の系統から第Xの系統までが順に復号される(X個のレイヤ3の画像が生成される)。
 このように、1レイヤずつ復号され、最後に、レイヤLについて、画像204-1、画像204-2、・・・、画像204-Xのように、第1の系統から第Xの系統までが順に復号される(X個のレイヤLの画像が生成される)。
 この構造例は、例えば伝送するネットワークの帯域が小さい時に、下位レイヤから上位レイヤの順に符号化コードストリームを伝送することで、受信側(デコード側)ではステレオ画像の画質が徐々に向上するようなアプリケーションに好適である。
 例えば、入力画像データ111がビュー数がVのマルチビューの場合(つまり入力系統数X=Vの場合)、コードストリーム生成部102(統合部184)は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数vがビュー数(入力系統数X)を示している(LVRCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each l = 0, …, L-1
  for each v = 0, …, V-1
   for each r = 0, …, N(max)
    for each i = 0, …, Csiz-1
     { packet for view(v), component(i), resolution-level(r), layer(l) }
 また、例えば、入力画像データ111が3D画像データの場合(つまり入力系統数X=2の場合)、コードストリーム生成部102(統合部184)は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数sが系統(left or right)を示している(LSRCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each l = 0, …, L-1
  for each s = left, right
   for each r = 0, …, N(max)
    for each i = 0, …, Csiz-1
     { packet for stereo(s), component(i), resolution-level(r), layer(l) }
[XRLCP]
 階層構造の第3の例は、最上位階層を系統とし、以下の階層をRLCPとするXRLCPである。この場合、復号画像は、図18に示されるように、1系統ずつ順に復号されて表示される。つまり、XRLCPのコードストリームは、まず第1の系統について、画像211-1、画像212-1、画像213-1、画像214-1のように、最下位層の解像度レベルから最上位階層の解像度レベルまでが復号される(徐々に画像サイズが大きくなる)。
 第1の系統の復号画像が得られると、次に、第2の系統以降も同様に1系統ずつ復号され、最後に、第Xの系統について、画像211-X、画像212-X、画像213-X、画像214-Xのように、最下位層の解像度レベルから最上位階層の解像度レベルまでが復号される(徐々に画像サイズが大きくなる)。
 例えば、入力画像データ111がビュー数がVのマルチビューの場合(つまり入力系統数X=Vの場合)、コードストリーム生成部102(統合部184)は、このようなXRLCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数vがビュー数(入力系統数X)を示している(VRLCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each v = 0, …, V-1
  for each r = 0, …, N(max)
   for each l = 0, …, L-1
    for each i = 0, …, Csiz-1
     { packet for view(v), component(i), resolution-level(r), layer(l) }
 また、例えば、入力画像データ111が3D画像データの場合(つまり入力系統数X=2の場合)、コードストリーム生成部102(統合部184)は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数sが系統(left or right)を示している(SRLCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each s = left, right
  for each r = 0, …, N(max)
   for each l = 0, …, L-1
    for each i = 0, …, Csiz-1
     { packet for stereo(s), component(i), resolution-level(r), layer(l) }
[RXLCP]
 階層構造の第4の例は、RLCPの第2の階層を系統とするRXLCPである。この場合、復号画像は、図19に示されるように、1解像度レベルずつ順に復号されて表示される。つまり、RXLCPのコードストリームは、まず最下位層の解像度レベルについて、画像211-1、・・・、画像211-Xのように、第1の系統から第Xの系統までが順に復号される(X個の最下位層の解像度レベルの画像が生成される)。
 最下位層の解像度レベルの復号画像がX個得られると、次に、1つ上の解像度レベルについて、画像212-1、・・・、画像212-Xのように、第1の系統から第Xの系統までが順に復号される(X個の下から2番目の解像度レベルの画像が生成される)。
 続いて、下から3番目の解像度レベルについても同様に、画像213-1、・・・、画像213-Xのように、第1の系統から第Xの系統までが順に復号される(X個の下から3番目の解像度のレベルの画像が生成される)。
このように、1解像度レベルずつ復号され、最後に、最上位層の解像度レベルについて、画像214-1、・・・、画像214-Xのように、第1の系統から第Xの系統までが順に復号される(X個の最上位層の解像度レベルの画像が生成される)。
 この構造例は、例えば、伝送するネットワークの帯域が小さい時に、下位レイヤから上位レイヤの順に符号化コードストリームを伝送することで、受信側(デコード側)ではステレオ画像の解像度が徐々に向上するようなアプリケーションに好適である他、受信側の端末(TV(テレビジョン受像機)やポータブル表示装置、携帯端末など)の表示可能な解像度に応じて、最適な階層の符号語だけを送受信するアプリケーションに好適である。
 例えば、入力画像データ111がビュー数がVのマルチビューの場合(つまり入力系統数X=Vの場合)、コードストリーム生成部102(統合部184)は、このようなRXLCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数vがビュー数(入力系統数X)を示している(RVLCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each r = 0, …, N(max)
  for each v = 0, …, V-1
   for each l = 0, …, L-1
    for each i = 0, …, Csiz-1
     { packet for view(v), component(i), resolution-level(r), layer(l) }
 また、例えば、入力画像データ111が3D画像データの場合(つまり入力系統数X=2の場合)、コードストリーム生成部102(統合部184)は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数sが系統(left or right)を示している(RSLCP)。なお、以下においては、ポジション(P)についての説明は省略している。
 for each r = 0, …, N(max)
  for each s = left, right
   for each l = 0, …, L-1
    for each i = 0, …, Csiz-1
     { packet for stereo(s), component(i), resolution-level(r), layer(l) }
[その他の構造]
 RPCL、PCRL、およびCPRLについての拡張も、上述したLRCPやRLCPの場合と、基本的に同様に行われる。
 例えば、RPCLの場合のプログレッション構造を以下に示す。以下において(tx(0), tx(1))はあるタイルの左端X座標と、右端X座標を示し、(ty(0), ty(1))はあるタイルの左端Y座標と、右端Y座標を示す。
 for each r = 0, …, N(max)
  for each y= ty(0), …., ty(1)-1
   for each x= tx(0), …., tx(1)-1
    for each i = 0, …, Csiz-1
     for each l = 0, …, L-1
      { packet for component(i), resolution-level(r), layer(l) }
 なお、タイリングなし(画面に1つだけタイルが存在する)の場合、2階層目と3階層目のループが実質存在しない。
 以上のように、階層構造は、プログレッション構造毎に異なるものの、いずれの構造の場合も、コードストリームを統合する際に、多系統についてのプログレッション(系統に関する拡張性を実現するデータ構造)が、指定された階層に挿入される。
 このようにして、統合後のプログレッション構造として、例えば、XLRCP、LXRCP、XRLCP、RXLCP、XRPCL、RPXCL、VPCRL、PXCRL、XCPRL、およびCXPRLの10種類の構造を定義することができる。もちろん、統合後のプログレッション構造として、これら以外の構造を適用するようにしてもよい。例えば、この多系統についてのプログレッションを他の階層に挿入するようにしてもよい。また、上述した10種類の一部が含まれていなくてもよい。また、用意されるプログレッション構造の数はいくつであってもよく、9種類以下であってもよいし、11種類以上であってもよい。
[拡張プログレッションの定義]
 JPEG2000の場合、プログレッションの階層構造は、図15を参照して説明したように、SGcod内のProgression order(8ビット)で定義されている。プログレッション情報生成部185において、図20に示されるように、上位4ビットも用いて、このProgression orderを拡張することで、上述した10個の階層構造が定義される(XLRCP(0001 0000)、LXRCP(0010 0000)、XRLCP(0001 0001)、RXLCP(0010 0001)、XRPCL(0001 0010)、RPXCL(0010 0010)、XPCRL(0001 0011)、PXCRL(0010 0011)、XCPRL(0001 0100)、CXPRL(0010 0100))。
 プログレッション情報生成部185は、統合部184が統合した1系統のコードストリーム195のタイルパートヘッダまたはメインヘッダ内に存在するSGcodパラメータのProgression orderを、そのコードストリーム195のプログレッション構造に対応する値に設定する。
 もちろん、各プログレッション構造に対して割り当てる値は任意であり、図20に示される以外の値を割り当てるようにしてもよい。また、階層構造の定義の方法は、任意であり、他のパラメータにおいて定義するようにしてもよい。例えば、同じCODマーカセグメント中のSPcocやPpocにおいて定義するようにしてもよい。例えば、SGcod、SPcoc、およびPpocのうち、少なくともいずれか1つにおいて定義するようにしてもよい。
 もちろん、これら以外のパラメータにおいて定義することもできる。ただし、図20に示されるように、Progression orderの上位4ビットを用いて拡張することにより、下位4ビットについては、従来のJPEG2000との互換性を維持することができるなど、従来のJPEG2000との親和性を高めることができる。したがって、例えば、このような拡張に対応しない従来のJPEG2000のデコーダにおいては、下位4ビットの値によって、従来のように4つの要素の階層構造として復号することができる。
[ビュー数の定義]
 次にビュー数(入力系統数)の定義について説明する。図21は、JPEG2000 Part-1で定義されたメインヘッダのSIZマーカのRsiz(16ビット)が定義されたTable A-10である。規格書の文中には以下の説明書きがある。
 Rsiz:Denotes capabilities that a decoder needs to properly decode the codestream.
 このように、Table A-10によれば、Rsizには16ビットが割り当てられているものの、現在Profile-0とProfile-1の定義にしか使われていない(一部デジタルシネマ規格(DCI規格)で2K解像度用にRsiz=3、4K解像度用にRsiz=4が使われている例外がある)。
 この空きを利用して、プログレッション情報生成部185は、図22に示される様に、Rsizの上位から12ビットを用いてビュー数を定義するようにする。このようにすることにより、最大数4,096まで対応可能である。なお、図22中の"x"の記号は「使用禁止」を意味する。
 プログレッション情報生成部185は、統合部184において生成されたコードストリーム195のメインヘッダのRsizの値を、図22の定義に従って、統合前のコードストリームの系統数Xに対応する値に設定する。
 もちろん、ビュー数の定義方法は任意であり、Rsiz以外において定義するようにしてもよいが、上述したように、Rsizにおいてビュー数を定義することにより、不要にデータ量を増大させず、従来のJPEG2000との高い親和性を保ったまま、容易に、多数(最大数4,096)の入力系統に対応することができる。
[多系統入力符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れの例について説明する。
 最初に、画像符号化装置100により実行される、多系統の入力画像データを符号化し、プログレッション機能を有するように統合して1本のコードストリームを生成する多系統入力符号化処理の流れの例を図23のフローチャートを参照して説明する。
 入力画像データ111が入力されて多系統入力符号化処理が開始されると、ステップS101において、各エンコード部101は、自身に対応する入力系統から入力された画像データ111を符号化する。ステップS102において、画像符号化装置100は、全系統の入力画像を符号化したか否かを判定し、未処理の系統が存在すると判定された場合、処理をステップS101に戻し、全ての系統の入力画像が処理されたと判定されるまで待機する。
 ステップS102において、全ての系統の入力画像が符号化されたと判定された場合、画像符号化装置100は、処理をステップS103に進める。ステップS103において、コードストリーム生成部102は、各系統のコードストリームを統合し、プログレッション機能を有する1系統のコードストリームを生成する。コードストリームを生成すると、画像符号化装置100は、多系統入力符号化処理を終了する。
[符号化処理の流れ]
 次に、図23のステップS101において実行される各系統の符号化処理の流れの例を図24のフローチャートを参照して説明する。
 符号化処理が開始されると、ステップS121において、DCレベルシフト部131は、自身が対応する入力系統より入力された画像データのDCレベルをシフトする。ステップS122において、ウェーブレット変換部132は、DCレベルがシフトされた画像データをウェーブレット変換する。
 ステップS123において、量子化部133は、非可逆符号化方式の場合、ステップS122において生成されたウェーブレット係数を量子化する。なお、可逆符号化方式の場合、この処理は省略される。
 ステップS124において、コードブロック化部134は、量子化された係数をコードブロック単位で分割する。ステップS125において、ビットプレーン展開部135は、そのコードブロック毎の係数をビットプレーンに展開する。
 ステップS126において、EBCOT部151は、ビットプレーン展開された係数を符号化する。ステップS127において、レート制御部139は、符号量加算部138において加算された符号量等を用いて、発生符号量のレートを制御する。
 ステップS128において、ヘッダ生成部140は、パケットヘッダを生成する。ステップS129において、パケット生成部141は、パケットを生成する。ステップS130において、エンコード部101は、そのパケットを外部に出力する。
 ステップS130の処理が終了すると、符号化処理が終了される。なお、この符号化処理は、画像データの供給が終了するか、終了の指示を受けるまで、所定のデータ単位毎に繰り返し実行される。また、この符号化処理は、各エンコード部101において実行される。
 このように符号化処理を行うことにより、エンコード部101は、各系統の入力画像を、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を有するように符号化することができる。
[コードストリーム生成処理の流れ]
 次に、図23のステップS103において実行されるコードストリーム生成処理の流れの例を図25のフローチャートを参照して説明する。
 コードストリーム生成部102は、各エンコード部101からコードストリーム112が供給されると、コードストリーム生成処理を開始する。コードストリーム生成処理が開始されると、プログレッション解析部181は、ステップS151において、各エンコード部101から供給されたコードストリームの全てについて、プログレッションを解析する。
 ステップS152において、指定受付部182は、例えばユーザや外部の装置等から供給される、コードストリーム統合後のプログレッション構造に関する指定を受け付ける。
 ステップS153において、プログレッション決定部183は、ステップS151の処理により得られた解析結果と、ステップS152の処理により受け付けられた外部からの指定に基づいて、統合後のコードストリームのプログレッション構造を決定する。
 ステップS154において、統合部184は、ステップS153において決定されたプログレッション構造を有するように、各系統のコードストリームを統合する。ステップS155において、プログレッション情報生成部185は、統合後のコードストリームのプログレッション情報を生成し、例えば、SGcod内のProgression orderや、SIZマーカのRsiz等、統合後のコードストリームの所定の位置にそのプログレッション情報を付加する。
 ステップS156において、プログレッション情報生成部185は、コードストリームを出力する。
 このように、コードストリーム生成部102は、各系統のコードストリームを、各コードストリームのプログレッション構造に、多系統についてのプログレッション構造(系統に関する拡張性を実現するデータ構造)を追加した構造を有するように統合することができる。このようにすることにより、画像符号化装置100は、多系統の入力画像を符号化し、復号画像の拡張性を実現し、より多様な用途に使用可能なコードストリームを生成することができる。
 また、統合後のプログレッション構造(拡張されたプログレッション構造)を示すプログレッション情報をコードストリームに付加するので、そのコードストリームを復号する画像復号装置は、そのコードストリームに付加されたプログレッション情報に基づいて、容易に、コードストリームを復号することができる。
 つまり、画像符号化装置100は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
 なお、プログレッション情報は、コードストリームとは別のデータとして復号側に提供されるようにしてもよい。ただし、その場合、コードストリームとプログレッション情報の対応関係を明らかにする(復号側において対応関係を把握することができるようにする)必要がある。
<2.第2の実施の形態>
[画像復号装置の構成]
 図26は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。
 図26に示される画像復号装置300は、図1の画像符号化装置100に対応する復号装置であり、画像符号化装置100により多系統の入力画像を符号化して統合し、生成された1系統のコードストリームを復号して分離し、多系統の復号画像を生成する。
 その際、画像復号装置300は、入力されるコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造に従ってコードストリームを復号し、多系統の復号画像を得ることができる。もちろん、画像復号装置300は、入力されるコードストリームが有するプログレッション構造に従って、必要な情報のみを復号するようにし、用途に対して画質や画像サイズ等が適切な復号画像(用途に応じた復号画像)を得ることができるようにしてもよい。
 図26に示されるように、画像復号装置300は、コードストリーム解析部301、並びに、デコード部302-1乃至デコード部302-Xを有する。
 コードストリーム解析部301は、入力されたコードストリーム311に付加されたプログレッション情報等に基づいて、コードストリーム311のプログレッション構造を解析し、コードストリーム311を統合される前の系統数(ビュー数)Xのコードストリームに分離する。
 コードストリーム解析部301は、分離したコードストリーム312-1乃至コードストリーム312-Xを、それぞれの系統に対応するデコード部302-1乃至デコード部302-Xに供給する。デコード部302-1乃至デコード部302-Xは、それぞれ、入力されたコードストリームを、図1のエンコード部101に対応する方法で復号し、復号画像データ313-1乃至復号画像データ313-Xを生成し、出力する。
 つまり、画像復号装置300は、コードストリーム311を入力し、X個の出力系統のそれぞれから復号画像を出力する(すなわち、X系統の復号画像を出力する)。このとき、画像復号装置300は、コードストリーム311のプログレッション構造に従った順序でコードストリームを復号したり、コードストリーム311のプログレッション構造に従って一部のデータのみを復号したりすることができる。このように、画像復号装置300は、コードストリーム311から、より容易に、多様な用途に応じた復号画像を得る(復号画像の拡張性を実現する)ことができる。
 なお、以下において、デコード部302-1乃至デコード部302-Xを互いに区別して説明する必要が無い場合、単に、デコード部302と称する。また、以下において、コードストリーム312-1乃至コードストリーム312-Xを互いに区別して説明する必要が無い場合、単に、コードストリーム312と称する。さらに、以下において、復号画像データ313-1乃至復号画像データ313-Xを互いに区別して説明する必要が無い場合、単に、復号画像データ313と称する。
 なお、以上においては、デコード部302を各系統に設けるように説明したが、1つのデコード部302が複数の系統のコードストリーム312をそれぞれ復号することができるようにしてもよい。例えば、画像復号装置300が1個のデコード部302を有するようにし、そのデコード部302が、X系統のコードストリーム312をそれぞれ復号し、X系統の復号画像データ313を生成するようにしてもよい。
[コードストリーム解析部の構成]
 図27は、図26のコードストリーム解析部301の主な構成例を示すブロック図である。図27に示されるように、コードストリーム解析部301は、プログレッション解析部321、分割部322、およびプログレッション情報生成部323を有する。
 プログレッション解析部321は、入力されるコードストリーム311に付加されたプログレッション情報を解析し、コードストリーム311のプログレッション構造を解析する。例えば、プログレッション解析部321は、コードストリーム311のメインヘッダやタイルパートヘッダ等に記述されるSGcod内のProgression orderやSIZマーカのRsizを参照し、コードストリーム311のプログレッション構造やビュー数を把握する。プログレッション解析部321は、解析が済んだコードストリーム331と、解析結果332を分割部322に供給する。
 分割部322は、プログレッション解析部321から供給されたプログレッションの解析結果に基づいて、プログレッション解析部321から供給されたコードストリーム331が有する、多系統についてのプログレッション構造(系統に関する拡張性を実現するデータ構造)に基づいて、1系統であったコードストリーム331を、統合前のX個の系統のコードストリームに分離する。
 コードストリーム331は、所定の単位毎の符号化データが、プログレッション構造の順序に従って整列されている。分割部322は、そのコードストリーム331が有するプログレッション構造のうち、多系統についてのプログレッション構造に従って、コードストリーム331の供給先とするデコード部302を切り替える。
 つまり、コードストリーム331においては、統合前の各系統のコードストリームの部分データが、多系統についてのプログレッション構造に従って並べられている。分割部322は、この多系統についてのプログレッション構造に従って、各部分データを、その部分データが属する系統に出力する。この処理により、コードストリーム331はX個の系統に分離される。
 分割部322は、分離したコードストリーム333-1乃至コードストリーム333-Xを、プログレッション情報生成部323に供給する。プログレッション情報生成部323は、コードストリーム333-1乃至コードストリーム333-Xのそれぞれについて、プログレッション構造を示すプログレッション情報を生成し、それをコードストリーム333-1乃至コードストリーム333-Xの所定の位置に付加する。
 プログレッション情報生成部323は、プログレッション情報を付加したコードストリーム312-1乃至コードストリーム312-Xを、それぞれの系統のデコード部302に供給する。
 なお、以下において、コードストリーム333-1乃至コードストリーム333-Xを互いに区別して説明する必要が無い場合、単にコードストリーム333と称する。
[デコード部の構成]
 図28は、デコード部302の主な構成例を示すブロック図である。このデコード部302は、図1のエンコード部101に対応し、エンコード部101により符号化されて生成されたコードストリームを復号する。図28に示されるように、デコード部302は、パケット解読部351、算術復号部352、ビットモデリング部353、ビットプレーン合成部354、コードブロック合成部355、ウェーブレット逆変換部356、およびDCレベル逆シフト部357を有する。
 パケット解読部351は、矢印361に示されるように、画像符号化装置100から供給されるパケットを解読し、矢印362に示されるように、コードストリームを算術復号部352に供給する。
 算術復号部352およびビットモデリング部353は、EBCOT部371として動作し、入力されるコードストリームに対して、例えばJPEG2000規格等で定められたEBCOTと呼ばれるエントロピ復号を行う。
 算術復号部352は、算術符号化部137に対応する方法でコードストリームを復号し、矢印363に示されるように、コンテキストをビットモデリング部353に供給する。ビットモデリング部353は、ビットモデリング部136に対応する方法で、ビットプレーンに展開されたウェーブレット係数を生成する。ビットモデリング部353は、生成したビットプレーン毎の係数データを、矢印364に示されるように、ビットプレーン合成部354に供給する。
 ビットプレーン合成部354は、ビットプレーンに展開されたウェーブレット係数を合成する。ビットプレーン合成部354は、ビットプレーンを合成したウェーブレット係数を、矢印365に示されるように、コードブロック合成部355に供給する。
 コードブロック合成部355は、供給されたビットプレーンを用いてコードブロック単位の係数データを生成し、さらにそれらを合成し、サブバンド毎の係数データを生成する。コードブロック合成部355は、矢印366に示されるように、それをウェーブレット逆変換部356に供給する。
 ウェーブレット逆変換部356は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。ウェーブレット逆変換部356は、生成したベースバンドの画像データを、矢印367に示されるように、DCレベル逆シフト部357に供給する。
 DCレベル逆シフト部357は、その画像データのDC成分に対して、DCレベルシフト部131においてシフトした分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部357は、DCレベル逆シフト処理後の画像データ(復号画像データ)を、矢印368に示されるように、デコード部302の外部に出力する。
各コードストリーム312は、所定の単位毎の符号化データが、プログレッション構造に従った順序で整列されている。従って、デコード部302は、入力されたコードストリーム312を、順次復号することにより、コードストリーム312に含まれるプログレッション構造に従った順序で、コードストリーム312を復号することができる。
[多系統出力復号処理の流れ]
 次に、画像復号装置300により実行される各種処理の流れの例について説明する。画像復号装置300は、多系統の画像が統合されたコードストリームを復号するために、多系統出力復号処理を行う。最初に、この多系統出力復号処理の流れの例を図29のフローチャートを参照して説明する。
 画像復号装置300は、画像符号化装置100において生成されたコードストリームを取得すると、多系統出力復号処理を開始する。多系統出力復号処理が開始されると、コードストリーム解析部301は、ステップS301において、取得したコードストリームを解析し、そのコードストリームを、統合前の系統数のコードストリームに分離する。
 ステップS302において、各系統のデコード部302は、コードストリームのプログレッション構造に従って、そのコードストリームを復号し、復号画像データ313を出力する。ステップS303において、画像復号装置300は、全ての系統のコードストリームの復号が終了したか否かを判定し、復号が終了していない系統が存在すると判定された場合、処理をステップS302に戻す。ステップS303において、全ての系統のコードストリームの復号が終了したと判定された場合、画像復号装置300は、多系統出力復号処理を終了する。
[解析処理の流れ]
 次に、図29のステップS301において実行される解析処理の詳細な流れの例を、図30のフローチャートを参照して説明する。
 解析処理が開始されると、プログレッション解析部321は、ステップS321において、コードストリームに付加されているプログレッション情報を解析し、コードストリームのプログレッション構造やビュー数等を把握する。
 ステップS322において、分割部322は、ステップS321の処理により解析されたコードストリームのプログレッション構造にしたがって、コードストリームを系統ごとに分離する。
 ステップS323において、プログレッション情報生成部323は、分離された各系統のコードストリームについて、それぞれプログレッション情報を生成し、付加する。
 ステップS324において、プログレッション情報生成部323は、プログレッション情報を付加した各系統のコードストリームを出力する。
 ステップS324の処理が終了すると、コードストリーム解析部301は、解析処理を終了し、処理を図29のステップS301に戻し、ステップS302以降の処理を実行させる。
[復号処理の流れ]
 次に、図29のステップS302において実行される復号処理の詳細な流れの例を、図31のフローチャートを参照して説明する。
 復号処理が開始されると、パケット解読部351は、ステップS341において、取得されたパケットから符号化データを抽出する。
 ステップS342において、EBCOT部371は、ステップS341において抽出された符号化データを復号する。ステップS343において、ビットプレーン合成部354は、その復号により得られた係数データのビットプレーンを合成し、コードブロック毎の係数データを生成する。ステップS344において、コードブロック合成部355は、そのコードブロック毎の係数データのコードブロックを合成し、サブバンド毎の係数データを生成する。
 ステップS345において、ウェーブレット逆変換部356は、そのサブバンド毎の係数データをウェーブレット逆変換し、ベースバンドの画像データを生成する。なお、画像符号化装置100において係数データが量子化されている場合、係数データに対して、その量子化に対応する逆量子化を行ってからウェーブレット逆変換を行う。
 ステップS346において、DCレベル逆シフト部357は、そのウェーブレット逆変換により得られたベースバンドの画像データのDCレベルを逆シフトする。
 ステップS347において、デコード部302は、DCレベル逆シフト処理が施された画像データを復号画像データとして出力系368から出力する。例えば、この復号画像データが例えば図示せぬディスプレイに出力され、その画像が表示される。
 ステップS347の処理が終了すると、デコード部302は、復号処理を終了する。デコード部302は、このような復号処理を復号処理単位毎に繰り返す。コードストリームは、各符号化データがプログレッション構造に応じた順序で整列されているので、デコード部302は、プログレッション情報に従って、供給される符号化データを順次復号することにより、容易に、コードストリームをプログレッション構造に従った順序で復号することができる。
 以上のように、画像復号装置300は、コードストリームに付加されているプログレッション情報を解析することにより、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造に応じた復号を行い、多系統の復号画像データを生成することができる。つまり、画像復号装置300は、画像符号化装置100が生成したコードストリームを適切に復号し、復号画像の拡張性を実現することができる。したがって、画像復号装置300は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
<3.第3の実施の形態>
[画像符号化装置の構成]
 近年、画像を立体視することができる3D映像が普及しつつあるが、両眼視差を利用したステレオ画方式が主流である。しかしながら、このステレオ画を用いた両眼視差による立体視では、任意の方向からの立体視を実現することはできない。そこで、被写体画像の各部の奥行き方向の位置を示す奥行きデータ(Depth_Map)を用いる方法が考えられた。
 この奥行きデータを複数系統の画像データから抽出する方法が考えられている。つまり、ある被写体を複数の方向から撮影し、その各撮影画像内の被写体の位置の差から、その被写体の奥行き方向の位置を算出する。このような方法により、撮影画像内の全ての被写体について奥行き方向の位置を求め、奥行きデータを生成する。
 このような奥行きデータを用いることにより、画像内の被写体の奥行き方向の位置が特定可能であるので、その情報を基に、任意の視点からの両眼視差を算出することができる。つまり、任意の視点からのステレオ画を生成することができる。
 このような奥行きデータを1系統として、上述したように、画像データとともに符号化し、プログレッション構造を有するように、1系統のコードストリームとするようにしてもよい。
 つまり、第1の実施の形態においては、多系統の画像を符号化し、1系統のコードストリームを生成する場合について説明したが、本発明は、このような奥行きデータも1系統の入力として符号化し、プログレッション構造を有する1系統のコードストリームにする場合にも適用することができる。
 図32は、その場合の画像符号化装置の構成例を示すブロック図である。図32において、図1の画像符号化装置100と同様の構成については、同じ番号を付してある。図32において、画像符号化装置400は、基本的に画像符号化装置100と同様の構成を有するが、さらに、奥行きデータ生成部411およびエンコード部412を有する。
 なお、この場合、各入力系統の入力画像データ111は、略同一の被写体が互いに異なる方向から撮影された、若しくは、描かれた画像、すなわち、マルチビューを構成する画像である。
 奥行きデータ生成部411は、各入力画像データ111を用いて、画像内の被写体の奥行き方向の位置を示す奥行きデータ421を生成する。この被写体の奥行き方向の位置の算出方法は任意である。
 図33に奥行きデータの例を示す。図33のAに示される画像データ111の奥行きデータの例を図33のBに示す。図33のBに示されるように、奥行きデータ421は、画像データ111の全領域の奥行き方向の位置を、例えば画素毎やブロック毎のように所定の範囲毎に、所定のビット数で示す情報である。つまり、奥行きデータ421は、一般的にグレースケールのビットマップデータとして表すことができる。このビットマップデータの階調数が、奥行きデータ421のビット深度(つまり、奥行き方向の位置の表現力)となる。
 したがって、この奥行きデータも、他の入力画像データ111と基本的に同様に符号化することができる。図32に戻り、奥行きデータ生成部411は、生成した奥行きデータ421をエンコード部412に供給する。エンコード部412は、エンコード部101と同様の構成を有し、同様の処理を行う。つまり、エンコード部412は、奥行きデータ421を、エンコード部101と同様に符号化し、JPEG2000のようなプログレッション構造を有するコードストリーム422を生成する。エンコード部412は、生成したコードストリーム422をコードストリーム生成部102に供給する。
 つまり、コードストリーム生成部102からみると、入力が1系統増えた(X+1)ことになるが、もともと入力系統数Xは任意である。つまり、コードストリーム生成部102は、第1の実施の形態の場合と同様に各系統のコードストリームを統合し、多系統についてのプログレッション構造を加えたプログレッション構造を有する1系統のコードストリーム114を生成する。
 なお、奥行きデータは、画像符号化装置400の外部において生成されるようにしてもよい。その場合の画像符号化装置400は、図1の画像符号化装置100と同様の構成となる。つまり、画像データと奥行きデータを入力とする場合、画像符号化装置100によりそれらを符号化することができる。
[多系統入力符号化処理の流れ]
 次に、画像符号化装置400により実行される多系統入力符号化処理の流れの例について、図34のフローチャートを参照して説明する。この処理は、図23のフローチャートに対応する。
 つまり、図34のステップS401およびステップS402の各処理は、図23のステップS101およびステップS102と同様に実行される。
 ステップS403において、奥行きデータ生成部411は、各系統の入力画像データ111から、奥行きデータを生成する。ステップS404において、エンコード部412は、その奥行きデータを、ステップS401の場合と同様に符号化する。
 ステップS405において、コードストリーム生成部102は、ステップS401において生成されたコードストリームと、ステップS404において生成されたコードストリームとを、図23のステップS103の場合と同様に統合し、プログレッション構造を有する1系統のコードストリームを生成する。
 ステップS405の処理が終了すると、画像符号化装置400は、多系統入力符号化処理を終了する。
 このように、画像符号化装置400は、マルチビューを構成する多系統の入力画像データから奥行きデータを生成し、その奥行きデータとともに各系統の入力画像データを符号化し、プログレッション構造を有する1系統のコードストリームを生成することができる。
 つまり、画像符号化装置400は、このように奥行きデータを含める場合であっても、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
 なお、復号側においては、奥行きデータは、1系統の画像データ(ビットマップデータ)として処理することができる。つまり、第2の実施の形態において説明した画像復号装置300は、画像符号化装置400により生成されたコードストリーム114も、画像符号化装置100により生成されたコードストリーム114と同様に復号することができる。
<4.第4の実施の形態>
[ネットワークシステムの構成]
 以上において説明した画像符号化装置100若しくは画像符号化装置400により生成されたコードストリームは、任意の方法で画像復号装置300に転送するようにしてもよい。例えば、画像符号化装置100若しくは画像符号化装置400が、生成したコードストリームを、Blu-Ray Disc、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体に記録し、画像復号装置300がその記録媒体からコードストリームを読み出して復号するようにしてもよい。
 また、画像符号化装置100若しくは画像符号化装置400が、生成したコードストリームを、有線若しくは無線のネットワーク等、任意の通信媒体を介して画像復号装置300に伝送するようにしてもよい。
 さらに、以上においては、画像符号化装置100および画像符号化装置400のコードストリーム生成部102が、プログレッション構造に関して、外部からの指定113を取得するように説明したが、この指定の提供元は任意である。例えば、上述したようにユーザや他の装置から供給されるようにしてもよい。また、画像符号化装置が生成したコードストリームを復号する画像復号装置から供給されるようにしてもよい。
 図35は、本発明を適用したネットワークシステムの構成例を示すブロック図である。
 図35に示されるネットワークシステム500は、多系統の画像データを送信側から受信側にネットワーク501を介して伝送するシステムである。その際、ネットワークシステム500は、伝送時に使用する帯域幅を低減させるために、送信側において、多系統の画像データを符号化してまとめ、1系統のコードストリームとして伝送し、受信側において、復号して元の多系統の復号画像データを得る。
 ネットワーク501は、任意の通信媒体により構成される。例えば、ネットワーク501は、インターネットやLAN等に代表される任意のネットワークにより構成される。ネットワーク501は、1つのネットワークであってもよいし、複数のネットワークの集合体であってもよい。したがって、ネットワーク501は、ケーブル等の通信媒体の他に、中継器等の任意の通信機器が含まれるようにしてもよい。また、ネットワーク501は、有線のネットワークであってもよいし、無線のネットワークであってもよいし、有線と無線が混在するようにしてもよい。
 ネットワークシステム500は、送信側の符号化装置として、上述した画像符号化装置100を有する。また、ネットワークシステム500は、受信側の復号装置として、上述した画像復号装置300を有する。
 つまり、送信側の画像符号化装置100は、伝送する多系統の画像データを符号化し、プログレッション構造を有する1系統のコードストリーム114を生成し、それをネットワーク501を介して画像復号装置300に送信する。
 受信側の画像復号装置300は、それをコードストリーム311として受信し、復号して、元の多系統の画像データに分離して出力する。
 また、画像復号装置300は、画像データの使用方法等に基づいて、プログレッション構造に関する指定511を、ネットワーク501を介して、画像符号化装置100に提供する。画像符号化装置100のコードストリーム生成部102は、それを外部からの指定113として受け付ける。
 このようにすることにより、画像符号化装置100は、受信(復号)側の用途に応じたプログレッション構造のコードストリームを容易に生成することができる。つまり、ネットワークシステム500は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
 なお、プログレッション構造に関する指定は、画像復号装置300以外の装置、例えば、ネットワーク501に含まれる制御センタや中継ハブ等が、ネットワーク501の帯域幅や混雑状況等に基づいて行う(画像符号化装置100に提供する)ようにしてもよい。
 なお、コードストリームがプログレッション構造を有するようにすればよいので、画像データの符号化方式はJPEG2000方式に限定されない。
<5.第5の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図36に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図36において、パーソナルコンピュータ600のCPU(Central Processing Unit)601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
 入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)等のディスプレイ、並びにスピーカなどよりなる出力部612、フラッシュメモリ等SSD(Solid State Drive)やハードディスクなどよりなる記憶部613、有線LAN(Local Area Network)や無線LANのインタフェースやモデムなどよりなる通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
 上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図36に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどにより構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成が、複数の装置(または処理部)として構成されるようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成が、まとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部が他の装置(または他の処理部)の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、図1のコードストリーム生成部102を独立した装置とし、多系統のコードストリームを入力とし、それらを統合して、プログレッション構造を有する1系統のコードストリームとして出力する装置とするようにしてもよい。
 本発明は、例えば、3Dデジタルシネマ用編集装置、3Dアーカイブシステム、放送局の3D画像伝送装置、3D画像データベース、3D医用画像の記録システム、3Dゲーム機、テレビ受像機システム、3D対応のBlu Ray Discレコーダ若しくはプレイヤ、自由視点テレビ、臨場感TV会議システム、パーソナルコンピュータ等にインストールされるオーサリング・ツールまたはそのソフトウェア・モジュール等に適用することができる。
 100 画像符号化装置, 101 エンコード部, 102 コードストリーム生成部, 181 プログレッション解析部, 182 指定受付部, 183 プログレッション決定部, 184 統合部, 185 プログレッション情報生成部, 300 画像復号装置, 301 コードストリーム解析部, 302 デコード部, 321 プログレッション解析部, 322 分割部, 323 プログレッション情報生成部, 400 画像符号化装置, 411 奥行きデータ生成部, 412 エンコード部, 500 ネットワークシステム, 501 ネットワーク

Claims (25)

  1.  画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、
     前記解析手段による解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定する決定手段と、
     前記決定手段により決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する1系統のコードストリームを生成する統合手段と
     を備える画像処理装置。
  2.  前記コードストリームは、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有する
     請求項1に記載の画像処理装置。
  3.  前記決定手段は、前記解析手段により解析された前記プログレッション構造に、系統についてのプログレッション構造を加えるように、前記統合後のプログレッション構造を決定する
     請求項2に記載の画像処理装置。
  4.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、系統、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  5.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、レイヤ、系統、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  6.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、系統、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  7.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、解像度レベル、系統、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  8.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、系統、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  9.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、解像度レベル、ポジション、系統、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  10.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  11.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、ポジション、系統、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  12.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  13.  前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、コンポーネント、系統、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
     請求項3に記載の画像処理装置。
  14.  前記統合後のプログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備える
     請求項1に記載の画像処理装置。
  15.  前記プログレッション情報生成手段は、前記プログレッション情報として、前記統合後のプログレッション構造の階層構造を、統合後の前記コードストリームに含まれる、JPEG2000のCODマーカセグメント中のSGcod、SPcoc、およびPpocの少なくともいずれか1つにおいて定義する
     請求項14に記載の画像処理装置。
  16.  前記プログレッション情報生成手段は、前記プログレッション情報として、前記統合手段により統合されたコードストリームの系統数を、統合後の前記コードストリームに含まれる、JPEG2000のSIZマーカセグメント中のRsizにおいて定義する
     請求項14に記載の画像処理装置。
  17.  前記プログレッション構造に関する外部からの指定を受け付ける指定受付手段をさらに備え、
     前記決定手段は、前記解析手段による解析結果、および、前記指定受付手段により受け付けられた前記外部からの指定に従って、前記統合後のプログレッション構造を決定する 請求項1に記載の画像処理装置。
  18.  各系統の前記画像を、前記プログレッション構造を有するように符号化する符号化手段をさらに備え、
     前記解析手段は、前記符号化手段により前記画像が符号化されて生成された各系統の前記コードストリームのプログレッション構造を解析する
     請求項1に記載の画像処理装置。
  19.  各系統の前記画像から、前記画像の奥行き方向の位置を示す奥行きデータを生成する奥行きデータ生成手段をさらに備え、
     前記符号化手段は、前記奥行きデータ生成手段により生成された前記奥行きデータをさらに符号化し、
     前記統合手段は、前記符号化手段により生成された前記奥行きデータのコードストリームを、1系統のコードストリームとして、他の多系統とのコードストリームとともに統合する
     請求項18に記載の画像処理装置。
  20.  画像処理装置の画像処理方法であって、
     解析手段が、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、
     決定手段が、解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定し、
     統合手段が、決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する1系統のコードストリームを生成する
     画像処理方法。
  21.  画像が符号化された多系統のコードストリームが統合されて生成された1系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、
     前記解析手段により解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の1系統のコードストリームを、前記多系統のコードストリームに分離する分離手段と
     を備える画像処理装置。
  22.  前記分離手段により分離された各系統のコードストリームを復号する復号手段をさらに備える
     請求項21に記載の画像処理装置。
  23.  前記分離手段により分離された各系統のコードストリームについて、前記プログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備える
     請求項21に記載の画像処理装置。
  24.  前記統合後の1系統のコードストリームは、系統、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有する
     請求項21に記載の画像処理装置。
  25.  画像処理装置の画像処理方法であって、
     解析手段が、画像が符号化された多系統のコードストリームが統合されて生成された1系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、
     分離手段が、解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の1系統のコードストリームを、前記多系統のコードストリームに分離する
     画像処理方法。
PCT/JP2011/065208 2010-07-09 2011-07-01 画像処理装置および方法 WO2012005193A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP11803527A EP2458841A1 (en) 2010-07-09 2011-07-01 Image processing device and method
RU2012108119/08A RU2012108119A (ru) 2010-07-09 2011-07-01 Устройство и способ обработки изображений
CN2011800036811A CN102484674A (zh) 2010-07-09 2011-07-01 图像处理装置和方法
BR112012004815A BR112012004815A2 (pt) 2010-07-09 2011-07-01 aparelho de processamento de imagem, e, método de processamento de imagem para um aparelho de processamento de imagem
US13/393,935 US8953898B2 (en) 2010-07-09 2011-07-01 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-156708 2010-07-09
JP2010156708A JP5392199B2 (ja) 2010-07-09 2010-07-09 画像処理装置および方法

Publications (1)

Publication Number Publication Date
WO2012005193A1 true WO2012005193A1 (ja) 2012-01-12

Family

ID=45441172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/065208 WO2012005193A1 (ja) 2010-07-09 2011-07-01 画像処理装置および方法

Country Status (7)

Country Link
US (1) US8953898B2 (ja)
EP (1) EP2458841A1 (ja)
JP (1) JP5392199B2 (ja)
CN (1) CN102484674A (ja)
BR (1) BR112012004815A2 (ja)
RU (1) RU2012108119A (ja)
WO (1) WO2012005193A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022715A (zh) * 2020-06-04 2022-09-06 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及设备

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0516549D0 (en) 2005-08-12 2005-09-21 Sulaiman Brian Milling system
US11792538B2 (en) 2008-05-20 2023-10-17 Adeia Imaging Llc Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US8866920B2 (en) 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8514491B2 (en) 2009-11-20 2013-08-20 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8878950B2 (en) 2010-12-14 2014-11-04 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using super-resolution processes
BR112014005496A8 (pt) * 2011-09-08 2022-07-05 Motorola Mobility Llc Métodos e aparelhos para quantificação e dequantificação de um bloco retangular de coeficientes
EP2761534B1 (en) 2011-09-28 2020-11-18 FotoNation Limited Systems for encoding light field image files
US20130088485A1 (en) * 2011-10-10 2013-04-11 John Gerald Chapman Method of storing or transmitting auto-stereoscopic images
CN104508681B (zh) 2012-06-28 2018-10-30 Fotonation开曼有限公司 用于检测有缺陷的相机阵列、光学器件阵列和传感器的***及方法
US20140002674A1 (en) 2012-06-30 2014-01-02 Pelican Imaging Corporation Systems and Methods for Manufacturing Camera Modules Using Active Alignment of Lens Stack Arrays and Sensors
EP4296963A3 (en) 2012-08-21 2024-03-27 Adeia Imaging LLC Method for depth detection in images captured using array cameras
US8866912B2 (en) 2013-03-10 2014-10-21 Pelican Imaging Corporation System and methods for calibration of an array camera using a single captured image
US9578259B2 (en) 2013-03-14 2017-02-21 Fotonation Cayman Limited Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US9497429B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Extended color processing on pelican array cameras
US10122993B2 (en) 2013-03-15 2018-11-06 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
US9438888B2 (en) * 2013-03-15 2016-09-06 Pelican Imaging Corporation Systems and methods for stereo imaging with camera arrays
US9589314B2 (en) * 2013-04-29 2017-03-07 Qualcomm Incorporated Query processing for tile-based renderers
US10119808B2 (en) 2013-11-18 2018-11-06 Fotonation Limited Systems and methods for estimating depth from projected texture using camera arrays
EP3075140B1 (en) 2013-11-26 2018-06-13 FotoNation Cayman Limited Array camera configurations incorporating multiple constituent array cameras
WO2015134996A1 (en) 2014-03-07 2015-09-11 Pelican Imaging Corporation System and methods for depth regularization and semiautomatic interactive matting using rgb-d images
JP2017531976A (ja) 2014-09-29 2017-10-26 フォトネイション ケイマン リミテッド アレイカメラを動的に較正するためのシステム及び方法
GB2548558A (en) * 2016-03-17 2017-09-27 Nokia Technologies Oy Method and apparatus for processing video information
US11049219B2 (en) * 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
JP7118659B2 (ja) * 2018-02-15 2022-08-16 キヤノン株式会社 撮像装置、撮像装置の制御方法及びプログラム
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
DE112020004391T5 (de) 2019-09-17 2022-06-02 Boston Polarimetrics, Inc. Systeme und verfahren zur oberflächenmodellierung unter verwendung von polarisationsmerkmalen
BR112022006617A2 (pt) 2019-10-07 2022-06-28 Boston Polarimetrics Inc Sistemas e métodos para detecção por sensor de normais à superfície com polarização
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
CA3162710A1 (en) 2019-11-30 2021-06-03 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
US11195303B2 (en) 2020-01-29 2021-12-07 Boston Polarimetrics, Inc. Systems and methods for characterizing object pose detection and measurement systems
JP2023511747A (ja) 2020-01-30 2023-03-22 イントリンジック イノベーション エルエルシー 偏光画像を含む異なる撮像モダリティで統計モデルを訓練するためのデータを合成するためのシステムおよび方法
WO2021243088A1 (en) 2020-05-27 2021-12-02 Boston Polarimetrics, Inc. Multi-aperture polarization optical systems using beam splitters
US12020455B2 (en) 2021-03-10 2024-06-25 Intrinsic Innovation Llc Systems and methods for high dynamic range image reconstruction
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004040351A (ja) * 2002-07-02 2004-02-05 Ricoh Co Ltd 画像配信システム及び画像配信再生システム
JP2007027816A (ja) * 2005-07-12 2007-02-01 Ricoh Co Ltd 符号化処理装置および方法、並びにプログラムおよび記録媒体
JP2010087904A (ja) * 2008-09-30 2010-04-15 Sony Computer Entertainment Inc 画像処理装置および画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055012A (en) * 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
US7110608B2 (en) * 2001-07-02 2006-09-19 Canon Kabushiki Kaisha Digital image compression
JP2004104347A (ja) * 2002-09-06 2004-04-02 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
US7149370B2 (en) * 2003-03-07 2006-12-12 Nokia Corporation Method and device for image surfing
KR100728009B1 (ko) * 2005-08-22 2007-06-13 삼성전자주식회사 다시점 동영상을 부호화하는 방법 및 장치
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
KR100947234B1 (ko) * 2006-01-12 2010-03-12 엘지전자 주식회사 다시점 비디오의 처리 방법 및 장치
WO2008088175A1 (en) * 2007-01-17 2008-07-24 Lg Electronics Inc. Method and apparatus for processing a video signal
RU2487488C2 (ru) * 2007-06-26 2013-07-10 Конинклейке Филипс Электроникс Н.В. Способ и система для кодирования сигнала трехмерного видео, инкапсулированный сигнал трехмерного видео, способ и система для декодера сигнала трехмерного видео
JP2009135871A (ja) * 2007-11-05 2009-06-18 Sumitomo Electric Ind Ltd 暗号鍵生成方法
US8121191B1 (en) * 2007-11-13 2012-02-21 Harmonic Inc. AVC to SVC transcoder
JP4656190B2 (ja) * 2008-06-10 2011-03-23 ソニー株式会社 情報処理装置および方法
KR101401336B1 (ko) 2008-09-30 2014-05-29 소니 컴퓨터 엔터테인먼트 인코포레이티드 화상처리장치 및 화상처리방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004040351A (ja) * 2002-07-02 2004-02-05 Ricoh Co Ltd 画像配信システム及び画像配信再生システム
JP2007027816A (ja) * 2005-07-12 2007-02-01 Ricoh Co Ltd 符号化処理装置および方法、並びにプログラムおよび記録媒体
JP2010087904A (ja) * 2008-09-30 2010-04-15 Sony Computer Entertainment Inc 画像処理装置および画像処理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Fast Approximate Energy Minimization via Graph Cuts", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 23, no. 11, November 2001 (2001-11-01)
"Lossy/Lossless Coding of Bi-level Images", JBIG2 (REF.: ISO/IEC FDIS 14492, March 2000 (2000-03-01)
"Stereo Matching Using Belief Propagation", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 25, no. 7, July 2003 (2003-07-01)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022715A (zh) * 2020-06-04 2022-09-06 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及设备

Also Published As

Publication number Publication date
CN102484674A (zh) 2012-05-30
JP5392199B2 (ja) 2014-01-22
RU2012108119A (ru) 2013-09-10
US20120163725A1 (en) 2012-06-28
BR112012004815A2 (pt) 2016-03-15
EP2458841A1 (en) 2012-05-30
US8953898B2 (en) 2015-02-10
JP2012019449A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5392199B2 (ja) 画像処理装置および方法
TWI448145B (zh) Image processing apparatus and method, and program
US7330596B2 (en) Image decoding technique for suppressing tile boundary distortion
JP4656190B2 (ja) 情報処理装置および方法
WO2017095491A1 (en) EFFICIENT AND SCALABLE INTRA VIDEO/IMAGE CODING USING WAVELETS AND AVC, MODIFIED AVC, VPx, MODIFIED VPx, OR MODIFIED HEVC CODING
JP2020529782A (ja) ビデオ圧縮のための変換を構成する方法および装置
JP2012060261A (ja) 画像処理装置および方法
JP4392783B2 (ja) 動画再生システム、動画送信装置、動画送信方法、プログラム、及び、記録媒体
US20060013312A1 (en) Method and apparatus for scalable video coding and decoding
JP2012095310A (ja) ビデオ・コード変換のための変換ドメイン・サブ−サンプリング
JP5515758B2 (ja) 画像処理装置および方法
US10827161B2 (en) Depth codec for 3D-video recording and streaming applications
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
EP1583368A1 (en) Direction-adaptive scalable motion parameter coding for scalable video coding
JP2008244539A (ja) クライアント・サーバシステム
US9264736B2 (en) Encoding method, decoding method, encoding device, and decoding device
JP2001112004A (ja) 動画像符号化装置及び動画像復号装置、並びに動画像符号化方法及び動画像復号方法
KR100791453B1 (ko) 움직임보상 시간축 필터링을 이용한 다시점 비디오 부호화및 복호화 방법 및 장치
JP2007027816A (ja) 符号化処理装置および方法、並びにプログラムおよび記録媒体
JP4040404B2 (ja) 符号列変換装置及び方法、画像処理装置並びに画像記録装置
Skodras The JPEG2000 image compression standard in mobile health
KR100776822B1 (ko) 스테레오 잔여 영상 부호화 방법 및 그 장치
JP2004166156A (ja) 画像送信装置、ネットワークシステム、プログラム及び記憶媒体
JP2006050557A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、コンピュータプログラム及び記録媒体
Onno et al. JPEG2000: present and future of the new standard

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180003681.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2011803527

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11803527

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012108119

Country of ref document: RU

Ref document number: 13393935

Country of ref document: US

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012004815

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112012004815

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20120302