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

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

Info

Publication number
WO2014050676A1
WO2014050676A1 PCT/JP2013/075227 JP2013075227W WO2014050676A1 WO 2014050676 A1 WO2014050676 A1 WO 2014050676A1 JP 2013075227 W JP2013075227 W JP 2013075227W WO 2014050676 A1 WO2014050676 A1 WO 2014050676A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
scaling list
image
quantization
orthogonal transform
Prior art date
Application number
PCT/JP2013/075227
Other languages
English (en)
French (fr)
Inventor
健治 近藤
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2014538425A priority Critical patent/JPWO2014050676A1/ja
Priority to CN201380049173.6A priority patent/CN104662901B/zh
Priority to US14/423,491 priority patent/US9591329B2/en
Publication of WO2014050676A1 publication Critical patent/WO2014050676A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/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/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

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 an increase in quantization error.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning 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.
  • a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 ⁇ 480 pixels.
  • a high resolution interlaced scanned image having 1920 ⁇ 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps.
  • bit rate code amount
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • ISO / IEC ISO / IEC
  • the standardization of the encoding method called is being advanced.
  • CommitteeCommitdraft which is the first draft version specification, was issued in February 2012 (see Non-Patent Document 1, for example).
  • Non-Patent Document 2 a technique called “Intra Transform Skipping” is adopted (for example, see Non-Patent Document 2).
  • Transform skip also referred to as orthogonal transform skip
  • PPS Picture Parameter Set
  • encoding and decoding are performed without performing orthogonal transform / inverse orthogonal transform.
  • the pre-orthogonal difference value is quantized and losslessly encoded.
  • This orthogonal transform skip has the effect of improving the image quality of screen content such as CG images and captions.
  • the conventional method does not consider the influence of this orthogonal transform skip on the quantization. It was. Therefore, the scaling list used for the quantization process is not appropriate, and there is a risk that the quantization error will increase unnecessarily.
  • the present disclosure has been made in view of such a situation, and is intended to suppress an increase in quantization error.
  • a decoding unit including a setting unit that sets a custom scaling list for a block for which the orthogonal transformation processing has been skipped, and an inverse quantization process that uses the scaling list that is set by the setting unit, and decodes the encoded data
  • An image processing apparatus including a decoding unit.
  • a quantization step of a portion corresponding to a pixel that may be referred to in intra prediction is smaller than a quantization step of a portion corresponding to a pixel that may not be referred to in the intra prediction. Can be.
  • a quantization step of a portion corresponding to a pixel that may be referred to in the intra prediction is set to be smaller than a value in the case of the default custom scaling list, or in the intra prediction
  • the quantization step of the portion corresponding to the pixel that is not likely to be referred to may be set to be larger than the value in the case of the default custom scaling list.
  • Each quantization step of a portion of the custom scaling list corresponding to a pixel that can be referred to in the intra prediction is in accordance with a probability of being referred to in the intra prediction of the corresponding pixel. Can have a value.
  • the current block is a block in which orthogonal transform processing is not skipped
  • a scaling list used for inverse quantization processing for the current block all of the quantization step values are the same, or high frequency
  • a default scaling list can be set in which the quantization step of the pixel corresponding to the component has a large value.
  • a receiving unit that receives information related to the skip of the orthogonal transform process, and whether or not the current block is a block skipped from the orthogonal transform process based on the information related to the skip of the orthogonal transform process received by the receiving unit
  • a determination unit that determines whether the current block is a block that has been skipped from the orthogonal transform process, and the setting unit performs an inverse quantization process on the current block.
  • the custom scaling list can be set as the scaling list to be used.
  • the determination unit includes the orthogonality in the picture when the value of the skip permission information that specifies whether the skipping of the orthogonal transformation processing is permitted in the picture, which is included in the information on the skip in the orthogonal transformation processing, is false. Skipping of the conversion process can be prohibited.
  • the determination unit further determines a slice type of a current block, and the setting unit is a block in which the current block is skipped from the orthogonal transform process by the determination unit, and a slice in which only intra prediction is performed. If it is determined that, the custom scaling list can be set as a scaling list used for the inverse quantization process for the current block.
  • the image processing apparatus is a block in which the current block is skipped from the orthogonal transform process in decoding of the encoded data obtained by encoding the image data.
  • a scaling list used for the inverse quantization process for the current block a custom scaling list for the block for which the orthogonal transform process is skipped is set, and a decoding process including an inverse quantization process using the set scaling list
  • the encoded data can be decoded.
  • an image processing apparatus comprising: a setting unit that sets a custom scaling list; and an encoding unit that performs an encoding process including a quantization process using the scaling list set by the setting unit and encodes the image data is there.
  • a quantization step of a portion corresponding to a pixel that may be referred to in intra prediction is smaller than a quantization step of a portion corresponding to a pixel that may not be referred to in the intra prediction. Can be.
  • a quantization step of a portion corresponding to a pixel that may be referred to in the intra prediction is set to be smaller than a value in the case of the default custom scaling list, or in the intra prediction
  • the quantization step of the portion corresponding to the pixel that is not likely to be referred to may be set to be larger than the value in the case of the default custom scaling list.
  • Each quantization step of a portion of the custom scaling list corresponding to a pixel that can be referred to in the intra prediction is in accordance with a probability of being referred to in the intra prediction of the corresponding pixel. Can have a value.
  • the setting unit uses the same quantization step value as a scaling list used for the quantization process for the current block, or pixels corresponding to a high frequency component
  • a default scaling list can be set in which the quantization steps have a large value.
  • the information processing apparatus further includes a determination unit that determines whether or not the orthogonal transform process of the current block is skipped based on the information related to the skip of the orthogonal transform process, and the setting unit performs orthogonal transform of the current block by the determination unit
  • the custom scaling list can be set as a scaling list used for the quantization process for the current block.
  • the determination unit includes the orthogonality in the picture when the value of the skip permission information that specifies whether the skipping of the orthogonal transformation processing is permitted in the picture, which is included in the information on the skip in the orthogonal transformation processing, is false. Skipping of the conversion process can be prohibited.
  • the determination unit further determines a slice type of the current block, and the setting unit determines that the determination unit is a slice in which the orthogonal transform process of the current block is skipped and only intra prediction is performed.
  • the custom scaling list can be set as a scaling list used for the quantization process for the current block.
  • the quantization for the current block is performed.
  • a custom scaling list for a block in which the orthogonal transform process is skipped is set as a scaling list used for the process, an encoding process including a quantization process using the set scaling list is performed, and the image data is encoded.
  • the scaling list used for the quantization process for the current block is used for the block in which the orthogonal transformation process is skipped.
  • a custom scaling list is set, encoding processing including quantization processing using the set scaling list is performed, and image data is encoded.
  • an image can be encoded / decoded.
  • an increase in quantization error can be suppressed.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • AVC Advanced Video Coding
  • a hierarchical structure is defined by macroblocks and sub-macroblocks.
  • a macroblock of 16 pixels ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method.
  • a coding unit (Coding Unit)) is defined.
  • CU is also called Coding Tree Block (CTB) and is a partial area of a picture unit image that plays the same role as a macroblock in the AVC method.
  • CTB Coding Tree Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • a macro block in the AVC method corresponds to an LCU
  • a block (sub block) corresponds to a CU. Then you can think.
  • a motion compensation block in the AVC method can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the macro block of the AVC method, for example, 128 ⁇ 128 pixels.
  • the LCU also includes a macro block in the AVC method
  • the CU also includes a block (sub-block) in the AVC method.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a 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, processing unit, etc., it will be described as appropriate.
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is the total code amount when encoding is performed in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and mode, which does not include an orthogonal transform coefficient.
  • one of prediction image generation methods in encoding and decoding includes intra prediction in which prediction is performed using other pixels in the screen.
  • intra prediction a plurality of modes are prepared as intra prediction modes. Pixels at positions corresponding to the mode around the current block to be processed are referred to, and prediction of the current block is performed using the pixel values. Is called. A pixel used for this intra prediction is also referred to as a reference pixel. In addition, the encoded pixel processed in the past is employ
  • FIG. 2 An example of the position of the reference pixel is shown in FIG. 2.
  • the white square indicates the pixel of the current block (prediction target pixel), and the surrounding encoded pixel indicated by the hatched square is referred to Indicates a pixel. That is, the current block is predicted using the pixel value of the pixel corresponding to the intra prediction mode among the pixels indicated by the diagonally shaded squares.
  • This quantization / inverse quantization is performed using a predetermined scaling list for each orthogonal transform unit block (for example, TU), for example.
  • the scaling list is information obtained by collecting quantization steps corresponding to the respective pixels of the block.
  • a default scaling list prepared in advance is used for this quantization / inverse quantization.
  • the values of all 4 ⁇ 4 quantization steps are the same.
  • the value of the quantization step at the lower right among the 4 ⁇ 4 quantization steps has a relatively large value.
  • pixel values are orthogonally transformed and quantized. That is, quantization is performed on the orthogonal transform coefficients. Therefore, in the case of the default scaling squirrel in the example of FIG. 4, the quantization is performed in a larger quantization step so as to reduce the code amount of the higher frequency component (orthogonal transform coefficient) in the current block. .
  • the orthogonal transform skip is a method of omitting (skipping) the orthogonal transform process and the inverse orthogonal transform process.
  • image data (difference image data) is subjected to orthogonal transform processing for each block, and the spatial domain information in the block is converted into frequency domain information, thereby reducing the coefficient in the block.
  • this scaling list is for the orthogonal transform coefficient, it is not optimized for the pre-orthogonal transform pixel value, and there is a risk that the quantization error will increase unnecessarily.
  • the pixel value before orthogonal transformation is quantized / inversely quantized as a scaling list used for the quantization processing on the current block.
  • reference pixels around the current block are used to generate a plurality of pixels of a predicted image. Therefore, the quantization error included in the pixel value of the reference pixel may be diffused to more pixels in the predicted image by intra prediction. Therefore, the prediction accuracy of intra prediction is greatly reduced, encoding efficiency is reduced, and image quality deterioration due to encoding and decoding may be increased.
  • the value of the quantization step is included in the pixel value of the pixel that may be referred to in the intra prediction within the block so that the prediction accuracy of the intra prediction is not reduced by the quantization error.
  • the quantization error may be set to be small.
  • the value of the quantization step corresponding to the pixel that may be referred to in the intra prediction is larger than the value of the quantization step corresponding to the pixel that may not be referred to in the intra prediction. Make it small.
  • the quantization / dequantization is performed using the custom scaling list rather than the case where the quantization / dequantization is performed using the default scaling list.
  • the inverse quantization can reduce the quantization error included in the predicted image, improve the encoding efficiency, and reduce the deterioration of the image quality due to encoding and decoding.
  • the custom scaling list shown in FIG. 5 corresponds to the example of the default scaling list shown in FIG. That is, in the custom scaling list in the example of FIG. 5, the quantization steps (quantization steps at the right end and bottom end of the block) corresponding to pixels that may be referred to in the intra prediction, which are indicated by diagonal lines, are the default. It is set smaller than in the case of the scaling list. In addition, other quantization steps (quantization steps corresponding to pixels that are not likely to be referred to in intra prediction) shown in white are left in the default scaling list.
  • the custom scaling list of FIG. 5 may be used for the default scaling list of the example of FIG. That is, in the custom scaling list, the value of the quantization step corresponding to a pixel that is not likely to be referred to in the intra prediction may not be uniform as in the example of FIG.
  • the value of the quantization step corresponding to the pixel that may be referred to in the intra prediction may not be uniform as in the example of FIG.
  • each quantization step of a portion corresponding to a pixel that may be referred to in intra prediction has a value corresponding to the likelihood of being referred to in the intra prediction of the corresponding pixel. Also good.
  • FIG. 6 An example of this custom scaling list is shown in FIG.
  • the value of the quantization step in the lower right corner is set smaller.
  • the pixel corresponding to this quantization step may be referred to in intra prediction of many blocks such as the right and lower blocks of this block. That is, it can be said that there is a high possibility of being referred to as compared with other quantization steps.
  • the quantization error included in the predicted image can be more efficiently performed. Can be reduced. Therefore, it is possible to further suppress the reduction in encoding efficiency while suppressing an unnecessary increase in the code amount.
  • a quantization step corresponding to a pixel that may be referred to in intra prediction is a quantization step corresponding to a pixel that is not likely to be referred to in intra prediction.
  • the specific value is arbitrary, and an appropriate value may be set according to the actual code amount or the like.
  • the value of the quantization step corresponding to a pixel that is not likely to be referred to in intra prediction is increased. Also good.
  • the quantization step of the part corresponding to a pixel that is not likely to be referred to in the intra prediction is set to be larger than the value in the case of the default custom scaling list. You may make it do.
  • Such a custom scaling list may be prepared in advance or may be generated as appropriate. If prepared in advance, an arbitrary number of custom scaling lists can be prepared.
  • the used custom scaling list may be transmitted from the encoding side to the decoding side. For example, it may be transmitted in a sequence parameter set, a picture parameter set, or the like. Further, it may be transmitted as data different from the encoded data.
  • a custom scaling list to be used may be set (selected or generated) by the same processing as that on the encoding side. In this case, transmission of a custom scaling list is not necessary.
  • whether to apply the custom scaling list or the default scaling list to the quantization / inverse quantization of the current block to be processed is determined based on information on the orthogonal transform skip for the current block. May be.
  • Information related to this orthogonal transform skip includes, for example, skip permission information (transform_skip_enable_flag) indicating whether or not orthogonal transform skip (Transform Skip) is permitted for a predetermined range, and orthogonal transform for the current block.
  • skip permission information (transform_skip_enable_flag) indicating whether or not orthogonal transform skip (Transform Skip) is permitted for a predetermined range
  • orthogonal transform for the current block is included.
  • Skip permission information is information indicating whether or not to permit orthogonal transform skip (TransformpSkip) for each range larger than the unit of orthogonal transform processing (enable / disable). For example, when the value of the skip permission information (transform_skip_enable_flag) is false (for example, “0”), the orthogonal transform skip (TransformpSkip) is prohibited in the block in the range corresponding to the value (orthogonal transform processing / inverse Orthogonal transformation processing is always performed).
  • orthogonal transform skip (TransformpSkip) is permitted in the block in the range corresponding to the value (orthogonal transform processing) -The inverse orthogonal transform process can be skipped).
  • This skip permission information (transform_skip_enable_flag) is set by a user or the like, for example.
  • This skip permission information (transform_skip_enable_flag) is set for each picture, for example, and transmitted in a picture parameter set (PPS (Picture Parameter Set)).
  • PPS Picture Parameter Set
  • orthogonal transform skip (Transform Skip) can be applied to a block (TU) of a predetermined size (eg, 4 ⁇ 4 size).
  • skip identification information (transform_skip_flag) is transmitted for each block (TU) having a predetermined size (for example, 4 ⁇ 4 size).
  • Skip identification information is information indicating whether or not orthogonal transform skip has been performed for the current block (TU) to be processed. When this value is false (for example, “0”), orthogonal transform skip (Transform Skip) is not performed in the current block (orthogonal transform processing has been performed). That is, on the decoding side, when the value of the skip identification information (transform_skip_flag) is false (eg, “0”), the inverse orthogonal transform process is performed on the current block.
  • orthogonal transform skip (Transform Skip) is performed in the current block (orthogonal transform processing was not performed). That is, on the decoding side, when the value of the skip identification information (transform_skip_flag) is true (eg, “1”), the inverse orthogonal transform process for the current block is skipped (omitted).
  • the custom scaling list is applied, In other cases, the default scaling list may be applied.
  • whether or not to apply the custom scaling list may be determined based only on the skip permission information (transform_skip_enable_flag). For example, when the value of the skip permission information (transform_skip_enable_flag) is true (eg, “1”), it is assumed that the orthogonal transform process / inverse orthogonal transform process can be skipped in the current block, and the custom scaling list is applied, If it is false (for example, “0”), the default scaling list may be applied on the assumption that orthogonal transform processing / inverse orthogonal transform processing cannot be skipped in the current block.
  • the value of the skip permission information eg, “1”
  • the default scaling list may be applied on the assumption that orthogonal transform processing / inverse orthogonal transform processing cannot be skipped in the current block.
  • the application of the custom scaling list can be prohibited by setting the value of the skip permission information (transform_skip_enable_flag) to false (eg, 0).
  • the size of the block to which the custom scaling list can be applied is limited to a predetermined size (for example, 4 ⁇ 4 size) that can be orthogonally transformed. It is desirable to take this into consideration when skip identification information (transform_skip_flag) is not referred to.
  • the custom scaling list can be applied.
  • the application of the custom scaling list is prohibited. You may make it do.
  • the pixel value of the reference pixel diffuses into the current block, and thus the advantage of reducing the quantization step value and reducing the quantization error of the reference pixel is particularly great. Therefore, the application of the custom scaling list may be permitted only in the case of an I slice for which intra prediction is reliably performed.
  • FIG. 8 is a block diagram illustrating a main configuration example of an image encoding device which is an embodiment of an image processing device.
  • the image encoding device 100 illustrated in FIG. 8 encodes image data using, for example, HEVC (High Efficiency Video Coding) prediction processing or prediction processing based on the prediction processing.
  • the image encoding device 100 includes an A / D conversion unit 111, a screen rearrangement buffer 112, a calculation unit 113, an orthogonal transformation unit 114, a quantization unit 115, a lossless encoding unit 116, and an accumulation buffer. 117, an inverse quantization unit 118, and an inverse orthogonal transform unit 119.
  • the image encoding device 100 includes a calculation unit 120, a loop filter 121, a frame memory 122, a selection unit 123, an intra prediction unit 124, a motion prediction / compensation unit 125, a predicted image selection unit 126, and a rate control unit 127. .
  • the image coding apparatus 100 further includes an orthogonal transform skip unit 131 and a quantization control unit 132.
  • the A / D converter 111 performs A / D conversion on the input image data, supplies the converted image data (digital data) to the screen rearrangement buffer 112, and stores it.
  • the screen rearrangement buffer 112 rearranges the images of the frames in the stored display order in the order of frames for encoding according to the GOP (Group Of Picture), and rearranges the images in the order of the frames. It supplies to the calculating part 113.
  • the screen rearrangement buffer 112 also supplies the image in which the frame order is rearranged to the intra prediction unit 124 and the motion prediction / compensation unit 125.
  • the calculation unit 113 subtracts the predicted image supplied from the intra prediction unit 124 or the motion prediction / compensation unit 125 via the predicted image selection unit 126 from the image read from the screen rearrangement buffer 112, and the difference information Is output to the orthogonal transform unit 114. For example, in the case of an image on which intra coding is performed, the calculation unit 113 subtracts the prediction image supplied from the intra prediction unit 124 from the image read from the screen rearrangement buffer 112. For example, in the case of an image on which inter coding is performed, the calculation unit 113 subtracts the prediction image supplied from the motion prediction / compensation unit 125 from the image read from the screen rearrangement buffer 112.
  • the orthogonal transform unit 114 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 113.
  • the orthogonal transform unit 114 supplies the transform coefficient to the quantization unit 115.
  • the quantization unit 115 quantizes the transform coefficient supplied from the orthogonal transform unit 114.
  • the quantization unit 115 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 127, and performs the quantization.
  • the quantization unit 115 supplies the quantized transform coefficient to the lossless encoding unit 116.
  • the lossless encoding unit 116 encodes the transform coefficient quantized by the quantization unit 115 by an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 127, the code amount becomes the target value set by the rate control unit 127 (or approximates the target value).
  • the lossless encoding unit 116 acquires information indicating the mode of intra prediction from the intra prediction unit 124, and acquires information indicating the mode of inter prediction, differential motion vector information, and the like from the motion prediction / compensation unit 125. Further, the lossless encoding unit 116 appropriately generates NAL units including a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), and the like.
  • VPN video parameter set
  • SPS sequence parameter set
  • PPS picture parameter set
  • the lossless encoding unit 116 encodes these various types of information using an arbitrary encoding method, and sets (multiplexes) the encoded information (also referred to as an encoded stream) as a part.
  • the lossless encoding unit 116 supplies the encoded data obtained by encoding to the accumulation buffer 117 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 116 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 117 temporarily holds the encoded data supplied from the lossless encoding unit 116.
  • the accumulation buffer 117 outputs the held encoded data to, for example, a recording device (recording medium) (not shown) or a transmission path (not shown) at a predetermined timing at a predetermined timing. That is, the accumulation buffer 117 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 115 is also supplied to the inverse quantization unit 118.
  • the inverse quantization unit 118 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 115.
  • the inverse quantization unit 118 supplies the obtained transform coefficient to the inverse orthogonal transform unit 119.
  • the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 118 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 114.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 120.
  • the calculation unit 120 uses the prediction image selection unit 126 to perform prediction from the intra prediction unit 124 or the motion prediction / compensation unit 125 on the restored difference information, which is the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 119.
  • the images are added to obtain a locally decoded image (decoded image).
  • the decoded image is supplied to the loop filter 121 or the frame memory 122.
  • the loop filter 121 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the reconstructed image supplied from the calculation unit 120.
  • the loop filter 121 removes block distortion of the reconstructed image by performing deblocking filter processing on the reconstructed image.
  • the loop filter 121 improves the image quality by performing loop filter processing using a Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the loop filter 121 supplies a filter processing result (hereinafter referred to as a decoded image) to the frame memory 122.
  • the loop filter 121 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 121 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 116 and encode the information as necessary.
  • the frame memory 122 stores the reconstructed image supplied from the calculation unit 120 and the decoded image supplied from the loop filter 121, respectively.
  • the frame memory 122 supplies the stored reconstructed image to the intra prediction unit 124 via the selection unit 123 at a predetermined timing or based on a request from the outside such as the intra prediction unit 124.
  • the frame memory 122 also stores the decoded image stored at a predetermined timing or based on a request from the outside such as the motion prediction / compensation unit 125 via the selection unit 123. 125.
  • the frame memory 122 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the selection unit 123 at a predetermined timing.
  • the selection unit 123 selects a reference image supply destination supplied from the frame memory 122. For example, in the case of intra prediction, the selection unit 123 supplies the reference image (pixel value in the current picture) supplied from the frame memory 122 to the motion prediction / compensation unit 125. For example, in the case of inter prediction, the selection unit 123 supplies the reference image supplied from the frame memory 122 to the motion prediction / compensation unit 125.
  • the intra prediction unit 124 performs intra prediction (intra-screen prediction) that generates a predicted image using a pixel value in a current picture that is a reference image supplied from the frame memory 122 via the selection unit 123.
  • the intra prediction unit 124 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 124 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 112, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 124 supplies the predicted image generated in the optimal mode to the predicted image selection unit 126.
  • the intra prediction unit 124 appropriately supplies the intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 116 and causes the encoding to be performed.
  • the motion prediction / compensation unit 125 performs motion prediction (inter prediction) using the input image supplied from the screen rearrangement buffer 112 and the reference image supplied from the frame memory 122 via the selection unit 123.
  • the motion prediction / compensation unit 125 performs a motion compensation process according to the detected motion vector, and generates a prediction image (inter prediction image information).
  • the motion prediction / compensation unit 125 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
  • the motion prediction / compensation unit 125 generates a prediction image in all candidate inter prediction modes.
  • the motion prediction / compensation unit 125 evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 112 and information on the generated differential motion vector, and selects an optimal mode. .
  • the motion prediction / compensation unit 125 supplies the predicted image generated in the optimal mode to the predicted image selection unit 126.
  • the motion prediction / compensation unit 125 supplies information indicating the employed inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 116 when decoding the encoded data. And encoding.
  • the necessary information includes, for example, information on the generated differential motion vector and a flag indicating an index of the predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 126 selects a supply source of a predicted image to be supplied to the calculation unit 113 or the calculation unit 120.
  • the prediction image selection unit 126 selects the intra prediction unit 124 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 124 to the calculation unit 113 and the calculation unit 120.
  • the predicted image selection unit 126 selects the motion prediction / compensation unit 125 as a supply source of the predicted image, and calculates the predicted image supplied from the motion prediction / compensation unit 125 as the calculation unit 113.
  • To the arithmetic unit 120 To the arithmetic unit 120.
  • the rate control unit 127 controls the quantization operation rate of the quantization unit 115 based on the code amount of the encoded data stored in the storage buffer 117 so that no overflow or underflow occurs.
  • the orthogonal transform skip unit 131 controls the execution of the orthogonal transform process in the orthogonal transform unit 114 and the execution of the inverse orthogonal transform process in the inverse orthogonal transform unit 119.
  • the orthogonal transformation skip unit 131 acquires the orthogonal transformation coefficient and the difference value before the orthogonal transformation from the orthogonal transformation unit 114.
  • the orthogonal transform skip unit 131 acquires skip permission information (transform_skip_enable_flag) from the lossless encoding unit 116. Based on these pieces of information, the orthogonal transform skip unit 131 determines whether to skip (omit) the orthogonal transform process or the inverse orthogonal transform process.
  • the orthogonal transform skip unit 131 controls the orthogonal transform unit 114 and the inverse orthogonal transform unit 119 based on the determination. That is, the orthogonal transform unit 114 performs or skips the orthogonal transform process according to the control of the orthogonal transform skip unit 131. Similarly, the inverse orthogonal transform unit 119 also performs or skips the inverse orthogonal transform process according to the control of the orthogonal transform skip unit 131.
  • the orthogonal transform skip unit 131 generates the determined content, that is, skip identification information (transform_skip_flag) indicating whether or not to skip the orthogonal transform process and the inverse orthogonal transform process, and sends it to the lossless encoding unit 116.
  • the lossless encoding unit 116 includes the skip identification information (transform_skip_flag), for example, in encoded data and transmits the encoded identification data to the decoding side. This skip identification information may be transmitted to the decoding side as data different from the encoded data.
  • the orthogonal transform skip unit 131 supplies information related to the orthogonal transform skip including skip permission information (transform_skip_enable_flag) and skip identification information (transform_skip_flag) to the quantization control unit 132.
  • the quantization control unit 132 acquires information related to the orthogonal transform skip supplied from the orthogonal transform skip unit 131. Further, the quantization control unit 132 acquires information indicating the slice type of the current slice to be processed (slice to which the current block belongs) from the screen rearrangement buffer 112. Based on these pieces of information, the quantization control unit 132 determines whether to apply a custom scaling list or a default scaling list in quantization / inverse quantization for the current block. When the quantization control unit 132 determines the scaling list to be applied, the quantization control unit 132 supplies the scaling list to the quantization unit 115 and the inverse quantization unit 118.
  • the quantization unit 115 performs quantization on the current block using the scaling list supplied from the quantization control unit 132.
  • the inverse quantization unit 118 performs inverse quantization on the current block using the scaling list supplied from the quantization control unit 132.
  • FIG. 9 is a block diagram illustrating a main configuration example of the quantization control unit 132 of FIG. As illustrated in FIG. 9, the quantization control unit 132 includes a determination unit 151 and a scaling list setting unit 152.
  • the orthogonal transform skip unit 131 supplies information related to the orthogonal transform skip to the determination unit 151. Further, the screen rearrangement buffer 112 supplies information indicating the slice type of the current slice to the determination unit 151.
  • the determination unit 151 determines these pieces of information. For example, the determination unit 151 determines the values of skip permission information and skip identification information. For example, the determination unit 151 determines whether the current slice is an I slice. The determination unit 151 supplies these determination results to the scaling list setting unit 152.
  • the scaling list setting unit 152 sets a scaling list used in quantization / inverse quantization of the current block based on the determination result supplied from the determination unit 151. For example, when the values of the skip permission information and the skip identification information are both true and an I slice, the scaling list setting unit 152 applies the custom scaling list. In addition, when at least one of the skip permission information and the skip identification information is false or not an I slice, the scaling list setting unit 152 applies the default scaling list.
  • the scaling list setting unit 152 supplies the set scaling list to the quantization unit 115 and the inverse quantization unit 118.
  • the quantization unit 115 and the inverse quantization unit 118 perform quantization processing and inverse quantization processing using the scaling list.
  • the image encoding device 100 can suppress an increase in quantization error and improve encoding efficiency. In other words, the image encoding device 100 can suppress a reduction in image quality due to encoding / decoding.
  • step S101 the lossless encoding unit 116 of the image encoding device 100 generates skip permission information (transform_skip_enable_flag) for the current picture to be processed based on, for example, a user instruction or the like. To do.
  • step S102 the A / D conversion unit 111 performs A / D conversion on the input image data.
  • step S103 the screen rearrangement buffer 112 stores the A / D converted image information (digital data), and rearranges the pictures from the display order to the encoding order.
  • step S104 the intra prediction unit 124 performs an intra prediction process in the intra prediction mode.
  • step S105 the motion prediction / compensation unit 125 performs an inter motion prediction process for performing motion prediction and motion compensation in the inter prediction mode.
  • step S ⁇ b> 106 the predicted image selection unit 126 determines an optimal mode based on the cost function values output from the intra prediction unit 124 and the motion prediction / compensation unit 125. That is, the predicted image selection unit 126 selects one of the predicted image generated by the intra prediction unit 124 and the predicted image generated by the motion prediction / compensation unit 125.
  • step S107 the calculation unit 113 calculates a difference between the image rearranged by the process of step S103 and the predicted image selected by the process of step S106.
  • the data amount of the difference data is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S108 the orthogonal transform skip unit 131 determines whether or not to perform orthogonal transform skip of the current block to be processed.
  • step S109 the orthogonal transform unit 114 performs orthogonal transform processing on the difference information generated by the processing in step S107 according to the processing result in step S108. For example, if it is determined in step S108 that orthogonal transformation is to be performed on the current block, the orthogonal transformation unit 114 performs orthogonal transformation in step S109. For example, when it is determined in step S108 that orthogonal transformation is not performed on the current block, the orthogonal transformation unit 114 skips orthogonal transformation in step S109.
  • step S110 the quantization control unit 132 performs quantization control processing according to the processing result of step S108.
  • step S111 the quantization unit 115 uses the quantization parameter calculated by the rate control unit 127 and the scaling list set in step S110 to obtain the orthogonal transform coefficient or orthogonal transform obtained by the process of step S109. Quantize the previous difference value.
  • step S110 The difference information quantized by the process of step S110 is locally decoded as follows. That is, in step S112, the inverse quantization unit 118 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S111 using the scaling list set in step S110. . In step S113, the inverse orthogonal transform unit 119 performs an inverse orthogonal transform process on the orthogonal transform coefficient or the pre-orthogonal difference value obtained by the process of step S112 according to the processing result of step S108.
  • the quantized coefficient also referred to as a quantization coefficient
  • step S114 the calculation unit 120 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 113).
  • step S115 the loop filter 121 filters the image generated by the process in step S114. Thereby, block distortion and the like are removed.
  • step S116 the frame memory 122 stores an image from which block distortion has been removed by the process of step S115. Note that an image that has not been filtered by the loop filter 121 is also supplied to the frame memory 122 from the computing unit 120 and stored therein. The image stored in the frame memory 122 is used for the process in step S104 and the process in step S105.
  • step S117 the lossless encoding unit 116 encodes the coefficient quantized by the process in step S111. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the data corresponding to the difference image.
  • the lossless encoding unit 116 encodes information on the prediction mode of the prediction image selected by the process of step S106, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 116 encodes and encodes the optimal intra prediction mode information supplied from the intra prediction unit 124 or the information corresponding to the optimal inter prediction mode supplied from the motion prediction / compensation unit 125. Append to data.
  • the lossless encoding unit 116 further appropriately encodes information related to the orthogonal transform skip such as skip identification information (transform_skip_flag), and adds the information to the encoded data.
  • information related to the orthogonal transform skip such as skip identification information (transform_skip_flag)
  • step S118 the accumulation buffer 117 accumulates the base layer encoded data obtained by the process in step S117.
  • the base layer encoded data stored in the storage buffer 117 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S119 the rate control unit 127 causes the quantization unit 115 to prevent overflow or underflow from occurring based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 117 by the process of step S118. Controls the rate of quantization operation. Further, the rate control unit 127 supplies information regarding the quantization parameter to the quantization unit 115.
  • step S119 When the process of step S119 ends, the encoding process ends.
  • This encoding process is executed in units of pictures, for example. That is, the encoding process is executed for each picture. However, each process in the encoding process is performed for each processing unit.
  • the determination unit 151 acquires information regarding the orthogonal transform skip from the orthogonal transform skip unit 131 in step S131.
  • step S132 the determination unit 151 determines whether or not the value of the skip permission information (transform_skip_enable_flag) included in the information related to the orthogonal transform skip acquired in step S131 is true (eg, “1”). If it is determined that the value of the skip permission information (transform_skip_enable_flag) is true (eg, “1”), the process proceeds to step S133.
  • the value of the skip permission information (transform_skip_enable_flag) included in the information related to the orthogonal transform skip acquired in step S131 is true (eg, “1”). If it is determined that the value of the skip permission information (transform_skip_enable_flag) is true (eg, “1”), the process proceeds to step S133.
  • step S133 the determination unit 151 determines whether or not the value of the skip identification information (transform_skip_flag) included in the information related to the orthogonal transform skip acquired in step S131 is true (eg, “1”). If it is determined that the value of the skip identification information (transform_skip_flag) is true (eg, “1”), the process proceeds to step S134.
  • the value of the skip identification information (transform_skip_flag) included in the information related to the orthogonal transform skip acquired in step S131 is true (eg, “1”). If it is determined that the value of the skip identification information (transform_skip_flag) is true (eg, “1”), the process proceeds to step S134.
  • step S134 the determination unit 151 acquires information regarding the slice type supplied from the screen rearrangement buffer 112.
  • step S135 the determination unit 151 determines whether the current slice is an I slice based on the information regarding the slice type acquired in step S134. If it is determined that the slice is an I slice, the process proceeds to step S136.
  • step S136 the scaling list setting unit 152 applies a custom scaling list as a scaling list used for quantization of the current block.
  • step S136 ends, the process proceeds to step S138.
  • step S132 when it is determined in step S132 that the value of the skip permission information (transform_skip_enable_flag) is false, in step S133, when the value of the skip identification information (transform_skip_flag) is determined to be false, or in step S135. If it is determined that the current slice is not an I slice, the process proceeds to step S137.
  • step S137 the scaling list setting unit 152 applies a default scaling list as a scaling list used for quantization of the current block.
  • step S138 the process proceeds to step S138.
  • step S138 the determination unit 151 determines whether all blocks (TUs) have been processed. If it is determined that there is an unprocessed block, the process returns to step S131 and the subsequent processes are repeated. Processing is performed for each block by repeatedly executing the processing of step S131 to step S138. If it is determined in step S138 that all blocks (TUs) have been processed, the quantization control processing ends, and processing is performed. Return to FIG.
  • the image encoding device 100 can suppress an increase in quantization error, suppress a decrease in encoding efficiency, and suppress a decrease in image quality due to encoding / decoding. it can.
  • FIG. 12 is a block diagram illustrating a main configuration example of an image decoding device which is an embodiment of an image processing device.
  • An image decoding apparatus 200 shown in FIG. 12 is a decoding apparatus that decodes encoded data using a decoding scheme corresponding to the encoding scheme of the image encoding apparatus 100 in FIG.
  • the image decoding device 200 decodes encoded data obtained by encoding image data by the image encoding device 100.
  • the image decoding apparatus 200 includes a storage buffer 211, a lossless decoding unit 212, an inverse quantization unit 213, an inverse orthogonal transform unit 214, an operation unit 215, a loop filter 216, a screen rearrangement buffer 217, and a D A / A converter 218 is included.
  • the image decoding apparatus 200 includes a frame memory 219, a selection unit 220, an intra prediction unit 221, a motion prediction / compensation unit 222, and a selection unit 223.
  • the image decoding apparatus 200 includes an inverse orthogonal transform skip unit 231 and an inverse quantization control unit 232.
  • the accumulation buffer 211 is also a receiving unit that receives transmitted encoded data.
  • the accumulation buffer 211 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 212 at a predetermined timing.
  • Information necessary for decoding such as prediction mode information, information on orthogonal transform skip (for example, including skip permission information and skip identification information), information on slices such as a slice type, is added to the encoded data.
  • the lossless decoding unit 212 decodes the information supplied from the accumulation buffer 211 and encoded by the lossless encoding unit 116 by a method corresponding to the encoding method of the lossless encoding unit 116.
  • the lossless decoding unit 212 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 213.
  • the lossless decoding unit 212 appropriately extracts and acquires NAL units including a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), and the like included in the encoded data.
  • the lossless decoding unit 212 extracts information on the optimum prediction mode from the information, determines whether the intra prediction mode or the inter prediction mode is selected as the optimum prediction mode based on the information, and Information regarding the optimal prediction mode is supplied to the mode determined to be selected from the intra prediction unit 221 and the motion prediction / compensation unit 222. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the image encoding device 100, information regarding the optimal prediction mode is supplied to the intra prediction unit 221. For example, when the inter prediction mode is selected as the optimal prediction mode in the image encoding device 100, information regarding the optimal prediction mode is supplied to the motion prediction / compensation unit 222.
  • the lossless decoding unit 212 extracts information necessary for inverse quantization such as a quantization parameter from the NAL unit or the like, and supplies it to the inverse quantization unit 213. Also, the lossless decoding unit 212 extracts information necessary for control of inverse quantization, such as a slice type, from a NAL unit or the like, and supplies it to the inverse quantization control unit 232.
  • the lossless decoding unit 212 extracts information related to orthogonal transform skip including, for example, skip permission information (transform_skip_enable_flag), skip identification information (transform_skip_flag), and the like, and supplies the information to the inverse orthogonal transform skip unit 231.
  • the inverse quantization unit 213 inversely quantizes the quantized coefficient data (quantized coefficient) obtained by decoding by the lossless decoding unit 212 using a method corresponding to the quantization method of the quantization unit 115.
  • the inverse quantization unit 213 performs inverse quantization using the scaling list supplied from the inverse quantization control unit 232.
  • the inverse quantization unit 213 supplies the obtained coefficient data (orthogonal transform coefficient or pre-orthogonal transform difference value) to the inverse orthogonal transform unit 214.
  • the inverse quantization unit 213 is a processing unit similar to the inverse quantization unit 118. That is, the description of the inverse quantization unit 213 can be applied to the inverse quantization unit 118. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • the inverse orthogonal transform unit 214 performs orthogonal transform on the coefficient data (orthogonal transform coefficient or difference value before orthogonal transform) supplied from the inverse quantization unit 213 based on the control of the inverse orthogonal transform skip unit 231 as necessary.
  • the inverse orthogonal transform is performed by a method corresponding to the orthogonal transform method of the unit 114. That is, when the orthogonal transform coefficient is supplied from the inverse quantization unit 213, the inverse orthogonal transform unit 214 performs inverse orthogonal transform on the orthogonal transform coefficient. Further, when the pre-orthogonal difference value is supplied from the inverse quantization unit 213, the inverse orthogonal transform unit 214 skips the inverse orthogonal transform.
  • the inverse orthogonal transform unit 214 obtains decoded residual data corresponding to the residual data (difference value before orthogonal transform) before orthogonal transform in the orthogonal transform unit 114 by such inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 214 supplies the decoded residual data to the calculation unit 215.
  • the inverse orthogonal transform unit 214 is a processing unit similar to the inverse orthogonal transform unit 119. That is, the description of the inverse orthogonal transform unit 214 can be applied to the inverse orthogonal transform unit 119. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • a prediction image is supplied from the intra prediction unit 221 or the motion prediction / compensation unit 222 to the calculation unit 215 via the selection unit 223.
  • the computing unit 215 adds the decoded residual data and the predicted image, and obtains decoded image data corresponding to the image data before the predicted image is subtracted by the computing unit 113.
  • the arithmetic unit 215 supplies the decoded image data to the loop filter 216.
  • the loop filter 216 appropriately performs filter processing including a deblocking filter and an adaptive loop filter on the supplied decoded image, and supplies it to the screen rearranging buffer 217 and the frame memory 219.
  • the loop filter 216 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
  • the loop filter 216 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • the loop filter 216 is a processing unit similar to the loop filter 121.
  • the decoded image output from the calculation unit 215 can be supplied to the screen rearrangement buffer 217 and the frame memory 219 without passing through the loop filter 216. That is, part or all of the filter processing by the loop filter 216 can be omitted.
  • the screen rearrangement buffer 217 rearranges the decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 112 is rearranged in the original display order.
  • the D / A conversion unit 218 performs D / A conversion on the image supplied from the screen rearrangement buffer 217, and outputs and displays the image on a display (not shown).
  • the frame memory 219 stores the supplied decoded image, and the stored decoded image is a reference image at a predetermined timing or based on an external request such as the intra prediction unit 221 or the motion prediction / compensation unit 222. To the selection unit 220.
  • the selection unit 220 selects a reference image supply destination supplied from the frame memory 219.
  • the selection unit 220 supplies the reference image supplied from the frame memory 219 to the intra prediction unit 221 when decoding an intra-coded image.
  • the selection unit 220 supplies the reference image supplied from the frame memory 219 to the motion prediction / compensation unit 222 when decoding an inter-encoded image.
  • the intra prediction unit 221 is appropriately supplied from the lossless decoding unit 212 with information indicating the intra prediction mode obtained by decoding the header information.
  • the intra prediction unit 221 performs intra prediction using the reference image acquired from the frame memory 219 in the intra prediction mode used in the intra prediction unit 124, and generates a predicted image.
  • the intra prediction unit 221 supplies the generated predicted image to the selection unit 223.
  • the motion prediction / compensation unit 222 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information from the lossless decoding unit 212.
  • the motion prediction / compensation unit 222 performs inter prediction using the reference image acquired from the frame memory 219 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 212, and generates a prediction image.
  • the selection unit 223 supplies the prediction image from the intra prediction unit 221 or the prediction image from the motion prediction / compensation unit 222 to the calculation unit 215.
  • the arithmetic unit 215 adds the predicted image generated using the motion vector and the decoded residual data (difference image information) from the inverse orthogonal transform unit 214 to decode the original image.
  • the inverse orthogonal transform skip unit 231 controls the execution of the inverse orthogonal transform process in the inverse orthogonal transform unit 214 in the same manner as the orthogonal transform skip unit 131. That is, the inverse orthogonal transform skip unit 231 acquires information (for example, skip permission information and skip identification information) related to the orthogonal transform skip supplied from the encoding side via the lossless decoding unit 212. The inverse orthogonal transform skip unit 231 determines whether to skip (omitted) the inverse orthogonal transform process based on the information, and controls the execution of the inverse orthogonal transform process in the inverse orthogonal transform unit 214 according to the determination.
  • information for example, skip permission information and skip identification information
  • the inverse orthogonal transform skip unit 231 performs the inverse orthogonal transform process on the block subjected to the orthogonal transform, and the orthogonal transform is skipped.
  • the inverse orthogonal transform unit 214 is controlled to skip the inverse orthogonal transform process on the block.
  • the inverse orthogonal transform unit 214 performs or skips the inverse orthogonal transform process according to the control of the inverse orthogonal transform skip unit 231.
  • the inverse orthogonal transform skip unit 231 supplies information related to the orthogonal transform skip including the obtained skip permission information and skip identification information to the inverse quantization control unit 232.
  • the inverse quantization control unit 232 controls the execution of the inverse quantization process in the inverse quantization unit 213 in the same manner as the quantization control unit 132. That is, the inverse quantization control unit 232 acquires information on the orthogonal transform skip transmitted from the encoding side, which is supplied from the inverse orthogonal transform skip unit 231. In addition, the inverse quantization control unit 232 acquires information indicating the slice type of the current slice extracted from the encoded data by the lossless decoding unit 212. Based on these pieces of information, the inverse quantization control unit 232 determines a scaling list to be applied in inverse quantization for the current block, and supplies the scaling list to the inverse quantization unit 213.
  • the inverse quantization control unit 232 applies the default scaling list to the block on which the orthogonal transformation has been performed, and the orthogonal transformation is skipped. Apply a custom scaling list to the selected block.
  • the inverse quantization unit 213 performs inverse quantization on the current block using the scaling list supplied from the inverse quantization control unit 232.
  • FIG. 13 is a block diagram illustrating a main configuration example of the inverse quantization control unit 232 of FIG. As illustrated in FIG. 13, the inverse quantization control unit 232 is basically the same as the quantization control unit 132, and includes a determination unit 251 and a scaling list setting unit 252.
  • the inverse orthogonal transform skip unit 231 supplies information regarding the orthogonal transform skip to the determination unit 251. Further, the lossless decoding unit 212 supplies information indicating the slice type of the current slice to the determination unit 251.
  • the determination unit 251 determines these pieces of information. For example, the determination unit 251 determines the values of skip permission information and skip identification information. For example, the determination unit 251 determines whether or not the current slice is an I slice. The determination unit 251 supplies these determination results to the scaling list setting unit 252.
  • the scaling list setting unit 252 sets a scaling list to be used in the inverse quantization of the current block based on the determination result supplied from the determination unit 251. For example, if the values of the skip permission information and the skip identification information are both true and an I slice, the scaling list setting unit 252 applies the custom scaling list. In addition, when at least one of the skip permission information and the skip identification information is false or not an I slice, the scaling list setting unit 252 applies the default scaling list.
  • the scaling list setting unit 252 supplies the set scaling list to the inverse quantization unit 213.
  • the inverse quantization unit 213 performs an inverse quantization process using the scaling list.
  • the image decoding apparatus 200 can suppress an increase in quantization error and improve the encoding efficiency. In other words, the image decoding apparatus 200 can suppress a reduction in image quality due to encoding / decoding.
  • step S201 the accumulation buffer 211 accumulates the bit stream transmitted from the encoding side.
  • step S202 the lossless decoding unit 212 decodes the bitstream (encoded difference image information) supplied from the accumulation buffer 211. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 116 are decoded. At this time, various information other than the difference image information included in the bit stream such as header information is also decoded.
  • step S203 the inverse quantization control unit 232 performs an inverse quantization control process and sets a scaling list to be applied.
  • step S204 the inverse quantization unit 213 inversely quantizes the quantized coefficient obtained by the process in step S202, using the scaling list set in step S203.
  • step S205 the inverse orthogonal transform unit 214 performs an inverse orthogonal transform process that appropriately performs inverse orthogonal transform on the current block (current TU) based on the control of the inverse orthogonal transform skip unit 231.
  • the intra prediction unit 221 or the motion prediction / compensation unit 222 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode that is determined in the lossless decoding unit 212 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 221 generates a prediction image in the intra prediction mode that is optimized at the time of encoding. For example, when inter prediction is applied at the time of encoding, the motion prediction / compensation unit 222 generates a prediction image in the inter prediction mode that is optimized at the time of encoding.
  • step S207 the calculation unit 215 adds the predicted image generated in step S207 to the difference image information obtained by the inverse orthogonal transform process in step S205. As a result, the original image is decoded (a decoded image is obtained).
  • step S208 the loop filter 216 performs loop filter processing for appropriately performing various types of filter processing on the decoded image obtained in step S207.
  • step S209 the screen rearrangement buffer 217 rearranges the images subjected to the loop filter processing in step S208. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 112 is rearranged in the original display order.
  • step S210 the D / A conversion unit 218 performs D / A conversion on the image in which the frame order is rearranged in step S209. This image is output to a display (not shown), and the image is displayed.
  • step S211 the frame memory 219 stores the image subjected to the loop filter process in step S208.
  • step S211 When the process of step S211 is finished, the decryption process is finished.
  • This decoding process is executed in units of pictures, for example. That is, the decoding process is executed for each picture. However, each process in the decoding process is performed for each processing unit.
  • the determination unit 251 acquires information on the orthogonal transform skip in step S231.
  • step S232 the determination unit 251 determines whether or not the value of the skip permission information (transform_skip_enable_flag) included in the information related to the orthogonal transform skip acquired in step S231 is true (eg, “1”). If it is determined that the value is true (eg, “1”), the process proceeds to step S233.
  • the value of the skip permission information (transform_skip_enable_flag) included in the information related to the orthogonal transform skip acquired in step S231 is true (eg, “1”). If it is determined that the value is true (eg, “1”), the process proceeds to step S233.
  • step S233 the determination unit 251 determines whether or not the value of the skip identification information (transform_skip_flag) included in the information related to the orthogonal transform skip acquired in step S231 is true (eg, “1”). If it is determined that the value is true (eg, “1”), the process proceeds to step S234.
  • step S234 the determination unit 251 acquires information regarding the slice type.
  • step S235 the determination unit 251 determines whether or not the current slice is an I slice based on the information regarding the slice type acquired in step S234. If it is determined that the slice is an I slice, the process proceeds to step S236.
  • step S236 the scaling list setting unit 252 applies a custom scaling list as a scaling list used for quantization of the current block.
  • step S236 ends, the process proceeds to step S238.
  • step S232 when it is determined in step S232 that the value of the skip permission information (transform_skip_enable_flag) is false, in step S233, when the value of the skip identification information (transform_skip_flag) is determined to be false, or in step S235. If it is determined that the current slice is not an I slice, the process proceeds to step S237.
  • step S237 the scaling list setting unit 252 applies a default scaling list as a scaling list used for quantization of the current block.
  • step S236 ends, the process proceeds to step S238.
  • step S2308 the determination unit 251 determines whether or not all the blocks (TUs) have been processed. If it is determined that there is an unprocessed block, the process returns to step S231 and the subsequent processes are repeated. The processes in steps S231 to S238 are repeatedly executed to perform the process for each block. If it is determined in step S238 that all the blocks (TUs) have been processed, the inverse quantization control process ends. Processing returns to FIG.
  • the image decoding apparatus 200 can suppress an increase in quantization error, suppress a decrease in encoding efficiency, and suppress a decrease in image quality due to encoding / decoding. .
  • a slice is a unit of processing that is independently encoded in a picture (image).
  • An arbitrary number (single or plural) slices are formed in the picture.
  • Intra prediction is also performed independently for each slice. That is, the reference pixel referred in intra prediction is also limited within the slice to which the current block belongs. That is, there is a possibility that a reference direction is limited in a block that is in contact with a slice end (slice boundary).
  • the block (including the block at the bottom of the screen) that touches the bottom of the slice is not referred to by other blocks below it. That is, in such a block, the pixel that may be referred to is only the rightmost column. Therefore, a custom scaling list such as the example shown in FIG. 16 may be applied to such a block.
  • a block (including a block at the right end of the screen) that is in contact with the right end of the slice is not referenced by other blocks to the right. That is, in such a block, the pixel that may be referred to is only the bottom row. Therefore, a custom scaling list such as the example shown in FIG. 17 may be applied to such a block.
  • these custom scaling lists have a smaller number of quantization steps for reducing the values than the examples of FIGS. That is, in these custom scaling lists, the quantization steps corresponding to pixels that are not actually referred to are not reduced. Therefore, by detecting the slice edge (slice boundary) and applying a custom scaling list that reflects the detection result to quantization / inverse quantization, an unnecessary increase in code amount is achieved by unnecessarily reducing the quantization step. Can be suppressed. Thereby, the reduction in image quality due to encoding / decoding can be suppressed.
  • the quantization step value corresponding to a pixel that is not likely to be referred to in the intra prediction may not be uniform, and may be referred to in the intra prediction.
  • the value of the quantization step corresponding to a certain pixel may not be uniform.
  • each quantization step of a portion corresponding to a pixel that may be referred to in intra prediction has a value corresponding to the likelihood of being referred to in the intra prediction of the corresponding pixel. Also good.
  • the quantization step value corresponding to a pixel that is not likely to be referred to in intra prediction may be increased. .
  • FIG. 18 is a block diagram illustrating a main configuration example of the quantization control unit 132 in this case. As illustrated in FIG. 18, in this case, the quantization control unit 132 further includes a slice end detection unit 301 in addition to the determination unit 151 and the scaling list setting unit 152.
  • the screen rearrangement buffer 112 supplies information indicating the slice end (slice boundary) to the slice end detection unit 301.
  • the slice edge detection unit 301 determines whether or not the current block touches the slice edge based on the information.
  • the slice end detection unit 301 supplies the detection result to the scaling list setting unit 152.
  • the scaling list setting unit 152 selects whether to apply the custom scaling list or the default scaling list.
  • the slice end detection unit 152 A custom scaling list corresponding to the detection result of the slice edge supplied from 301 is applied.
  • the scaling list setting unit 152 supplies the set custom scaling list to the quantization unit 15 and the inverse quantization unit 118.
  • the image coding apparatus 100 suppresses an unnecessary increase in quantization error due to unnecessarily small quantization steps, suppresses an unnecessary increase in code amount, and performs encoding / decoding. Reduction in image quality can be suppressed.
  • the quantization control process is basically performed in the same manner as in the first embodiment. That is, the processes in steps S301 to S305 are performed in the same manner as the processes in steps S131 to S135 in FIG.
  • step S306 the slice end detection unit 301 detects the slice end.
  • step S307 the scaling list setting unit 152 applies a custom scaling list according to the detection result of the slice edge.
  • step S302 If it is determined in step S302 that the value of the skip permission information (transform_skip_enable_flag) is false, if it is determined in step S303 that the value of the skip identification information (transform_skip_flag) is false, or step S305. If it is determined that the current slice is not an I slice, the process proceeds to step S308.
  • step S308 the scaling list setting unit 152 applies a default scaling list as a scaling list used for quantization of the current block.
  • step S308 ends, the process proceeds to step S309.
  • step S309 the determination unit 151 determines whether all the blocks (TUs) have been processed. If it is determined that there is an unprocessed block, the process returns to step S301, and the subsequent processes are repeated. The processes in steps S301 to S309 are repeatedly executed to perform the process for each block. If it is determined in step S309 that all the blocks (TUs) have been processed, the quantization control process ends, and the process Return to FIG.
  • the image encoding device 100 can suppress an increase in quantization error, suppress a decrease in encoding efficiency, and suppress a decrease in image quality due to encoding / decoding. it can.
  • FIG. 20 is a block diagram illustrating a main configuration example of the inverse quantization control unit 232 in this case.
  • the inverse quantization control unit 232 further includes a slice end detection unit 401 in addition to the determination unit 251 and the scaling list setting unit 252.
  • the slice end detection unit 401 is basically a processing unit similar to the slice end detection unit 301.
  • the lossless decoding unit 212 supplies information indicating the slice end (slice boundary) extracted from the encoded data to the slice end detection unit 401.
  • the slice edge detection unit 401 determines whether or not the current block touches the slice edge based on the information.
  • the slice end detection unit 401 supplies the detection result to the scaling list setting unit 252.
  • the scaling list setting unit 252 selects whether to apply the custom scaling list or the default scaling list.
  • the slice end detection unit A custom scaling list corresponding to the detection result of the slice edge supplied from 401 is applied.
  • the scaling list setting unit 252 supplies the set custom scaling list to the inverse quantization unit 213.
  • the image decoding apparatus 200 suppresses an unnecessary increase in quantization error due to unnecessarily small quantization steps, suppresses an unnecessary increase in code amount, and improves image quality by encoding / decoding. Can be suppressed.
  • the inverse quantization control process is basically performed in the same manner as in the second embodiment. That is, the processes in steps S401 to S405 are performed in the same manner as the processes in steps S231 to S235 in FIG.
  • step S406 the slice end detection unit 401 detects the slice end.
  • step S407 the scaling list setting unit 252 applies a custom scaling list according to the detection result of the slice edge.
  • step S402 If it is determined in step S402 that the value of the skip permission information (transform_skip_enable_flag) is false, if it is determined in step S403 that the value of the skip identification information (transform_skip_flag) is false, or step S405. If it is determined that the current slice is not an I slice, the process proceeds to step S408.
  • step S408 the scaling list setting unit 252 applies a default scaling list as a scaling list used for quantization of the current block.
  • step S408 ends, the process proceeds to step S309.
  • step S409 the determination unit 251 determines whether all blocks (TUs) have been processed. If it is determined that there is an unprocessed block, the process returns to step S401, and the subsequent processes are repeated. The processing of each block is performed by repeatedly executing the processing of step S401 to step S409, and when it is determined in step S409 that all the blocks (TUs) have been processed, the inverse quantization control processing ends, Processing returns to FIG.
  • the image decoding apparatus 200 can suppress an increase in quantization error, suppress a decrease in encoding efficiency, and suppress a decrease in image quality due to encoding / decoding. .
  • FIG. 22 shows an example of the multi-view image encoding method.
  • the multi-viewpoint image includes a plurality of viewpoint images, and a predetermined one viewpoint image among the plurality of viewpoints is designated as the base view image.
  • Each viewpoint image other than the base view image is treated as a non-base view image.
  • the image of each view is encoded / decoded.
  • the method according to any one of the embodiments described above. May be applied. By doing so, it is possible to realize a reduction in quantization error and to suppress a reduction in image quality due to encoding / decoding.
  • flags and parameters used in the method of each embodiment described above may be shared.
  • information regarding skip of orthogonal transform processing including information such as skip permission information (transform_skip_enable_flag) and skip identification information (transform_skip_flag) may be shared in encoding / decoding of each view.
  • information regarding slice types and slice boundaries may be shared in encoding / decoding of each view.
  • FIG. 23 is a diagram illustrating a multi-view image encoding apparatus that performs the multi-view image encoding described above. As illustrated in FIG. 23, the multi-view image encoding apparatus 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
  • the encoding unit 601 encodes the base view image and generates a base view image encoded stream.
  • the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
  • the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
  • the image encoding device 100 can be applied to the encoding unit 601 and the encoding unit 602 of the multi-view image encoding device 600. Further, as described above, the encoding unit 601 and the encoding unit 602 can set a scaling list using the same flag and parameter (that is, can share the flag and parameter). ).
  • FIG. 24 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
  • the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
  • the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding device 200 can be applied to the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610. Further, as described above, the decoding unit 612 and the decoding unit 613 can set the scaling list using the same flag and parameter (that is, can share the flag and parameter).
  • FIG. 25 shows an example of a multi-view image encoding method.
  • a hierarchical image includes images of a plurality of layers (resolutions), and an image of a predetermined one layer among the plurality of resolutions is designated as an image of a base layer. Images in each layer other than the base layer image are treated as non-base layer images.
  • the image of each layer is encoded / decoded.
  • the method of any one of the above-described embodiments is used. You may make it apply. By doing so, it is possible to reduce the memory access amount and the calculation amount while suppressing image deterioration.
  • the flags and parameters used in the method of each embodiment described above may be shared.
  • information regarding skip of orthogonal transform processing including information such as skip permission information (transform_skip_enable_flag) and skip identification information (transform_skip_flag) may be shared in encoding and decoding of each layer.
  • information regarding slice types and slice boundaries may be shared in encoding / decoding of each layer.
  • FIG. 26 is a diagram illustrating a hierarchical image encoding apparatus that performs the above-described hierarchical image encoding.
  • the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
  • the encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
  • the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
  • the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
  • the image encoding device 100 can be applied to the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620. As described above, the encoding unit 621 and the encoding unit 622 can set a scaling list using the same flag and parameter (that is, can share the flag and parameter).
  • FIG. 27 is a diagram illustrating 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.
  • the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
  • the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding device 200 can be applied to the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630. As described above, the decoding unit 632 and the decoding unit 633 can perform setting of a scaling list using the same flag and parameter (that is, the flag and parameter can be shared).
  • the present technology is also applicable to HTTP streaming such as MPEG DASH, in which an appropriate one is selected from a plurality of encoded data having different resolutions prepared in advance and used in segment units. Can do.
  • this technology is, for example, MPEG, H.264.
  • image information such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • the present technology can also be applied to an orthogonal transform device or an inverse orthogonal transform device included in such an image encoding device and an image decoding device.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the 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. 28 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • 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, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 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, for example. Is performed.
  • the RAM 803 also appropriately 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 provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • the program can be received by the communication unit 814 via a wired or wireless transmission medium and installed in the storage unit 813.
  • the program can be installed in the ROM 802 or the storage unit 813 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, 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 that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 29 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 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 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • 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. In addition, the decoder 904 outputs 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 the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic 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 a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an 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 in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 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 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 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 200 according to the above-described embodiment. Therefore, when decoding an image by the television apparatus 900, it is possible to realize a reduction in quantization error and to suppress a reduction in image quality due to encoding / decoding.
  • FIG. 30 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular 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 demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • 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 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 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform 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, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received 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 the audio data and performs D / A conversion 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 the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates 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 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images 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 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • 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 multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates 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 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded 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 and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion 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. Therefore, when encoding and decoding an image with the mobile phone 920, a quantization error can be reduced, and a reduction in image quality due to encoding / decoding can be suppressed.
  • FIG. 31 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user 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 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, a control unit 949, and a user interface. 950.
  • 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 encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves 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 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image 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 a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 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 encoding apparatus 100 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 200 according to the above-described embodiment.
  • FIG. 32 shows an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on 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 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 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 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the 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 the 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 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 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. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 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, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 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. Thereby, at the time of encoding and decoding of an image by the imaging device 960, a reduction in quantization error can be realized, and a reduction in image quality due to encoding / decoding can be suppressed.
  • Scalable encoding is used for selection of data to be transmitted, as in the example shown in FIG. 33, for example.
  • the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet This is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
  • the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
  • the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
  • the distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of the layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
  • BL scalable encoded data
  • scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
  • scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the hardware performance of the terminal device varies depending on the device.
  • the application which a terminal device performs is also various, the capability of the software is also various.
  • the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
  • the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed by the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
  • the numbers of the scalable encoded data storage unit 1001, the distribution server 1002, the network 1003, and the terminal devices are arbitrary.
  • the example in which the distribution server 1002 transmits data to the terminal device has been described, but the usage example is not limited to this.
  • the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
  • scalable coding is used for transmission via a plurality of communication media as in the example shown in FIG. 34, for example.
  • a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 by terrestrial broadcasting 1111.
  • the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal apparatus 1102 has a reception function of the terrestrial broadcast 1111 broadcast by the broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via the terrestrial broadcast 1111.
  • the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded acquired via the network 1112 Data
  • the scalable encoded data can be transmitted via a communication medium that is different for each layer, for example. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
  • the communication medium used for transmission may be selected for each layer. For example, scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth, and scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth. Further, for example, the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be. Of course, the same applies to data of an arbitrary layer.
  • the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
  • the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
  • broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
  • scalable encoding is used for storing encoded data as in the example shown in FIG. 35, for example.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and as scalable coded data (BL + EL) 1221, a scalable coded data storage device 1202. To supply.
  • the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
  • the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
  • the imaging device 1201 is a surveillance camera.
  • the monitoring target for example, an intruder
  • the content of the captured image is likely to be unimportant, so reduction of the data amount is given priority, and the image data (scalable coding) Data) is stored in low quality.
  • the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
  • whether it is normal time or attention time may be determined by the scalable encoded data storage device 1202 analyzing an image, for example.
  • the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
  • the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
  • the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
  • three or more states may be switched.
  • the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
  • the imaging apparatus 1201 may determine the number of layers for scalable coding according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. For example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
  • BL base layer scalable encoded data
  • BL + EL scalable encoded data
  • the monitoring camera has been described as an example.
  • the use of the imaging system 1200 is arbitrary and is not limited to the monitoring camera.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a setting section to set a custom scaling list for blocks that are skipped An image processing apparatus comprising: a decoding unit that performs a decoding process including an inverse quantization process using the scaling list set by the setting unit and decodes the encoded data.
  • a quantization step of a portion corresponding to a pixel that may be referred to in intra prediction is a quantization step of a portion corresponding to a pixel that may not be referred to in the intra prediction.
  • the image processing apparatus according to any one of (1) to (9).
  • a quantization step of a portion corresponding to a pixel that may be referred to in the intra prediction is set to be smaller than a value in the case of a default custom scaling list, or The quantization step of a portion corresponding to a pixel that has no possibility of being referred to in intra prediction is set to be larger than a value in the case of the default custom scaling list.
  • Each quantization step of a portion of the custom scaling list corresponding to a pixel that may be referred to in the intra prediction is highly likely to be referred to in the intra prediction of the corresponding pixel.
  • An end detection unit that detects an end of the referenceable range in the intra prediction is further provided, When the current block is a block at the end of the referenceable range detected by the end detection unit, the setting unit sets the position of the end of the referenceable range as a scaling list used for inverse quantization processing on the current block.
  • a custom scaling list is set according to (7) a receiving unit that receives information related to skipping the orthogonal transform processing; A determination unit that determines whether or not the current block is a block that has been skipped the orthogonal transform process, based on information on the skip of the orthogonal transform process received by the receiving unit; The setting unit sets the custom scaling list as a scaling list used for an inverse quantization process for the current block when the determination unit determines that the current block is a block in which the orthogonal transform process is skipped.
  • the image processing apparatus according to any one of (1) to (9).
  • the determination unit When the value of the skip permission information that specifies whether the skip of the orthogonal transform process is permitted in the picture, which is included in the information related to the skip of the orthogonal transform process, the determination unit is false.
  • the image processing device according to any one of (1) to (9), wherein skipping of the orthogonal transform processing in step (1) is prohibited.
  • the determination unit further determines a slice type of the current block, The setting unit, when it is determined by the determination unit that the current block is a block in which the orthogonal transform process is skipped and a slice in which only intra prediction is performed, inverse quantization on the current block
  • the image processing apparatus according to any one of (1) to (9), wherein the custom scaling list is set as a scaling list used for processing.
  • the image processing apparatus is In decoding of encoded data obtained by encoding image data, if the current block is a block for which orthogonal transform processing has been skipped, the orthogonal transform processing is skipped as a scaling list used for inverse quantization processing for the current block.
  • (11) In the encoding of image data, when the orthogonal transform process of the current block is skipped, a custom scaling list for the block for which the orthogonal transform process is skipped is used as a scaling list used for the quantization process for the current block.
  • An image processing apparatus comprising: an encoding unit that performs an encoding process including a quantization process using the scaling list set by the setting unit and encodes the image data.
  • a quantization step of a portion corresponding to a pixel that may be referred to in intra prediction is a quantization step of a portion corresponding to a pixel that may not be referred to in the intra prediction.
  • the image processing apparatus according to any one of (11) to (19).
  • a quantization step of a part corresponding to a pixel that may be referred to in the intra prediction is set to be smaller than a value in the case of a default custom scaling list, or The quantization step of a portion corresponding to a pixel that is not likely to be referred to in intra prediction is set to be larger than a value in the case of the default custom scaling list.
  • (11) to (19) Image processing device.
  • Each quantization step of a portion corresponding to a pixel that may be referred to in the intra prediction of the custom scaling list is highly likely to be referred to in the intra prediction of the corresponding pixel.
  • the image processing device according to any one of (11) to (19), wherein the image processing device has a value corresponding to.
  • the setting unit has the same quantization step value as the scaling list used for the quantization process for the current block, or the high frequency component
  • the image processing device according to any one of (11) to (19), wherein a default scaling list having a large value in a quantization step of a corresponding pixel is set.
  • An end detection unit that detects an end of a referenceable range in the intra prediction, If the current block is a block at the end of the referenceable range detected by the end detection unit, the setting unit uses the position of the end of the referenceable range as a scaling list used for quantization processing on the current block.
  • the image processing apparatus according to any one of (11) to (19), wherein a custom scaling list is set according to (17)
  • a determination unit that determines whether or not the orthogonal transform process of the current block is skipped based on the information related to the skip of the orthogonal transform process
  • the setting unit sets the custom scaling list as a scaling list used for quantization processing for the current block when the determination unit determines that the orthogonal transform processing of the current block is skipped.
  • (11) The image processing device according to any one of (19) to (19). (18) When the value of the skip permission information that specifies whether the skip of the orthogonal transform process is permitted in the picture, which is included in the information related to the skip of the orthogonal transform process, the determination unit is false.
  • the image processing device according to any one of (11) to (19), wherein skipping of the orthogonal transform processing in is prohibited.
  • the determination unit further determines a slice type of the current block, When the determination unit determines that the current block is a slice in which orthogonal transformation processing of the current block is skipped and only intra prediction is performed, the setting unit uses a scaling list used for quantization processing on the current block.
  • the image processing apparatus according to any one of (11) to (19), wherein the custom scaling list is set.
  • the image processing apparatus is In the encoding of image data, when the orthogonal transform process of the current block is skipped, a custom scaling list for the block for which the orthogonal transform process is skipped is set as a scaling list used for the quantization process for the current block, An image processing method for encoding the image data by performing an encoding process including a quantization process using a set scaling list.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定する設定部と、前記設定部により設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する復号部とを備える。本開示は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は画像処理装置および方法に関し、特に、量子化誤差の増大を抑制することができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば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倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。HEVC規格については、2012年2月に最初のドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
 ところで、非特許文献1に記載のHEVC規格では、”Intra Transform Skipping”という手法が採用されている(例えば、非特許文献2参照)。
 すなわち、まず、PPS(Picture Parameter Set:ピクチャパラメータセット)に、Transform Skip(トランスフォームスキップ。直交変換スキップとも称する)を、当該ピクチャに適用することが可能であるかどうかに関するフラグ(flag)が伝送される。直交変換スキップは、直交変換処理・逆直交変換処理をスキップ(省略)することを示す。
 その値が1である時、直交変換スキップを、4x4直交変換ブロック(TU)に適用することが可能である。そのブロック毎に、直交変換スキップのオン/オフ(on/off)に関するフラグ(flag)が伝送される。直交変換スキップが適用されるブロックについて、エントロピ符号化、量子化、ループフィルタ等の処理に変更はない。
 つまり、直交変換スキップが適用されるブロックにおいては、直交変換・逆直交変換が行われずに符号化や復号が行われる。例えば、直交変換前差分値が、量子化され、可逆符号化される。このようにして得られた符号化データを復号する場合は、当然、逆直交変換処理が不要になる。
 この直交変換スキップは、特に、CG画やキャプション等のスクリーンコンテンツにおける画質を改善する効果がある。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 6", JCTVC-H1003 ver21, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG117th Meeting: Geneva, CH, 21-30 November, 2011 Cuiling Lan, Jizheng Xu, Gary J. Sullivan, Feng Wu, "Intra transform skipping", JCTVC-I0408, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 119th Meeting: Geneva, CH, 27 April - 7 May 2012
 しかしながら、直交変換処理がスキップされた場合と直交変換処理が行われる場合とでは量子化される係数が異なるものの、従来の方法では、この直交変換スキップの、量子化への影響は考慮されていなかった。そのため、量子化処理に用いられるスケーリングリストが適切でなく、量子化誤差が不要に増大してしまう恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、量子化誤差の増大を抑制することができるようにするものである。
 本技術の一側面は、画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定する設定部と、前記設定部により設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する復号部とを備える画像処理装置である。
 前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さいようにすることができる。
 前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定されるようにすることができる。
 前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有するようにすることができる。
 前記設定部は、カレントブロックが直交変換処理をスキップされていないブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定することができる。
 前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、前記設定部は、カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定することができる。
 前記直交変換処理のスキップに関する情報を受け取る受け取り部と、前記受け取り部により受け取られた前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックが前記直交変換処理をスキップされたブロックであるか否かを判定する判定部とをさらに備え、前記設定部は、前記判定部により前記カレントブロックが前記直交変換処理をスキップされたブロックであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定することができる。
 前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止することができる。
 前記判定部は、カレントブロックのスライスタイプをさらに判定し、前記設定部は、前記判定部により、前記カレントブロックが前記直交変換処理をスキップされたブロックであり、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定することができる。
 本技術の一側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定し、設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号することができる。
 本技術の他の側面は、画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定する設定部と、前記設定部により設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する符号化部とを備える画像処理装置である。
 前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さいようにすることができる。
 前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定されるようにすることができる。
 前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有するようにすることができる。
 前記設定部は、前記カレントブロックの直交変換処理がスキップされない場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定することができる。
 前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、前記設定部は、前記カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定することができる。
 前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックの直交変換処理がスキップされるか否かを判定する判定部をさらに備え、前記設定部は、前記判定部により前記カレントブロックの直交変換処理がスキップされると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定することができる。
 前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止することができる。
 前記判定部は、カレントブロックのスライスタイプをさらに判定し、前記設定部は、前記判定部により、前記カレントブロックの直交変換処理がスキップされ、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定することができる。
 本技術の他の側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定し、設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する画像処理方法である。
 本技術の一側面においては、画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、直交変換処理をスキップされたブロック用のカスタムスケーリングリストが設定され、設定されたスケーリングリストを用いる逆量子化処理を含む復号処理が行われ、符号化データが復号される。
 本技術の他の側面においては、画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、カレントブロックに対する量子化処理に用いるスケーリングリストとして、直交変換処理がスキップされるブロック用のカスタムスケーリングリストが設定され、設定されたスケーリングリストを用いる量子化処理を含む符号化処理が行われ、画像データが符号化される。
 本開示によれば、画像を符号化・復号することができる。特に、量子化誤差の増大を抑制することができる。
コーディングユニットの構成例を説明する図である。 イントラ予測の参照画素の例を説明する図である。 デフォルトスケーリングリストの例を説明する図である。 デフォルトスケーリングリストの他の例を説明する図である。 カスタムスケーリングリストの例を説明する図である。 カスタムスケーリングリストの他の例を説明する図である。 カスタムスケーリングリストの、さらに他の例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 量子化制御部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 量子化制御処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 逆量子化制御部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 逆量子化制御処理の流れの例を説明するフローチャートである。 カスタムスケーリングリストの、さらに他の例を説明する図である。 カスタムスケーリングリストの、さらに他の例を説明する図である。 量子化制御部の主な構成例を示すブロック図である。 量子化制御処理の流れの例を説明するフローチャートである。 逆量子化制御部の主な構成例を示すブロック図である。 逆量子化制御処理の流れの例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 0.概要
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(画像復号装置)
 3.第3の実施の形態(画像符号化装置)
 4.第4の実施の形態(画像復号装置)
 5.第5の実施の形態(多視点画像符号化・多視点画像復号装置)
 6.第6の実施の形態(階層画像符号化・階層画像復号装置)
 7.第7の実施の形態(コンピュータ)
 8.応用例
 9.スケーラブル符号化の応用例
 <0.概要>
 [符号化方式]
 以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
 [コーディングユニット]
 AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16画素×16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対して最適ではない。
 これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
 よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
 [モード選択]
 ところで、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)のように示される。
 Cost(Mode∈Ω) = D + λ*R ・・・(1)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(2)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 [イントラ予測]
 ところで、従来、符号化や復号における予測画像の生成方法の1つに、画面内の他の画素を用いて予測を行うイントラ予測がある。
 イントラ予測では、イントラ予測モードとして複数のモードが用意されており、処理対象であるカレントブロック周辺の、そのモードに応じた位置の画素が参照され、その画素値を用いてカレントブロックの予測が行われる。このイントラ予測に使用される画素を参照画素とも称する。なお、参照画素には、過去に処理された符号化済みの画素が採用される。
 参照画素の位置の例を図2に示す、図2において、白地の四角がカレントブロックの画素(予測対象画素)を示し、その周辺の、斜線模様の四角で示される符号化済みの画素が参照画素を示す。つまり、この斜線模様の四角で示される画素の内の、イントラ予測モードに対応する画素の画素値を用いてカレントブロックの予測が行われる。
 [量子化]
 ところで、AVCやHEVCのような符号化方式の場合、符号化効率の向上を図るために、直交変換された係数が量子化される。そして、得られた量子化係数が可逆符号化される。したがって、復号処理においては、可逆復号により符号化データから得られた量子化係数が逆量子化される。
 この量子化・逆量子化は、例えば直交変換処理単位ブロック(例えばTU)毎に、所定のスケーリングリストを用いて行われる。スケーリングリストは、そのブロックの各画素に対応する量子化ステップを集めた情報である。この量子化・逆量子化には、例えば、予め用意されたデフォルトスケーリングリストが使用される。
 4画素×4画素サイズのデフォルトスケーリングリストの例を図3および図4に示す。図3の例の場合、4×4の全ての量子化ステップの値が互いに同一である。また、図4の例の場合、4×4の量子化ステップの内、右下の量子化ステップの値が比較的大きな値を持つ。HEVCやAVCのような符号化においては、画素値は、直交変換されて量子化される。つまり、量子化は直交変換係数に対して行われる。したがって、図4の例のデフォルトスケーリングリスの場合、カレントブロック内のより高周波成分(直交変換係数)の符号量を低減させるように、より大きな量子化ステップで量子化が行われるようになされている。
 [直交変換スキップ]
 ところで、HEVC規格では、非特許文献2において提案されている"Intra Transform Skipping"の手法が採用されている。直交変換スキップ(Transform Skip)とは、直交変換処理や逆直交変換処理を省略(スキップ)する手法である。
 一般的には、画像データ(差分画像データ)に対して、ブロック毎に直交変換処理を行って、ブロック内の空間領域の情報を周波数領域の情報に変換することにより、ブロック内の係数を低域に集中させ、偏りを大きくすることができる。これにより、符号化効率が向上する。
 しかしながら、ブロック内の絵柄によっては、そのような偏りが生じにくい場合も考えられる。例えば、CG画やキャプション等人工的な画像の場合、自然画に比べて、グラデーションや強いエッジが発生し易い。そのため、高域成分が生じ易く、直交変換処理を行っても偏りが生じにくい。そこで、そのようなブロックに対しては、直交変換処理のスキップを認めるようにすることにより、さらなる符号化効率の向上を図ることができる。
 [カスタムスケーリングリスト]
 以上のような直交変換スキップを適用すると、直交変換係数の代わりに直交変換前画素値が量子化されることになる。しかしながら、従来の量子化・逆量子化においては、このような直交変換スキップへの対応は考慮されていなかった。そのため、直交変換前画素値に対しても、直交変換係数に対する場合と同様のスケーリングリストを用いて、量子化・逆量子化が行われていた。
 しかしながら、このスケーリングリストは、直交変換係数に対するものであるので、直交変換前画素値に対して最適化されたものではなく、そのため、量子化誤差が不要に増大してしまう恐れがあった。
 そこで、画像データの符号化において、カレントブロックの直交変換処理・逆直交変換処理がスキップされる場合、カレントブロックに対する量子化処理に用いるスケーリングリストとして、直交変換前画素値の量子化・逆量子化に対してより適したカスタムスケーリングリストを設定するようにする。
 直交変換前画素値の量子化・逆量子化において、直交変換係数の量子化・逆量子化に対して適した従来のデフォルトスケーリングリストの代わりに、このようなカスタムスケーリングリストを用いることにより、量子化誤差の増大を抑制することができる。
 特に、イントラ予測においては、カレントブロックの周辺の参照画素が、予測画像の複数の画素の生成に利用される。そのため、参照画素の画素値に含まれる量子化誤差は、イントラ予測によって、予測画像のより多くの画素に拡散する恐れがあった。そのためイントラ予測の予測精度が大幅に低減し、符号化効率が低減し、符号化や復号による画質劣化が増大する恐れがあった。
 そこで、カスタムスケーリングリストにおいて、量子化ステップの値が、量子化誤差によりイントラ予測の予測精度が低減しないように、すなわち、ブロック内のイントラ予測において参照される可能性のある画素の画素値に含まれる量子化誤差が小さくなるように設定されるようにしてもよい。
 なお、スケーリングリストの全ての量子化ステップの値小さくすると符号量が不要に増大するので、符号化効率が低減する恐れがある。そこで、カスタムスケーリングリストにおいては、イントラ予測において参照される可能性のある画素に対応する量子化ステップの値が、イントラ予測において参照される可能性の無い画素に対応する量子化ステップの値よりも小さく設定されるようにする。
 このようにすることにより、直交変換処理・逆直交変換処理がスキップされるブロックにおいては、デフォルトスケーリングリストを用いて量子化・逆量子化を行う場合よりも、カスタムスケーリングリストを用いて量子化・逆量子化を行う方が、予測画像に含まれる量子化誤差を低減させ、符号化効率を向上させ、符号化や復号による画質の劣化を低減させることができる。
 このカスタムスケーリングリストの例を図5に示す。図5に示されるカスタムスケーリングリストは、デフォルトスケーリングリストの図3の例に対応するものであるとする。つまり、図5の例のカスタムスケーリングリストにおいては、斜線模様で示される、イントラ予測において参照される可能性のある画素に対応する量子化ステップ(ブロックの右端と下端の量子化ステップ)が、デフォルトスケーリングリストの場合よりも小さく設定されている。また、白地で示されるその他の量子化ステップ(イントラ予測において参照される可能性の無い画素に対応する量子化ステップ)は、デフォルトスケーリングリストのままとされている。
 このように、イントラ予測において参照される可能性のある画素に対応する量子化ステップの値のみを小さくすることにより、予測画像に含まれる量子化誤差を低減させるとともに、符号量の不要な増大を抑制することができ、符号化効率の低減をより抑制することができる。
 なお、図4の例のデフォルトスケーリングリストに対して、図5のカスタムスケーリングリストを用いるようにしてももちろんよい。つまり、カスタムスケーリングリストにおいて、イントラ予測において参照される可能性の無い画素に対応する量子化ステップの値は、図5の例のように均一でなくてもよい。
 同様に、カスタムスケーリングリストにおいて、イントラ予測において参照される可能性のある画素に対応する量子化ステップの値も、図5の例のように均一でなくてもよい。
 例えば、イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップが、それぞれが対応する画素のイントラ予測において参照される可能性の高さに応じた値を有するようにしてもよい。
 このカスタムスケーリングリストの例を図6に示す。図6に示されるカスタムスケーリングリストは、右下隅の量子化ステップの値が、さらに小さく設定されている。この量子化ステップに対応する画素は、このブロックの右や下のブロック等、多くのブロックのイントラ予測において参照される可能性がある。つまり、他の量子化ステップに比べて、参照される可能性が高いと言える。
 このような参照される可能性が高い画素に対応する量子化ステップの値を、(その可能性の高さに応じて)さらに小さくすることにより、より効率よく、予測画像に含まれる量子化誤差を低減させることができる。したがって、符号量の不要な増大を抑制しながら、符号化効率の低減をさらに抑制することができる。
 なお、このようなカスタムスケーリングリストにおいて重要なことは、イントラ予測において参照される可能性のある画素に対応する量子化ステップが、イントラ予測において参照される可能性の無い画素に対応する量子化ステップに比べて値が小さいということであり、具体的な値は、任意であり、実際の符号量等に応じて適切な値を設定すればよい。
 つまり、イントラ予測において参照される可能性のある画素に対応する量子化ステップの値を小さくする代わりに、イントラ予測において参照される可能性の無い画素に対応する量子化ステップの値を大きくしても良い。
 例えば、図7に示されるカスタムスケーリングリストの例のように、イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも大きく設定されるようにしてもよい。
 例えば、符号量を増大させる余裕が無い場合、図7の例のようなカスタムスケーリングリストを適用することにより、デフォルトスケーリングリストを用いる場合よりも、符号量を低減させながら、予測画像に含まれる量子化誤差の増大を抑制することができる。
 [カスタムスケーリングリストの生成]
 なお、このようなカスタムスケーリングリストは、予め用意しても良いし、適宜生成するようにしてもよい。予め用意する場合は、任意の数のカスタムスケーリングリストを用意することができる。
 また、使用したカスタムスケーリングリストは、符号化側から復号側に伝送するようにしてもよい。例えば、シーケンスパラメータセットやピクチャパラメータセット等において伝送するようにしてもよい。また、符号化データとは別のデータとして伝送するようにしてもよい。
 また、復号側においても、符号化側と同様の処理により、使用するカスタムスケーリングリストを設定(選択若しくは生成)するようにしてもよい。この場合、カスタムスケーリングリストの伝送は不要である。
 さらに、処理対象であるカレントブロックの量子化・逆量子化に、カスタムスケーリングリストを適用するかデフォルトスケーリングリストを適用するかは、そのカレントブロックについての直交変換スキップに関する情報に基づいて決定するようにしてもよい。
 [直交変換スキップに関する情報]
 この直交変換スキップに関する情報には、例えば、所定の範囲について直交変換スキップ(Transform Skip)を許可するか否か(enable/disable)を示すスキップ許可情報(transform_skip_enable_flag)や、カレントブロックに対して直交変換スキップを適用したか否かを示すスキップ識別情報(transform_skip_flag)が含まれる。
 スキップ許可情報(transform_skip_enable_flag)は、直交変換処理の単位より大きな範囲毎に直交変換スキップ(Transform Skip)を許可するか否か(enable/disable)を示す情報である。例えば、スキップ許可情報(transform_skip_enable_flag)の値が偽(例えば「0」)である場合、その値に対応する範囲のブロックにおいては、直交変換スキップ(Transform Skip)は禁止される(直交変換処理・逆直交変換処理が必ず行われる)。
 また、例えば、スキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)である場合、その値に対応する範囲のブロックにおいては、直交変換スキップ(Transform Skip)が許可される(直交変換処理・逆直交変換処理がスキップされ得る)。
 このスキップ許可情報(transform_skip_enable_flag)は、例えば、ユーザ等により設定される。このスキップ許可情報(transform_skip_enable_flag)は、例えばピクチャ毎に設定され、ピクチャパラメータセット(PPS(Picture Parameter Set))などにおいて伝送される。
 スキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)である場合、所定のサイズ(例えば4×4サイズ)のブロック(TU)においては、直交変換スキップ(Transform Skip)が適用され得る。この場合、所定のサイズ(例えば4×4サイズ)の各ブロック(TU)について、スキップ識別情報(transform_skip_flag)が伝送される。
 スキップ識別情報(transform_skip_flag)は、処理対象であるカレントブロック(TU)について、符号化の際に直交変換スキップが行われたか否かを示す情報である。この値が、偽(例えば「0」)である場合、カレントブロックにおいては、直交変換スキップ(Transform Skip)が行われていない(直交変換処理が行われた)。つまり、復号側においては、スキップ識別情報(transform_skip_flag)の値が偽(例えば「0」)である場合、カレントブロックに対して逆直交変換処理を行う。
 逆に、この値が、真(例えば「1」)である場合、カレントブロックにおいては、直交変換スキップ(Transform Skip)が行われる(直交変換処理が行われなかった)。つまり、復号側においては、スキップ識別情報(transform_skip_flag)の値が真(例えば「1」)である場合、カレントブロックに対する逆直交変換処理をスキップ(省略)する。
 以上のような、スキップ許可情報(transform_skip_enable_flag)およびスキップ識別情報(transform_skip_flag)に基づいて、カレントブロックにおいて直交変換処理がスキップされるか否かを判定することができる。したがって、これらの値に基づいて、カスタムスケーリングリストを適用するか否かを決定するようにしてもよい。つまり、スキップ許可情報(transform_skip_enable_flag)およびスキップ識別情報(transform_skip_flag)に基づいて、カレントブロックにおいて直交変換処理・逆直交変換処理がスキップされると判定される場合、カスタムスケーリングリストを適用するようにし、それ以外の場合、デフォルトスケーリングリストを適用するようにすればよい。
 なお、スキップ許可情報(transform_skip_enable_flag)のみに基づいて、カスタムスケーリングリストを適用するか否かを決定するようにしてもよい。例えば、スキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)である場合、カレントブロックにおいて直交変換処理・逆直交変換処理がスキップされ得るとして、カスタムスケーリングリストを適用するようにし、値が偽(例えば「0」)である場合、カレントブロックにおいて直交変換処理・逆直交変換処理がスキップされ得ないとして、デフォルトスケーリングリストを適用するようにしてもよい。
 換言するに、スキップ許可情報(transform_skip_enable_flag)の値を偽(例えば0)とすることにより、カスタムスケーリングリストの適用を禁止することもできる。
 なお、付言するに、カスタムスケーリングリストを適用することができるブロックのサイズは、直交変換スキップ可能な所定のサイズ(例えば4×4サイズ)に限定される。スキップ識別情報(transform_skip_flag)を参照しない場合は、このことにも考慮するのが望ましい。
 さらに、カレントブロックが属するスライス(カレントスライス)が、イントラ予測のみが行われるIスライスの場合、カスタムスケーリングリストを適用することができるようにし、他のスライスタイプの場合、カスタムスケーリングリストの適用を禁止するようにしてもよい。
 イントラ予測が行われると、参照画素の画素値がカレントブロックに拡散するので、量子化ステップの値を小さくし、参照画素の量子化誤差を低減させることによるメリットは特に大きい。そのため、確実にイントラ予測が行われるIスライスの場合のみ、カスタムスケーリングリストの適用を許可するようにしてもよい。
 この場合、上述した直交変換スキップに関する情報に加えて、カレントスライスのスライスタイプを参照することにより、このような制御を実現することができる。
 次に、以上のような本技術について、具体的な装置への適用例について説明する。
 <1.第1の実施の形態>
 [画像符号化装置]
 図8は、画像処理装置の一実施の形態である画像符号化装置の主な構成例を示すブロック図である。図8に示される画像符号化装置100は、例えば、HEVC(High Efficiency Video Coding)の予測処理、またはそれに準ずる方式の予測処理を用いて画像データを符号化する。図8に示されるように、画像符号化装置100は、A/D変換部111、画面並べ替えバッファ112、演算部113、直交変換部114、量子化部115、可逆符号化部116、蓄積バッファ117、逆量子化部118、および逆直交変換部119を有する。また、画像符号化装置100は、演算部120、ループフィルタ121、フレームメモリ122、選択部123、イントラ予測部124、動き予測・補償部125、予測画像選択部126、およびレート制御部127を有する。
 画像符号化装置100は、さらに、直交変換スキップ部131および量子化制御部132を有する。
 A/D変換部111は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ112に供給し、記憶させる。画面並べ替えバッファ112は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部113に供給する。また、画面並べ替えバッファ112は、フレームの順番を並び替えた画像を、イントラ予測部124および動き予測・補償部125にも供給する。
 演算部113は、画面並べ替えバッファ112から読み出された画像から、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125から供給される予測画像を減算し、その差分情報を直交変換部114に出力する。例えば、イントラ符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、イントラ予測部124から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、動き予測・補償部125から供給される予測画像を減算する。
 直交変換部114は、演算部113から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部114は、その変換係数を量子化部115に供給する。
 量子化部115は、直交変換部114から供給される変換係数を量子化する。量子化部115は、レート制御部127から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部115は、量子化された変換係数を可逆符号化部116に供給する。
 可逆符号化部116は、量子化部115において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部127の制御の下で量子化されているので、この符号量は、レート制御部127が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部116は、イントラ予測のモードを示す情報などをイントラ予測部124から取得し、インター予測のモードを示す情報や差分動きベクトル情報などを動き予測・補償部125から取得する。さらに、可逆符号化部116は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むNALユニットを適宜生成する。
 可逆符号化部116は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)の一部とする(多重化する)。可逆符号化部116は、符号化して得られた符号化データを蓄積バッファ117に供給して蓄積させる。
 可逆符号化部116の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ117は、可逆符号化部116から供給された符号化データを、一時的に保持する。蓄積バッファ117は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。すなわち、蓄積バッファ117は、符号化データを伝送する伝送部でもある。
 また、量子化部115において量子化された変換係数は、逆量子化部118にも供給される。逆量子化部118は、その量子化された変換係数を、量子化部115による量子化に対応する方法で逆量子化する。逆量子化部118は、得られた変換係数を、逆直交変換部119に供給する。
 逆直交変換部119は、逆量子化部118から供給された変換係数を、直交変換部114による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部120に供給される。
 演算部120は、逆直交変換部119から供給された逆直交変換結果である、復元された差分情報に、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125からの予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、ループフィルタ121またはフレームメモリ122に供給される。
 ループフィルタ121は、デブロックフィルタや適応ループフィルタ等を含み、演算部120から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ121は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ121は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。ループフィルタ121は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ122に供給する。
 なお、ループフィルタ121が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部116に供給し、それを符号化させるようにすることもできる。
 フレームメモリ122は、演算部120から供給される再構成画像と、ループフィルタ121から供給される復号画像とをそれぞれ記憶する。フレームメモリ122は、所定のタイミングにおいて、若しくは、イントラ予測部124等の外部からの要求に基づいて、記憶している再構成画像を、選択部123を介してイントラ予測部124に供給する。また、フレームメモリ122は、所定のタイミングにおいて、若しくは、動き予測・補償部125等の外部からの要求に基づいて、記憶している復号画像を、選択部123を介して、動き予測・補償部125に供給する。
 フレームメモリ122は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部123に供給する。
 選択部123は、フレームメモリ122から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部123は、フレームメモリ122から供給される参照画像(カレントピクチャ内の画素値)を動き予測・補償部125に供給する。また、例えば、インター予測の場合、選択部123は、フレームメモリ122から供給される参照画像を動き予測・補償部125に供給する。
 イントラ予測部124は、選択部123を介してフレームメモリ122から供給される参照画像であるカレントピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部124は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
 イントラ予測部124は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ112から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部124は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
 また、上述したように、イントラ予測部124は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部116に供給し、符号化させる。
 動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、選択部123を介してフレームメモリ122から供給される参照画像とを用いて動き予測(インター予測)を行う。動き予測・補償部125は、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部125は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
 動き予測・補償部125は、候補となる全てのインター予測モードで予測画像を生成する。動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部125は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
 動き予測・補償部125は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部116に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
 予測画像選択部126は、演算部113や演算部120に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部126は、予測画像の供給元としてイントラ予測部124を選択し、そのイントラ予測部124から供給される予測画像を演算部113や演算部120に供給する。また、例えば、インター符号化の場合、予測画像選択部126は、予測画像の供給元として動き予測・補償部125を選択し、その動き予測・補償部125から供給される予測画像を演算部113や演算部120に供給する。
 レート制御部127は、蓄積バッファ117に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。
 直交変換スキップ部131は、直交変換部114における直交変換処理の実行、並びに、逆直交変換部119における逆直交変換処理の実行を制御する。例えば、直交変換スキップ部131は、直交変換部114から直交変換係数および直交変換前の差分値を取得する。また、例えば、直交変換スキップ部131は、可逆符号化部116からスキップ許可情報(transform_skip_enable_flag)を取得する。直交変換スキップ部131は、これらの情報に基づいて、直交変換処理や逆直交変換処理をスキップ(省略)するか否かを決定する。
 直交変換スキップ部131は、その決定に基づいて、直交変換部114や逆直交変換部119を制御する。つまり、直交変換部114は、その直交変換スキップ部131の制御に従って、直交変換処理を行うか若しくはスキップする。同様に、逆直交変換部119も、その直交変換スキップ部131の制御に従って、逆直交変換処理を行うか若しくはスキップする。
 また、直交変換スキップ部131は、その決定した内容、すなわち、直交変換処理や逆直交変換処理をスキップするか否かを示すスキップ識別情報(transform_skip_flag)を生成し、それを可逆符号化部116に供給する。可逆符号化部116は、そのスキップ識別情報(transform_skip_flag)を、例えば符号化データに含めて復号側に伝送する。なお、このスキップ識別情報は、符号化データとは別のデータとして復号側に伝送されるようにしてもよい。
 さらに、直交変換スキップ部131は、スキップ許可情報(transform_skip_enable_flag)やスキップ識別情報(transform_skip_flag)を含む直交変換スキップに関する情報を、量子化制御部132に供給する。
 量子化制御部132は、直交変換スキップ部131から供給される直交変換スキップに関する情報を取得する。また、量子化制御部132は、画面並べ替えバッファ112から、処理対象であるカレントスライス(カレントブロックが属するスライス)のスライスタイプを示す情報を取得する。量子化制御部132は、これらの情報に基づいて、カレントブロックに対する量子化・逆量子化においてカスタムスケーリングリストを適用するか、デフォルトスケーリングリストを適用するかを決定する。量子化制御部132は、適用するスケーリングリストを決定すると、そのスケーリングリストを量子化部115および逆量子化部118に供給する。
 量子化部115は、量子化制御部132から供給されたスケーリングリストを用いて、カレントブロックに対する量子化を行う。また、逆量子化部118は、量子化制御部132から供給されたスケーリングリストを用いて、カレントブロックに対する逆量子化を行う。
 [量子化制御部]
 図9は、図8の量子化制御部132の主な構成例を示すブロック図である。図9に示されるように、量子化制御部132は、判定部151およびスケーリングリスト設定部152を有する。
 図9に示されるように、直交変換スキップ部131は、直交変換スキップに関する情報を、判定部151に供給する。また、画面並べ替えバッファ112は、カレントスライスのスライスタイプを示す情報を、判定部151に供給する。
 判定部151は、これらの情報の判定を行う。例えば、判定部151は、スキップ許可情報やスキップ識別情報の値を判定する。また、例えば、判定部151は、カレントスライスがIスライスであるか否かを判定する。判定部151は、これらの判定結果をスケーリングリスト設定部152に供給する。
 スケーリングリスト設定部152は、判定部151から供給される判定結果に基づいて、カレントブロックの量子化・逆量子化において使用するスケーリングリストを設定する。例えば、スキップ許可情報およびスキップ識別情報の値が両方とも真であり、Iスライスである場合、スケーリングリスト設定部152は、カスタムスケーリングリストを適用する。また、スキップ許可情報およびスキップ識別情報の内、少なくともいずれか一方の値が偽である場合、若しくは、Iスライスでない場合、スケーリングリスト設定部152は、デフォルトスケーリングリストを適用する。
 スケーリングリスト設定部152は、設定したスケーリングリストを量子化部115および逆量子化部118に供給する。量子化部115および逆量子化部118は、そのスケーリングリストを用いて、量子化処理・逆量子化処理を行う。
 このようにすることにより、画像符号化装置100は、量子化誤差の増大を抑制し、符号化効率を向上させることができる。換言するに、画像符号化装置100は、符号化・復号による画質の低減を抑制することができる。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図10のフローチャートを参照して、符号化処理の流れの例を説明する。
 符号化処理が開始されると、ステップS101において、画像符号化装置100の可逆符号化部116は、例えばユーザ指示等に基づいて、処理対象であるカレントピクチャについて、スキップ許可情報(transform_skip_enable_flag)を生成する。
 ステップS102において、A/D変換部111は、入力された画像データをA/D変換する。ステップS103において、画面並べ替えバッファ112は、A/D変換された画像情報(デジタルデータ)を記憶し、各ピクチャを、表示する順番から符号化する順番へ並べ替える。
 ステップS104において、イントラ予測部124は、イントラ予測モードのイントラ予測処理を行う。ステップS105において、動き予測・補償部125は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。ステップS106において、予測画像選択部126は、イントラ予測部124および動き予測・補償部125から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部126は、イントラ予測部124により生成された予測画像と、動き予測・補償部125により生成された予測画像のいずれか一方を選択する。
 ステップS107において、演算部113は、ステップS103の処理により並び替えられた画像と、ステップS106の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS108において、直交変換スキップ部131は、処理対象であるカレントブロックの直交変換スキップを行うか否かを決定する。ステップS109において、直交変換部114は、ステップS108の処理結果に従って、ステップS107の処理により生成された差分情報に対する直交変換処理を行う。例えば、ステップS108において、カレントブロックに対して直交変換を行うと決定された場合、直交変換部114は、ステップS109において、直交変換を行う。また、例えば、ステップS108において、カレントブロックに対して直交変換を行わないと決定された場合、直交変換部114は、ステップS109において、直交変換をスキップする。
 ステップS110において、量子化制御部132は、ステップS108の処理結果に従って、量子化制御処理を行う。ステップS111において、量子化部115は、レート制御部127により算出された量子化パラメータ、並びに、ステップS110において設定されたスケーリングリストを用いて、ステップS109の処理により得られた直交変換係数若しくは直交変換前差分値を量子化する。
 ステップS110の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS112において、逆量子化部118は、ステップS111の処理により生成された量子化された係数(量子化係数とも称する)を、ステップS110において設定されたスケーリングリストを用いて逆量子化する。ステップS113において、逆直交変換部119は、ステップS112の処理により得られた直交変換係数若しくは直交変換前差分値に対する逆直交変換処理を、ステップS108の処理結果に従って行う。
 ステップS114において、演算部120は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部113への入力に対応する画像)を生成する。
 ステップS115においてループフィルタ121は、ステップS114の処理により生成された画像をフィルタリングする。これによりブロック歪み等が除去される。
 ステップS116において、フレームメモリ122は、ステップS115の処理によりブロック歪みの除去等が行われた画像を記憶する。なお、フレームメモリ122にはループフィルタ121によりフィルタ処理されていない画像も演算部120から供給され、記憶される。このフレームメモリ122に記憶された画像は、ステップS104の処理やステップS105の処理に利用される。
 ステップS117において、可逆符号化部116は、ステップS111の処理により量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 また、このとき、可逆符号化部116は、ステップS106の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部116は、イントラ予測部124から供給される最適イントラ予測モード情報、または、動き予測・補償部125から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 なお、可逆符号化部116は、さらに、例えばスキップ識別情報(transform_skip_flag)等のような直交変換スキップに関する情報等も、適宜符号化し、符号化データに付加する。
 ステップS118において蓄積バッファ117は、ステップS117の処理により得られたベースレイヤ符号化データを蓄積する。蓄積バッファ117に蓄積されたベースレイヤ符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS119においてレート制御部127は、ステップS118の処理により蓄積バッファ117に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。また、レート制御部127は、量子化パラメータに関する情報を、量子化部115に供給する。
 ステップS119の処理が終了すると、符号化処理が終了する。この符号化処理は、例えば、ピクチャ単位で実行される。つまり、各ピクチャに対して符号化処理が実行される。ただし、符号化処理内の各処理は、それぞれの処理単位毎に行われる。
 [量子化制御処理の流れ]
 次に、図10のステップS110において実行される量子化制御処理の流れの例を、図11のフローチャートを参照して説明する。
 量子化制御処理が開始されると、判定部151は、ステップS131において、直交変換スキップに関する情報を、直交変換スキップ部131から取得する。
 ステップS132において、判定部151は、ステップS131において取得した直交変換スキップに関する情報に含まれるスキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)であるか否かを判定する。スキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)であると判定された場合、処理は、ステップS133に進む。
 ステップS133において、判定部151は、ステップS131において取得した直交変換スキップに関する情報に含まれるスキップ識別情報(transform_skip_flag)の値が真(例えば「1」)であるか否かを判定する。スキップ識別情報(transform_skip_flag)の値が真(例えば「1」)であると判定された場合、処理は、ステップS134に進む。
 ステップS134において、判定部151は、画面並べ替えバッファ112から供給されるスライスタイプに関する情報を取得する。ステップS135において、判定部151は、ステップS134において取得されたスライスタイプに関する情報に基づいて、カレントスライスがIスライスであるか否かを判定する。Iスライスであると判定した場合、処理をステップS136に進める。
 ステップS136において、スケーリングリスト設定部152は、カレントブロックの量子化に用いるスケーリングリストとして、カスタムスケーリングリストを適用する。ステップS136の処理が終了すると、処理はステップS138に進む。
 また、ステップS132において、スキップ許可情報(transform_skip_enable_flag)の値が偽であると判定された場合、ステップS133において、スキップ識別情報(transform_skip_flag)の値が偽であると判定された場合、若しくは、ステップS135において、カレントスライスがIスライスでないと判定された場合、処理は、ステップS137に進む。
 ステップS137において、スケーリングリスト設定部152は、カレントブロックの量子化に用いるスケーリングリストとして、デフォルトスケーリングリストを適用する。ステップS137の処理が終了すると、処理はステップS138に進む。
 ステップS138において、判定部151は、全てのブロック(TU)を処理したか否かを判定する。未処理のブロックが存在すると判定された場合、処理は、ステップS131に戻り、それ以降の処理を繰り返す。ステップS131乃至ステップS138の処理が繰り返し実行されることにより各ブロックについて処理が行われ、ステップS138において、全てのブロック(TU)を処理したと判定された場合、量子化制御処理が終了し、処理は、図10に戻る。
 以上のように各処理を実行することにより、画像符号化装置100は、量子化誤差の増大を抑制し、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
 <2.第2の実施の形態>
 [画像復号装置]
 次に、以上のように符号化された符号化データ(ビットストリーム)の復号について説明する。図12は、画像処理装置の一実施の形態である画像復号装置の主な構成例を示すブロック図である。図12に示される画像復号装置200は、図8の画像符号化装置100の符号化方式に対応する復号方式で符号化データを復号する復号装置である。例えば、画像復号装置200は、画像符号化装置100により画像データが符号化されて得られた符号化データを復号する。
 図12に示されるように画像復号装置200は、蓄積バッファ211、可逆復号部212、逆量子化部213、逆直交変換部214、演算部215、ループフィルタ216、画面並べ替えバッファ217、およびD/A変換部218を有する。また、画像復号装置200は、フレームメモリ219、選択部220、イントラ予測部221、動き予測・補償部222、および選択部223を有する。
 さらに、画像復号装置200は、逆直交変換スキップ部231および逆量子化制御部232を有する。
 蓄積バッファ211は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ211は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部212に供給する。この符号化データには、予測モード情報、直交変換スキップに関する情報(例えば、スキップ許可情報やスキップ識別情報を含む)、スライスタイプなどのスライスに関する情報等、復号に必要な情報が付加されている。
 可逆復号部212は、蓄積バッファ211より供給された、可逆符号化部116により符号化された情報を、可逆符号化部116の符号化方式に対応する方式で復号する。可逆復号部212は、復号して得られた差分画像の量子化された係数データを、逆量子化部213に供給する。
 また、可逆復号部212は、符号化データに含まれるビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むNALユニットを適宜抽出し、取得する。可逆復号部212は、それらの情報から、最適な予測モードに関する情報を抽出し、その情報に基づいて最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部221および動き予測・補償部222の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部221に供給される。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き予測・補償部222に供給される。
 さらに、可逆復号部212は、例えば、量子化パラメータ等の、逆量子化に必要な情報をNALユニット等から抽出し、それを逆量子化部213に供給する。また、可逆復号部212は、例えば、スライスタイプ等の、逆量子化の制御に必要な情報をNALユニット等から抽出し、それを逆量子化制御部232に供給する。
 さらに、可逆復号部212は、例えば、スキップ許可情報(transform_skip_enable_flag)やスキップ識別情報(transform_skip_flag)等を含む直交変換スキップに関する情報を、NALユニット等から抽出し、逆直交変換スキップ部231に供給する。
 逆量子化部213は、可逆復号部212により復号されて得られた量子化された係数データ(量子化係数)を、量子化部115の量子化方式に対応する方式で逆量子化する。逆量子化部213は、逆量子化制御部232より供給されるスケーリングリストを用いて、逆量子化を行う。逆量子化部213は、得られた係数データ(直交変換係数若しくは直交変換前差分値)を逆直交変換部214に供給する。
 なお、この逆量子化部213は、逆量子化部118と同様の処理部である。つまり、逆量子化部213の説明は、逆量子化部118にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
 逆直交変換部214は、逆直交変換スキップ部231の制御に基づいて、逆量子化部213から供給される係数データ(直交変換係数若しくは直交変換前差分値)を、必要に応じて、直交変換部114の直交変換方式に対応する方式で逆直交変換する。つまり、逆直交変換部214は、逆量子化部213から直交変換係数が供給される場合、その直交変換係数を逆直交変換する。また、逆直交変換部214は、逆量子化部213から直交変換前差分値が供給される場合、逆直交変換をスキップする。
 逆直交変換部214は、このような逆直交変換処理により、直交変換部114において直交変換される前の残差データ(直交変換前差分値)に対応する復号残差データを得る。逆直交変換部214は、この復号残差データを演算部215に供給する。
 なお、この逆直交変換部214は、逆直交変換部119と同様の処理部である。つまり、逆直交変換部214の説明は、逆直交変換部119にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
 演算部215には、この他に、選択部223を介して、イントラ予測部221若しくは動き予測・補償部222から予測画像が供給される。
 演算部215は、その復号残差データと予測画像とを加算し、演算部113により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部215は、その復号画像データをループフィルタ216に供給する。
 ループフィルタ216は、供給された復号画像に対して、デブロックフィルタや適応ループフィルタ等を含むフィルタ処理を適宜施し、それを画面並べ替えバッファ217およびフレームメモリ219に供給する。例えば、ループフィルタ216は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ216は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。なお、このループフィルタ216は、ループフィルタ121と同様の処理部である。
 また、演算部215から出力される復号画像は、ループフィルタ216を介さずに画面並べ替えバッファ217やフレームメモリ219に供給することができる。つまり、ループフィルタ216によるフィルタ処理の一部若しくは全部は省略することができる。
 画面並べ替えバッファ217は、復号画像の並べ替えを行う。すなわち、画面並べ替えバッファ112により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部218は、画面並べ替えバッファ217から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ219は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部221や動き予測・補償部222等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部220に供給する。
 選択部220は、フレームメモリ219から供給される参照画像の供給先を選択する。選択部220は、イントラ符号化された画像を復号する場合、フレームメモリ219から供給される参照画像をイントラ予測部221に供給する。また、選択部220は、インター符号化された画像を復号する場合、フレームメモリ219から供給される参照画像を動き予測・補償部222に供給する。
 イントラ予測部221には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部212から適宜供給される。イントラ予測部221は、イントラ予測部124において用いられたイントラ予測モードで、フレームメモリ219から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部221は、生成した予測画像を選択部223に供給する。
 動き予測・補償部222は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部212から取得する。
 動き予測・補償部222は、可逆復号部212から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ219から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
 選択部223は、イントラ予測部221からの予測画像または動き予測・補償部222からの予測画像を、演算部215に供給する。そして、演算部215においては、動きベクトルが用いられて生成された予測画像と逆直交変換部214からの復号残差データ(差分画像情報)とが加算されて元の画像が復号される。
 逆直交変換スキップ部231は、直交変換スキップ部131と同様の方法で、逆直交変換部214における逆直交変換処理の実行を制御する。つまり、逆直交変換スキップ部231は、符号化側から供給される直交変換スキップに関する情報(例えばスキップ許可情報やスキップ識別情報)を、可逆復号部212を介して取得する。逆直交変換スキップ部231は、その情報に基づいて逆直交変換処理をスキップ(省略)するか否かを決定し、その決定に従って逆直交変換部214における逆直交変換処理の実行を制御する。
 この決定方法が直交変換スキップ部131と同様であるので、逆直交変換スキップ部231は、直交変換が行われたブロックに対して逆直交変換処理を行うように、また、直交変換がスキップされたブロックに対して逆直交変換処理をスキップするように、逆直交変換部214を制御する。
 逆直交変換部214は、その逆直交変換スキップ部231の制御に従って、逆直交変換処理を行うか若しくはスキップする。
 また、逆直交変換スキップ部231は、得られたスキップ許可情報やスキップ識別情報を含む直交変換スキップに関する情報を、逆量子化制御部232に供給する。
 逆量子化制御部232は、量子化制御部132と同様の方法で、逆量子化部213における逆量子化処理の実行を制御する。つまり、逆量子化制御部232は、逆直交変換スキップ部231から供給される、符号化側から伝送された直交変換スキップに関する情報を取得する。また、逆量子化制御部232は、可逆復号部212が符号化データから抽出したカレントスライスのスライスタイプを示す情報を取得する。逆量子化制御部232は、これらの情報に基づいて、カレントブロックに対する逆量子化において適用するスケーリングリストを決定し、そのスケーリングリストを逆量子化部213に供給する。
 このスケーリングリストの決定方法が量子化制御部132と同様であるので、逆量子化制御部232は、直交変換が行われたブロックに対してデフォルトスケーリングリストを適用し、また、直交変換がスキップされたブロックに対してカスタムスケーリングリストを適用する。逆量子化部213は、逆量子化制御部232から供給されたスケーリングリストを用いて、カレントブロックに対する逆量子化を行う。
 [逆量子化制御部]
 図13は、図12の逆量子化制御部232の主な構成例を示すブロック図である。図13に示されるように、逆量子化制御部232は、基本的に量子化制御部132と同様であり、判定部251およびスケーリングリスト設定部252を有する。
 図13に示されるように、逆直交変換スキップ部231は、直交変換スキップに関する情報を、判定部251に供給する。また、可逆復号部212は、カレントスライスのスライスタイプを示す情報を、判定部251に供給する。
 判定部251は、これらの情報の判定を行う。例えば、判定部251は、スキップ許可情報やスキップ識別情報の値を判定する。また、例えば、判定部251は、カレントスライスがIスライスであるか否かを判定する。判定部251は、これらの判定結果をスケーリングリスト設定部252に供給する。
 スケーリングリスト設定部252は、判定部251から供給される判定結果に基づいて、カレントブロックの逆量子化において使用するスケーリングリストを設定する。例えば、スキップ許可情報およびスキップ識別情報の値が両方とも真であり、Iスライスである場合、スケーリングリスト設定部252は、カスタムスケーリングリストを適用する。また、スキップ許可情報およびスキップ識別情報の内、少なくともいずれか一方の値が偽である場合、若しくは、Iスライスでない場合、スケーリングリスト設定部252は、デフォルトスケーリングリストを適用する。
 スケーリングリスト設定部252は、設定したスケーリングリストを逆量子化部213に供給する。逆量子化部213は、そのスケーリングリストを用いて、逆量子化処理を行う。
 このようにすることにより、画像復号装置200は、量子化誤差の増大を抑制し、符号化効率を向上させることができる。換言するに、画像復号装置200は、符号化・復号による画質の低減を抑制することができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図14のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ211は、符号化側から伝送されたビットストリームを蓄積する。ステップS202において、可逆復号部212は、蓄積バッファ211から供給されるビットストリーム(符号化された差分画像情報)を復号する。すなわち、可逆符号化部116により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS203において、逆量子化制御部232は、逆量子化制御処理を行い、適用するスケーリングリストを設定する。
 ステップS204において、逆量子化部213は、ステップS203において設定されたスケーリングリストを用いて、ステップS202の処理により得られた、量子化された係数を逆量子化する。
 ステップS205において、逆直交変換部214は、逆直交変換スキップ部231の制御に基づいてカレントブロック(カレントTU)についての逆直交変換を適宜行う逆直交変換処理を行う。
 ステップS206において、イントラ予測部221若しくは動き予測・補償部222は、予測処理を行い、予測画像を生成する。つまり、可逆復号部212において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部221が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、動き予測・補償部222が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
 ステップS207において、演算部215は、ステップS205の逆直交変換処理により得られた差分画像情報に、ステップS207において生成された予測画像を加算する。これにより元の画像が復号される(復号画像が得られる)。
 ステップS208において、ループフィルタ216は、ステップS207において得られた復号画像に対して、各種のフィルタ処理を適宜行うループフィルタ処理を行う。
 ステップS209において、画面並べ替えバッファ217は、ステップS208においてループフィルタ処理された画像の並べ替えを行う。すなわち画面並べ替えバッファ112により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS210において、D/A変換部218は、ステップS209においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 ステップS211において、フレームメモリ219は、ステップS208においてループフィルタ処理された画像を記憶する。
 ステップS211の処理が終了すると、復号処理が終了する。この復号処理は、例えば、ピクチャ単位で実行される。つまり、各ピクチャに対して復号処理が実行される。ただし、復号処理内の各処理は、それぞれの処理単位毎に行われる。
 [量子化制御処理の流れ]
 次に、図14のステップS203において実行される逆量子化制御処理の流れの例を、図15のフローチャートを参照して説明する。
 逆量子化制御処理が開始されると、判定部251は、ステップS231において、直交変換スキップに関する情報を取得する。
 ステップS232において、判定部251は、ステップS231において取得した直交変換スキップに関する情報に含まれるスキップ許可情報(transform_skip_enable_flag)の値が真(例えば「1」)であるか否かを判定する。その値が真(例えば「1」)であると判定された場合、処理は、ステップS233に進む。
 ステップS233において、判定部251は、ステップS231において取得した直交変換スキップに関する情報に含まれるスキップ識別情報(transform_skip_flag)の値が真(例えば「1」)であるか否かを判定する。その値が真(例えば「1」)であると判定された場合、処理は、ステップS234に進む。
 ステップS234において、判定部251は、スライスタイプに関する情報を取得する。ステップS235において、判定部251は、ステップS234において取得されたスライスタイプに関する情報に基づいて、カレントスライスがIスライスであるか否かを判定する。Iスライスであると判定した場合、処理はステップS236に進む。
 ステップS236において、スケーリングリスト設定部252は、カレントブロックの量子化に用いるスケーリングリストとして、カスタムスケーリングリストを適用する。ステップS236の処理が終了すると、処理はステップS238に進む。
 また、ステップS232において、スキップ許可情報(transform_skip_enable_flag)の値が偽であると判定された場合、ステップS233において、スキップ識別情報(transform_skip_flag)の値が偽であると判定された場合、若しくは、ステップS235において、カレントスライスがIスライスでないと判定された場合、処理は、ステップS237に進む。
 ステップS237において、スケーリングリスト設定部252は、カレントブロックの量子化に用いるスケーリングリストとして、デフォルトスケーリングリストを適用する。ステップS236の処理が終了すると、処理はステップS238に進む。
 ステップS238において、判定部251は、全てのブロック(TU)を処理したか否かを判定する。未処理のブロックが存在すると判定された場合、処理は、ステップS231に戻り、それ以降の処理を繰り返す。ステップS231乃至ステップS238の処理が繰り返し実行されることにより各ブロックについて処理が行われ、ステップS238において、全てのブロック(TU)を処理したと判定された場合、逆量子化制御処理が終了し、処理は、図14に戻る。
 以上のように各処理を実行することにより、画像復号装置200は、量子化誤差の増大を抑制し、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
 <3.第3の実施の形態>
 [スライス端の検出]
 以上において説明した量子化・逆量子化の制御(スケーリングリストの設定)において、さらに、スライス端(スライス境界)の検出を行い、その検出結果を制御に反映させるようにしてもよい。
 スライスは、ピクチャ(画像)内の独立に符号化される処理の単位である。ピクチャ内には、任意の数の(単数若しくは複数の)スライスが形成される。イントラ予測もスライス毎に独立に行われる。つまり、イントラ予測において参照する参照画素もカレントブロックが属するスライス内に制限される。つまり、スライス端(スライス境界)に接するブロックでは、参照される方向が制限される可能性がある。
 そこで、このような制限をカスタムスケーリングリストに反映させるようにしてもよい。
 例えば、スライスの下端に接するブロック(画面下端のブロックを含む)は、それより下の他のブロックから参照されない。つまり、このようなブロックにおいて、参照される可能性のある画素は、右端の列のみとなる。そこで、そのようなブロックに対しては、図16に示される例のようなカスタムスケーリングリストを適用するようにしてもよい。
 このカスタムスケーリングリストは、図16に示されるように、イントラ予測において参照される可能性のある画素に対応する、右端の列の量子化ステップの値のみが小さく設定されている。
 また、例えば、スライスの右端に接するブロック(画面右端のブロックを含む)は、それより右の他のブロックから参照されない。つまり、このようなブロックにおいて、参照される可能性のある画素は、下端の行のみとなる。そこで、そのようなブロックに対しては、図17に示される例のようなカスタムスケーリングリストを適用するようにしてもよい。
 このカスタムスケーリングリストは、図17に示されるように、イントラ予測において参照される可能性のある画素に対応する、下端の行の量子化ステップの値のみが小さく設定されている。
 図16および図17に示されるように、これらのカスタムスケーリングリストは、値を小さくする量子化ステップの数が、図5乃至図7の例よりも少ない。つまり、これらのカスタムスケーリングリストでは、実際には参照される可能性の無い画素に対応する量子化ステップが小さくされない。したがって、スライス端(スライス境界)を検出し、その検出結果を反映したカスタムスケーリングリストを量子化・逆量子化に適用することにより、量子化ステップを不要に小さくすることによる符号量の不要な増大を抑制することができる。これにより、符号化・復号による画質の低減を抑制することができる。
 なお、この場合も、以上に説明した場合と同様に、イントラ予測において参照される可能性の無い画素に対応する量子化ステップの値は均一でなくてもよく、イントラ予測において参照される可能性のある画素に対応する量子化ステップの値も均一でなくてもよい。例えば、イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップが、それぞれが対応する画素のイントラ予測において参照される可能性の高さに応じた値を有するようにしてもよい。イントラ予測において参照される可能性のある画素に対応する量子化ステップの値を小さくする代わりに、イントラ予測において参照される可能性の無い画素に対応する量子化ステップの値を大きくしても良い。
 [量子化制御部]
 図18は、この場合の量子化制御部132の主な構成例を示すブロック図である。図18に示されるように、この場合、量子化制御部132は、判定部151およびスケーリングリスト設定部152に加え、さらに、スライス端検出部301を有する。
 画面並べ替えバッファ112は、スライス端(スライス境界)を示す情報をスライス端検出部301に供給する。スライス端検出部301は、その情報に基づいてカレントブロックがスライス端に接するか否かを判定する。スライス端検出部301は、その検出結果をスケーリングリスト設定部152に供給する。
 スケーリングリスト設定部152は、第1の実施の形態において説明したように、カスタムスケーリングリストを適用するか、デフォルトスケーリングリストを適用するかを選択し、カスタムスケーリングリストを適用する場合、スライス端検出部301から供給されるスライス端の検出結果に応じたカスタムスケーリングリストを適用する。
 スケーリングリスト設定部152は、設定したカスタムスケーリングリストを量子化部15および逆量子化部118に供給する。
 このようにすることにより、画像符号化装置100は、量子化ステップを不要に小さくすることによる量子化誤差の不要な増大を抑制し、符号量の不要な増大を抑制し、符号化・復号による画質の低減を抑制することができる。
 [量子化制御処理の流れ]
 次に、この場合の、量子化制御部132により実行される量子化制御処理の流れの例を図19のフローチャートを参照して説明する。
 この場合も、量子化制御処理は、基本的に第1の実施の形態の場合と同様に行われる。つまり、ステップS301乃至ステップS305の各処理は、図11のステップS131乃至ステップS135の各処理と同様に行われる。
 ステップS306において、スライス端検出部301は、スライス端の検出を行う。ステップS307において、スケーリングリスト設定部152は、スライス端の検出結果に応じたカスタムスケーリングリストを適用する。ステップS307の処理が終了すると、処理は、ステップS309に進む。
 また、ステップS302において、スキップ許可情報(transform_skip_enable_flag)の値が偽であると判定された場合、ステップS303において、スキップ識別情報(transform_skip_flag)の値が偽であると判定された場合、若しくは、ステップS305において、カレントスライスがIスライスでないと判定された場合、処理は、ステップS308に進む。
 ステップS308において、スケーリングリスト設定部152は、カレントブロックの量子化に用いるスケーリングリストとして、デフォルトスケーリングリストを適用する。ステップS308の処理が終了すると、処理はステップS309に進む。
 ステップS309において、判定部151は、全てのブロック(TU)を処理したか否かを判定する。未処理のブロックが存在すると判定された場合、処理は、ステップS301に戻り、それ以降の処理を繰り返す。ステップS301乃至ステップS309の処理が繰り返し実行されることにより各ブロックについて処理が行われ、ステップS309において、全てのブロック(TU)を処理したと判定された場合、量子化制御処理が終了し、処理は、図10に戻る。
 以上のように各処理を実行することにより、画像符号化装置100は、量子化誤差の増大を抑制し、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
 <4.第4の実施の形態>
 [逆量子化制御部]
 図20は、この場合の逆量子化制御部232の主な構成例を示すブロック図である。図20に示されるように、この場合、逆量子化制御部232は、判定部251およびスケーリングリスト設定部252に加え、さらに、スライス端検出部401を有する。スライス端検出部401は、基本的に、スライス端検出部301と同様の処理部である。
 可逆復号部212は、符号化データから抽出したスライス端(スライス境界)を示す情報をスライス端検出部401に供給する。スライス端検出部401は、その情報に基づいてカレントブロックがスライス端に接するか否かを判定する。スライス端検出部401は、その検出結果をスケーリングリスト設定部252に供給する。
 スケーリングリスト設定部252は、第2の実施の形態において説明したように、カスタムスケーリングリストを適用するか、デフォルトスケーリングリストを適用するかを選択し、カスタムスケーリングリストを適用する場合、スライス端検出部401から供給されるスライス端の検出結果に応じたカスタムスケーリングリストを適用する。
 スケーリングリスト設定部252は、設定したカスタムスケーリングリストを逆量子化部213に供給する。
 このようにすることにより、画像復号装置200は、量子化ステップを不要に小さくすることによる量子化誤差の不要な増大を抑制し、符号量の不要な増大を抑制し、符号化・復号による画質の低減を抑制することができる。
 [逆量子化制御処理の流れ]
 次に、この場合の、逆量子化制御部232により実行される逆量子化制御処理の流れの例を図21のフローチャートを参照して説明する。
 この場合も、逆量子化制御処理は、基本的に第2の実施の形態の場合と同様に行われる。つまり、ステップS401乃至ステップS405の各処理は、図11のステップS231乃至ステップS235の各処理と同様に行われる。
 ステップS406において、スライス端検出部401は、スライス端の検出を行う。ステップS407において、スケーリングリスト設定部252は、スライス端の検出結果に応じたカスタムスケーリングリストを適用する。ステップS407の処理が終了すると、処理は、ステップS409に進む。
 また、ステップS402において、スキップ許可情報(transform_skip_enable_flag)の値が偽であると判定された場合、ステップS403において、スキップ識別情報(transform_skip_flag)の値が偽であると判定された場合、若しくは、ステップS405において、カレントスライスがIスライスでないと判定された場合、処理は、ステップS408に進む。
 ステップS408において、スケーリングリスト設定部252は、カレントブロックの量子化に用いるスケーリングリストとして、デフォルトスケーリングリストを適用する。ステップS408の処理が終了すると、処理はステップS309に進む。
 ステップS409において、判定部251は、全てのブロック(TU)を処理したか否かを判定する。未処理のブロックが存在すると判定された場合、処理は、ステップS401に戻り、それ以降の処理を繰り返す。ステップS401乃至ステップS409の処理が繰り返し実行されることにより各ブロックについて処理が行われ、ステップS409において、全てのブロック(TU)を処理したと判定された場合、逆量子化制御処理が終了し、処理は、図14に戻る。
 以上のように各処理を実行することにより、画像復号装置200は、量子化誤差の増大を抑制し、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
 <5.第5の実施の形態>
 [多視画像点符号化・多視点画像復号への適用]
 上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図22は、多視点画像符号化方式の一例を示す。
 図22に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
 図22のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、上述したいずれかの実施の形態の方法を適用するようにしてもよい。このようにすることにより、量子化誤差の低減を実現し、符号化・復号による画質の低減の抑制を実現することができることができる。
 さらに、各ビューの符号化・復号において、上述した各実施の形態の方法において使用されるフラグやパラメータを共有するようにしてもよい。
 より具体的には、例えば、スキップ許可情報(transform_skip_enable_flag)や、スキップ識別情報(transform_skip_flag)等の情報を含む直交変換処理のスキップに関する情報を、各ビューの符号化・復号において共有するようにしてもよい。また、例えば、スライスタイプやスライス境界に関する情報を、各ビューの符号化・復号において共有するようにしてもよい。
 もちろん、これら以外の必要な情報も、各ビューの符号化・復号において共有するようにしてもよい。
 [多視点画像符号化装置]
 図23は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図23に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
 符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
 この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置100を適用することができる。また、上述したように、符号化部601および符号化部602は、互いに同一のフラグやパラメータを用いて、スケーリングリストの設定等を行うことができる(すなわち、フラグやパラメータを共有することができる)。
 [多視点画像復号装置]
 図24は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図24に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
 逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置200を適用することができる。また、上述したように、復号部612および復号部613は、互いに同一のフラグやパラメータを用いて、スケーリングリストの設定等を行うことができる(すなわち、フラグやパラメータを共有することができる)。
 <6.第6の実施の形態>
 [階層画像点符号化・階層画像復号への適用]
 上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図25は、多視点画像符号化方式の一例を示す。
 図25に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
 図25のような階層画像を符号化・復号する場合、各階層の画像を符号化・復号するが、この各階層の符号化・復号に対して、上述したいずれかの実施の形態の方法を適用するようにしてもよい。このようにすることにより、画像劣化を抑えながら、メモリアクセス量および演算量の削減を実現させることができる。
 さらに、各階層の符号化・復号において、上述した各実施の形態の方法において使用されるフラグやパラメータを共有するようにしてもよい。
 より具体的には、例えば、スキップ許可情報(transform_skip_enable_flag)や、スキップ識別情報(transform_skip_flag)等の情報を含む直交変換処理のスキップに関する情報を、各階層の符号化・復号において共有するようにしてもよい。また、例えば、スライスタイプやスライス境界に関する情報を、各階層の符号化・復号において共有するようにしてもよい。
 もちろん、これら以外の必要な情報も、各階層の符号化・復号において共有するようにしてもよい。
 [階層画像符号化装置]
 図26は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図26に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
 符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
 この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置100を適用することができる。上述したように、符号化部621および符号化部622は、互いに同一のフラグやパラメータを用いて、スケーリングリストの設定等を行うことができる(すなわち、フラグやパラメータを共有することができる)。
 [階層画像復号装置]
 図27は、上述した階層画像復号を行う階層画像復号装置を示す図である。図27に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
 逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 この階層画像復号装置630の復号部632および復号部633に対して、画像復号装置200を適用することができる。上述したように、復号部632および復号部633は、互いに同一のフラグやパラメータを用いて、スケーリングリストの設定等を行うことができる(すなわち、フラグやパラメータを共有することができる)。
 さらに、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。
 以上のように、本技術の適用範囲は、量子化・逆量子化処理と、直交変換・逆直交変換のスキップ(Transform Skip)を用いる符号化・復号方式に基づくあらゆる画像符号化装置及び画像復号装置に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる直交変換装置若しくは逆直交変換装置にも適用することができる。
 <7.第7の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図28に示されるコンピュータ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つの応用例について説明する。
 <8.応用例>
 [第1の応用例:テレビジョン受像機]
 図29は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース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の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、量子化誤差の低減を実現し、符号化・復号による画質の低減の抑制を実現することができることができる。
 [第2の応用例:携帯電話機]
 図30は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部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の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、量子化誤差の低減を実現し、符号化・復号による画質の低減の抑制を実現することができる。
 [第3の応用例:記録再生装置]
 図31は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置100の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置200の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、量子化誤差の低減を実現し、符号化・復号による画質の低減の抑制を実現することができる。
 [第4の応用例:撮像装置]
 図32は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース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の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、量子化誤差の低減を実現し、符号化・復号による画質の低減の抑制を実現することができる。
 <9.スケーラブル符号化の応用例>
 [第1のシステム]
 次に、スケーラブル符号化(階層符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図33に示される例のように、伝送するデータの選択のために利用される。
 図33に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
 その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
 例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
 配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
 このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
 なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
 そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
 なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
 もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
 [第2のシステム]
 また、スケーラブル符号化は、例えば、図34に示される例のように、複数の通信媒体を介する伝送のために利用される。
 図34に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
 端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
 端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
 また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
 以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
 また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
 このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
 もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
 [第3のシステム]
 また、スケーラブル符号化は、例えば、図35に示される例のように、符号化データの記憶に利用される。
 図35に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
 スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
 このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
 例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
 なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
 なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
 また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
 また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
 以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
 なお、本明細書では、スキップ許可情報やスキップ識別情報などの各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定する設定部と、
 前記設定部により設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する復号部と
 を備える画像処理装置。
 (2) 前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さい
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (3) 前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定される
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (4) 前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (5) 前記設定部は、カレントブロックが直交変換処理をスキップされていないブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (6) 前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、
 前記設定部は、カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (7) 前記直交変換処理のスキップに関する情報を受け取る受け取り部と、
 前記受け取り部により受け取られた前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックが前記直交変換処理をスキップされたブロックであるか否かを判定する判定部と
 をさらに備え、
 前記設定部は、前記判定部により前記カレントブロックが前記直交変換処理をスキップされたブロックであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (8) 前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (9) 前記判定部は、カレントブロックのスライスタイプをさらに判定し、
 前記設定部は、前記判定部により、前記カレントブロックが前記直交変換処理をスキップされたブロックであり、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (10) 画像処理装置の画像処理方法において、
 前記画像処理装置が、
  画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定し、
  設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する
 画像処理方法。
 (11) 画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定する設定部と、
 前記設定部により設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する符号化部と
 を備える画像処理装置。
 (12) 前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さい
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (13) 前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定される
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (14) 前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (15) 前記設定部は、前記カレントブロックの直交変換処理がスキップされない場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (16) 前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、
 前記設定部は、前記カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (17) 前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックの直交変換処理がスキップされるか否かを判定する判定部をさらに備え、
 前記設定部は、前記判定部により前記カレントブロックの直交変換処理がスキップされると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (18) 前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (19) 前記判定部は、カレントブロックのスライスタイプをさらに判定し、
 前記設定部は、前記判定部により、前記カレントブロックの直交変換処理がスキップされ、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
 前記(11)乃至(19)のいずれかに記載の画像処理装置。
 (20) 画像処理装置の画像処理方法において、
 前記画像処理装置が、
  画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定し、
  設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する
 画像処理方法。
 100 画像符号化装置, 114 直交変換部, 115 量子化部, 116 可逆符号化部, 118 逆量子化部, 119 逆直交変換部, 131 直交変換スキップ部, 132 量子化制御部, 151 判定部, 152 スケーリングリスト設定部, 200 画像復号装置, 212 可逆復号部, 213 逆量子化部, 214 逆直交変換部, 231 逆直交変換スキップ部, 232 逆量子化制御部, 251 判定部, 252 スケーリングリスト設定部, 301 スライス端検出部, 401 スライス端検出部

Claims (20)

  1.  画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定する設定部と、
     前記設定部により設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する復号部と
     を備える画像処理装置。
  2.  前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さい
     請求項1に記載の画像処理装置。
  3.  前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定される
     請求項2に記載の画像処理装置。
  4.  前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有する
     請求項2に記載の画像処理装置。
  5.  前記設定部は、カレントブロックが直交変換処理をスキップされていないブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定する
     請求項1に記載の画像処理装置。
  6.  前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、
     前記設定部は、カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定する
     請求項1に記載の画像処理装置。
  7.  前記直交変換処理のスキップに関する情報を受け取る受け取り部と、
     前記受け取り部により受け取られた前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックが前記直交変換処理をスキップされたブロックであるか否かを判定する判定部と
     をさらに備え、
     前記設定部は、前記判定部により前記カレントブロックが前記直交変換処理をスキップされたブロックであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
     請求項1に記載の画像処理装置。
  8.  前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止する
     請求項7に記載の画像処理装置。
  9.  前記判定部は、カレントブロックのスライスタイプをさらに判定し、
     前記設定部は、前記判定部により、前記カレントブロックが前記直交変換処理をスキップされたブロックであり、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
     請求項7に記載の画像処理装置。
  10.  画像処理装置の画像処理方法において、
     前記画像処理装置が、
      画像データが符号化された符号化データの復号において、カレントブロックが直交変換処理をスキップされたブロックである場合、前記カレントブロックに対する逆量子化処理に用いるスケーリングリストとして、前記直交変換処理をスキップされたブロック用のカスタムスケーリングリストを設定し、
      設定されたスケーリングリストを用いる逆量子化処理を含む復号処理を行い、前記符号化データを復号する
     画像処理方法。
  11.  画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定する設定部と、
     前記設定部により設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する符号化部と
     を備える画像処理装置。
  12.  前記カスタムスケーリングリストは、イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップよりも小さい
     請求項11に記載の画像処理装置。
  13.  前記カスタムスケーリングリストは、前記イントラ予測において参照される可能性のある画素に対応する部分の量子化ステップが、デフォルトカスタムスケーリングリストの場合の値よりも小さく設定されるか、若しくは、前記イントラ予測において参照される可能性の無い画素に対応する部分の量子化ステップが、前記デフォルトカスタムスケーリングリストの場合の値よりも大きく設定される
     請求項12に記載の画像処理装置。
  14.  前記カスタムスケーリングリストの、前記イントラ予測において参照される可能性のある画素に対応する部分の各量子化ステップは、それぞれが対応する画素の前記イントラ予測において参照される可能性の高さに応じた値を有する
     請求項12に記載の画像処理装置。
  15.  前記設定部は、前記カレントブロックの直交変換処理がスキップされない場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、量子化ステップの値が全て同一であるか、若しくは、高周波成分に対応する画素の量子化ステップが大きな値を有するデフォルトスケーリングリストを設定する
     請求項11に記載の画像処理装置。
  16.  前記イントラ予測における参照可能範囲の端を検出する端検出部をさらに備え、
     前記設定部は、前記カレントブロックが前記端検出部により検出される前記参照可能範囲の端のブロックである場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記参照可能範囲の端の位置に応じたカスタムスケーリングリストを設定する
     請求項11に記載の画像処理装置。
  17.  前記直交変換処理のスキップに関する情報に基づいて、前記カレントブロックの直交変換処理がスキップされるか否かを判定する判定部をさらに備え、
     前記設定部は、前記判定部により前記カレントブロックの直交変換処理がスキップされると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
     請求項11に記載の画像処理装置。
  18.  前記判定部は、前記直交変換処理のスキップに関する情報に含まれる、ピクチャ内において前記直交変換処理のスキップを許可するかを指定するスキップ許可情報の値が偽である場合、前記ピクチャ内における前記直交変換処理のスキップを禁止する
     請求項17に記載の画像処理装置。
  19.  前記判定部は、カレントブロックのスライスタイプをさらに判定し、
     前記設定部は、前記判定部により、前記カレントブロックの直交変換処理がスキップされ、かつ、イントラ予測のみが行われるスライスであると判定された場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記カスタムスケーリングリストを設定する
     請求項17に記載の画像処理装置。
  20.  画像処理装置の画像処理方法において、
     前記画像処理装置が、
      画像データの符号化において、カレントブロックの直交変換処理がスキップされる場合、前記カレントブロックに対する量子化処理に用いるスケーリングリストとして、前記直交変換処理がスキップされるブロック用のカスタムスケーリングリストを設定し、
      設定されたスケーリングリストを用いる量子化処理を含む符号化処理を行い、前記画像データを符号化する
     画像処理方法。
PCT/JP2013/075227 2012-09-28 2013-09-19 画像処理装置および方法 WO2014050676A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014538425A JPWO2014050676A1 (ja) 2012-09-28 2013-09-19 画像処理装置および方法
CN201380049173.6A CN104662901B (zh) 2012-09-28 2013-09-19 图像处理装置及方法
US14/423,491 US9591329B2 (en) 2012-09-28 2013-09-19 Image processing device and method for encoding and decoding image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012218305 2012-09-28
JP2012-218305 2012-09-28

Publications (1)

Publication Number Publication Date
WO2014050676A1 true WO2014050676A1 (ja) 2014-04-03

Family

ID=50388081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/075227 WO2014050676A1 (ja) 2012-09-28 2013-09-19 画像処理装置および方法

Country Status (4)

Country Link
US (1) US9591329B2 (ja)
JP (1) JPWO2014050676A1 (ja)
CN (1) CN104662901B (ja)
WO (1) WO2014050676A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114342397A (zh) * 2019-09-06 2022-04-12 索尼集团公司 图像处理装置和方法
JP2022536376A (ja) * 2019-06-14 2022-08-15 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 改良型の変換ベーススケーリングを用いるエンコーダ、デコーダ、方法、およびコンピュータプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105580368B (zh) * 2013-09-30 2018-10-19 日本放送协会 图像编码装置和方法以及图像解码装置和方法
JP6287035B2 (ja) * 2013-10-11 2018-03-07 ソニー株式会社 復号装置および復号方法
KR102365685B1 (ko) * 2015-01-05 2022-02-21 삼성전자주식회사 인코더의 작동 방법과 상기 인코더를 포함하는 장치들
JP7001968B2 (ja) * 2016-06-08 2022-01-20 ソニーグループ株式会社 画像処理装置および方法
CN114449289A (zh) * 2016-08-24 2022-05-06 索尼公司 图像编码设备和图像编码方法
US11153594B2 (en) 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
EP3917142A4 (en) * 2018-12-26 2022-11-09 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR ENCODING/DECODING QUANTIFICATION MATRIX AND RECORDING MEDIUM WITH BITSTREAM STORED THEREON
KR20220053563A (ko) * 2019-09-06 2022-04-29 소니그룹주식회사 화상 처리 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007091588A1 (ja) * 2006-02-09 2007-08-16 Nec Corporation 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
WO2007148619A1 (ja) * 2006-06-21 2007-12-27 Nec Corporation 動画像復号装置、復号画像記録装置、それらの方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052536A1 (ja) * 2005-10-31 2007-05-10 Pioneer Corporation 情報記録装置、情報記録方法、情報記録プログラムおよび記録媒体
CN109905710B (zh) * 2012-06-12 2021-12-21 太阳专利托管公司 动态图像编码方法及装置、动态图像解码方法及装置
CN114786016A (zh) * 2012-07-02 2022-07-22 韩国电子通信研究院 图像编码/解码方法和非暂时性计算机可读记录介质
US9253483B2 (en) * 2012-09-25 2016-02-02 Google Technology Holdings LLC Signaling of scaling list

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007091588A1 (ja) * 2006-02-09 2007-08-16 Nec Corporation 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
WO2007148619A1 (ja) * 2006-06-21 2007-12-27 Nec Corporation 動画像復号装置、復号画像記録装置、それらの方法及びプログラム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CUILING LAN ET AL.: "CE5.f: Residual Scalar Quantization for HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 8TH MEETING, February 2012 (2012-02-01), SAN JOSE, CA, USA *
CUILING LAN ET AL.: "Intra and inter coding tools for screen contents", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5RD MEETING, March 2011 (2011-03-01), GENEVA, CH *
CUILING LAN ET AL.: "Intra transform skipping", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 9TH MEETING, April 2012 (2012-04-01), GENEVA, CH *
EDOUARD FRANCOIS ET AL.: "AHG11: Syntax harmonisation of the I_PCM and TransQuantBypass modes", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/ SC 29/WG 11 10TH MEETING, July 2012 (2012-07-01), STOCKHOLM, SE *
MATTHIAS NARROSCHKE ET AL.: "Adaptive prediction error coding in spatial and frequency domain for H.264/AVC", ITU - TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP (VCEG) 2GTH MEETING, January 2006 (2006-01-01), BANGKOK, THAILAND *
YOSHITAKA MORIGAMI ET AL.: "On Transform Skip", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING, July 2012 (2012-07-01), STOCKHOLM, SE *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022536376A (ja) * 2019-06-14 2022-08-15 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 改良型の変換ベーススケーリングを用いるエンコーダ、デコーダ、方法、およびコンピュータプログラム
CN114342397A (zh) * 2019-09-06 2022-04-12 索尼集团公司 图像处理装置和方法

Also Published As

Publication number Publication date
US9591329B2 (en) 2017-03-07
US20150189327A1 (en) 2015-07-02
JPWO2014050676A1 (ja) 2016-08-22
CN104662901A (zh) 2015-05-27
CN104662901B (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
JP6508554B2 (ja) 画像処理装置および方法、並びに、プログラム
JP5954587B2 (ja) 画像処理装置および方法
AU2013281945B2 (en) Image processing device and method
JP6399366B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2014050676A1 (ja) 画像処理装置および方法
WO2013108691A1 (ja) 画像処理装置および方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
US20230055659A1 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
WO2013002110A1 (ja) 画像処理装置および方法
JPWO2015005367A1 (ja) 画像復号装置および方法
WO2013137047A1 (ja) 画像処理装置および方法
WO2012124496A1 (ja) 画像処理装置および方法
WO2013108690A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2013154026A1 (ja) 画像処理装置および方法
WO2014103764A1 (ja) 画像処理装置および方法
WO2013051453A1 (ja) 画像処理装置および方法
WO2014002900A1 (ja) 画像処理装置および画像処理方法
WO2014024723A1 (ja) 画像処理装置および方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014156705A1 (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: 13842721

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014538425

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14423491

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13842721

Country of ref document: EP

Kind code of ref document: A1