WO2015098562A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2015098562A1 WO2015098562A1 PCT/JP2014/082923 JP2014082923W WO2015098562A1 WO 2015098562 A1 WO2015098562 A1 WO 2015098562A1 JP 2014082923 W JP2014082923 W JP 2014082923W WO 2015098562 A1 WO2015098562 A1 WO 2015098562A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- prediction
- residual
- image
- bit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 331
- 238000012545 processing Methods 0.000 title claims abstract description 321
- 238000003672 processing method Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 250
- 238000004364 calculation method Methods 0.000 description 144
- 239000000872 buffer Substances 0.000 description 70
- 230000015654 memory Effects 0.000 description 66
- 230000009466 transformation Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 50
- 238000013139 quantization Methods 0.000 description 42
- 238000005516 engineering process Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 33
- 230000009467 reduction Effects 0.000 description 26
- 238000003384 imaging method Methods 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 22
- 238000003860 storage Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 230000005236 sound signal Effects 0.000 description 18
- 230000008707 rearrangement Effects 0.000 description 17
- 238000009825 accumulation Methods 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 14
- 238000011084 recovery Methods 0.000 description 14
- 238000007906 compression Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 11
- 230000006837 decompression Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 230000003321 amplification Effects 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 102100022359 CAAX prenyl protease 2 Human genes 0.000 description 1
- 101000824514 Homo sapiens CAAX prenyl protease 2 Proteins 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
Definitions
- the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of suppressing a reduction in coding efficiency.
- RAW data which is image data generated by an image sensor or the like before demosaicing processing or the like.
- MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as AVC
- AVC Advanced Video Coding
- JCTVC Joint Collaboration
- ISO / IEC International Organization for Standardization / International Electrotechnical Commission
- Team-Video Coding is promoting standardization of a coding method called High Efficiency Video Coding (HEVC) (see, for example, Non-Patent Document 1).
- HEVC High Efficiency Video Coding
- Non-Patent Document 2 a method of performing prediction between components on a residual signal has been considered (see, for example, Non-Patent Document 2).
- bit depths of data of each component are generally independent of each other, different values may be set.
- prediction between components having different bit depths is not assumed as such, and there is a risk that coding efficiency may be reduced because prediction can not be performed correctly. .
- the present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in coding efficiency.
- the image processing device when performing prediction between the components on residual data of an input image composed of a plurality of components and a prediction image, the bit depth of the residual data among the components
- the image processing apparatus includes: a residual prediction unit which performs the prediction in alignment; and an encoding unit which encodes prediction residual data generated by the prediction by the residual prediction unit.
- the residual prediction unit may equalize the bit depths of the residual data by bit shift.
- the residual prediction unit performs the prediction by aligning the bit depths of the residual data among the components by the bit shift, when the difference in the bit depth between the two components performing the prediction is not zero. Can.
- the residual prediction unit performs the prediction by aligning the bit depths of the residual data among the components by the bit shift when the difference between the bit depths is positive, and when the difference between the bit depths is negative:
- the prediction can be omitted.
- the residual prediction unit aligns the bit depths of the residual data among components by the bit shift to perform the prediction, and the color space of the input image is RGB. In the case of space, the prediction can be omitted.
- the color space of the input image is a YUV space
- the residual prediction unit performs the prediction by aligning the bit depths of the residual data by the bit shift between a luminance component and a color difference component. it can.
- the color space of the input image is an RGB space
- the residual prediction unit aligns the bit depths of the residual data by the bit shift between the G component and the R component or the B component to perform the prediction. It can be carried out.
- the residual prediction unit obtains a difference in bit depth between two components performing the prediction, and the difference according to the difference in bit depth with respect to the residual data of one of the two components.
- the bit shift is performed, the bit-shifted residual data is multiplied by a predetermined weighting coefficient, and the multiplication result is bit-shifted by a predetermined number of bits, and the residual data of the other component is
- the prediction can be performed by obtaining a difference from the bit-shifted multiplication result.
- the residual prediction unit can set the weighting factor common to a plurality of components.
- a bit depth of the residual data is calculated between the components. It is an image processing method which aligns and performs the said prediction, and codes the prediction residual data produced
- An image processing apparatus decodes encoded data obtained by encoding prediction residual data, which is a prediction result between residual data of an image composed of a plurality of components and the prediction image thereof.
- prediction residual data is a prediction result between residual data of an image composed of a plurality of components and the prediction image thereof.
- the bit depth of the residual data is set between the components It is an image processing device provided with the residual restoration part which performs alignment and the above-mentioned restoration.
- the residual reconstruction unit may equalize the bit depths of the residual data by bit shift.
- the receiver may further include a receiver configured to receive information on the bit depth, and the residual reconstruction unit may be configured to calculate the bit depth between the two components performing the prediction based on the information on the bit depth received by the receiver.
- the bit depth of the residual data can be made uniform by calculating a difference and performing the bit shift based on the calculated bit depth difference.
- the residual reconstruction unit may equalize the bit depths of the residual data by the bit shift if the determined difference in bit depth is not zero.
- the residual reconstruction unit aligns the bit depths of the residual data by the bit shift and performs the reconstruction when the obtained difference in bit depth is positive, and the obtained difference in bit depth is negative. , The restoration can be omitted.
- the receiving unit further receives information on a color space of the image, and the residual restoring unit determines that the color space of the image is not RGB based on the information on the color space of the image received by the receiving unit.
- the bit depths of the residual data may be aligned between components by the bit shift to perform the restoration, and the restoration may be omitted when the color space of the image is an RGB space.
- the color space of the image may be YUV space
- the residual restoration unit may perform the restoration by aligning the bit depths of the residual data by the bit shift between the luminance component and the color difference component.
- the color space of the image is an RGB space
- the residual restoration unit performs the restoration by aligning the bit depths of the residual data by the bit shift between the G component and the R component or the B component. be able to.
- the residual reconstruction unit obtains a difference in the bit depth between two components that perform the reconstruction, and the difference in the bit depth with respect to the reconstructed residual data of one of the two components.
- the bit-shifted residual data is multiplied by a predetermined weighting factor, and the multiplication result is bit-shifted by a predetermined number of bits, and the bit-shifted By adding the multiplication result and the prediction residual data, the restoration of the residual data of the other component can be performed.
- An image processing method decodes encoded data obtained by encoding prediction residual data, which is a prediction result between residual data of an image composed of a plurality of components and the predicted image thereof.
- the bit depth of the residual data is aligned between the components and the prediction is a line
- prediction residual data generated by prediction is encoded.
- encoded data obtained by encoding prediction residual data which is a prediction result between residual data components of an image composed of a plurality of components and its predicted image
- prediction residual data which is a prediction result between residual data components of an image composed of a plurality of components and its predicted image
- an image can be encoded / decoded.
- reduction in coding efficiency can be suppressed.
- Fig. 24 is a diagram illustrating an example main configuration of a multi-viewpoint image decoding device to which the present technology is applied. It is a figure which shows the example of a hierarchy image coding system. It is a figure explaining the example of spatial scalable coding. It is a figure explaining the example of temporal scalable coding.
- First embodiment image encoding device / image decoding device
- Second embodiment image encoding device / image decoding device
- Third embodiment image encoding device / image decoding device
- Fourth embodiment image encoding device / image decoding device
- Fifth embodiment commonization of weighting factors
- Sixth embodiment multi-view image coding device / multi-view image decoding device
- Seventh embodiment hierarchical image encoding device / hierarchical image decoding device
- Eighth embodiment computer
- Ninth embodiment application example
- Tenth embodiment set unit module processor
- First embodiment> ⁇ Flow of standardization of image coding>
- image information is treated as digital, and in that case, encoding is performed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
- orthogonal transformation such as discrete cosine transformation and motion compensation
- An apparatus for compressing and coding an image by adopting a method is becoming widespread. Examples of this encoding method include MPEG (Moving Picture Experts Group).
- MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image coding method, and is a standard that covers both interlaced and progressive scan images as well as standard resolution images and high definition images.
- MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
- the MPEG2 compression method it is possible to allocate a code amount (bit rate) of 4 to 8 Mbps, for example, in the case of an interlace scan image of standard resolution having 720 ⁇ 480 pixels.
- a code amount (bit rate) of 18 to 22 Mbps can be allocated. Thereby, a high compression rate and good image quality can be realized.
- MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
- bit rate bit rate
- MPEG4 coding amount
- the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
- H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU) Q6 / 16 Video Coding Expert Group (VCEG)
- ITU International Telecommunication Union Telecommunication Standardization Sector
- VCEG Video Coding Expert Group
- AVC Advanced Video Coding
- FRExt also includes 8x8 DCT and quantization matrix specified by MPEG-2 such as encoding tools required for business use such as RGB and 4: 2: 2 and 4: 4: 4. Standardization of (Fidelity Range Extension) was completed in February 2005.
- H.264 / AVC it has become a coding method capable of well representing film noise contained in a movie, and has been used for a wide range of applications such as Blu-Ray Disc (trademark).
- JCTVC Joint Collaboration Team-Video Coding
- ISO / IEC International Organization for Standardization / International Electrotechnical Commission
- HEVC High Efficiency Video Coding
- HEVC High Efficiency Video Coding
- ⁇ Coding unit> In the AVC (Advanced Video Coding) system, a hierarchical structure of macroblocks and sub-macroblocks is defined. However, a macro block of 16 ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels) that is a target of the next-generation coding method.
- UHD Ultra High Definition
- a coding unit (Coding Unit)) is defined.
- a CU is also called a Coding Tree Block (CTB), and is a partial area of a picture-based image that plays the same role as a macroblock in the AVC system. While the latter is fixed at a size of 16 ⁇ 16 pixels, the size of the former is not fixed, and is designated in the image compression information in each sequence.
- CTB Coding Tree Block
- a CU maximum size (Largest Coding Unit)
- a minimum size ((SCU (Smallest Coding Unit))
- split-flag 1 within the range not exceeding the size of the SCU.
- the size of LCU is 128 and the maximum hierarchical depth is 5.
- split_flag the value of split_flag is “1”
- a 2N ⁇ 2N-sized CU is divided into an N ⁇ N-sized CU, which is one level lower.
- a CU is divided into prediction units (Prediction Units (PUs)), which are regions serving as processing units for intra or inter prediction (partial regions of images in units of pictures), and regions serving as processing units for orthogonal transformation. It is divided into transform units (Transform Units (TUs)), which are (partial areas of an image in picture units).
- Prediction Units PUs
- transform units Transform Units (TUs)
- TUs Transform Units
- a macro block in the AVC method corresponds to an LCU
- a block (subblock) corresponds to a CU.
- a motion compensation block in the AVC scheme corresponds to a PU.
- the size of the LCU in the top layer is generally set to be larger than a macroblock of the AVC scheme, for example, 128 ⁇ 128 pixels.
- the LCU also includes a macroblock in the AVC scheme
- the CU also includes a block (sub-block) in the AVC scheme.
- “block” used in the following description indicates an arbitrary partial area in a picture, and the size, shape, characteristics, and the like thereof are not limited. That is, the “block” includes, for example, any region (processing unit) such as TU, PU, SCU, CU, LCU, sub block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, the processing unit, etc., it will be described appropriately.
- CTU Coding Tree Unit
- CTB Coding Tree Block
- CU Coding Tree Block
- CB Coding Block
- H.264 / MPEG-4 AVC reference software called JM (Joint Model) (available at http://iphome.hhi.de/suehring/tml/index.htm)
- JM Job Model
- JM JM it is possible to select two mode determination methods of High Complexity Mode and Low Complexity Mode described below. Both calculate the cost function value regarding each prediction mode Mode, and select the prediction mode which makes this the minimum as the optimal mode with respect to the said block thru
- ⁇ is the difference energy between the decoded image and the input image when the entire set D of candidate modes for encoding the block or the macroblock is encoded in the prediction mode.
- ⁇ is a Lagrange undetermined multiplier given as a function of the quantization parameter.
- R is a total code amount in the case of encoding in this mode, including orthogonal transform coefficients.
- D is the difference energy between the predicted image and the input image, unlike in the case of the High Complexity Mode.
- QP2Quant QP
- HeaderBit is a code amount related to information belonging to the Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
- r c (x, y) indicates residual data (difference between input image and predicted image) of the color difference component (Cb or Cr).
- r L (x, y) indicates residual data (difference between input image and predicted image) of the luminance component (Y).
- ⁇ r c (x, y) is the prediction result of residual prediction (the residual data of the chrominance component (Cb or Cr) predicted by the residual data of the luminance component (Y)) (also the prediction residual data) Name).
- x and y indicate the position (coordinates) in the image.
- ⁇ represents a weighting factor, which takes any value of ⁇ (0, 1, 2, 4, 8). This value is set in TU units (ie, transmitted to the decoding side in TU units).
- >> indicates a bit shift to the right (right shift). For example, >> n indicates a right shift of n bits.
- bit depths of data of each component are generally independent of each other, different values may be set.
- Equation (3) in the prediction method described in Non-Patent Document 2, it is premised that the bit depths of residual data (luminance component and color difference component) of each component are the same as each other. There was no assumption about the case where the bit depth of residual data differs between components. That is, in the prediction as in Equation (3), if the bit depth of the residual data differs between components, correct prediction can not be performed, and there is a possibility that the coding efficiency may be reduced.
- ⁇ Bit depth scaling> Therefore, when performing prediction (residual prediction) between residual data of an input image composed of multiple components and a prediction image, the bit depths of the residual data are aligned between the components (scaling is performed) Let's do it. By doing this, even if the bit depth of the residual data is different among the components, it is possible to align the bit depths of the residual data of each component and perform prediction, so correct residual prediction be able to. Therefore, a reduction in coding efficiency can be suppressed.
- bit depths of the residual data between components may be made uniform between the components by bit shifting the residual data. By doing this, it is possible to easily align the bit depth of residual data between components. That is, the processing load and processing time can be reduced.
- the color space of the input image for aligning the bit depths of residual data in this manner is arbitrary.
- it may be YUV space (YUV 444 or the like) or RGB space (RGB 444 or the like).
- prediction may be performed by aligning bit depths of residual data by bit shift between the luminance component and the color difference component. More specifically, for example, the prediction may be performed after the bit depth of the luminance component is aligned with the bit depth of the color difference component by bit shift.
- prediction may be performed by aligning bit depths of residual data by bit shift between G component and R component or B component. More specifically, for example, the prediction may be performed after aligning the bit depth of the G component to the bit depth of the R component or the B component by bit shifting.
- bit shift operation The specific example of the bit shift (shift operation) which arrange
- This shift operation method is arbitrary. For example, if the difference in bit depth between two components performing prediction is not 0, prediction may be performed by aligning bit depths of residual data among components by bit shift. For example, as shown in the following equation (4), the difference (bit depth difference) of bit depths of residual data between components is determined, and as in the equations (5) to (8), Only bit shift may be performed. At this time, bit shifting may be performed for the absolute value of the bit depth difference, as in equation (6) or (8). In that case, for example, the shift direction may be determined as in equation (6) or equation (8) depending on whether the condition in equation (5) or equation (7) is satisfied.
- BitDepth Y indicates the bit depth of the residual data of the luminance component (Y).
- Bit Depth C indicates the bit depth of residual data of a color difference component (Cb or Cr).
- ⁇ bitdepth is the difference between the bit depth difference between components (the bit depth of residual data of luminance component (Y) (BitDepth Y ) and the bit depth of residual data of chrominance components (Cb or Cr) (BitDepth C ) Show.
- r c (x, y) indicates residual data of the color difference component (Cb or Cr).
- r L (x, y) indicates residual data of the luminance component (Y).
- ⁇ r c (x, y) indicates inter-component prediction residual data (the residual data of the chrominance component (Cb or Cr) predicted by the residual data of the luminance component (Y)).
- x and y indicate the position (coordinates) in the image.
- ⁇ represents a weighting factor.
- the value of ⁇ is arbitrary, but is set to, for example, any value of ⁇ (0, 1, 2, 4, 8). This value is set in TU units (ie, transmitted to the decoding side in TU units).
- >> indicates a bit shift to the right (right shift), and ⁇ indicates a bit shift to the left (left shift).
- >> n indicates a right shift of n bits
- ⁇ m indicates a left shift of m bits.
- Equation (4) the bit depth difference ( ⁇ bitdepth) between components is calculated by Equation (4). Then, when this value satisfies the condition of equation (5), that is, when ⁇ bitdepth is 0 or more, prediction residual data ( ⁇ r c (x, y)) is calculated as equation (6).
- the calculation method in this case is basically the same as equation (3), but the residual data (r L (x, y)) of the luminance component (Y) is a bit
- the prediction residual data ( ⁇ r c (x, y)) is calculated by being shifted right by the depth difference ( ⁇ bitdepth).
- prediction Residual data ( ⁇ r c (x, y)) is calculated as shown in equation (8).
- the calculation method in this case is basically the same as equation (3), but the residual data (r L (x, y)) of the luminance component (Y) is a bit
- the prediction residual data ( ⁇ r c (x, y)) is calculated with left shift by the depth difference ( ⁇ bitdepth).
- the prediction residual data ( ⁇ r c (x, y)) is calculated by aligning to the bit depth (Bit Depth C ) of y)).
- the difference in bit depth between two components used for residual prediction is determined, and bit shift according to the difference in bit depth with respect to residual data of one of the two components ( Scaling is performed, the bit-shifted residual data is multiplied by a predetermined weighting factor, and the multiplication result is bit-shifted by a predetermined number of bits, and the residual data and bit shift of the other component are performed.
- the difference from the calculated multiplication result is obtained.
- the prediction may be performed as described above.
- prediction residual data ( ⁇ r c (x, y)) can be correctly calculated even if the bit depth of the residual data differs between components. Therefore, a reduction in coding efficiency can be suppressed.
- FIG. 3 is a block diagram showing an example of a configuration of an image coding apparatus, which is an aspect of an image processing apparatus to which the present technology is applied.
- the image coding apparatus 100 shown in FIG. 3 codes image data of a moving image, for example, using the prediction process of HEVC or the prediction process according to the scheme.
- the case where the color space of the input image is YUV 444 will be described as an example.
- the image coding apparatus 100 includes a screen rearrangement buffer 102, an operation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, an accumulation buffer 107, an inverse quantization unit 108, And an inverse orthogonal transform unit 109.
- the image coding apparatus 100 further includes an arithmetic unit 110, a loop filter 111, a frame memory 112, an intra prediction unit 113, an inter prediction unit 114, a predicted image selection unit 115, and a rate control unit 116.
- the image coding apparatus 100 includes a header processing unit 121, a residual prediction unit 122, and a residual restoration unit 123.
- the screen rearrangement buffer 102 stores the images of each frame of the input image data in the display order, and the images of the frames of the stored display order are encoded for encoding according to GOP (Group Of Picture).
- GOP Group Of Picture
- the image in which the order of the frames is rearranged is supplied to the calculation unit 103. Further, the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 113 and the inter prediction unit 114.
- the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 113 or the inter prediction unit 114 via the prediction image selection unit 115 from the image read from the screen rearrangement buffer 102, and The difference data is supplied to the residual prediction unit 122. For example, in the case of an image on which intra coding is performed, the calculation unit 103 subtracts the predicted image supplied from the intra prediction unit 113 from the image read from the screen rearrangement buffer 102. Also, for example, in the case of an image on which inter coding is performed, the operation unit 103 subtracts the predicted image supplied from the inter prediction unit 114 from the image read from the screen rearrangement buffer 102.
- the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on residual data of luminance component and prediction residual data of chrominance component supplied from the residual prediction unit 122.
- the orthogonal transformation unit 104 supplies the transform coefficient obtained by the orthogonal transformation to the quantization unit 105.
- the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
- the quantization unit 105 sets a quantization parameter based on the information on the target value of the code amount supplied from the rate control unit 116 and performs the quantization.
- the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
- the lossless encoding unit 106 encodes the transform coefficient quantized in the quantization unit 105 by an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 116, this code amount is the target value set by the rate control unit 116 (or approximate to the target value).
- the lossless encoding unit 106 acquires information indicating the mode of intra prediction from the intra prediction unit 113, and acquires information indicating the mode of inter prediction, differential motion vector information, or the like from the inter prediction unit 114.
- the lossless encoding unit 106 encodes these various types of information according to an arbitrary encoding method, and makes it part of header information of encoded data (also referred to as an encoded stream) (multiplexing).
- the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
- Examples of the coding method of the lossless coding unit 106 include variable-length coding and arithmetic coding.
- variable-length coding for example, H.264.
- Examples include CAVLC (Context-Adaptive Variable Length Coding) defined by the H.264 / AVC system.
- Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
- the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
- the accumulation buffer 107 outputs the held encoded data to the outside of the image coding apparatus 100 at a predetermined timing. That is, the accumulation buffer 107 is also a transmission unit that transmits the encoded data.
- the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
- the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
- the inverse quantization unit 108 supplies the transform coefficient obtained by the inverse quantization to the inverse orthogonal transformation unit 109.
- the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104.
- the inverse orthogonal transformation unit 109 supplies the output (the residual data of the restored luminance component and the prediction residual data of the chrominance component) subjected to the inverse orthogonal transformation to the residual reconstruction unit 123. Further, the inverse orthogonal transform unit 109 also supplies the residual data of the restored luminance component to the residual prediction unit 122.
- the arithmetic unit 110 adds the prediction image from the intra prediction unit 113 or the inter prediction unit 114 via the prediction image selection unit 115 to the residual data of each component supplied from the residual restoration unit 123. To obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
- the reconstructed image is supplied to the loop filter 111 or the intra prediction unit 113.
- the loop filter 111 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately filters the reconstructed image supplied from the arithmetic unit 110.
- the loop filter 111 removes block distortion of the reconstructed image by performing deblocking filter processing on the reconstructed image.
- the loop filter 111 improves the image quality by performing a loop filter process on the deblock filter process result (reconstructed image from which block distortion has been removed) using a Wiener filter. I do.
- the loop filter 111 may further perform other arbitrary filter processing on the reconstructed image.
- the loop filter 111 can also supply information such as the filter coefficient used for the filter processing to the lossless encoding unit 106 to encode it, as necessary.
- the loop filter 111 supplies the filter processing result (hereinafter referred to as a decoded image) to the frame memory 112.
- the frame memory 112 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the inter prediction unit 114 at a predetermined timing.
- the intra prediction unit 113 performs intra prediction (in-screen prediction) of generating a predicted image using pixel values in a processing target picture which is a reconstructed image supplied from the arithmetic operation unit 110 as a reference image.
- the intra prediction unit 113 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
- the intra prediction unit 113 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimal mode. select. When selecting the optimal intra prediction mode, the intra prediction unit 113 supplies the predicted image generated in the optimal mode to the predicted image selection unit 115.
- the intra prediction unit 113 appropriately supplies intra prediction mode information and the like indicating the adopted intra prediction mode to the lossless encoding unit 106, and causes the lossless encoding unit 106 to encode the information.
- the inter prediction unit 114 performs inter prediction processing (motion prediction processing and compensation processing) using the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112. More specifically, the inter prediction unit 114 performs motion compensation processing according to a motion vector detected by performing motion prediction as inter prediction processing, and generates a prediction image (inter prediction image information). The inter prediction unit 114 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
- the inter prediction unit 114 generates a prediction image in all candidate inter prediction modes.
- the inter prediction unit 114 evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, the information of the generated differential motion vector, and the like, and selects the optimal mode.
- the inter prediction unit 114 selects the optimal inter prediction mode, it supplies the prediction image generated in the optimal mode to the prediction image selection unit 115.
- the inter prediction unit 114 supplies, to the lossless encoding unit 106, information indicating the adopted inter prediction mode, information necessary for performing processing in the inter prediction mode when decoding encoded data, and the like. Encode.
- the necessary information includes, for example, information of the generated differential motion vector, and a flag indicating an index of a predicted motion vector as predicted motion vector information.
- the predicted image selection unit 115 selects the supply source of the predicted image to be supplied to the calculation unit 103 and the calculation unit 110.
- the prediction image selection unit 115 selects the intra prediction unit 113 as a supply source of a prediction image, and supplies the prediction image supplied from the intra prediction unit 113 to the calculation unit 103 and the calculation unit 110.
- the prediction image selection unit 115 selects the inter prediction unit 114 as a supply source of a prediction image, and the calculation unit 103 or 110 calculates the prediction image supplied from the inter prediction unit 114.
- the rate control unit 116 controls the rate of the quantization operation of the quantization unit 105 based on the code amount of the encoded data accumulated in the accumulation buffer 107 so that overflow or underflow does not occur.
- the header processing unit 121 may be, for example, a video parameter set (VPS (Video Parameter Set)), a sequence parameter set (SPS (Sequence Parameter Set)), a picture parameter set (PPS), a SEI (Supplemental Enhancement Information), a slice header, etc. Additional information (also referred to as header information) other than image information is generated.
- the header processing unit 121 supplies the generated header information to the lossless encoding unit 106, includes it in the bit stream, and transmits it to the decoding side. Also, the header processing unit 121 supplies necessary information to the residual prediction unit 122 from the generated header information. Details will be described later.
- the residual prediction unit 122 performs residual prediction using the residual data of the color difference component supplied from the calculation unit 103 and the residual data of the restored luminance component supplied from the inverse orthogonal transformation unit 109. . More specifically, the residual prediction unit 122 predicts residual data of color difference components using the restored residual data of luminance components, and generates prediction residual data. At that time, the residual prediction unit 122 performs prediction by aligning bit depths of residual data among components. Details will be described later.
- the residual prediction unit 122 supplies the prediction residual data of the chrominance component obtained by such residual prediction and the residual data of the luminance component supplied from the calculation unit 103 to the orthogonal transformation unit 104. When residual prediction is not performed, the residual prediction unit 122 supplies the residual data of each component supplied from the calculation unit 103 to the orthogonal transformation unit 104.
- the residual restoration unit 123 restores the residual data of the chrominance component using the residual data of the luminance component and the prediction residual data of the chrominance component supplied from the inverse orthogonal transformation unit 109 (also referred to as residual reconstruction) ). At this time, the residual restoration unit 123 performs restoration by aligning bit depths of residual data among components. Since the residual restoration process is basically the same as the residual restoration process performed on the decoding side, when describing the decoding side, the residual restoration is performed using the description on the decoding side. Describe the process of The residual restoration unit 123 supplies the residual data of each of the restored components to the calculation unit 110.
- FIG. 4 is a block diagram showing a main configuration example of the header processing unit 121 and the residual prediction unit 122 of FIG.
- the header processing unit 121 includes an SPS processing unit 131 and a PPS processing unit 132.
- the SPS processing unit 131 performs, for example, a process related to generation of a sequence parameter set (SPS). Also, the SPS processing unit 131, for example, includes information indicating the bit depth of the luminance component (for example, bit_depth_luma_minus8) included in the sequence parameter set (SPS) or information including information indicating the bit depth of the luminance component, and the color difference component (Cb). Information indicating the bit depth of (/ Cr) (for example, bit_depth_chroma_minus 8) or information including information indicating the bit depth of the color difference component is supplied to the residual prediction unit 122 (bit depth difference calculation unit 151 described later).
- bit_depth_luma_minus8 included in the sequence parameter set
- Cb color difference component
- the PPS processing unit 132 performs, for example, processing relating to generation of a picture parameter set (PPS). Further, the PPS processing unit 132, for example, includes information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction, which is included in a picture parameter set (PPS), to the residual prediction unit 122 (a bit shift control unit 152 described later). Supply).
- information for example, luma_chroma_prediction_enabled_flag
- the residual prediction unit 122 supplies the residual data (r Y (x, y)) of the luminance component supplied from the calculation unit 103 to the orthogonal transformation unit 104.
- the residual prediction unit 122 includes a control unit 141 and a prediction unit 142.
- the control unit 141 performs processing regarding control of calculation of residual prediction.
- the prediction unit 142 is controlled by the control unit 141 to perform an operation regarding the prediction.
- the prediction unit 142 uses the residual data (r ′ Y (x, y)) of the restored luminance component acquired from the inverse orthogonal transformation unit 109 based on the control of the control unit 141 to calculate the operation unit.
- Prediction residual prediction of residual data (r Cr (x, y) and r Cb (x, y)) of color difference components obtained from 103 and prediction residual data ( ⁇ r Cr (x, y) ⁇ r Cb (x, y)) is generated and supplied to the orthogonal transformation unit 104. Further, the prediction unit 142 is controlled by the control unit 141, and does not perform residual prediction, and residual data (r Cr (x, y) and r Cb (x, y) of color difference components acquired from the calculation unit 103. ) Is supplied to the orthogonal transformation unit 104.
- the control unit 141 includes a bit depth difference calculation unit 151, a bit shift control unit 152, and a weighting factor setting unit 153.
- the bit depth difference calculation unit 151 calculates the difference in bit depth of residual data of each component used for residual prediction.
- the bit depth difference calculation unit 151 may include information indicating the bit depth of the luminance component (for example, bit_depth_luma_minus8) or information including information indicating the bit depth of the luminance component, and the chrominance component (Cb / Cr).
- Information indicating the bit depth (for example, bit_depth_chroma_minus8) or information including the information indicating the bit depth of the color difference component is acquired, and using the information, the operation shown in equation (4) is performed, and the bit depth difference between components Calculate (delta_bitdepth).
- the bit depth difference calculation unit 151 supplies the calculated bit depth difference (delta_bitdepth) to the bit shift control unit 152.
- the bit depth difference calculation unit 151 supplies the calculated bit depth difference (delta_bitdepth) to the prediction unit 142 based on the control of the bit shift control unit 152. For example, in the case of performing right shift of residual data in scaling of bit depth, the bit depth difference calculating unit 151 supplies the calculated bit depth difference (delta_bitdepth) to the right shifting unit 162. Also, in the case of performing left shift of residual data when scaling bit depth, the bit depth difference calculation unit 151 supplies the calculated bit depth difference ( ⁇ delta_bitdepth) to the left shift unit 163.
- the bit shift control unit 152 controls the calculation by the prediction unit 142 based on the value of the bit depth difference (delta_bitdepth) between components supplied from the bit depth difference calculation unit 151. For example, when the bit depth difference (delta_bitdepth) is 0, the bit shift control unit 152 controls (the selection unit 161 of) the prediction unit 142 so as not to perform bit shift (scaling of bit depth) of residual data. . At this time, the bit shift control unit 152 also controls the bit depth difference calculation unit 151 so that the bit depth difference (delta_bitdepth) is not supplied to the prediction unit 142.
- bit shift control unit 152 shifts the residual data to the right (performs scaling of the bit depth), the prediction unit 142 ( Control unit 161). At this time, the bit shift control unit 152 also controls the bit depth difference calculation unit 151 to supply the bit depth difference (delta_bitdepth) to the prediction unit 142 (right shift unit 162).
- bit shift control unit 152 shifts the residual data to the left (performs scaling of the bit depth), the prediction unit 142 ( Control unit 161). At this time, the bit shift control unit 152 also controls the bit depth difference calculation unit 151 to supply the bit depth difference ( ⁇ delta_bitdepth) to the prediction unit 142 (left shift unit 163).
- the bit shift control unit 152 acquires, from the PPS processing unit 132, information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction, and based on the value, performs residual prediction or not. Control the For example, when information for controlling whether or not residual prediction is to be performed indicates that residual prediction is not performed, the bit shift control unit 152 controls the prediction unit 142 and does not perform calculation regarding prediction. Let's do it. Also, in this case, the bit shift control unit 152 controls the bit depth difference calculation unit 151 to stop the supply of the bit depth difference (delta_bitdepth or -delta_bitdepth). Furthermore, in this case, the bit shift control unit 152 controls the weight coefficient setting unit 153 so as not to set the weight coefficient ⁇ .
- information for controlling whether or not residual prediction is to be performed indicates that residual prediction is not performed
- the bit shift control unit 152 controls the prediction unit 142 and does not perform calculation regarding prediction. Let's do it.
- the bit shift control unit 152 controls the prediction unit 142 to perform calculation related to prediction.
- the bit shift control unit 152 controls the bit depth difference calculation unit 151 to supply the bit depth difference (delta_bitdepth or -delta_bitdepth) to the prediction unit 142.
- the bit shift control unit 152 controls the weight coefficient setting unit 153 to set the weight coefficient ⁇ , and supplies the weight coefficient ⁇ to the prediction unit 142 (weight coefficient multiplication unit 164).
- the weighting factor setting unit 153 sets the weighting factor ⁇ according to the control of the bit shift control unit 152.
- the setting method and the value of the weighting factor ⁇ are arbitrary.
- the weight coefficient setting unit 153 may set the weight coefficient ⁇ independently for each component.
- the weighting factor setting unit 153 supplies the weighting factor ⁇ to the prediction unit 142 (weighting factor multiplication unit 164). Also, since this weighting factor ⁇ is also used in residual reconstruction, it is included in the bit stream and provided to the decoding side.
- the prediction unit 142 includes a selection unit 161, a right shift unit 162, a left shift unit 163, a weight coefficient multiplication unit 164, a right shift unit 165, an operation unit 166, and an operation unit 167.
- the selection unit 161 selects the supply destination of the residual data (r ′ Y (x, y)) of the restored luminance component supplied from the inverse orthogonal transform unit 109. For example, when scaling of the bit depth (right shift) is performed, the selection unit 161 supplies the residual data (r ′ Y (x, y)) of the restored luminance component to the right shift unit 162. In this case, the calculation of equation (6) is performed. Also, for example, when scaling of bit depth (left shift) is performed, the selection unit 161 supplies the residual data (r ′ Y (x, y)) of the restored luminance component to the left shift unit 163. In this case, the operation of equation (8) is performed.
- the selection unit 161 supplies the residual data (r ′ Y (x, y)) of the restored luminance component to the weight coefficient multiplication unit 164. In this case, the operation of equation (3) is performed.
- the right shift unit 162 is for the bit depth difference (delta_bitdepth) obtained from the bit depth difference calculation unit 151, for the residual data (r ′ Y (x, y)) of the restored luminance component obtained from the selection unit 161. Perform bit depth scaling by shifting to the right.
- the right shift unit 162 supplies the result of right shift (r ′ Y (x, y) >> delta_bitdepth) of the residual data of the luminance component to the weight coefficient multiplication unit 164.
- the left shift unit 163 acquires the bit depth difference (-delta_bitdepth) acquired from the bit depth difference calculation unit 151 of the residual data (r ′ Y (x, y)) of the restored luminance component acquired from the selection unit 161. Perform bit depth scaling by shifting left by minutes.
- the left shift unit 163 supplies the left shift result (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth) of the residual data of the luminance component to the weight coefficient multiplication unit 164.
- the weighting factor multiplication unit 164 obtains residual data of the restored luminance component from any of the selection unit 161 to the left shift unit 163. For example, the weighting factor multiplication unit 164 obtains, from the selection unit 161, residual data (r ′ Y (x, y)) of the restored luminance component that has not been bit-shifted. Also, for example, the weight coefficient multiplication unit 164 obtains, from the right shift unit 162, the residual data (r ′ Y (x, y) >> delta_bitdepth) of the restored luminance component that has been shifted to the right. Furthermore, for example, the weight coefficient multiplication unit 164 obtains, from the left shift unit 163, the left-shifted residual data (r ′ Y (x, y) ⁇ -delta_bitdepth) of the restored luminance component.
- the weighting factor multiplication unit 164 obtains the weighting factor ⁇ from the weighting factor setting unit 153.
- the weighting factor multiplication unit 164 multiplies the obtained residual data of the restored luminance component by the weighting factor ⁇ , and the multiplication result ( ⁇ ⁇ (r ′ Y (x, y)), ⁇ ⁇ (r ′ Y) (x, y) >> delta_bitdepth) or ⁇ ⁇ (r ′ Y (x, y) ⁇ delta_bitdepth)) is supplied to the right shift unit 165.
- the right shift unit 165 receives the residual data ( ⁇ ⁇ (r ′ Y (x, y)) and ⁇ ⁇ (r ′ Y (x, y) of the restored luminance component supplied from the weight coefficient multiplication unit 164.
- delta_bitdepth or ⁇ ⁇ (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth)
- this bit shift amount is arbitrary, for example, in the case of Equations (3), (6), and (8), the right shift unit 165 shifts the residual data to the right by 3 bits.
- the right shift unit 165 generates the right shift result ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3, or ⁇ ⁇ (R ′ Y (x, y) ⁇ ⁇ delta_bitdepth) >> 3) is supplied to the operation unit 166 or the operation unit 167.
- Arithmetic unit 166 is the residual data of the restored luminance component supplied from right shift unit 165 from the residual data (r Cr (x, y)) of the chrominance component (Cr) supplied from arithmetic unit 103 ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3 or ⁇ ⁇ (r ′ Y (x, y) ⁇ By subtracting ⁇ delta_bitdepth) >> 3), prediction residual data ( ⁇ r Cr (x, y)) of the color difference component (Cr) is generated and supplied to the orthogonal transformation unit 104. When such an operation is not performed, the operation unit 166 supplies the residual data (r Cr (x, y)) of the color difference component (Cr) supplied from the operation unit 103 to the orthogonal transformation unit 104. .
- the calculation unit 167 outputs the rest of the restored luminance component supplied from the right shift unit 165.
- Difference data ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3 or ⁇ ⁇ (r ′ Y (x, y)
- the prediction residual data ( ⁇ r Cb (x, y)) of the color difference component (Cb) is generated by subtracting) ⁇ -delta_bitdepth) >> 3), and this is supplied to the orthogonal transformation unit 104.
- the operation unit 167 supplies the residual data (r Cb (x, y)) of the color difference component (Cb) supplied from the operation unit 103 to the orthogonal transformation unit 104. .
- the residual prediction unit 122 performs the prediction by scaling the bit depth of the residual data of the restored luminance component in the residual prediction. Therefore, the residual prediction unit 122 can correctly calculate the prediction residual data even when the bit depth of the residual data is different between components. Therefore, the image coding apparatus 100 can suppress a reduction in coding efficiency.
- the header processing unit 121 When the encoding process is started, the header processing unit 121 generates header information such as a sequence parameter set (SPS) or a picture parameter set (PPS) in step S101.
- SPS sequence parameter set
- PPS picture parameter set
- the screen rearrangement buffer 102 stores the images of each frame (picture) of the input moving image in the display order, and performs rearrangement to the coding order from the display order of the pictures. .
- step S103 the intra prediction unit 113 performs intra prediction processing in the intra prediction mode.
- step S104 the inter prediction unit 114 performs inter prediction processing that performs motion prediction, motion compensation, and the like in the inter prediction mode.
- step S105 the predicted image selection unit 115 selects one of the predicted image generated by the intra prediction of step S103 and the predicted image generated by the inter prediction of step S104 based on the cost function value or the like. .
- step S106 the computing unit 103 computes the difference between the input image whose frame order has been rearranged in the process of step S102 and the predicted image selected in the process of step S105. That is, the computing unit 103 generates residual data of the input image and the predicted image.
- the residual data thus obtained has a reduced amount of data as compared to the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
- step S107 the residual prediction unit 122 performs residual prediction on the residual data of the color difference component obtained by the process of step S106 using the residual data of the luminance component. At that time, the residual prediction unit 122 performs prediction by aligning bit depths of residual data among components. Details of this process will be described later.
- step S108 the orthogonal transformation unit 104 orthogonally transforms the residual data of the luminance component generated by the process of step S106, and the prediction residual data of the chrominance component generated by the process of step S107.
- step S109 the quantization unit 105 quantizes the orthogonal transformation coefficient obtained by the process of step S108 using the quantization parameter calculated by the rate control unit 116.
- step S110 the inverse quantization unit 108 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process of step S109 with a characteristic corresponding to the characteristic of the quantization.
- the quantized coefficient also referred to as a quantization coefficient
- step S111 the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S108.
- step S112 the residual reconstruction unit 123 reconstructs the residual data of the chrominance component using the residual data of the luminance component and the prediction residual data of the chrominance component reconstructed by the processing of step S111.
- the residual restoration unit 123 performs restoration by aligning bit depths of residual data among components. Details of this process will be described later.
- step S113 the calculation unit 110 adds the predicted image selected in the process of step S105 to the residual data of each component restored by the processes of steps S111 and S112, thereby generating image data of a reconstructed image.
- step S114 the loop filter 111 performs loop filter processing on the image data of the reconstructed image generated by the processing of step S113. Thereby, block distortion etc. of the reconstructed image are removed.
- step S115 the frame memory 112 stores the locally decoded decoded image obtained by the process of step S114.
- step S116 the lossless encoding unit 106 encodes the quantized coefficient obtained by the process of step S109. That is, lossless coding such as variable length coding or arithmetic coding is performed on data corresponding to residual data.
- the lossless encoding unit 106 encodes information on the prediction mode of the prediction image selected in the process of step S105, and adds the information to encoded data obtained by encoding a differential image. That is, the lossless encoding unit 106 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 113 or the information corresponding to the optimal inter prediction mode supplied from the inter prediction unit 114, etc. Add
- step S117 the accumulation buffer 107 accumulates the encoded data and the like obtained by the process of step S116.
- the encoded data and the like stored in the storage buffer 107 are appropriately read as a bit stream, and transmitted to the decoding side via a transmission path or a recording medium.
- step S118 the rate control unit 116 prevents the overflow or underflow from occurring on the basis of the code amount (generated code amount) such as the encoded data accumulated in the accumulation buffer 107 by the process of step S117. Control the rate of the quantization process.
- step S118 ends, the encoding process ends.
- the bit depth difference calculation unit 151 calculates the difference in bit depth between components that perform residual prediction. That is, the bit depth difference calculation unit 151 performs the calculation of Expression (4) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S122 the bit shift control unit 152 determines whether the bit depth difference (delta_bitdepth) calculated in step S121 is zero. If it is determined that the value is 0, the process proceeds to step S123. In this case, no bit shift is performed, and residual prediction is performed as shown in equation (3).
- step S123 the bit shift control unit 152 determines whether to perform residual prediction based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether to perform residual prediction. judge. For example, if the value of luma_chroma_prediction_enabled_flag is 1 and it is determined that residual prediction is to be performed, the process proceeds to step S124.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S124 the weighting factor setting unit 153 sets the weighting factor ⁇ for each TU.
- step S125 the prediction unit 142 performs prediction between residual data components (residual prediction) without scaling the bit depth. Details of this process will be described later.
- step S125 When the residual prediction in step S125 ends, the residual prediction process ends, and the process returns to FIG.
- step S123 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed, the processing in steps S124 and S125 is omitted, and the residual prediction processing ends, and the processing is shown in FIG. Go back to 5.
- step S122 When it is determined in step S122 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S126.
- step S126 the bit shift control unit 152 determines whether the bit depth difference (delta_bitdepth) calculated in step S121 is positive. If it is determined to be positive, the process proceeds to step S127. In this case, residual prediction is performed as in equation (6) (scaling is performed by right shift).
- step S127 the bit shift control unit 152 determines whether to perform residual prediction based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether to perform residual prediction. judge. For example, if the value of luma_chroma_prediction_enabled_flag is 1 and it is determined that residual prediction is to be performed, the process proceeds to step S128.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S128 the weighting factor setting unit 153 sets the weighting factor ⁇ for each TU.
- step S129 the prediction unit 142 performs bit depth scaling by right shifting, and performs prediction between components of residual data (residual prediction). Details of this process will be described later.
- step S127 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed, the processing of steps S128 and S129 is omitted, and the residual prediction processing is completed, and the processing is shown in FIG. Go back to 5.
- step S126 When it is determined in step S126 that the bit depth difference (delta_bitdepth) is not positive (is negative), the process proceeds to step S130. In this case, residual prediction is performed as in equation (8) (scaling is performed by left shift).
- step S130 the bit shift control unit 152 determines whether to perform residual prediction based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether to perform residual prediction. judge. For example, if the value of luma_chroma_prediction_enabled_flag is 1 and it is determined that residual prediction is to be performed, the process proceeds to step S131.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S131 the weighting factor setting unit 153 sets the weighting factor ⁇ for each TU.
- step S132 the prediction unit 142 performs bit depth scaling by left shift to perform prediction between residual data components (residual prediction). Details of this process will be described later.
- step S132 When the residual prediction in step S132 ends, the residual prediction process ends, and the process returns to FIG.
- step S130 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed, the processing of steps S131 and S132 is omitted, and the residual prediction processing is completed, and the processing is shown in FIG. Go back to 5.
- step S141 the weighting factor multiplication unit 164 of the prediction unit 142 generates the residual data (r ′ Y (x, y)) of the restored luminance component as shown in FIG.
- the weighting factor ⁇ set in the process of step S124 of (a) is multiplied by ( ⁇ ⁇ r ′ Y (x, y)).
- step S142 the right shift unit 165 right shifts the multiplication result ( ⁇ ⁇ r ′ Y (x, y)) calculated in step S141 by 3 bits (( ⁇ ⁇ r ′ Y (x, y))>> 3).
- step S143 the calculation unit 166 calculates the right shift result (( ⁇ ⁇ r ′ Y (x, y)) calculated in step S142 from the residual data (r Cr (x, y)) of the luminance component Cr> Generate prediction residual data ( ⁇ r Cr (x, y)) by subtracting (r Cr (x, y)-( ⁇ ⁇ r ′ Y (x, y)) >> 3) by subtracting> 3) .
- the calculation unit 167 calculates the right shift result (( ⁇ ⁇ r ′ Y (x, y)) >> 3 calculated in step S 142 from the residual data (r Cb (x, y)) of the luminance component Cb.
- the prediction residual data ( ⁇ r Cb (x, y)) is generated by subtracting (r Cb (x, y) ⁇ ( ⁇ ⁇ r ′ Y (x, y)) >> 3).
- step S151 the right shift unit 162 of the prediction unit 142 generates the residual data (r ′ Y (x, y)) of the restored luminance component as shown in FIG.
- the bit depth difference (delta_bitdepth) of the residual data calculated by the process of step S121 is shifted to the right (r ' Y (x, y) >> delta_bitdepth).
- step S152 the weighting factor multiplication unit 164 sets the weighting factor ⁇ set by the process of step S128 of FIG. 6 to the right shift result (r ′ Y (x, y) >> delta_bitdepth) calculated in step S151. Multiply ( ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth)).
- step S153 the right-shift unit 165, the multiplication result calculated at step S152 ( ⁇ ⁇ (r 'Y (x, y) >> delta_bitdepth)) three bit right shift of ( ⁇ ⁇ (r' Y ( x , y) >> delta_bitdepth) >> 3).
- step S154 the calculation unit 166 calculates the right shift result ( ⁇ ⁇ (r ′ Y (x, y) >>) calculated in step S153 from the residual data (r Cr (x, y)) of the luminance component Cr. delta_bitdepth) >> 3) by subtracting the (r Cr (x, y) - ⁇ ⁇ (r 'Y (x, y) >> delta_bitdepth) >> 3), the prediction residual data ( ⁇ r Cr (x, y)) is generated.
- the calculation unit 167 calculates the right shift result ( ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) calculated in step S 153 from the residual data (r Cb (x, y)) of the luminance component Cb. >> 3) by subtracting (r Cb (x, y)- ⁇ x (r ' Y (x, y) >> delta_bitdepth) >> 3), prediction residual data ( ⁇ r Cb (x, y) Generate).
- step S161 the left shift unit 163 of the prediction unit 142 generates the residual data (r ′ Y (x, y)) of the restored luminance component as shown in FIG.
- the left shift is performed by the bit depth difference ( ⁇ delta_bitdepth) of the residual data calculated by the process of step S121 (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth).
- step S162 the weighting factor multiplication unit 164 sets the weighting factor ⁇ set in the process of step S131 in FIG. 6 to the left shift result (r ′ Y (x, y) ⁇ -delta_bitdepth) calculated in step S161. ( ⁇ ⁇ (r ′ Y (x, y) ⁇ -delta_bitdepth)).
- step S163 the right shift unit 165 right shifts the multiplication result ( ⁇ ⁇ (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth)) calculated in step S162 by 3 bits ( ⁇ ⁇ (r ′ Y ( x, y) ⁇ -delta_bitdepth) >> 3).
- step S164 the calculation unit 166 calculates the right shift result ( ⁇ ⁇ (r ′ Y (x, y) ⁇ ) calculated in step S153 from the residual data (r Cr (x, y)) of the luminance component Cr. -delta_bitdepth) >> 3) by subtracting the (r Cr (x, y) - ⁇ ⁇ (r 'Y (x, y) ⁇ - delta_bitdepth) >> 3), the prediction residual data ([Delta] r Cr ( Generate x, y)).
- the calculation unit 167 calculates the right shift result ( ⁇ ⁇ (r ′ Y (x, y) ⁇ -delta_bitdepth) calculated in step S163 from the residual data (r Cb (x, y)) of the luminance component Cb. (3) by subtracting 3), (r Cb (x, y)- ⁇ x (r ' Y (x, y) ⁇ -delta_bitdepth) >> 3), prediction residual data ( ⁇ r Cb (x, y) y)) is generated.
- the residual prediction unit 122 can correctly calculate the prediction residual data even when the bit depth of the residual data is different between components. Therefore, the image coding apparatus 100 can suppress a reduction in coding efficiency.
- bit depths are also used in residual restoration corresponding to the residual predictions.
- the components may be aligned to restore residual data of chrominance components. By doing this, even if the bit depth of the residual data differs between components, the bit depth of the residual data of each component can be aligned and restored, so correct residual restoration be able to. Therefore, a reduction in coding efficiency can be suppressed.
- the method of making the bit depths of residual data uniform among components is arbitrary, it may be performed in the same manner as in residual prediction.
- the bit depth of residual data may be made to be uniform between components by bit shifting residual data. By doing this, it is possible to easily align the bit depth of residual data between components. That is, the processing load and processing time can be reduced.
- the color space of the image for aligning the bit depths of the residual data is arbitrary.
- it may be YUV space (YUV 444 or the like) or RGB space (RGB 444 or the like).
- restoration may be performed by aligning bit depths of residual data by bit shift between the luminance component and the color difference component. More specifically, for example, restoration may be performed after the bit depth of the luminance component is aligned with the bit depth of the color difference component by bit shift.
- the bit depth of the residual data may be aligned by bit shift between the G component and the R component or the B component to perform restoration. More specifically, for example, restoration may be performed after the bit depth of the G component is adjusted to the bit depth of the R component or the B component by bit shift.
- the shift operation method for aligning the bit depths as described above is arbitrary.
- Information on the bit depth of residual data of each component is transmitted from the encoding side, and prediction is performed between two components based on the information on the bit depth of residual data of each component transmitted from the encoding side
- the bit depths of the residual data may be made uniform by finding the bit depth difference of and performing bit shift based on the found bit depth difference. Then, if the difference in bit depth between the two components is not zero, the bit depth of the residual data may be aligned between components by bit shift and restoration may be performed.
- the difference (bit depth difference) of bit depths of residual data between components is obtained as in the above equation (10), and the difference in bit depth difference is obtained as in equations (11) to (14).
- bit shifting may be performed for the absolute value of the bit depth difference, as in equation (12) or (14).
- the shift direction may be determined as in equation (12) or equation (14), depending on whether the condition in equation (11) or equation (13) is satisfied.
- the bit depth (BitDepthY) of the residual data (r L (x, y)) of the luminance component (Y) is the residual data (r c (x, y) of the chrominance component (Cb or Cr)
- the restoration is performed with the bit depth (BitDepthC) of). More specifically, the difference in bit depth between two components performing restoration is determined, and bit shift according to the difference in bit depth to the restored residual data of one of the two components.
- the bit-shifted residual data is multiplied by a predetermined weighting coefficient, and the multiplication result is bit-shifted by a predetermined number of bits, and the bit-shifted multiplication result and the prediction residual data
- the residual data of the other component is restored by adding.
- the restoration may be performed as described above.
- FIG. 10 is a block diagram showing a main configuration example of an image decoding device corresponding to the image coding device 100 of FIG. 3 which is an aspect of the image processing device to which the present technology is applied.
- the image decoding apparatus 200 shown in FIG. 10 decodes the encoded data generated by the image encoding apparatus 100 by a decoding method corresponding to the encoding method.
- the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a loop filter 206, and a screen rearrangement buffer 207. .
- the image decoding apparatus 200 further includes a frame memory 209, an intra prediction unit 210, an inter prediction unit 211, and a predicted image selection unit 212.
- the image decoding apparatus 200 includes a header acquisition unit 221 and a residual restoration unit 222.
- the accumulation buffer 201 is also a receiving unit that receives the encoded data transmitted from the encoding side (for example, the image encoding device 100).
- the accumulation buffer 201 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
- Information necessary for decoding such as prediction mode information is added to the encoded data.
- the lossless decoding unit 202 decodes the information encoded by the lossless encoding unit 106 supplied from the accumulation buffer 201 using a decoding method corresponding to the encoding method.
- the lossless decoding unit 202 supplies the quantized coefficient data obtained by the decoding to the inverse quantization unit 203.
- the lossless decoding unit 202 determines whether the intra prediction mode is selected or the inter prediction mode is selected as the optimal prediction mode, and information on the optimal prediction mode can be obtained by comparing the intra prediction unit 210 and the inter prediction unit 211.
- the mode is determined to be selected. That is, for example, when the intra prediction mode is selected as the optimum prediction mode in the image coding apparatus 100, information on the optimum prediction mode is supplied to the intra prediction unit 210. Also, for example, when the inter prediction mode is selected as the optimum prediction mode in the image coding apparatus 100, information on the optimum prediction mode is supplied to the inter prediction unit 211.
- the lossless decoding unit 202 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 203, for example.
- the lossless decoding unit 202 supplies header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header to the header acquisition unit 221.
- SPS sequence parameter set
- PPS picture parameter set
- slice header a slice header
- the inverse quantization unit 203 inversely quantizes the quantized coefficient data obtained by being decoded by the lossless decoding unit 202, using a method corresponding to the quantization method of the quantization unit 105.
- this inverse quantization unit 203 is a processing unit similar to the inverse quantization unit 108. That is, the description of the dequantization unit 203 can be applied to the dequantization unit 108 as well. However, it is necessary to change and read data input / output destinations and the like according to the apparatus as appropriate.
- the inverse quantization unit 203 supplies the obtained coefficient data to the inverse orthogonal transform unit 204.
- the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 203 according to a scheme corresponding to the orthogonal transformation scheme of the orthogonal transformation unit 104 as necessary.
- the inverse orthogonal transform unit 204 is a processing unit similar to the inverse orthogonal transform unit 109. That is, the description of the inverse orthogonal transform unit 204 can be applied to the inverse orthogonal transform unit 109 as well. However, it is necessary to change and read data input / output destinations and the like according to the apparatus as appropriate.
- the inverse orthogonal transformation unit 204 obtains residual data and prediction residual data corresponding to the state before orthogonal transformation in the image coding apparatus 100 by this inverse orthogonal transformation processing.
- the residual data and the prediction residual data obtained by the inverse orthogonal transformation are supplied to the residual reconstruction unit 222.
- the computing unit 205 obtains residual data of each component restored from the residual restoring unit 222. Also, the calculation unit 205 acquires a prediction image from the intra prediction unit 210 or the inter prediction unit 211 via the prediction image selection unit 212. The calculation unit 205 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the calculation unit 103 subtracts the prediction image. The operation unit 205 supplies the reconstructed image to the loop filter 206 and the intra prediction unit 210.
- the loop filter 206 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing and the like on the supplied reconstructed image to generate a decoded image.
- the loop filter 206 removes block distortion by performing deblocking filter processing on the reconstructed image.
- the loop filter 206 improves the image quality by performing a loop filter process on the deblock filter process result (reconstructed image from which block distortion has been removed) using a Wiener filter. I do.
- the type of filter processing performed by the loop filter 206 is arbitrary, and filter processing other than that described above may be performed.
- the loop filter 206 may perform the filtering process using the filter coefficient supplied from the image coding apparatus 100.
- the loop filter 206 supplies the decoded image which is the filter processing result to the screen rearrangement buffer 207 and the frame memory 209.
- the screen rearrangement buffer 207 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 is rearranged in the order of the original display.
- the screen rearrangement buffer 207 outputs the decoded image data in which the order of the frames is rearranged to the outside of the image decoding apparatus 200.
- the frame memory 209 stores the supplied decoded image, and at the predetermined timing or based on an external request from the inter prediction unit 211 or the like, the inter prediction unit 211 uses the stored decoded image as a reference image. Supply.
- the intra prediction unit 210 performs intra prediction using the reference image acquired from the frame memory 209 in the intra prediction mode used in the intra prediction unit 113, and generates a prediction image.
- the intra prediction unit 210 supplies the generated predicted image to the predicted image selection unit 212.
- the inter prediction unit 211 acquires information (optimum prediction mode information, reference image information, and the like) obtained by decoding the header information from the lossless decoding unit 202.
- the inter prediction unit 211 performs inter prediction using the reference image acquired from the frame memory 209 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 202, and generates a prediction image.
- the prediction image selection unit 212 supplies the prediction image from the intra prediction unit 210 or the prediction image from the inter prediction unit 211 to the calculation unit 205. Then, the operation unit 205 adds the predicted image generated using the motion vector and the decoded residual data (difference image information) from the residual restoring unit 222 to decode the original image.
- the header acquisition unit 221 losslessly decodes the header information transmitted from the encoding side, such as, for example, a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an SEI, and a slice header. To get through.
- the header acquisition unit 221 supplies necessary information from the acquired header information to the residual recovery unit 222. Details will be described later.
- the residual restoration unit 222 restores the residual data of the chrominance component using the residual data of the luminance component and the prediction residual data of the chrominance component supplied from the inverse orthogonal transformation unit 204 (also referred to as residual reconstruction) ). At that time, the residual restoration unit 222 performs restoration by aligning the bit depths of the residual data among the components.
- the residual reconstruction unit 222 is a processing unit similar to the residual reconstruction unit 123. That is, the description of the residual reconstruction unit 222 can be applied to the residual reconstruction unit 123 as well. However, it is necessary to change and read data input / output destinations and the like according to the apparatus as appropriate.
- FIG. 11 is a block diagram showing an example of a main configuration of the header acquisition unit 221 and the residual reconstruction unit 222 in FIG.
- the header acquisition unit 221 includes an SPS acquisition unit 231, a PPS acquisition unit 232, and a weighting factor acquisition unit 233.
- the SPS acquisition unit 231 includes information indicating the bit depth of the luminance component (for example, bit_depth_luma_minus8) included in the sequence parameter set (SPS) supplied from the encoding side, or information including information indicating the bit depth of the luminance component, and the color difference.
- Information indicating the bit depth of the component (Cb / Cr) for example, bit_depth_chroma_minus8) or information including information indicating the bit depth of the color difference component is acquired, and supplied to the residual reconstruction unit 222 (bit depth difference calculation unit 251 described later) Do.
- the PPS acquisition unit 232 includes information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not residual prediction is included, which is included in the picture parameter set (PPS) supplied from the encoding side, to the residual restoration unit 222 (bit shift described later). It supplies to control part 252).
- information for example, luma_chroma_prediction_enabled_flag
- the weighting factor acquisition unit 233 supplies the weighting factor ⁇ supplied from the encoding side or information including the weighting factor ⁇ to the residual reconstruction part 222 (weighting factor multiplication part 264 described later).
- the residual reconstruction unit 222 supplies the residual data (r ′ Y (x, y)) of the reconstructed luminance component supplied from the inverse orthogonal transformation unit 204 to the arithmetic unit 205. Further, the residual reconstruction unit 222 includes a control unit 241 and a reconstruction unit 242. The control unit 241 performs processing related to control of calculation regarding residual recovery. The restoration unit 242 is controlled by the control unit 241 to perform an operation related to the residual restoration. For example, using the residual data (r ′ Y (x, y)) of the restored luminance component acquired from the inverse orthogonal transformation unit 204 based on the control of the control unit 241, the reconstruction unit 242 performs inverse orthogonalization.
- the residual data (r ′ Cr (x) of the chrominance component is extracted from the prediction residual data ( ⁇ r ′ Cr (x, y) and ⁇ r ′ Cb (x, y)) of the reconstructed chrominance component acquired from the conversion unit 204. , y) and r ' Cb (x, y)).
- the reconstruction unit 242 supplies the reconstructed residual data (r ′ Cr (x, y) and r ′ Cb (x, y)) of the color difference component to the arithmetic unit 205.
- the residual reconstruction unit 222 is controlled by the control unit 241, and residual data of the reconstructed chrominance component (r ′ Cr (x, x) acquired from the inverse orthogonal transformation unit 204 without performing residual reconstruction. y) and r ′ Cb (x, y)) are supplied to the operation unit 205.
- the control unit 241 includes a bit depth difference calculation unit 251 and a bit shift control unit 252.
- the bit depth difference calculation unit 251 calculates the difference in bit depth of residual data of each component used for residual prediction. For example, from the SPS acquisition unit 231, the bit depth difference calculation unit 251 may use information indicating the bit depth of the luminance component (for example, bit_depth_luma_minus8) or information including information indicating the bit depth of the luminance component, and the chrominance component (Cb / Cr). Information indicating the bit depth (for example, bit_depth_chroma_minus8) or information including the information indicating the bit depth of the color difference component is acquired, and using the information, the operation shown in equation (4) is performed, and the bit depth difference between components Calculate (delta_bitdepth). The bit depth difference calculation unit 251 supplies the calculated bit depth difference (delta_bitdepth) to the bit shift control unit 252.
- information indicating the bit depth of the luminance component for example, bit_depth_luma_minus8 or information including information indicating the bit depth of the luminance component, and the chrominance component (Cb / Cr).
- the bit depth difference calculation unit 251 supplies the calculated bit depth difference (delta_bitdepth) to the restoration unit 242 based on the control of the bit shift control unit 252. For example, in the case of performing right shift of residual data at the time of scaling of bit depth, the bit depth difference calculating unit 251 supplies the calculated bit depth difference (delta_bitdepth) to the right shifting unit 262. In addition, in the case of performing left shift of residual data in scaling of bit depth, the bit depth difference calculating unit 251 supplies the calculated bit depth difference ( ⁇ delta_bitdepth) to the left shifting unit 263.
- the bit shift control unit 252 controls the operation of the restoration unit 242 based on the value of the bit depth difference (delta_bitdepth) between components supplied from the bit depth difference calculation unit 251. For example, when the bit depth difference (delta_bitdepth) is 0, the bit shift control unit 252 controls (the selecting unit 261 of) the restoring unit 242 so that bit shifting (scaling of bit depth) of residual data is not performed. . At this time, the bit shift control unit 252 also controls the bit depth difference calculating unit 251 so that the bit depth difference (delta_bitdepth) is not supplied to the restoring unit 242.
- bit shift control unit 252 shifts the residual data to the right (performs scaling of the bit depth), as shown in FIG. Control unit 261). At this time, the bit shift control unit 252 also controls the bit depth difference calculation unit 251 to supply the bit depth difference (delta_bitdepth) to the restoration unit 242 (right shift unit 262).
- bit shift control unit 252 shifts the residual data to the left (performs scaling of the bit depth), as shown in FIG. Control unit 261). At this time, the bit shift control unit 252 also controls the bit depth difference calculation unit 251 to supply the bit depth difference ( ⁇ delta_bitdepth) to the restoration unit 242 (left shift unit 263).
- the bit shift control unit 252 acquires, from the PPS acquisition unit 232, information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction supplied from the encoding side, and based on the value. , Control whether to perform residual reconstruction. For example, when it is indicated that information not to perform residual prediction is not to be performed (that is, it is also indicated to not to perform residual restoration), the bit shift control unit 252 Controls the restoration unit 242 so as not to perform an operation related to restoration. Also, in this case, the bit shift control unit 252 controls the bit depth difference calculation unit 251 to stop the supply of the bit depth difference (delta_bitdepth or -delta_bitdepth). Furthermore, in this case, the bit shift control unit 252 controls the weighting factor acquisition unit 233 so as not to acquire the weighting factor ⁇ .
- information for example, luma_chroma_prediction_enabled_flag
- the bit shift control unit 252 determines Control and let it perform operations related to restoration. Also, in this case, the bit shift control unit 252 controls the bit depth difference calculation unit 251 to supply the bit depth difference (delta_bitdepth or -delta_bitdepth) to the reconstruction unit 242. Furthermore, in this case, the bit shift control unit 252 controls the weighting coefficient acquisition unit 233 to acquire the weighting coefficient ⁇ , and supplies the weighting coefficient ⁇ to the restoration unit 242 (weight coefficient multiplication unit 264).
- the restoration unit 242 basically has the same configuration as the prediction unit 142 in order to perform basically the same operation as the calculation by the prediction unit 142. That is, the restoration unit 242 includes a selection unit 261, a right shift unit 262, a left shift unit 263, a weight coefficient multiplication unit 264, a right shift unit 265, an operation unit 266, and an operation unit 267.
- the selection unit 261 receives the control of the bit shift control unit 252, and similarly to the selection unit 161, the residual data (r ′ Y (x, y)) of the restored luminance component supplied from the inverse orthogonal transformation unit 204. Select the supply destination of For example, when scaling of the bit depth (right shift) is performed, the selection unit 261 supplies the residual data (r ′ Y (x, y)) of the restored luminance component to the right shift unit 262. In this case, an operation corresponding to equation (6) is performed. In addition, for example, when scaling (left shift) of bit depth is performed, the selection unit 261 supplies the residual data (r ′ Y (x, y)) of the restored luminance component to the left shift unit 263.
- an operation corresponding to equation (8) is performed. Furthermore, for example, when scaling of bit depth is not performed, the selection unit 261 supplies the weight coefficient multiplication unit 264 with residual data (r ′ Y (x, y)) of the restored luminance component. In this case, an operation corresponding to equation (3) is performed.
- the right shift unit 262 is for the bit depth difference (delta_bitdepth) obtained from the bit depth difference calculation unit 251, for the residual data (r ′ Y (x, y)) of the restored luminance component obtained from the selection unit 261. Perform bit depth scaling by shifting to the right.
- the right shift unit 262 supplies the result of right shift (r ′ Y (x, y) >> delta_bitdepth) of the residual data of the luminance component to the weight coefficient multiplication unit 264.
- the left shift unit 263 acquires the bit depth difference (-delta_bitdepth) acquired from the bit depth difference calculation unit 251 of the residual data (r ' Y (x, y)) of the restored luminance component acquired from the selection unit 261. Perform bit depth scaling by shifting left by minutes.
- the left shift unit 263 supplies the left shift result (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth) of the residual data of the luminance component to the weight coefficient multiplication unit 264.
- the weighting factor multiplication unit 264 obtains residual data of the restored luminance component from any of the selection unit 261 to the left shift unit 263. For example, the weight coefficient multiplying unit 264 obtains, from the selecting unit 261, residual data (r ′ Y (x, y)) of the restored luminance component that has not been bit-shifted. Also, for example, the weighting factor multiplication unit 264 acquires, from the right shift unit 262, the residual data (r ′ Y (x, y) >> delta_bitdepth) of the restored luminance component that has been shifted to the right. Furthermore, for example, the weighting factor multiplication unit 264 obtains, from the left shift unit 263, left-shifted residual data (r ′ Y (x, y) ⁇ -delta_bitdepth) of the restored luminance component.
- the weight coefficient multiplication unit 264 obtains the weight coefficient ⁇ via the weight coefficient acquisition unit 233.
- the weighting factor multiplication unit 264 multiplies the obtained residual data of the restored luminance component by the weighting factor ⁇ , and the multiplication result ( ⁇ ⁇ (r ′ Y (x, y)), ⁇ ⁇ (r ′ Y)
- the right shift unit 265 is supplied with (x, y) >> delta_bitdepth) or ⁇ ⁇ (r ′ Y (x, y) ⁇ delta_bitdepth)).
- the right shift unit 265 receives the residual data ( ⁇ ⁇ (r ′ Y (x, y)) and ⁇ ⁇ (r ′ Y (x, y) of the restored luminance component supplied from the weight coefficient multiplication unit 264.
- delta_bitdepth or ⁇ ⁇ (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth)
- This bit shift amount is arbitrary as long as it is the same as that on the encoding side. For example, in the case of Expression (3), Expression (6), and Expression (8), the right shift unit 265 shift.
- the right shift unit 265 generates the right shift result ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3, or ⁇ ⁇ (R ′ Y (x, y) ⁇ ⁇ delta_bitdepth) >> 3) is supplied to the operation unit 266 or the operation unit 267.
- the arithmetic unit 266 is supplied from the right shift unit 265 to the predicted residual data ( ⁇ r ′ Cr (x, y)) of the chrominance component (Cr) supplied from the inverse orthogonal transformation unit 204 and restored. Residual data of the luminance component ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3, or ⁇ ⁇ (r ′ The residual data of the color difference component (Cr) is restored by adding Y (x, y) ⁇ -delta bit depth) >> 3) (r ' Cr (x, y)) Supply.
- the arithmetic unit 266 calculates the residual data (r ′ Cr (x, y)) of the color difference component (Cr) supplied from the inverse orthogonal transformation unit 204.
- the information is supplied to the arithmetic unit 205.
- the calculation unit 267 supplies the restored prediction residual data ( ⁇ r ′ Cb (x, y)) of the chrominance component (Cb) supplied from the inverse orthogonal transformation unit 204 from the right shift unit 265, Residual data of the restored luminance component ( ⁇ ⁇ (r ′ Y (x, y)) >> 3, ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) >> 3 or ⁇ ⁇ ( The residual data of the chrominance component (Cb) is restored by adding r ' Y (x, y) ⁇ -delta_bitdepth) >> 3) (r' Cb (x, y)) Supply to 205.
- the calculation unit 267 calculates the restored residual data (r ' Cb (x, y)) of the color difference component (Cb) supplied from the inverse orthogonal transformation unit 204.
- the information is supplied to the arithmetic unit 205.
- the residual reconstruction unit 222 performs the reconstruction by scaling the bit depth of the residual data of the reconstructed luminance component in the residual reconstruction. Therefore, even if the bit depth of the residual data differs between components, the residual restoration unit 222 can correctly restore the residual data. Therefore, the image decoding apparatus 200 can suppress the reduction in the coding efficiency.
- step S201 the accumulation buffer 201 accumulates the transmitted bit stream.
- step S202 the lossless decoding unit 202 decodes the bit stream supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 are decoded. At this time, various information other than the image information included in the bit stream such as header information is also decoded.
- step S203 the inverse quantization unit 203 inversely quantizes the quantized coefficient obtained by the process of step S202.
- step S204 the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S203. By this processing, residual data of the luminance component and prediction residual data of the chrominance component are restored.
- step S205 the residual reconstruction unit 222 performs residual reconstruction processing to reconstruct residual data of chrominance components using the residual data of the reconstructed luminance component and the prediction residual data of the reconstructed chrominance components. Do. Details of this process will be described later.
- the intra prediction unit 210 or the inter prediction unit 211 performs a prediction process to generate a predicted image. That is, prediction processing is performed in the prediction mode applied at the time of encoding determined by the lossless decoding unit 202. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 210 generates a prediction image in the intra prediction mode which is determined to be optimal at the time of encoding. Also, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 211 generates a predicted image in the inter prediction mode that is determined to be optimal at the time of encoding.
- step S207 the computing unit 205 adds the predicted image generated in step S206 to the residual data restored by the processing in steps S204 and S205. This provides a reconstructed image.
- step S208 the loop filter 206 appropriately performs loop filter processing including deblocking filter processing, adaptive loop filter processing, and the like on the reconstructed image obtained by the processing in step S207.
- step S209 the screen rearrangement buffer 207 rearranges the frames of the decoded image obtained by the process of step S208. That is, the order of the frames rearranged during encoding is rearranged to the original display order.
- the decoded image in which the frames are rearranged is output to the outside of the image decoding apparatus 200.
- step S210 the frame memory 209 stores the decoded image obtained by the process of step S208.
- step S210 ends, the decoding process ends.
- the bit depth difference calculation unit 251 includes information (for example, bit_depth_luma_minus8) indicating the bit depth of the luminance component included in the sequence parameter set transmitted from the encoding side.
- Information for example, bit_depth_chroma_minus8) indicating the bit depth of the color difference component (Cb / Cr) is acquired via the SPS acquisition unit 231, and using them, the difference in bit depth between components for which residual prediction is performed is calculated.
- the bit depth difference calculation unit 151 calculates Expression (10) to calculate the bit depth difference (delta_bitdepth) between the luminance component (Y) and the color difference component (Cr or Cb).
- the bit depth difference (delta_bitdepth) is calculated.
- step S222 the bit shift control unit 252 determines whether the bit depth difference (delta_bitdepth) calculated in step S221 is zero. If it is determined that the value is 0, the process proceeds to step S223. In this case, no bit shift is performed, and residual reconstruction is performed as shown in equation (9).
- step S223 the bit shift control unit 252 performs residual prediction on the encoding side based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether or not to perform residual prediction. It is determined whether or not it has been done. For example, if it is determined that the value of luma_chroma_prediction_enabled_flag is 1 and residual prediction has been performed, the process proceeds to step S224.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S224 the weighting factor acquisition unit 233 acquires the weighting factor ⁇ for each TU.
- step S225 the reconstruction unit 242 performs reconstruction (residual reconstruction) of residual data of color difference components without scaling the bit depth. Details of this process will be described later.
- step S225 When the residual restoration in step S225 ends, the residual restoration process ends, and the process returns to FIG.
- step S223 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed on the encoding side, the processing of steps S224 and S225 is omitted, and residual restoration processing is performed. The process ends, and the process returns to FIG.
- step S222 When it is determined in step S222 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S226.
- step S226 the bit shift control unit 252 determines whether the bit depth difference (delta_bitdepth) calculated in step S221 is positive. If it is determined to be positive, the process proceeds to step S227. In this case, residual reconstruction is performed as in equation (12) (scaling by right shift is performed).
- step S227 the bit shift control unit 252 performs residual prediction on the encoding side based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether or not to perform residual prediction. It is determined whether or not it has been done. For example, when it is determined that the value of luma_chroma_prediction_enabled_flag is 1 and residual prediction has been performed, the processing proceeds to step S228.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S229 the restoration unit 242 performs bit depth scaling by right shift, and performs restoration (residual restoration) of residual data of color difference components. Details of this process will be described later.
- step S229 ends, the residual restoration processing ends, and the process returns to FIG.
- step S227 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed on the encoding side, the processing of steps S228 and S229 is omitted, and residual restoration processing is performed. The process ends, and the process returns to FIG.
- step S226 When it is determined in step S226 that the bit depth difference (delta_bitdepth) is not positive (is negative), the process proceeds to step S230. In this case, residual prediction is performed as in equation (14) (scaling is performed by left shift).
- step S230 the bit shift control unit 252 performs residual prediction on the encoding side based on information (for example, luma_chroma_prediction_enabled_flag) or the like included in the picture parameter set (PPS) for controlling whether or not to perform residual prediction. It is determined whether or not it has been done. For example, when it is determined that the value of luma_chroma_prediction_enabled_flag is 1 and residual prediction has been performed, the processing proceeds to step S231.
- information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- step S231 the weighting factor acquisition unit 233 acquires the weighting factor ⁇ for each TU.
- step S232 the restoration unit 242 performs bit depth scaling by left shift, and performs restoration (residual restoration) of residual data of the chrominance signal. Details of this process will be described later.
- step S232 When the residual restoration in step S232 ends, the residual restoration process ends, and the process returns to FIG.
- step S230 when the value of luma_chroma_prediction_enabled_flag is 0 and it is determined that residual prediction is not performed on the encoding side, the processing of steps S231 and S232 is omitted, and residual restoration processing is performed. The process ends, and the process returns to FIG.
- step S241 the weighting factor multiplication unit 264 of the restoration unit 242 generates the residual data (r ′ Y (x, y)) of the restored luminance component as shown in FIG.
- the weighting factor ⁇ acquired by the process of step S224 is multiplied ( ⁇ ⁇ r ′ Y (x, y)).
- step S 242 the right shift unit 265 right shifts the multiplication result ( ⁇ ⁇ r ′ Y (x, y)) calculated in step S 241 by 3 bits (( ⁇ ⁇ r ′ Y (x, y))>> 3).
- step S243 the operation unit 266 adds the right shift result (( ⁇ ⁇ r ′ Y (x) calculated in step S242 to the prediction residual data ( ⁇ r ′ Cr (x, y)) of the restored chrominance component Cr. , y)) >> 3) is added and ( ⁇ r ' Cr (x, y) + ( ⁇ x r' Y (x, y)) >> 3), the residual data of the chrominance component Cr is restored (R ' Cr (x, y)).
- the calculation unit 267 adds the prediction residual data ( ⁇ r ′ Cb (x, y)) of the chrominance component Cb to the right shift result (( ⁇ ⁇ r ′ Y (x, y)) calculated in step S 242>
- the residual data of the chrominance component Cb is restored by adding ( ⁇ r ′ Cb (x, y) + ( ⁇ ⁇ r ′ Y (x, y)) >> 3) by adding> 3) (r ′ Cb (r ′ Cb (x) x, y)).
- step S251 the right shift unit 262 of the restoration unit 242 processes the residual data (r ′ Y (x, y)) of the restored luminance component as the step of FIG.
- the bit depth difference (delta_bitdepth) of the residual data calculated by the process of S221 is shifted to the right (r ' Y (x, y) >> delta_bitdepth).
- step S252 the weighting factor multiplication unit 264 adds the weighting factor ⁇ acquired in the process of step S228 of FIG. 13 to the right shift result (r ′ Y (x, y) >> delta_bitdepth) calculated in step S251. Multiply ( ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth)).
- step S253 the right shift unit 265 right shifts the multiplication result ( ⁇ ⁇ (r ′ Y (x, y) >> delta_bitdepth) calculated in step S252 by 3 bits ( ⁇ ⁇ (r ′ Y (x , y) >> delta_bitdepth) >> 3).
- step S254 the arithmetic unit 266, the prediction residual data ([Delta] r of the restored color difference component Cr 'Cr (x, y) ) , the right shift result calculated in step S253 ( ⁇ ⁇ (r' Y (x , y) >> delta_bitdepth) >> 3 ) by adding the ( ⁇ r 'Cr (x, y ) + ⁇ ⁇ (r' Y (x, y) >> delta_bitdepth) >> 3), the color difference component Cr Recover residual data (r ' Cr (x, y)).
- the calculation unit 267 adds the result of the right shift ( ⁇ ⁇ (r ′ Y (x, y) calculated in step S 253 to the prediction residual data ( ⁇ r ′ Cb (x, y)) of the restored chrominance component Cb.
- the residual of the chrominance component Cb by adding ( ⁇ r ' Cb (x, y) + ⁇ x (r' Y (x, y) >> delta_bitdepth) >> 3) by adding) >>delta_bitdepth)> 3) Restore the data (r ' Cb (x, y)).
- step S261 the left shift unit 263 of the restoration unit 242 processes the residual data (r ′ Y (x, y)) of the restored luminance component as the step of FIG.
- a left shift is made by the bit depth difference ( ⁇ delta_bitdepth) of the residual data calculated by the process of S221 (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth).
- step S262 the weighting factor multiplication unit 264 adds the weighting factor ⁇ acquired in the process of step S231 in FIG. 13 to the left shift result (r ′ Y (x, y) ⁇ -delta_bitdepth) calculated in step S261. ( ⁇ ⁇ (r ′ Y (x, y) ⁇ -delta_bitdepth)).
- step S263 the right shift unit 265 right shifts the multiplication result ( ⁇ ⁇ (r ′ Y (x, y) ⁇ ⁇ delta_bitdepth)) calculated in step S262 by 3 bits ( ⁇ ⁇ (r ′ Y ( x, y) ⁇ -delta_bitdepth) >> 3).
- step S264 the arithmetic unit 266, the prediction residual data ([Delta] r of the restored color difference component Cr 'Cr (x, y) ) , the right shift result calculated in step S263 ( ⁇ ⁇ (r' Y (x , y) ⁇ - delta_bitdepth) >> 3) by adding the ( ⁇ r 'Cr (x, y ) + ⁇ ⁇ (r' Y (x, y) ⁇ - delta_bitdepth) >> 3), the color difference component Restore residual data of Cr (r ' Cr (x, y)).
- the calculation unit 267 adds the right shift result ( ⁇ ⁇ (r ′ Y (x, y) calculated in step S 263 to the predicted residual data ( ⁇ r ′ Cb (x, y)) of the restored chrominance component Cb. ( ⁇ r ′ Cb (x, y) + ⁇ ⁇ (r ′ Y (x, y) ⁇ -delta_bitdepth) >> 3) by adding) ⁇ -delta_bitdepth) >> 3), the color difference component Cb Recover residual data (r ' Cb (x, y)).
- the residual error reconstruction unit 222 can correctly restore residual data, even when the bit depth of the residual data differs between components. Therefore, the image decoding apparatus 200 can suppress the reduction in the coding efficiency.
- bit depth of the luminance component is described to be bit-shifted to be equal to the color difference component when making the bit depth of the residual data uniform, but in such bit depth scaling, which component is used as a reference Is optional.
- the bit depth of the color difference component may be scaled.
- the luminance component is generally more important and the amount of information is larger. Therefore, it is desirable to scale the bit depth of the luminance component.
- the color space of the image is arbitrary, and prediction may be performed between any components.
- bit depth scaling can be used to perform residual prediction / residual decoding, as in the case of YUV described above.
- the control method of residual prediction / residual decoding is not limited to the example described above.
- residual prediction may be prohibited (prediction residual data is not calculated).
- the information for example, luma_chroma_prediction_enabled_flag
- PPS picture parameter set
- Control may be performed so that difference prediction is not performed.
- the value of luma_chroma_prediction_enabled_flag may be set to 0.
- the image coding apparatus 100 can have basically the same configuration as that of the first embodiment.
- FIG. 18 is a block diagram showing a main configuration example of the header processing unit 121 and the residual prediction unit 122 in this case.
- the residual prediction unit 122 has a control unit 311 instead of the control unit 141 as compared with the first embodiment, and instead of the prediction unit 142.
- a prediction unit 312 is included.
- control unit 311 basically performs the same processing as the control unit 141. Compared to the configuration of control unit 141, control unit 311 has bit depth difference calculation unit 321 instead of bit depth difference calculation unit 151, and has bit shift control unit 322 instead of bit shift control unit 152. Furthermore, similarly to the case of the control unit 141, the weight coefficient setting unit 153 is provided.
- the bit depth difference calculation unit 321 calculates the bit depth difference (delta_bitdepth) between components. However, unlike the case of the bit depth difference calculation unit 151, the bit depth difference calculation unit 321 does not supply the calculated bit depth difference (delta_bitdepth) between components to the prediction unit 312.
- the bit shift control unit 322 controls the calculation by the prediction unit 312. However, if the bit depth of the residual data differs between components, the bit shift control unit 322 prohibits residual prediction (does not calculate prediction residual data).
- scaling of the bit depth that is, bit shift for aligning the bit depth between components is not performed, so that the prediction unit 312 compares the configuration of the prediction unit 142 with the right.
- the shift unit 162 and the left shift unit 163 are omitted.
- the bit depth difference calculation unit 321 calculates the difference in bit depth between components that perform residual prediction. That is, the bit depth difference calculation unit 321 performs the calculation of Expression (4) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S302 the bit shift control unit 322 determines whether the bit depth difference (delta_bitdepth) calculated in step S301 is zero. If it is determined that the value is 0, the process proceeds to step S303. In this case, no bit shift is performed, and residual prediction is performed as shown in equation (3).
- each process of step S303 to step S305 is performed similarly to each process of step S123 to step S125 of the residual prediction process of the first embodiment. Then, when the process of step S305 ends or when it is determined in step S303 that residual prediction is not performed, the residual prediction process ends, and the process returns to FIG. 5.
- step S302 When it is determined in step S302 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S306.
- the bit shift control unit 322 indicates that the value of information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction is not subjected (prohibited) to residual prediction (residual reconstruction).
- the bit shift control unit 322 may set the value of luma_chroma_prediction_enabled_flag to 0.
- step S306 ends, the residual prediction process ends, and the process returns to FIG.
- the image decoding apparatus 200 can have basically the same configuration as that of the first embodiment.
- FIG. 20 is a block diagram showing an example of a main configuration of the header acquisition unit 221 and the residual reconstruction unit 222 in this case.
- the residual restoration unit 222 has a control unit 351 instead of the control unit 241 as compared with the case of the first embodiment, and instead of the restoration unit 242.
- the reconstruction unit 352 is provided.
- the control unit 351 basically performs the same processing as the control unit 241. Compared to the configuration of the control unit 241, the control unit 351 has a bit depth difference calculation unit 361 instead of the bit depth difference calculation unit 251, and has a bit shift control unit 362 instead of the bit shift control unit 252.
- the bit depth difference calculating unit 361 calculates a bit depth difference (delta_bitdepth) between components. However, unlike the case of the bit depth difference calculation unit 251, the bit depth difference calculation unit 361 does not supply the calculated bit depth difference (delta_bitdepth) between components to the restoration unit 352.
- the bit shift control unit 362 controls the operation of the restoration unit 352. However, when the bit depth of residual data differs between components, the bit shift control unit 362 prohibits residual restoration (does not restore residual data of chrominance components).
- the bit depth difference calculating unit 361 calculates the difference in bit depth between components for which residual prediction has been performed. That is, the bit depth difference calculation unit 361 performs the calculation of Expression (10) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S322 the bit shift control unit 362 determines whether the bit depth difference (delta_bitdepth) calculated in step S321 is zero. If it is determined that the value is 0, the process proceeds to step S323. In this case, no bit shift is performed, and residual reconstruction is performed as shown in equation (9).
- each process of step S323 to step S325 is executed in the same manner as each process of step S223 to step S225 of the residual prediction process of the first embodiment. Then, when the process of step S325 ends or when it is determined in step S323 that the residual prediction is not performed, the residual restoration process ends, and the process returns to FIG.
- step S322 even when it is determined that the bit depth difference (delta_bitdepth) calculated in step S321 is not 0, scaling of bit depth is not performed, and residual restoration is omitted. Therefore, in this case as well, the residual restoration process ends, and the process returns to FIG.
- bit depth of residual data of luminance component is larger than the bit depth of residual data of chrominance component
- bit depth of residual data is divided between components by scaling the bit depth by right shift. Even if residual prediction is performed and the bit depth of residual data of luminance component is smaller than the bit depth of residual data of chrominance component, residual prediction is prohibited (the prediction residual data is not calculated). Good.
- the luminance component is more important than the color difference component due to the nature of the image, and the bit depth of the residual data of the luminance component is greater than the bit depth of the residual data of the color difference component.
- the color difference component has a bit depth greater than that of the luminance component. That is, if the color difference component is set to a larger bit depth than the nature of the image, the image may contain some intention of the producer beyond the nature of the image. It is also conceivable that the prediction accuracy of the residual prediction, which is a process for general images, is likely to be reduced. That is, the coding efficiency may be easily reduced.
- residual prediction residual restoration
- prediction residual prediction
- the bit depth of the residual data may be aligned among components to perform residual prediction.
- the residual prediction residual restoration
- residual Information for controlling whether to perform prediction for example, luma_chroma_prediction_enabled_flag
- luma_chroma_prediction_enabled_flag residual Information for controlling whether to perform prediction
- residual prediction / residual decoding should be performed only when sufficient effects can be obtained by performing residual prediction (the coding efficiency can be sufficiently improved). Can. Therefore, unnecessary residual prediction / residual decoding can be omitted, so that it is possible to suppress a decrease in encoding efficiency and to suppress an increase in processing load.
- the image coding apparatus 100 can have basically the same configuration as that of the first embodiment.
- FIG. 23 is a block diagram showing a main configuration example of the header processing unit 121 and the residual prediction unit 122 in this case.
- the residual prediction unit 122 has a control unit 411 instead of the control unit 141 as compared to the case of the first embodiment, and instead of the prediction unit 142.
- the prediction unit 412 is included.
- control unit 411 basically performs the same processing as the control unit 141. Compared to the configuration of control unit 141, control unit 411 has bit depth difference calculation unit 421 instead of bit depth difference calculation unit 151, and has bit shift control unit 422 instead of bit shift control unit 152. Furthermore, similarly to the case of the control unit 141, the weight coefficient setting unit 153 is provided.
- the bit depth difference calculation unit 421 calculates the bit depth difference (delta_bitdepth) between components. However, unlike the case of the bit depth difference calculation unit 151, the bit depth difference calculation unit 421 does not supply the calculated bit depth difference (delta_bitdepth) between components to the left shift unit 163 (the prediction unit 412 also performs the left shift unit 163). Not have).
- the bit shift control unit 422 controls the calculation by the prediction unit 412.
- the bit shift control unit 422 does not perform the scaling of the bit depth in the prediction unit 412 and the prediction residual is The difference data is calculated, and if the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculation unit 421 is positive, the prediction unit 412 is caused to perform the scaling of the bit depth to calculate prediction residual data. Calculate it.
- the bit shift control unit 422 controls the prediction unit 412 to perform residual prediction. Prohibit (do not calculate prediction residual data).
- the bit depth difference calculating unit 421 calculates the difference in bit depth between components to be subjected to residual prediction. That is, the bit depth difference calculation unit 421 performs the calculation of Expression (4) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S402 the bit shift control unit 422 determines whether the bit depth difference (delta_bitdepth) calculated in step S401 is zero. If it is determined that the value is 0, the process proceeds to step S403. In this case, no bit shift is performed, and residual prediction is performed as shown in equation (3).
- each process of step S403 to step S405 is executed similarly to each process of step S123 to step S125 of the residual prediction process of the first embodiment. Then, when the process of step S405 ends or when it is determined in step S403 that residual prediction is not performed, the residual prediction process ends, and the process returns to FIG.
- step S402 When it is determined in step S402 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S406.
- step S406 the bit shift control unit 422 determines whether the bit depth difference (delta_bitdepth) calculated in step S401 is positive. If it is determined to be positive, the process proceeds to step S407. In this case, residual prediction is performed as in equation (6) (scaling is performed by right shift).
- steps S407 to S409 are performed in the same manner as the processes of steps S127 to S129 of the residual prediction process of the first embodiment. Then, when the process of step S409 ends or when it is determined in step S407 that residual prediction is not performed, the residual prediction process ends, and the process returns to FIG.
- step S406 When it is determined in step S406 that the bit depth difference (delta_bitdepth) is not positive (is negative), the process proceeds to step S410.
- the bit shift control unit 422 indicates that the value of information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction is not subjected (prohibited) to residual prediction (residual reconstruction).
- the bit shift control unit 422 may set the value of luma_chroma_prediction_enabled_flag to 0.
- step S410 ends, the residual prediction process ends, and the process returns to FIG.
- the bit depth difference between components of residual data is negative, that is, the color difference component has a larger bit depth than the luminance component, and sufficient effect can not be obtained even if residual prediction is performed. If there is a possibility (the coding efficiency can not be sufficiently improved), the residual prediction can be avoided. Therefore, since the image coding apparatus 100 can omit unnecessary residual prediction, it is possible to suppress a decrease in coding efficiency and to suppress an increase in processing load.
- the image decoding apparatus 200 can have basically the same configuration as that of the first embodiment.
- FIG. 25 is a block diagram showing an example of a main configuration of the header acquisition unit 221 and the residual reconstruction unit 222 in this case.
- the residual restoration unit 222 has a control unit 451 instead of the control unit 241 as compared to the case of the first embodiment, and instead of the restoration unit 242.
- a restoration unit 452 is provided.
- the control unit 451 basically performs the same processing as the control unit 241. Compared to the configuration of the control unit 241, the control unit 451 has a bit depth difference calculation unit 461 instead of the bit depth difference calculation unit 251, and has a bit shift control unit 462 instead of the bit shift control unit 252.
- the bit depth difference calculating unit 461 calculates the bit depth difference (delta_bitdepth) between components. However, unlike the case of the bit depth difference calculation unit 251, the bit depth difference calculation unit 461 does not supply the calculated bit depth difference (delta_bitdepth) between components to the left shift unit 263 (the restoration unit 452 is also the left shift unit 263). Not have).
- the bit shift control unit 462 controls the operation of the restoration unit 452.
- the bit shift control unit 462 does not perform bit depth scaling on the restoration unit 452, and residuals The data is restored, and when the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculating unit 461 is positive, the restoring unit 452 performs bit depth scaling to restore the residual data .
- the bit shift control unit 462 controls the restoring unit 452 to restore the residual. Omitted (The recovery of residual data is omitted).
- the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit-depth difference calculation unit 461 is negative, scaling of bit depth, ie, inter-component bit depth In the restoration unit 452, the left shift unit 263 is omitted compared to the configuration of the restoration unit 242 because no bit shift is performed to make them identical.
- bit depth difference calculating unit 461 calculates the difference in bit depth between components for which residual prediction has been performed. That is, the bit depth difference calculation unit 461 performs the calculation of Expression (10) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S422 the bit shift control unit 462 determines whether the bit depth difference (delta_bitdepth) calculated in step S421 is zero. If it is determined that the value is 0, the process proceeds to step S423. In this case, no bit shift is performed, and residual reconstruction is performed as shown in equation (9).
- each process of step S423 to step S425 is executed similarly to each process of step S223 to step S225 of the residual prediction process of the first embodiment. Then, when the process of step S425 ends or when it is determined that the residual prediction is not performed in step S423, the residual restoration process ends, and the process returns to FIG.
- step S422 When it is determined in step S422 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S426.
- step S426 the bit shift control unit 462 determines whether the bit depth difference (delta_bitdepth) calculated in step S421 is positive. If it is determined to be positive, the process proceeds to step S427. In this case, residual prediction is performed as in equation (12) (scaling is performed by right shift).
- each process of step S427 to step S429 is executed in the same manner as each process of step S227 to step S229 of the residual prediction process of the first embodiment. Then, if the process of step S429 ends or if it is determined in step S427 that residual prediction is not performed, the residual restoration process ends, and the process returns to FIG. 12.
- step S426 determines whether the bit depth difference (delta_bitdepth) is positive (is negative)
- scaling of bit depth is not performed, and residual restoration is omitted. Therefore, in this case as well, the residual restoration process ends, and the process returns to FIG.
- the bit depth difference between components of residual data is negative, that is, the color difference component has a larger bit depth than the luminance component, and sufficient effect can not be obtained even if residual prediction is performed. If there is a possibility (the coding efficiency can not be sufficiently improved), the residual prediction can be avoided and, accordingly, the residual recovery can not be performed either. Therefore, since the image decoding apparatus 200 can omit unnecessary residual restoration, it is possible to suppress a decrease in encoding efficiency and to suppress an increase in processing load.
- the control method of residual prediction / residual decoding is not limited to the example described above.
- whether to perform residual prediction / residual decoding may be controlled according to the color space of the image.
- execution of residual prediction / residual decoding is controlled in the same manner as described in the third embodiment, and further, when the color space of the image to be encoded / decoded is RGB, the residual is The prediction / residual decoding may be prohibited.
- the luminance component is often more important as information than the color difference component, and the case where the amount of information is large (the bit depth is large) may be considered.
- the bit depth is large
- the importance of each component as information is the same as each other, and the information amount (bit depth) is often the same as each other.
- the G component is more important as information than the R component and the B component, it is rare that a difference occurs in the amount of information (bit depth).
- the image when the color space of an image is RGB and the amount of information (bit depth) of each component is not uniform, the image includes some intention of the producer beyond the nature of the image. There is a possibility that the prediction accuracy of residual prediction, which is a general image processing, is likely to be reduced. That is, the coding efficiency may be easily reduced.
- residual prediction / residual decoding is performed only in the case of a color space where sufficient effects can be obtained by performing residual prediction (which can sufficiently improve the coding efficiency). Can be Therefore, unnecessary residual prediction / residual decoding can be omitted, so that it is possible to suppress a decrease in encoding efficiency and to suppress an increase in processing load.
- the image coding apparatus 100 can have basically the same configuration as that of the first embodiment.
- FIG. 28 is a block diagram showing a main configuration example of the header processing unit 121 and the residual prediction unit 122 in this case.
- the header processing unit 121 further includes a VUI (Video Userbility Information) processing unit 501 as compared to the case of the first embodiment.
- the residual prediction unit 122 has a control unit 511 instead of the control unit 141 and a prediction unit 412 instead of the prediction unit 142 as compared with the first embodiment.
- the VUI processing unit 501 performs processing related to generation of VUI (Video Userbility Information).
- VUI is data relating to video display, and is stored in a video parameter set (VPS) or a sequence parameter set (SPS).
- the VUI processing unit 501 supplies, for example, information (matrix_coffs) indicating the color space of the image included in such VUI to the residual prediction unit 122 (color space determination unit 523 described later).
- control unit 511 basically performs the same processing as the control unit 141. Compared to the configuration of control unit 141, control unit 511 has bit depth difference calculation unit 521 instead of bit depth difference calculation unit 151, and has bit shift control unit 522 instead of bit shift control unit 152. Furthermore, similarly to the case of the control unit 141, the weight coefficient setting unit 153 is provided. Further, the control unit 511 includes a color space determination unit 523.
- the bit depth difference calculation unit 521 calculates a bit depth difference (delta_bitdepth) between components. However, unlike the bit depth difference calculation unit 151, the bit depth difference calculation unit 521 does not supply the calculated bit depth difference (delta_bitdepth) between components to the left shift unit 163 (the prediction unit 412 also performs the left shift unit 163). Not have).
- the bit shift control unit 522 controls the calculation by the prediction unit 412 as in the case of the bit shift control unit 152. However, if the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculation unit 521 is 0, the bit shift control unit 522 does not perform the scaling of the bit depth in the prediction unit 412 and the prediction residual is The difference data is calculated, and if the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculation unit 521 is positive, the prediction unit 412 is caused to perform the scaling of the bit depth to calculate prediction residual data. Calculate it.
- bit shift control unit 522 controls the prediction unit 412 to perform residual prediction. Prohibit (do not calculate prediction residual data).
- bit shift control unit 522 controls the calculation by the prediction unit 412 according to the determination result of the color space of the image by the color space determination unit 523. For example, when the color space determination unit 523 determines that the color space of the image is RGB, the bit shift control unit 522 controls the prediction unit 412 to inhibit residual prediction (does not calculate prediction residual data) To do).
- the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculation unit 421 is negative, There is no scaling of bit depths, ie no bit shifting to align bit depths between components. Therefore, in the prediction unit 412, the left shift unit 163 is omitted as compared with the configuration of the prediction unit 142 as described in the third embodiment.
- the bit depth difference calculation unit 521 calculates the difference in bit depth between components that perform residual prediction. That is, the bit depth difference calculation unit 521 performs the calculation of Expression (4) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S502 the bit shift control unit 522 determines whether the bit depth difference (delta_bitdepth) calculated in step S501 is zero. If it is determined that the value is 0, the process proceeds to step S503. In this case, no bit shift is performed, and residual prediction is performed as shown in equation (3).
- each process of step S503 to step S505 is performed similarly to each process of step S123 to step S125 of the residual prediction process of the first embodiment. Then, when the process of step S505 ends or when it is determined in step S503 that residual prediction is not performed, the residual prediction process ends, and the process returns to FIG.
- step S502 When it is determined in step S502 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S506.
- step S506 the color space determination unit 523 determines whether the color space of the image is RGB based on the information (matrix_coffs) indicating the color space of the image acquired from the VUI processing unit 501. If it is determined that the color is not RGB, the process proceeds to step S507.
- step S507 the bit shift control unit 522 determines whether the bit depth difference (delta_bitdepth) calculated in step S501 is positive. If it is determined to be positive, the process proceeds to step S508. In this case, residual prediction is performed as in equation (6) (scaling is performed by right shift).
- steps S508 to S510 are performed in the same manner as the processes of steps S127 to S129 of the residual prediction process of the first embodiment. Then, if the process of step S510 ends or if it is determined in step S508 that residual prediction is not performed, the residual prediction process ends, and the process returns to FIG.
- step S506 If it is determined in step S506 that the color space is RGB or if the bit depth difference (delta_bitdepth) is not positive (negative) in step S507, the process proceeds to step S511.
- the bit shift control unit 522 indicates that the value of information (for example, luma_chroma_prediction_enabled_flag) for controlling whether or not to perform residual prediction is not subjected (prohibited) to residual prediction (residual reconstruction).
- the bit shift control unit 522 may set the value of luma_chroma_prediction_enabled_flag to 0.
- step S511 ends, the residual prediction process ends, and the process returns to FIG.
- the bit depth difference between components of residual data is negative, that is, the color difference component has a larger bit depth than the luminance component, and sufficient effect can not be obtained even if residual prediction is performed. If there is a possibility (the coding efficiency can not be sufficiently improved), the residual prediction can be avoided. In addition, residual prediction can be performed only in the case of a color space where sufficient effects can be obtained by performing residual prediction (which can sufficiently improve the coding efficiency). Therefore, since the image coding apparatus 100 can omit unnecessary residual prediction, it is possible to suppress a decrease in coding efficiency and to suppress an increase in processing load.
- the image decoding apparatus 200 can have basically the same configuration as that of the first embodiment.
- FIG. 30 is a block diagram showing an example of a main configuration of the header acquisition unit 221 and the residual reconstruction unit 222 in this case.
- the header acquisition unit 221 further includes a VUI acquisition unit 541 compared to the case of the first embodiment.
- the residual reconstruction unit 222 has a control unit 551 instead of the control unit 241 and a reconstruction unit 452 instead of the reconstruction unit 242 as compared with the first embodiment.
- the VUI acquisition unit 541 acquires VUI, which is data relating to video display, from the video parameter set (VPS) and sequence parameter set (SPS) supplied from the encoding side, and the color space of the image included in the VUI is obtained.
- VUI video parameter set
- SPS sequence parameter set
- the information (matrix_coffs) to be shown is acquired and supplied to the residual reconstruction unit 222 (a color space determination unit 563 described later).
- the control unit 551 basically performs the same processing as the control unit 241. Compared to the configuration of the control unit 241, the control unit 551 has a bit depth difference calculation unit 561 instead of the bit depth difference calculation unit 251, and has a bit shift control unit 562 instead of the bit shift control unit 252. Further, the control unit 551 includes a color space determination unit 563.
- the bit depth difference calculating unit 561 calculates a bit depth difference (delta_bitdepth) between components. However, unlike the case of the bit depth difference calculation unit 251, the bit depth difference calculation unit 561 does not supply the calculated bit depth difference (delta_bitdepth) between components to the left shift unit 263 (the restoration unit 452 is also the left shift unit 263). Not have).
- the bit shift control unit 562 controls the operation of the restoration unit 452.
- the bit shift control unit 562 does not perform the bit depth scaling on the restoration unit 452 but The data is restored, and when the inter-component bit depth difference (delta_bitdepth) of the residual data calculated by the bit depth difference calculating unit 561 is positive, the restoring unit 452 performs bit depth scaling to restore the residual data. .
- the bit shift control unit 562 controls the restoring unit 452 to restore the residual. Omitted (The recovery of residual data is omitted).
- the bit shift control unit 562 controls the calculation by the restoration unit 452 according to the determination result of the color space of the image by the color space determination unit 563. For example, when the color space determination unit 563 determines that the color space of the image is RGB, the bit shift control unit 562 controls the restoration unit 452 and omits residual restoration (omits restoration of residual data) To do).
- the bit depth difference calculating unit 561 calculates the difference in bit depth between components for which residual prediction has been performed. That is, the bit depth difference calculation unit 561 performs the calculation of Expression (10) to calculate the bit depth difference (delta_bitdepth) of the luminance component (Y) and the color difference component (Cr or Cb). When the bit depth difference differs between the color difference component (Cr) and the color difference component (Cb), the bit depth difference (delta_bitdepth) is calculated.
- step S522 the bit shift control unit 562 determines whether the bit depth difference (delta_bitdepth) calculated in step S521 is zero. If it is determined that the value is 0, the process proceeds to step S523. In this case, no bit shift is performed, and residual reconstruction is performed as shown in equation (9).
- each process of step S523 to step S525 is executed similarly to each process of step S223 to step S225 of the residual prediction process of the first embodiment. Then, when the process of step S525 ends or when it is determined that the residual prediction is not performed in step S523, the residual restoration process ends, and the process returns to FIG.
- step S522 When it is determined in step S522 that the bit depth difference (delta_bitdepth) is not 0, the processing proceeds to step S526.
- step S526 the color space determination unit 563 determines whether the color space of the image is RGB based on the information (matrix_coffs) indicating the color space of the image acquired from the VUI acquisition unit 541. If it is determined that the color is not RGB, the process proceeds to step S527.
- step S527 the bit shift control unit 562 determines whether the bit depth difference (delta_bitdepth) calculated in step S521 is positive. If it is determined to be positive, the process proceeds to step S528. In this case, residual prediction is performed as in equation (12) (scaling is performed by right shift).
- each process of step S528 to step S530 is executed similarly to each process of step S227 to step S229 of the residual prediction process of the first embodiment. Then, when the process of step S530 ends or when it is determined in step S528 that residual prediction is not performed, the residual restoration process ends, and the process returns to FIG. 12.
- step S526 determines whether the color space is RGB, or if it is determined in step S527 that the bit depth difference (delta_bitdepth) is not positive (is negative), scaling of bit depth is not performed and the remainder is left. Difference restoration is omitted. Therefore, in this case as well, the residual restoration process ends, and the process returns to FIG.
- the bit depth difference between components of residual data is negative, that is, the color difference component has a larger bit depth than the luminance component, and sufficient effect can not be obtained even if residual prediction is performed. If there is a possibility (the coding efficiency can not be sufficiently improved), the residual prediction can be avoided and, accordingly, the residual recovery can not be performed either.
- residual prediction is performed only in the case of a color space where sufficient effects can be obtained by performing residual prediction (which can sufficiently improve the coding efficiency), and accordingly, residual restoration is also performed. It is possible not to do it. Therefore, since the image decoding apparatus 200 can omit unnecessary residual restoration, it is possible to suppress a decrease in encoding efficiency and to suppress an increase in processing load.
- the weighting factor setting unit 153 is described to independently set the weighting factor ⁇ for each component, but the present invention is not limited to this, and the weighting factor setting unit 153 may be a weighting factor common to a plurality of components. Alternatively, ⁇ may be set. For example, the weight coefficient setting unit 153 may set a common weight coefficient ⁇ to both the color difference component Cr and the color difference component Cb.
- FIG. 32 shows an example of the syntax of a TU transmitting the weighting factor ⁇ in the case of setting the weighting factor ⁇ independently for each component.
- condition determination for transmitting the weighting factor ⁇ is performed for each of the color difference component Cr and the color difference component Cb, as shown by the hatched pattern in FIG.
- the transmission of the weighting factor ⁇ (the call of luma_chroma_pred ()) is performed for each.
- it is necessary to specify the component number (c) of the color difference component (Chroma) in the transmission of the weighting coefficient ⁇ (for example, “c” of luma_chroma_pred (x0, y0, c). In the example of FIG. 32, c). “0" or "1").
- FIG. 33 An example of the syntax of residual prediction (Luma-chroma prediction) is shown in FIG. 33, also in this syntax, it is necessary to specify the component number (c) of the color difference component (Chroma).
- FIG. 36 shows an example of the syntax of the TU transmitting the weighting factor ⁇ in the case of sharing the weighting factor ⁇ .
- the condition determination for transmitting the weighting factor ⁇ and transmission of the weighting factor ⁇ (calling of luma_chroma_pred ()) may be performed once as shown by the hatched portion in FIG. Therefore, by doing this, the load on the image encoding device 100 and the image decoding device 200 can be reduced, the amount of information to be transmitted can be reduced, and the encoding efficiency can be improved.
- the coding efficiency can be further improved.
- the application scope of the present technology can be applied to any image coding device and image decoding device capable of coding and decoding image data.
- the present technology is, for example, MPEG, H.
- image information bit stream
- orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
- image information bit stream
- orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc.
- network media such as a cellular phone
- the present technology can be applied to an image encoding device and an image decoding device that are used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
- FIG. 40 shows an example of a multi-viewpoint image coding method.
- the multi-viewpoint image includes images of a plurality of viewpoints (views).
- the multiple views of this multi-view image are encoded using the base view that performs encoding / decoding using only the image of its own view without using information of other views, and the information of other views. It consists of a non-base view that performs decoding.
- Non-base view encoding / decoding may use base view information or may use other non-base view information.
- FIG. 41 is a diagram showing a multi-viewpoint image coding apparatus which performs the above-described multi-viewpoint image coding.
- the multi-viewpoint image coding device 600 includes a coding unit 601, a coding unit 602, and a multiplexing unit 603.
- the encoding unit 601 encodes a base view image to generate a base view image coded stream.
- the encoding unit 602 encodes the non-base view image to generate a non-base view image coded stream.
- the multiplexing unit 603 multiplexes the base view image coded stream generated by the coding unit 601 and the non-base view image coded stream generated by the coding unit 602 to generate a multi-view image coded stream. Do.
- the above-described image coding apparatus 100 may be applied as the coding unit 601 and the coding unit 602 of such a multi-viewpoint image coding apparatus 600.
- the various methods described in the first to fifth embodiments can be applied also to the encoding of multi-viewpoint images. That is, the multi-viewpoint image coding apparatus 600 can suppress a reduction in the coding efficiency of coded data of the multi-viewpoint image.
- FIG. 42 is a diagram illustrating a multi-viewpoint image decoding apparatus that performs the above-described multi-viewpoint image decoding.
- the multi-viewpoint image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
- a demultiplexing unit 611 demultiplexes a multi-view image coded stream in which the base view image coded stream and the non-base view image coded stream are multiplexed, and the base view image coded stream and the non-base view image. Extract the coded stream.
- the decoding unit 612 decodes the base view image coded stream extracted by the demultiplexing unit 611 to obtain a base view image.
- the decoding unit 613 decodes the non-base view image coded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
- the above-described image decoding device 200 may be applied as the decoding unit 612 and the decoding unit 613 of such a multi-viewpoint image decoding device 610.
- the various methods described in the first to fifth embodiments can be applied to decoding of encoded data of a multi-viewpoint image. That is, the multi-viewpoint image decoding apparatus 610 can correctly decode encoded data of a multi-viewpoint image encoded by the various methods described in the first to fifth embodiments. Therefore, the multi-viewpoint image decoding device 610 can suppress a reduction in the coding efficiency of encoded data of the multi-viewpoint image.
- FIG. 43 shows an example of the hierarchical image coding method.
- Hierarchical image coding (scalable coding) is to image data into a plurality of layers (layering) so as to have a scalability (scalability) function with respect to predetermined parameters, and to code each layer.
- hierarchical image decoding hierarchical image coding (scalable decoding) is decoding corresponding to the hierarchical image coding.
- the hierarchized image includes images of a plurality of hierarchies (layers) having different values of the predetermined parameter.
- a plurality of layers of this hierarchical image are encoded using a base layer that performs encoding / decoding using only an image of its own layer without using an image of another layer, and an image of another layer It consists of a non-base layer (also referred to as an enhancement layer) that performs decoding.
- the non-base layer may use an image of the base layer, or may use an image of another non-base layer.
- the non-base layer is configured by data (difference data) of a difference image between its own image and an image of another layer so that redundancy is reduced.
- difference data difference data
- a base layer and a non-base layer also referred to as an enhancement layer
- an image of lower quality than the original image can be obtained only with the data of the base layer.
- an original image that is, a high quality image
- images of various qualities can be easily obtained depending on the situation.
- image compression information of only a base layer is transmitted, and a moving image with low space-time resolution or poor image quality is reproduced
- image compression information of the enhancement layer is transmitted in addition to the base layer, and the space-time resolution is high, or It is possible to transmit image compression information according to the capabilities of the terminal or the network from the server without performing transcoding processing, such as reproducing high-quality moving images.
- the first to fifth embodiments are applied to encoding / decoding of each layer.
- the method described above may be applied in the embodiment of the invention. By doing this, it is possible to suppress the reduction in coding efficiency of each layer. That is, also in the case of hierarchical images, reduction in encoding efficiency can be suppressed.
- parameters having a scalability function are arbitrary.
- spatial scalability as shown in FIG. 44 may be used as the parameter (spatial scalability).
- the resolution of the image differs for each layer. That is, as shown in FIG. 44, an enhancement in which the original image (original spatial resolution) is obtained by combining each picture with the base layer with a resolution lower than that of the original image and the image of the base layer. Layered into two layers of layers. Of course, this number of layers is an example, and can be hierarchized into any number of layers.
- temporal scalability as shown in FIG. 45 may be applied as a parameter for giving such scalability.
- the frame rate is different for each layer. That is, in this case, as shown in FIG. 45, the moving image of a higher frame rate is formed by layering layers of different frame rates and adding a layer of high frame rate to a layer of low frame rate.
- the original moving image (original frame rate) can be obtained by adding all layers.
- the number of layers is an example, and the number of layers can be hierarchized.
- a signal to noise ratio may be applied as a parameter for providing such scalability (SNR scalability).
- SNR scalability SNR scalability
- the SN ratio differs for each layer. That is, as shown in FIG. 46, there are two layers of each layer: a base layer with lower SNR than the original image, and an enhancement layer in which the original image (original SNR) can be obtained by combining with the base layer image. It is hierarchized. That is, in the base layer image compression information, information related to a low PSNR image is transmitted, and by adding an enhancement layer image compression information to this, a high PSNR image is reconstructed. It is possible.
- this number of layers is an example, and can be hierarchized into any number of layers.
- the parameters for providing scalability may be other than the examples described above.
- a bit-depth scalability is obtained in which a 10-bit image can be obtained. is there.
- chroma scalability in which a component image of 4: 2: 2 format can be obtained by adding an enhancement layer to a component image of a 4: 2: 0 format as a base layer (base layer). scalability).
- FIG. 47 is a diagram showing a hierarchical image coding device that performs the hierarchical image coding described above. As shown in FIG. 47, hierarchical image coding apparatus 620 has coding section 621, coding section 622, and multiplexing section 623.
- the encoding unit 621 encodes a base layer image to generate a base layer image coded stream.
- the encoding unit 622 encodes the non-base layer image to generate a non-base layer image coded stream.
- the multiplexing unit 623 multiplexes the base layer image coded stream generated by the coding unit 621 and the non-base layer image coded stream generated by the coding unit 622 to generate a hierarchical image coded stream. .
- the image coding apparatus 100 described above may be applied as the coding unit 621 and the coding unit 622 of the hierarchical image coding apparatus 620.
- the various methods described in the first to fifth embodiments can be applied to encoding of hierarchical images. That is, the hierarchical image coding device 620 can suppress the reduction in the coding efficiency of the coded data of the hierarchical image.
- FIG. 48 is a diagram showing a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
- the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
- a demultiplexing unit 631 demultiplexes the hierarchical image coded stream in which the base layer image coded stream and the non-base layer image coded stream are multiplexed, and the base layer image coded stream and the non-base layer image code Extract the stream of
- the decoding unit 632 decodes the base layer image coded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
- the decoding unit 633 decodes the non-base layer image coded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
- the image decoding apparatus 200 described above may be applied as the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding apparatus 630.
- the various methods described in the first to fifth embodiments can be applied to decoding of encoded data of hierarchical images. That is, the hierarchical image decoding device 630 can correctly decode the encoded data of the hierarchical image encoded by the various methods described in the first to fifth embodiments. Therefore, the hierarchical image decoding device 630 can suppress the reduction in the coding efficiency of the encoded data of the hierarchical image.
- the series of processes described above can be performed by hardware or software.
- a program that configures the software is installed on a computer.
- the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
- FIG. 49 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
- a central processing unit (CPU) 801, a read only memory (ROM) 802, and a random access memory (RAM) 803 are mutually connected via a bus 804.
- An input / output interface 810 Also connected to the bus 804 is an input / output interface 810.
- An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
- the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
- the output unit 812 includes, for example, a display, a speaker, and an output terminal.
- the storage unit 813 includes, for example, a hard disk, a RAM disk, and a non-volatile memory.
- the communication unit 814 is, for example, a network interface.
- the drive 815 drives removable media 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program. Processing is performed.
- the RAM 803 also stores data necessary for the CPU 801 to execute various processes.
- the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
- the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable media 821 to the drive 815.
- the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
- a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be received by the communication unit 814 and installed in the storage unit 813.
- this program can be installed in advance in the ROM 802 or the storage unit 813.
- the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
- the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
- a system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
- the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit). Further, it goes without saying that configurations other than those described above may be added to the configuration of each device (or each processing unit). Furthermore, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
- the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
- each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
- the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
- the image encoding device and the image decoding device are, for example, a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
- the present invention can be applied to various electronic devices such as a recording device which records an image on a medium such as an optical disk, a magnetic disk and a flash memory, or a reproducing device which reproduces an image from the storage medium.
- a recording device which records an image on a medium such as an optical disk, a magnetic disk and a flash memory
- a reproducing device which reproduces an image from the storage medium.
- FIG. 50 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
- the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit.
- a user interface (I / F) unit 911 and a bus 912 are provided.
- the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 which receives a coded stream in which an image is coded.
- the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
- EPG Electronic Program Guide
- the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. Further, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing unit 907.
- the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
- GUI graphical user interface
- the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
- a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
- the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
- the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
- a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives the encoded stream in which the image is encoded.
- the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
- the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
- the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface unit 911 by executing a program.
- the user interface unit 911 is connected to the control unit 910.
- the user interface unit 911 has, for example, buttons and switches for the user to operate the television device 900, and a receiver for remote control signals.
- the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
- the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
- the decoder 904 has the function of the image decoding apparatus 200 according to the above-described embodiment. That is, the decoder 904 correctly decodes the encoded data in which the image data is encoded by any method described in the first to fifth embodiments by the method described in the embodiment. be able to. Therefore, the television apparatus 900 can suppress a reduction in coding efficiency.
- FIG. 51 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
- the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
- a unit 932 and a bus 933 are provided.
- the antenna 921 is connected to the communication unit 922.
- the speaker 924 and the microphone 925 are connected to the audio codec 923.
- the operation unit 932 is connected to the control unit 931.
- the bus 933 mutually connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931.
- the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do the action.
- the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
- the audio codec 923 converts an analog audio signal into audio data, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
- the communication unit 922 encodes and modulates audio data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
- the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
- the audio codec 923 decompresses and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
- a communication unit 922 encodes and modulates electronic mail data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. The communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
- the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
- the control unit 931 causes the display unit 930 to display the contents of the e-mail, and also supplies the e-mail data to the recording and reproduction unit 929 to write the data on the storage medium.
- the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
- the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card Storage media.
- the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
- the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording and reproduction unit 929, and causes the recording medium to write the encoded stream.
- the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the read encoded stream to the image processing unit 927.
- the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the communication unit 922 multiplexes the multiplexed stream.
- Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
- the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
- the transmission signal and the reception signal may include a coded bit stream.
- the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
- the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
- the image processing unit 927 decodes the video stream to generate video data.
- the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
- the audio codec 923 decompresses and D / A converts the audio stream to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the image processing unit 927 has the functions of the image encoding device 100 and the image decoding device 200 according to the above-described embodiment. That is, the image processing unit 927 may encode the image data according to any of the methods described in the first to fifth embodiments, or the encoded data obtained by the encoding may be Correct decoding can be performed by the method described in the embodiment. Thus, the mobile phone 920 can suppress the reduction in coding efficiency.
- FIG. 52 shows an example of a schematic configuration of a recording and reproducing device to which the embodiment described above is applied.
- the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
- the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
- the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
- the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, and control.
- the tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Then, the tuner 941 outputs the coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
- the external interface unit 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
- the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, a flash memory interface, or the like.
- video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing device 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when playing back video and audio.
- the disk drive 945 records and reads data on the mounted recording medium.
- the recording medium mounted on the disk drive 945 is, for example, a DVD (Digital Versatile Disc) disk (DVD-Video, DVD-RAM (DVD-Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD- Rewritable, DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc., Blu-ray (registered trademark) disc, etc. may be used.
- DVD Digital Versatile Disc
- DVD-Video DVD-Video
- DVD-RAM DVD-Random Access Memory
- DVD-R DVD-Recordable
- DVD-RW DVD- Rewritable
- DVD + R DVD + Recordable
- DVD + RW DVD + Rewritable
- Blu-ray registered trademark
- the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of video and audio recording, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
- the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Further, the decoder 947 outputs the generated audio data to an external speaker.
- the OSD 948 reproduces the video data input from the decoder 947 and displays the video.
- the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
- the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
- the memory stores programs executed by the CPU, program data, and the like.
- the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
- the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface unit 950 by executing a program.
- the user interface unit 950 is connected to the control unit 949.
- the user interface unit 950 includes, for example, a button and a switch for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
- the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the encoder 943 has the function of the image coding apparatus 100 according to the embodiment described above. That is, the encoder 943 can encode image data by any of the methods described in the first to fifth embodiments.
- the decoder 947 has the function of the image decoding apparatus 200 according to the above-described embodiment. That is, the decoder 947 correctly decodes the encoded data in which the image data is encoded by any of the methods described in the first to fifth embodiments by the method described in that embodiment. can do. Therefore, the recording / reproducing device 940 can suppress the reduction of the coding efficiency.
- FIG. 53 illustrates an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
- the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
- the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory unit 967, a media drive 968, an OSD 969, and a control unit 970. , A user interface (I / F) unit 971, and a bus 972.
- the optical block 961 is connected to the imaging unit 962.
- the imaging unit 962 is connected to the signal processing unit 963.
- the display unit 965 is connected to the image processing unit 964.
- the user interface unit 971 is connected to the control unit 970.
- the bus 972 mutually connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD 969, and the control unit 970.
- the optical block 961 has a focus lens, an aperture mechanism, and the like.
- the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
- the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
- CCD charge coupled device
- CMOS complementary metal oxide semiconductor
- the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
- the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
- the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. Also, the image processing unit 964 decodes the encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
- the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
- the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
- a GUI such as a menu, a button, or a cursor
- the external interface unit 966 is configured as, for example, a USB input / output terminal.
- the external interface unit 966 connects the imaging device 960 and the printer, for example, when printing an image.
- a drive is connected to the external interface unit 966 as necessary.
- removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
- the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
- the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
- the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
- SSD solid state drive
- the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
- the memory stores programs executed by the CPU, program data, and the like.
- the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
- the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface unit 971 by executing a program.
- the user interface unit 971 is connected to the control unit 970.
- the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
- the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
- the image processing unit 964 has the functions of the image encoding device 100 and the image decoding device 200 according to the above-described embodiment. That is, the image processing unit 964 may encode the image data according to any of the methods described in the first to fifth embodiments, or the encoded data obtained by the encoding may be Correct decoding can be performed by the method described in the embodiment. Therefore, the imaging device 960 can improve the coding efficiency.
- the present technology is also applicable to HTTP streaming, such as MPEG DASH, which selects and uses an appropriate one of a plurality of pieces of encoded data having different resolutions and the like prepared in advance in units of segments. Can. That is, information on encoding and decoding can also be shared among such multiple pieces of encoded data.
- FIG. 54 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
- the video set 1300 shown in FIG. 54 is such a multi-functionalized configuration, and the device having a function related to image encoding and / or decoding may be included in the function. It is a combination of devices with other related functions.
- the video set 1300 includes modules such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and related modules such as connectivity 1321, camera 1322, and sensor 1323. And a device having a function.
- a module is a component that combines several component functions that are related to one another into components with a cohesive function.
- the specific physical configuration is arbitrary, for example, it is conceivable that a plurality of processors having respective functions, electronic circuit elements such as resistors and capacitors, and other devices are disposed and integrated on a wiring board or the like. . It is also conceivable to combine a module with another module or processor to make a new module.
- the video module 1311 is a combination of the configuration having the function related to image processing, and includes an application processor, a video processor, a broadband modem 1333 and an RF module 1334.
- the processor is one in which a configuration having a predetermined function is integrated on a semiconductor chip by SoC (System On a Chip), and there is also one called a system LSI (Large Scale Integration) or the like.
- the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, etc., and a program (software configuration) to be executed using them. And both may be combined.
- a program has a logic circuit and a CPU, a ROM, a RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and another program is executed on the CPU (software configuration) It may be realized by
- the application processor 1331 in FIG. 54 is a processor that executes an application related to image processing.
- the application executed in the application processor 1331 can not only perform arithmetic processing in order to realize a predetermined function, but can also control the configuration inside and outside the video module 1311 such as the video processor 1332 as necessary. .
- the video processor 1332 is a processor having a function related to image encoding and / or decoding.
- the broadband modem 1333 generates analog signals by digitally modulating data (digital signals) to be transmitted by wired or wireless (or both) broadband communications performed via broadband links such as the Internet and public telephone networks. It converts or demodulates an analog signal received by the broadband communication to convert it into data (digital signal).
- the broadband modem 1333 processes arbitrary information such as, for example, image data processed by the video processor 1332, a stream encoded with the image data, an application program, setting data, and the like.
- the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 performs frequency conversion and the like on the baseband signal generated by the broadband modem 1333 to generate an RF signal. Also, for example, the RF module 1334 performs frequency conversion or the like on the RF signal received via the front end module 1314 to generate a baseband signal.
- RF Radio Frequency
- the application processor 1331 and the video processor 1332 may be integrated into one processor.
- the external memory 1312 is a module provided outside the video module 1311 and having a storage device used by the video module 1311.
- the storage device of the external memory 1312 may be realized by any physical configuration, it is generally used to store a large amount of data such as image data in units of frames.
- a relatively inexpensive and large-capacity semiconductor memory such as a dynamic random access memory (DRAM).
- DRAM dynamic random access memory
- the power management module 1313 manages and controls the power supply to the video module 1311 (each configuration in the video module 1311).
- the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit of transmitting and receiving ends on the antenna side). As shown in FIG. 61, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
- the antenna unit 1351 includes an antenna that transmits and receives a wireless signal and a configuration around the antenna.
- the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a wireless signal, and supplies the received wireless signal to the filter 1352 as an electric signal (RF signal).
- the filter 1352 performs filter processing or the like on the RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334.
- the amplification unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies it to the antenna unit 1351.
- the connectivity 1321 is a module having a function related to connection with the outside.
- the physical configuration of the connectivity 1321 is arbitrary.
- the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
- the connectivity 1321 conforms to a wireless communication standard such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity (registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association)
- a module having a function, an antenna that transmits and receives a signal conforming to the standard, or the like may be included.
- the connectivity 1321 has a module having a communication function conforming to a wired communication standard such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI (registered trademark)), or a terminal conforming to the standard. You may do so.
- the connectivity 1321 may have another data (signal) transmission function or the like such as an analog input / output terminal.
- the connectivity 1321 may include a device to which data (signal) is to be transmitted.
- a drive in which the connectivity 1321 reads data from or writes data to a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable media drive but also a hard disk, solid state drive (SSD) , NAS (Network Attached Storage), etc.
- the connectivity 1321 may include an output device (such as a monitor or a speaker) of an image or sound.
- the camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
- the image data obtained by the imaging of the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
- the sensor 1323 is, for example, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
- the data detected by the sensor 1323 is, for example, supplied to the application processor 1331 and used by an application or the like.
- the configuration described above as a module may be realized as a processor, and conversely, the configuration described as a processor may be realized as a module.
- video set 1300 configured as described above, the present technology can be applied to the video processor 1332 as described later.
- video set 1300 can be implemented as a set to which the present technology is applied.
- FIG. 55 shows an example of a schematic configuration of a video processor 1332 (FIG. 54) to which the present technology is applied.
- the video processor 1332 has a function of receiving input of video and audio signals and encoding them in a predetermined scheme, decoding encoded video data and audio data, and And a function of reproducing and outputting an audio signal.
- the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
- the video processor 1332 has an encoding / decoding engine 1407, video ES (Elementary Stream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
- the video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX (Multiplexer)) 1412, a demultiplexer (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
- MUX Multiplexer
- DMUX demultiplexer
- the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 54) or the like, and converts the video signal into digital image data.
- the first image scaling unit 1402 performs format conversion, image scaling processing, and the like on image data.
- the second image scaling unit 1403 performs image scaling processing on the image data according to the format at the output destination via the video output processing unit 1404, or the same as the first image scaling unit 1402. Format conversion, image enlargement / reduction processing, etc.
- the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
- the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
- the frame memory 1405 is realized, for example, as a semiconductor memory such as a DRAM.
- the memory control unit 1406 receives a synchronization signal from the encode / decode engine 1407 and controls write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
- the access control table 1406A is updated by the memory control unit 1406 in accordance with the processing executed by the encoding / decoding engine 1407, the first image scaling unit 1402, the second image scaling unit 1403 and the like.
- the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream which is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the image data as a video stream in the video ES buffer 1408A. Also, for example, the video stream is sequentially read from the video ES buffer 1408 B and decoded, and is sequentially written to the frame memory 1405 as image data. The encoding / decoding engine 1407 uses the frame memory 1405 as a work area in these encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at the timing of starting processing for each macroblock.
- the video ES buffer 1408 A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffer to the multiplexer (MUX) 1412.
- the video ES buffer 1408 B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the video stream to the encode / decode engine 1407.
- the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffer to the multiplexer (MUX) 1412.
- the audio ES buffer 1409 B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the audio stream to the audio decoder 1411.
- the audio encoder 1410 digitally converts, for example, an audio signal input from the connectivity 1321 or the like, and encodes the signal according to a predetermined method such as the MPEG audio method or the AC3 (Audio Code number 3) method.
- the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, into the audio ES buffer 1409A.
- the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, and the like, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 and the like.
- a multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
- the method of this multiplexing ie, the format of the bit stream generated by multiplexing
- the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the format of the stream by multiplexing.
- the multiplexing unit (MUX) 1412 converts a video stream and an audio stream into a transport stream, which is a bit stream of a transfer format, by multiplexing the video stream and the audio stream.
- the multiplexing unit (MUX) 1412 converts the video stream and the audio stream into data (file data) of a file format for recording by multiplexing.
- a demultiplexing unit (DMUX) 1413 demultiplexes a bitstream in which a video stream and an audio stream are multiplexed in a method corresponding to multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from the bit stream read from the stream buffer 1414 (separate the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the format of the stream by demultiplexing (inverse conversion of conversion by the multiplexer (MUX) 1412).
- the demultiplexer unit (DMUX) 1413 acquires a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414, and demultiplexes the transport stream to obtain a video stream and an audio stream. And can be converted to Also, for example, the demultiplexer unit (DMUX) 1413 acquires file data read from various recording media by the connectivity 1321, for example, through the stream buffer 1414, and demultiplexes the file data to obtain a video stream and audio. It can be converted to a stream.
- the stream buffer 1414 buffers the bit stream.
- the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, to the connectivity 1321 or the broadband modem 1333 or the like at a predetermined timing or based on an external request or the like. Supply.
- MUX multiplexing unit
- the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies the file data to, for example, the connectivity 1321 or the like at a predetermined timing or based on an external request or the like, Record on various recording media.
- MUX multiplexing unit
- the stream buffer 1414 buffers the transport stream acquired via, for example, the connectivity 1321 or the broadband modem 1333 or the like, and the demultiplexer unit (DMUX) at a predetermined timing or based on an external request or the like. Supply to 1413.
- DMUX demultiplexer unit
- the stream buffer 1414 buffers file data read from various recording media, for example, in the connectivity 1321 or the like, and at a predetermined timing or based on an external request or the like, the demultiplexer unit (DMUX) 1413. Supply to
- a video signal input from the connectivity 1321 or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2 Y / Cb / Cr format in the video input processing unit 1401, and is converted to frame memory 1405. It will be written sequentially.
- This digital image data is read by the first image scaling unit 1402 or the second image scaling unit 1403, and format conversion and scaling processing to a predetermined format such as 4: 2: 0 Y / Cb / Cr format is performed. And are written to the frame memory 1405 again.
- This image data is encoded by the encoding / decoding engine 1407 and written to the video ES buffer 1408A as a video stream.
- an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream to the audio ES buffer 1409A.
- the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexer (MUX) 1412 and converted to a transport stream or file data.
- the transport stream generated by the multiplexer (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
- the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and the like, and recorded in various recording media.
- a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
- DMUX demultiplexer
- file data read from various recording media in connectivity 1321 and the like and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
- the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal. Also, after the video stream is written to the video ES buffer 1408 B, it is sequentially read and decoded by the encoding / decoding engine 1407 and written to the frame memory 1405. The decoded image data is scaled by the second image scaling unit 1403 and written to the frame memory 1405. Then, the decoded image data is read by the video output processing unit 1404, converted into a predetermined format such as 4: 2: 2 Y / Cb / Cr format, and further converted into an analog signal, and the video signal is converted. Is reproduced and output.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the functions of the image encoding device 100 and the image decoding device 200 according to the above-described embodiment. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 39.
- the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit. It may be realized by software such as an embedded program or may be realized by both of them.
- FIG. 56 shows another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
- the video processor 1332 has a function of encoding and decoding video data in a predetermined scheme.
- the video processor 1332 has a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515. Also, the video processor 1332 has a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
- MUX DMUX multiplexing / demultiplexing unit
- the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the control unit 1511 has, for example, a main CPU 1531, a sub CPU 1532 and a system controller 1533.
- the main CPU 1531 executes a program or the like for controlling the operation of each processing unit in the video processor 1332.
- the main CPU 1531 generates a control signal according to the program or the like and supplies it to each processing unit (that is, controls the operation of each processing unit).
- the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
- the sub CPU 1532 executes a child process or a subroutine of a program or the like executed by the main CPU 1531.
- the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating programs executed by the main CPU 1531 and the sub CPU 1532.
- the display interface 1512 outputs image data to, for example, the connectivity 1321 under the control of the control unit 1511.
- the display interface 1512 converts image data of digital data into an analog signal, and outputs the converted signal as a reproduced video signal or the image data of digital data as it is to a monitor of the connectivity 1321 or the like.
- the display engine 1513 performs various conversion processing such as format conversion, size conversion, color gamut conversion, and the like on the image data under the control of the control unit 1511 so as to match the hardware specifications of the monitor device or the like displaying the image. I do.
- the image processing engine 1514 performs predetermined image processing, such as filter processing for improving the image quality, on the image data under the control of the control unit 1511.
- the internal memory 1515 is a memory provided in the video processor 1332 shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 is used, for example, for data exchange between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and the data is displayed on the display engine 1513, as required (eg, on request).
- the image processing engine 1514 or codec engine 1516 is supplied.
- This internal memory 1515 may be realized by any storage device, but is generally used to store small-capacity data such as image data in units of blocks and parameters, etc. It is desirable to realize by a semiconductor memory that has a relatively small capacity (compared to, for example, the external memory 1312) such as a static random access memory, but has a high response speed.
- the codec engine 1516 performs processing relating to encoding and decoding of image data.
- the encoding / decoding method to which this codec engine 1516 corresponds is arbitrary, and the number may be one or more.
- the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding methods, and one of them may be selected to encode image data or decode encoded data.
- the codec engine 1516 includes, for example, MPEG-2 Video 1541, AVC / H.264 1542, HEVC / H.265 1543, HEVC / H.265 (Scalable) 1544 as the functional blocks of the process related to the codec. It has HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551.
- the MPEG-2 Video 1541 is a functional block that encodes and decodes image data according to the MPEG-2 system.
- AVC / H.2641542 is a functional block that encodes or decodes image data according to the AVC method.
- HEVC / H.2651543 is a functional block that encodes and decodes image data according to the HEVC scheme.
- HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding or scalable decoding of image data according to the HEVC scheme.
- HEVC / H.265 (Multi-view) 1545 is a functional block that performs multi-view coding and multi-view decoding of image data according to the HEVC method.
- the MPEG-DASH 1551 is a functional block that transmits and receives image data in accordance with the MPEG-Dynamic Adaptive Streaming over HTTP (MPEG-DASH) method.
- MPEG-DASH is a technology that performs streaming of video using HTTP (HyperText Transfer Protocol), and selects and transmits, in units of segments, an appropriate one from a plurality of pieces of encoded data having different resolutions prepared in advance and the like. To be one of the features.
- the MPEG-DASH 1551 performs generation of a stream conforming to the standard, transmission control of the stream, and the like, and encoding and decoding of image data can be performed according to the MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above.
- the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 via the memory interface 1517. Also, data read from the external memory 1312 is supplied to the video processor 1332 (image processing engine 1514 or codec engine 1516) via the memory interface 1517.
- a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes or demultiplexes various data related to an image, such as a bit stream of encoded data, an image data, a video signal, and the like.
- the method of multiplexing / demultiplexing is optional.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information etc. to each divided data.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes a bit stream to transport stream, which is a bit stream of transfer format, or data of file format for recording (file data). Can be converted to Of course, inverse conversion is also possible by demultiplexing.
- the network interface 1519 is an interface for, for example, the broadband modem 1333 or the connectivity 1321.
- the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
- a transport stream is received from the external network via the connectivity 1321 or the broadband modem 1333 or the like
- the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519. It is demultiplexed and decoded by the codec engine 1516.
- the image data obtained by the decoding of the codec engine 1516 is subjected, for example, to predetermined image processing by the image processing engine 1514, to predetermined conversion by the display engine 1513, and to, for example, the connectivity 1321 via the display interface 1512.
- the image is supplied and displayed on a monitor.
- image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into file data, and video
- MUX DMUX multiplexing / demultiplexing unit
- the information is output to the connectivity 1321 or the like via the interface 1520 and recorded in various recording media.
- file data of encoded data obtained by encoding image data and read out from a recording medium (not shown) by the connectivity 1321 or the like is multiplexed / demultiplexed (MUX DMUX) via the video interface 1520.
- 1516 are demultiplexed and decoded by codec engine 1516.
- the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. , That image is displayed on the monitor.
- image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream, For example, it is supplied to the connectivity 1321 or the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
- MUX DMUX multiplexing / demultiplexing unit
- image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
- the power management module 1313 controls, for example, the power supply to the control unit 1511.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have functional blocks that implement the image encoding device 100 and the image decoding device 200 according to the above-described embodiment. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 39.
- the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the embodiments described above) may be realized by hardware such as a logic circuit Or the like, or both of them.
- the configuration of the video processor 1332 is arbitrary, and may be other than the two examples described above.
- the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips.
- a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used.
- it may be realized by a plurality of LSIs.
- Video set 1300 can be incorporated into various devices for processing image data.
- the video set 1300 can be incorporated into the television 900 (FIG. 50), the mobile phone 920 (FIG. 51), the recording / reproducing device 940 (FIG. 52), the imaging device 960 (FIG. 53), and the like.
- the device can obtain the same effect as the effect described above with reference to FIGS.
- each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied, as long as the video processor 1332 is included.
- the video processor 1332 can be implemented as a video processor to which the present technology is applied.
- the processor or the video module 1311 or the like indicated by the dotted line 1341 can be implemented as a processor or module or the like to which the present technology is applied.
- the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 may be combined to be implemented as a video unit 1361 to which the present technology is applied.
- the same effects as the effects described above with reference to FIGS. 1 to 39 can be obtained.
- any configuration including the video processor 1332 can be incorporated into various devices that process image data as in the case of the video set 1300.
- the video processor 1332, the processor indicated by the dotted line 1341, the video module 1311 or the video unit 1361 can be used as the television device 900 (FIG. 50), the mobile phone 920 (FIG. 51), the recording / reproducing device 940 (FIG. 52). It can be incorporated into an imaging device 960 (FIG. 53) or the like. Then, by incorporating any of the configurations to which the present technology is applied, the device can obtain the same effects as the effects described above with reference to FIGS. 1 to 39 as in the case of the video set 1300. .
- the method of transmitting such information is not limited to such an example.
- the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
- the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from the image (or bit stream).
- the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
- the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
- the residual prediction unit aligns the bit depths of the residual data among the components by the bit shift when the difference between the bit depths between the two components that perform the prediction is not zero.
- the image processing apparatus according to any one of (1), (2), and (4) to (9).
- the residual prediction unit aligns the bit depths of the residual data among the components by the bit shift and performs the prediction, and the difference between the bit depths is negative.
- the image processing apparatus according to any one of (1) to (3) and (5) to (9), wherein the prediction is omitted.
- the residual prediction unit aligns the bit depths of the residual data among the components by the bit shift and performs the prediction, and the color of the input image
- the prediction is omitted when the space is an RGB space.
- the color space of the input image is a YUV space
- the residual prediction unit performs the prediction by aligning the bit depth of the residual data by the bit shift between the luminance component and the color difference component (1) to (5), (7) to (9)
- the image processing apparatus according to any one of the above.
- the color space of the input image is an RGB space
- the residual prediction unit performs the prediction by aligning the bit depth of the residual data by the bit shift between the G component and the R component or the B component (1) to (6), (8)
- the image processing apparatus according to any one of (9) and (9).
- the residual prediction unit determines a difference in bit depth between two components performing the prediction, and the difference in bit depth with respect to the residual data of one of the two components.
- the image processing apparatus according to any one of (1) to (7) and (9), wherein the prediction is performed by obtaining a difference between difference data and the bit-shifted multiplication result.
- the image processing apparatus according to any one of (1) to (8), wherein the residual prediction unit sets the weighting coefficient common to a plurality of components.
- the prediction is performed by aligning bit depths of the residual data among the components, An image processing method for encoding prediction residual data generated by the prediction.
- a decoding unit that decodes encoded data obtained by encoding prediction residual data, which is a result of prediction between residual data of an image composed of a plurality of components and the predicted image thereof; When the residual data is restored using the prediction residual data obtained by decoding the encoded data by the decoding unit, the bit depths of the residual data are aligned among the components and the restoration is performed.
- An image processing apparatus comprising: (12) The image processing apparatus according to any one of (11) and (13) to (19), wherein the residual restoration unit equalizes the bit depths of the residual data by bit shift.
- the receiver further comprises a receiver for receiving information on the bit depth
- the residual reconstruction unit determines a difference between the bit depths of the two components performing the prediction based on the information on the bit depth received by the reception unit, and based on the determined difference between the bit depths.
- the image processing apparatus according to any one of (11), (12), (14) to (19), wherein the bit depths of the residual data are aligned by performing the bit shift.
- the residual reconstruction unit unifies the bit depths of the residual data by the bit shift when the calculated bit depth difference is not zero (11) to (13), (14) to (19)
- the image processing apparatus according to any one of the above.
- the residual restoration unit performs the restoration by aligning the bit depths of the residual data by the bit shift, and the calculated difference between the bit depths is If negative, the image processing apparatus according to any one of (11) to (14) and (15) to (19).
- the receiving unit further receives information on a color space of the image;
- the residual reconstruction unit may component the bit depth of the residual data by the bit shift when the color space of the image is not an RGB space, based on the information on the color space of the image received by the receiver.
- the image processing apparatus according to any one of (11) to (15) and (17) to (19), in which the restoration is performed by aligning the colors and the color space of the image is an RGB space.
- the color space of the image is a YUV space
- the residual reconstruction unit performs the reconstruction by aligning the bit depths of the residual data by the bit shift between the luminance component and the color difference component (11) to (16), (18), (19) The image processing apparatus according to any one of the above.
- the color space of the image is an RGB space
- the residual reconstruction unit performs the reconstruction by aligning the bit depths of the residual data by the bit shift between the G component and the R component or the B component (11) to (17), (19) The image processing apparatus according to any one of the above.
- the residual restoration unit obtains a difference in bit depth between the two components to be subjected to the restoration, and the bit with respect to the residual data of the restored one component of the two components.
- the bit shift is performed according to the depth difference, the bit-shifted residual data is multiplied by a predetermined weighting coefficient, and the multiplication result is bit-shifted by a predetermined number of bits, the bit shift
- the image processing apparatus according to any one of (11) to (18), wherein the residual data of the other component is restored by adding the multiplication result obtained and the prediction residual data.
- 100 image coding apparatus 121 header processing unit, 122 residual prediction unit, 123 residual restoration unit, 131 SPS processing unit, 132 PPS processing unit, 141 control unit, 142 prediction unit, 151 bit depth difference calculation unit, 152 bits Shift control unit, 153 weight coefficient setting unit, 161 selection unit, 162 right shift unit, 163 left shift unit, 164 weight coefficient multiplication unit, 165 right shift unit, 166 and 167 operation unit, 200 image decoding device, 221 header acquisition unit , 222 residual reconstruction unit, 231 SPS acquisition unit, 232 PPS acquisition unit, 233 weighting coefficient acquisition unit, 241 control unit, 242 restoration unit, 251 bit depth difference calculation unit, 252 bit shift control unit, 261 selection unit, 262 right Shift unit 263 left shift unit, 264 weight coefficient multiplication unit, 265 right shift unit, 266 and 267 operation unit, 311 control unit, 312 prediction unit, 321 bit depth difference calculation unit, 322 bit shift control unit, 351 control unit, 352 restoration unit , 361
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
1.第1の実施の形態(画像符号化装置・画像復号装置)
2.第2の実施の形態(画像符号化装置・画像復号装置)
3.第3の実施の形態(画像符号化装置・画像復号装置)
4.第4の実施の形態(画像符号化装置・画像復号装置)
5.第5の実施の形態(重み係数の共通化)
6.第6の実施の形態(多視点画像符号化装置・多視点画像復号装置)
7.第7の実施の形態(階層画像符号化装置・階層画像復号装置)
8.第8の実施の形態(コンピュータ)
9.第9の実施の形態(応用例)
10.第10の実施の形態(セット・ユニット・モジュール・プロセッサ)
<画像符号化の標準化の流れ>
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16x16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素x2000画素)といった大きな画枠に対して最適ではない。
ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
ところで、HEVCにおいて、444符号化の際に、残差信号に対してコンポーネント間で予測(残差予測とも称する)を行う方法が考えられた(例えば、非特許文献2参照)。
そこで、複数コンポーネントからなる入力画像と予測画像との残差データに対してコンポーネント間で予測(残差予測)を行う際に、その残差データのビット深度をコンポーネント間で揃える(スケーリングを行う)ようにする。このようにすることにより、残差データのビット深度がコンポーネント間で異なる場合であっても、各コンポーネントの残差データのビット深度を揃えて予測を行うことができるので、残差予測を正しく行うことができる。したがって、符号化効率の低減を抑制することができる。
以上のようなビット深度を揃えるビットシフト(シフト演算)の具体例について説明する。このシフト演算方法は任意である。例えば、予測を行う2つのコンポーネント間のビット深度の差が0でない場合、ビットシフトによって残差データのビット深度をコンポーネント間で揃えて予測を行うようにしてもよい。例えば、以下の式(4)のように、コンポーネント間の残差データのビット深度の差分(ビット深度差)を求め、式(5)乃至式(8)のように、そのビット深度差の分だけビットシフトを行うようにしてもよい。その際、ビットシフトは、式(6)や式(8)のように、ビット深度差の絶対値の分だけ行われるようにしてもよい。その場合、例えば、式(5)や式(7)の条件を満たすか否かに応じて、式(6)や式(8)のようにシフト方向が決定されるようにしてもよい。
以上のようなビット深度のスケーリングを行うためには、セマンティクスを図2の例のような記述にすればよい。図2に示されるセマンティクスの下線を付した部分が、上述したスケーリング(例えば、式(5)乃至式(8))に相当する記述である。
図3は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図3に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。なお、以下においては、入力画像の色空間がYUV444である場合を例に説明する。
図4は、図3のヘッダ処理部121および残差予測部122の主な構成例を示すブロック図である。図4に示されるようにヘッダ処理部121は、SPS処理部131およびPPS処理部132を有する。
次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図5のフローチャートを参照して説明する。
次に、このような符号化処理のステップS107において実行される残差予測処理の流れの例を、図6のフローチャートを参照して説明する。
次に、このような残差予測処理のステップS125において実行される予測残差データ生成処理の流れの例を、図7のフローチャートを参照して説明する。
次に、残差予測処理のステップS129において実行される予測残差データ生成処理の流れの例を、図8のフローチャートを参照して説明する。
次に、残差予測処理のステップS132において実行される予測残差データ生成処理の流れの例を、図9のフローチャートを参照して説明する。
次に、以上のように符号化された符号化データ(ビットストリーム)の復号について説明する。残差予測に対応する残差復元を実現する(すなわち、色差成分の残差データを復元する)ためには、式(3)乃至式(8)から明らかなように、残差復元において、残差予測により生成された色差成分の予測残差データに、残差予測に用いられた復元された輝度成分の残差データを加算すればよい。
以上のような残差復元の演算の具体例について説明する。例えば、式(3)のように、残差予測においてビット深度のスケーリングを行わない場合、残差復元においても、以下の式(9)のように、ビット深度のスケーリングを行わないようにすればよい。同様に、残差予測において、例えば式(4)乃至式(8)のように、ビット深度のスケーリングを行う場合、残差復元においても、以下の式(10)乃至式(14)のように、ビット深度のスケーリングを行うようにすればよい。
図10は、本技術を適用した画像処理装置の一態様である、図3の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
図11は、図10のヘッダ取得部221および残差復元部222の主な構成例を示すブロック図である。図11に示されるようにヘッダ取得部221は、SPS取得部231、PPS取得部232、および重み係数取得部233を有する。
次に、画像復号装置200により実行される各処理の流れの例を説明する。最初に、復号処理の流れの例を、図12のフローチャートを参照して説明する。
次に、このような復号処理のステップS205において実行される残差復元処理の流れの例を、図13のフローチャートを参照して説明する。
次に、このような残差復元処理のステップS225において実行される残差データ復元処理の流れの例を、図14のフローチャートを参照して説明する。
次に、残差復元処理のステップS229において実行される残差データ復元処理の流れの例を、図15のフローチャートを参照して説明する。
次に、残差復元処理のステップS232において実行される残差データ復元処理の流れの例を、図16のフローチャートを参照して説明する。
<残差予測の禁止>
なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、残差データのビット深度がコンポーネント間で異なる場合、残差予測を禁止する(予測残差データを算出しない)ようにしてもよい。より具体的には、残差データのビット深度がコンポーネント間で異なる場合、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を用いて、残差予測が行われないように制御するようにしてもよい。例えば、その場合、luma_chroma_prediction_enabled_flagの値を0にするようにしてもよい。このようにすることにより、その情報に対応するピクチャにおいては、残差予測が禁止される(当然、残差復元も行われないようになる)。したがって、不正確な残差予測・残差復元を行わないようにすることができる。つまり、不正確な残差予測・残差復元による符号化効率の低減を抑制することができる。また、ビット深度のスケーリング等の処理を省略することができるので、処理の負荷の増大を抑制することができる。
以上のような制御を行うためには、セマンティクスを図17の例のような記述にすればよい。図17に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図19のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図21のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
<ビット深度のスケーリングと残差予測の禁止の併用>
なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、残差データのビット深度がコンポーネント間で異なり、かつ、算出されたコンポーネント間のビット深度の差が正の場合のみ、ビット深度のスケーリングを行い、算出されたコンポーネント間のビット深度の差が負の場合は、残差予測を禁止する(予測残差データを算出しない)ようにしてもよい。
以上のような制御を行うためには、セマンティクスを図22の例のような記述にすればよい。図22に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図24のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図26のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
<画像の色空間による残差予測制御>
なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、画像の色空間に応じて残差予測・残差復号を行うか否かを制御するようにしてもよい。例えば、基本的に第3の実施の形態で説明したのと同様に残差予測・残差復号の実行を制御し、さらに、符号化・復号対象の画像の色空間がRGBの場合、残差予測・残差復号を禁止するようにしてもよい。
以上のような制御を行うためには、セマンティクスを図27の例のような記述にすればよい。図27に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図29のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図31のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
<重み係数の共通化>
なお、以上においては、重み係数設定部153が、コンポーネント毎に独立に重み係数αを設定するように説明したが、これに限らず、重み係数設定部153が、複数のコンポーネントに共通の重み係数αを設定するようにしてもよい。例えば、重み係数設定部153が、色差成分Crと色差成分Cbの両方に共通の重み係数αを設定するようにしてもよい。
図32に、重み係数αをコンポーネント毎に独立に設定する場合の、重み係数αを伝送するTUのシンタクスの例を示す。この場合、図32の斜線模様で示される部分のように、重み係数αを伝送すrための条件判定が、色差成分Crと色差成分Cbのそれぞれについて行われ、色差成分Crと色差成分Cbのそれぞれについて重み係数αの伝送(luma_chroma_pred()の呼び出し)が行われる。また、その重み係数αの伝送において、色差成分(Chroma)のコンポーネント番号(c)を指定する必要がある(例えば、luma_chroma_pred(x0,y0,c)の"c"。図32の例では、c="0"or"1")。
<多視点画像符号化・多視点画像復号への適用>
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図40は、多視点画像符号化方式の一例を示す。
図41は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図41に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
図42は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図42に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
<階層画像符号化・階層画像復号への適用>
また、上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図43は、階層画像符号化方式の一例を示す。
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図44に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図44に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
図47は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図47に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
図48は、上述した階層画像復号を行う階層画像復号装置を示す図である。図48に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<第1の応用例:テレビジョン受像機>
図50は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
図51は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
図52は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
図53は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
<実施のその他の例>
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
本技術をセットとして実施する場合の例について、図54を参照して説明する。図54は、本技術を適用したビデオセットの概略的な構成の一例を示している。
図55は、本技術を適用したビデオプロセッサ1332(図54)の概略的な構成の一例を示している。
図56は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図56の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図50)、携帯電話機920(図51)、記録再生装置940(図52)、撮像装置960(図53)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
(1) 複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行う残差予測部と、
前記残差予測部による前記予測により生成された予測残差データを符号化する符号化部と
を備える画像処理装置。
(2) 前記残差予測部は、ビットシフトによって前記残差データの前記ビット深度を揃える
(1)、(3)乃至(9)のいずれかに記載の画像処理装置。
(3) 前記残差予測部は、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行う
(1)、(2)、(4)乃至(9)のいずれかに記載の画像処理装置。
(4) 前記残差予測部は、前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記ビット深度の差が負の場合、前記予測を省略する
(1)乃至(3)、(5)乃至(9)のいずれかに記載の画像処理装置。
(5) 前記残差予測部は、前記入力画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記入力画像の色空間がRGB空間の場合、前記予測を省略する
(1)乃至(4)、(6)乃至(9)のいずれかに記載の画像処理装置。
(6) 前記入力画像の色空間がYUV空間であり、
前記残差予測部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
(1)乃至(5)、(7)乃至(9)のいずれかに記載の画像処理装置。
(7) 前記入力画像の色空間がRGB空間であり、
前記残差予測部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
(1)乃至(6)、(8)、(9)のいずれかに記載の画像処理装置。
(8) 前記残差予測部は、前記予測を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、他方のコンポーネントの前記残差データと前記ビットシフトされた前記乗算結果との差分を求めることにより、前記予測を行う
(1)乃至(7)、(9)のいずれかに記載の画像処理装置。
(9) 前記残差予測部は、複数のコンポーネントで共通の前記重み係数を設定する
(1)乃至(8)のいずれかに記載の画像処理装置。
(10) 複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行い、
前記予測により生成された予測残差データを符号化する
画像処理方法。
(11) 複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う残差復元部と
を備える画像処理装置。
(12) 前記残差復元部は、ビットシフトによって前記残差データの前記ビット深度を揃える
(11)、(13)乃至(19)のいずれかに記載の画像処理装置。
(13) 前記ビット深度に関する情報を受け取る受け取り部をさらに備え、
前記残差復元部は、前記受け取り部により受け取られた前記ビット深度に関する情報に基づいて、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差を求め、求めた前記ビット深度の差に基づいて前記ビットシフトを行うことにより、前記残差データの前記ビット深度を揃える
(11)、(12)、(14)乃至(19)のいずれかに記載の画像処理装置。
(14) 前記残差復元部は、求めた前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度を揃える
(11)乃至(13)、(14)乃至(19)のいずれかに記載の画像処理装置。
(15) 前記残差復元部は、求めた前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行い、求めた前記ビット深度の差が負の場合、前記復元を省略する
(11)乃至(14)、(15)乃至(19)のいずれかに記載の画像処理装置。
(16) 前記受け取り部は、前記画像の色空間に関する情報をさらに受け取り、
前記残差復元部は、前記受け取り部により受け取られた前記画像の色空間に関する情報に基づいて、前記画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記復元を行い、前記画像の色空間がRGB空間の場合、前記復元を省略する
(11)乃至(15)、(17)乃至(19)のいずれかに記載の画像処理装置。
(17) 前記画像の色空間がYUV空間であり、
前記残差復元部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
(11)乃至(16)、(18)、(19)のいずれかに記載の画像処理装置。
(18) 前記画像の色空間がRGB空間であり、
前記残差復元部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
(11)乃至(17)、(19)のいずれかに記載の画像処理装置。
(19) 前記残差復元部は、前記復元を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの復元済みの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、前記ビットシフトされた前記乗算結果と前記予測残差データとを加算することにより、他方のコンポーネントの前記残差データの前記復元を行う
(11)乃至(18)のいずれかに記載の画像処理装置。
(20) 複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号し、
前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う
画像処理方法。
Claims (20)
- 複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行う残差予測部と、
前記残差予測部による前記予測により生成された予測残差データを符号化する符号化部と
を備える画像処理装置。 - 前記残差予測部は、ビットシフトによって前記残差データの前記ビット深度を揃える
請求項1に記載の画像処理装置。 - 前記残差予測部は、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行う
請求項2に記載の画像処理装置。 - 前記残差予測部は、前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記ビット深度の差が負の場合、前記予測を省略する
請求項3に記載の画像処理装置。 - 前記残差予測部は、前記入力画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記入力画像の色空間がRGB空間の場合、前記予測を省略する
請求項2に記載の画像処理装置。 - 前記入力画像の色空間がYUV空間であり、
前記残差予測部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
請求項2に記載の画像処理装置。 - 前記入力画像の色空間がRGB空間であり、
前記残差予測部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
請求項2に記載の画像処理装置。 - 前記残差予測部は、前記予測を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、他方のコンポーネントの前記残差データと前記ビットシフトされた前記乗算結果との差分を求めることにより、前記予測を行う
請求項2に記載の画像処理装置。 - 前記残差予測部は、複数のコンポーネントで共通の前記重み係数を設定する
請求項8に記載の画像処理装置。 - 複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行い、
前記予測により生成された予測残差データを符号化する
画像処理方法。 - 複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う残差復元部と
を備える画像処理装置。 - 前記残差復元部は、ビットシフトによって前記残差データの前記ビット深度を揃える
請求項11に記載の画像処理装置。 - 前記ビット深度に関する情報を受け取る受け取り部をさらに備え、
前記残差復元部は、前記受け取り部により受け取られた前記ビット深度に関する情報に基づいて、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差を求め、求めた前記ビット深度の差に基づいて前記ビットシフトを行うことにより、前記残差データの前記ビット深度を揃える
請求項12に記載の画像処理装置。 - 前記残差復元部は、求めた前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度を揃える
請求項13に記載の画像処理装置。 - 前記残差復元部は、求めた前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行い、求めた前記ビット深度の差が負の場合、前記復元を省略する
請求項13に記載の画像処理装置。 - 前記受け取り部は、前記画像の色空間に関する情報をさらに受け取り、
前記残差復元部は、前記受け取り部により受け取られた前記画像の色空間に関する情報に基づいて、前記画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記復元を行い、前記画像の色空間がRGB空間の場合、前記復元を省略する
請求項13に記載の画像処理装置。 - 前記画像の色空間がYUV空間であり、
前記残差復元部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
請求項12に記載の画像処理装置。 - 前記画像の色空間がRGB空間であり、
前記残差復元部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
請求項12に記載の画像処理装置。 - 前記残差復元部は、前記復元を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの復元済みの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、前記ビットシフトされた前記乗算結果と前記予測残差データとを加算することにより、他方のコンポーネントの前記残差データの前記復元を行う
請求項12に記載の画像処理装置。 - 複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号し、
前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う
画像処理方法。
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480069944.2A CN105850134B (zh) | 2013-12-27 | 2014-12-12 | 图像处理装置及方法 |
CA2933563A CA2933563C (en) | 2013-12-27 | 2014-12-12 | Image processing apparatus and method |
MX2016008171A MX364028B (es) | 2013-12-27 | 2014-12-12 | Aparato y metodo de procesamiento de imagenes. |
EP14874039.2A EP3041235A4 (en) | 2013-12-27 | 2014-12-12 | Image processing device and method |
KR1020167015632A KR102336932B1 (ko) | 2013-12-27 | 2014-12-12 | 화상 처리 장치 및 방법 |
BR112016014478-3A BR112016014478B1 (pt) | 2013-12-27 | 2014-12-12 | Aparelho e método de processamento de imagem |
RU2016124469A RU2663359C1 (ru) | 2013-12-27 | 2014-12-12 | Устройство и способ обработки изображений |
CN202010026450.3A CN111314694B (zh) | 2013-12-27 | 2014-12-12 | 图像处理装置及方法 |
US15/034,753 US10623752B2 (en) | 2013-12-27 | 2014-12-12 | Image processing apparatus and method |
JP2015554739A JP6451999B2 (ja) | 2013-12-27 | 2014-12-12 | 画像処理装置および方法 |
AU2014371486A AU2014371486B2 (en) | 2013-12-27 | 2014-12-12 | Image processing device and method |
US16/783,716 US20200177894A1 (en) | 2013-12-27 | 2020-02-06 | Image processing apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013272941 | 2013-12-27 | ||
JP2013-272941 | 2013-12-27 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/034,753 A-371-Of-International US10623752B2 (en) | 2013-12-27 | 2014-12-12 | Image processing apparatus and method |
US16/783,716 Continuation US20200177894A1 (en) | 2013-12-27 | 2020-02-06 | Image processing apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015098562A1 true WO2015098562A1 (ja) | 2015-07-02 |
Family
ID=53478426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/082923 WO2015098562A1 (ja) | 2013-12-27 | 2014-12-12 | 画像処理装置および方法 |
Country Status (11)
Country | Link |
---|---|
US (2) | US10623752B2 (ja) |
EP (1) | EP3041235A4 (ja) |
JP (1) | JP6451999B2 (ja) |
KR (1) | KR102336932B1 (ja) |
CN (2) | CN111314694B (ja) |
AU (1) | AU2014371486B2 (ja) |
CA (1) | CA2933563C (ja) |
MX (1) | MX364028B (ja) |
MY (1) | MY178498A (ja) |
RU (1) | RU2663359C1 (ja) |
WO (1) | WO2015098562A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361933A (zh) * | 2018-11-13 | 2019-02-19 | 仲恺农业工程学院 | 一种音视频信息处理方法 |
US10750186B2 (en) | 2016-01-27 | 2020-08-18 | Fujitsu Limited | Information processing apparatus and information processing method for coding |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102555096B1 (ko) * | 2016-06-09 | 2023-07-13 | 엘지디스플레이 주식회사 | 데이터 압축 방법 및 이를 이용한 유기 발광 다이오드 표시 장치 |
JP6822123B2 (ja) | 2016-12-19 | 2021-01-27 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP7005250B2 (ja) * | 2017-09-21 | 2022-01-21 | キヤノン株式会社 | 現像剤補給容器 |
WO2019159696A1 (ja) * | 2018-02-14 | 2019-08-22 | ソニー株式会社 | 画像処理装置および方法 |
JP7165018B2 (ja) * | 2018-10-03 | 2022-11-02 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US20230239504A1 (en) * | 2020-06-02 | 2023-07-27 | Sharp Kabushiki Kaisha | Video decoding apparatus and video coding apparatus |
CN113408709B (zh) * | 2021-07-12 | 2023-04-07 | 浙江大学 | 基于单元重要度的条件计算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050259730A1 (en) * | 2004-05-18 | 2005-11-24 | Sharp Laboratories Of America, Inc. | Video coding with residual color conversion using reversible YCoCg |
JP2006086793A (ja) * | 2004-09-16 | 2006-03-30 | Fuji Xerox Co Ltd | 符号化装置、符号化方法及びそのプログラム |
JP2012074918A (ja) * | 2010-09-29 | 2012-04-12 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム |
JP2013258651A (ja) * | 2012-06-14 | 2013-12-26 | Kddi Corp | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100772873B1 (ko) * | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 |
JP5155157B2 (ja) * | 2006-05-12 | 2013-02-27 | パナソニック株式会社 | 動画像復号化装置 |
EP1933565A1 (en) * | 2006-12-14 | 2008-06-18 | THOMSON Licensing | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction |
JP4356028B2 (ja) * | 2007-05-17 | 2009-11-04 | ソニー株式会社 | 情報処理装置および方法 |
US8737474B2 (en) * | 2007-06-27 | 2014-05-27 | Thomson Licensing | Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability |
JP5534521B2 (ja) * | 2007-10-15 | 2014-07-02 | トムソン ライセンシング | スケーラブルなビデオのためにレイヤー間残差予測を行う方法および装置 |
CA2807545C (en) * | 2011-02-22 | 2018-04-10 | Panasonic Corporation | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
JP2013223035A (ja) * | 2012-04-13 | 2013-10-28 | Canon Inc | 画像復号装置、画像復号方法及びプログラム |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9648330B2 (en) * | 2013-07-15 | 2017-05-09 | Qualcomm Incorporated | Inter-color component residual prediction |
US9648332B2 (en) | 2013-10-28 | 2017-05-09 | Qualcomm Incorporated | Adaptive inter-color component residual prediction |
US10397607B2 (en) * | 2013-11-01 | 2019-08-27 | Qualcomm Incorporated | Color residual prediction for video coding |
-
2014
- 2014-12-12 MX MX2016008171A patent/MX364028B/es active IP Right Grant
- 2014-12-12 CN CN202010026450.3A patent/CN111314694B/zh active Active
- 2014-12-12 WO PCT/JP2014/082923 patent/WO2015098562A1/ja active Application Filing
- 2014-12-12 EP EP14874039.2A patent/EP3041235A4/en not_active Ceased
- 2014-12-12 JP JP2015554739A patent/JP6451999B2/ja active Active
- 2014-12-12 MY MYPI2016702280A patent/MY178498A/en unknown
- 2014-12-12 KR KR1020167015632A patent/KR102336932B1/ko active IP Right Grant
- 2014-12-12 RU RU2016124469A patent/RU2663359C1/ru active
- 2014-12-12 CA CA2933563A patent/CA2933563C/en active Active
- 2014-12-12 CN CN201480069944.2A patent/CN105850134B/zh active Active
- 2014-12-12 US US15/034,753 patent/US10623752B2/en active Active
- 2014-12-12 AU AU2014371486A patent/AU2014371486B2/en active Active
-
2020
- 2020-02-06 US US16/783,716 patent/US20200177894A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050259730A1 (en) * | 2004-05-18 | 2005-11-24 | Sharp Laboratories Of America, Inc. | Video coding with residual color conversion using reversible YCoCg |
JP2006086793A (ja) * | 2004-09-16 | 2006-03-30 | Fuji Xerox Co Ltd | 符号化装置、符号化方法及びそのプログラム |
JP2012074918A (ja) * | 2010-09-29 | 2012-04-12 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム |
JP2013258651A (ja) * | 2012-06-14 | 2013-12-26 | Kddi Corp | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム |
Non-Patent Citations (5)
Title |
---|
BENJAMIN BROSS; WOO-JIN HAN; JENS-RAINER OHM; GARY J. SULLIVAN; YE-KUI WANG; THOMAS WIEGAND: "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call", JCTVC-L1003_VERSION 34, 19 March 2013 (2013-03-19) |
See also references of EP3041235A4 |
WEI PU ET AL.: "Non-RCE1: Inter Color Component Residual Prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-N0266, ITU-T, 30 July 2013 (2013-07-30), pages 1 - 7, XP030114790 * |
WEI PU ET AL.: "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-00202_V3, ITU-T, pages 1 - 10, XP030115245 * |
WEI PU; WOO-SHIK KIM; JIANLE CHEN; JOEL SOLE; MARTA KARCZEWICZ: "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JCTVC-00202, 11 November 2013 (2013-11-11) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10750186B2 (en) | 2016-01-27 | 2020-08-18 | Fujitsu Limited | Information processing apparatus and information processing method for coding |
CN109361933A (zh) * | 2018-11-13 | 2019-02-19 | 仲恺农业工程学院 | 一种音视频信息处理方法 |
CN109361933B (zh) * | 2018-11-13 | 2019-11-05 | 仲恺农业工程学院 | 一种音视频信息处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US10623752B2 (en) | 2020-04-14 |
EP3041235A1 (en) | 2016-07-06 |
CN111314694A (zh) | 2020-06-19 |
MX2016008171A (es) | 2016-10-21 |
CN105850134B (zh) | 2020-02-14 |
AU2014371486A1 (en) | 2016-05-05 |
KR20160102987A (ko) | 2016-08-31 |
RU2663359C1 (ru) | 2018-08-03 |
JPWO2015098562A1 (ja) | 2017-03-23 |
EP3041235A4 (en) | 2017-03-22 |
RU2016124469A (ru) | 2017-12-25 |
MX364028B (es) | 2019-04-11 |
US20200177894A1 (en) | 2020-06-04 |
AU2014371486B2 (en) | 2019-05-02 |
CN105850134A (zh) | 2016-08-10 |
CN111314694B (zh) | 2023-05-05 |
MY178498A (en) | 2020-10-14 |
US20160261876A1 (en) | 2016-09-08 |
BR112016014478A2 (pt) | 2020-09-08 |
CA2933563C (en) | 2022-02-22 |
KR102336932B1 (ko) | 2021-12-08 |
JP6451999B2 (ja) | 2019-01-16 |
CA2933563A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10142634B2 (en) | Image processing apparatus and method | |
JP6642631B2 (ja) | 画像復号装置および方法 | |
JP6451999B2 (ja) | 画像処理装置および方法 | |
WO2012124461A1 (ja) | 画像処理装置および方法 | |
WO2015133320A1 (ja) | 画像符号化装置および方法 | |
JP6654434B2 (ja) | 画像処理装置および方法 | |
WO2015064403A1 (ja) | 画像処理装置および方法 | |
WO2015056566A1 (ja) | 画像処理装置および方法 | |
WO2014156707A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14874039 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014874039 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014874039 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2014371486 Country of ref document: AU Date of ref document: 20141212 Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15034753 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2015554739 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2933563 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 20167015632 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2016124469 Country of ref document: RU Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2016/008171 Country of ref document: MX |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016014478 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112016014478 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160620 |
|
ENPC | Correction to former announcement of entry into national phase, pct application did not enter into the national phase |
Ref document number: 112016014478 Country of ref document: BR Kind code of ref document: A2 Free format text: ANULADA A PUBLICACAO CODIGO 1.3 NA RPI NO 2431 DE 08/08/2017 POR TER SIDO INDEVIDA. |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01E Ref document number: 112016014478 Country of ref document: BR Kind code of ref document: A2 Free format text: REAPRESENTE A DECLARACAO REFERENTE AO DOCUMENTO DE PRIORIDADE DEVIDAMENTE ASSINADA, CONFORME ART. 408 C/C ART. 410, II, DO CODIGO DE PROCESSO CIVIL. |
|
ENP | Entry into the national phase |
Ref document number: 112016014478 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160620 |