WO2014050311A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2014050311A1
WO2014050311A1 PCT/JP2013/071049 JP2013071049W WO2014050311A1 WO 2014050311 A1 WO2014050311 A1 WO 2014050311A1 JP 2013071049 W JP2013071049 W JP 2013071049W WO 2014050311 A1 WO2014050311 A1 WO 2014050311A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
quantization parameter
quantization
image
image processing
Prior art date
Application number
PCT/JP2013/071049
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 ソニー株式会社
Publication of WO2014050311A1 publication Critical patent/WO2014050311A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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 an image processing method.
  • Scalable coding generally refers to a technique for hierarchically encoding a layer that transmits a coarse image signal and a layer that transmits a fine image signal.
  • Typical attributes hierarchized in scalable coding are mainly the following three types. Spatial scalability: Spatial resolution or image size is layered. -Time scalability: Frame rate is layered. -SNR (Signal to Noise Ratio) scalability: SN ratio is hierarchized. In addition, bit depth scalability and chroma format scalability are also discussed, although not yet adopted by the standard.
  • Non-Patent Document 2 proposes a technique called BLR (spatial scalability using BL Reconstructed pixel only) mode that realizes scalability by reusing only the base layer reconstructed image. In the BLR mode, independence for each layer is enhanced.
  • BLR spatial scalability using BL Reconstructed pixel only
  • a base layer decoding unit that generates a base layer reconstructed image by decoding a base layer encoded stream, and the reconstructed image generated by the base layer decoding unit, A control unit that predicts a quantization parameter for an enhancement layer; and an inverse quantization unit that dequantizes transform coefficient data of the enhancement layer using the quantization parameter predicted by the control unit.
  • the image processing apparatus may be realized as an image decoding apparatus that decodes an image.
  • the image processing apparatus may be realized as an image encoding apparatus that encodes an image.
  • the base layer decoding unit may be a local decoder that operates for the base layer.
  • the base layer encoded stream is decoded to generate the base layer reconstructed image, and the generated reconstructed image is used to quantize the enhancement layer.
  • an image processing method including predicting a parameter, and inverse-quantizing transform coefficient data of the enhancement layer using the predicted quantization parameter.
  • the method of reusing the reconstructed image in the BLR mode is improved, and as a result of the reduction of the enhancement layer code amount, the encoding efficiency can be improved.
  • FIG. 7 is a block diagram illustrating an example of a configuration of an EL encoding unit illustrated in FIG. 6. It is a block diagram which shows the 1st structural example of the quantization control part shown in FIG. It is a block diagram which shows the 2nd structural example of the quantization control part shown in FIG. It is explanatory drawing which shows an example of the relationship between the average pixel value defined according to a JND model, and a difference prediction value. It is a block diagram which shows the 3rd structural example of the quantization control part shown in FIG. It is a block diagram which shows the modification of a structure of EL encoding part. It is a flowchart which shows an example of the schematic process flow at the time of the encoding which concerns on one Embodiment.
  • FIG. 16 is a flowchart showing a first example of a detailed flow of a rate control related parameter generation process shown in FIG. 15.
  • 16 is a flowchart showing a second example of a detailed flow of the rate control related parameter generation processing shown in FIG. 15.
  • It is a flowchart which shows the 3rd example of the detailed flow of the rate control related parameter generation process shown in FIG.
  • FIG. 20 is a block diagram illustrating a first configuration example of an inverse quantization control unit illustrated in FIG. 19.
  • FIG. 20 is a block diagram illustrating a second configuration example of the inverse quantization control unit illustrated in FIG. 19.
  • FIG. 20 is a block diagram illustrating a third configuration example of the inverse quantization control unit illustrated in FIG. 19. It is a block diagram which shows the modification of a structure of EL decoding part. It is a flowchart which shows an example of the flow of the schematic process at the time of the decoding which concerns on one Embodiment. It is a flowchart which shows an example of the flow of the process relevant to the rate control in the decoding process of an enhancement layer. It is a flowchart which shows the 1st example of the detailed flow of the quantization parameter reconstruction process shown in FIG.
  • Modification 5 Flow of processing at the time of decoding according to one embodiment 5-1. Schematic flow 5-2. Processing related to rate control 5-3. 5.
  • scalable coding In scalable encoding, a plurality of layers each including a series of images are encoded.
  • the base layer is a layer that expresses the coarsest image that is encoded first.
  • the base layer coded stream may be decoded independently without decoding the other layer coded streams.
  • a layer other than the base layer is a layer called an enhancement layer (enhancement layer) that represents a finer image.
  • the enhancement layer encoded stream is encoded using information included in the base layer encoded stream. Accordingly, in order to reproduce the enhancement layer image, both the base layer and enhancement layer encoded streams are decoded.
  • the number of layers handled in scalable coding may be any number of two or more. When three or more layers are encoded, the lowest layer is the base layer, and the remaining layers are enhancement layers.
  • the higher enhancement layer encoded stream may be encoded and decoded using information contained in the lower enhancement layer or base layer encoded stream.
  • FIG. 1 shows three layers L1, L2 and L3 to be scalable encoded.
  • Layer L1 is a base layer
  • layers L2 and L3 are enhancement layers.
  • spatial scalability is taken as an example among various types of scalability.
  • the ratio of the spatial resolution of the layer L2 to the layer L1 is 2: 1.
  • the ratio of the spatial resolution of layer L3 to layer L1 is 4: 1.
  • the resolution ratio here is only an example, and a non-integer resolution ratio such as 1.5: 1 may be used.
  • the block B1 of the layer L1 is a processing unit of prediction processing in the base layer picture.
  • the block B2 of the layer L2 is a processing unit for prediction processing in a picture of the enhancement layer that shows a scene common to the block B1.
  • Block B2 corresponds to block B1 of layer L1.
  • the block B3 of the layer L3 is a processing unit for prediction processing in a picture of a higher enhancement layer that shows a scene common to the blocks B1 and B2.
  • the block B3 corresponds to the block B1 of the layer L1 and the block B2 of the layer L2.
  • the frequency characteristics of the images are similar between layers showing a common scene.
  • the high frequency component of the image of the block B2 in the layer L2 is also likely to be small. The same can be said between the block B2 in the layer L2 and the block B3 in the layer L3.
  • the BLR mode proposed by Non-Patent Document 2 is one form of scalable coding.
  • a reconstructed image refers to an image reconstructed by decoding an encoded stream generated through processes such as predictive encoding, orthogonal transformation, and quantization.
  • the reconstructed image generated by the local decoder is used as a reference image for predictive coding.
  • the reconstructed image is not only used as a reference image, but can also be a final output image for display or editing.
  • a reconstructed image is generated by both an encoder and a decoder.
  • the BLR mode in which only the reconstructed image is reused is not affected by the difference in the image encoding method.
  • FIG. 2 is an explanatory diagram for explaining scalable coding in the BLR mode.
  • base layer (BL) reconstructed images IM B1 to IM B4 are shown. According to the non-patent document 2, these reconstructed images are deinterlaced and / or upsampled as necessary.
  • deconstructed and upsampled reconstructed images IM U1 to IM U4 are shown.
  • the enhancement layer (EL) images IM E1 to IM E4 shown in the upper part of FIG. 2 are encoded and decoded by referring to the reconstructed images IM U1 to IM U4 . At that time, parameters of the base layer other than the parameters derived from the reconstructed image are not reused.
  • the quantization parameter (quantization scale code) for each macroblock in each picture is calculated based on the activity calculated for each macroblock and the allocated code amount of the picture.
  • the activity is a kind of index representing the complexity of the image. Details of the rate control method in the MPEG2 test model are disclosed on the following Web page. -Reference URL http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.html
  • the above-described quantization scale code is determined for each macroblock having a size of 16 ⁇ 16 pixels.
  • the maximum size of an LCU (Largest Coding Unit) corresponding to a macroblock is 64 ⁇ 64 pixels.
  • the rate control granularity is too large, there may be regions where the quantization step does not fit locally with the complexity of the image. For example, in FIG. 3, the result of calculating the normalized activity of the image shown in the upper row with a granularity of 64 ⁇ 64 pixels is shown in the middle row, and the result of calculating the normalized activity with a granularity of 16 ⁇ 16 pixels is shown in the lower row. Has been.
  • the HEVC method employs a technique of controlling the quantization step in units of blocks smaller than the LCU. More specifically, referring to the syntax of PPS (Picture Parameter Set) described in Non-Patent Document 1, when cu_qp_delta_enabled_flag is True, a unit for specifying a quantization step by size information diff_cu_qp_delta_depth The size of the block is specified. Actually, since the logarithm of the quantization step is proportional to the SN (Signal to Noise) ratio, the quantization parameter is specified for each block instead of directly specifying the quantization step.
  • PPS Physical Parameter Set
  • the quantization parameter qp Assuming that the quantization step corresponding to the quantization parameter qp (quantization parameter) is S (qp), the quantization parameter qp and the quantization step S (qp) are set so that the quantization step S (qp) satisfies the following equation: The relationship between is defined.
  • FIG. 4 shows the relationship between the quantization parameter qp and the quantization step S (qp) in this case. As shown in FIG. 4, every time the value of the quantization parameter qp increases by 6, the value of the quantization step S (qp) doubles.
  • the quantization parameter of each CU is predicted from the quantization parameter of one or both of the upper adjacent CU and the left adjacent CU (intra-CTB prediction), or the quantization parameter of the immediately preceding CU in decoding order. (Prediction between CTBs).
  • FIG. 5 illustrates a reference relationship in prediction of quantization parameters within a CTB (Coding Tree Block) and between CTBs.
  • the predicted value of the quantization parameter is the average of the quantization parameters (TopQP, LeftQP) of the upper adjacent CU and the left adjacent CU. It is equal to the value ((TopQP + LeftQP + 1) >> 1).
  • the value of each quantization parameter is calculated by adding the residual shown by cu_qp_delta_abs and cu_qp_delta_sign in TU (Transform Unit) to the prediction value mentioned above.
  • various parameters related to rate control are encoded (for example, pic_init_qp_minus26, slice_qp_delta, cu_qp_delta_abs, and cu_qp_delta_sign).
  • these parameters can be included in the encoded stream of the enhancement layer.
  • the similarity between layers of image characteristics is utilized, it is possible to reduce the amount of codes of some parameters related to rate control in the BLR mode. Therefore, an embodiment of an image processing apparatus that uses the similarity between image characteristic layers to reduce the code amount of the enhancement layer will be described in detail in the next section.
  • the enhancement layer is encoded by the HEVC method.
  • the base layer is assumed to be encoded by the MPEG2 system or the AVC (Advanced Video Coding) system.
  • the technology according to the present disclosure is not limited to such an example, and can be applied to combinations of other image encoding methods.
  • FIG. 6 is a block diagram illustrating a schematic configuration of an image encoding device 10 according to an embodiment that supports scalable encoding in the BLR mode.
  • the image encoding device 10 includes a BL encoding unit 1a, an EL encoding unit 1b, an intermediate processing unit 3, and a multiplexing unit 4.
  • the BL encoding unit 1a encodes a base layer image and generates a base layer encoded stream.
  • the BL encoding unit 1a includes a local decoder 2.
  • the local decoder 2 generates a base layer reconstructed image.
  • the intermediate processing unit 3 can function as a deinterlacing unit or an upsampling unit. When the base layer reconstructed image input from the BL encoding unit 1a is interlaced, the intermediate processing unit 3 deinterlaces the reconstructed image. Further, the intermediate processing unit 3 upsamples the reconstructed image according to the spatial resolution ratio between the base layer and the enhancement layer. Note that the processing by the intermediate processing unit 3 may be omitted.
  • the EL encoding unit 1b encodes the enhancement layer image, and generates an enhancement layer encoded stream. As will be described later in detail, the EL encoding unit 1b reuses the reconstructed image of the base layer when encoding the enhancement layer image.
  • the multiplexing unit 4 multiplexes the base layer encoded stream generated by the BL encoding unit 1a and the enhancement layer encoded stream generated by the EL encoding unit 1b, Generate.
  • FIG. 7 is a block diagram showing a schematic configuration of an image decoding device 60 according to an embodiment that supports scalable coding in the BLR mode.
  • the image decoding device 60 includes a demultiplexing unit 5, a BL decoding unit 6 a, an EL decoding unit 6 b, and an intermediate processing unit 7.
  • the demultiplexing unit 5 demultiplexes the multi-layer multiplexed stream into the base layer encoded stream and the enhancement layer encoded stream.
  • the BL decoding unit 6a decodes a base layer image from the base layer encoded stream.
  • the intermediate processing unit 7 can function as a deinterlacing unit or an upsampling unit. When the base layer reconstructed image input from the BL decoding unit 6a is interlaced, the intermediate processing unit 7 deinterlaces the reconstructed image. Further, the intermediate processing unit 7 up-samples the reconstructed image according to the spatial resolution ratio between the base layer and the enhancement layer. Note that the processing by the intermediate processing unit 7 may be omitted.
  • the EL decoding unit 6b decodes the enhancement layer image from the enhancement layer encoded stream. As will be described in detail later, the EL decoding unit 6b reuses the reconstructed image of the base layer when decoding the enhancement layer image.
  • FIG. 8 is a block diagram showing an example of the configuration of the EL encoding unit 1b shown in FIG.
  • the EL encoding unit 1b includes a rearrangement buffer 11, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, a storage buffer 17, a rate control unit 18, and an inverse quantization.
  • the rearrangement buffer 11 rearranges images included in a series of image data.
  • the rearrangement buffer 11 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then transmits the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the inter prediction unit 35. Output.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 11 and predicted image data input from the intra prediction unit 30 or the inter prediction unit 35 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 11 and the prediction image data, and outputs the calculated prediction error data to the orthogonal transformation unit 14.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 receives the transform coefficient data from the orthogonal transform unit 14 and the quantization parameter from the quantization control unit 40 described later.
  • the quantization unit 15 quantizes enhancement layer transform coefficient data in a quantization step corresponding to an input quantization parameter, and generates quantized data (quantized transform coefficient data). Then, the quantization unit 15 outputs the quantized data to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the quantization parameter is dynamically controlled by the rate control unit 18.
  • the lossless encoding unit 16 performs a lossless encoding process on the quantized data input from the quantization unit 15 to generate an enhancement layer encoded stream.
  • the lossless encoding unit 16 encodes various parameters referred to when decoding the encoded stream, and inserts the encoded parameters into the header area of the encoded stream.
  • the parameters encoded by the lossless encoding unit 16 may include information related to intra prediction, information related to inter prediction, and parameters related to rate control, which will be described later. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory. Then, the accumulation buffer 17 outputs the accumulated encoded stream to a transmission unit (not shown) (for example, a communication interface or a connection interface with a peripheral device) at a rate corresponding to the bandwidth of the transmission path.
  • a transmission unit for example, a communication interface or a connection interface with a peripheral device
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization control unit 40.
  • the rate control unit 18 may calculate a quantization parameter for each CU in accordance with a rate control method equivalent to the above-described MPEG2 test model or other rate control methods.
  • the rate control signal output to the quantization control unit 40 may include the calculated quantization parameter for each CU.
  • the inverse quantization unit 21, the inverse orthogonal transform unit 22, and the addition unit 23 constitute a local decoder.
  • the inverse quantization unit 21 receives the quantization data from the quantization unit 15 and the quantization parameter from the quantization control unit 40 described later.
  • the inverse quantization unit 21 inversely quantizes the enhancement layer quantization data in a quantization step corresponding to the input quantization parameter, and restores transform coefficient data. Then, the inverse quantization unit 21 outputs the restored transform coefficient data to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the adding unit 23 adds decoded image error data (enhancement layer) by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the intra prediction unit 30 or the inter prediction unit 35. Of the reconstructed image). Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23, and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adding unit 23, the decoded image data after filtering input from the deblocking filter 24, and the reconstructed image data of the base layer input from the intermediate processing unit 3. Use to remember.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data.
  • the selector 26 reads out the decoded image data after filtering used for inter prediction from the frame memory 25 and supplies the read out decoded image data to the inter prediction unit 35 as reference image data.
  • the base layer reconstructed image data may also be supplied to the intra prediction unit 30 or the inter prediction unit 35.
  • the selector 27 In the intra prediction mode, the selector 27 outputs predicted image data as a result of the intra prediction output from the intra prediction unit 30 to the subtraction unit 13 and outputs information related to the intra prediction to the lossless encoding unit 16. Further, in the inter prediction mode, the selector 27 outputs predicted image data as a result of the inter prediction output from the inter prediction unit 35 to the subtraction unit 13 and outputs information related to the inter prediction to the lossless encoding unit 16. .
  • the selector 27 switches between the intra prediction mode and the inter prediction mode according to the size of the cost function value.
  • the intra prediction unit 30 performs an intra prediction process for each prediction unit (PU) of the HEVC method based on the original image data and decoded image data of the enhancement layer. For example, the intra prediction unit 30 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function. Next, the intra prediction unit 30 selects the prediction mode with the smallest cost function value, that is, the prediction mode with the highest compression rate, as the optimum prediction mode. The intra prediction unit 30 generates enhancement layer predicted image data according to the optimal prediction mode. Then, the intra prediction unit 30 outputs information related to intra prediction including prediction mode information representing the selected optimal prediction mode, cost function values, and predicted image data to the selector 27.
  • PU prediction unit
  • the inter prediction unit 35 performs inter prediction processing for each prediction unit of the HEVC method based on the original image data and decoded image data of the enhancement layer. For example, the inter prediction unit 35 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function. Next, the inter prediction unit 35 selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. Further, the inter prediction unit 35 generates enhancement layer predicted image data according to the optimal prediction mode. Then, the inter prediction unit 35 outputs information related to inter prediction including the prediction mode information indicating the selected optimal prediction mode and the motion information, the cost function value, and the prediction image data to the selector 27.
  • the quantization control unit 40 controls the quantization process and the inverse quantization process in the EL encoding unit 1b. Further, the quantization control unit 40 generates rate control related parameters. More specifically, the quantization control unit 40 outputs a quantization parameter cu_qp for each CU to be used for quantization and inverse quantization to the quantization unit 15 and the inverse quantization unit 21. Further, the quantization control unit 40 sets two parameters pic_init_qp_minus26 and slice_qp_delta that specify the reference value slice_qp of the quantization parameter for each slice based on the quantization parameter included in the rate control signal input from the rate control unit 18. Generate.
  • pic_init_qp_minus 26 is calculated for each picture, and slice_qp_delta is calculated for each slice.
  • the quantization control unit 40 predicts the quantization parameter for each CU using the base layer reconstructed image generated by the local decoder 2 of the BL encoding unit 1a.
  • the prediction value of the quantization parameter is the sum of the reference value and the difference prediction value for each CU.
  • the difference prediction value is determined based on the characteristics of the reconstructed image of the base layer.
  • the reference value of the quantization parameter for each CU may be slice_qp itself, or may be a prediction reference value predicted from the quantization parameter of a neighboring CU within a slice.
  • the quantization control unit 40 outputs rate control related parameters that can include at least pic_init_qp_minus26 and slice_qp_delta to the lossless encoding unit 16.
  • the residual that can be calculated for each CU by subtracting the predicted value from the actually used quantization parameter cu_qp may also be included in the rate control related parameters.
  • FIG. 9 is a block diagram illustrating a first configuration example of the quantization control unit 40 illustrated in FIG. 8.
  • the quantization control unit 40 includes a block setting unit 41, an activity calculation unit 42, an activity buffer 43, a difference prediction unit 45, a reference QP setting unit 48, a QP buffer 49, and a residual calculation unit 50.
  • the block setting unit 41 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 3.
  • the block size set by the block setting unit 41 is specified by the parameter diff_cu_qp_delta_depth.
  • the parameter diff_cu_qp_delta_depth is set for each picture and may be encoded in the PPS.
  • the activity calculation unit 42 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 41.
  • the activity value takes a larger value as the variance of the pixel values in the block increases.
  • the activity calculation unit 42 may calculate an activity according to the above-described MPEG2 test model, for example.
  • the activity calculation unit 42 typically normalizes the activity so that the value falls within a predetermined range. In the MPEG2 test model, the range of normalized activity values is 0.5-2.0. Then, the activity calculation unit 42 outputs the calculated activity A norm for each block to the activity buffer 43 and the difference prediction unit 45.
  • the activity buffer 43 buffers the activity input from the activity calculation unit 42 as a reference activity.
  • the reference activity is used by the activity calculation unit 42 when normalizing the activity of each block.
  • the difference prediction unit 45 determines the difference prediction value of the quantization parameter from the activity A norm for each block calculated by the activity calculation unit 42 according to the following equation (2).
  • Equation (2) A norm is a normalized activity, and pred_qp_delta is a difference prediction value.
  • the quantization step corresponding to the quantization parameter qp is S (qp)
  • the variables a and b satisfy the above-described equation (1).
  • the difference prediction unit 45 may perform the logarithmic calculation in Expression (2) using a lookup table stored in advance. Then, the difference prediction unit 45 outputs the difference prediction value pred_qp_delta determined for each block to the residual calculation unit 50.
  • the reference QP setting unit 48 acquires the quantization parameter cu_qp for each CU included in the rate control signal input from the rate control unit 18.
  • the quantization parameter acquired here is buffered by the QP buffer 49.
  • the reference QP setting unit 48 sets a parameter pic_init_qp_minus26 that specifies the initial value of the quantization parameter for each picture.
  • the reference QP setting unit 48 outputs the set two parameters pic_init_qp_minus26 and slice_qp_delta to the lossless encoding unit 16. Further, the reference QP setting unit 48 outputs the reference value slice_qp of the quantization parameter to the residual calculation unit 50.
  • the reference value of the quantization parameter output to the residual calculation unit 50 may be slice_qp itself set based on the rate control signal.
  • the reference value may be a prediction reference value predicted for each block (for example, CU) in the slice based on a quantization parameter applied to a neighboring block of the block.
  • the neighborhood block here includes at least one of the upper and left neighboring blocks and the previous block in decoding order.
  • slice_qp itself set based on the rate control signal is used as the reference value of the first block of the slice, and the reference QP setting unit 48 sets the reference value of the subsequent block.
  • a predicted prediction reference value may be used.
  • the prediction reference value is equal to the average value of the quantization parameters of the upper adjacent block and the left adjacent block. Otherwise, the prediction criterion value is equal to the quantization parameter applied to the referenceable neighboring block. In the following description, for the sake of simplicity, it is assumed that the prediction reference value is also represented by the parameter slice_qp.
  • the QP buffer 49 buffers the quantization parameter cu_qp for each CU input from the standard QP setting unit 48 as a reference quantization parameter.
  • the reference quantization parameter is used by the reference QP setting unit 48 when predicting the reference value of the quantization parameter of each block.
  • the residual calculation unit 50 calculates the quantization parameter prediction value pred_qp, which is the sum of the quantization parameter reference value slice_qp input from the reference QP setting unit 48 and the difference prediction value pred_qp_delta input from the difference prediction unit 45. Calculate for each. Then, the residual calculation unit 50 subtracts the prediction value pred_qp of the quantization parameter from the quantization parameter cu_qp actually used by the quantization unit 15 and the inverse quantization unit 21, thereby obtaining a quantization parameter for each CU. The residual resi_qp_delta is calculated. The relationship between these parameters is expressed by the following equation.
  • the residual calculation unit 50 outputs the calculated residual resi_qp_delta of the quantization parameter to the lossless encoding unit 16.
  • the lossless encoding unit 16 encodes the parameters pic_init_qp_minus26 and slice_qp_delta that specify the reference value of the quantization parameter, and the parameter resi_qp_delta that specifies the residual.
  • the residual may be encoded after being separated into two parameters that specify the absolute value (abs) and the sign (sign), respectively.
  • the residual of the quantization parameter calculated by the residual calculation unit 50 in the first configuration example is compared with the residual indicated by the parameters cu_qp_delta_abs and cu_qp_delta_sign described in Non-Patent Document 1 above, and the difference prediction value Reduced by pred_qp_delta. Therefore, the amount of codes for the rate control related parameters generated through lossless encoding is reduced.
  • FIG. 10 is a block diagram showing a second configuration example of the quantization control unit 40 shown in FIG.
  • the quantization control unit 40 includes a block setting unit 41, an average calculation unit 44, a difference prediction unit 46, a model storage unit 47, a reference QP setting unit 48, a QP buffer 49, and a residual calculation unit 50. .
  • the average calculation unit 44 calculates the average pixel value PAve in the block of the reconstructed image for each block set by the block setting unit 41. Then, the average calculation unit 44 outputs the calculated average pixel value PAve for each block to the difference prediction unit 46.
  • the difference prediction unit 46 determines the difference prediction value of the quantization parameter for each block according to a predefined relationship between the average pixel value calculated by the average calculation unit 44 and the difference prediction value.
  • the relationship between the average pixel value used by the difference prediction unit 46 and the difference prediction value is, for example, the contribution JCTVC-H0477_r1 (“On Just Noticeable Distortion Quantization in the HEVC Codec”, Matteo Naccari and Marta Mrak, February 1-10, 2012) and may be defined according to the JND (Just Noticeable Distortion) model.
  • JND Just Noticeable Distortion
  • human vision has a characteristic that an image region close to white and an image region close to black have a low ability to discriminate against image distortion compared to an intermediate image region. Therefore, in image areas close to white and image areas close to black, even if a larger quantization step is used than in an intermediate image area, the resulting image distortion is less likely to be perceived by the user.
  • FIG. 11 is an explanatory diagram illustrating an example of a relationship between an average pixel value defined according to the JND model and a difference prediction value.
  • the horizontal axis of the graph illustrated in FIG. 11 represents the average pixel value PAve , and the vertical axis represents the difference prediction value pred_qp_delta.
  • the average pixel value P AVE is less than P 1 interval, the difference predictive value pred_qp_delta as the average pixel value P AVE is smaller increases.
  • An average pixel value P AVE is P 1 or more P 2 following section, the average pixel value P AVE is constant.
  • An average pixel value P AVE is greater than P 2 interval difference predictive value pred_qp_delta larger the average pixel value P AVE is increased.
  • the difference prediction unit 46 refers to such a graph, and acquires the difference prediction value pred_qp_delta corresponding to the average pixel value PAve input from the average calculation unit 44. Then, the difference prediction unit 46 outputs the acquired difference prediction value pred_qp_delta to the residual calculation unit 50.
  • the model storage unit 47 stores in advance a graph showing the relationship between the average pixel value and the difference prediction value as exemplified in FIG.
  • the graph is referred to by the difference prediction unit 46 in order to obtain the difference prediction value of each block.
  • the residual calculation unit 50 performs the quantization parameter cu_qp actually used and the prediction value pred_qp of the quantization parameter (reference value slice_qp and difference prediction value pred_qp_delta) according to the above-described equation (3). Residual rei_qp_delta is calculated. Then, the residual calculation unit 50 outputs the calculated residual resi_qp_delta of the quantization parameter to the lossless encoding unit 16. Then, the parameters pic_init_qp_minus26 and slice_qp_delta that specify the reference value of the quantization parameter, and the parameter resi_qp_delta that specifies the residual are encoded by the lossless encoding unit 16.
  • the residual of the quantization parameter is reduced by the difference prediction value pred_qp_delta compared to the existing method. Therefore, the amount of codes for the rate control related parameters generated through lossless encoding is reduced.
  • FIG. 12 is a block diagram showing a third configuration example of the quantization control unit 40 shown in FIG. Referring to FIG. 12, the quantization control unit 40 includes a block setting unit 41, an activity calculation unit 42, an activity buffer 43, a difference prediction unit 45, a reference QP setting unit 51, a QP buffer 52, and a QP determination unit 53.
  • the reference QP setting unit 51 acquires a quantization parameter cu_qp_ref for each CU included in the rate control signal input from the rate control unit 18.
  • the quantization parameter acquired here is not necessarily equal to the quantization parameter cu_qp actually used by the quantization unit 15 and the inverse quantization unit 21.
  • the reference QP setting unit 51 sets a parameter pic_init_qp_minus26 that specifies the initial value of the quantization parameter for each picture.
  • the reference QP setting unit 51 sets a parameter slice_qp_delta indicating a difference between the quantization parameter reference value slice_qp for each slice and the initial value.
  • the reference QP setting unit 51 outputs the set two parameters pic_init_qp_minus26 and slice_qp_delta to the lossless encoding unit 16. Further, the reference QP setting unit 51 outputs the quantization parameter reference value slice_qp to the QP determination unit 53.
  • the quantization parameter reference value slice_qp may be a prediction reference value predicted based on the quantization parameter applied to the neighboring block.
  • the QP buffer 52 buffers the quantization parameter cu_qp for each CU input from the QP determination unit 53 as a reference quantization parameter.
  • the reference quantization parameter is used by the reference QP setting unit 51 when predicting the reference value of the quantization parameter of each block.
  • the QP determination unit 53 calculates a quantization parameter prediction value pred_qp that is the sum of the quantization parameter reference value slice_qp input from the reference QP setting unit 51 and the difference prediction value pred_qp_delta input from the difference prediction unit 45 for each CU. To calculate.
  • the predicted value pred_qp is equal to the quantization parameter cu_qp actually used by the quantization unit 15 and the inverse quantization unit 21 as expressed by the following equation. That is, the quantization unit 15 quantizes the transform coefficient data in a quantization step corresponding to the prediction value pred_qp of the quantization parameter. Further, the inverse quantization unit 21 inversely quantizes the quantized data in a quantization step corresponding to the predicted value pred_qp of the quantization parameter.
  • the quantization parameter residual is not encoded, and only the parameters pic_init_qp_minus26 and slice_qp_delta that specify the reference value of the quantization parameter are encoded by the lossless encoding unit 16 as a rate control related parameter. Therefore, the amount of codes for the rate control related parameters is further reduced.
  • the prediction value of the quantization parameter may be determined based on the average pixel value for each block.
  • the quantization parameter cu_qp actually used by the quantization unit 15 and the inverse quantization unit 21 is not necessarily equal to the quantization parameter cu_qp_ref calculated by the rate control unit 18. Therefore, compared with the first configuration example and the second configuration example, the rate control in the third configuration example is rough. Therefore, for example, the third configuration example may be employed in applications where strict rate control is not required (for example, recording of video on a BD (Blu-ray Disc) or a package medium such as a DVD). Also, in the fixed bit rate mode, the residual is encoded as in the first configuration example or the second configuration example, and in the variable bit rate mode, the residual encoding is omitted as in the third configuration example. Switching between modes may be realized.
  • the quantization controller 40 may generate some additional parameters for controlling quantization and inverse quantization. For example, according to Non-Patent Document 1, a flag cu_qp_delta_enabled_flag indicating whether it is effective to specify a quantization step in units smaller than LCU is provided. In addition to this flag, the quantization control unit 40 may generate a quantization parameter prediction flag indicating that the quantization parameter should be predicted using the reconstructed image of the base layer. When the quantization parameter prediction flag indicates False, the prediction of the quantization parameter may be skipped. Further, the quantization control unit 40 may generate a determination method flag that specifies a determination method for determining the difference prediction value of the quantization parameter.
  • the first value of the decision technique flag may correspond to prediction based on activity for each block
  • the second value of the decision technique flag may correspond to prediction based on an average pixel value for each block.
  • the quantization parameter prediction flag and the determination method flag are output from the quantization control unit 40 to the lossless encoding unit 16 and can be encoded by the lossless encoding unit 16.
  • FIG. 13 is a block diagram showing a modification of the configuration of the EL encoding unit 1b shown in FIG.
  • the EL encoding unit 1b includes a rearrangement buffer 11, a subtraction unit 13, an orthogonal transformation unit 114, a quantization unit 15, a lossless encoding unit 16, an accumulation buffer 17, a rate control unit 18, and an inverse quantization.
  • Unit 21 inverse orthogonal transform unit 122, addition unit 23, deblock filter 24, frame memory 25, selectors 26 and 27, intra prediction unit 30, inter prediction unit 35, and transform / quantization control unit 140.
  • the orthogonal transform unit 114 performs orthogonal transform on the prediction error data input from the subtraction unit 13 for each TU having a TU size determined by the transform / quantization control unit 140 described later. Then, the orthogonal transform unit 114 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the inverse orthogonal transform unit 122 performs inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 21 for each TU having a TU size determined by the transform / quantization control unit 140 described later. Then, the inverse orthogonal transform unit 122 outputs prediction error data acquired by the inverse orthogonal transform process to the addition unit 23.
  • the transform / quantization control unit 140 controls the orthogonal transform process, the inverse orthogonal transform process, the quantization process, and the inverse quantization process in the EL encoding unit 1b. More specifically, like the quantization control unit 40 shown in FIG. 8, the transform / quantization control unit 140 sets the quantization parameter for each CU to be used for quantization and inverse quantization. To the quantization unit 15 and the inverse quantization unit 21. Also, the transform / quantization control unit 140 generates a rate control related parameter based on the quantization parameter included in the rate control signal input from the rate control unit 18.
  • the transform / quantization control unit 140 controls the orthogonal transform size (TU size) for the enhancement layer using the base layer reconstructed image.
  • the TU size can be selected from four candidates of 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels.
  • the larger the TU size the greater the possibility of image distortion through orthogonal transformation.
  • the transform / quantization control unit 140 calculates an activity (for example, the normalized activity A norm described above) for each block using the reconstructed image of the base layer, and sets the TU size according to the calculated activity size. decide.
  • the transform / quantization control unit 140 sets a larger TU size in a region where a block with a lower activity exists, and sets a smaller TU size in a region where a block with a higher activity exists.
  • the transform / quantization control unit 140 may avoid deterioration of the image quality of a region having a very complex texture by applying orthogonal transform skip (Transform Skip) to a block showing an activity exceeding a predetermined threshold. .
  • the transform / quantization control unit 140 may apply the TU size control described in this modification only to an intra slice. Also, the transform / quantization control unit 140 may change the threshold value to be compared with the activity for switching the TU size according to an expected bit rate (which may be indicated by a quantization parameter or the like). For example, when a lower bit rate is expected, the bit rate can be effectively reduced by widening the range of activities corresponding to a large TU size. In addition, when a higher bit rate is allowed, degradation of image quality can be suppressed by widening the activity range corresponding to a small TU size.
  • an expected bit rate which may be indicated by a quantization parameter or the like. For example, when a lower bit rate is expected, the bit rate can be effectively reduced by widening the range of activities corresponding to a large TU size. In addition, when a higher bit rate is allowed, degradation of image quality can be suppressed by widening the activity range corresponding to a small TU size.
  • FIG. 14 is a flowchart illustrating an example of a schematic processing flow during encoding according to an embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation.
  • the BL encoding unit 1a performs base layer encoding processing to generate a base layer encoded stream (step S11).
  • the local decoder 2 decodes the encoded stream to generate a base layer reconstructed image.
  • the intermediate processing unit 3 deinterlaces the reconstructed image. Further, the intermediate processing unit 3 upsamples the reconstructed image as necessary (step S12).
  • the EL encoding unit 1b executes an enhancement layer encoding process using the reconstructed image processed by the intermediate processing unit 3 to generate an enhancement layer encoded stream (step S13).
  • the multiplexing unit 4 multiplexes the base layer encoded stream generated by the BL encoding unit 1a and the enhancement layer encoded stream generated by the EL encoding unit 1b, and performs multi-layer multiplexing.
  • a stream is generated (step S14).
  • FIG. 15 is a flowchart illustrating an example of a flow of processing related to rate control in the enhancement layer encoding processing (step S13 in FIG. 14).
  • the rate control unit 18 calculates a quantization parameter for each CU, for example, according to a rate control method equivalent to the MPEG2 test model (step S21). Then, the rate control unit 18 outputs a rate control signal including the calculated quantization parameter to the quantization control unit 40.
  • the quantization control unit 40 executes a rate control related parameter generation process using the reconstructed image of the base layer (step S22). Three examples of the rate control related parameter generation processing executed here will be further described later. Then, the quantization control unit 40 outputs the generated rate control related parameter to the lossless encoding unit 16. Further, the quantization control unit 40 outputs the quantization parameter to the quantization unit 15 and the inverse quantization unit 21.
  • the quantization unit 15 quantizes the enhancement layer transform coefficient data in a quantization step corresponding to the quantization parameter input from the quantization control unit 40, and generates quantized data (step S23). Then, the quantization unit 15 outputs the quantized data to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the lossless encoding unit 16 encodes the quantized data input from the quantization unit 15 to generate an enhancement layer encoded stream (step S24). Further, the lossless encoding unit 16 encodes the rate control-related parameters input from the quantization control unit 40, and uses the encoded parameters as a header area (for example, PPS, slice header, or TU header) of the encoded stream. (Step S25). Then, the lossless encoding unit 16 outputs the enhancement layer encoded stream to the accumulation buffer 17.
  • a header area for example, PPS, slice header, or TU header
  • the inverse quantization unit 21 inversely quantizes the enhancement layer quantization data in a quantization step corresponding to the quantization parameter input from the quantization control unit 40 to restore transform coefficient data (step S26). Then, the inverse quantization unit 21 outputs the restored transform coefficient data to the inverse orthogonal transform unit 22.
  • processing such as inverse orthogonal transform, filtering, intra prediction, and inter prediction is executed.
  • the process shown in FIG. 15 may be repeatedly executed in units such as LCU of each enhancement layer image, for example.
  • FIG. 16 is a flowchart showing a first example of a detailed flow of the rate control related parameter generation processing shown in FIG. The first example described here corresponds to the first configuration example of the quantization control unit 40 illustrated in FIG. 9.
  • the block setting unit 41 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 3 (step S31).
  • the activity calculation unit 42 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 41, for example, according to the MPEG2 test model (step S32).
  • the difference prediction unit 45 determines the difference prediction value pred_qp_delta of the quantization parameter using the activity for each block calculated by the activity calculation unit 42, for example, according to the above-described equation (2) (step S34).
  • the reference QP setting unit 48 and the residual calculation unit 50 acquire the quantization parameter cu_qp for each block determined according to the rate control from the rate control unit 18 (step S36).
  • the reference QP setting unit 48 determines the reference value slice_qp of the quantization parameter for each slice, and generates parameters pic_init_qp_minus26 and slice_qp_delta that specify the determined reference value (step S38).
  • the residual calculation unit 50 acquires the reference value slice_qp of the quantization parameter set by the reference QP setting unit 48 to the slice to which each block belongs from the reference QP setting unit 48 (step S39).
  • the residual calculation unit 50 subtracts the prediction value pred_qp, which is the sum of the quantization parameter reference value slice_qp and the difference prediction value pred_qp_delta, from the quantization parameter cu_qp that is actually used, so that the residual for each block is obtained.
  • the difference resi_qp_delta is calculated (step S40).
  • FIG. 17 is a flowchart showing a second example of a detailed flow of the rate control related parameter generation processing shown in FIG. The second example described here corresponds to the second configuration example of the quantization control unit 40 illustrated in FIG. 10.
  • the block setting unit 41 sets a block serving as a unit for calculating an average pixel value in the reconstructed image of the base layer input from the intermediate processing unit 3 (step S31).
  • the average calculation unit 44 calculates the average pixel value in the block of the reconstructed image for each block set by the block setting unit 41 (step S33).
  • the difference prediction unit 46 includes an average pixel value calculated by the average calculation unit 44 and a graph stored in advance by the model storage unit 47 (for example, a graph defined according to the JND model illustrated in FIG. 11). Is used to determine the difference prediction value pred_qp_delta of the quantization parameter (step S35).
  • the reference QP setting unit 48 and the residual calculation unit 50 acquire the quantization parameter cu_qp for each block determined according to the rate control from the rate control unit 18 (step S36).
  • the reference QP setting unit 48 determines the reference value slice_qp of the quantization parameter for each slice, and generates parameters pic_init_qp_minus26 and slice_qp_delta that specify the determined reference value (step S38).
  • the residual calculation unit 50 acquires the reference value slice_qp of the quantization parameter set by the reference QP setting unit 48 to the slice to which each block belongs from the reference QP setting unit 48 (step S39).
  • the residual calculation unit 50 subtracts the prediction value pred_qp, which is the sum of the quantization parameter reference value slice_qp and the difference prediction value pred_qp_delta, from the quantization parameter cu_qp that is actually used, so that the residual for each block is subtracted.
  • the difference resi_qp_delta is calculated (step S40).
  • FIG. 18 is a flowchart showing a third example of a detailed flow of the rate control related parameter generation processing shown in FIG.
  • the third example described here corresponds to the third configuration example of the quantization control unit 40 illustrated in FIG.
  • the block setting unit 41 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 3 (step S31).
  • the activity calculation unit 42 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 41, for example, according to the MPEG2 test model (step S32).
  • the difference prediction unit 45 determines the difference prediction value pred_qp_delta of the quantization parameter using the activity for each block calculated by the activity calculation unit 42, for example, according to the above-described equation (2) (step S34).
  • the reference QP setting unit 51 acquires the quantization parameter cu_qp_ref for each block determined according to the rate control from the rate control unit 18 (step S37).
  • the reference QP setting unit 51 determines the reference value slice_qp of the quantization parameter for each slice, and generates parameters pic_init_qp_minus26 and slice_qp_delta that specify the determined reference value (step S38).
  • the QP determination unit 53 acquires the reference value slice_qp of the quantization parameter set by the reference QP setting unit 48 to the slice to which each block belongs from the reference QP setting unit 51 (step S41).
  • the QP determination unit 53 calculates the prediction value pred_qp for each block by adding the reference value slice_qp of the quantization parameter and the difference prediction value pred_qp_delta (step S42).
  • the predicted value pred_qp calculated here is equal to the quantization parameter cu_qp actually used by the quantization unit 15 and the inverse quantization unit 21.
  • FIG. 19 is a block diagram illustrating an example of the configuration of the EL decoding unit 6b illustrated in FIG.
  • the EL decoding unit 6b includes a storage buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A A (Digital to Analogue) conversion unit 68, a frame memory 69, selectors 70 and 71, an intra prediction unit 75, an inter prediction unit 80, and an inverse quantization control unit 85 are provided.
  • a storage buffer 61 a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A A (Digital to Analogue) conversion unit 68, a frame memory 69, selectors 70 and 71, an intra prediction unit 75, an inter
  • the accumulation buffer 61 temporarily accumulates the enhancement layer encoded stream input from the demultiplexer 5 using a storage medium.
  • the lossless decoding unit 62 decodes enhancement layer quantized data from the enhancement layer encoded stream input from the accumulation buffer 61 according to the encoding method used for encoding. In addition, the lossless decoding unit 62 decodes information inserted in the header area of the encoded stream.
  • the information decoded by the lossless decoding unit 62 may include, for example, information related to intra prediction, information related to inter prediction, and rate control related parameters.
  • the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 75.
  • the lossless decoding unit 62 outputs information on inter prediction to the inter prediction unit 80. Further, the lossless decoding unit 62 outputs the quantized data to the inverse quantization unit 63 and outputs the rate control related parameters to the inverse quantization control unit 85.
  • the inverse quantization unit 63 inversely quantizes the quantized data input from the lossless decoding unit 62 at a quantization step corresponding to the quantization parameter input from the inverse quantization control unit 85, and transform coefficient data of the enhancement layer To restore. Then, the inverse quantization unit 63 outputs the restored transform coefficient data to the inverse orthogonal transform unit 64.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 in accordance with the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 69.
  • the deblock filter 66 removes block distortion by filtering the decoded image data input from the adder 65, and outputs the filtered decoded image data to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 generates a series of time-series image data by rearranging the images input from the deblocking filter 66. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an enhancement layer image, for example, by outputting an analog image signal to a display (not shown) connected to the image decoding device 60.
  • the frame memory 69 includes the decoded image data before filtering input from the adding unit 65, the decoded image data after filtering input from the deblocking filter 66, and the reconstructed image data of the base layer input from the intermediate processing unit 7. Is stored using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 75 and the inter prediction unit 80 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 75 as reference image data.
  • the selector 70 outputs the decoded image data after filtering to the inter prediction unit 80 as reference image data.
  • the base layer reconstructed image data may also be supplied to the intra prediction unit 75 or the inter prediction unit 80.
  • the selector 71 switches the output source of the predicted image data to be supplied to the adding unit 65 between the intra prediction unit 75 and the inter prediction unit 80 according to the mode information acquired by the lossless decoding unit 62. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 75 to the addition unit 65 when the intra prediction mode is designated. Further, when the inter prediction mode is designated, the selector 71 supplies the predicted image data output from the inter prediction unit 80 to the addition unit 65.
  • the intra prediction unit 75 performs the intra prediction process of the enhancement layer based on the information related to the intra prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the intra prediction unit 75 outputs the generated predicted image data of the enhancement layer to the selector 71.
  • the inter prediction unit 80 performs motion compensation processing of the enhancement layer based on the information related to inter prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the inter prediction unit 80 outputs the generated predicted image data of the enhancement layer to the selector 71.
  • the inverse quantization control unit 85 controls the inverse quantization process in the EL decoding unit 6b using the rate control related parameters decoded by the lossless decoding unit 62. More specifically, the inverse quantization control unit 85 determines the quantization parameter cu_qp for each CU using the rate control related parameters, and outputs the determined quantization parameter cu_qp to the inverse quantization unit 63.
  • the rate control related parameters include two parameters pic_init_qp_minus26 and slice_qp_delta that specify the reference value slice_qp of the quantization parameter for each slice. The inverse quantization control unit 85 determines the reference value slice_qp of the quantization parameter using these two parameters.
  • pic_init_qp_minus 26 can be decoded for each picture, and slice_qp_delta can be decoded for each slice.
  • the inverse quantization control unit 85 predicts the quantization parameter for each CU using the base layer reconstructed image generated by the BL decoding unit 6a.
  • the prediction value of the quantization parameter is the sum of the reference value and the difference prediction value for each CU.
  • the difference prediction value is determined based on the characteristics of the reconstructed image of the base layer.
  • the reference value of the quantization parameter for each CU may be a prediction reference value predicted from the quantization parameter of a neighboring CU within a slice.
  • the quantization parameter cu_qp actually used may be equal to the sum of the reference value of the quantization parameter and the difference prediction value.
  • the quantization parameter cu_qp may be a value obtained by adding the residual that can be decoded by the lossless decoding unit 62 to the sum of the reference value of the quantization parameter and the difference prediction value.
  • FIG. 20 is a block diagram illustrating a first configuration example of the inverse quantization control unit 85 illustrated in FIG.
  • the inverse quantization control unit 85 includes a block setting unit 86, an activity calculation unit 87, an activity buffer 88, a difference prediction unit 90, a reference QP setting unit 93, a QP buffer 94, and a QP calculation unit 95.
  • the block setting unit 86 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 7.
  • the block size set by the block setting unit 86 is specified by a parameter diff_cu_qp_delta_depth corresponding to size information.
  • the parameter diff_cu_qp_delta_depth can be decoded by the lossless decoding unit 62 for each picture.
  • the activity calculation unit 87 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 86.
  • the activity value takes a larger value as the variance of the pixel values in the block increases.
  • the activity calculation unit 87 may calculate an activity according to the above-described MPEG2 test model, for example.
  • the activity calculation unit 87 typically normalizes the activity so that the value falls within a predetermined range. In the MPEG2 test model, the range of normalized activity values is 0.5-2.0. Then, the activity calculation unit 87 outputs the calculated activity A norm for each block to the activity buffer 88 and the difference prediction unit 90.
  • the activity buffer 88 buffers an activity input from the activity calculation unit 87 as a reference activity.
  • the reference activity is used by the activity calculation unit 87 when normalizing the activity of each block.
  • the difference prediction unit 90 determines the quantization parameter difference predicted value pred_qp_delta from the activity A norm for each block calculated by the activity calculation unit 87 according to the above-described equation (2). Note that the difference prediction unit 90 may execute the logarithmic calculation in Equation (2) using a lookup table stored in advance. Then, the difference prediction unit 90 outputs the difference prediction value pred_qp_delta determined for each block to the QP calculation unit 95.
  • the reference QP setting unit 93 acquires rate control related parameters pic_init_qp_minus26 and slice_qp_delta decoded by the lossless decoding unit 62.
  • the parameter pic_init_qp_minus26 specifies the initial value of the quantization parameter for each picture.
  • the parameter slice_qp_delta specifies the difference between the quantization parameter reference value slice_qp for each slice and the initial value. Then, the reference QP setting unit 93 outputs the quantization parameter reference value slice_qp calculated for each slice using these parameters to the QP calculation unit 95.
  • the reference QP setting unit 93 predicts the quantization parameter reference value slice_qp for each slice based on the quantization parameter applied to the neighboring blocks of the block for each block (for example, CU) in the slice. May be.
  • the neighborhood block here includes at least one of the upper and left neighboring blocks and the previous block in decoding order.
  • slice_qp specified by the rate control related parameter may be used as the reference value of the first block of the slice
  • the prediction reference value predicted by the reference QP setting unit 93 may be used as the reference value of the subsequent block (See FIG. 5).
  • the prediction reference value is equal to the average value of the quantization parameters of the upper adjacent block and the left adjacent block. Otherwise, the prediction criterion value is equal to the quantization parameter applied to the referenceable neighboring block.
  • the QP buffer 94 buffers the quantization parameter cu_qp for each CU input from the QP calculation unit 95 as a reference quantization parameter.
  • the reference quantization parameter is used by the reference QP setting unit 93 when predicting the reference value of the quantization parameter of each block.
  • the QP calculation unit 95 adds the quantization parameter prediction value pred_qp by adding the quantization parameter reference value slice_qp input from the reference QP setting unit 93 and the difference prediction value pred_qp_delta input from the difference prediction unit 90. Calculate for each CU. Further, the QP calculation unit 95 obtains the residual resi_qp_delta of the quantization parameter decoded by the lossless decoding unit 62 from the lossless decoding unit 62. Then, the QP calculation unit 95 calculates a quantization parameter cu_qp that is equal to the sum of the predicted value pred_qp of the quantization parameter and the acquired residual resi_qp_delta according to the above-described equation (3). Then, the QP calculation unit 95 outputs the quantization parameter cu_qp calculated for each CU to the QP buffer 94 and the inverse quantization unit 63.
  • the residual of the quantization parameter decoded by the lossless decoding unit 62 in the first configuration example is compared with the residual indicated by the parameters cu_qp_delta_abs and cu_qp_delta_sign described in Non-Patent Document 1, and the difference prediction value pred_qp_delta Has been reduced. That is, the code amount of the rate control related parameter in the enhancement layer encoded stream is small compared to the existing method.
  • FIG. 21 is a block diagram showing a second configuration example of the inverse quantization control unit 85 shown in FIG.
  • the inverse quantization control unit 85 includes a block setting unit 86, an average calculation unit 89, a difference prediction unit 91, a model storage unit 92, a reference QP setting unit 93, a QP buffer 94, and a QP calculation unit 95. .
  • the average calculation unit 89 calculates the average pixel value PAve in the block of the reconstructed image for each block set by the block setting unit 86. Then, the average calculation unit 89 outputs the calculated average pixel value PAve for each block to the difference prediction unit 91.
  • the difference prediction unit 91 determines the difference prediction value of the quantization parameter for each block in accordance with a predefined relationship between the average pixel value calculated by the average calculation unit 89 and the difference prediction value.
  • the relationship between the average pixel value used by the difference prediction unit 91 and the difference prediction value may be defined, for example, according to the JND model described in the above-mentioned contribution JCTVC-H0477_r1.
  • the difference prediction unit 91 refers to the graph of the JND model illustrated in FIG. 11 and acquires the difference prediction value pred_qp_delta corresponding to the average pixel value PAve input from the average calculation unit 89. Then, the difference prediction unit 91 outputs the acquired difference prediction value pred_qp_delta to the QP calculation unit 95.
  • the model storage unit 92 stores in advance a graph (for example, a JND model graph) indicating the relationship between the average pixel value and the difference prediction value.
  • the graph is referred to by the difference prediction unit 91 in order to obtain the difference prediction value of each block.
  • the QP calculation unit 95 adds the quantization parameter reference value slice_qp input from the reference QP setting unit 93 and the difference prediction value pred_qp_delta input from the difference prediction unit 91, The prediction value pred_qp of the quantization parameter is calculated for each CU. Further, the QP calculation unit 95 obtains the residual resi_qp_delta of the quantization parameter decoded by the lossless decoding unit 62 from the lossless decoding unit 62. Then, the QP calculation unit 95 calculates a quantization parameter cu_qp that is equal to the sum of the predicted value pred_qp of the quantization parameter and the acquired residual resi_qp_delta according to the above-described equation (3). Then, the QP calculation unit 95 outputs the quantization parameter cu_qp calculated for each CU to the QP buffer 94 and the inverse quantization unit 63.
  • the residual of the quantization parameter is subtracted by the difference prediction value pred_qp_delta compared to the existing method. That is, the code amount of the rate control related parameter in the enhancement layer encoded stream is small compared to the existing method.
  • FIG. 22 is a block diagram showing a third configuration example of the inverse quantization control unit 85 shown in FIG.
  • the inverse quantization control unit 85 includes a block setting unit 86, an activity calculation unit 87, an activity buffer 88, a difference prediction unit 90, a reference QP setting unit 93, a QP buffer 94, and a QP calculation unit 96.
  • the QP calculation unit 96 adds the quantization parameter reference value slice_qp input from the reference QP setting unit 93 and the difference prediction value pred_qp_delta input from the difference prediction unit 90 to obtain the quantization parameter prediction value pred_qp. Calculate for each CU.
  • the predicted value pred_qp is equal to the quantization parameter cu_qp actually used by the inverse quantization unit 63, as shown in the above-described equation (4).
  • the inverse quantization unit 63 inversely quantizes the enhancement layer quantized data in a quantization step corresponding to the predicted value pred_qp of the quantization parameter.
  • the quantization parameter residual is not encoded in the encoded stream. Therefore, the amount of codes for the rate control related parameters is further reduced.
  • the prediction value of the quantization parameter may be determined based on the average pixel value for each block.
  • the lossless decoding unit 62 may decode some additional parameters for controlling inverse quantization from the enhancement layer encoded stream. For example, the lossless decoding unit 62 decodes the flag cu_qp_delta_enabled_flag described in Non-Patent Document 1. When this flag indicates True, the quantization step is specified in units smaller than the LCU. Further, the lossless decoding unit 62 can decode the quantization parameter prediction flag described above. When the decoded quantization parameter prediction flag indicates True, the inverse quantization control unit 85 can predict the enhancement layer quantization parameter using the base layer reconstructed image. Moreover, the lossless decoding part 62 may decode the determination method flag mentioned above.
  • the first value of the decision technique flag may correspond to prediction based on activity for each block
  • the second value of the decision technique flag may correspond to prediction based on an average pixel value for each block.
  • the inverse quantization control unit 85 switches the method for determining the difference prediction value pred_qp_delta according to the determination method flag.
  • FIG. 23 is a block diagram showing a modification of the configuration of the EL decoding unit 6b that decodes the enhancement layer encoded stream generated by the EL encoding unit 1b shown in FIG.
  • the EL decoding unit 6b includes a storage buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 164, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A A conversion unit 68, a frame memory 69, selectors 70 and 71, an intra prediction unit 75, an inter prediction unit 80, and an inverse quantization / transform control unit 185 are provided.
  • the inverse orthogonal transform unit 164 performs inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 for each TU having a TU size determined by the inverse quantization / transform control unit 185 described later. Generate prediction error data. Then, the inverse orthogonal transform unit 164 outputs the generated prediction error data to the addition unit 65.
  • the inverse quantization / transform control unit 185 controls the inverse quantization process in the EL decoding unit 6b using the rate control related parameters decoded by the lossless decoding unit 62. More specifically, the inverse quantization control unit 85 determines the quantization parameter cu_qp for each CU using the rate control related parameters, similarly to the inverse quantization control unit 85 illustrated in FIG. The quantization parameter cu_qp is output to the inverse quantization unit 63.
  • the inverse quantization / transform control unit 185 controls the orthogonal transform size (TU size) for the enhancement layer using the reconstructed image of the base layer. For example, the inverse quantization / transform control unit 185 calculates an activity (for example, the normalized activity A norm described above) for each block using the reconstructed image of the base layer, and determines the TU size according to the calculated activity size. To decide. More specifically, the inverse quantization / transform control unit 185 sets a larger TU size in an area where a block having a lower activity exists, and sets a smaller TU size in an area where a block having a higher activity exists. The inverse quantization / transform control unit 185 may apply inverse orthogonal transform skip (Transform Skip) to a block indicating an activity exceeding a predetermined threshold.
  • Transform Skip inverse orthogonal transform skip
  • the inverse quantization / transform control unit 185 may apply the TU size control described in this modification only to an intra slice. Further, the inverse quantization / transform control unit 185 may change the threshold value compared with the activity for switching the TU size according to the quantization parameter. For example, when a larger quantization parameter is used, the inverse quantization / transform control unit 185 sets a larger TU size in the enhancement layer image. In addition, when a smaller quantization parameter is used, the inverse quantization / transform control unit 185 sets a smaller TU size in the enhancement layer image.
  • FIG. 24 is a flowchart illustrating an example of a schematic processing flow at the time of decoding according to an embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation.
  • the demultiplexing unit 5 demultiplexes the multi-layer multiplexed stream into the base layer encoded stream and the enhancement layer encoded stream (step S60).
  • the BL decoding unit 6a executes base layer decoding processing to reconstruct a base layer image from the base layer encoded stream (step S61).
  • the base layer image reconstructed here is output to the intermediate processing unit 7 as a reconstructed image.
  • the intermediate processing unit 7 deinterlaces the reconstructed image. Further, the intermediate processing unit 7 up-samples the reconstructed image as necessary (step S62).
  • the EL decoding unit 6b performs enhancement layer decoding processing using the reconstructed image processed by the intermediate processing unit 7 to reconstruct the enhancement layer image (step S63).
  • FIG. 25 is a flowchart illustrating an example of a flow of processing related to rate control in the enhancement layer decoding processing (step S63 in FIG. 24).
  • the lossless decoding unit 62 decodes the rate control-related parameter inserted in the header area of the encoded stream (step S71).
  • the rate control related parameters decoded here may include, for example, a parameter that specifies a reference value of a quantization parameter and a parameter that specifies a residual of the quantization parameter.
  • the additional parameters described above may also be decoded.
  • the lossless decoding unit 62 outputs the decoded rate control related parameters to the inverse quantization control unit 85.
  • the inverse quantization control unit 85 executes a quantization parameter reconstruction process using the base layer reconstructed image (step S72). Three examples of the quantization parameter reconstruction process executed here will be further described later. Then, the inverse quantization control unit 85 outputs the reconstructed quantization parameter to the inverse quantization unit 63.
  • the lossless decoding unit 62 decodes the enhancement layer quantized data from the enhancement layer encoded stream (step S73). Then, the lossless decoding unit 62 outputs the decoded quantized data to the inverse quantization unit 63.
  • the inverse quantization unit 63 inversely quantizes the enhancement layer quantization data in a quantization step corresponding to the quantization parameter input from the inverse quantization control unit 85, and restores transform coefficient data (step). S74). Then, the inverse quantization unit 63 outputs the restored transform coefficient data to the inverse orthogonal transform unit 64.
  • the process illustrated in FIG. 25 may be repeatedly executed in units such as LCUs of the enhancement layer images, for example.
  • FIG. 26 is a flowchart showing a first example of a detailed flow of the quantization parameter reconstruction process shown in FIG. The first example described here corresponds to the first configuration example of the inverse quantization control unit 85 illustrated in FIG.
  • the block setting unit 86 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 7 (step S81).
  • the activity calculation unit 87 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 86, for example, according to the MPEG2 test model (step S82).
  • the difference prediction unit 90 determines the difference prediction value pred_qp_delta of the quantization parameter using the activity for each block calculated by the activity calculation unit 87, for example, according to the above-described equation (2) (step S84).
  • the reference QP setting unit 93 sets the reference value slice_qp of the quantization parameter to the slice to which each block belongs (step S86).
  • the quantization parameter reference value slice_qp can be specified by the parameters pic_init_qp_minus26 and slice_qp_delta decoded by the lossless decoding unit 62. Further, the quantization parameter reference value slice_qp for a certain block may be predicted from the quantization parameter applied to the neighboring block.
  • the QP calculation unit 95 acquires the residual resi_qp_delta of the quantization parameter decoded by the lossless decoding unit 62 from the lossless decoding unit 62 for each block (step S88).
  • the QP calculation unit 95 calculates the quantization parameter cu_qp for each block by adding the residual resi_qp_delta to the prediction value pred_qp that is the sum of the reference value slice_qp of the quantization parameter and the difference prediction value pred_qp_delta (Ste S89).
  • FIG. 27 is a flowchart illustrating a second example of a detailed flow of the quantization parameter reconstruction process illustrated in FIG.
  • the second example described here corresponds to the second configuration example of the inverse quantization control unit 85 illustrated in FIG.
  • the block setting unit 86 sets a block as a unit for calculating an average pixel value in the reconstructed image of the base layer input from the intermediate processing unit 7 (step S81).
  • the average calculation unit 89 calculates the average pixel value in the block of the reconstructed image for each block set by the block setting unit 86 (step S83).
  • the difference prediction unit 91 determines the difference prediction value pred_qp_delta of the quantization parameter using the average pixel value for each block calculated by the average calculation unit 89 and the graph stored in advance by the model storage unit 92. (Step S85).
  • the reference QP setting unit 93 sets the reference value slice_qp of the quantization parameter to the slice to which each block belongs (step S86).
  • the QP calculation unit 95 acquires the residual resi_qp_delta of the quantization parameter decoded by the lossless decoding unit 62 from the lossless decoding unit 62 for each block (step S88).
  • the QP calculation unit 95 calculates the quantization parameter cu_qp for each block by adding the residual resi_qp_delta to the prediction value pred_qp that is the sum of the reference value slice_qp of the quantization parameter and the difference prediction value pred_qp_delta (Ste S89).
  • FIG. 28 is a flowchart illustrating a third example of a detailed flow of the quantization parameter reconstruction process illustrated in FIG.
  • the third example described here corresponds to the third configuration example of the inverse quantization control unit 85 illustrated in FIG.
  • the block setting unit 86 sets a block as a unit for calculating an activity in the reconstructed image of the base layer input from the intermediate processing unit 7 (step S81).
  • the activity calculation unit 87 calculates an activity indicating the complexity of the reconstructed image for each block set by the block setting unit 86, for example, according to the MPEG2 test model (step S82).
  • the difference prediction unit 90 determines the difference prediction value pred_qp_delta of the quantization parameter using the activity for each block calculated by the activity calculation unit 87, for example, according to the above-described equation (2) (step S84).
  • the reference QP setting unit 93 sets the reference value slice_qp of the quantization parameter to the slice to which each block belongs (step S86).
  • the QP calculation unit 96 calculates the quantization parameter cu_qp for each block by adding the reference value slice_qp of the quantization parameter and the difference prediction value pred_qp_delta (step S90).
  • codec combinations The technology according to the present disclosure can be applied to scalable coding with a combination of various codecs.
  • the number of layers to be multiplexed may be any number of two or more.
  • the decoder may not operate normally.
  • only predefined codec combinations may be allowed to be encoded hierarchically. Instead, some codec combinations may be prohibited from being encoded hierarchically.
  • 29A and 29B are explanatory diagrams for explaining combinations of codecs that can be permitted or prohibited.
  • the first layer L10 and the second layer L11 are encoded by the MPEG2 system.
  • the third layer L12 and the fourth layer L13 are encoded by the AVC method.
  • the fifth layer L14 is encoded by the HEVC method.
  • hierarchical encoding of the first layer L10 and the second layer L11 is allowed because the codec is common.
  • the hierarchical encoding of the second layer L11 and the third layer L12 can be prohibited because the combination of the MPEG2 system and the AVC system is not standardized.
  • the hierarchical encoding of the third layer L12 and the fourth layer L13 is permitted because the codec is common.
  • the hierarchical encoding of the fourth layer L13 and the fifth layer L14 is permitted because the combination of the AVC method and the HEVC method is standardized.
  • the multiplexed streams of the first layer L10 and the second layer L11 and the multiplexed streams of the third layer L12, the fourth layer L13, and the fifth layer L14 are scalable encoded. Rather, it can be multiplexed by simulcast-coding.
  • the first layer L20 and the second layer L21 are encoded by the AVC method.
  • the third layer L22 and the fourth layer L23 are encoded by the MPEG2 system.
  • the fifth layer L24 is encoded by the HEVC method.
  • hierarchical encoding of the first layer L20 and the second layer L21 is allowed because the codec is common.
  • Hierarchically encoding the second layer L21 and the third layer L22 can be prohibited because the combination of the AVC method and the MPEG2 method is not standardized.
  • the hierarchical encoding of the third layer L22 and the fourth layer L23 is allowed because the codec is common.
  • the hierarchical encoding of the fourth layer L23 and the fifth layer L24 is allowed because the combination of the MPEG2 system and the HEVC system is standardized.
  • the multiplexed streams of the first layer L20 and the second layer L21 and the multiplexed streams of the third layer L22, the fourth layer L23, and the fifth layer L24 are scalable encoded. Rather, it can be multiplexed by simulcast coding.
  • the image encoding device 10 and the image decoding device 60 are a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as an optical disk, 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 an optical disk, a magnetic disk, and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 30 illustrates an example of a schematic configuration of a television device 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. In other words, the tuner 902 serves as a transmission unit in the television apparatus 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. In addition, 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 a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • 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 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • 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 device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • 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 60 according to the above-described embodiment. Accordingly, when a plurality of layers implement BLR scalability in the scalable decoding of an image in the television device 900, the method of reusing the reconstructed image can be improved and the code amount of the enhancement layer can be reduced. .
  • FIG. 31 illustrates 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 expands 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 a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • 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 recording / 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 10 and the image decoding device 60 according to the above-described embodiment.
  • FIG. 32 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 has a role 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 IEEE 1394 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. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, 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. .
  • 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.
  • the 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.
  • a GUI image such as a menu, a button, or a cursor
  • 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 device 940 according to 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 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 33 illustrates 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 or a CMOS, 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.
  • 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, for example, 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. Further, a recording medium may be fixedly attached to 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.
  • 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, for example, 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 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, when a plurality of layers implement BLR scalability when performing scalable coding and decoding of an image in the imaging device 960, the method of reusing the reconstructed image is improved to reduce the code amount of the enhancement layer Can do.
  • the data transmission system 1000 includes a stream storage device 1001 and a distribution server 1002.
  • Distribution server 1002 is connected to several terminal devices via network 1003.
  • Network 1003 may be a wired network, a wireless network, or a combination thereof.
  • FIG. 34 shows a PC (Personal Computer) 1004, an AV device 1005, a tablet device 1006, and a mobile phone 1007 as examples of terminal devices.
  • PC Personal Computer
  • the stream storage device 1001 stores, for example, stream data 1011 including a multiplexed stream generated by the image encoding device 10.
  • the multiplexed stream includes a base layer (BL) encoded stream and an enhancement layer (EL) encoded stream.
  • the distribution server 1002 reads the stream data 1011 stored in the stream storage device 1001, and at least a part of the read stream data 1011 is transmitted via the network 1003 to the PC 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007. Deliver to.
  • the distribution server 1002 selects a stream to be distributed based on some condition such as the capability of the terminal device or the communication environment. For example, the distribution server 1002 may avoid the occurrence of delay, overflow, or processor overload in the terminal device by not distributing an encoded stream having a high image quality that exceeds the image quality that can be handled by the terminal device. . The distribution server 1002 may avoid occupying the communication band of the network 1003 by not distributing an encoded stream having high image quality. On the other hand, the distribution server 1002 distributes all of the multiplexed streams to the terminal device when there is no risk to be avoided or when it is determined to be appropriate based on a contract with the user or some condition. Good.
  • the distribution server 1002 reads the stream data 1011 from the stream storage device 1001. Then, the distribution server 1002 distributes the stream data 1011 as it is to the PC 1004 having high processing capability. Also, since the AV device 1005 has low processing capability, the distribution server 1002 generates stream data 1012 including only the base layer encoded stream extracted from the stream data 1011, and distributes the stream data 1012 to the AV device 1005. To do. Also, the distribution server 1002 distributes the stream data 1011 as it is to the tablet device 1006 that can communicate at a high communication rate. Further, since the cellular phone 1007 can communicate only at a low communication rate, the distribution server 1002 distributes the stream data 1012 including only the base layer encoded stream to the cellular phone 1007.
  • the multiplexed stream By using the multiplexed stream in this way, the amount of traffic to be transmitted can be adjusted adaptively.
  • the code amount of the stream data 1011 is reduced as compared with the case where each layer is individually encoded, even if the entire stream data 1011 is distributed, the load on the network 1003 is suppressed. Is done. Furthermore, memory resources of the stream storage device 1001 are also saved.
  • the hardware performance of terminal devices varies from device to device.
  • the communication capacity of the network 1003 also varies.
  • the capacity available for data transmission can change from moment to moment due to the presence of other traffic. Therefore, the distribution server 1002 transmits terminal information regarding the hardware performance and application capability of the terminal device, the communication capacity of the network 1003, and the like through signaling with the distribution destination terminal device before starting the distribution of the stream data. And network information may be acquired. Then, the distribution server 1002 can select a stream to be distributed based on the acquired information.
  • extraction of a layer to be decoded may be performed in the terminal device.
  • the PC 1004 may display a base layer image extracted from the received multiplexed stream and decoded on the screen. Further, the PC 1004 may extract a base layer encoded stream from the received multiplexed stream to generate stream data 1012, store the generated stream data 1012 in a storage medium, or transfer the stream data 1012 to another device. .
  • the configuration of the data transmission system 1000 shown in FIG. 34 is merely an example.
  • the data transmission system 1000 may include any number of stream storage devices 1001, a distribution server 1002, a network 1003, and terminal devices.
  • the data transmission system 1100 includes a broadcast station 1101 and a terminal device 1102.
  • the broadcast station 1101 broadcasts a base layer encoded stream 1121 on the terrestrial channel 1111.
  • the broadcast station 1101 transmits an enhancement layer encoded stream 1122 to the terminal device 1102 via the network 1112.
  • the terminal device 1102 has a reception function for receiving a terrestrial broadcast broadcast by the broadcast station 1101, and receives a base layer encoded stream 1121 via the terrestrial channel 1111. Also, the terminal device 1102 has a communication function for communicating with the broadcast station 1101 and receives the enhancement layer encoded stream 1122 via the network 1112.
  • the terminal device 1102 receives the base layer encoded stream 1121 in accordance with an instruction from the user, decodes the base layer image from the received encoded stream 1121, and displays the base layer image on the screen. Good. Further, the terminal device 1102 may store the decoded base layer image in a storage medium or transfer it to another device.
  • the terminal device 1102 receives, for example, an enhancement layer encoded stream 1122 via the network 1112 in accordance with an instruction from the user, and generates a base layer encoded stream 1121 and an enhancement layer encoded stream 1122. Multiplexed streams may be generated by multiplexing. Also, the terminal apparatus 1102 may decode the enhancement layer image from the enhancement layer encoded stream 1122 and display the enhancement layer image on the screen. In addition, the terminal device 1102 may store the decoded enhancement layer image in a storage medium or transfer it to another device.
  • the encoded stream of each layer included in the multiplexed stream can be transmitted via a different communication channel for each layer. Accordingly, it is possible to distribute the load applied to each channel and suppress the occurrence of communication delay or overflow.
  • the communication channel used for transmission may be dynamically selected according to some condition. For example, a base layer encoded stream 1121 having a relatively large amount of data is transmitted via a communication channel having a wide bandwidth, and an enhancement layer encoded stream 1122 having a relatively small amount of data is transmitted via a communication channel having a small bandwidth. Can be transmitted. Also, the communication channel for transmitting the encoded stream 1122 of a specific layer may be switched according to the bandwidth of the communication channel. Thereby, the load applied to each channel can be more effectively suppressed.
  • the configuration of the data transmission system 1100 shown in FIG. 35 is merely an example.
  • the data transmission system 1100 may include any number of communication channels and terminal devices.
  • the system configuration described here may be used for purposes other than broadcasting.
  • the data transmission system 1200 includes an imaging device 1201 and a stream storage device 1202.
  • the imaging device 1201 performs scalable coding on image data generated by imaging the subject 1211 and generates a multiplexed stream 1221.
  • the multiplexed stream 1221 includes a base layer encoded stream and an enhancement layer encoded stream. Then, the imaging device 1201 supplies the multiplexed stream 1221 to the stream storage device 1202.
  • the stream storage device 1202 stores the multiplexed stream 1221 supplied from the imaging device 1201 with different image quality for each mode. For example, in the normal mode, the stream storage device 1202 extracts the base layer encoded stream 1222 from the multiplexed stream 1221 and stores the extracted base layer encoded stream 1222. On the other hand, the stream storage device 1202 stores the multiplexed stream 1221 as it is in the high image quality mode. Thereby, the stream storage device 1202 can record a high-quality stream with a large amount of data only when video recording with high quality is desired. Therefore, it is possible to save memory resources while suppressing the influence of image quality degradation on the user.
  • the imaging device 1201 is assumed to be a surveillance camera.
  • the monitoring target for example, an intruder
  • the normal mode is selected.
  • the video is recorded with low image quality (that is, only the base layer coded stream 1222 is stored).
  • the monitoring target for example, the subject 1211 as an intruder
  • the high image quality mode is selected. In this case, since the captured image is likely to be important, priority is given to the high image quality, and the video is recorded with high image quality (that is, the multiplexed stream 1221 is stored).
  • the mode is selected by the stream storage device 1202 based on the image analysis result, for example.
  • the imaging device 1201 may select a mode. In the latter case, the imaging device 1201 may supply the base layer encoded stream 1222 to the stream storage device 1202 in the normal mode and supply the multiplexed stream 1221 to the stream storage device 1202 in the high image quality mode.
  • the selection criteria for selecting the mode may be any standard.
  • the mode may be switched according to the volume of sound acquired through a microphone or the waveform of sound. Further, the mode may be switched periodically. In addition, the mode may be switched according to an instruction from the user.
  • the number of selectable modes may be any number as long as the number of layers to be layered does not exceed.
  • the configuration of the data transmission system 1200 shown in FIG. 36 is merely an example.
  • the data transmission system 1200 may include any number of imaging devices 1201. Further, the system configuration described here may be used in applications other than the surveillance camera.
  • a multi-view codec is an image encoding method for encoding and decoding so-called multi-view video.
  • FIG. 37 is an explanatory diagram for describing the multi-view codec. Referring to FIG. 37, a sequence of frames of three views captured at three viewpoints is shown. Each view is given a view ID (view_id). Any one of the plurality of views is designated as a base view. Views other than the base view are called non-base views. In the example of FIG. 37, a view with a view ID “0” is a base view, and two views with a view ID “1” or “2” are non-base views.
  • the quantization amount for the non-base view is predicted using the reconstructed image of the base view, thereby reducing the overall code amount. Can be reduced. Thereby, the encoding efficiency can be further improved in the multi-view codec as in the case of scalable encoding.
  • the technology according to the present disclosure may be applied to a streaming protocol.
  • a streaming protocol For example, in MPEG-DASH (Dynamic Adaptive Streaming over HTTP), a plurality of encoded streams having different parameters such as resolution are prepared in advance in a streaming server. Then, the streaming server dynamically selects appropriate data to be streamed from a plurality of encoded streams in units of segments, and distributes the selected data.
  • a quantization parameter for another encoded stream may be predicted from a reconstructed image of one encoded stream.
  • the quantization parameter used when the enhancement layer transform coefficient data is dequantized using the reconstructed image generated by decoding the base layer encoded stream is predicted. Is done. Therefore, compared with the method in which the quantization parameter is determined completely independently from the base layer in the enhancement layer, the coding amount for parameters related to rate control in the enhancement layer is reduced, and the coding efficiency is increased. Can do.
  • the difference prediction value corresponding to the difference from the reference value of the quantization parameter is determined using the reconstructed image.
  • the increase or decrease of the quantization parameter has a correlation with the local characteristics (eg, complexity) of the image. Therefore, by making the difference from the reference value of the quantization parameter a target of prediction, it is possible to utilize the similarity between layers of image characteristics, and realize prediction of the quantization parameter with high accuracy. Can do.
  • the reference value of the quantization parameter may be specified by a parameter decoded from the enhancement layer encoded stream, or may be predicted from the quantization parameter of the neighboring block in the enhancement layer. Therefore, it is possible to set the quantization parameter reference value flexibly.
  • the quantization parameter prediction residual is encoded. In this case, the accuracy of rate control in the enhancement layer can be maintained. Further, according to another embodiment, encoding of the prediction residual of the quantization parameter is omitted. In this case, the code amount of the enhancement layer can be further reduced.
  • the difference prediction value of the quantization parameter is determined based on the activity indicating the complexity of the image for each block. In this case, the prediction value of the quantization parameter can be appropriately changed according to the local image complexity. According to another embodiment, the difference prediction value of the quantization parameter is determined based on the average pixel value for each block. In this case, the predicted value of the quantization parameter can be appropriately changed according to the discrimination ability with respect to image distortion as human visual characteristics.
  • the orthogonal transform size for the enhancement layer is controlled using the reconstructed image of the base layer. Therefore, it is possible to perform adaptive control according to the characteristics of the image such that a larger orthogonal transform size is set for a flat image region and a smaller orthogonal transform size is set for an image region having a complex texture. . Thereby, it is possible to reduce the code amount of the transform coefficient data while avoiding deterioration of the image quality. In addition, it is possible to omit encoding of a parameter specifying the TU size in the enhancement layer.
  • the example in which information on rate control and quantization is multiplexed in the header of the encoded stream and transmitted from the encoding side to the decoding side has been mainly described.
  • 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.
  • a base layer decoding unit that decodes a base layer encoded stream to generate a reconstructed image of the base layer
  • An image processing apparatus comprising: (2) The image processing device according to (1), wherein the control unit determines a difference prediction value corresponding to a difference from a reference value of the quantization parameter using the reconstructed image.
  • the image processing apparatus further includes a decoding unit that decodes a parameter that specifies the reference value of the quantization parameter from the enhancement layer encoded stream, The control unit calculates a prediction value of the quantization parameter by calculating a sum of the reference value decoded by the decoding unit and the difference prediction value; The image processing apparatus according to (2).
  • the control unit predicts the reference value of the quantization parameter applied to a first block based on a quantization parameter applied to a neighboring block of the first block, and the predicted reference value and The image processing apparatus according to (2), wherein a predicted value of the quantization parameter is calculated by calculating a sum of the difference predicted value.
  • the inverse quantization unit inversely quantizes the transform coefficient data in a quantization step corresponding to a sum of the predicted value and residual of the quantization parameter, according to (3) or (4), Image processing device.
  • the image processing apparatus further includes a decoding unit that decodes the residual of the quantization parameter from the enhancement layer encoded stream, The control unit calculates a sum of the prediction value of the quantization parameter and the residual decoded by the decoding unit; The image processing apparatus according to (5).
  • the control unit predicts the quantization parameter using the reconstructed image when the first flag decoded from the encoded stream indicates that the quantization parameter should be predicted.
  • the image processing apparatus according to any one of 1) to (7).
  • the control unit calculates an activity indicating the complexity of an image for each block using the reconstructed image, and determines the difference prediction value from the calculated activity, any one of (2) to (7) The image processing apparatus according to item 1.
  • the control unit determines the difference prediction value from the activity according to the following equation: Where A norm is the normalized activity, pred_qp_delta is the difference prediction value, If the quantization step corresponding to the quantization parameter qp is S (qp), the variables a and b satisfy the following equation: The image processing apparatus according to (9).
  • the said control part is an image processing apparatus as described in said (10) which performs the calculation for determining the said difference estimated value from the said activity using the lookup table memorize
  • the control unit calculates an average pixel value for each block using the reconstructed image, and determines the difference prediction value according to a predefined relationship between the calculated average pixel value and the difference prediction value.
  • the image processing device according to any one of (2) to (7).
  • the image processing device according to any one of (2) to (7), wherein the control unit switches a method for determining the difference prediction value according to a second flag decoded from the encoded stream. .
  • the image processing apparatus further includes a decoding unit that decodes size information indicating the size of the block from the enhancement layer encoded stream, The control unit determines the difference prediction value for each block having a size indicated by the size information decoded by the decoding unit.
  • the image processing apparatus according to any one of (9) to (12).
  • the image processing apparatus according to (2) further including an encoding unit that encodes a parameter that specifies the reference value of the quantization parameter.
  • the image processing apparatus according to (1) or (2), further including an encoding unit that encodes a first flag indicating that the quantization parameter should be predicted.
  • the image processing apparatus according to (2), further including: an encoding unit that encodes a second flag that specifies a determination method for determining the difference prediction value.
  • the image processing device according to any one of (1) to (18), wherein the control unit controls an orthogonal transform size for the enhancement layer using the reconstructed image.
  • (20) Decoding a base layer encoded stream to generate the base layer reconstructed image; Predicting quantization parameters for an enhancement layer using the generated reconstructed image; Dequantizing transform coefficient data of the enhancement layer using the predicted quantization parameter;
  • An image processing method including:
  • Image encoding device (image processing device) DESCRIPTION OF SYMBOLS 1a Base layer encoding part 1b Enhancement layer encoding part 2 Local decoder (base layer decoding part) 3 Intermediate processing part (upsampling part / deinterlace part) 14, 114 Orthogonal transformation unit 15 Quantization unit 16 Lossless encoding unit 21 Inverse quantization unit 22, 122 Inverse orthogonal transformation unit 40, 140 Control unit 60 Image decoding device (image processing device) 6a Base layer decoding unit 6b Enhancement layer decoding unit 7 Intermediate processing unit (upsampling unit / deinterlace unit) 62 lossless decoding unit 63 inverse quantization unit 64,164 inverse orthogonal transform unit 85,185 control unit

Abstract

【課題】BLRモードでのリコンストラクト画像の再利用の仕方を改善し、エンハンスメントレイヤの符号量を削減すること。 【解決手段】ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成するベースレイヤ復号部と、前記ベースレイヤ復号部により生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測する制御部と、前記制御部により予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化する逆量子化部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 現在、H.264/AVCよりも符号化効率をさらに向上することを目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC(Joint Collaboration Team-Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる画像符号化方式の標準化が進められている。HEVC方式については、2012年7月にドラフト版仕様8が発行されている(下記非特許文献1参照)。
 また、端末のケイパビリティの多様化及び通信環境の多様化に対応するために、スケーラブル符号化技術への注目が集まっている。スケーラブル符号化(SVC:Scalable Video Coding)とは、一般には、粗い画像信号を伝送するレイヤと精細な画像信号を伝送するレイヤとを階層的に符号化する技術をいう。スケーラブル符号化において階層化される典型的な属性は、主に次の3種類である。
  -空間スケーラビリティ:空間解像度あるいは画像サイズが階層化される。
  -時間スケーラビリティ:フレームレートが階層化される。
  -SNR(Signal to Noise Ratio)スケーラビリティ:SN比が階層化される。
さらに、標準規格で未だ採用されていないものの、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティもまた議論されている。
 スケーラブル符号化では、通常、ベースレイヤで符号化されるパラメータをエンハンスメントレイヤにおいて再利用することで、符号化効率が高められる。但し、レイヤ間でパラメータのマッピングが困難である場合、パラメータの再利用には何らかの制約(例えば、あるレイヤにおいて、他のレイヤによりサポートされないモードが選択されない、など)が伴うことが少なくない。そこで、下記非特許文献2は、ベースレイヤのリコンストラクト画像のみを再利用することによりスケーラビリティを実現する、BLR(spatial scalability using BL Reconstructed pixel only)モードという手法を提案している。BLRモードでは、レイヤごとの独立性が強化される。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 8"(JCTVC-J1003_d7, July 11-20,2012) Hisao Kumai, Tomoyuki Yamamoto, Andrew Segall, Maki Takahashi, Yukinobu Yasugi, Shuichi Watanabe, "Proposals for HEVC scalability Extension"(ISO/IEC JTC1/SC29/WG11 MPEG2012/m25749, July 2012, Stockholm, Sweden)
 しかしながら、ベースレイヤのリコンストラクト画像のみをエンハンスメントレイヤにおいて再利用するBLRモードでは、エンハンスメントレイヤにおいて多くのパラメータを符号化することが求められる。
 従って、符号化効率の観点からは、リコンストラクト画像の再利用の仕方を改善してエンハンスメントレイヤの符号量を削減することが望ましい。
 本開示によれば、ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成するベースレイヤ復号部と、前記ベースレイヤ復号部により生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測する制御部と、前記制御部により予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化する逆量子化部と、を備える画像処理装置が提供される。
 上記画像処理装置は、画像を復号する画像復号装置として実現されてもよい。その代わりに、上記画像処理装置は、画像を符号化する画像符号化装置として実現されてもよい。後者の場合、ベースレイヤ復号部は、ベースレイヤのために動作するローカルデコーダであってもよい。
 また、本開示によれば、ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成することと、生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測することと、予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化することと、を含む画像処理方法が提供される。
 本開示に係る技術によれば、BLRモードでのリコンストラクト画像の再利用の仕方が改善され、エンハンスメントレイヤの符号量が削減される結果として、符号化効率が向上し得る。
スケーラブル符号化について説明するための説明図である。 BLRモードでのスケーラブル符号化について説明するための説明図である。 レート制御の粒度が大き過ぎる場合の問題点について説明するための説明図である。 量子化パラメータと量子化ステップとの間の関係の一例を示す説明図である。 CTB内予測及びCTB間予測におけるブロック間の参照関係の一例を示す説明図である。 一実施形態に係る画像符号化装置の概略的な構成を示すブロック図である。 一実施形態に係る画像復号装置の概略的な構成を示すブロック図である。 図6に示したEL符号化部の構成の一例を示すブロック図である。 図8に示した量子化制御部の第1の構成例を示すブロック図である。 図8に示した量子化制御部の第2の構成例を示すブロック図である。 JNDモデルに従って定義される平均画素値と差分予測値との間の関係の一例を示す説明図である。 図8に示した量子化制御部の第3の構成例を示すブロック図である。 EL符号化部の構成の一変形例を示すブロック図である。 一実施形態に係る符号化時の概略的な処理の流れの一例を示すフローチャートである。 エンハンスメントレイヤの符号化処理におけるレート制御に関連する処理の流れの一例を示すフローチャートである。 図15に示したレート制御関連パラメータ生成処理の詳細な流れの第1の例を示すフローチャートである。 図15に示したレート制御関連パラメータ生成処理の詳細な流れの第2の例を示すフローチャートである。 図15に示したレート制御関連パラメータ生成処理の詳細な流れの第3の例を示すフローチャートである。 図7に示したEL復号部の構成の一例を示すブロック図である。 図19に示した逆量子化制御部の第1の構成例を示すブロック図である。 図19に示した逆量子化制御部の第2の構成例を示すブロック図である。 図19に示した逆量子化制御部の第3の構成例を示すブロック図である。 EL復号部の構成の一変形例を示すブロック図である。 一実施形態に係る復号時の概略的な処理の流れの一例を示すフローチャートである。 エンハンスメントレイヤの復号処理におけるレート制御に関連する処理の流れの一例を示すフローチャートである。 図25に示した量子化パラメータ再構築処理の詳細な流れの第1の例を示すフローチャートである。 図25に示した量子化パラメータ再構築処理の詳細な流れの第2の例を示すフローチャートである。 図25に示した量子化パラメータ再構築処理の詳細な流れの第3の例を示すフローチャートである。 許容され又は禁止され得るコーデックの組合せについて説明するための第1の説明図である。 許容され又は禁止され得るコーデックの組合せについて説明するための第2の説明図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化の用途の第1の例について説明するための説明図である。 スケーラブル符号化の用途の第2の例について説明するための説明図である。 スケーラブル符号化の用途の第3の例について説明するための説明図である。 マルチビューコーデックについて説明するための説明図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、以下の順序で説明を行う。
  1.概要
   1-1.スケーラブル符号化
   1-2.BLRモード
   1-3.一般的なレート制御
   1-4.エンコーダの基本的な構成例
   1-5.デコーダの基本的な構成例
  2.一実施形態に係るEL符号化部の構成例
   2-1.全体的な構成
   2-2.量子化制御部の第1の構成例
   2-3.量子化制御部の第2の構成例
   2-4.量子化制御部の第3の構成例
   2-5.追加的なパラメータ
   2-6.変形例
  3.一実施形態に係る符号化時の処理の流れ
   3-1.概略的な流れ
   3-2.レート制御に関連する処理
   3-3.レート制御関連パラメータ生成処理
  4.一実施形態に係るEL復号部の構成例
   4-1.全体的な構成
   4-2.逆量子化制御部の第1の構成例
   4-3.逆量子化制御部の第2の構成例
   4-4.逆量子化制御部の第3の構成例
   4-5.追加的なパラメータ
   4-6.変形例
  5.一実施形態に係る復号時の処理の流れ
   5-1.概略的な流れ
   5-2.レート制御に関連する処理
   5-3.量子化パラメータ再構築処理
  6.コーデックの組合せの例
  7.応用例
   7-1.様々な製品への応用
   7-2.スケーラブル符号化の様々な用途
   7-3.その他
  8.まとめ
 <1.概要>
  [1-1.スケーラブル符号化]
 スケーラブル符号化においては、一連の画像をそれぞれ含む複数のレイヤが符号化される。ベースレイヤ(base layer)は、最初に符号化される、最も粗い画像を表現するレイヤである。ベースレイヤの符号化ストリームは、他のレイヤの符号化ストリームを復号することなく、独立して復号され得る。ベースレイヤ以外のレイヤは、エンハンスメントレイヤ(enhancement layer)と呼ばれる、より精細な画像を表現するレイヤである。エンハンスメントレイヤの符号化ストリームは、ベースレイヤの符号化ストリームに含まれる情報を用いて符号化される。従って、エンハンスメントレイヤの画像を再現するためには、ベースレイヤ及びエンハンスメントレイヤの双方の符号化ストリームが復号されることになる。スケーラブル符号化において扱われるレイヤの数は、2つ以上のいかなる数であってもよい。3つ以上のレイヤが符号化される場合には、最下位のレイヤがベースレイヤ、残りの複数のレイヤがエンハンスメントレイヤである。より上位のエンハンスメントレイヤの符号化ストリームは、より下位のエンハンスメントレイヤ又はベースレイヤの符号化ストリームに含まれる情報を用いて符号化され及び復号され得る。
 図1は、スケーラブル符号化される3つのレイヤL1、L2及びL3を示している。レイヤL1はベースレイヤであり、レイヤL2及びL3はエンハンスメントレイヤである。なお、ここでは、様々な種類のスケーラビリティのうち、空間スケーラビリティを例にとっている。レイヤL2のレイヤL1に対する空間解像度の比は、2:1である。レイヤL3のレイヤL1に対する空間解像度の比は、4:1である。なお、ここでの解像度比は一例に過ぎず、例えば1.5:1などの非整数の解像度比が使用されてもよい。レイヤL1のブロックB1は、ベースレイヤのピクチャ内の予測処理の処理単位である。レイヤL2のブロックB2は、ブロックB1と共通するシーンを映したエンハンスメントレイヤのピクチャ内の予測処理の処理単位である。ブロックB2は、レイヤL1のブロックB1に対応する。レイヤL3のブロックB3は、ブロックB1及びB2と共通するシーンを映したより上位のエンハンスメントレイヤのピクチャ内の予測処理の処理単位である。ブロックB3は、レイヤL1のブロックB1及びレイヤL2のブロックB2に対応する。
 このようなレイヤ構造において、画像の周波数特性は、共通するシーンを映したレイヤ間で類似する。例えば、レイヤL1内のブロックB1の画像が平坦でその高周波成分が小さい場合、レイヤL2内のブロックB2の画像の高周波成分もまた小さい可能性が高い。レイヤL2内のブロックB2とレイヤL3内のブロックB3との間にも同じことが言える。
  [1-2.BLRモード]
 上記非特許文献2により提案されているBLRモードは、スケーラブル符号化の1つの形態である。BLRモードでは、レイヤ間で異なる画像符号化方式が利用される場合においてレイヤ間のパラメータのマッピングが困難となるケースを想定し、エンハンスメントレイヤにおいてベースレイヤのリコンストラクト画像のみが再利用される。リコンストラクト画像とは、予測符号化、直交変換及び量子化などの処理を経て生成される符号化ストリームを復号することにより再構築される画像をいう。エンコーダ側では、ローカルデコーダによって生成されるリコンストラクト画像が、予測符号化のための参照画像として用いられる。デコーダ側では、リコンストラクト画像は、参照画像として用いられるだけでなく、表示又は編集などのための最終的な出力画像となり得る。MPEG2方式、AVC方式及びHEVC方式などの予測符号化を含む画像符号化方式では、一般的に、エンコーダ及びデコーダの双方でリコンストラクト画像が生成される。リコンストラクト画像のみを再利用するBLRモードは、画像符号化方式の違いの影響を受けない。
 図2は、BLRモードでのスケーラブル符号化について説明するための説明図である。図2の下段には、ベースレイヤ(BL)のリコンストラクト画像IMB1~IMB4が示されている。上記非特許文献2によれば、これらリコンストラクト画像は、必要に応じて、デインターレースされ、及び/又はアップサンプリングされる。図2の中段には、デインターレースされアップサンプリングされたリコンストラクト画像IMU1~IMU4が示されている。図2の上段に示したエンハンスメントレイヤ(EL)の画像IME1~IME4は、リコンストラクト画像IMU1~IMU4を参照することにより符号化され及び復号される。その際、リコンストラクト画像から導かれるパラメータ以外のベースレイヤのパラメータは、再利用されない。
 このように、BLRモードでは、レイヤごとの独立性が強化される。しかしながら、その独立性に起因して、エンハンスメントレイヤにおいて多くのパラメータを符号化することが求められる。結果として、エンハンスメントレイヤにおいて十分な符号化効率が達成されないケースが生じ得る。次に説明するレート制御に関連するパラメータはその一例である。
  [1-3.一般的なレート制御]
 画像の周波数特性は、直交変換の結果として発生する変換係数データのビット数を左右する。符号化ストリームのビットレートを一定に保つために、通常、変換係数データのビット数が多ければ、変換係数データは、より大きい量子化ステップで量子化される。期待されるビットレートを実現するためのレート制御方式の一例は、MPEG2テストモデルにおいて示されている。MPEG2テストモデルでは、まず、GOPに割当てられるビット量と、GOP内の各ピクチャのピクチャタイプ及び複雑度(Global Complexity Measure)とに基づいて、ピクチャごとの割当て符号量が決定される。そして、各ピクチャ内のマクロブロックごとの量子化パラメータ(量子化スケールコード)が、マクロブロックごとに算出されるアクティビティと当該ピクチャの割当て符号量とに基づいて算出される。ここでのアクティビティは、画像の複雑さを表す指標の一種である。なお、MPEG2テストモデルにおけるレート制御方式の詳細は、次のWebページにおいて公開されている。
-参考URL http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.html
 ところで、MPEG2方式では、16×16画素のサイズを有するマクロブロックごとに上述した量子化スケールコードが決定される。HEVC方式においてマクロブロックに相当するLCU(最大符号化単位:Largest Coding Unit)の最大サイズは、64×64画素である。しかし、レート制御の粒度が大き過ぎると、量子化ステップが局所的に画像の複雑さに適合しない領域が生じ得る。例えば、図3において、上段に示された画像の正規化アクティビティを64×64画素の粒度で算出した結果が中段に、当該正規化アクティビティを16×16画素の粒度で算出した結果が下段に示されている。ここでは、より高いアクティビティが白色で示されている。図3から理解されるように、64×64画素の粒度でレート制御を行うと、例えば複雑さが低いにも関わらず大きい量子化ステップで量子化され、又は複雑さが高いにも関わらず小さい量子化ステップでしか量子化されない領域が多く発生し得る。
 上述したブロックサイズに起因する不都合を回避してレート制御を適切に実行するために、HEVC方式では、LCUよりも小さいブロックの単位で量子化ステップを制御する手法が採用されている。より具体的には、上記非特許文献1に記載されたPPS(Picture Parameter Set)のシンタックスを参照すると、cu_qp_delta_enabled_flagがTrueである場合に、diff_cu_qp_delta_depthというサイズ情報によって、量子化ステップを指定する単位となるブロックのサイズが指定される。実際には、量子化ステップの対数がSN(Signal to Noise)比と比例関係にあるため、量子化ステップが直接的に指定される代わりに、量子化パラメータがブロックごとに指定される。量子化パラメータqp(quantization parameter)に対応する量子化ステップをS(qp)とすると、量子化ステップS(qp)が次式を満たすように、量子化パラメータqpと量子化ステップS(qp)との間の関係が定義される。
Figure JPOXMLDOC01-appb-M000003
 HEVC方式では、量子化パラメータ及び量子化ステップのレンジが最適化されるように、変数a=6、変数b=2という値が採用されている。この場合の量子化パラメータqpと量子化ステップS(qp)との間の関係を図4に示す。図4に示したように、量子化パラメータqpの値が6増えるごとに、量子化ステップS(qp)の値は2倍になる。
 より具体的には、上記非特許文献1に記載されたシンタックスを参照すると、PPS内のpic_init_qp_minus26及びスライスヘッダ内のslice_qp_deltaというパラメータによって、量子化パラメータが初期化される(SliceQPY=26+pic_init_qp_minus26+slice_qp_delta)。個々のCU(Coding Unit)の量子化パラメータは、上の隣接CU及び左の隣接CUの一方若しくは双方の量子化パラメータから予測され(CTB内予測)、又は復号順で直前のCUの量子化パラメータから予測される(CTB間予測)。図5には、CTB(Coding Tree Block)内及びCTB間の量子化パラメータの予測における参照関係が例示されている。上の隣接CU及び左の隣接CUの双方が参照可能な場合のCTB内予測では、量子化パラメータの予測値は、上の隣接CU及び左の隣接CUの量子化パラメータ(TopQP,LeftQP)の平均値((TopQP+LeftQP+1)>>1)に等しい。そして、TU(Transform Unit)内のcu_qp_delta_abs及びcu_qp_delta_signにより示される残差を上述した予測値に加算することにより、個々の量子化パラメータの値が算出される。
 このように、HEVC方式の現在の仕様では、レート制御に関連する様々なパラメータが符号化される(例えば、pic_init_qp_minus26、slice_qp_delta、cu_qp_delta_abs及びcu_qp_delta_sign)。上述したBLRモードでも、エンハンスメントレイヤがHEVC方式で符号化される場合には、エンハンスメントレイヤの符号化ストリームにこれらパラメータが含まれ得る。しかしながら、画像の特性のレイヤ間の類似性を活用すれば、BLRモードにおいてレート制御に関連するいくつかのパラメータの符号量を削減することが可能である。そこで、画像の特性のレイヤ間の類似性を活用してエンハンスメントレイヤの符号量を削減する画像処理装置の実施形態について、次節より詳細に説明する。なお、以下の説明では、一例として、エンハンスメントレイヤはHEVC方式で符号化されるものとする。ベースレイヤは、MPEG2方式又はAVC(Advanced Video Coding)方式で符号化されるものとする。しかしながら、本開示に係る技術は、かかる例に限定されず、他の画像符号化方式の組合せにも適用可能である。
  [1-4.エンコーダの基本的な構成例]
 図6は、BLRモードでのスケーラブル符号化をサポートする、一実施形態に係る画像符号化装置10の概略的な構成を示すブロック図である。図6を参照すると、画像符号化装置10は、BL符号化部1a、EL符号化部1b、中間処理部3及び多重化部4を備える。
 BL符号化部1aは、ベースレイヤ画像を符号化し、ベースレイヤの符号化ストリームを生成する。BL符号化部1aは、ローカルデコーダ2を含む。ローカルデコーダ2は、ベースレイヤのリコンストラクト画像を生成する。中間処理部3は、デインターレース部又はアップサンプリング部として機能し得る。中間処理部3は、BL符号化部1aから入力されるベースレイヤのリコンストラクト画像がインターレースされている場合に、当該リコンストラクト画像をデインターレースする。また、中間処理部3は、ベースレイヤとエンハンスメントレイヤとの間の空間解像度の比に従って、リコンストラクト画像をアップサンプリングする。なお、中間処理部3による処理は、省略されてもよい。EL符号化部1bは、エンハンスメントレイヤ画像を符号化し、エンハンスメントレイヤの符号化ストリームを生成する。後に詳細に説明するように、EL符号化部1bは、エンハンスメントレイヤ画像を符号化する際に、ベースレイヤのリコンストラクト画像を再利用する。多重化部4は、BL符号化部1aにより生成されるベースレイヤの符号化ストリームと、EL符号化部1bにより生成されるエンハンスメントレイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する。
  [1-5.デコーダの基本的な構成例]
 図7は、BLRモードでのスケーラブル符号化をサポートする、一実施形態に係る画像復号装置60の概略的な構成を示すブロック図である。図7を参照すると、画像復号装置60は、逆多重化部5、BL復号部6a、EL復号部6b及び中間処理部7を備える。
 逆多重化部5は、マルチレイヤの多重化ストリームをベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームに逆多重化する。BL復号部6aは、ベースレイヤの符号化ストリームからベースレイヤ画像を復号する。中間処理部7は、デインターレース部又はアップサンプリング部として機能し得る。中間処理部7は、BL復号部6aから入力されるベースレイヤのリコンストラクト画像がインターレースされている場合に、当該リコンストラクト画像をデインターレースする。また、中間処理部7は、ベースレイヤとエンハンスメントレイヤとの間の空間解像度の比に従って、リコンストラクト画像をアップサンプリングする。なお、中間処理部7による処理は、省略されてもよい。EL復号部6bは、エンハンスメントレイヤの符号化ストリームからエンハンスメントレイヤ画像を復号する。後に詳細に説明するように、EL復号部6bは、エンハンスメントレイヤ画像を復号する際に、ベースレイヤのリコンストラクト画像を再利用する。
 <2.一実施形態に係るEL符号化部の構成例>
  [2-1.全体的な構成]
 図8は、図6に示したEL符号化部1bの構成の一例を示すブロック図である。図8を参照すると、EL符号化部1bは、並び替えバッファ11、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26及び27、イントラ予測部30、インター予測部35並びに量子化制御部40を備える。
 並び替えバッファ11は、一連の画像データに含まれる画像を並び替える。並び替えバッファ11は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、イントラ予測部30、及びインター予測部35へ出力する。
 減算部13には、並び替えバッファ11から入力される画像データ、及び後に説明するイントラ予測部30又はインター予測部35から入力される予測画像データが供給される。減算部13は、並び替えバッファ11から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から変換係数データが入力されると共に、後に説明する量子化制御部40から量子化パラメータが入力される。量子化部15は、入力される量子化パラメータに対応する量子化ステップで、エンハンスメントレイヤの変換係数データを量子化し、量子化データ(量子化された変換係数データ)を生成する。そして、量子化部15は、量子化データを可逆符号化部16及び逆量子化部21へ出力する。量子化パラメータは、レート制御部18により動的に制御される。
 可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、エンハンスメントレイヤの符号化ストリームを生成する。また、可逆符号化部16は、符号化ストリームを復号する際に参照される様々なパラメータを符号化して、符号化されたパラメータを符号化ストリームのヘッダ領域に挿入する。可逆符号化部16により符号化されるパラメータは、後に説明するイントラ予測に関する情報、インター予測に関する情報及びレート制御関連パラメータを含み得る。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化制御部40へ出力する。レート制御部18は、上述したMPEG2テストモデルと同等のレート制御方式又はその他のレート制御方式に従って、CUごとの量子化パラメータを算出してよい。量子化制御部40へ出力されるレート制御信号は、算出されたCUごとの量子化パラメータを含み得る。
 逆量子化部21、逆直交変換部22及び加算部23は、ローカルデコーダを構成する。逆量子化部21には、量子化部15から量子化データが入力されると共に、後に説明する量子化制御部40から量子化パラメータが入力される。逆量子化部21は、入力される量子化パラメータに対応する量子化ステップで、エンハンスメントレイヤの量子化データを逆量子化し、変換係数データを復元する。そして、逆量子化部21は、復元した変換係数データを逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとイントラ予測部30又はインター予測部35から入力される予測画像データとを加算することにより、復号画像データ(エンハンスメントレイヤのリコンストラクト画像)を生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、デブロックフィルタ24から入力されるフィルタリング後の復号画像データ、及び中間処理部3から入力されるベースレイヤのリコンストラクト画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてインター予測部35に供給する。ベースレイヤのリコンストラクト画像データもまた、イントラ予測部30又はインター予測部35へ供給され得る。
 セレクタ27は、イントラ予測モードにおいて、イントラ予測部30から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、インター予測モードにおいて、インター予測部35から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。セレクタ27は、イントラ予測モードとインター予測モードとを、コスト関数値の大きさに応じて切り替える。
 イントラ予測部30は、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、HEVC方式の予測単位(PU)ごとにイントラ予測処理を行う。例えば、イントラ予測部30は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、イントラ予測部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、イントラ予測部30は、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。そして、イントラ予測部30は、選択した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 インター予測部35は、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、HEVC方式の予測単位ごとにインター予測処理を行う。例えば、インター予測部35は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、インター予測部35は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、インター予測部35は、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。そして、インター予測部35は、選択した最適な予測モードを表す予測モード情報と動き情報とを含むインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 量子化制御部40は、EL符号化部1bにおける量子化処理及び逆量子化処理を制御する。また、量子化制御部40は、レート制御関連パラメータを生成する。より具体的には、量子化制御部40は、量子化及び逆量子化のために使用すべきCUごとの量子化パラメータcu_qpを、量子化部15及び逆量子化部21へ出力する。また、量子化制御部40は、レート制御部18から入力されるレート制御信号に含まれる量子化パラメータに基づいて、スライスごとの量子化パラメータの基準値slice_qpを指定する2つのパラメータpic_init_qp_minus26及びslice_qp_deltaを生成する。なお、pic_init_qp_minus26はピクチャごとに、slice_qp_deltaはスライスごとに算出される。また、量子化制御部40は、BL符号化部1aのローカルデコーダ2により生成されるベースレイヤのリコンストラクト画像を用いて、CUごとの量子化パラメータを予測する。典型的には、量子化パラメータの予測値は、CUごとの基準値と差分予測値との和である。差分予測値は、ベースレイヤのリコンストラクト画像の特性に基づいて決定される。CUごとの量子化パラメータの基準値は、slice_qpそのものであってもよく、又はスライス内で近傍CUの量子化パラメータから予測される予測基準値であってもよい。そして、量子化制御部40は、少なくともpic_init_qp_minus26及びslice_qp_deltaを含み得るレート制御関連パラメータを、可逆符号化部16へ出力する。実際に使用される量子化パラメータcu_qpから予測値を減算することによりCUごとに算出され得る残差もまた、レート制御関連パラメータに含まれてよい。
  [2-2.量子化制御部の第1の構成例]
 図9は、図8に示した量子化制御部40の第1の構成例を示すブロック図である。図9を参照すると、量子化制御部40は、ブロック設定部41、アクティビティ算出部42、アクティビティバッファ43、差分予測部45、基準QP設定部48、QPバッファ49及び残差算出部50を有する。
 ブロック設定部41は、中間処理部3から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する。ブロック設定部41により設定されるブロックのサイズは、パラメータdiff_cu_qp_delta_depthにより指定される。パラメータdiff_cu_qp_delta_depthは、ピクチャごとに設定され、PPS内で符号化され得る。
 アクティビティ算出部42は、ブロック設定部41により設定されるブロックごとに、リコンストラクト画像の複雑さを示すアクティビティを算出する。アクティビティの値は、ブロック内の画素値の分散が大きいほど大きい値をとる。アクティビティ算出部42は、例えば、上述したMPEG2テストモデルに従って、アクティビティを算出してよい。アクティビティ算出部42は、典型的には、アクティビティを、その値が所定のレンジに収まるように正規化する。MPEG2テストモデルでは、正規化されたアクティビティの値のレンジは0.5~2.0である。そして、アクティビティ算出部42は、算出したブロックごとのアクティビティAnormを、アクティビティバッファ43及び差分予測部45へ出力する。
 アクティビティバッファ43は、アクティビティ算出部42から入力されるアクティビティを参照アクティビティとしてバッファリングする。参照アクティビティは、各ブロックのアクティビティを正規化する際に、アクティビティ算出部42により使用される。
 差分予測部45は、アクティビティ算出部42により算出されるブロックごとのアクティビティAnormから、次の式(2)に従って量子化パラメータの差分予測値を決定する。
Figure JPOXMLDOC01-appb-M000004
 式(2)において、Anormは正規化されたアクティビティ、pred_qp_deltaは差分予測値である。量子化パラメータqpに対応する量子化ステップをS(qp)とすると、変数a及びbは上述した式(1)を満たし、一例として、変数a=6、変数b=2であってよい。なお、差分予測部45は、式(2)における対数演算を、予め記憶されるルックアップテーブルを用いて行ってよい。そして、差分予測部45は、ブロックごとに決定した差分予測値pred_qp_deltaを、残差算出部50へ出力する。
 基準QP設定部48は、レート制御部18から入力されるレート制御信号に含まれるCUごとの量子化パラメータcu_qpを取得する。ここで取得される量子化パラメータは、QPバッファ49によりバッファリングされる。そして、基準QP設定部48は、ピクチャごとの量子化パラメータの初期値を指定するパラメータpic_init_qp_minus26を設定する。また、基準QP設定部48は、スライスごとの量子化パラメータの基準値slice_qpと上記初期値との差分を示すパラメータslice_qp_deltaを設定する。なお、これらのパラメータの間には、slice_qp=26+pic_init_qp_minus26+slice_qp_deltaという関係が成立する(詳細は上記非特許文献1を参照されたい)。そして、基準QP設定部48は、設定した2つのパラメータpic_init_qp_minus26及びslice_qp_deltaを可逆符号化部16へ出力する。また、基準QP設定部48は、量子化パラメータの基準値slice_qpを残差算出部50へ出力する。
 なお、残差算出部50へ出力される量子化パラメータの基準値は、レート制御信号に基づいて設定されるslice_qpそのものであってもよい。また、当該基準値は、スライス内の各ブロック(例えば、CU)について、当該ブロックの近傍ブロックに適用された量子化パラメータに基づいて予測される予測基準値であってもよい。ここでの近傍ブロックは、上の及び左の隣接ブロック、並びに復号順で直前のブロックのうちの少なくとも1つを含む。例えば、図5に示した参照関係にように、スライスの先頭のブロックの基準値としてレート制御信号に基づいて設定されるslice_qpそのものが使用され、後続するブロックの基準値として基準QP設定部48により予測される予測基準値が使用されてもよい。上の隣接ブロック及び左のブロックの双方が参照可能な場合には、予測基準値は、上の隣接ブロック及び左の隣接ブロックの量子化パラメータの平均値に等しい。そうでない場合には、予測基準値は、参照可能な近傍ブロックに適用された量子化パラメータに等しい。以下の説明では、説明の簡明さのために、予測基準値もまたパラメータslice_qpにより表されるものとする。
 QPバッファ49は、基準QP設定部48から入力されるCUごとの量子化パラメータcu_qpを参照量子化パラメータとしてバッファリングする。参照量子化パラメータは、各ブロックの量子化パラメータの基準値を予測する際に、基準QP設定部48により使用される。
 残差算出部50は、基準QP設定部48から入力される量子化パラメータの基準値slice_qpと差分予測部45から入力される差分予測値pred_qp_deltaとの和である量子化パラメータの予測値pred_qpをCUごとに算出する。そして、残差算出部50は、量子化部15及び逆量子化部21により実際に使用される量子化パラメータcu_qpから量子化パラメータの予測値pred_qpを減算することにより、CUごとの量子化パラメータの残差resi_qp_deltaを算出する。これらパラメータの間の関係は、次式により表される。
Figure JPOXMLDOC01-appb-M000005
 そして、残差算出部50は、算出した量子化パラメータの残差resi_qp_deltaを可逆符号化部16へ出力する。第1の構成例では、量子化パラメータの基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_delta、並びに残差を指定するパラメータresi_qp_deltaが、可逆符号化部16により符号化される。なお、残差は、その絶対値(abs)と符号(sign)とをそれぞれ指定する2つのパラメータに分離された上で符号化されてもよい。
 第1の構成例において残差算出部50により算出される量子化パラメータの残差は、上記非特許文献1に記載されているパラメータcu_qp_delta_abs及びcu_qp_delta_signにより示される残差と比較して、差分予測値pred_qp_deltaの分だけ減殺されている。従って、可逆符号化を通じて発生するレート制御関連パラメータのための符号量は削減される。
  [2-3.量子化制御部の第2の構成例]
 図10は、図8に示した量子化制御部40の第2の構成例を示すブロック図である。図10を参照すると、量子化制御部40は、ブロック設定部41、平均算出部44、差分予測部46、モデル記憶部47、基準QP設定部48、QPバッファ49及び残差算出部50を有する。
 平均算出部44は、ブロック設定部41により設定されるブロックごとに、リコンストラクト画像のブロック内の平均画素値PAVeを算出する。そして、平均算出部44は、算出したブロックごとの平均画素値PAVeを差分予測部46へ出力する。
 差分予測部46は、平均算出部44により算出された平均画素値と差分予測値との間の予め定義される関係に従って、量子化パラメータの差分予測値をブロックごとに決定する。ここで差分予測部46により利用される平均画素値と差分予測値との間の関係は、例えば、寄書JCTVC-H0477_r1(“On Just Noticeable Distortion Quantization in the HEVC Codec”, Matteo Naccari and Marta Mrak, February 1-10, 2012)に記載されているJND(Just Noticeable Distortion)モデルに従って定義されてよい。JNDモデルによれば、人間の視覚は、白に近い画像領域及び黒に近い画像領域では、中間の画像領域と比較して、画像の歪みに対する識別能力(Noticeability)が低いという特性を有する。従って、白に近い画像領域及び黒に近い画像領域では、中間の画像領域よりも大きい量子化ステップを使用したとしても、そこで生じる画像の歪みはユーザにより感知されにくい。
 図11は、JNDモデルに従って定義される平均画素値と差分予測値との間の関係の一例を示す説明図である。図11に示したグラフの横軸は平均画素値PAVeを、縦軸は差分予測値pred_qp_deltaをそれぞれ表す。当該グラフにおいて、平均画素値PAVeがPよりも小さい区間では、平均画素値PAVeが小さいほど差分予測値pred_qp_deltaは大きくなる。平均画素値PAVeがP以上P以下の区間では、平均画素値PAVeは一定である。平均画素値PAVeがPよりも大きい区間では、平均画素値PAVeが大きいほど差分予測値pred_qp_deltaは大きくなる。差分予測部46は、このようなグラフを参照し、平均算出部44から入力される平均画素値PAVeに対応する差分予測値pred_qp_deltaを取得する。そして、差分予測部46は、取得した差分予測値pred_qp_deltaを、残差算出部50へ出力する。
 モデル記憶部47は、図11に例示したような平均画素値と差分予測値との間の関係を示すグラフを予め記憶する。当該グラフは、各ブロックの差分予測値を取得するために差分予測部46により参照される。
 第2の構成例においても、残差算出部50は、上述した式(3)に従って、実際に使用される量子化パラメータcu_qpと量子化パラメータの予測値pred_qp(基準値slice_qpと差分予測値pred_qp_deltaとの和)との間の残差resi_qp_deltaを算出する。そして、残差算出部50は、算出した量子化パラメータの残差resi_qp_deltaを可逆符号化部16へ出力する。そして、量子化パラメータの基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_delta、並びに残差を指定するパラメータresi_qp_deltaが、可逆符号化部16により符号化される。
 第1の構成例と同様、第2の構成例においても、量子化パラメータの残差は、既存の手法と比較して差分予測値pred_qp_deltaの分だけ減殺されている。従って、可逆符号化を通じて発生するレート制御関連パラメータのための符号量は削減される。
  [2-4.量子化制御部の第3の構成例]
 図12は、図8に示した量子化制御部40の第3の構成例を示すブロック図である。図12を参照すると、量子化制御部40は、ブロック設定部41、アクティビティ算出部42、アクティビティバッファ43、差分予測部45、基準QP設定部51、QPバッファ52及びQP決定部53を有する。
 基準QP設定部51は、レート制御部18から入力されるレート制御信号に含まれるCUごとの量子化パラメータcu_qp_refを取得する。ここで取得される量子化パラメータは、量子化部15及び逆量子化部21により実際に使用される量子化パラメータcu_qpとは必ずしも等しくない。そして、基準QP設定部51は、ピクチャごとの量子化パラメータの初期値を指定するパラメータpic_init_qp_minus26を設定する。また、基準QP設定部51は、スライスごとの量子化パラメータの基準値slice_qpと上記初期値との差分を示すパラメータslice_qp_deltaを設定する。そして、基準QP設定部51は、設定した2つのパラメータpic_init_qp_minus26及びslice_qp_deltaを可逆符号化部16へ出力する。また、基準QP設定部51は、量子化パラメータの基準値slice_qpをQP決定部53へ出力する。第1の構成例及び第2の構成例と同様、量子化パラメータの基準値slice_qpは、近傍ブロックに適用された量子化パラメータに基づいて予測される予測基準値であってもよい。
 QPバッファ52は、QP決定部53から入力されるCUごとの量子化パラメータcu_qpを参照量子化パラメータとしてバッファリングする。参照量子化パラメータは、各ブロックの量子化パラメータの基準値を予測する際に、基準QP設定部51により使用される。
 QP決定部53は、基準QP設定部51から入力される量子化パラメータの基準値slice_qpと差分予測部45から入力される差分予測値pred_qp_deltaとの和である量子化パラメータの予測値pred_qpをCUごとに算出する。第3の構成例では、次式の通り、この予測値pred_qpが、量子化部15及び逆量子化部21により実際に使用される量子化パラメータcu_qpに等しい。即ち、量子化部15は、量子化パラメータの予測値pred_qpに対応する量子化ステップで、変換係数データを量子化する。また、逆量子化部21は、量子化パラメータの予測値pred_qpに対応する量子化ステップで、量子化データを逆量子化する。
Figure JPOXMLDOC01-appb-M000006
 第3の構成例では、量子化パラメータの残差は符号化されず、量子化パラメータの基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_deltaのみがレート制御関連パラメータとして可逆符号化部16により符号化される。従って、レート制御関連パラメータのための符号量は一層削減される。なお、ここでは、図9に示した第1の構成例と同様にブロックごとのアクティビティに基づいて量子化パラメータの予測値が決定される例を説明した。しかしながら、かかる例に限定されず、第2の構成例と同様に、ブロックごとの平均画素値に基づいて量子化パラメータの予測値が決定されてもよい。
 第3の構成例では、量子化部15及び逆量子化部21により実際に使用される量子化パラメータcu_qpは、レート制御部18により算出される量子化パラメータcu_qp_refと必ずしも等しくない。よって、第1の構成例及び第2の構成例と比較して、第3の構成例におけるレート制御は粗いものとなる。従って、例えば、厳密なレート制御が求められない用途(例えば、BD(Blu-ray Disc)又はDVDなどのパッケージメディアへの映像の記録)において、第3の構成例が採用されてもよい。また、固定ビットレートモードにおいて第1の構成例又は第2の構成例のように残差が符号化され、可変ビットレートモードにおいて第3の構成例のように残差の符号化が省略されるというモードの切り替えが実現されてもよい。
  [2-5.追加的なパラメータ]
 量子化制御部40は、量子化及び逆量子化を制御するためのいくつかの追加的なパラメータを生成してもよい。例えば、上記非特許文献1によれば、LCUよりも小さい単位で量子化ステップを指定することが有効か否かを示すフラグcu_qp_delta_enabled_flagが提供される。このフラグに加えて、量子化制御部40は、ベースレイヤのリコンストラクト画像を用いて量子化パラメータを予測すべきことを示す量子化パラメータ予測フラグを生成してもよい。量子化パラメータ予測フラグがFalseを示す場合には、量子化パラメータの予測はスキップされ得る。また、量子化制御部40は、量子化パラメータの差分予測値を決定するための決定手法を指定する決定手法フラグを生成してもよい。例えば、決定手法フラグの第1の値は、ブロックごとのアクティビティに基づく予測に対応し、決定手法フラグの第2の値は、ブロックごとの平均画素値に基づく予測に対応し得る。量子化パラメータ予測フラグ及び決定手法フラグは、量子化制御部40から可逆符号化部16へ出力され、可逆符号化部16により符号化され得る。これら追加的なパラメータが採用されることで、量子化プロセスの柔軟性が高められ、エンコーダ及びデコーダの用途に応じた最適なレート制御が可能となる。
  [2-6.変形例]
 第1の構成例において算出されるブロックごとのアクティビティは、量子化パラメータの予測に限らず、TU(変換単位:Transform Unit)サイズの決定という目的においても有益である。
 図13は、図6に示したEL符号化部1bの構成の一変形例を示すブロック図である。図13を参照すると、EL符号化部1bは、並び替えバッファ11、減算部13、直交変換部114、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部122、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26及び27、イントラ予測部30、インター予測部35並びに変換・量子化制御部140を備える。
 直交変換部114は、減算部13から入力される予測誤差データについて、後に説明する変換・量子化制御部140により決定されるTUサイズを有するTUごとに直交変換を行う。そして、直交変換部114は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 逆直交変換部122は、逆量子化部21から入力される変換係数データについて、後に説明する変換・量子化制御部140により決定されるTUサイズを有するTUごとに逆直交変換を行う。そして、逆直交変換部122は、逆直交変換処理により取得される予測誤差データを加算部23へ出力する。
 変換・量子化制御部140は、EL符号化部1bにおける直交変換処理、逆直交変換処理、量子化処理及び逆量子化処理を制御する。より具体的には、変換・量子化制御部140は、図8に示した量子化制御部40と同様に、量子化及び逆量子化のために使用すべきCUごとの量子化パラメータを、量子化部15及び逆量子化部21へ出力する。また、変換・量子化制御部140は、レート制御部18から入力されるレート制御信号に含まれる量子化パラメータに基づいて、レート制御関連パラメータを生成する。
 また、変換・量子化制御部140は、ベースレイヤのリコンストラクト画像を用いて、エンハンスメントレイヤのための直交変換サイズ(TUサイズ)を制御する。例えば、HEVC方式では、TUサイズは、32×32画素、16×16画素、8×8画素及び4×4画素という4つの候補から選択され得る。TUサイズが大きいほど、直交変換を通じて画像の歪みが生じる可能性は高まる。しかし、画像がより平坦であれば、即ち画像の複雑さがより低ければ、画像の歪みは生じにくい。従って、変換・量子化制御部140は、ベースレイヤのリコンストラクト画像を用いてブロックごとにアクティビティ(例えば、上述した正規化アクティビティAnorm)を算出し、算出したアクティビティの大きさに従ってをTUサイズを決定する。より具体的には、変換・量子化制御部140は、アクティビティのより低いブロックの存在する領域により大きいTUサイズを設定し、アクティビティのより高いブロックの存在する領域により小さいTUサイズを設定する。変換・量子化制御部140は、所定の閾値を上回るアクティビティを示すブロックについて直交変換のスキップ(Transform Skip)を適用することにより、極めて複雑なテクスチャを有する領域の画質の劣化を回避してもよい。
 変換・量子化制御部140は、本変形例において説明したTUサイズの制御を、イントラスライスにのみ適用してもよい。また、変換・量子化制御部140は、TUサイズを切り替えるためにアクティビティと比較される閾値を、(量子化パラメータなどにより示され得る)期待されるビットレートに応じて変化させてもよい。例えば、より低いビットレートが期待される場合には、大きいTUサイズに対応するアクティビティのレンジをより広くすることで、ビットレートを効果的に低減することができる。また、より高いビットレートが許容される場合には、小さいTUサイズに対応するアクティビティのレンジをより広くすることで、画質の劣化を抑制することができる。
 <3.一実施形態に係る符号化時の処理の流れ>
  [3-1.概略的な流れ]
 図14は、一実施形態に係る符号化時の概略的な処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。
 図14を参照すると、まず、BL符号化部1aは、ベースレイヤの符号化処理を実行し、ベースレイヤの符号化ストリームを生成する(ステップS11)。ここで実行される符号化処理において、ローカルデコーダ2は、符号化ストリームを復号して、ベースレイヤのリコンストラクト画像を生成する。
 次に、中間処理部3は、BL符号化部1aから入力されるベースレイヤのリコンストラクト画像がインターレースされている場合に、当該リコンストラクト画像をデインターレースする。また、中間処理部3は、必要に応じて、リコンストラクト画像をアップサンプリングする(ステップS12)。
 次に、EL符号化部1bは、中間処理部3により処理されたリコンストラクト画像を用いて、エンハンスメントレイヤの符号化処理を実行し、エンハンスメントレイヤの符号化ストリームを生成する(ステップS13)。
 次に、多重化部4は、BL符号化部1aにより生成されるベースレイヤの符号化ストリームと、EL符号化部1bにより生成されるエンハンスメントレイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する(ステップS14)。
  [3-2.レート制御に関連する処理]
 図15は、エンハンスメントレイヤの符号化処理(図14のステップS13)におけるレート制御に関連する処理の流れの一例を示すフローチャートである。
 図15を参照すると、まず、レート制御部18は、例えばMPEG2テストモデルと同等のレート制御方式に従って、CUごとの量子化パラメータを算出する(ステップS21)。そして、レート制御部18は、算出した量子化パラメータを含むレート制御信号を、量子化制御部40へ出力する。
 次に、量子化制御部40は、ベースレイヤのリコンストラクト画像を用いて、レート制御関連パラメータ生成処理を実行する(ステップS22)。ここで実行されるレート制御関連パラメータ生成処理の3つの例について、後にさらに説明する。そして、量子化制御部40は、生成したレート制御関連パラメータを可逆符号化部16へ出力する。また、量子化制御部40は、量子化パラメータを量子化部15及び逆量子化部21へ出力する。
 次に、量子化部15は、量子化制御部40から入力される量子化パラメータに対応する量子化ステップで、エンハンスメントレイヤの変換係数データを量子化し、量子化データを生成する(ステップS23)。そして、量子化部15は、量子化データを可逆符号化部16及び逆量子化部21へ出力する。
 次に、可逆符号化部16は、量子化部15から入力される量子化データを符号化して、エンハンスメントレイヤの符号化ストリームを生成する(ステップS24)。また、可逆符号化部16は、量子化制御部40から入力されるレート制御関連パラメータを符号化して、符号化されたパラメータを符号化ストリームのヘッダ領域(例えば、PPS、スライスヘッダ又はTUヘッダ)に挿入する(ステップS25)。そして、可逆符号化部16は、エンハンスメントレイヤの符号化ストリームを蓄積バッファ17へ出力する。
 次に、逆量子化部21は、量子化制御部40から入力される量子化パラメータに対応する量子化ステップで、エンハンスメントレイヤの量子化データを逆量子化し、変換係数データを復元する(ステップS26)。そして、逆量子化部21は、復元した変換係数データを逆直交変換部22へ出力する。
 その後、逆直交変換、フィルタリング、イントラ予測及びインター予測などの後続の処理が実行される。図15に示した処理は、例えば、各エンハンスメントレイヤ画像のLCUなどの単位で繰り返し実行され得る。
  [3-3.レート制御関連パラメータ生成処理]
   (1)第1の構成例
 図16は、図15に示したレート制御関連パラメータ生成処理の詳細な流れの第1の例を示すフローチャートである。ここで説明する第1の例は、図9に示した量子化制御部40の第1の構成例に対応する。
 図16を参照すると、まず、ブロック設定部41は、中間処理部3から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する(ステップS31)。
 次に、アクティビティ算出部42は、ブロック設定部41により設定されたブロックごとに、例えばMPEG2テストモデルに従って、リコンストラクト画像の複雑さを示すアクティビティを算出する(ステップS32)。
 次に、差分予測部45は、アクティビティ算出部42により算出されたブロックごとのアクティビティを用いて、例えば上述した式(2)に従って、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS34)。
 次に、基準QP設定部48及び残差算出部50は、レート制御に従って決定されるブロックごとの量子化パラメータcu_qpを、レート制御部18から取得する(ステップS36)。
 次に、基準QP設定部48は、スライスごとの量子化パラメータの基準値slice_qpを決定し、決定した基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_deltaを生成する(ステップS38)。
 次に、残差算出部50は、各ブロックが属するスライスに、基準QP設定部48により設定された量子化パラメータの基準値slice_qpを、基準QP設定部48から取得する(ステップS39)。
 そして、残差算出部50は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとの和である予測値pred_qpを、実際に使用される量子化パラメータcu_qpから減算することにより、ブロックごとの残差resi_qp_deltaを算出する(ステップS40)。
   (2)第2の構成例
 図17は、図15に示したレート制御関連パラメータ生成処理の詳細な流れの第2の例を示すフローチャートである。ここで説明する第2の例は、図10に示した量子化制御部40の第2の構成例に対応する。
 図17を参照すると、まず、ブロック設定部41は、中間処理部3から入力されるベースレイヤのリコンストラクト画像に、平均画素値を算出する単位となるブロックを設定する(ステップS31)。
 次に、平均算出部44は、ブロック設定部41により設定されたブロックごとに、リコンストラクト画像のブロック内の平均画素値を算出する(ステップS33)。
 次に、差分予測部46は、平均算出部44により算出された平均画素値とモデル記憶部47により予め記憶されるグラフ(例えば、図11に例示したようなJNDモデルに従って定義されるグラフ)とを用いて、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS35)。
 次に、基準QP設定部48及び残差算出部50は、レート制御に従って決定されるブロックごとの量子化パラメータcu_qpを、レート制御部18から取得する(ステップS36)。
 次に、基準QP設定部48は、スライスごとの量子化パラメータの基準値slice_qpを決定し、決定した基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_deltaを生成する(ステップS38)。
 次に、残差算出部50は、各ブロックが属するスライスに、基準QP設定部48により設定された量子化パラメータの基準値slice_qpを、基準QP設定部48から取得する(ステップS39)。
 そして、残差算出部50は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとの和である予測値pred_qpを、実際に使用される量子化パラメータcu_qpから減算することにより、ブロックごとの残差resi_qp_deltaを算出する(ステップS40)。
   (3)第3の構成例
 図18は、図15に示したレート制御関連パラメータ生成処理の詳細な流れの第3の例を示すフローチャートである。ここで説明する第3の例は、図12に示した量子化制御部40の第3の構成例に対応する。
 図18を参照すると、まず、ブロック設定部41は、中間処理部3から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する(ステップS31)。
 次に、アクティビティ算出部42は、ブロック設定部41により設定されたブロックごとに、例えばMPEG2テストモデルに従って、リコンストラクト画像の複雑さを示すアクティビティを算出する(ステップS32)。
 次に、差分予測部45は、アクティビティ算出部42により算出されたブロックごとのアクティビティを用いて、例えば上述した式(2)に従って、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS34)。
 次に、基準QP設定部51は、レート制御に従って決定されるブロックごとの量子化パラメータcu_qp_refを、レート制御部18から取得する(ステップS37)。
 次に、基準QP設定部51は、スライスごとの量子化パラメータの基準値slice_qpを決定し、決定した基準値を指定するパラメータpic_init_qp_minus26及びslice_qp_deltaを生成する(ステップS38)。
 次に、QP決定部53は、各ブロックが属するスライスに、基準QP設定部48により設定された量子化パラメータの基準値slice_qpを、基準QP設定部51から取得する(ステップS41)。
 そして、QP決定部53は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとを加算することにより、ブロックごとに予測値pred_qpを算出する(ステップS42)。ここで算出される予測値pred_qpは、量子化部15及び逆量子化部21により実際に使用される量子化パラメータcu_qpに等しい。
 <4.一実施形態に係るEL復号部の構成例>
  [4-1.全体的な構成]
 図19は、図7に示したEL復号部6bの構成の一例を示すブロック図である。図19を参照すると、EL復号部6bは、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部75、インター予測部80並びに逆量子化制御部85を備える。
 蓄積バッファ61は、逆多重化部5から入力されるエンハンスメントレイヤの符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力されるエンハンスメントレイヤの符号化ストリームから、符号化の際に使用された符号化方式に従ってエンハンスメントレイヤの量子化データを復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に挿入されている情報を復号する。可逆復号部62により復号される情報は、例えば、イントラ予測に関する情報、インター予測に関する情報及びレート制御関連パラメータを含み得る。可逆復号部62は、イントラ予測に関する情報をイントラ予測部75へ出力する。また、可逆復号部62は、インター予測に関する情報をインター予測部80へ出力する。また、可逆復号部62は、量子化データを逆量子化部63へ出力すると共に、レート制御関連パラメータを逆量子化制御部85へ出力する。
 逆量子化部63は、可逆復号部62から入力される量子化データを、逆量子化制御部85から入力される量子化パラメータに対応する量子化ステップで逆量子化し、エンハンスメントレイヤの変換係数データを復元する。そして、逆量子化部63は、復元した変換係数データを逆直交変換部64へ出力する。
 逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
 並び替えバッファ67は、デブロックフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、エンハンスメントレイヤの画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、デブロックフィルタ66から入力されるフィルタリング後の復号画像データ、及び中間処理部7から入力されるベースレイヤのリコンストラクト画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部75とインター予測部80との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部75へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フィルタリング後の復号画像データを参照画像データとしてインター予測部80へ出力する。ベースレイヤのリコンストラクト画像データもまた、イントラ予測部75又はインター予測部80へ供給され得る。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元をイントラ予測部75とインター予測部80との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部75から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、インター予測モードが指定された場合には、インター予測部80から出力される予測画像データを加算部65へ供給する。
 イントラ予測部75は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤのイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部75は、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 インター予測部80は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤの動き補償処理を行い、予測画像データを生成する。そして、インター予測部80は、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 逆量子化制御部85は、可逆復号部62により復号されるレート制御関連パラメータを用いて、EL復号部6bにおける逆量子化処理を制御する。より具体的には、逆量子化制御部85は、レート制御関連パラメータを用いてCUごとの量子化パラメータcu_qpを決定し、決定した量子化パラメータcu_qpを逆量子化部63へ出力する。例えば、レート制御関連パラメータは、スライスごとの量子化パラメータの基準値slice_qpを指定する2つのパラメータpic_init_qp_minus26及びslice_qp_deltaを含む。逆量子化制御部85は、これら2つのパラメータを用いて、量子化パラメータの基準値slice_qpを決定する。なお、pic_init_qp_minus26はピクチャごとに、slice_qp_deltaはスライスごとに復号され得る。また、逆量子化制御部85は、BL復号部6aにより生成されるベースレイヤのリコンストラクト画像を用いて、CUごとの量子化パラメータを予測する。典型的には、量子化パラメータの予測値は、CUごとの基準値と差分予測値との和である。差分予測値は、ベースレイヤのリコンストラクト画像の特性に基づいて決定される。CUごとの量子化パラメータの基準値は、スライス内で近傍CUの量子化パラメータから予測される予測基準値であってもよい。実際に使用される量子化パラメータcu_qpは、量子化パラメータの基準値と差分予測値との和に等しくてもよい。その代わりに、量子化パラメータcu_qpは、可逆復号部62により復号され得る残差を、量子化パラメータの基準値と差分予測値との和に加算した値であってもよい。
  [4-2.逆量子化制御部の第1の構成例]
 図20は、図19に示した逆量子化制御部85の第1の構成例を示すブロック図である。図20を参照すると、逆量子化制御部85は、ブロック設定部86、アクティビティ算出部87、アクティビティバッファ88、差分予測部90、基準QP設定部93、QPバッファ94及びQP算出部95を有する。
 ブロック設定部86は、中間処理部7から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する。ブロック設定部86により設定されるブロックのサイズは、サイズ情報に相当するパラメータdiff_cu_qp_delta_depthにより指定される。パラメータdiff_cu_qp_delta_depthは、ピクチャごとに可逆復号部62により復号され得る。
 アクティビティ算出部87は、ブロック設定部86により設定されるブロックごとに、リコンストラクト画像の複雑さを示すアクティビティを算出する。アクティビティの値は、ブロック内の画素値の分散が大きいほど大きい値をとる。アクティビティ算出部87は、例えば、上述したMPEG2テストモデルに従って、アクティビティを算出してよい。アクティビティ算出部87は、典型的には、アクティビティを、その値が所定のレンジに収まるように正規化する。MPEG2テストモデルでは、正規化されたアクティビティの値のレンジは0.5~2.0である。そして、アクティビティ算出部87は、算出したブロックごとのアクティビティAnormを、アクティビティバッファ88及び差分予測部90へ出力する。
 アクティビティバッファ88は、アクティビティ算出部87から入力されるアクティビティを参照アクティビティとしてバッファリングする。参照アクティビティは、各ブロックのアクティビティを正規化する際に、アクティビティ算出部87により使用される。
 差分予測部90は、アクティビティ算出部87により算出されるブロックごとのアクティビティAnormから、上述した式(2)に従って量子化パラメータの差分予測値pred_qp_deltaを決定する。なお、差分予測部90は、式(2)における対数演算を、予め記憶されるルックアップテーブルを用いて実行してよい。そして、差分予測部90は、ブロックごとに決定した差分予測値pred_qp_deltaを、QP算出部95へ出力する。
 基準QP設定部93は、可逆復号部62により復号されるレート制御関連パラメータpic_init_qp_minus26及びslice_qp_deltaを取得する。パラメータpic_init_qp_minus26は、ピクチャごとの量子化パラメータの初期値を指定する。パラメータslice_qp_deltaは、スライスごとの量子化パラメータの基準値slice_qpと上記初期値との差分を指定する。そして、基準QP設定部93は、これらパラメータを用いてスライスごとに算出される量子化パラメータの基準値slice_qpを、QP算出部95へ出力する。
 なお、基準QP設定部93は、スライスごとの量子化パラメータの基準値slice_qpを、スライス内の各ブロック(例えば、CU)について、当該ブロックの近傍ブロックに適用された量子化パラメータに基づいて予測してもよい。ここでの近傍ブロックは、上の及び左の隣接ブロック、並びに復号順で直前のブロックのうちの少なくとも1つを含む。例えば、スライスの先頭のブロックの基準値としてレート制御関連パラメータにより指定されるslice_qpが使用され、後続するブロックの基準値として基準QP設定部93により予測される予測基準値が使用されてもよい(図5参照)。上の隣接ブロック及び左のブロックの双方が参照可能な場合には、予測基準値は、上の隣接ブロック及び左の隣接ブロックの量子化パラメータの平均値に等しい。そうでない場合には、予測基準値は、参照可能な近傍ブロックに適用された量子化パラメータに等しい。
 QPバッファ94は、QP算出部95から入力されるCUごとの量子化パラメータcu_qpを参照量子化パラメータとしてバッファリングする。参照量子化パラメータは、各ブロックの量子化パラメータの基準値を予測する際に、基準QP設定部93により使用される。
 QP算出部95は、基準QP設定部93から入力される量子化パラメータの基準値slice_qpと差分予測部90から入力される差分予測値pred_qp_deltaとを加算することにより、量子化パラメータの予測値pred_qpをCUごとに算出する。また、QP算出部95は、可逆復号部62により復号される量子化パラメータの残差resi_qp_deltaを、可逆復号部62から取得する。そして、QP算出部95は、量子化パラメータの予測値pred_qpと取得した残差resi_qp_deltaとの和に等しい量子化パラメータcu_qpを、上述した式(3)に従って算出する。そして、QP算出部95は、CUごとに算出される量子化パラメータcu_qpを、QPバッファ94及び逆量子化部63へ出力する。
 第1の構成例において可逆復号部62により復号される量子化パラメータの残差は、上記非特許文献1に記載されているパラメータcu_qp_delta_abs及びcu_qp_delta_signにより示される残差と比較して、差分予測値pred_qp_deltaの分だけ減殺されている。即ち、エンハンスメントレイヤの符号化ストリーム内のレート制御関連パラメータの符号量は、既存の手法と比較して少ない。
  [4-3.逆量子化制御部の第2の構成例]
 図21は、図19に示した逆量子化制御部85の第2の構成例を示すブロック図である。図21を参照すると、逆量子化制御部85は、ブロック設定部86、平均算出部89、差分予測部91、モデル記憶部92、基準QP設定部93、QPバッファ94及びQP算出部95を有する。
 平均算出部89は、ブロック設定部86により設定されるブロックごとに、リコンストラクト画像のブロック内の平均画素値PAVeを算出する。そして、平均算出部89は、算出したブロックごとの平均画素値PAVeを差分予測部91へ出力する。
 差分予測部91は、平均算出部89により算出された平均画素値と差分予測値との間の予め定義される関係に従って、量子化パラメータの差分予測値をブロックごとに決定する。ここで差分予測部91により利用される平均画素値と差分予測値との間の関係は、例えば、上述した寄書JCTVC-H0477_r1に記載されているJNDモデルに従って定義されてよい。差分予測部91は、例えば、図11に例示したようなJNDモデルのグラフを参照し、平均算出部89から入力される平均画素値PAVeに対応する差分予測値pred_qp_deltaを取得する。そして、差分予測部91は、取得した差分予測値pred_qp_deltaを、QP算出部95へ出力する。
 モデル記憶部92は、平均画素値と差分予測値との間の関係を示すグラフ(例えば、JNDモデルのグラフ)を予め記憶する。当該グラフは、各ブロックの差分予測値を取得するために差分予測部91により参照される。
 第2の構成例においても、QP算出部95は、基準QP設定部93から入力される量子化パラメータの基準値slice_qpと差分予測部91から入力される差分予測値pred_qp_deltaとを加算することにより、量子化パラメータの予測値pred_qpをCUごとに算出する。また、QP算出部95は、可逆復号部62により復号される量子化パラメータの残差resi_qp_deltaを、可逆復号部62から取得する。そして、QP算出部95は、量子化パラメータの予測値pred_qpと取得した残差resi_qp_deltaとの和に等しい量子化パラメータcu_qpを、上述した式(3)に従って算出する。そして、QP算出部95は、CUごとに算出される量子化パラメータcu_qpを、QPバッファ94及び逆量子化部63へ出力する。
 第1の構成例と同様、第2の構成例においても、量子化パラメータの残差は、既存の手法と比較して差分予測値pred_qp_deltaの分だけ減算されている。即ち、エンハンスメントレイヤの符号化ストリーム内のレート制御関連パラメータの符号量は、既存の手法と比較して少ない。
  [4-4.逆量子化制御部の第3の構成例]
 図22は、図19に示した逆量子化制御部85の第3の構成例を示すブロック図である。図22を参照すると、逆量子化制御部85は、ブロック設定部86、アクティビティ算出部87、アクティビティバッファ88、差分予測部90、基準QP設定部93、QPバッファ94及びQP算出部96を有する。
 QP算出部96は、基準QP設定部93から入力される量子化パラメータの基準値slice_qpと差分予測部90から入力される差分予測値pred_qp_deltaとを加算することにより、量子化パラメータの予測値pred_qpをCUごとに算出する。第3の構成例において、この予測値pred_qpは、上述した式(4)に示した通り、逆量子化部63により実際に使用される量子化パラメータcu_qpに等しい。そして、QP算出部96は、算出した量子化パラメータcu_qp(=pred_qpを)、QPバッファ94及び逆量子化部63へ出力する。この場合、逆量子化部63は、量子化パラメータの予測値pred_qpに対応する量子化ステップで、エンハンスメントレイヤの量子化データを逆量子化する。
 第3の構成例では、量子化パラメータの残差は符号化ストリーム内に符号化されない。従って、レート制御関連パラメータのための符号量は一層削減される。なお、ここでは、図20に示した第1の構成例と同様にブロックごとのアクティビティに基づいて量子化パラメータの予測値が決定される例を説明した。しかしながら、かかる例に限定されず、第2の構成例と同様に、ブロックごとの平均画素値に基づいて量子化パラメータの予測値が決定されてもよい。
  [4-5.追加的なパラメータ]
 可逆復号部62は、逆量子化を制御するためのいくつかの追加的なパラメータをエンハンスメントレイヤの符号化ストリームから復号してもよい。例えば、可逆復号部62は、上記非特許文献1に記載されたフラグcu_qp_delta_enabled_flagを復号する。このフラグがTrueを示している場合に、LCUよりも小さい単位で量子化ステップが指定される。また、可逆復号部62は、上述した量子化パラメータ予測フラグを復号し得る。逆量子化制御部85は、復号された量子化パラメータ予測フラグがTrueを示している場合に、ベースレイヤのリコンストラクト画像を用いて、エンハンスメントレイヤの量子化パラメータを予測し得る。また、可逆復号部62は、上述した決定手法フラグを復号してもよい。例えば、決定手法フラグの第1の値は、ブロックごとのアクティビティに基づく予測に対応し、決定手法フラグの第2の値は、ブロックごとの平均画素値に基づく予測に対応し得る。逆量子化制御部85は、決定手法フラグに従って、差分予測値pred_qp_deltaを決定するための手法を切り替える。これら追加的なパラメータが採用されることで、逆量子化プロセスの柔軟性が高められ、エンコーダ及びデコーダの用途に応じた最適なレート制御が可能となる。
  [4-6.変形例]
 図23は、図13に示したEL符号化部1bにより生成されるエンハンスメントレイヤの符号化ストリームを復号する、EL復号部6bの構成の一変形例を示すブロック図である。図23を参照すると、EL復号部6bは、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部164、加算部65、デブロックフィルタ66、並び替えバッファ67、D/A変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部75、インター予測部80並びに逆量子化・変換制御部185を備える。
 逆直交変換部164は、逆量子化部63から入力される変換係数データについて、後に説明する逆量子化・変換制御部185により決定されるTUサイズを有するTUごとに逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部164は、生成した予測誤差データを加算部65へ出力する。
 逆量子化・変換制御部185は、可逆復号部62により復号されるレート制御関連パラメータを用いて、EL復号部6bにおける逆量子化処理を制御する。より具体的には、逆量子化制御部85は、図19に示した逆量子化制御部85と同様に、レート制御関連パラメータを用いてCUごとの量子化パラメータcu_qpを決定し、決定した量子化パラメータcu_qpを逆量子化部63へ出力する。
 また、逆量子化・変換制御部185は、ベースレイヤのリコンストラクト画像を用いて、エンハンスメントレイヤのための直交変換サイズ(TUサイズ)を制御する。例えば、逆量子化・変換制御部185は、ベースレイヤのリコンストラクト画像を用いてブロックごとにアクティビティ(例えば、上述した正規化アクティビティAnorm)を算出し、算出したアクティビティの大きさに従ってをTUサイズを決定する。より具体的には、逆量子化・変換制御部185は、アクティビティのより低いブロックの存在する領域により大きいTUサイズを設定し、アクティビティのより高いブロックの存在する領域により小さいTUサイズを設定する。逆量子化・変換制御部185は、所定の閾値を上回るアクティビティを示すブロックについて逆直交変換のスキップ(Transform Skip)を適用してもよい。
 逆量子化・変換制御部185は、本変形例において説明したTUサイズの制御を、イントラスライスにのみ適用してもよい。また、逆量子化・変換制御部185は、TUサイズを切り替えるためにアクティビティと比較される閾値を、量子化パラメータに応じて変化させてもよい。例えば、逆量子化・変換制御部185は、より大きい量子化パラメータが使用される場合には、より大きいTUサイズをエンハンスメントレイヤ画像に設定する。また、逆量子化・変換制御部185は、より小さい量子化パラメータが使用される場合には、より小さいTUサイズをエンハンスメントレイヤ画像に設定する。
 <5.一実施形態に係る復号時の処理の流れ>
  [5-1.概略的な流れ]
 図24は、一実施形態に係る復号時の概略的な処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。
 図24を参照すると、まず、逆多重化部5は、マルチレイヤの多重化ストリームをベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームに逆多重化する(ステップS60)。
 次に、BL復号部6aは、ベースレイヤの復号処理を実行し、ベースレイヤの符号化ストリームからベースレイヤ画像を再構築する(ステップS61)。ここで再構築されるベースレイヤ画像は、リコンストラクト画像として中間処理部7へ出力される。
 次に、中間処理部7は、BL復号部6aから入力されるベースレイヤのリコンストラクト画像がインターレースされている場合に、当該リコンストラクト画像をデインターレースする。また、中間処理部7は、必要に応じて、リコンストラクト画像をアップサンプリングする(ステップS62)。
 次に、EL復号部6bは、中間処理部7により処理されたリコンストラクト画像を用いて、エンハンスメントレイヤの復号処理を実行し、エンハンスメントレイヤ画像を再構築する(ステップS63)。
  [5-2.レート制御に関連する処理]
 図25は、エンハンスメントレイヤの復号処理(図24のステップS63)におけるレート制御に関連する処理の流れの一例を示すフローチャートである。
 図25を参照すると、まず、可逆復号部62は、符号化ストリームのヘッダ領域に挿入されているレート制御関連パラメータを復号する(ステップS71)。ここで復号されるレート制御関連パラメータは、例えば、量子化パラメータの基準値を指定するパラメータ及び量子化パラメータの残差を指定するパラメータを含み得る。上述した追加的なパラメータもまた復号されてよい。そして、可逆復号部62は、復号したレート制御関連パラメータを逆量子化制御部85へ出力する。
 次に、逆量子化制御部85は、ベースレイヤのリコンストラクト画像を用いて、量子化パラメータ再構築処理を実行する(ステップS72)。ここで実行される量子化パラメータ再構築処理の3つの例について、後にさらに説明する。そして、逆量子化制御部85は、再構築した量子化パラメータを逆量子化部63へ出力する。
 次に、可逆復号部62は、エンハンスメントレイヤの符号化ストリームから、エンハンスメントレイヤの量子化データを復号する(ステップS73)。そして、可逆復号部62は、復号した量子化データを逆量子化部63へ出力する。
 次に、逆量子化部63は、逆量子化制御部85から入力される量子化パラメータに対応する量子化ステップで、エンハンスメントレイヤの量子化データを逆量子化し、変換係数データを復元する(ステップS74)。そして、逆量子化部63は、復元した変換係数データを逆直交変換部64へ出力する。
 その後、逆直交変換、予測画像と予測誤差との加算、及びフィルタリングなどの後続の処理が実行される。図25に示した処理は、例えば、各エンハンスメントレイヤ画像のLCUなどの単位で繰り返し実行され得る。
  [5-3.量子化パラメータ再構築処理]
   (1)第1の構成例
 図26は、図25に示した量子化パラメータ再構築処理の詳細な流れの第1の例を示すフローチャートである。ここで説明する第1の例は、図20に示した逆量子化制御部85の第1の構成例に対応する。
 図26を参照すると、まず、ブロック設定部86は、中間処理部7から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する(ステップS81)。
 次に、アクティビティ算出部87は、ブロック設定部86により設定されたブロックごとに、例えばMPEG2テストモデルに従って、リコンストラクト画像の複雑さを示すアクティビティを算出する(ステップS82)。
 次に、差分予測部90は、アクティビティ算出部87により算出されたブロックごとのアクティビティを用いて、例えば上述した式(2)に従って、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS84)。
 次に、基準QP設定部93は、各ブロックが属するスライスに、量子化パラメータの基準値slice_qpを設定する(ステップS86)。量子化パラメータの基準値slice_qpは、可逆復号部62により復号されるパラメータpic_init_qp_minus26及びslice_qp_deltaにより指定され得る。また、あるブロックについての量子化パラメータの基準値slice_qpは、近傍ブロックに適用される量子化パラメータから予測されてもよい。
 次に、QP算出部95は、可逆復号部62により復号される量子化パラメータの残差resi_qp_deltaを、ブロックごとに可逆復号部62から取得する(ステップS88)。
 次に、QP算出部95は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとの和である予測値pred_qpに残差resi_qp_deltaを加算することにより、ブロックごとの量子化パラメータcu_qpを算出する(ステップS89)。
   (2)第2の構成例
 図27は、図25に示した量子化パラメータ再構築処理の詳細な流れの第2の例を示すフローチャートである。ここで説明する第2の例は、図21に示した逆量子化制御部85の第2の構成例に対応する。
 図27を参照すると、まず、ブロック設定部86は、中間処理部7から入力されるベースレイヤのリコンストラクト画像に、平均画素値を算出する単位となるブロックを設定する(ステップS81)。
 次に、平均算出部89は、ブロック設定部86により設定されたブロックごとに、リコンストラクト画像のブロック内の平均画素値を算出する(ステップS83)。
 次に、差分予測部91は、平均算出部89により算出されたブロックごとの平均画素値とモデル記憶部92により予め記憶されるグラフとを用いて、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS85)。
 次に、基準QP設定部93は、各ブロックが属するスライスに、量子化パラメータの基準値slice_qpを設定する(ステップS86)。
 次に、QP算出部95は、可逆復号部62により復号される量子化パラメータの残差resi_qp_deltaを、ブロックごとに可逆復号部62から取得する(ステップS88)。
 次に、QP算出部95は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとの和である予測値pred_qpに残差resi_qp_deltaを加算することにより、ブロックごとの量子化パラメータcu_qpを算出する(ステップS89)。
   (3)第3の構成例
 図28は、図25に示した量子化パラメータ再構築処理の詳細な流れの第3の例を示すフローチャートである。ここで説明する第3の例は、図22に示した逆量子化制御部85の第3の構成例に対応する。
 図28を参照すると、まず、ブロック設定部86は、中間処理部7から入力されるベースレイヤのリコンストラクト画像に、アクティビティを算出する単位となるブロックを設定する(ステップS81)。
 次に、アクティビティ算出部87は、ブロック設定部86により設定されたブロックごとに、例えばMPEG2テストモデルに従って、リコンストラクト画像の複雑さを示すアクティビティを算出する(ステップS82)。
 次に、差分予測部90は、アクティビティ算出部87により算出されたブロックごとのアクティビティを用いて、例えば上述した式(2)に従って、量子化パラメータの差分予測値pred_qp_deltaを決定する(ステップS84)。
 次に、基準QP設定部93は、各ブロックが属するスライスに、量子化パラメータの基準値slice_qpを設定する(ステップS86)。
 次に、QP算出部96は、量子化パラメータの基準値slice_qpと差分予測値pred_qp_deltaとを加算することにより、ブロックごとの量子化パラメータcu_qpを算出する(ステップS90)。
 <6.コーデックの組合せの例>
 本開示に係る技術は、様々なコーデックの組合せでのスケーラブル符号化に適用可能である。多重化されるレイヤの数は、2つ以上のいかなる数であってもよい。但し、標準化されていないコーデックの組合せが利用されると、デコーダが正常に動作しない可能性が生じ得る。そこで、予め定義されるコーデックの組合せのみが、階層的に符号化されることを許容されてもよい。その代わりに、いくつかのコーデックの組合せが、階層的に符号化されることを禁止されてもよい。
 図29A及び図29Bは、許容され又は禁止され得るコーデックの組合せについて説明するための説明図である。
 図29Aを参照すると、最も下位の第1のレイヤL10から最も上位の第5のレイヤL14までの5つのレイヤが示されている。第1のレイヤL10及び第2のレイヤL11は、MPEG2方式で符号化される。第3のレイヤL12及び第4のレイヤL13は、AVC方式で符号化される。第5のレイヤL14は、HEVC方式で符号化される。これらレイヤのうち、第1のレイヤL10及び第2のレイヤL11を階層的に符号化することは、コーデックが共通しているため、許容される。第2のレイヤL11及び第3のレイヤL12を階層的に符号化することは、MPEG2方式とAVC方式との組合せが標準化されていないため、禁止され得る。第3のレイヤL12及び第4のレイヤL13を階層的に符号化することは、コーデックが共通しているため、許容される。第4のレイヤL13及び第5のレイヤL14を階層的に符号化することは、AVC方式とHEVC方式との組合せが標準化されるため、許容される。図29Aの例では、第1のレイヤL10及び第2のレイヤL11の多重化ストリームと、第3のレイヤL12、第4のレイヤL13及び第5のレイヤL14の多重化ストリームとは、スケーラブル符号化ではなく、サイマルキャスト符号化(simulcast-coding)によって多重化され得る。
 図29Bを参照すると、最も下位の第1のレイヤL20から最も上位の第5のレイヤL24までの5つのレイヤが示されている。第1のレイヤL20及び第2のレイヤL21は、AVC方式で符号化される。第3のレイヤL22及び第4のレイヤL23は、MPEG2方式で符号化される。第5のレイヤL24は、HEVC方式で符号化される。これらレイヤのうち、第1のレイヤL20及び第2のレイヤL21を階層的に符号化することは、コーデックが共通しているため、許容される。第2のレイヤL21及び第3のレイヤL22を階層的に符号化することは、AVC方式とMPEG2方式との組合せが標準化されていないため、禁止され得る。第3のレイヤL22及び第4のレイヤL23を階層的に符号化することは、コーデックが共通しているため、許容される。第4のレイヤL23及び第5のレイヤL24を階層的に符号化することは、MPEG2方式とHEVC方式との組合せが標準化されるため、許容される。図29Bの例では、第1のレイヤL20及び第2のレイヤL21の多重化ストリームと、第3のレイヤL22、第4のレイヤL23及び第5のレイヤL24の多重化ストリームとは、スケーラブル符号化ではなく、サイマルキャスト符号化によって多重化され得る。
 <7.応用例>
  [7-1.様々な製品への応用]
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
   (1)第1の応用例
 図30は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900での画像のスケーラブル復号に際して、複数のレイヤがBLRスケーラビリティを実装する場合に、リコンストラクト画像の再利用の仕方を改善してエンハンスメントレイヤの符号量を削減することができる。
   (2)第2の応用例
 図31は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920での画像のスケーラブル符号化及び復号に際して、複数のレイヤがBLRスケーラビリティを実装する場合に、リコンストラクト画像の再利用の仕方を改善してエンハンスメントレイヤの符号量を削減することができる。
   (3)第3の応用例
 図32は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940での画像のスケーラブル符号化及び復号に際して、複数のレイヤがBLRスケーラビリティを実装する場合に、リコンストラクト画像の再利用の仕方を改善してエンハンスメントレイヤの符号量を削減することができる。
   (4)第4の応用例
 図33は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960での画像のスケーラブル符号化及び復号に際して、複数のレイヤがBLRスケーラビリティを実装する場合に、リコンストラクト画像の再利用の仕方を改善してエンハンスメントレイヤの符号量を削減することができる。
  [7-2.スケーラブル符号化の様々な用途]
 上述したスケーラブル符号化の利点は、様々な用途において享受され得る。以下、3つの用途の例について説明する。
   (1)第1の例
 第1の例において、スケーラブル符号化は、データの選択的な伝送のために利用される。図34を参照すると、データ伝送システム1000は、ストリーム記憶装置1001及び配信サーバ1002を含む。配信サーバ1002は、ネットワーク1003を介して、いくつかの端末装置と接続される。ネットワーク1003は、有線ネットワークであっても無線ネットワークであってもよく、又はそれらの組合せであってもよい。図34には、端末装置の例として、PC(Personal Computer)1004、AV機器1005、タブレット装置1006及び携帯電話機1007が示されている。
 ストリーム記憶装置1001は、例えば、画像符号化装置10により生成される多重化ストリームを含むストリームデータ1011を記憶する。多重化ストリームは、ベースレイヤ(BL)の符号化ストリーム及びエンハンスメントレイヤ(EL)の符号化ストリームを含む。配信サーバ1002は、ストリーム記憶装置1001に記憶されているストリームデータ1011を読み出し、読み出したストリームデータ1011の少なくとも一部分を、ネットワーク1003を介して、PC1004、AV機器1005、タブレット装置1006、及び携帯電話機1007へ配信する。
 端末装置へのストリームの配信の際、配信サーバ1002は、端末装置の能力又は通信環境などの何らかの条件に基づいて、配信すべきストリームを選択する。例えば、配信サーバ1002は、端末装置が扱うことのできる画質を上回るほど高い画質を有する符号化ストリームを配信しないことにより、端末装置における遅延、オーバフロー又はプロセッサの過負荷の発生を回避してもよい。また、配信サーバ1002は、高い画質を有する符号化ストリームを配信しないことにより、ネットワーク1003の通信帯域が占有されることを回避してもよい。一方、配信サーバ1002は、これら回避すべきリスクが存在しない場合、又はユーザとの契約若しくは何らかの条件に基づいて適切だと判断される場合に、多重化ストリームの全てを端末装置へ配信してもよい。
 図34の例では、配信サーバ1002は、ストリーム記憶装置1001からストリームデータ1011を読み出す。そして、配信サーバ1002は、高い処理能力を有するPC1004へ、ストリームデータ1011をそのまま配信する。また、AV機器1005は低い処理能力を有するため、配信サーバ1002は、ストリームデータ1011から抽出されるベースレイヤの符号化ストリームのみを含むストリームデータ1012を生成し、ストリームデータ1012をAV機器1005へ配信する。また、配信サーバ1002は、高い通信レートで通信可能であるタブレット装置1006へストリームデータ1011をそのまま配信する。また、携帯電話機1007は低い通信レートでしか通信できないため、配信サーバ1002は、ベースレイヤの符号化ストリームのみを含むストリームデータ1012を携帯電話機1007へ配信する。
 このように多重化ストリームを用いることにより、伝送されるトラフィックの量を適応的に調整することができる。また、個々のレイヤがそれぞれ単独に符号化されるケースと比較して、ストリームデータ1011の符号量は削減されるため、ストリームデータ1011の全体が配信されるとしても、ネットワーク1003に掛かる負荷は抑制される。さらに、ストリーム記憶装置1001のメモリリソースも節約される。
 端末装置のハードウエア性能は、装置ごとに異なる。また、端末装置において実行されるアプリケーションのケイパビリティも様々である。さらに、ネットワーク1003の通信容量もまた様々である。データ伝送のために利用可能な容量は、他のトラフィックの存在に起因して、時々刻々と変化し得る。そこで、配信サーバ1002は、ストリームデータの配信を開始する前に、配信先の端末装置との間のシグナリングを通じて、端末装置のハードウエア性能及びアプリケーションケイパビリティなどに関する端末情報と、ネットワーク1003の通信容量などに関するネットワーク情報とを取得してもよい。そして、配信サーバ1002は、取得した情報に基づいて、配信すべきストリームを選択し得る。
 なお、復号すべきレイヤの抽出は、端末装置において行われてもよい。例えば、PC1004は、受信した多重化ストリームから抽出され復号されるベースレイヤ画像をその画面に表示してもよい。また、PC1004は、受信した多重化ストリームからベースレイヤの符号化ストリームを抽出してストリームデータ1012を生成し、生成したストリームデータ1012を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 図34に示したデータ伝送システム1000の構成は一例に過ぎない。データ伝送システム1000は、いかなる数のストリーム記憶装置1001、配信サーバ1002、ネットワーク1003、及び端末装置を含んでもよい。
   (2)第2の例
 第2の例において、スケーラブル符号化は、複数の通信チャネルを介するデータの伝送のために利用される。図35を参照すると、データ伝送システム1100は、放送局1101及び端末装置1102を含む。放送局1101は、地上波チャネル1111上で、ベースレイヤの符号化ストリーム1121を放送する。また、放送局1101は、ネットワーク1112を介して、エンハンスメントレイヤの符号化ストリーム1122を端末装置1102へ送信する。
 端末装置1102は、放送局1101により放送される地上波放送を受信するための受信機能を有し、地上波チャネル1111を介してベースレイヤの符号化ストリーム1121を受信する。また、端末装置1102は、放送局1101と通信するための通信機能を有し、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信する。
 端末装置1102は、例えば、ユーザからの指示に応じて、ベースレイヤの符号化ストリーム1121を受信し、受信した符号化ストリーム1121からベースレイヤ画像を復号してベースレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したベースレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 また、端末装置1102は、例えば、ユーザからの指示に応じて、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信し、ベースレイヤの符号化ストリーム1121とエンハンスメントレイヤの符号化ストリーム1122とを多重化することにより多重化ストリームを生成してもよい。また、端末装置1102は、エンハンスメントレイヤの符号化ストリーム1122からエンハンスメントレイヤ画像を復号してエンハンスメントレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したエンハンスメントレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 上述したように、多重化ストリームに含まれる各レイヤの符号化ストリームは、レイヤごとに異なる通信チャネルを介して伝送され得る。それにより、個々のチャネルに掛かる負荷を分散させて、通信の遅延若しくはオーバフローの発生を抑制することができる。
 また、何らかの条件に応じて、伝送のために使用される通信チャネルが動的に選択されてもよい。例えば、データ量が比較的多いベースレイヤの符号化ストリーム1121は帯域幅の広い通信チャネルを介して伝送され、データ量が比較的少ないエンハンスメントレイヤの符号化ストリーム1122は帯域幅の狭い通信チャネルを介して伝送され得る。また、特定のレイヤの符号化ストリーム1122が伝送される通信チャネルが、通信チャネルの帯域幅に応じて切り替えられてもよい。それにより、個々のチャネルに掛かる負荷をより効果的に抑制することができる。
 なお、図35に示したデータ伝送システム1100の構成は一例に過ぎない。データ伝送システム1100は、いかなる数の通信チャネル及び端末装置を含んでもよい。また、放送以外の用途において、ここで説明したシステムの構成が利用されてもよい。
   (3)第3の例
 第3の例において、スケーラブル符号化は、映像の記憶のために利用される。図36を参照すると、データ伝送システム1200は、撮像装置1201及びストリーム記憶装置1202を含む。撮像装置1201は、被写体1211を撮像することにより生成される画像データをスケーラブル符号化し、多重化ストリーム1221を生成する。多重化ストリーム1221は、ベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームを含む。そして、撮像装置1201は、多重化ストリーム1221をストリーム記憶装置1202へ供給する。
 ストリーム記憶装置1202は、撮像装置1201から供給される多重化ストリーム1221を、モードごとに異なる画質で記憶する。例えば、ストリーム記憶装置1202は、通常モードにおいて、多重化ストリーム1221からベースレイヤの符号化ストリーム1222を抽出し、抽出したベースレイヤの符号化ストリーム1222を記憶する。これに対し、ストリーム記憶装置1202は、高画質モードにおいて、多重化ストリーム1221をそのまま記憶する。それにより、ストリーム記憶装置1202は、高画質での映像の記録が望まれる場合にのみ、データ量の多い高画質のストリームを記録することができる。そのため、画質の劣化のユーザへの影響を抑制しながら、メモリリソースを節約することができる。
 例えば、撮像装置1201は、監視カメラであるものとする。撮像画像に監視対象(例えば侵入者)が映っていない場合には、通常モードが選択される。この場合、撮像画像は重要でない可能性が高いため、データ量の削減が優先され、映像は低画質で記録される(即ち、ベースレイヤの符号化ストリーム1222のみが記憶される)。これに対し、撮像画像に監視対象(例えば、侵入者である被写体1211)が映っている場合には、高画質モードが選択される。この場合、撮像画像は重要である可能性が高いため、画質の高さが優先され、映像は高画質で記録される(即ち、多重化ストリーム1221が記憶される)。
 図36の例では、モードは、例えば画像解析結果に基づいて、ストリーム記憶装置1202により選択される。しかしながら、かかる例に限定されず、撮像装置1201がモードを選択してもよい。後者の場合、撮像装置1201は、通常モードにおいて、ベースレイヤの符号化ストリーム1222をストリーム記憶装置1202へ供給し、高画質モードにおいて、多重化ストリーム1221をストリーム記憶装置1202へ供給してもよい。
 なお、モードを選択するための選択基準は、いかなる基準であってもよい。例えば、マイクロフォンを通じて取得される音声の大きさ又は音声の波形などに応じて、モードが切り替えられてもよい。また、周期的にモードが切り替えられてもよい。また、ユーザがらの指示に応じてモードが切り替えられてもよい。さらに、選択可能なモードの数は、階層化されるレイヤの数を超えない限り、いかなる数であってもよい。
 図36に示したデータ伝送システム1200の構成は一例に過ぎない。データ伝送システム1200は、いかなる数の撮像装置1201を含んでもよい。また、監視カメラ以外の用途において、ここで説明したシステムの構成が利用されてもよい。
  [7-3.その他]
   (1)マルチビューコーデックへの応用
 マルチビューコーデックは、いわゆる多視点映像を符号化し及び復号するための画像符号化方式である。図37は、マルチビューコーデックについて説明するための説明図である。図37を参照すると、3つの視点においてそれぞれ撮影される3つのビューのフレームのシーケンスが示されている。各ビューには、ビューID(view_id)が付与される。これら複数のビューのうちいずれか1つのビューが、ベースビュー(base view)に指定される。ベースビュー以外のビューは、ノンベースビューと呼ばれる。図37の例では、ビューIDが“0”であるビューがベースビューであり、ビューIDが“1”又は“2”である2つのビューがノンベースビューである。
 本開示に係る技術に従って、マルチビューの画像データを符号化し又は復号する際、ベースビューのリコンストラクト画像を用いてノンベースビューのための量子化パラメータを予測することにより、全体としての符号量を削減することができる。それにより、スケーラブル符号化のケースと同様に、マルチビューコーデックにおいても、符号化効率を一層向上させることができる。
   (2)ストリーミング技術への応用
 本開示に係る技術は、ストリーミングプロトコルに適用されてもよい。例えば、MPEG-DASH(Dynamic Adaptive Streaming over HTTP)では、解像度などのパラメータが互いに異なる複数の符号化ストリームがストリーミングサーバにおいて予め用意される。そして、ストリーミングサーバは、複数の符号化ストリームからストリーミングすべき適切なデータをセグメント単位で動的に選択し、選択したデータを配信する。このようなストリーミングプロトコルにおいて、1つの符号化ストリームのリコンストラクト画像から他の符号化ストリームのための量子化パラメータが予測されてもよい。
 <8.まとめ>
 ここまで、図1~図37を用いて、本開示に係る技術のいくつかの実施形態について詳細に説明した。上述した実施形態によれば、ベースレイヤの符号化ストリームを復号することにより生成されるリコンストラクト画像を用いて、エンハンスメントレイヤの変換係数データを逆量子化する際に使用される量子化パラメータが予測される。従って、エンハンスメントレイヤにおいてベースレイヤから完全に独立して量子化パラメータが決定される手法と比較して、エンハンスメントレイヤにおけるレート制御に関連するパラメータのための符号量を削減し、符号化効率を高めることができる。
 また、上述した実施形態によれば、量子化パラメータの基準値との差分に相当する差分予測値が、リコンストラクト画像を用いて決定される。一般的なレート制御方式において、量子化パラメータの増加又は減少は、画像の局所的な特性(例えば、複雑さ)との相関を有する。従って、量子化パラメータの基準値からの差分を予測の対象とすることで、画像の特性のレイヤ間の類似性を活用することが可能となり、高い精度での量子化パラメータの予測を実現することができる。
 また、上述した実施形態によれば、量子化パラメータの基準値は、エンハンスメントレイヤの符号化ストリームから復号されるパラメータによって指定され、又はエンハンスメントレイヤ内で近傍ブロックの量子化パラメータから予測され得る。従って、量子化パラメータの基準値の柔軟な設定が可能である。
 ある実施例によれば、量子化パラメータの予測の残差が符号化される。この場合、エンハンスメントレイヤにおけるレート制御の正確性を維持することができる。また、別の実施例によれば、量子化パラメータの予測の残差の符号化は省略される。この場合、エンハンスメントレイヤの符号量をさらに削減することができる。
 また、ある実施例によれば、ブロックごとの画像の複雑さを示すアクティビティに基づいて、量子化パラメータの差分予測値が決定される。この場合、局所的な画像の複雑さに応じて、量子化パラメータの予測値を適切に変化させることができる。また、別の実施例によれば、ブロックごとの平均画素値に基づいて、量子化パラメータの差分予測値が決定される。この場合、人間の視覚特性としての画像の歪みに対する識別能力に応じて、量子化パラメータの予測値を適切に変化させることができる。
 また、ある変形例によれば、ベースレイヤのリコンストラクト画像を用いて、エンハンスメントレイヤのための直交変換サイズが制御される。従って、平坦な画像領域についてはより大きい直交変換サイズを設定し、複雑なテクスチャを有する画像領域についてはより小さい直交変換サイズを設定するというよう画像の特性に応じた適応的な制御が可能となる。それにより、画質の劣化を回避しながら、変換係数データの符号量を削減することができる。また、エンハンスメントレイヤにおいてTUサイズを指定するパラメータの符号化を省略することも可能となる。
 なお、本明細書では、レート制御及び量子化に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成するベースレイヤ復号部と、
 前記ベースレイヤ復号部により生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測する制御部と、
 前記制御部により予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化する逆量子化部と、
 を備える画像処理装置。
(2)
 前記制御部は、前記量子化パラメータの基準値との差分に相当する差分予測値を、前記リコンストラクト画像を用いて決定する、前記(1)に記載の画像処理装置。
(3)
 前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記量子化パラメータの前記基準値を指定するパラメータを復号する復号部、をさらに備え、
 前記制御部は、前記復号部により復号される前記基準値と前記差分予測値との和を算出することにより、前記量子化パラメータの予測値を算出する、
 前記(2)に記載の画像処理装置。
(4)
 前記制御部は、第1のブロックに適用される前記量子化パラメータの前記基準値を、前記第1のブロックの近傍ブロックに適用された量子化パラメータに基づいて予測し、予測した前記基準値と前記差分予測値との和を算出することにより、前記量子化パラメータの予測値を算出する、前記(2)に記載の画像処理装置。
(5)
 前記逆量子化部は、前記量子化パラメータの前記予測値と残差との和に対応する量子化ステップで前記変換係数データを逆量子化する、前記(3)又は前記(4)に記載の画像処理装置。
(6)
 前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記量子化パラメータの前記残差を復号する復号部、をさらに備え、
 前記制御部は、前記量子化パラメータの前記予測値と前記復号部により復号される前記残差との和を算出する、
 前記(5)に記載の画像処理装置。
(7)
 前記逆量子化部は、前記量子化パラメータの前記予測値に対応する量子化ステップで前記変換係数データを逆量子化する、前記(3)又は前記(4)に記載の画像処理装置。
(8)
 前記制御部は、符号化ストリームから復号される第1のフラグが前記量子化パラメータを予測すべきことを示している場合に、前記リコンストラクト画像を用いて前記量子化パラメータを予測する、前記(1)~(7)のいずれか1項に記載の画像処理装置。
(9)
 前記制御部は、ブロックごとの画像の複雑さを示すアクティビティを前記リコンストラクト画像を用いて算出し、算出した前記アクティビティから前記差分予測値を決定する、前記(2)~(7)のいずれか1項に記載の画像処理装置。
(10)
 前記制御部は、次の式に従って前記アクティビティから前記差分予測値を決定し、
Figure JPOXMLDOC01-appb-M000007
 ここで、Anormは正規化された前記アクティビティであり、pred_qp_deltaは前記差分予測値であり、
 量子化パラメータqpに対応する量子化ステップをS(qp)とすると、変数a及びbは次式を満たす、
Figure JPOXMLDOC01-appb-M000008
 前記(9)に記載の画像処理装置。
(11)
 前記制御部は、予め記憶されるルックアップテーブルを用いて、前記アクティビティから前記差分予測値を決定するための演算を実行する、前記(10)に記載の画像処理装置。
(12)
 前記制御部は、ブロックごとの平均画素値を前記リコンストラクト画像を用いて算出し、算出した前記平均画素値と前記差分予測値との間の予め定義される関係に従って、前記差分予測値を決定する、前記(2)~(7)のいずれか1項に記載の画像処理装置。
(13)
 前記制御部は、符号化ストリームから復号される第2のフラグに従って、前記差分予測値を決定するための手法を切り替える、前記(2)~(7)のいずれか1項に記載の画像処理装置。
(14)
 前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記ブロックのサイズを示すサイズ情報を復号する復号部、をさらに備え、
 前記制御部は、前記復号部により復号される前記サイズ情報により示されるサイズを有する前記ブロックごとに、前記差分予測値を決定する、
 前記(9)~(12)のいずれか1項に記載の画像処理装置。
(15)
 前記画像処理装置は、前記量子化パラメータの前記基準値を指定するパラメータを符号化する符号化部、をさらに備える、前記(2)に記載の画像処理装置。
(16)
 前記画像処理装置は、前記量子化パラメータの予測値に対応する残差を指定するパラメータを符号化する符号化部、をさらに備える、前記(1)又は前記(2)に記載の画像処理装置。
(17)
 前記画像処理装置は、前記量子化パラメータを予測すべきことを示す第1のフラグを符号化する符号化部、をさらに備える、前記(1)又は前記(2)に記載の画像処理装置。
(18)
 前記画像処理装置は、前記差分予測値を決定するための決定手法を指定する第2のフラグを符号化する符号化部、をさらに備える、前記(2)に記載の画像処理装置。
(19)
 前記制御部は、前記リコンストラクト画像を用いて、前記エンハンスメントレイヤのための直交変換サイズを制御する、前記(1)~(18)のいずれか1項に記載の画像処理装置。
(20)
 ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成することと、
 生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測することと、
 予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化することと、
 を含む画像処理方法。
 10     画像符号化装置(画像処理装置)
 1a     ベースレイヤ符号化部
 1b     エンハンスメントレイヤ符号化部
 2      ローカルデコーダ(ベースレイヤ復号部)
 3      中間処理部(アップサンプリング部/デインターレース部)
 14,114 直交変換部
 15     量子化部
 16     可逆符号化部
 21     逆量子化部
 22,122 逆直交変換部
 40,140 制御部
 60     画像復号装置(画像処理装置)
 6a     ベースレイヤ復号部
 6b     エンハンスメントレイヤ復号部
 7      中間処理部(アップサンプリング部/デインターレース部)
 62     可逆復号部
 63     逆量子化部
 64,164 逆直交変換部
 85,185 制御部
 

Claims (20)

  1.  ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成するベースレイヤ復号部と、
     前記ベースレイヤ復号部により生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測する制御部と、
     前記制御部により予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化する逆量子化部と、
     を備える画像処理装置。
  2.  前記制御部は、前記量子化パラメータの基準値との差分に相当する差分予測値を、前記リコンストラクト画像を用いて決定する、請求項1に記載の画像処理装置。
  3.  前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記量子化パラメータの前記基準値を指定するパラメータを復号する復号部、をさらに備え、
     前記制御部は、前記復号部により復号される前記基準値と前記差分予測値との和を算出することにより、前記量子化パラメータの予測値を算出する、
     請求項2に記載の画像処理装置。
  4.  前記制御部は、第1のブロックに適用される前記量子化パラメータの前記基準値を、前記第1のブロックの近傍ブロックに適用された量子化パラメータに基づいて予測し、予測した前記基準値と前記差分予測値との和を算出することにより、前記量子化パラメータの予測値を算出する、請求項2に記載の画像処理装置。
  5.  前記逆量子化部は、前記量子化パラメータの前記予測値と残差との和に対応する量子化ステップで前記変換係数データを逆量子化する、請求項3に記載の画像処理装置。
  6.  前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記量子化パラメータの前記残差を復号する復号部、をさらに備え、
     前記制御部は、前記量子化パラメータの前記予測値と前記復号部により復号される前記残差との和を算出する、
     請求項5に記載の画像処理装置。
  7.  前記逆量子化部は、前記量子化パラメータの前記予測値に対応する量子化ステップで前記変換係数データを逆量子化する、請求項3に記載の画像処理装置。
  8.  前記制御部は、符号化ストリームから復号される第1のフラグが前記量子化パラメータを予測すべきことを示している場合に、前記リコンストラクト画像を用いて前記量子化パラメータを予測する、請求項1に記載の画像処理装置。
  9.  前記制御部は、ブロックごとの画像の複雑さを示すアクティビティを前記リコンストラクト画像を用いて算出し、算出した前記アクティビティから前記差分予測値を決定する、請求項2に記載の画像処理装置。
  10.  前記制御部は、次の式に従って前記アクティビティから前記差分予測値を決定し、
    Figure JPOXMLDOC01-appb-M000001
     ここで、Anormは正規化された前記アクティビティであり、pred_qp_deltaは前記差分予測値であり、
     量子化パラメータqpに対応する量子化ステップをS(qp)とすると、変数a及びbは次式を満たす、
    Figure JPOXMLDOC01-appb-M000002
     請求項9に記載の画像処理装置。
  11.  前記制御部は、予め記憶されるルックアップテーブルを用いて、前記アクティビティから前記差分予測値を決定するための演算を実行する、請求項10に記載の画像処理装置。
  12.  前記制御部は、ブロックごとの平均画素値を前記リコンストラクト画像を用いて算出し、算出した前記平均画素値と前記差分予測値との間の予め定義される関係に従って、前記差分予測値を決定する、請求項2に記載の画像処理装置。
  13.  前記制御部は、符号化ストリームから復号される第2のフラグに従って、前記差分予測値を決定するための手法を切り替える、請求項2に記載の画像処理装置。
  14.  前記画像処理装置は、前記エンハンスメントレイヤの符号化ストリームから前記ブロックのサイズを示すサイズ情報を復号する復号部、をさらに備え、
     前記制御部は、前記復号部により復号される前記サイズ情報により示されるサイズを有する前記ブロックごとに、前記差分予測値を決定する、
     請求項9に記載の画像処理装置。
  15.  前記画像処理装置は、前記量子化パラメータの前記基準値を指定するパラメータを符号化する符号化部、をさらに備える、請求項2に記載の画像処理装置。
  16.  前記画像処理装置は、前記量子化パラメータの予測値に対応する残差を指定するパラメータを符号化する符号化部、をさらに備える、請求項1に記載の画像処理装置。
  17.  前記画像処理装置は、前記量子化パラメータを予測すべきことを示す第1のフラグを符号化する符号化部、をさらに備える、請求項1に記載の画像処理装置。
  18.  前記画像処理装置は、前記差分予測値を決定するための決定手法を指定する第2のフラグを符号化する符号化部、をさらに備える、請求項2に記載の画像処理装置。
  19.  前記制御部は、前記リコンストラクト画像を用いて、前記エンハンスメントレイヤのための直交変換サイズを制御する、請求項1に記載の画像処理装置。
  20.  ベースレイヤの符号化ストリームを復号して、前記ベースレイヤのリコンストラクト画像を生成することと、
     生成される前記リコンストラクト画像を用いて、エンハンスメントレイヤのための量子化パラメータを予測することと、
     予測される前記量子化パラメータを用いて、前記エンハンスメントレイヤの変換係数データを逆量子化することと、
     を含む画像処理方法。
PCT/JP2013/071049 2012-09-28 2013-08-02 画像処理装置及び画像処理方法 WO2014050311A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-217597 2012-09-28
JP2012217597 2012-09-28

Publications (1)

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

Family

ID=50387725

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/071049 WO2014050311A1 (ja) 2012-09-28 2013-08-02 画像処理装置及び画像処理方法

Country Status (1)

Country Link
WO (1) WO2014050311A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110415184A (zh) * 2019-06-28 2019-11-05 南开大学 一种基于正交元空间的多模态图像增强方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244694A (ja) * 2002-02-14 2003-08-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2008078979A (ja) * 2006-09-21 2008-04-03 Victor Co Of Japan Ltd 動画像階層符号量割当装置、階層符号化装置、階層符号量割当プログラム及び階層符号化プログラム
JP2011524130A (ja) * 2008-06-03 2011-08-25 マイクロソフト コーポレーション 強調レイヤ映像符号化に関する適応量子化

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244694A (ja) * 2002-02-14 2003-08-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2008078979A (ja) * 2006-09-21 2008-04-03 Victor Co Of Japan Ltd 動画像階層符号量割当装置、階層符号化装置、階層符号量割当プログラム及び階層符号化プログラム
JP2011524130A (ja) * 2008-06-03 2011-08-25 マイクロソフト コーポレーション 強調レイヤ映像符号化に関する適応量子化

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110415184A (zh) * 2019-06-28 2019-11-05 南开大学 一种基于正交元空间的多模态图像增强方法
CN110415184B (zh) * 2019-06-28 2022-12-20 南开大学 一种基于正交元空间的多模态图像增强方法

Similar Documents

Publication Publication Date Title
JP6455434B2 (ja) 画像処理装置及び画像処理方法
JP6094688B2 (ja) 画像処理装置及び画像処理方法
KR102307099B1 (ko) 화상 처리 장치 및 화상 처리 방법
JP6345650B2 (ja) 画像処理装置及び画像処理方法
US20150043637A1 (en) Image processing device and method
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
WO2015053001A1 (ja) 画像処理装置及び画像処理方法
US20150036744A1 (en) Image processing apparatus and image processing method
US20150016522A1 (en) Image processing apparatus and image processing method
WO2015052898A1 (en) Decoding device, decoding method, encoding device, and encoding method
US20150304657A1 (en) Image processing device and method
WO2015146278A1 (ja) 画像処理装置及び画像処理方法
WO2015005025A1 (ja) 画像処理装置及び画像処理方法
JPWO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP5900612B2 (ja) 画像処理装置及び画像処理方法
US20160119639A1 (en) Image processing apparatus and image processing method
WO2014148070A1 (ja) 画像処理装置及び画像処理方法
US9930353B2 (en) Image decoding device and method
WO2015005024A1 (ja) 画像処理装置及び画像処理方法
WO2015052979A1 (ja) 画像処理装置及び画像処理方法
WO2014050311A1 (ja) 画像処理装置及び画像処理方法
WO2014097703A1 (ja) 画像処理装置及び画像処理方法
JPWO2014002900A1 (ja) 画像処理装置および画像処理方法
WO2015098231A1 (ja) 画像処理装置及び画像処理方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法

Legal Events

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

Ref document number: 13841513

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13841513

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP