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

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

Info

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
Application number
PCT/JP2014/082923
Other languages
English (en)
French (fr)
Inventor
央二 中神
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to BR112016014478-3A priority Critical patent/BR112016014478B1/pt
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CA2933563A priority patent/CA2933563C/en
Priority to MX2016008171A priority patent/MX364028B/es
Priority to EP14874039.2A priority patent/EP3041235A4/en
Priority to KR1020167015632A priority patent/KR102336932B1/ko
Priority to CN201480069944.2A priority patent/CN105850134B/zh
Priority to RU2016124469A priority patent/RU2663359C1/ru
Priority to JP2015554739A priority patent/JP6451999B2/ja
Priority to US15/034,753 priority patent/US10623752B2/en
Priority to CN202010026450.3A priority patent/CN111314694B/zh
Priority to AU2014371486A priority patent/AU2014371486B2/en
Publication of WO2015098562A1 publication Critical patent/WO2015098562A1/ja
Priority to US16/783,716 priority patent/US20200177894A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive 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

画像処理装置および方法
 本開示は画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 近年、イメージセンサ等において生成され、デモザイク処理等が行われる前の画像データであるRAWデータの圧縮の要求が高まっている。
 また、画像データの符号化方式としてMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)がある。近年、更なる符号化効率の向上を目的として、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)と、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 このような符号化方式において、残差信号に対してコンポーネント間で予測を行う方法が考えられた(例えば、非特許文献2参照)。
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, 2013-03-19 Wei Pu, Woo-Shik Kim, Jianle Chen, Joel Sole, Marta Karczewicz, "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JCTVC-O0202,2013-11-11
 ところで、各コンポーネントのデータのビット深度は、一般的に互いに独立であるため、互いに異なる値が設定される可能性がある。しかしながら、非特許文献2に記載の方法では、そのようにビット深度が異なるコンポーネント間での予測は想定されておらず、予測を正しく行うことができずに符号化効率が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行う残差予測部と、前記残差予測部による前記予測により生成された予測残差データを符号化する符号化部とを備える画像処理装置である。
 前記残差予測部は、ビットシフトによって前記残差データの前記ビット深度を揃えることができる。
 前記残差予測部は、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行うことができる。
 前記残差予測部は、前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記ビット深度の差が負の場合、前記予測を省略することができる。
 前記残差予測部は、前記入力画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記入力画像の色空間がRGB空間の場合、前記予測を省略することができる。
 前記入力画像の色空間がYUV空間であり、前記残差予測部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行うことができる。
 前記入力画像の色空間がRGB空間であり、前記残差予測部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行うことができる。
 前記残差予測部は、前記予測を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、他方のコンポーネントの前記残差データと前記ビットシフトされた前記乗算結果との差分を求めることにより、前記予測を行うことができる。
 前記残差予測部は、複数のコンポーネントで共通の前記重み係数を設定することができる。
 本技術の一側面の画像処理方法は、複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行い、前記予測により生成された予測残差データを符号化する画像処理方法である。
 本技術の他の側面の画像処理装置は、複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号する復号部と、前記復号部により前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う残差復元部とを備える画像処理装置である。
 前記残差復元部は、ビットシフトによって前記残差データの前記ビット深度を揃えることができる。
 前記ビット深度に関する情報を受け取る受け取り部をさらに備え、前記残差復元部は、前記受け取り部により受け取られた前記ビット深度に関する情報に基づいて、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差を求め、求めた前記ビット深度の差に基づいて前記ビットシフトを行うことにより、前記残差データの前記ビット深度を揃えることができる。
 前記残差復元部は、求めた前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度を揃えることができる。
 前記残差復元部は、求めた前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行い、求めた前記ビット深度の差が負の場合、前記復元を省略することができる。
 前記受け取り部は、前記画像の色空間に関する情報をさらに受け取り、前記残差復元部は、前記受け取り部により受け取られた前記画像の色空間に関する情報に基づいて、前記画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記復元を行い、前記画像の色空間がRGB空間の場合、前記復元を省略することができる。
 前記画像の色空間がYUV空間であり、前記残差復元部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行うことができる。
 前記画像の色空間がRGB空間であり、前記残差復元部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行うことができる。
 前記残差復元部は、前記復元を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの復元済みの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、前記ビットシフトされた前記乗算結果と前記予測残差データとを加算することにより、他方のコンポーネントの前記残差データの前記復元を行うことができる。
 本技術の他の側面の画像処理方法は、複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号し、前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う画像処理方法である。
 本技術の一側面においては、複数コンポーネントからなる入力画像と予測画像との残差データに対してコンポーネント間で予測を行う際に、残差データのビット深度がコンポーネント間で揃えられて予測が行われ、予測により生成された予測残差データが符号化される。
 本技術の他の側面においては、複数コンポーネントからなる画像とその予測画像との残差データのコンポーネント間の予測結果である予測残差データが符号化された符号化データが復号され、符号化データが復号されて得られた予測残差データを用いて残差データの復元を行う際に、残差データのビット深度がコンポーネント間で揃えられて復元が行われる。
 本開示によれば、画像を符号化・復号することができる。特に、符号化効率の低減を抑制することができる。
コーディングユニットの構成例を説明する図である。 セマンティクスの例を示す図である。 画像符号化装置の主な構成例を示すブロック図である。 ヘッダ処理部および残差予測部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 残差予測処理の流れの例を説明するフローチャートである。 予測残差データ生成処理の流れの例を説明するフローチャートである。 予測残差データ生成処理の流れの例を説明するフローチャートである。 予測残差データ生成処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 ヘッダ取得部および残差復元部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 残差復元処理の流れの例を説明するフローチャートである。 残差データ復元処理の流れの例を説明するフローチャートである。 残差データ復元処理の流れの例を説明するフローチャートである。 残差データ復元処理の流れの例を説明するフローチャートである。 セマンティクスの例を示す図である。 ヘッダ処理部および残差予測部の主な構成例を示すブロック図である。 残差予測処理の流れの例を説明するフローチャートである。 ヘッダ取得部および残差復元部の主な構成例を示すブロック図である。 残差復元処理の流れの例を説明するフローチャートである。 セマンティクスの例を示す図である。 ヘッダ処理部および残差予測部の主な構成例を示すブロック図である。 残差予測処理の流れの例を説明するフローチャートである。 ヘッダ取得部および残差復元部の主な構成例を示すブロック図である。 残差復元処理の流れの例を説明するフローチャートである。 セマンティクスの例を示す図である。 ヘッダ処理部および残差予測部の主な構成例を示すブロック図である。 残差予測処理の流れの例を説明するフローチャートである。 ヘッダ取得部および残差復元部の主な構成例を示すブロック図である。 残差復元処理の流れの例を説明するフローチャートである。 シンタクスの例を示す図である。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 シンタクスの例を示す図である。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置・画像復号装置)
 2.第2の実施の形態(画像符号化装置・画像復号装置)
 3.第3の実施の形態(画像符号化装置・画像復号装置)
 4.第4の実施の形態(画像符号化装置・画像復号装置)
 5.第5の実施の形態(重み係数の共通化)
 6.第6の実施の形態(多視点画像符号化装置・多視点画像復号装置)
 7.第7の実施の形態(階層画像符号化装置・階層画像復号装置)
 8.第8の実施の形態(コンピュータ)
 9.第9の実施の形態(応用例)
 10.第10の実施の形態(セット・ユニット・モジュール・プロセッサ)
 <1.第1の実施の形態>
  <画像符号化の標準化の流れ>
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720x480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)を割り当てることができる。また、MPEG2圧縮方式を用いることにより、例えば1920x1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)を割り当てることができる。これにより、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進められた。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000x2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。HEVC規格については、2013年1月にドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
  <符号化方式>
 以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
  <コーディングユニット>
 AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16x16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素x2000画素)といった大きな画枠に対して最適ではない。
 これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16x16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2Nx2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、NxNの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4x4及び8x8に加え、16x16及び32x32直交変換を用いることが可能である。
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128x128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
 よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
 また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
  <モード選択>
 ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(1)のように示される。
Figure JPOXMLDOC01-appb-M000001
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
Figure JPOXMLDOC01-appb-M000002
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
  <残差予測>
 ところで、HEVCにおいて、444符号化の際に、残差信号に対してコンポーネント間で予測(残差予測とも称する)を行う方法が考えられた(例えば、非特許文献2参照)。
 この非特許文献2に記載の方法では、色差成分(Cb/Cr)(または、R成分やB成分)に対して、輝度成分(Y)(またはG成分)を用いて以下の式(3)ように予測が行われる。
Figure JPOXMLDOC01-appb-M000003
 ここで、rc(x,y)は、色差成分(CbまたはCr)の残差データ(入力画像と予測画像の差分)を示す。また、rL(x,y)は、輝度成分(Y)の残差データ(入力画像と予測画像の差分)を示す。さらに、Δrc(x,y)は、残差予測の予測結果(色差成分(CbまたはCr)の残差データを輝度成分(Y)の残差データで予測したもの)(予測残差データとも称する)を示す。なお、これらにおいて、x,yは、画像内の位置(座標)を示す。
 また、αは、重み係数を示し、±(0,1,2,4,8)のいずれかの値をとる。この値は、TU単位で設定される(すなわち、TU単位で復号側に伝送される)。さらに、>>は、右方向へのビットシフト(右シフト)を示す。例えば、>>nは、nビット分の右シフトを示す。
 なお、このような残差予測を行うか否かがピクチャパラメータセット(PPS(Picture Parameter Set))単位で制御される。つまり、このような残差予測を行うか否かを制御するOn/OffフラグがPPSにおいて復号側に伝送される。
 ところで、各コンポーネントのデータのビット深度は、一般的に互いに独立であるため、互いに異なる値が設定される可能性がある。しかしながら、上述した式(3)に示されるように、非特許文献2に記載の予測方法では、各コンポーネントの残差データ(輝度成分や色差成分)のビット深度は互いに同一であることが前提であり、コンポーネント間で残差データのビット深度が異なるケースについては想定されていなかった。つまり、式(3)のような予測では、コンポーネント間で残差データのビット深度が異なる場合には正しい予測を行うことができず、符号化効率が低減するおそれがあった。
  <ビット深度のスケーリング>
 そこで、複数コンポーネントからなる入力画像と予測画像との残差データに対してコンポーネント間で予測(残差予測)を行う際に、その残差データのビット深度をコンポーネント間で揃える(スケーリングを行う)ようにする。このようにすることにより、残差データのビット深度がコンポーネント間で異なる場合であっても、各コンポーネントの残差データのビット深度を揃えて予測を行うことができるので、残差予測を正しく行うことができる。したがって、符号化効率の低減を抑制することができる。
 コンポーネント間で残差データのビット深度を揃える方法は任意であるが、例えば、残差データをビットシフトすることにより、コンポーネント間で残差データのビット深度を揃えるようにしてもよい。このようにすることにより、容易にコンポーネント間で残差データのビット深度を揃えることができる。すなわち、処理の負荷や処理時間を低減させることができる。
 また、このように残差データのビット深度を揃える入力画像の色空間は任意である。例えば、YUV空間(YUV444等)であってもよいし、RGB空間(RGB444等)であってもよい。例えば、入力画像がYUV空間の場合、輝度成分と色差成分との間で、ビットシフトによって残差データのビット深度を揃えて予測を行うようにしてもよい。より具体的には、例えば、輝度成分のビット深度をビットシフトによって色差成分のビット深度に揃えてから予測を行うようにしてもよい。また例えば、入力画像がRGB空間の場合、G成分とR成分またはB成分との間で、ビットシフトによって残差データのビット深度を揃えて予測を行うようにしてもよい。より具体的には、例えば、G成分のビット深度をビットシフトによってR成分やB成分のビット深度に揃えてから予測を行うようにしてもよい。
  <シフト演算>
 以上のようなビット深度を揃えるビットシフト(シフト演算)の具体例について説明する。このシフト演算方法は任意である。例えば、予測を行う2つのコンポーネント間のビット深度の差が0でない場合、ビットシフトによって残差データのビット深度をコンポーネント間で揃えて予測を行うようにしてもよい。例えば、以下の式(4)のように、コンポーネント間の残差データのビット深度の差分(ビット深度差)を求め、式(5)乃至式(8)のように、そのビット深度差の分だけビットシフトを行うようにしてもよい。その際、ビットシフトは、式(6)や式(8)のように、ビット深度差の絶対値の分だけ行われるようにしてもよい。その場合、例えば、式(5)や式(7)の条件を満たすか否かに応じて、式(6)や式(8)のようにシフト方向が決定されるようにしてもよい。
Figure JPOXMLDOC01-appb-M000004
 式(4)乃至式(8)において、BitDepthYは、輝度成分(Y)の残差データのビット深度を示す。BitDepthCは、色差成分(CbまたはCr)の残差データのビット深度を示す。Δbitdepthは、コンポーネント間のビット深度差(輝度成分(Y)の残差データのビット深度(BitDepthY)と色差成分(CbまたはCr)の残差データのビット深度(BitDepthC)との差)を示す。
 また、rc(x,y)は、色差成分(CbまたはCr)の残差データを示す。また、rL(x,y)は、輝度成分(Y)の残差データを示す。さらに、Δrc(x,y)は、コンポーネント間の予測残差データ(色差成分(CbまたはCr)の残差データを輝度成分(Y)の残差データで予測したもの)を示す。なお、これらにおいて、x,yは、画像内の位置(座標)を示す。
 また、αは、重み係数を示す。このαの値は任意であるが、例えば±(0,1,2,4,8)のいずれかの値に設定される。この値は、TU単位で設定される(すなわち、TU単位で復号側に伝送される)。さらに、>>は、右方向へのビットシフト(右シフト)を示し、<<は、左方向へのビットシフト(左シフト)を示す。例えば、>>nは、nビット分の右シフトを示し、<<mは、mビット分の左シフトを示す。
 この例の場合、式(4)乃至式(8)に示されるように、式(4)により、コンポーネント間のビット深度差(Δbitdepth)が算出される。そして、この値が式(5)の条件を満たす場合、すなわち、Δbitdepthが0以上の場合、予測残差データ(Δrc(x,y))が、式(6)のように算出される。式(6)に示されるように、この場合の算出方法は、基本的に式(3)と同様であるが、輝度成分(Y)の残差データ(rL(x,y))がビット深度差(Δbitdepth)分右シフトされて予測残差データ(Δrc(x,y))が算出される。
 これに対して、コンポーネント間のビット深度差(Δbitdepth)が負の値(0より小さい値)であり、式(5)の条件を満たさない場合(式(7)の条件を満たす場合)、予測残差データ(Δrc(x,y))が、式(8)のように算出される。式(8)に示されるように、この場合の算出方法も、基本的に式(3)と同様であるが、輝度成分(Y)の残差データ(rL(x,y))がビット深度差(-Δbitdepth)分左シフトされて予測残差データ(Δrc(x,y))が算出される。
 つまり、これらの場合、輝度成分(Y)の残差データ(rL(x,y))のビット深度(BitDepthY)が、色差成分(CbまたはCr)の残差データ(rc(x,y))のビット深度(BitDepthC)に揃えられて予測残差データ(Δrc(x,y))が算出される。より具体的には、残差予測に用いる2つのコンポーネント間のビット深度の差が求められ、2つのコンポーネントの内の一方のコンポーネントの残差データに対してビット深度の差に応じたビットシフト(スケーリング)が行われ、ビットシフトされた残差データに所定の重み係数が乗算され、その乗算結果に対して所定のビット数分のビットシフトが行われ、他方のコンポーネントの残差データとビットシフトされた乗算結果との差分が求められる。以上のように予測を行うようにしてもよい。
 なお、Δbitdepthが0の場合、輝度成分(Y)の残差データ(rL(x,y))のビットシフト量が0であるので、予測残差データ(Δrc(x,y))は、式(3)のように算出されるとも言える。
 以上のように算出することにより、残差データのビット深度がコンポーネント間で異なる場合であっても、予測残差データ(Δrc(x,y))を正しく算出することができる。したがって、符号化効率の低減を抑制することができる。
  <セマンティクス>
 以上のようなビット深度のスケーリングを行うためには、セマンティクスを図2の例のような記述にすればよい。図2に示されるセマンティクスの下線を付した部分が、上述したスケーリング(例えば、式(5)乃至式(8))に相当する記述である。
  <画像符号化装置>
 図3は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図3に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。なお、以下においては、入力画像の色空間がYUV444である場合を例に説明する。
 図3に示されるように画像符号化装置100は、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、蓄積バッファ107、逆量子化部108、および逆直交変換部109を有する。また、画像符号化装置100は、演算部110、ループフィルタ111、フレームメモリ112、イントラ予測部113、インター予測部114、予測画像選択部115、およびレート制御部116を有する。さらに、画像符号化装置100は、ヘッダ処理部121、残差予測部122、および残差復元部123を有する。
 画面並べ替えバッファ102は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部113およびインター予測部114にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114から供給される予測画像を減算し、その差分情報(残差データ)を残差予測部122に供給する。例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部113から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、インター予測部114から供給される予測画像を減算する。
 直交変換部104は、残差予測部122から供給される輝度成分の残差データや色差成分の予測残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部104は、その直交変換により得られた変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部116から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部116の制御の下で量子化されているので、この符号量は、レート制御部116が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部113から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部114から取得する。
 可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)のヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ107は、符号化データを伝送する伝送部でもある。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、その逆量子化により得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換部109は、逆直交変換された出力(復元された輝度成分の残差データや色差成分の予測残差データ)を残差復元部123に供給する。また、逆直交変換部109は、復元された輝度成分の残差データを残差予測部122にも供給する。
 演算部110は、残差復元部123から供給された、復元された各コンポーネントの残差データに、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114からの予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはイントラ予測部113に供給される。
 ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ111が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
 フレームメモリ112は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部114に供給する。
 イントラ予測部113は、演算部110から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部113は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
 イントラ予測部113は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部113は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部115に供給する。
 また、上述したように、イントラ予測部113は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
 インター予測部114は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部114は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。インター予測部114は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
 インター予測部114は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部114は、画面並べ替えバッファ102から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部114は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部115に供給する。
 インター予測部114は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
 予測画像選択部115は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部115は、予測画像の供給元としてイントラ予測部113を選択し、そのイントラ予測部113から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部115は、予測画像の供給元としてインター予測部114を選択し、そのインター予測部114から供給される予測画像を演算部103や演算部110に供給する。
 レート制御部116は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ヘッダ処理部121は、例えば、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS)、SEI(Supplemental Enhancement Information)、スライスヘッダ等の画像情報以外の付加情報(ヘッダ情報とも称する)を生成する。ヘッダ処理部121は、生成したヘッダ情報を可逆符号化部106に供給し、ビットストリームに含めて復号側に伝送させる。また、ヘッダ処理部121は、生成したヘッダ情報の中から必要な情報を残差予測部122に供給する。詳細については後述する。
 残差予測部122は、演算部103から供給される色差成分の残差データと、逆直交変換部109から供給される、復元された輝度成分の残差データとを用いて残差予測を行う。より具体的には、残差予測部122は、復元された輝度成分の残差データを用いて、色差成分の残差データの予測を行い、予測残差データを生成する。その際、残差予測部122は、残差データのビット深度をコンポーネント間で揃えて予測を行う。詳細については後述する。残差予測部122は、このような残差予測により得られた色差成分の予測残差データや演算部103から供給される輝度成分の残差データを直交変換部104に供給する。なお、残差予測が行われない場合、残差予測部122は、演算部103から供給される各コンポーネントの残差データを直交変換部104に供給する。
 残差復元部123は、逆直交変換部109から供給される輝度成分の残差データと色差成分の予測残差データとを用いて、色差成分の残差データを復元する(残差復元とも称する)。その際、残差復元部123は、残差データのビット深度をコンポーネント間で揃えて復元を行う。なお、この残差復元の処理は、復号側において行われる残差復元の処理と基本的に同様であるので、復号側を説明する際に、その復号側の説明を利用してこの残差復元の処理についての説明を行う。残差復元部123は、復元された各コンポーネントの残差データを演算部110に供給する。
  <ヘッダ処理部および残差予測部>
 図4は、図3のヘッダ処理部121および残差予測部122の主な構成例を示すブロック図である。図4に示されるようにヘッダ処理部121は、SPS処理部131およびPPS処理部132を有する。
 SPS処理部131は、例えば、シーケンスパラメータセット(SPS)の生成に関する処理を行う。また、SPS処理部131は、例えば、シーケンスパラメータセット(SPS)に含まれる、輝度成分のビット深度を示す情報(例えばbit_depth_luma_minus8)若しくは輝度成分のビット深度を示す情報を含む情報と、色差成分(Cb/Cr)のビット深度を示す情報(例えばbit_depth_chroma_minus8)若しくは色差成分のビット深度を示す情報を含む情報とを残差予測部122(後述するビット深度差算出部151)に供給する。
 PPS処理部132は、例えば、ピクチャパラメータセット(PPS)の生成に関する処理を行う。また、PPS処理部132は、例えば、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を残差予測部122(後述するビットシフト制御部152)に供給する。
 残差予測部122は、演算部103から供給される輝度成分の残差データ(rY(x,y))を、直交変換部104に供給する。また、残差予測部122は、制御部141および予測部142を有する。制御部141は、残差予測の演算の制御に関する処理を行う。予測部142は、制御部141に制御されて、その予測に関する演算を行う。例えば、予測部142は、制御部141の制御に基づいて、逆直交変換部109から取得した、復元された輝度成分の残差データ(r'Y(x,y))を用いて、演算部103から取得した色差成分の残差データ(rCr(x,y)とrCb(x,y))の予測(残差予測)を行い、予測残差データ(ΔrCr(x,y)とΔrCb(x,y))を生成し、直交変換部104に供給する。また、予測部142は、制御部141に制御されて、残差予測を行わずに、演算部103から取得した色差成分の残差データ(rCr(x,y)とrCb(x,y))を、直交変換部104に供給する。
 制御部141は、ビット深度差算出部151、ビットシフト制御部152、および重み係数設定部153を有する。
 ビット深度差算出部151は、残差予測に用いる各コンポーネントの残差データのビット深度の差を算出する。例えば、ビット深度差算出部151は、SPS処理部131から、輝度成分のビット深度を示す情報(例えばbit_depth_luma_minus8)若しくは輝度成分のビット深度を示す情報を含む情報と、色差成分(Cb/Cr)のビット深度を示す情報(例えばbit_depth_chroma_minus8)若しくは色差成分のビット深度を示す情報を含む情報とを取得し、それらの情報を用いて、式(4)に示される演算を行い、コンポーネント間のビット深度差(delta_bitdepth)を算出する。ビット深度差算出部151は、算出したビット深度差(delta_bitdepth)をビットシフト制御部152に供給する。
 また、ビット深度差算出部151は、ビットシフト制御部152の制御に基づいて、算出したビット深度差(delta_bitdepth)を予測部142に供給する。例えば、ビット深度のスケーリングの際に残差データの右シフトを行う場合、ビット深度差算出部151は、算出したビット深度差(delta_bitdepth)を右シフト部162に供給する。また、ビット深度のスケーリングの際に残差データの左シフトを行う場合、ビット深度差算出部151は、算出したビット深度差(-delta_bitdepth)を左シフト部163に供給する。
 ビットシフト制御部152は、ビット深度差算出部151から供給されるコンポーネント間のビット深度差(delta_bitdepth)の値に基づいて、予測部142による演算を制御する。例えば、ビットシフト制御部152は、ビット深度差(delta_bitdepth)が0の場合、残差データのビットシフト(ビット深度のスケーリング)を行わないように、予測部142(の選択部161)を制御する。また、その際、ビットシフト制御部152は、ビット深度差算出部151も制御し、ビット深度差(delta_bitdepth)を予測部142に供給させないようにする。
 また、例えば、ビットシフト制御部152は、ビット深度差(delta_bitdepth)が正の値(>0)の場合、残差データを右シフトする(ビット深度のスケーリングを行う)ように、予測部142(の選択部161)を制御する。また、その際、ビットシフト制御部152は、ビット深度差算出部151も制御し、ビット深度差(delta_bitdepth)を予測部142(右シフト部162)に供給させる。
 さらに、例えば、ビットシフト制御部152は、ビット深度差(delta_bitdepth)が負の値(<0)の場合、残差データを左シフトする(ビット深度のスケーリングを行う)ように、予測部142(の選択部161)を制御する。また、その際、ビットシフト制御部152は、ビット深度差算出部151も制御し、ビット深度差(-delta_bitdepth)を予測部142(左シフト部163)に供給させる。
 また、ビットシフト制御部152は、例えば、PPS処理部132から、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を取得し、その値に基づいて、残差予測を行うか否かを制御する。例えば、残差予測を行うか否かを制御する情報により残差予測を行わないことが示されている場合、ビットシフト制御部152は、予測部142を制御し、予測に関する演算を行わせないようにする。また、その場合、ビットシフト制御部152は、ビット深度差算出部151を制御し、ビット深度差(delta_bitdepthまたは-delta_bitdepth)の供給を停止させる。さらに、ビットシフト制御部152は、その場合、重み係数設定部153を制御し、重み係数αを設定させないようにする。
 逆に、例えば、残差予測を行うか否かを制御する情報により残差予測を行うことが示されている場合、ビットシフト制御部152は、予測部142を制御し、予測に関する演算を行わせるようにする。また、その場合、ビットシフト制御部152は、ビット深度差算出部151を制御し、ビット深度差(delta_bitdepthまたは-delta_bitdepth)を予測部142に供給させる。さらに、その場合、ビットシフト制御部152は、重み係数設定部153を制御し、重み係数αを設定させ、予測部142(重み係数乗算部164)に供給させる。
 重み係数設定部153は、ビットシフト制御部152の制御に従って、重み係数αを設定する。この重み係数αの設定方法や値は任意である。例えば、重み係数設定部153が、コンポーネント毎に独立に重み係数αを設定するようにしてもよい。また、重み係数設定部153は、重み係数αを設定した場合、その重み係数αを、予測部142(重み係数乗算部164)に供給する。また、この重み係数αは、残差復元においても用いられるため、ビットストリームに含められて復号側に提供される。
 予測部142は、選択部161、右シフト部162、左シフト部163、重み係数乗算部164、右シフト部165、演算部166、および演算部167を有する。
 選択部161は、ビットシフト制御部152の制御に従って、逆直交変換部109から供給される、復元された輝度成分の残差データ(r'Y(x,y))の供給先を選択する。例えば、ビット深度のスケーリング(右シフト)が行われる場合、選択部161は、復元された輝度成分の残差データ(r'Y(x,y))を右シフト部162に供給する。この場合、式(6)の演算が行われる。また、例えば、ビット深度のスケーリング(左シフト)が行われる場合、選択部161は、復元された輝度成分の残差データ(r'Y(x,y))を左シフト部163に供給する。この場合、式(8)の演算が行われる。さらに、例えば、ビット深度のスケーリングが行われない場合、選択部161は、復元された輝度成分の残差データ(r'Y(x,y))を重み係数乗算部164に供給する。この場合、式(3)の演算が行われる。
 右シフト部162は、選択部161から取得した、復元された輝度成分の残差データ(r'Y(x,y))を、ビット深度差算出部151から取得したビット深度差(delta_bitdepth)分、右シフトすることにより、ビット深度のスケーリングを行う。右シフト部162は、輝度成分の残差データの右シフト結果(r'Y(x,y)>>delta_bitdepth)を、重み係数乗算部164に供給する。
 左シフト部163は、選択部161から取得した、復元された輝度成分の残差データ(r'Y(x,y))を、ビット深度差算出部151から取得したビット深度差(-delta_bitdepth)分、左シフトすることにより、ビット深度のスケーリングを行う。左シフト部163は、輝度成分の残差データの左シフト結果(r'Y(x,y)<<-delta_bitdepth)を、重み係数乗算部164に供給する。
 重み係数乗算部164は、選択部161乃至左シフト部163のいずれかから、復元された輝度成分の残差データを取得する。例えば、重み係数乗算部164は、ビットシフトされていない、復元された輝度成分の残差データ(r'Y(x,y))を選択部161から取得する。また、例えば、重み係数乗算部164は、右シフトされた、復元された輝度成分の残差データ(r'Y(x,y)>>delta_bitdepth)を右シフト部162から取得する。さらに、例えば、重み係数乗算部164は、左シフトされた、復元された輝度成分の残差データ(r'Y(x,y)<<-delta_bitdepth)を左シフト部163から取得する。
 また、重み係数乗算部164は、重み係数設定部153から重み係数αを取得する。重み係数乗算部164は、取得した復元された輝度成分の残差データにその重み係数αを乗算し、その乗算結果(α×(r'Y(x,y))、α×(r'Y(x,y)>>delta_bitdepth)、または、α×(r'Y(x,y)<<-delta_bitdepth))を右シフト部165に供給する。
 右シフト部165は、重み係数乗算部164から供給された、復元された輝度成分の残差データ(α×(r'Y(x,y))、α×(r'Y(x,y)>>delta_bitdepth)、または、α×(r'Y(x,y)<<-delta_bitdepth))を、所定のビット数分、右シフトする。このビットシフト量は任意であるが、例えば、式(3)、式(6)、式(8)の場合、右シフト部165は、残差データを3ビット右シフトする。右シフト部165は、その右シフト結果(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を、演算部166若しくは演算部167に供給する。
 演算部166は、演算部103から供給される色差成分(Cr)の残差データ(rCr(x,y))から、右シフト部165から供給される、復元された輝度成分の残差データ(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を減算することにより、色差成分(Cr)の予測残差データ(ΔrCr(x,y))を生成し、それを直交変換部104に供給する。また、このような演算を行わない場合、演算部166は、演算部103から供給される色差成分(Cr)の残差データ(rCr(x,y))を、直交変換部104に供給する。
 さらに、演算部167は、演算部103から供給される色差成分(Cb)の残差データ(rCb(x,y))から、右シフト部165から供給される、復元された輝度成分の残差データ(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を減算することにより、色差成分(Cb)の予測残差データ(ΔrCb(x,y))を生成し、それを直交変換部104に供給する。また、このような演算を行わない場合、演算部167は、演算部103から供給される色差成分(Cb)の残差データ(rCb(x,y))を、直交変換部104に供給する。
 残差予測部122は、以上のように、残差予測において、復元された輝度成分の残差データのビット深度のスケーリングを行って予測を行う。したがって、残差予測部122は、残差データのビット深度がコンポーネント間で異なる場合であっても、予測残差データを正しく算出することができる。したがって、画像符号化装置100は、符号化効率の低減を抑制することができる。
  <符号化処理の流れ>
 次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図5のフローチャートを参照して説明する。
 符号化処理が開始されると、ヘッダ処理部121は、ステップS101において、例えばシーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等のヘッダ情報を生成する。
 ステップS102において、画面並べ替えバッファ102は、入力された動画像の各フレーム(ピクチャ)の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部113は、イントラ予測モードのイントラ予測処理を行う。
 ステップS104において、インター予測部114は、インター予測モードでの動き予測や動き補償等を行うインター予測処理を行う。
 ステップS105において、予測画像選択部115は、コスト関数値等に基づいて、ステップS103のイントラ予測により生成された予測画像と、ステップS104のインター予測により生成された予測画像のいずれか一方を選択する。
 ステップS106において、演算部103は、ステップS102の処理によりフレーム順を並び替えられた入力画像と、ステップS105の処理により選択された予測画像との差分を演算する。つまり、演算部103は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。これらの処理が各コンポーネント(Y,Cr,Cb)のそれぞれについて行われる。
 ステップS107において、残差予測部122は、ステップS106の処理により得られた色差成分の残差データに対して、輝度成分の残差データを用いて残差予測を行う。その際、残差予測部122は、残差データのビット深度をコンポーネント間で揃えて予測を行う。この処理の詳細については後述する。
 ステップS108において、直交変換部104は、ステップS106の処理により生成された輝度成分の残差データ、並びに、ステップS107の処理により生成された色差成分の予測残差データを直交変換する。
 ステップS109において、量子化部105は、レート制御部116により算出された量子化パラメータを用いて、ステップS108の処理により得られた直交変換係数を量子化する。
 ステップS110において、逆量子化部108は、ステップS109の処理により生成された量子化された係数(量子化係数とも称する)を、その量子化の特性に対応する特性で逆量子化する。
 ステップS111において、逆直交変換部109は、ステップS108の処理により得られた直交変換係数を逆直交変換する。
 ステップS112において、残差復元部123は、ステップS111の処理により復元された輝度成分の残差データと色差成分の予測残差データとを用いて、色差成分の残差データを復元する。その際、残差復元部123は、残差データのビット深度をコンポーネント間で揃えて復元を行う。この処理の詳細については後述する。
 ステップS113において、演算部110は、ステップS111およびステップS112の処理により復元された各コンポーネントの残差データに、ステップS105の処理により選択された予測画像を加算することにより、再構成画像の画像データを生成する。
 ステップS114においてループフィルタ111は、ステップS113の処理により生成された再構成画像の画像データにループフィルタ処理を行う。これにより、再構成画像のブロック歪み等が除去される。
 ステップS115において、フレームメモリ112は、ステップS114の処理により得られた、局所的に復号された復号画像を記憶する。
 ステップS116において、可逆符号化部106は、ステップS109の処理により得られた、量子化された係数を符号化する。すなわち、残差データに対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 また、このとき、可逆符号化部106は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部113から供給される最適イントラ予測モード情報、または、インター予測部114から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 ステップS117において蓄積バッファ107は、ステップS116の処理により得られた符号化データ等を蓄積する。蓄積バッファ107に蓄積された符号化データ等は、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS118においてレート制御部116は、ステップS117の処理により蓄積バッファ107に蓄積された符号化データ等の符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、ステップS109の量子化処理のレートを制御する。
 ステップS118の処理が終了すると、符号化処理が終了する。
  <残差予測処理の流れ>
 次に、このような符号化処理のステップS107において実行される残差予測処理の流れの例を、図6のフローチャートを参照して説明する。
 残差予測処理が開始されると、ステップS121において、ビット深度差算出部151は、残差予測を行うコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部151は、式(4)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS122において、ビットシフト制御部152は、ステップS121において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS123に進む。この場合、ビットシフトは行われず、残差予測は、式(3)のように行われる。
 ステップS123において、ビットシフト制御部152は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて残差予測を行うか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測を行うと判定された場合、処理はステップS124に進む。
 ステップS124において、重み係数設定部153は、TU毎に重み係数αを設定する。
 ステップS125において、予測部142は、ビット深度のスケーリングを行わずに、残差データのコンポーネント間の予測(残差予測)を行う。この処理の詳細は後述する。
 ステップS125における残差予測が終了すると、残差予測処理が終了し、処理は図5に戻る。
 また、例えば、ステップS123において、luma_chroma_prediction_enabled_flagの値が0であり、残差予測を行わないと判定された場合、ステップS124およびステップS125の処理が省略され、残差予測処理が終了し、処理は図5に戻る。
 また、ステップS122において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS126に進む。
 ステップS126において、ビットシフト制御部152は、ステップS121において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS127に進む。この場合、残差予測は、式(6)のように行われる(右シフトによるスケーリングが行われる)。
 ステップS127において、ビットシフト制御部152は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて残差予測を行うか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測を行うと判定された場合、処理はステップS128に進む。
 ステップS128において、重み係数設定部153は、TU毎に重み係数αを設定する。
 ステップS129において、予測部142は、右シフトによりビット深度のスケーリングを行って、残差データのコンポーネント間の予測(残差予測)を行う。この処理の詳細は後述する。
 ステップS129における残差予測が終了すると、残差予測処理が終了し、処理は図5に戻る。
 また、例えば、ステップS127において、luma_chroma_prediction_enabled_flagの値が0であり、残差予測を行わないと判定された場合、ステップS128およびステップS129の処理が省略され、残差予測処理が終了し、処理は図5に戻る。
 また、ステップS126において、ビット深度差(delta_bitdepth)が正でない(負である)と判定された場合、処理はステップS130に進む。この場合、残差予測は、式(8)のように行われる(左シフトによるスケーリングが行われる)。
 ステップS130において、ビットシフト制御部152は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて残差予測を行うか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測を行うと判定された場合、処理はステップS131に進む。
 ステップS131において、重み係数設定部153は、TU毎に重み係数αを設定する。
 ステップS132において、予測部142は、左シフトによりビット深度のスケーリングを行って、残差データのコンポーネント間の予測(残差予測)を行う。この処理の詳細は後述する。
 ステップS132における残差予測が終了すると、残差予測処理が終了し、処理は図5に戻る。
 また、例えば、ステップS130において、luma_chroma_prediction_enabled_flagの値が0であり、残差予測を行わないと判定された場合、ステップS131およびステップS132の処理が省略され、残差予測処理が終了し、処理は図5に戻る。
  <予測残差データ生成処理の流れ>
 次に、このような残差予測処理のステップS125において実行される予測残差データ生成処理の流れの例を、図7のフローチャートを参照して説明する。
 予測残差データ生成処理が開始されると、ステップS141において、予測部142の重み係数乗算部164は、復元された輝度成分の残差データ(r'Y(x,y))に、図6のステップS124の処理により設定された重み係数αを乗算する(α×r'Y(x,y))。
 ステップS142において、右シフト部165は、ステップS141において算出された乗算結果(α×r'Y(x,y))を3ビット右シフトする((α×r'Y(x,y))>>3)。
 ステップS143において、演算部166は、輝度成分Crの残差データ(rCr(x,y))から、ステップS142において算出された右シフト結果((α×r'Y(x,y))>>3)を減算することにより(rCr(x,y)-(α×r'Y(x,y))>>3)、予測残差データ(ΔrCr(x,y))を生成する。また、演算部167は、輝度成分Cbの残差データ(rCb(x,y))から、ステップS142において算出された右シフト結果((α×r'Y(x,y))>>3)を減算することにより(rCb(x,y)-(α×r'Y(x,y))>>3)、予測残差データ(ΔrCb(x,y))を生成する。
 以上のように予測残差データ(ΔrCr(x,y)およびΔrCb(x,y))が生成されると、予測残差データ生成処理が終了し、処理は図6に戻る。
  <予測残差データ生成処理の流れ>
 次に、残差予測処理のステップS129において実行される予測残差データ生成処理の流れの例を、図8のフローチャートを参照して説明する。
 予測残差データ生成処理が開始されると、ステップS151において、予測部142の右シフト部162は、復元された輝度成分の残差データ(r'Y(x,y))を、図6のステップS121の処理により算出された残差データのビット深度差(delta_bitdepth)の分、右シフトする(r'Y(x,y)>>delta_bitdepth)。
 ステップS152において、重み係数乗算部164は、ステップS151において算出された右シフト結果(r'Y(x,y)>>delta_bitdepth)に、図6のステップS128の処理により設定された重み係数αを乗算する(α×(r'Y(x,y)>>delta_bitdepth))。
 ステップS153において、右シフト部165は、ステップS152において算出された乗算結果(α×(r'Y(x,y)>>delta_bitdepth))を3ビット右シフトする(α×(r'Y(x,y)>>delta_bitdepth)>>3)。
 ステップS154において、演算部166は、輝度成分Crの残差データ(rCr(x,y))から、ステップS153において算出された右シフト結果(α×(r'Y(x,y)>>delta_bitdepth)>>3)を減算することにより(rCr(x,y)-α×(r'Y(x,y)>>delta_bitdepth)>>3)、予測残差データ(ΔrCr(x,y))を生成する。また、演算部167は、輝度成分Cbの残差データ(rCb(x,y))から、ステップS153において算出された右シフト結果(α×(r'Y(x,y)>>delta_bitdepth)>>3)を減算することにより(rCb(x,y)-α×(r'Y(x,y)>>delta_bitdepth)>>3)、予測残差データ(ΔrCb(x,y))を生成する。
 以上のように予測残差データ(ΔrCr(x,y)およびΔrCb(x,y))が生成されると、予測残差データ生成処理が終了し、処理は図6に戻る。
  <予測残差データ生成処理の流れ>
 次に、残差予測処理のステップS132において実行される予測残差データ生成処理の流れの例を、図9のフローチャートを参照して説明する。
 予測残差データ生成処理が開始されると、ステップS161において、予測部142の左シフト部163は、復元された輝度成分の残差データ(r'Y(x,y))を、図6のステップS121の処理により算出された残差データのビット深度差(-delta_bitdepth)の分、左シフトする(r'Y(x,y)<<-delta_bitdepth)。
 ステップS162において、重み係数乗算部164は、ステップS161において算出された左シフト結果(r'Y(x,y)<<-delta_bitdepth)に、図6のステップS131の処理により設定された重み係数αを乗算する(α×(r'Y(x,y)<<-delta_bitdepth))。
 ステップS163において、右シフト部165は、ステップS162において算出された乗算結果(α×(r'Y(x,y)<<-delta_bitdepth))を3ビット右シフトする(α×(r'Y(x,y)<<-delta_bitdepth)>>3)。
 ステップS164において、演算部166は、輝度成分Crの残差データ(rCr(x,y))から、ステップS153において算出された右シフト結果(α×(r'Y(x,y)<<-delta_bitdepth)>>3)を減算することにより(rCr(x,y)-α×(r'Y(x,y)<<-delta_bitdepth)>>3)、予測残差データ(ΔrCr(x,y))を生成する。また、演算部167は、輝度成分Cbの残差データ(rCb(x,y))から、ステップS163において算出された右シフト結果(α×(r'Y(x,y)<<-delta_bitdepth)>>3)を減算することにより(rCb(x,y)-α×(r'Y(x,y)<<-delta_bitdepth)>>3)、予測残差データ(ΔrCb(x,y))を生成する。
 以上のように予測残差データ(ΔrCr(x,y)およびΔrCb(x,y))が生成されると、予測残差データ生成処理が終了し、処理は図6に戻る。
 以上のように各処理を実行することにより、残差予測部122は、残差データのビット深度がコンポーネント間で異なる場合であっても、予測残差データを正しく算出することができる。したがって、画像符号化装置100は、符号化効率の低減を抑制することができる。
  <残差復元>
 次に、以上のように符号化された符号化データ(ビットストリーム)の復号について説明する。残差予測に対応する残差復元を実現する(すなわち、色差成分の残差データを復元する)ためには、式(3)乃至式(8)から明らかなように、残差復元において、残差予測により生成された色差成分の予測残差データに、残差予測に用いられた復元された輝度成分の残差データを加算すればよい。
 つまり、式(6)や式(8)に示される例のように、残差予測の際にビット深度をコンポーネント間で揃える場合、その残差予測に対応する残差復元においても、ビット深度をコンポーネント間で揃えて色差成分の残差データを復元するようにすればよい。このようにすることにより、残差データのビット深度がコンポーネント間で異なる場合であっても、各コンポーネントの残差データのビット深度を揃えて復元を行うことができるので、残差復元を正しく行うことができる。したがって、符号化効率の低減を抑制することができる。
 コンポーネント間で残差データのビット深度を揃える方法は任意であるが、残差予測の際と同様に行えばよい。例えば、残差データをビットシフトすることにより、コンポーネント間で残差データのビット深度を揃えるようにしてもよい。このようにすることにより、容易にコンポーネント間で残差データのビット深度を揃えることができる。すなわち、処理の負荷や処理時間を低減させることができる。
 当然、残差復元の場合も、残差復号の場合と同様に、残差データのビット深度を揃える画像の色空間は任意である。例えば、YUV空間(YUV444等)であってもよいし、RGB空間(RGB444等)であってもよい。例えば、画像がYUV空間の場合、輝度成分と色差成分との間で、ビットシフトによって残差データのビット深度を揃えて復元を行うようにしてもよい。より具体的には、例えば、輝度成分のビット深度をビットシフトによって色差成分のビット深度に揃えてから復元を行うようにしてもよい。また例えば、画像がRGB空間の場合、G成分とR成分またはB成分との間で、ビットシフトによって残差データのビット深度を揃えて復元を行うようにしてもよい。より具体的には、例えば、G成分のビット深度をビットシフトによってR成分やB成分のビット深度に揃えてから復元を行うようにしてもよい。
  <残差復元演算>
 以上のような残差復元の演算の具体例について説明する。例えば、式(3)のように、残差予測においてビット深度のスケーリングを行わない場合、残差復元においても、以下の式(9)のように、ビット深度のスケーリングを行わないようにすればよい。同様に、残差予測において、例えば式(4)乃至式(8)のように、ビット深度のスケーリングを行う場合、残差復元においても、以下の式(10)乃至式(14)のように、ビット深度のスケーリングを行うようにすればよい。
Figure JPOXMLDOC01-appb-M000005
 以上のようなビット深度を揃えるシフト演算方法は任意である。各コンポーネントの残差データのビット深度に関する情報が符号化側から伝送され、この符号化側から伝送されてきた各コンポーネントの残差データのビット深度に関する情報に基づいて、予測を行う2つのコンポーネント間のビット深度の差を求め、求めたビット深度の差に基づいてビットシフトを行うことにより、残差データのビット深度を揃えるようにしてもよい。そして、その2つのコンポーネント間のビット深度の差が0でない場合、ビットシフトによって残差データのビット深度をコンポーネント間で揃えて復元を行うようにしてもよい。例えば、上述した式(10)のように、コンポーネント間の残差データのビット深度の差分(ビット深度差)を求め、式(11)乃至式(14)のように、そのビット深度差の分だけビットシフトを行うようにしてもよい。その際、ビットシフトは、式(12)や式(14)のように、ビット深度差の絶対値の分だけ行われるようにしてもよい。その場合、例えば、式(11)や式(13)の条件を満たすか否かに応じて、式(12)や式(14)のようにシフト方向が決定されるようにしてもよい。
 つまり、これらの場合、輝度成分(Y)の残差データ(rL(x,y))のビット深度(BitDepthY)が、色差成分(CbまたはCr)の残差データ(rc(x,y))のビット深度(BitDepthC)に揃えられて復元が行われる。より具体的には、復元を行う2つのコンポーネント間のビット深度の差が求められ、2つのコンポーネントの内の一方のコンポーネントの復元済みの残差データに対してビット深度の差に応じたビットシフトが行われ、ビットシフトされた残差データに所定の重み係数が乗算され、その乗算結果に対して所定のビット数分のビットシフトが行われ、ビットシフトされた乗算結果と予測残差データとを加算することにより、他方のコンポーネントの残差データの復元が行われる。以上のように復元を行うようにしてもよい。
 なお、Δbitdepthが0の場合、輝度成分(Y)の残差データ(rL(x,y))のビットシフト量が0であるので、残差データ(r'c(x,y))は、式(9)のように算出されるとも言える。
 以上のように算出することにより、残差データのビット深度がコンポーネント間で異なる場合であっても、残差データ(r'c(x,y))を正しく復元することができる。したがって、符号化効率の低減を抑制することができる。
  <画像復号装置>
 図10は、本技術を適用した画像処理装置の一態様である、図3の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
 図10に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
 図10に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、および画面並べ替えバッファ207を有する。また、画像復号装置200は、フレームメモリ209、イントラ予測部210、インター予測部211、および予測画像選択部212を有する。さらに、画像復号装置200は、ヘッダ取得部221および残差復元部222を有する。
 蓄積バッファ201は、符号化側(例えば画像符号化装置100)から伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ201は、その伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。符号化データには、予測モード情報などの復号に必要な情報が付加されている。可逆復号部202は、蓄積バッファ201より供給された、可逆符号化部106により符号化された情報を、その符号化方式に対応する復号方式で復号する。可逆復号部202は、復号して得られた量子化された係数データを、逆量子化部203に供給する。
 また、可逆復号部202は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部210およびインター予測部211の内、選択されたと判定したモードの方に供給する。つまり、例えば画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部210に供給される。また、例えば画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部211に供給される。
 さらに、可逆復号部202は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を逆量子化部203に供給する。
 また、可逆復号部202は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を、ヘッダ取得部221に供給する。
 逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを、量子化部105の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部203は、逆量子化部108と同様の処理部である。つまり、逆量子化部203の説明は、逆量子化部108にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
 逆量子化部203は、得られた係数データを逆直交変換部204に供給する。
 逆直交変換部204は、逆量子化部203から供給される直交変換係数を、必要に応じて、直交変換部104の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部204は、逆直交変換部109と同様の処理部である。つまり、逆直交変換部204の説明は、逆直交変換部109にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
 逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の状態に対応する残差データや予測残差データを得る。逆直交変換されて得られた残差データおよび予測残差データは、残差復元部222に供給される。
 演算部205は、残差復元部222から復元された各コンポーネントの残差データを取得する。また、演算部205は、予測画像選択部212を介して、イントラ予測部210若しくはインター予測部211から予測画像を取得する。演算部205は、差分画像と予測画像とを加算し、演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部205は、その再構成画像をループフィルタ206およびイントラ予測部210に供給する。
 ループフィルタ206は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ206は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ206が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ206が、画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ206は、フィルタ処理結果である復号画像を画面並べ替えバッファ207およびフレームメモリ209に供給する。
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。画面並べ替えバッファ207は、フレームの順番を並べ替えた復号画像データを画像復号装置200の外部に出力する。
 フレームメモリ209は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、インター予測部211等の外部の要求に基づいて、記憶している復号画像を参照画像として、インター予測部211に供給する。
 イントラ予測部210には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部210は、イントラ予測部113において用いられたイントラ予測モードで、フレームメモリ209から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部210は、生成した予測画像を予測画像選択部212に供給する。
 インター予測部211は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部202から取得する。
 インター予測部211は、可逆復号部202から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ209から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
 予測画像選択部212は、イントラ予測部210からの予測画像またはインター予測部211からの予測画像を、演算部205に供給する。そして、演算部205においては、動きベクトルが用いられて生成された予測画像と残差復元部222からの復号残差データ(差分画像情報)とが加算されて元の画像が復号される。
 ヘッダ取得部221は、例えば、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、SEI、スライスヘッダ等の、符号化側から伝送されたヘッダ情報を可逆復号部202を介して取得する。ヘッダ取得部221は、取得したヘッダ情報の中から必要な情報を残差復元部222に供給する。詳細については後述する。
 残差復元部222は、逆直交変換部204から供給される輝度成分の残差データと色差成分の予測残差データとを用いて、色差成分の残差データを復元する(残差復元とも称する)。その際、残差復元部222は、残差データのビット深度をコンポーネント間で揃えて復元を行う。なお、この残差復元部222は、残差復元部123と同様の処理部である。つまり、残差復元部222の説明は、残差復元部123にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
  <ヘッダ取得部および残差復元部>
 図11は、図10のヘッダ取得部221および残差復元部222の主な構成例を示すブロック図である。図11に示されるようにヘッダ取得部221は、SPS取得部231、PPS取得部232、および重み係数取得部233を有する。
 SPS取得部231は、符号化側から供給されたシーケンスパラメータセット(SPS)に含まれる、輝度成分のビット深度を示す情報(例えばbit_depth_luma_minus8)若しくは輝度成分のビット深度を示す情報を含む情報と、色差成分(Cb/Cr)のビット深度を示す情報(例えばbit_depth_chroma_minus8)若しくは色差成分のビット深度を示す情報を含む情報とを取得し、残差復元部222(後述するビット深度差算出部251)に供給する。
 PPS取得部232は、符号化側から供給されたピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を残差復元部222(後述するビットシフト制御部252)に供給する。
 重み係数取得部233は、符号化側から供給された重み係数α、若しくはその重み係数αを含む情報を残差復元部222(後述する重み係数乗算部264)に供給する。
 残差復元部222は、逆直交変換部204から供給される復元された輝度成分の残差データ(r'Y(x,y))を演算部205に供給する。また、残差復元部222は、制御部241および復元部242を有する。制御部241は、残差復元に関する演算の制御に関する処理を行う。復元部242は、制御部241に制御されて、その残差復元に関する演算を行う。例えば、復元部242は、制御部241の制御に基づいて、逆直交変換部204から取得した、復元された輝度成分の残差データ(r'Y(x,y))を用いて、逆直交変換部204から取得した、復元された色差成分の予測残差データ(Δr'Cr(x,y)とΔr'Cb(x,y))から、色差成分の残差データ(r'Cr(x,y)とr'Cb(x,y))を復元する。復元部242は、復元された色差成分の残差データ(r'Cr(x,y)とr'Cb(x,y))を演算部205に供給する。また、残差復元部222は、制御部241に制御されて、残差復元を行わずに、逆直交変換部204から取得した、復元された色差成分の残差データ(r'Cr(x,y)とr'Cb(x,y))を、演算部205に供給する。
 制御部241は、ビット深度差算出部251およびビットシフト制御部252を有する。
 ビット深度差算出部251は、残差予測に用いる各コンポーネントの残差データのビット深度の差を算出する。例えば、ビット深度差算出部251は、SPS取得部231から、輝度成分のビット深度を示す情報(例えばbit_depth_luma_minus8)若しくは輝度成分のビット深度を示す情報を含む情報と、色差成分(Cb/Cr)のビット深度を示す情報(例えばbit_depth_chroma_minus8)若しくは色差成分のビット深度を示す情報を含む情報とを取得し、それらの情報を用いて、式(4)に示される演算を行い、コンポーネント間のビット深度差(delta_bitdepth)を算出する。ビット深度差算出部251は、算出したビット深度差(delta_bitdepth)をビットシフト制御部252に供給する。
 また、ビット深度差算出部251は、ビットシフト制御部252の制御に基づいて、算出したビット深度差(delta_bitdepth)を復元部242に供給する。例えば、ビット深度のスケーリングの際に残差データの右シフトを行う場合、ビット深度差算出部251は、算出したビット深度差(delta_bitdepth)を右シフト部262に供給する。また、ビット深度のスケーリングの際に残差データの左シフトを行う場合、ビット深度差算出部251は、算出したビット深度差(-delta_bitdepth)を左シフト部263に供給する。
 ビットシフト制御部252は、ビット深度差算出部251から供給されるコンポーネント間のビット深度差(delta_bitdepth)の値に基づいて、復元部242による演算を制御する。例えば、ビットシフト制御部252は、ビット深度差(delta_bitdepth)が0の場合、残差データのビットシフト(ビット深度のスケーリング)を行わないように、復元部242(の選択部261)を制御する。また、その際、ビットシフト制御部252は、ビット深度差算出部251も制御し、ビット深度差(delta_bitdepth)を復元部242に供給させないようにする。
 また、例えば、ビットシフト制御部252は、ビット深度差(delta_bitdepth)が正の値(>0)の場合、残差データを右シフトする(ビット深度のスケーリングを行う)ように、復元部242(の選択部261)を制御する。また、その際、ビットシフト制御部252は、ビット深度差算出部251も制御し、ビット深度差(delta_bitdepth)を復元部242(右シフト部262)に供給させる。
 さらに、例えば、ビットシフト制御部252は、ビット深度差(delta_bitdepth)が負の値(<0)の場合、残差データを左シフトする(ビット深度のスケーリングを行う)ように、復元部242(の選択部261)を制御する。また、その際、ビットシフト制御部252は、ビット深度差算出部251も制御し、ビット深度差(-delta_bitdepth)を復元部242(左シフト部263)に供給させる。
 また、ビットシフト制御部252は、例えば、PPS取得部232から、符号化側から供給された、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を取得し、その値に基づいて、残差復元を行うか否かを制御する。例えば、残差予測を行うか否かを制御する情報により残差予測を行わないことが示されている(すなわち、残差復元を行わないことも示されている)場合、ビットシフト制御部252は、復元部242を制御し、復元に関する演算を行わせないようにする。また、その場合、ビットシフト制御部252は、ビット深度差算出部251を制御し、ビット深度差(delta_bitdepthまたは-delta_bitdepth)の供給を停止させる。さらに、ビットシフト制御部252は、その場合、重み係数取得部233を制御し、重み係数αを取得させないようにする。
 逆に、例えば、残差予測を行うか否かを制御する情報により残差予測を(すなわち、残差復元も)行うことが示されている場合、ビットシフト制御部252は、復元部242を制御し、復元に関する演算を行わせるようにする。また、その場合、ビットシフト制御部252は、ビット深度差算出部251を制御し、ビット深度差(delta_bitdepthまたは-delta_bitdepth)を復元部242に供給させる。さらに、その場合、ビットシフト制御部252は、重み係数取得部233を制御し、重み係数αを取得させ、復元部242(重み係数乗算部264)に供給させる。
 復元部242は、予測部142による演算と基本的に同様の演算を行うために、予測部142と基本的に同様の構成を有する。すなわち、復元部242は、選択部261、右シフト部262、左シフト部263、重み係数乗算部264、右シフト部265、演算部266、および演算部267を有する。
 選択部261は、ビットシフト制御部252の制御に従って、選択部161と同様に、逆直交変換部204から供給される、復元された輝度成分の残差データ(r'Y(x,y))の供給先を選択する。例えば、ビット深度のスケーリング(右シフト)が行われる場合、選択部261は、復元された輝度成分の残差データ(r'Y(x,y))を右シフト部262に供給する。この場合、式(6)に対応する演算が行われる。また、例えば、ビット深度のスケーリング(左シフト)が行われる場合、選択部261は、復元された輝度成分の残差データ(r'Y(x,y))を左シフト部263に供給する。この場合、式(8)に対応する演算が行われる。さらに、例えば、ビット深度のスケーリングが行われない場合、選択部261は、復元された輝度成分の残差データ(r'Y(x,y))を重み係数乗算部264に供給する。この場合、式(3)に対応する演算が行われる。
 右シフト部262は、選択部261から取得した、復元された輝度成分の残差データ(r'Y(x,y))を、ビット深度差算出部251から取得したビット深度差(delta_bitdepth)分、右シフトすることにより、ビット深度のスケーリングを行う。右シフト部262は、輝度成分の残差データの右シフト結果(r'Y(x,y)>>delta_bitdepth)を、重み係数乗算部264に供給する。
 左シフト部263は、選択部261から取得した、復元された輝度成分の残差データ(r'Y(x,y))を、ビット深度差算出部251から取得したビット深度差(-delta_bitdepth)分、左シフトすることにより、ビット深度のスケーリングを行う。左シフト部263は、輝度成分の残差データの左シフト結果(r'Y(x,y)<<-delta_bitdepth)を、重み係数乗算部264に供給する。
 重み係数乗算部264は、選択部261乃至左シフト部263のいずれかから、復元された輝度成分の残差データを取得する。例えば、重み係数乗算部264は、ビットシフトされていない、復元された輝度成分の残差データ(r'Y(x,y))を選択部261から取得する。また、例えば、重み係数乗算部264は、右シフトされた、復元された輝度成分の残差データ(r'Y(x,y)>>delta_bitdepth)を右シフト部262から取得する。さらに、例えば、重み係数乗算部264は、左シフトされた、復元された輝度成分の残差データ(r'Y(x,y)<<-delta_bitdepth)を左シフト部263から取得する。
 また、重み係数乗算部264は、重み係数取得部233を介して重み係数αを取得する。重み係数乗算部264は、取得した復元された輝度成分の残差データにその重み係数αを乗算し、その乗算結果(α×(r'Y(x,y))、α×(r'Y(x,y)>>delta_bitdepth)、または、α×(r'Y(x,y)<<-delta_bitdepth))を右シフト部265に供給する。
 右シフト部265は、重み係数乗算部264から供給された、復元された輝度成分の残差データ(α×(r'Y(x,y))、α×(r'Y(x,y)>>delta_bitdepth)、または、α×(r'Y(x,y)<<-delta_bitdepth))を、所定のビット数分、右シフトする。このビットシフト量は符号化側と同一である限り任意であるが、例えば、式(3)、式(6)、式(8)の場合、右シフト部265は、残差データを3ビット右シフトする。右シフト部265は、その右シフト結果(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を、演算部266若しくは演算部267に供給する。
 演算部266は、逆直交変換部204から供給される色差成分(Cr)の復元された予測残差データ(Δr'Cr(x,y))に、右シフト部265から供給される、復元された輝度成分の残差データ(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を加算することにより、色差成分(Cr)の残差データを復元し(r'Cr(x,y))、それを演算部205に供給する。また、このような残差復元を行わない場合、演算部266は、逆直交変換部204から供給される色差成分(Cr)の復元された残差データ(r'Cr(x,y))を演算部205に供給する。
 さらに、演算部267は、逆直交変換部204から供給される色差成分(Cb)の復元された予測残差データ(Δr'Cb(x,y))に、右シフト部265から供給される、復元された輝度成分の残差データ(α×(r'Y(x,y))>>3、α×(r'Y(x,y)>>delta_bitdepth)>>3、または、α×(r'Y(x,y)<<-delta_bitdepth)>>3)を加算することにより、色差成分(Cb)の残差データを復元し(r'Cb(x,y))、それを演算部205に供給する。また、このような残差復元を行わない場合、演算部267は、逆直交変換部204から供給される色差成分(Cb)の復元された残差データ(r'Cb(x,y))を演算部205に供給する。
 残差復元部222は、以上のように、残差復元において、復元された輝度成分の残差データのビット深度のスケーリングを行って復元を行う。したがって、残差復元部222は、残差データのビット深度がコンポーネント間で異なる場合であっても、残差データを正しく復元することができる。したがって、画像復号装置200は、符号化効率の低減を抑制することができる。
  <復号処理の流れ>
 次に、画像復号装置200により実行される各処理の流れの例を説明する。最初に、復号処理の流れの例を、図12のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリームを復号する。すなわち、可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた画像情報以外の各種情報も復号される。
 ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された係数を逆量子化する。
 ステップS204において、逆直交変換部204は、ステップS203の処理により得られた直交変換係数を逆直交変換する。この処理により、輝度成分の残差データと色差成分の予測残差データが復元される。
 ステップS205において、残差復元部222は、復元された輝度成分の残差データと、復元された色差成分の予測残差データを用いて、色差成分の残差データを復元する残差復元処理を行う。この処理の詳細については後述する。
 ステップS206において、イントラ予測部210若しくはインター予測部211は、予測処理を行い、予測画像を生成する。つまり、可逆復号部202において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部210が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部211が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
 ステップS207において、演算部205は、ステップS204およびステップS205の処理により復元された残差データに、ステップS206において生成された予測画像を加算する。これにより再構成画像が得られる。
 ステップS208において、ループフィルタ206は、ステップS207の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS209において、画面並べ替えバッファ207は、ステップS208の処理により得られた復号画像のフレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。フレームが並べ替えられた復号画像は、画像復号装置200の外部に出力される。
 ステップS210において、フレームメモリ209は、ステップS208の処理により得られた復号画像を記憶する。
 ステップS210の処理が終了すると、復号処理が終了する。
  <残差復元処理の流れ>
 次に、このような復号処理のステップS205において実行される残差復元処理の流れの例を、図13のフローチャートを参照して説明する。
 残差復元処理が開始されると、ステップS221において、ビット深度差算出部251は、符号化側から伝送されたシーケンスパラメータセットに含まれる、輝度成分のビット深度を示す情報(例えばbit_depth_luma_minus8)と、色差成分(Cb/Cr)のビット深度を示す情報(例えばbit_depth_chroma_minus8)とを、SPS取得部231を介して取得し、それらを用いて、残差予測が行われるコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部151は、式(10)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS222において、ビットシフト制御部252は、ステップS221において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS223に進む。この場合、ビットシフトは行われず、残差復元は、式(9)のように行われる。
 ステップS223において、ビットシフト制御部252は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて、符号化側において残差予測が行われたか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測が行われたと判定された場合、処理はステップS224に進む。
 ステップS224において、重み係数取得部233は、TU毎に重み係数αを取得する。
 ステップS225において、復元部242は、ビット深度のスケーリングを行わずに、色差成分の残差データの復元(残差復元)を行う。この処理の詳細は後述する。
 ステップS225における残差復元が終了すると、残差復元処理が終了し、処理は図12に戻る。
 また、例えば、ステップS223において、luma_chroma_prediction_enabled_flagの値が0であり、符号化側において残差予測が行われていないと判定された場合、ステップS224およびステップS225の処理が省略され、残差復元処理が終了し、処理は図12に戻る。
 また、ステップS222において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS226に進む。
 ステップS226において、ビットシフト制御部252は、ステップS221において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS227に進む。この場合、残差復元は、式(12)のように行われる(右シフトによるスケーリングが行われる)。
 ステップS227において、ビットシフト制御部252は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて、符号化側において残差予測が行われたか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測が行われたと判定された場合、処理はステップS228に進む。
 ステップS228において、重み係数取得部233は、TU毎に重み係数αを取得する。
 ステップS229において、復元部242は、右シフトによりビット深度のスケーリングを行って、色差成分の残差データの復元(残差復元)を行う。この処理の詳細は後述する。
 ステップS229における残差復元が終了すると、残差復元処理が終了し、処理は図12に戻る。
 また、例えば、ステップS227において、luma_chroma_prediction_enabled_flagの値が0であり、符号化側において残差予測が行われていないと判定された場合、ステップS228およびステップS229の処理が省略され、残差復元処理が終了し、処理は図12に戻る。
 また、ステップS226において、ビット深度差(delta_bitdepth)が正でない(負である)と判定された場合、処理はステップS230に進む。この場合、残差予測は、式(14)のように行われる(左シフトによるスケーリングが行われる)。
 ステップS230において、ビットシフト制御部252は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)等に基づいて、符号化側において残差予測が行われたか否かを判定する。例えば、luma_chroma_prediction_enabled_flagの値が1であり、残差予測が行われたと判定された場合、処理はステップS231に進む。
 ステップS231において、重み係数取得部233は、TU毎に重み係数αを取得する。
 ステップS232において、復元部242は、左シフトによりビット深度のスケーリングを行って、色差信号の残差データの復元(残差復元)を行う。この処理の詳細は後述する。
 ステップS232における残差復元が終了すると、残差復元処理が終了し、処理は図12に戻る。
 また、例えば、ステップS230において、luma_chroma_prediction_enabled_flagの値が0であり、符号化側において残差予測が行われていないと判定された場合、ステップS231およびステップS232の処理が省略され、残差復元処理が終了し、処理は図12に戻る。
  <残差データ復元処理の流れ>
 次に、このような残差復元処理のステップS225において実行される残差データ復元処理の流れの例を、図14のフローチャートを参照して説明する。
 残差データ復元処理が開始されると、ステップS241において、復元部242の重み係数乗算部264は、復元された輝度成分の残差データ(r'Y(x,y))に、図13のステップS224の処理により取得された重み係数αを乗算する(α×r'Y(x,y))。
 ステップS242において、右シフト部265は、ステップS241において算出された乗算結果(α×r'Y(x,y))を3ビット右シフトする((α×r'Y(x,y))>>3)。
 ステップS243において、演算部266は、復元された色差成分Crの予測残差データ(Δr'Cr(x,y))に、ステップS242において算出された右シフト結果((α×r'Y(x,y))>>3)を加算することにより(Δr'Cr(x,y) + (α×r'Y(x,y))>>3)、色差成分Crの残差データを復元する(r'Cr(x,y))。また、演算部267は、色差成分Cbの予測残差データ(Δr'Cb(x,y))に、ステップS242において算出された右シフト結果((α×r'Y(x,y))>>3)を加算することにより(Δr'Cb(x,y) + (α×r'Y(x,y))>>3)、色差成分Cbの残差データを復元する(r'Cb(x,y))。
 以上のように色差成分の残差データが復元されると(r'Cr(x,y)およびr'Cb(x,y))、残差データ復元処理が終了し、処理は図13に戻る。
  <残差データ復元処理の流れ>
 次に、残差復元処理のステップS229において実行される残差データ復元処理の流れの例を、図15のフローチャートを参照して説明する。
 残差データ復元処理が開始されると、ステップS251において、復元部242の右シフト部262は、復元された輝度成分の残差データ(r'Y(x,y))を、図13のステップS221の処理により算出された残差データのビット深度差(delta_bitdepth)の分、右シフトする(r'Y(x,y)>>delta_bitdepth)。
 ステップS252において、重み係数乗算部264は、ステップS251において算出された右シフト結果(r'Y(x,y)>>delta_bitdepth)に、図13のステップS228の処理により取得された重み係数αを乗算する(α×(r'Y(x,y)>>delta_bitdepth))。
 ステップS253において、右シフト部265は、ステップS252において算出された乗算結果(α×(r'Y(x,y)>>delta_bitdepth))を3ビット右シフトする(α×(r'Y(x,y)>>delta_bitdepth)>>3)。
 ステップS254において、演算部266は、復元された色差成分Crの予測残差データ(Δr'Cr(x,y))に、ステップS253において算出された右シフト結果(α×(r'Y(x,y)>>delta_bitdepth)>>3)を加算することにより(Δr'Cr(x,y) + α×(r'Y(x,y)>>delta_bitdepth)>>3)、色差成分Crの残差データを復元する(r'Cr(x,y))。また、演算部267は、復元された色差成分Cbの予測残差データ(Δr'Cb(x,y))に、ステップS253において算出された右シフト結果(α×(r'Y(x,y)>>delta_bitdepth)>>3)を加算することにより(Δr'Cb(x,y) + α×(r'Y(x,y)>>delta_bitdepth)>>3)、色差成分Cbの残差データを復元する(r'Cb(x,y))。
 以上のように色差成分の残差データが復元されると(r'Cr(x,y)およびr'Cb(x,y))、残差データ復元処理が終了し、処理は図13に戻る。
  <残差データ復元処理の流れ>
 次に、残差復元処理のステップS232において実行される残差データ復元処理の流れの例を、図16のフローチャートを参照して説明する。
 残差データ復元処理が開始されると、ステップS261において、復元部242の左シフト部263は、復元された輝度成分の残差データ(r'Y(x,y))を、図13のステップS221の処理により算出された残差データのビット深度差(-delta_bitdepth)の分、左シフトする(r'Y(x,y)<<-delta_bitdepth)。
 ステップS262において、重み係数乗算部264は、ステップS261において算出された左シフト結果(r'Y(x,y)<<-delta_bitdepth)に、図13のステップS231の処理により取得された重み係数αを乗算する(α×(r'Y(x,y)<<-delta_bitdepth))。
 ステップS263において、右シフト部265は、ステップS262において算出された乗算結果(α×(r'Y(x,y)<<-delta_bitdepth))を3ビット右シフトする(α×(r'Y(x,y)<<-delta_bitdepth)>>3)。
 ステップS264において、演算部266は、復元された色差成分Crの予測残差データ(Δr'Cr(x,y))に、ステップS263において算出された右シフト結果(α×(r'Y(x,y)<<-delta_bitdepth)>>3)を加算することにより(Δr'Cr(x,y) + α×(r'Y(x,y)<<-delta_bitdepth)>>3)、色差成分Crの残差データを復元する(r'Cr(x,y))。また、演算部267は、復元された色差成分Cbの予測残差データ(Δr'Cb(x,y))に、ステップS263において算出された右シフト結果(α×(r'Y(x,y)<<-delta_bitdepth)>>3)を加算することにより(Δr'Cb(x,y) + α×(r'Y(x,y)<<-delta_bitdepth)>>3)、色差成分Cbの残差データを復元する(r'Cb(x,y))。
 以上のように色差成分の残差データが復元されると(r'Cr(x,y)およびr'Cb(x,y))、残差データ復元処理が終了し、処理は図13に戻る。
 以上のように各処理を実行することにより、残差復元部222は、残差データのビット深度がコンポーネント間で異なる場合であっても、残差データを正しく復元することができる。したがって、画像復号装置200は、符号化効率の低減を抑制することができる。
 以上においては、残差データのビット深度を揃える際に、輝度成分のビット深度をビットシフトして色差成分に揃えるように説明したが、このようなビット深度のスケーリングにおいて、どのコンポーネントを基準とするかは任意である。例えば、色差成分のビット深度をスケーリングするようにしてもよい。ただし、一般的に、情報量の多い(ビット深度が深い)コンポーネントをスケーリングする方が、予測精度を向上させ、符号化効率を向上させることができるので望ましい。上述したようなYUVの色空間の場合、一般的に輝度成分の方が重要であり情報量が大きい。したがって、輝度成分のビット深度をスケーリングする方が望ましい。
 また、以上においては、YUV色空間の画像を符号化・復号する場合について説明したが、画像の色空間は任意であり、また、どのコンポーネント間で予測を行うようにしてもよい。例えば、画像の色空間がRGBの場合であっても、上述したYUVの場合と同様に、ビット深度のスケーリングを用いて残差予測・残差復号を行うことができる。
 <2.第2の実施の形態>
  <残差予測の禁止>
 なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、残差データのビット深度がコンポーネント間で異なる場合、残差予測を禁止する(予測残差データを算出しない)ようにしてもよい。より具体的には、残差データのビット深度がコンポーネント間で異なる場合、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を用いて、残差予測が行われないように制御するようにしてもよい。例えば、その場合、luma_chroma_prediction_enabled_flagの値を0にするようにしてもよい。このようにすることにより、その情報に対応するピクチャにおいては、残差予測が禁止される(当然、残差復元も行われないようになる)。したがって、不正確な残差予測・残差復元を行わないようにすることができる。つまり、不正確な残差予測・残差復元による符号化効率の低減を抑制することができる。また、ビット深度のスケーリング等の処理を省略することができるので、処理の負荷の増大を抑制することができる。
  <セマンティクス>
 以上のような制御を行うためには、セマンティクスを図17の例のような記述にすればよい。図17に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
  <ヘッダ処理部および残差予測部>
 この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図18は、この場合のヘッダ処理部121および残差予測部122の主な構成例を示すブロック図である。図18に示されるように、この場合、残差予測部122は、第1の実施の形態の場合と比較して、制御部141の代わりに制御部311を有し、予測部142の代わりに予測部312を有する。
 制御部311は、基本的に制御部141と同様の処理を行う。制御部141の構成と比較して、制御部311は、ビット深度差算出部151の代わりにビット深度差算出部321を有し、ビットシフト制御部152の代わりにビットシフト制御部322を有し、さらに、制御部141の場合と同様に、重み係数設定部153を有する。
 ビット深度差算出部321は、ビット深度差算出部151の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部321は、ビット深度差算出部151の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を予測部312に供給しない。
 ビットシフト制御部322は、ビットシフト制御部152の場合と同様に、予測部312による演算を制御する。ただし、ビットシフト制御部322は、残差データのビット深度がコンポーネント間で異なる場合、残差予測を禁止する(予測残差データを算出しない)。
 つまりこの実施の形態の例の場合、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトは行われないので、予測部312は、予測部142の構成と比較して、右シフト部162および左シフト部163が省略される。
  <残差予測処理の流れ>
 この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図19のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
 図19の例の場合も、残差予測処理が開始されると、ステップS301において、ビット深度差算出部321は、残差予測を行うコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部321は、式(4)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS302において、ビットシフト制御部322は、ステップS301において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS303に進む。この場合、ビットシフトは行われず、残差予測は、式(3)のように行われる。
 つまり、ステップS303乃至ステップS305の各処理は、第1の実施の形態の残差予測処理のステップS123乃至ステップS125の各処理と同様に実行される。そして、ステップS305の処理が終了するか、ステップS303において、残差予測を行わないと判定された場合、残差予測処理が終了し、処理は、図5に戻る。
 また、ステップS302において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS306進む。
 ステップS306において、ビットシフト制御部322は、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)の値を、残差予測(残差復元)が行われない(禁止する)ことを示す値に設定する。例えば、ビットシフト制御部322が、luma_chroma_prediction_enabled_flagの値を0にするようにしてもよい。
 ステップS306の処理が終了すると、残差予測処理が終了し、処理は、図5に戻る。
 このようにすることにより、残差データのビット深度がコンポーネント間で異なり、残差予測を正しく行うことができない場合に、その残差予測を行わないようにすることができる。したがって、常に、予測残差データを正しく算出することができるようになり、画像符号化装置100は、不正確な残差予測による符号化効率の低減を抑制することができる。また、ビット深度のスケーリングが不要になるので、処理の負荷の増大を抑制することができる。
  <ヘッダ取得部および残差復元部>
 この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図20は、この場合のヘッダ取得部221および残差復元部222の主な構成例を示すブロック図である。図20に示されるように、この場合、残差復元部222は、第1の実施の形態の場合と比較して、制御部241の代わりに制御部351を有し、復元部242の代わりに復元部352を有する。
 制御部351は、基本的に制御部241と同様の処理を行う。制御部241の構成と比較して、制御部351は、ビット深度差算出部251の代わりにビット深度差算出部361を有し、ビットシフト制御部252の代わりにビットシフト制御部362を有する。
 ビット深度差算出部361は、ビット深度差算出部251の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部361は、ビット深度差算出部251の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を復元部352に供給しない。
 ビットシフト制御部362は、ビットシフト制御部252の場合と同様に、復元部352による演算を制御する。ただし、ビットシフト制御部362は、残差データのビット深度がコンポーネント間で異なる場合、残差復元を禁止とする(色差成分の残差データを復元しない)。
 つまりこの実施の形態の例の場合、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトは行われないので、復元部352は、復元部242の構成と比較して、右シフト部262および左シフト部263が省略される。
  <残差復元処理の流れ>
 この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図21のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
 図21の例の場合も、残差復元処理が開始されると、ステップS321において、ビット深度差算出部361は、残差予測が行われたコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部361は、式(10)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS322において、ビットシフト制御部362は、ステップS321において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS323に進む。この場合、ビットシフトは行われず、残差復元は、式(9)のように行われる。
 つまり、ステップS323乃至ステップS325の各処理は、第1の実施の形態の残差予測処理のステップS223乃至ステップS225の各処理と同様に実行される。そして、ステップS325の処理が終了するか、ステップS323において残差予測が行われていないと判定された場合、残差復元処理が終了し、処理は、図12に戻る。
 また、ステップS322において、ステップS321において算出されたビット深度差(delta_bitdepth)が0でないと判定された場合も、ビット深度のスケーリングは行われず、残差復元が省略される。したがって、この場合も残差復元処理が終了し、処理は、図12に戻る。
 このようにすることにより、残差データのビット深度がコンポーネント間で異なり、残差予測を正しく行うことができない場合に、その残差予測を行わないようにし、それに応じて残差復元も行わないようにすることができる。したがって、常に、残差データを正しく復元することができるようになり、画像復号装置200は、不正確な残差復元による符号化効率の低減を抑制することができる。また、ビット深度のスケーリングが不要になるので、処理の負荷の増大を抑制することができる。
 <3.第3の実施の形態>
  <ビット深度のスケーリングと残差予測の禁止の併用>
 なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、残差データのビット深度がコンポーネント間で異なり、かつ、算出されたコンポーネント間のビット深度の差が正の場合のみ、ビット深度のスケーリングを行い、算出されたコンポーネント間のビット深度の差が負の場合は、残差予測を禁止する(予測残差データを算出しない)ようにしてもよい。
 より具体的には、例えば、輝度成分の残差データのビット深度が色差成分の残差データのビット深度より大きい場合、右シフトによるビット深度のスケーリングにより、残差データのビット深度をコンポーネント間で揃えて残差予測を行い、輝度成分の残差データのビット深度が色差成分の残差データのビット深度より小さい場合、残差予測を禁止する(予測残差データを算出しない)ようにしてもよい。
 上述したように、画像の性質上、輝度成分の方が色差成分より重要であり、輝度成分の残差データのビット深度が色差成分の残差データのビット深度以上となることが一般的である。逆に、色差成分の方が輝度成分よりもビット深度が大きいことは稀である。つまり、敢えて画像の性質に逆らってまで、色差成分の方がビット深度が大きく設定されている場合、その画像には、画像の性質を超えた製作者の何らかの意図が含まれている可能性が高く、そのために、一般的な画像向けの処理である残差予測の予測精度が低減しやすくなる可能性も考えられる。つまり、符号化効率が低減しやすくなる可能性がある。
 そこで、予測精度が高いことが期待される、輝度成分の方が色差成分よりもビット深度が大きい場合は、残差予測(残差復元)を実行可能とし、かつ、正しく予測(復元)を行うことができるように、右シフトによるビット深度のスケーリングにより、残差データのビット深度をコンポーネント間で揃えて残差予測を行うようにしてもよい。そして、予測精度が低減する可能性のある、色差成分の方が輝度成分よりもビット深度が大きい場合は、残差予測(残差復元)を、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を用いて、残差予測が行われないように制御するようにしてもよい。
 このようにすることにより、残差予測を行うことによる十分な効果が得られる(十分に符号化効率を向上させることができる)場合のみ、残差予測・残差復号を実行するようにすることができる。したがって、不要な残差予測・残差復号を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
  <セマンティクス>
 以上のような制御を行うためには、セマンティクスを図22の例のような記述にすればよい。図22に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
  <ヘッダ処理部および残差予測部>
 この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図23は、この場合のヘッダ処理部121および残差予測部122の主な構成例を示すブロック図である。図23に示されるように、この場合、残差予測部122は、第1の実施の形態の場合と比較して、制御部141の代わりに制御部411を有し、予測部142の代わりに予測部412を有する。
 制御部411は、基本的に制御部141と同様の処理を行う。制御部141の構成と比較して、制御部411は、ビット深度差算出部151の代わりにビット深度差算出部421を有し、ビットシフト制御部152の代わりにビットシフト制御部422を有し、さらに、制御部141の場合と同様に、重み係数設定部153を有する。
 ビット深度差算出部421は、ビット深度差算出部151の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部421は、ビット深度差算出部151の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を左シフト部163に供給しない(予測部412も左シフト部163を有していない)。
 ビットシフト制御部422は、ビットシフト制御部152の場合と同様に、予測部412による演算を制御する。ただし、ビットシフト制御部422は、ビット深度差算出部421により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が0の場合、予測部412にビット深度のスケーリングを行わずに予測残差データを算出させ、ビット深度差算出部421により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が正の場合、予測部412にビット深度のスケーリングを行わせて予測残差データを算出させる。これに対して、ビット深度差算出部421により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負の場合、ビットシフト制御部422は、予測部412を制御し、残差予測を禁止する(予測残差データを算出させないようにする)。
 つまりこの実施の形態の例の場合、ビット深度差算出部421により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負のときは、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトが行われないので、予測部412は、予測部142の構成と比較して、左シフト部163が省略される。
  <残差予測処理の流れ>
 この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図24のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
 図24の例の場合も、残差予測処理が開始されると、ステップS401において、ビット深度差算出部421は、残差予測を行うコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部421は、式(4)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS402において、ビットシフト制御部422は、ステップS401において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS403に進む。この場合、ビットシフトは行われず、残差予測は、式(3)のように行われる。
 つまり、ステップS403乃至ステップS405の各処理は、第1の実施の形態の残差予測処理のステップS123乃至ステップS125の各処理と同様に実行される。そして、ステップS405の処理が終了するか、ステップS403において、残差予測を行わないと判定された場合、残差予測処理が終了し、処理は、図5に戻る。
 また、ステップS402において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS406進む。
 ステップS406において、ビットシフト制御部422は、ステップS401において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS407に進む。この場合、残差予測は、式(6)のように行われる(右シフトによるスケーリングが行われる)。
 つまり、ステップS407乃至ステップS409の各処理は、第1の実施の形態の残差予測処理のステップS127乃至ステップS129の各処理と同様に実行される。そして、ステップS409の処理が終了するか、ステップS407において、残差予測を行わないと判定された場合、残差予測処理が終了し、処理は、図5に戻る。
 また、ステップS406において、ビット深度差(delta_bitdepth)が正でない(負である)と判定された場合、処理は、ステップS410進む。
 ステップS410において、ビットシフト制御部422は、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)の値を、残差予測(残差復元)が行われない(禁止する)ことを示す値に設定する。例えば、ビットシフト制御部422が、luma_chroma_prediction_enabled_flagの値を0にするようにしてもよい。
 ステップS410の処理が終了すると、残差予測処理が終了し、処理は、図5に戻る。
 このようにすることにより、残差データのコンポーネント間のビット深度差が負であり、すなわち輝度成分より色差成分の方がビット深度が大きく、残差予測を行っても十分な効果が得られない(十分に符号化効率を向上させることができない)可能性がある場合、その残差予測を行わないようにすることができる。したがって、画像符号化装置100は、不要な残差予測を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
  <ヘッダ取得部および残差復元部>
 この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図25は、この場合のヘッダ取得部221および残差復元部222の主な構成例を示すブロック図である。図25に示されるように、この場合、残差復元部222は、第1の実施の形態の場合と比較して、制御部241の代わりに制御部451を有し、復元部242の代わりに復元部452を有する。
 制御部451は、基本的に制御部241と同様の処理を行う。制御部241の構成と比較して、制御部451は、ビット深度差算出部251の代わりにビット深度差算出部461を有し、ビットシフト制御部252の代わりにビットシフト制御部462を有する。
 ビット深度差算出部461は、ビット深度差算出部251の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部461は、ビット深度差算出部251の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を左シフト部263に供給しない(復元部452も左シフト部263を有していない)。
 ビットシフト制御部462は、ビットシフト制御部252の場合と同様に、復元部452による演算を制御する。ただし、ビットシフト制御部462は、ビット深度差算出部461により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が0の場合、復元部452にビット深度のスケーリングを行わずに残差データを復元させ、ビット深度差算出部461により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が正の場合、復元部452にビット深度のスケーリングを行わせて残差データを復元させる。これに対して、ビット深度差算出部461により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負の場合、ビットシフト制御部462は、復元部452を制御し、残差復元を省略する(残差データの復元を省略する)。
 つまりこの実施の形態の例の場合、ビット深度差算出部461により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負のときは、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトが行われないので、復元部452は、復元部242の構成と比較して、左シフト部263が省略される。
  <残差復元処理の流れ>
 この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図26のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
 図26の例の場合も、残差復元処理が開始されると、ステップS421において、ビット深度差算出部461は、残差予測が行われたコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部461は、式(10)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS422において、ビットシフト制御部462は、ステップS421において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS423に進む。この場合、ビットシフトは行われず、残差復元は、式(9)のように行われる。
 つまり、ステップS423乃至ステップS425の各処理は、第1の実施の形態の残差予測処理のステップS223乃至ステップS225の各処理と同様に実行される。そして、ステップS425の処理が終了するか、ステップS423において残差予測が行われていないと判定された場合、残差復元処理が終了し、処理は、図12に戻る。
 また、ステップS422において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS426進む。
 ステップS426において、ビットシフト制御部462は、ステップS421において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS427に進む。この場合、残差予測は、式(12)のように行われる(右シフトによるスケーリングが行われる)。
 つまり、ステップS427乃至ステップS429の各処理は、第1の実施の形態の残差予測処理のステップS227乃至ステップS229の各処理と同様に実行される。そして、ステップS429の処理が終了するか、ステップS427において、残差予測が行われていないと判定された場合、残差復元処理が終了し、処理は、図12に戻る。
 また、ステップS426において、ビット深度差(delta_bitdepth)が正でない(負である)と判定された場合も、ビット深度のスケーリングは行われず、残差復元が省略される。したがって、この場合も残差復元処理が終了し、処理は、図12に戻る。
 このようにすることにより、残差データのコンポーネント間のビット深度差が負であり、すなわち輝度成分より色差成分の方がビット深度が大きく、残差予測を行っても十分な効果が得られない(十分に符号化効率を向上させることができない)可能性がある場合、その残差予測を行わないようにし、それに応じて残差復元も行わないようにすることができる。したがって、画像復号装置200は、不要な残差復元を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
 <4.第4の実施の形態>
  <画像の色空間による残差予測制御>
 なお、残差予測・残差復号の制御方法は、上述した例に限らない。例えば、画像の色空間に応じて残差予測・残差復号を行うか否かを制御するようにしてもよい。例えば、基本的に第3の実施の形態で説明したのと同様に残差予測・残差復号の実行を制御し、さらに、符号化・復号対象の画像の色空間がRGBの場合、残差予測・残差復号を禁止するようにしてもよい。
 一般的に、YUVの場合、輝度成分は色差成分よりも情報として重要な場合が多く、情報量が多い(ビット深度が大きい)ケースも考えられる。これに対して、RGBの場合、各コンポーネントの情報としての重要性は互いに同一であり、情報量(ビット深度)も互いに同一とされる場合が多い。G成分がR成分やB成分よりも情報として重要とされる場合も考えられるが、情報量(ビット深度)に差が生じるケースは稀である。
 換言するに、画像の色空間がRGBであって、各コンポーネントの情報量(ビット深度)が均一でないようにする場合、その画像には、画像の性質を超えた製作者の何らかの意図が含まれている可能性が高く、そのために、一般的な画像向けの処理である残差予測の予測精度が低減しやすくなる可能性も考えられる。つまり、符号化効率が低減しやすくなる可能性がある。
 そこで、画像がYUVのような予測精度が高いことが期待される色空間の場合のみ、残差予測(残差復元)を実行可能とし、画像がRGBのように予測精度が低減し易い色空間の場合は、ピクチャパラメータセット(PPS)に含まれる、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)を用いて、残差予測(残差復元)が行われないように制御するようにしてもよい。
 このようにすることにより、残差予測を行うことによる十分な効果が得られる(十分に符号化効率を向上させることができる)色空間の場合のみ、残差予測・残差復号を実行するようにすることができる。したがって、不要な残差予測・残差復号を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
  <セマンティクス>
 以上のような制御を行うためには、セマンティクスを図27の例のような記述にすればよい。図27に示されるセマンティクスの下線を付した部分が、上述した残差予測・残差復号の実行制御に相当する記述である。
  <ヘッダ処理部および残差予測部>
 この場合も、画像符号化装置100は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図28は、この場合のヘッダ処理部121および残差予測部122の主な構成例を示すブロック図である。図28に示されるように、この場合、ヘッダ処理部121は、第1の実施の形態の場合と比較して、VUI(Video Userbility Information)処理部501をさらに有する。また、残差予測部122は、第1の実施の形態の場合と比較して、制御部141の代わりに制御部511を有し、予測部142の代わりに予測部412を有する。
 VUI処理部501は、VUI(Video Userbility Information)の生成に関する処理を行う。VUIは、ビデオの表示に関するデータであり、ビデオパラメータセット(VPS)やシーケンスパラメータセット(SPS)に格納される。また、VUI処理部501は、例えば、そのようなVUIに含まれる、画像の色空間を示す情報(matrix_coffs)を残差予測部122(後述する色空間判定部523)に供給する。matrix_coffsは、RGBから輝度・色差への変換行列を示す情報である。換言するに、matrix_coffs=0の場合、画像の色空間がsRGBであることを示す。
 制御部511は、基本的に制御部141と同様の処理を行う。制御部141の構成と比較して、制御部511は、ビット深度差算出部151の代わりにビット深度差算出部521を有し、ビットシフト制御部152の代わりにビットシフト制御部522を有し、さらに、制御部141の場合と同様に、重み係数設定部153を有する。さらに、制御部511は、色空間判定部523を有する。
 ビット深度差算出部521は、ビット深度差算出部151の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部521は、ビット深度差算出部151の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を左シフト部163に供給しない(予測部412も左シフト部163を有していない)。
 ビットシフト制御部522は、ビットシフト制御部152の場合と同様に、予測部412による演算を制御する。ただし、ビットシフト制御部522は、ビット深度差算出部521により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が0の場合、予測部412にビット深度のスケーリングを行わずに予測残差データを算出させ、ビット深度差算出部521により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が正の場合、予測部412にビット深度のスケーリングを行わせて予測残差データを算出させる。これに対して、ビット深度差算出部521により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負の場合、ビットシフト制御部522は、予測部412を制御し、残差予測を禁止する(予測残差データを算出させないようにする)。
 さらに、ビットシフト制御部522は、色空間判定部523による画像の色空間の判定結果に応じて、予測部412による演算を制御する。例えば、色空間判定部523により画像の色空間がRGBであると判定された場合、ビットシフト制御部522は、予測部412を制御し、残差予測を禁止する(予測残差データを算出させないようにする)。
 色空間判定部523は、VUI処理部501から供給される画像の色空間を示す情報(matrix_coffs)を参照して、画像の色空間を判定する。例えば、matrix_coffs=0の場合、色空間判定部523は、画像の色空間がRGBであると判定する。
 つまりこの実施の形態の例の場合、第3の実施の形態の場合と同様に、ビット深度差算出部421により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負のときは、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトが行われない。したがって、予測部412は、第3の実施の形態において説明したように、予測部142の構成と比較して、左シフト部163が省略される。
  <残差予測処理の流れ>
 この実施の形態の場合、符号化処理は、第1の実施の形態の場合と同様に実行される。図29のフローチャートを参照して、この実施の形態の場合の、残差予測処理の流れの例を説明する。
 図29の例の場合も、残差予測処理が開始されると、ステップS501において、ビット深度差算出部521は、残差予測を行うコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部521は、式(4)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS502において、ビットシフト制御部522は、ステップS501において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS503に進む。この場合、ビットシフトは行われず、残差予測は、式(3)のように行われる。
 つまり、ステップS503乃至ステップS505の各処理は、第1の実施の形態の残差予測処理のステップS123乃至ステップS125の各処理と同様に実行される。そして、ステップS505の処理が終了するか、ステップS503において、残差予測を行わないと判定された場合、残差予測処理が終了し、処理は、図5に戻る。
 また、ステップS502において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS506進む。
 ステップS506において、色空間判定部523は、VUI処理部501から取得した画像の色空間を示す情報(matrix_coffs)に基づいて、画像の色空間がRGBであるか否かを判定する。RGBでないと判定された場合、処理は、ステップS507に進む。
 ステップS507において、ビットシフト制御部522は、ステップS501において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS508に進む。この場合、残差予測は、式(6)のように行われる(右シフトによるスケーリングが行われる)。
 つまり、ステップS508乃至ステップS510の各処理は、第1の実施の形態の残差予測処理のステップS127乃至ステップS129の各処理と同様に実行される。そして、ステップS510の処理が終了するか、ステップS508において、残差予測を行わないと判定された場合、残差予測処理が終了し、処理は、図5に戻る。
 また、ステップS506において色空間がRGBであると判定されるか、ステップS507においてビット深度差(delta_bitdepth)が正でない(負である)と判定された場合、処理は、ステップS511進む。
 ステップS511において、ビットシフト制御部522は、残差予測を行うか否かを制御する情報(例えばluma_chroma_prediction_enabled_flag)の値を、残差予測(残差復元)が行われない(禁止する)ことを示す値に設定する。例えば、ビットシフト制御部522が、luma_chroma_prediction_enabled_flagの値を0にするようにしてもよい。
 ステップS511の処理が終了すると、残差予測処理が終了し、処理は、図5に戻る。
 このようにすることにより、残差データのコンポーネント間のビット深度差が負であり、すなわち輝度成分より色差成分の方がビット深度が大きく、残差予測を行っても十分な効果が得られない(十分に符号化効率を向上させることができない)可能性がある場合、その残差予測を行わないようにすることができる。また、残差予測を行うことによる十分な効果が得られる(十分に符号化効率を向上させることができる)色空間の場合のみ、残差予測を実行するようにすることができる。したがって、画像符号化装置100は、不要な残差予測を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
  <ヘッダ取得部および残差復元部>
 この場合も、画像復号装置200は、第1の実施の形態の場合と基本的に同様の構成を有するようにすることができる。
 図30は、この場合のヘッダ取得部221および残差復元部222の主な構成例を示すブロック図である。図30に示されるように、この場合、ヘッダ取得部221は、第1の実施の形態の場合と比較して、VUI取得部541をさらに有する。また、残差復元部222は、第1の実施の形態の場合と比較して、制御部241の代わりに制御部551を有し、復元部242の代わりに復元部452を有する。
 VUI取得部541は、符号化側から供給されたビデオパラメータセット(VPS)やシーケンスパラメータセット(SPS)から、ビデオの表示に関するデータであるVUIを取得し、そのVUIに含まれる画像の色空間を示す情報(matrix_coffs)を取得し、残差復元部222(後述する色空間判定部563)に供給する。
 制御部551は、基本的に制御部241と同様の処理を行う。制御部241の構成と比較して、制御部551は、ビット深度差算出部251の代わりにビット深度差算出部561を有し、ビットシフト制御部252の代わりにビットシフト制御部562を有する。さらに、制御部551は、色空間判定部563を有する。
 ビット深度差算出部561は、ビット深度差算出部251の場合と同様に、コンポーネント間のビット深度差(delta_bitdepth)を算出する。しかしながら、ビット深度差算出部561は、ビット深度差算出部251の場合と異なり、算出したコンポーネント間のビット深度差(delta_bitdepth)を左シフト部263に供給しない(復元部452も左シフト部263を有していない)。
 ビットシフト制御部562は、ビットシフト制御部252の場合と同様に、復元部452による演算を制御する。ただし、ビットシフト制御部562は、ビット深度差算出部561により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が0の場合、復元部452にビット深度のスケーリングを行わずに残差データを復元させ、ビット深度差算出部561により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が正の場合、復元部452にビット深度のスケーリングを行わせて残差データを復元させる。これに対して、ビット深度差算出部561により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負の場合、ビットシフト制御部562は、復元部452を制御し、残差復元を省略する(残差データの復元を省略する)。
 さらに、ビットシフト制御部562は、色空間判定部563による画像の色空間の判定結果に応じて、復元部452による演算を制御する。例えば、色空間判定部563により画像の色空間がRGBであると判定された場合、ビットシフト制御部562は、復元部452を制御し、残差復元を省略する(残差データの復元を省略する)。
 色空間判定部563は、VUI取得部541から供給される画像の色空間を示す情報(matrix_coffs)を参照して、画像の色空間を判定する。例えば、matrix_coffs=0の場合、色空間判定部563は、画像の色空間がRGBであると判定する。
 つまりこの実施の形態の例の場合、第3の実施の形態の場合と同様に、ビット深度差算出部561により算出される残差データのコンポーネント間ビット深度差(delta_bitdepth)が負のときは、ビット深度のスケーリング、すなわち、コンポーネント間でビット深度を揃えるためのビットシフトが行われない。したがって、復元部452は、復元部242の構成と比較して、左シフト部263が省略される。
  <残差復元処理の流れ>
 この実施の形態の場合、復号処理は、第1の実施の形態の場合と同様に実行される。図31のフローチャートを参照して、この実施の形態の場合の、残差復元処理の流れの例を説明する。
 図31の例の場合も、残差復元処理が開始されると、ステップS521において、ビット深度差算出部561は、残差予測が行われたコンポーネント間のビット深度の差分を算出する。すなわち、ビット深度差算出部561は、式(10)の演算を行い、輝度成分(Y)と色差成分(CrまたはCb)のビット深度差(delta_bitdepth)を算出する。色差成分(Cr)と色差成分(Cb)とでビット深度差が異なる場合は、それぞれビット深度差(delta_bitdepth)を算出する。
 ステップS522において、ビットシフト制御部562は、ステップS521において算出されたビット深度差(delta_bitdepth)が0であるか否かを判定する。0であると判定された場合、処理は、ステップS523に進む。この場合、ビットシフトは行われず、残差復元は、式(9)のように行われる。
 つまり、ステップS523乃至ステップS525の各処理は、第1の実施の形態の残差予測処理のステップS223乃至ステップS225の各処理と同様に実行される。そして、ステップS525の処理が終了するか、ステップS523において残差予測が行われていないと判定された場合、残差復元処理が終了し、処理は、図12に戻る。
 また、ステップS522において、ビット深度差(delta_bitdepth)が0でないと判定された場合、処理は、ステップS526進む。
 ステップS526において、色空間判定部563は、VUI取得部541から取得した画像の色空間を示す情報(matrix_coffs)に基づいて、画像の色空間がRGBであるか否かを判定する。RGBでないと判定された場合、処理は、ステップS527に進む。
 ステップS527において、ビットシフト制御部562は、ステップS521において算出されたビット深度差(delta_bitdepth)が正であるか否かを判定する。正であると判定された場合、処理はステップS528に進む。この場合、残差予測は、式(12)のように行われる(右シフトによるスケーリングが行われる)。
 つまり、ステップS528乃至ステップS530の各処理は、第1の実施の形態の残差予測処理のステップS227乃至ステップS229の各処理と同様に実行される。そして、ステップS530の処理が終了するか、ステップS528において、残差予測が行われていないと判定された場合、残差復元処理が終了し、処理は、図12に戻る。
 また、ステップS526において色空間がRGBであると判定されるか、ステップS527においてビット深度差(delta_bitdepth)が正でない(負である)と判定された場合も、ビット深度のスケーリングは行われず、残差復元が省略される。したがって、この場合も残差復元処理が終了し、処理は、図12に戻る。
 このようにすることにより、残差データのコンポーネント間のビット深度差が負であり、すなわち輝度成分より色差成分の方がビット深度が大きく、残差予測を行っても十分な効果が得られない(十分に符号化効率を向上させることができない)可能性がある場合、その残差予測を行わないようにし、それに応じて残差復元も行わないようにすることができる。また、残差予測を行うことによる十分な効果が得られる(十分に符号化効率を向上させることができる)色空間の場合のみ、残差予測を実行するようにし、それに応じて残差復元も行わないようにすることができる。したがって、画像復号装置200は、不要な残差復元を省略することができるので、符号化効率の低減を抑制することができるとともに、処理の負荷の増大を抑制することができる。
 <5.第5の実施の形態>
  <重み係数の共通化>
 なお、以上においては、重み係数設定部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")。
 残差予測(Luma-chroma prediction)のシンタクスの例を図33に示す。図33に示されるように、このシンタクスにおいても、色差成分(Chroma)のコンポーネント番号(c)を指定する必要がある。
 さらに、セマンティクスの例を図34および図35に示す。これらの図に示されるように、セマンティクスにおいても、色差成分(Chroma)のコンポーネント番号(c)を指定する必要がある。
 これに対して、図36に、重み係数αを共通化する場合の、重み係数αを伝送するTUのシンタクスの例を示す。この場合、図36の斜線模様で示される部分のように、重み係数αを伝送すrための条件判定と、重み係数αの伝送(luma_chroma_pred()の呼び出し)は1回行えば良い。したがって、このようにすることにより、画像符号化装置100および画像復号装置200の負荷を低減させることができるとともに、伝送する情報量を低減させることができ、符号化効率を向上させることができる。また、色差成分(Chroma)のコンポーネント番号(c)の指定が不要になるので、さらに、符号化効率を向上させることができる。
 また、その場合の残差予測(Luma-chroma prediction)のシンタクスの例を図37に示す。図37に示されるように、このシンタクスにおいても、色差成分(Chroma)のコンポーネント番号(c)の指定が不要になるので、さらに、符号化効率を向上させることができる。
 さらに、その場合のセマンティクスの例を図38および図39に示す。これらの図に示されるように、セマンティクスにおいても、色差成分(Chroma)のコンポーネント番号(c)の指定が不要になる。したがって、さらに、画像符号化装置100および画像復号装置200の負荷を低減させることができる。
 本技術の適用範囲は、画像データを符号化・復号可能なあらゆる画像符号化装置及び画像復号装置に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
 <6.第6の実施の形態>
  <多視点画像符号化・多視点画像復号への適用>
 上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図40は、多視点画像符号化方式の一例を示す。
 図40に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
 図40の例のような多視点画像を符号化・復号する場合、各視点の画像を符号化・復号するが、この各視点の符号化・復号に対して、第1の実施の形態乃至第5の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各視点の符号化効率の低減を抑制することができる。つまり、多視点画像の場合も同様に、符号化効率の低減を抑制することができる。
  <多視点画像符号化装置>
 図41は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図41に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
 符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
 例えば、このような多視点画像符号化装置600の符号化部601および符号化部602として、上述した画像符号化装置100を適用すればよい。このようにすることにより、多視点画像の符号化においても、第1の実施の形態乃至第5の実施の形態において説明した各種方法を適用することができる。すなわち、多視点画像符号化装置600は、多視点画像の符号化データの符号化効率の低減を抑制することができる。
  <多視点画像復号装置>
 図42は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図42に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
 逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 例えば、このような多視点画像復号装置610の復号部612および復号部613として、上述した画像復号装置200を適用すればよい。このようにすることにより、多視点画像の符号化データの復号においても、第1の実施の形態乃至第5の実施の形態において説明した各種方法を適用することができる。すなわち、多視点画像復号装置610は、第1の実施の形態乃至第5の実施の形態において説明した各種方法で符号化された多視点画像の符号化データを正しく復号することができる。したがって、多視点画像復号装置610は、多視点画像の符号化データの符号化効率の低減を抑制することができる。
 <7.第7の実施の形態>
  <階層画像符号化・階層画像復号への適用>
 また、上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図43は、階層画像符号化方式の一例を示す。
 階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
 図43に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
 一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
 このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
 図43の例のような階層画像を符号化・復号する場合、各レイヤの画像を符号化・復号するが、この各レイヤの符号化・復号に対して、第1の実施の形態乃至第5の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各レイヤの符号化効率の低減を抑制することができる。つまり、階層画像の場合も同様に、符号化効率の低減を抑制することができる。
  <スケーラブルなパラメータ>
 このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図44に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図44に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
 また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図45に示されるような、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図45に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
 さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図46に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
 スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
 また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
  <階層画像符号化装置>
 図47は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図47に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
 符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
 例えば、この階層画像符号化装置620の符号化部621および符号化部622として、上述した画像符号化装置100を適用すればよい。このようにすることにより、階層画像の符号化においても、第1の実施の形態乃至第5の実施の形態において説明した各種方法を適用することができる。すなわち、階層画像符号化装置620は、階層画像の符号化データの符号化効率の低減を抑制することができる。
  <階層画像復号装置>
 図48は、上述した階層画像復号を行う階層画像復号装置を示す図である。図48に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
 逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 例えば、この階層画像復号装置630の復号部632および復号部633として、上述した画像復号装置200を適用すればよい。このようにすることにより、階層画像の符号化データの復号においても、第1の実施の形態乃至第5の実施の形態において説明した各種方法を適用することができる。すなわち、階層画像復号装置630は、第1の実施の形態乃至第5の実施の形態において説明した各種方法で符号化された階層画像の符号化データを正しく復号することができる。したがって、階層画像復号装置630は、階層画像の符号化データの符号化効率の低減を抑制することができる。
 <8.第8の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図49は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図49に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
 バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
 入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
 その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <9.第9の実施の形態>
  <第1の応用例:テレビジョン受像機>
 図50は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置200の機能を有する。つまり、デコーダ904は、画像データが第1の実施の形態乃至第5の実施の形態において説明したいずれか方法で符号化された符号化データを、その実施の形態において説明した方法で正しく復号することができる。したがって、テレビジョン装置900は、符号化効率の低減を抑制することができる。
  <第2の応用例:携帯電話機>
 図51は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置100や画像復号装置200の機能を有する。つまり、画像処理部927は、画像データを第1の実施の形態乃至第5の実施の形態において説明したいずれかの方法で符号化したり、その符号化により得られる符号化データを、その実施の形態において説明した方法で正しく復号したりすることができる。したがって、携帯電話機920は、符号化効率の低減を抑制することができる。
  <第3の応用例:記録再生装置>
 図52は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、およびユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(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(登録商標)ディスクなどであってよい。
 セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置100の機能を有する。つまり、エンコーダ943は、画像データを第1の実施の形態乃至第5の実施の形態において説明したいずれか方法で符号化することができる。また、デコーダ947は、上述した実施形態に係る画像復号装置200の機能を有する。つまり、デコーダ947は、画像データが第1の実施の形態乃至第5の実施の形態において説明したいずれかの方法で符号化された符号化データを、その実施の形態において説明した方法で正しく復号することができる。したがって、記録再生装置940は、符号化効率の低減を抑制することができる。
  <第4の応用例:撮像装置>
 図53は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD969、および制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置100や画像復号装置200の機能を有する。つまり、画像処理部964は、画像データを第1の実施の形態乃至第5の実施の形態において説明したいずれかの方法で符号化したり、その符号化により得られる符号化データを、その実施の形態において説明した方法で正しく復号したりすることができる。したがって、撮像装置960は、符号化効率を向上させることができる。
 なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
 <10.第10の実施の形態>
  <実施のその他の例>
 以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
  <ビデオセット>
 本技術をセットとして実施する場合の例について、図54を参照して説明する。図54は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図54に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図54に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図54の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図54のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図54において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図61に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
 アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
 コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
 例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
 なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
 カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
 センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
 以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
 以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
  <ビデオプロセッサの構成例>
 図55は、本技術を適用したビデオプロセッサ1332(図54)の概略的な構成の一例を示している。
 図55の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
 図55に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティ1321(図54)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した実施の形態に係る画像符号化装置100や画像復号装置200の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  <ビデオプロセッサの他の構成例>
 図56は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図56の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図56に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図56に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
 図56に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した実施の形態に係る画像符号化装置100や画像復号装置200を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
  <装置への適用例>
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図50)、携帯電話機920(図51)、記録再生装置940(図52)、撮像装置960(図53)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図50)、携帯電話機920(図51)、記録再生装置940(図52)、撮像装置960(図53)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図39を参照して上述した効果と同様の効果を得ることができる。
 また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 なお、本技術は以下のような構成も取ることができる。
 (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) 複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号し、
 前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う
 画像処理方法。
 100 画像符号化装置, 121 ヘッダ処理部, 122 残差予測部, 123 残差復元部, 131 SPS処理部, 132 PPS処理部, 141 制御部, 142 予測部, 151 ビット深度差算出部, 152 ビットシフト制御部, 153 重み係数設定部, 161 選択部, 162 右シフト部, 163 左シフト部, 164 重み係数乗算部, 165 右シフト部, 166および167 演算部, 200 画像復号装置, 221 ヘッダ取得部, 222 残差復元部, 231 SPS取得部, 232 PPS取得部, 233 重み係数取得部, 241 制御部, 242 復元部, 251 ビット深度差算出部, 252 ビットシフト制御部, 261 選択部, 262 右シフト部, 263 左シフト部, 264 重み係数乗算部, 265 右シフト部, 266および267 演算部, 311 制御部, 312 予測部, 321 ビット深度差算出部, 322 ビットシフト制御部, 351 制御部, 352 復元部, 361 ビット深度差算出部, 362 ビットシフト制御部, 411 制御部, 412 予測部, 421 ビット深度差算出部, 422 ビットシフト制御部, 451 制御部, 452 復元部, 461 ビット深度差算出部, 462 ビットシフト制御部, 501 VUI処理部, 511 制御部, 512 予測部, 521 ビット深度差算出部, 522 ビットシフト制御部, 523 色空間判定部, 541 VUI取得部, 551 制御部, 561 ビット深度差算出部, 562 ビットシフト制御部, 563 色空間判定部

Claims (20)

  1.  複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行う残差予測部と、
     前記残差予測部による前記予測により生成された予測残差データを符号化する符号化部と
     を備える画像処理装置。
  2.  前記残差予測部は、ビットシフトによって前記残差データの前記ビット深度を揃える
     請求項1に記載の画像処理装置。
  3.  前記残差予測部は、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行う
     請求項2に記載の画像処理装置。
  4.  前記残差予測部は、前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記ビット深度の差が負の場合、前記予測を省略する
     請求項3に記載の画像処理装置。
  5.  前記残差予測部は、前記入力画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記予測を行い、前記入力画像の色空間がRGB空間の場合、前記予測を省略する
     請求項2に記載の画像処理装置。
  6.  前記入力画像の色空間がYUV空間であり、
     前記残差予測部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
     請求項2に記載の画像処理装置。
  7.  前記入力画像の色空間がRGB空間であり、
     前記残差予測部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記予測を行う
     請求項2に記載の画像処理装置。
  8.  前記残差予測部は、前記予測を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、他方のコンポーネントの前記残差データと前記ビットシフトされた前記乗算結果との差分を求めることにより、前記予測を行う
     請求項2に記載の画像処理装置。
  9.  前記残差予測部は、複数のコンポーネントで共通の前記重み係数を設定する
     請求項8に記載の画像処理装置。
  10.  複数コンポーネントからなる入力画像と予測画像との残差データに対して前記コンポーネント間で予測を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記予測を行い、
     前記予測により生成された予測残差データを符号化する
     画像処理方法。
  11.  複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号する復号部と、
     前記復号部により前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う残差復元部と
     を備える画像処理装置。
  12.  前記残差復元部は、ビットシフトによって前記残差データの前記ビット深度を揃える
     請求項11に記載の画像処理装置。
  13.  前記ビット深度に関する情報を受け取る受け取り部をさらに備え、
     前記残差復元部は、前記受け取り部により受け取られた前記ビット深度に関する情報に基づいて、前記予測を行う前記2つのコンポーネント間の前記ビット深度の差を求め、求めた前記ビット深度の差に基づいて前記ビットシフトを行うことにより、前記残差データの前記ビット深度を揃える
     請求項12に記載の画像処理装置。
  14.  前記残差復元部は、求めた前記ビット深度の差が0でない場合、前記ビットシフトによって前記残差データの前記ビット深度を揃える
     請求項13に記載の画像処理装置。
  15.  前記残差復元部は、求めた前記ビット深度の差が正の場合、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行い、求めた前記ビット深度の差が負の場合、前記復元を省略する
     請求項13に記載の画像処理装置。
  16.  前記受け取り部は、前記画像の色空間に関する情報をさらに受け取り、
     前記残差復元部は、前記受け取り部により受け取られた前記画像の色空間に関する情報に基づいて、前記画像の色空間がRGB空間でない場合、前記ビットシフトによって前記残差データの前記ビット深度をコンポーネント間で揃えて前記復元を行い、前記画像の色空間がRGB空間の場合、前記復元を省略する
     請求項13に記載の画像処理装置。
  17.  前記画像の色空間がYUV空間であり、
     前記残差復元部は、輝度成分と色差成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
     請求項12に記載の画像処理装置。
  18.  前記画像の色空間がRGB空間であり、
     前記残差復元部は、G成分とR成分若しくはB成分との間で、前記ビットシフトによって前記残差データの前記ビット深度を揃えて前記復元を行う
     請求項12に記載の画像処理装置。
  19.  前記残差復元部は、前記復元を行う2つのコンポーネント間の前記ビット深度の差を求め、前記2つのコンポーネントの内の一方のコンポーネントの復元済みの前記残差データに対して前記ビット深度の差に応じた前記ビットシフトを行い、前記ビットシフトされた前記残差データに所定の重み係数を乗算し、その乗算結果に対して所定のビット数分のビットシフトを行い、前記ビットシフトされた前記乗算結果と前記予測残差データとを加算することにより、他方のコンポーネントの前記残差データの前記復元を行う
     請求項12に記載の画像処理装置。
  20.  複数コンポーネントからなる画像とその予測画像との残差データの前記コンポーネント間の予測結果である予測残差データが符号化された符号化データを復号し、
     前記符号化データが復号されて得られた前記予測残差データを用いて前記残差データの復元を行う際に、前記残差データのビット深度を前記コンポーネント間で揃えて前記復元を行う
     画像処理方法。
PCT/JP2014/082923 2013-12-27 2014-12-12 画像処理装置および方法 WO2015098562A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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