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

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

Info

Publication number
WO2021125309A1
WO2021125309A1 PCT/JP2020/047338 JP2020047338W WO2021125309A1 WO 2021125309 A1 WO2021125309 A1 WO 2021125309A1 JP 2020047338 W JP2020047338 W JP 2020047338W WO 2021125309 A1 WO2021125309 A1 WO 2021125309A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization parameter
quantization
unit
correction
conversion
Prior art date
Application number
PCT/JP2020/047338
Other languages
English (en)
French (fr)
Inventor
健史 筑波
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to KR1020227017805A priority Critical patent/KR20220116152A/ko
Priority to EP20902904.0A priority patent/EP4068778A4/en
Priority to JP2021565670A priority patent/JPWO2021125309A1/ja
Priority to US17/781,732 priority patent/US20230007255A1/en
Priority to CN202080075250.5A priority patent/CN114616828A/zh
Publication of WO2021125309A1 publication Critical patent/WO2021125309A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to an image processing device and a method, and more particularly to an image processing device and a method capable of controlling the value of a quantization parameter within a desired range.
  • a coding method has been proposed in which a predicted residual of a moving image is derived, coefficient-converted, quantized and encoded (see, for example, Non-Patent Document 1 and Non-Patent Document 2). Further, as a coding tool for improving the coding efficiency in RGB444, an adaptive color transformation (ACT (Adaptive Color Transform)) that executes RGB-to-YCgCo conversion on the residual domain has been proposed (for example, non-patent documents). 3).
  • ACT Adaptive Color Transform
  • Non-Patent Document 3 the conversion of the dynamic range of the signal between the residual before conversion (C0, C1, C2) and the residual after conversion (C0', C1', C2') is considered.
  • the process of correcting the quantization parameter qP applied to the residual of each component by (dqPY, dqPCg, dqPCo) (-5, -5, -3) was also proposed.
  • Non-Patent Document 1 discloses a method for correcting quantization parameters based on the application of conversion skip and adaptive color conversion.
  • Non-Patent Document 1 after the correction of the quantization parameter based on the parameter related to conversion skip is executed, the correction of the quantization parameter based on the parameter related to adaptive color conversion is executed.
  • the value of the quantization parameter is clipped within the desired range.
  • a predetermined correction amount is added. Therefore, with this method, it is not possible to control the range in which the corrected quantization parameter value can be taken.
  • This disclosure has been made in view of such a situation, and makes it possible to control the value of the quantization parameter within a desired range.
  • the image processing apparatus of one aspect of the present technology has a quantization parameter correction unit that corrects the quantization parameter based on the parameter related to the adaptive color conversion, and further corrects the quantization parameter based on the parameter related to the conversion skip, and the quantization parameter correction.
  • This is an image processing apparatus including a quantization unit that quantizes the coefficient data of the image to be encoded by using the correction quantization parameter that is the quantization parameter corrected by the unit.
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, and further corrected based on the parameter related to conversion skip, and the corrected quantum is the corrected quantization parameter.
  • This is an image processing method that quantizes the coefficient data of the image to be encoded by using the conversion parameters.
  • the image processing apparatus of another aspect of the present technology has a quantization parameter correction unit that corrects the quantization parameter based on the parameter related to adaptive color conversion, and further corrects the quantization parameter based on the parameter related to conversion skip, and the quantization parameter. It is an image processing apparatus including an inverse quantization unit which dequantizes the quantization coefficient data obtained by quantizing the coefficient data of the image by using the correction quantization parameter which is the quantization parameter corrected by the correction unit. ..
  • the image processing method of another aspect of the present technology corrects the quantization parameter based on the parameter related to adaptive color conversion, and further corrects based on the parameter related to conversion skip, and is the corrected quantization parameter.
  • This is an image processing method in which the quantization coefficient data of an image is dequantized by using a quantization parameter.
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, and further corrected based on the parameter related to conversion skip, and the corrected quantization parameter is used. Certain corrected quantization parameters are used to quantize the coefficient data of the image to be encoded.
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, and further corrected based on the parameter related to conversion skip, and the corrected quantization parameter.
  • the correction quantization parameter is used, and the quantization coefficient data obtained by quantizing the coefficient data of the image is inversely quantized.
  • Quantization parameter correction> ⁇ Documents that support technical contents and technical terms>
  • the scope disclosed in the present technology is referred to not only in the contents described in the embodiment but also in the contents described in the following non-patent documents and the like known at the time of filing and in the following non-patent documents. The contents of other documents are also included.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
  • Non-Patent Document 5 Recommendation ITU-T H.265 (02/18) "High efficiency video coding", february 2018
  • the contents described in the above-mentioned non-patent documents are also the basis for determining the support requirements.
  • Quad-Tree Block Structure and QTBT (Quad Tree Plus Binary Tree) Block Structure described in the above-mentioned non-patent documents are not directly described in the examples, they are within the disclosure range of the present technology. It shall meet the support requirements of the claims.
  • technical terms such as Parsing, Syntax, and Semantics are within the scope of disclosure of the present technology even if they are not directly described in the examples. Meet the support requirements in the range of.
  • a "block” (not a block indicating a processing unit) used in the description as a partial area of an image (picture) or a processing unit indicates an arbitrary partial area in the picture unless otherwise specified. Its size, shape, characteristics, etc. are not limited.
  • “block” includes TB (Transform Block), TU (Transform Unit), PB (Prediction Block), PU (Prediction Unit), SCU (Smallest Coding Unit), and CU described in the above-mentioned non-patent documents.
  • CodingUnit LCU (LargestCodingUnit), CTB (CodingTreeBlock), CTU (CodingTreeUnit), subblock, macroblock, tile, slice, etc., any partial area (processing unit) is included.
  • the block size may be specified using the identification information that identifies the size.
  • the block size may be specified by the ratio or difference with the size of the reference block (for example, LCU, SCU, etc.).
  • the designation of the block size also includes the designation of the range of the block size (for example, the designation of the range of the allowable block size).
  • coding includes not only the entire process of converting an image into a bitstream but also a part of the process. For example, it not only includes processing that includes prediction processing, orthogonal transformation, quantization, arithmetic coding, etc., but also includes processing that collectively refers to quantization and arithmetic coding, prediction processing, quantization, and arithmetic coding. Including processing, etc.
  • decoding includes not only the entire process of converting a bitstream into an image, but also some processes.
  • processing not only includes processing that includes inverse arithmetic decoding, inverse quantization, inverse orthogonal transformation, prediction processing, etc., but also processing that includes inverse arithmetic decoding and inverse quantization, inverse arithmetic decoding, inverse quantization, and prediction processing. Including processing that includes and.
  • Non-Patent Document 3 Adaptive Color Transform (ACT), which executes RGB-to-YCgCo conversion on the residual domain, has been proposed as a coding tool for improving the coding efficiency in RGB444.
  • the following equation (1) shows the RGB-to-YCgCo conversion.
  • the equation (2) shows the inverse transformation (YCgCo-RGB transformation).
  • the coefficients C0, C1 and C2 correspond to R, G and B, respectively.
  • C0', C1', and C2' correspond to Y, Cg, and Co, respectively.
  • this adaptive color conversion can convert an RGB signal into a YCgCo signal equivalent to a YCbCr signal with only a simple shift operation and addition / subtraction.
  • the RGB-YCgCo conversion is used to quantize the residuals before conversion (C0, C1, C2) and the quantization parameter qP applied to the residuals of each component for each component.
  • Non-Patent Document 1 discloses conversion skip, which is a mode in which orthogonal conversion processing is skipped (omitted). In the present disclosure, the case where the conversion skip is not applied is also referred to as a non-conversion skip.
  • Non-Patent Document 1 discloses a method for correcting quantization parameters based on the application of conversion skip and adaptive color conversion.
  • the correction of the quantization parameter is controlled depending on whether or not the conversion skip is applied and whether or not the adaptive color conversion is applied. For example, when adaptive color conversion is applicable and conversion skip is applied, the correction of the quantization parameter is executed as in the following equation (3).
  • the correction of the quantization parameter is as shown in the following equation (4). Will be executed.
  • the lower limit of the quantization parameter is first clipped by the minimum value (QpPrimeTsMin) of the quantization parameter in the case of the conversion skip. After that, the correction amount according to the component to be processed is added to the result of the clip according to the value of cu_act_enabled_flag.
  • cu_act_enabled_flag is flag information for each CU indicating whether or not adaptive color conversion is applied. If cu_act_enabled_flag is true (eg "1"), it indicates that adaptive color conversion is applied. If cu_act_enabled_flag is false (eg "0"), it indicates that adaptive color conversion is not applied. That is, after the correction based on the parameter related to the conversion skip is executed, the correction based on the parameter related to the adaptive color conversion is executed.
  • the non-conversion skip when the non-conversion skip is applied, as in the case of the equation (3), after the correction based on the parameter related to the conversion skip is executed, it is based on the parameter related to the adaptive color conversion. The correction is performed. However, in this case, the clip processing described above is skipped (omitted) in the correction based on the parameters related to conversion skip. In other words, the lower limit of the quantization parameter is clipped at the minimum value that can be taken based on the specifications of hardware, software, and the like.
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, further corrected based on the parameter related to conversion skip, and the corrected quantization parameter which is the corrected quantization parameter is used.
  • the parameter data of the image to be encoded is quantized.
  • a quantization parameter correction unit that corrects a quantization parameter based on a parameter related to adaptive color conversion and further corrects a quantization parameter based on a parameter related to conversion skip, and a quantization parameter correction unit thereof.
  • a quantization unit for quantizing the coefficient data of the image to be encoded is provided by using the corrected quantization parameter which is the corrected quantization parameter.
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, further corrected based on the parameter related to conversion skip, and the corrected quantization parameter which is the corrected quantization parameter is used. Then, the quantization coefficient data of the image is quantized and the quantization coefficient data is inversely quantized.
  • a quantization parameter correction unit that corrects a quantization parameter based on a parameter related to adaptive color conversion and further corrects a quantization parameter based on a parameter related to conversion skip, and a quantization parameter correction unit thereof.
  • the corrected quantization parameter which is a corrected quantization parameter
  • the coefficient data of the image is provided with an inverse quantization unit that dequantizes the quantized quantization coefficient data.
  • the quantization parameter may be corrected by the correction amount according to the component to be processed as the correction based on the parameters related to the adaptive color conversion.
  • the quantization parameter correction unit when the quantization parameter correction unit applies adaptive color conversion, the quantization parameter may be corrected by a correction amount according to the processing target component.
  • the quantization parameter when the adaptive color conversion is not applied, the quantization parameter may be corrected by setting the correction amount to "0" as a correction based on the parameters related to the adaptive color conversion. In other words, the correction based on the parameters related to the adaptive color conversion may be skipped (omitted).
  • the quantization parameter when the quantization parameter correction unit applies adaptive color conversion, the quantization parameter may be corrected by setting the correction amount to “0”.
  • the correction amount dqP corresponding to the component identifier cIdx indicating the component to be processed is added to the first correction quantization parameter qP', and the second correction amount dqP is added.
  • the corrected quantization parameter qP'' is derived.
  • cu_act_enabled_flag is false (for example, "0")
  • the same operation is executed with the correction amount dqP set to "0”
  • the second correction quantization parameter qP'' is derived.
  • the second corrected quantization parameter qP'' derived in this way is used in the quantization process and the inverse quantization process as the corrected quantization parameter qP (that is, the correction result).
  • the lower limit of the quantization parameter qP is clipped by QpPrimeTsMin, and then the correction amount dqP corresponding to the component identifier cIdx is added.
  • the lower limit of the quantization parameter qP is clipped by QpPrimeTsMin when the conversion skips and the quantization step size ⁇ ⁇ 1 (because the quantization step size ⁇ ⁇ 1), the peak signal-to-noise ratio (PSNR (PSNR) This is to avoid the phenomenon that Peak Signal-to-Noise Ratio)) is reduced.
  • PSNR peak signal-to-noise ratio
  • the second correction quantization parameter qP'' (that is, the correction quantization parameter qP).
  • the quantization parameter smaller than the minimum value of the quantization parameter at the time of conversion skip is used for quantization and inverse quantization (quantization step size ⁇ ⁇ 1).
  • the quantization parameter is corrected by the adaptive color conversion, and then the quantization parameter is corrected by the conversion skip. ..
  • the lower limit is set by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. May be clipped (Method 1).
  • the quantization parameter correction unit when the quantization parameter correction unit applies conversion skip, the lower limit of the quantization parameter corrected based on the parameters related to adaptive color conversion is set in advance, and the quantum at the time of conversion skip is set. You may clip with the minimum value QpPrimeTsMin of the quantization parameter.
  • the quantization step size ⁇ ⁇ 1 can be prevented, so that the reduction of PSNR can be suppressed and the coding efficiency can be suppressed. Can be suppressed.
  • the lower limit clip may be omitted.
  • the clip of the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion may be omitted.
  • the lower limit of the quantization parameter may be clipped at the minimum value that can be taken based on the specifications of the hardware, software, and the like.
  • FIG. 2 is a block diagram showing an example of the configuration of a quantization parameter correction device, which is an aspect of an image processing device to which the present technology is applied.
  • the quantization parameter correction device 100 shown in FIG. 2 is a device that corrects the quantization parameters used in the quantization processing and the inverse quantization processing of the coefficient data related to the image.
  • the quantization parameter correction device 100 corrects the quantization parameter according to, for example, application of adaptive color conversion or conversion skip in image coding or decoding. At that time, the quantization parameter correction device 100 applies the above-mentioned "method 1" to correct the quantization parameter.
  • FIG. 2 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the quantization parameter correction device 100, there may be a processing unit that is not shown as a block in FIG. 2, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the quantization parameter correction device 100 has a first correction unit 101 and a second correction unit 102.
  • the first correction unit 101 executes a process related to correction based on parameters related to adaptive color conversion. For example, the first correction unit 101 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx indicating the component to be processed. In addition, the first correction unit 101 acquires cu_act_enabled_flag as a parameter related to adaptive color conversion. Further, the first correction unit 101 acquires the correction amount dqPx corresponding to the component identifier cIdx.
  • the component identifier cIdx is an identifier indicating the component to be processed.
  • the quantization parameter qPx indicates the quantization parameter according to the component.
  • the quantization parameter qPx includes the quantization parameter qPy corresponding to the brightness Y, the quantization parameter qPcb corresponding to the color difference Cb, the quantization parameter qPcr corresponding to the color difference Cr, and the quantization parameter qPcbcr corresponding to the color difference CbCr. is there.
  • the correction amount dqPx corresponding to each component (Y, Cg, Co) when applying the adaptive color conversion is (-5, -5, -3).
  • the first correction unit 101 When cu_act_enabled_flag is true (for example, "1"), the first correction unit 101 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and first Derivation of the corrected quantization parameter qP'. Further, when the cu_act_enabled_flag is false (for example, "0"), the first correction unit 101 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and the first correction quantum. Derivation of the quantization parameter qP'. That is, the first correction unit 101 executes the following syntax processing.
  • the first correction unit 101 supplies the derived first correction quantization parameter qP'to the second correction unit 102.
  • the second correction unit 102 executes a process related to correction based on a parameter related to conversion skip. For example, the second correction unit 102 acquires the first correction quantization parameter qP'supplied from the first correction unit 101. Further, the second correction unit 102 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to conversion skip. Further, the second correction unit 102 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip.
  • transform_skip_flag is flag information indicating whether or not to apply transformation skip.
  • this transform_skip_flag is true (for example, "1"), it indicates that the transform skip is applied. Further, when transform_skip_flag is false (for example, "0"), it indicates that the non-conversion skip is applied (that is, the transformation skip is not applied).
  • the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip is set in advance. When signaling (transmitting) this QpPrimeTsMin from the coding side device to the decoding side device, QpPrimeTsMin is signaled using, for example, a parameter set.
  • the second correction unit 102 clips the lower limit of the first correction quantization parameter qP'using QpPrimeTsMin and derives the second correction quantization parameter qP''. To do. In other words, when transform_skip_flag is true, the second correction unit 102 sets the larger of QpPrimeTsMin and the first correction quantization parameter qP'in the second correction quantization parameter qP''. Further, when the transform_skip_flag is false (for example, “0”), the second correction unit 102 skips (omits) this clip processing, sets the first correction quantization parameter qP', and sets the second correction quantization parameter qP. Set to''.
  • the second correction unit 102 clips the lower limit of the first correction quantization parameter qP'with the minimum value that can be taken based on the specifications of the hardware, software, and the like, and the second correction unit 102 clips the lower limit of the first correction quantization parameter qP'. Derivation of the correction quantization parameter qP'' of. That is, the second correction unit 102 executes the following syntax processing.
  • the second correction unit 102 sets the derived second correction quantization parameter qP'' as the correction result (corrected quantization parameter) of the input quantization parameter qP to the outside of the quantization parameter correction device 100. Output.
  • the quantization parameter correction device 100 executes a process as shown in the following equation (5) to correct the quantization parameter. Further, in the case of non-conversion skip, the quantization parameter correction device 100 executes a process as shown in the following equation (6) to correct the quantization parameter.
  • the quantization parameter correction device 100 has an adaptive color conversion flag (cu_act_enabled_flag), a correction amount dqP corresponding to ACT, a conversion skip flag (transform_skip_flag) corresponding to the component identifier cIdx, and a CU level corresponding to the component identifier cIdx.
  • the quantization parameter (qPx) and the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip the quantization parameter qP to be applied to the processing target conversion block corresponding to the component identifier cIdx is derived.
  • the quantization parameter correction device 100 prevents the quantization step size ⁇ ⁇ 1 in the quantization and the inverse quantization when the adaptive color conversion and the conversion skip are applied. Can be corrected. Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • mts_idx may be applied instead of transform_skip_flag to notify whether conversion is skipped or not as one mode of mts_idx. That is, the quantization parameter correction device 100 (second correction unit 102) may acquire mts_idx instead of transform_skip_flag and determine whether or not conversion skip is applied based on the value. In addition, QpPrimeTsMin may be notified for each component (Y, Cb, Cr, CbCr).
  • the quantization parameter correction device 100 acquires the QpPrimeTsMin corresponding to the component identifier cIdx, and uses the QpPrimeTsMin corresponding to the component identifier cIdx to lower the lower limit of the first correction quantization parameter qP'. May be clipped.
  • step S102 the first correction unit 101 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. To do. That is, the first correction unit 101 executes the calculation of the following equation (7).
  • the correction amount dqPx may be set as in the following equation (8) or as in the equation (9).
  • step S102 When the process of step S102 is completed, the process proceeds to step S104. If it is determined in step S101 that the condition 1 is not satisfied (that is, the adaptive color conversion is not applied), the process proceeds to step S103.
  • step S103 the first correction unit 101 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. That is, the first correction unit 101 executes the calculation of the following equation (10).
  • step S103 When the process of step S103 is completed, the process proceeds to step S104.
  • step S104 the second correction unit 102 determines whether or not the conversion is skipped by determining whether or not the condition 2 is satisfied.
  • step S105 the second correction unit 102 clips the lower limit of the first correction quantization parameter qP'using QpPrimeTsMin, and derives the second correction quantization parameter qP''. That is, the second correction unit 102 executes the calculation of the following equation (11).
  • step S105 the quantization parameter correction process is completed. If it is determined in step S104 that the condition 2 is not satisfied (that is, non-conversion skip), the process proceeds to step S106.
  • step S106 the second correction unit 102 skips (omitted) this clip processing and sets the first correction quantization parameter qP'to the second correction quantization parameter qP''. That is, the second correction unit 102 executes the calculation of the following equation (12).
  • step S106 When the process of step S106 is completed, the quantization parameter correction process is completed.
  • the quantization parameter correction device 100 can perform the quantization step size ⁇ ⁇ 1 in the quantization or the inverse quantization when the adaptive color conversion and the conversion skip are applied.
  • the quantization parameter can be corrected so that Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • Second Embodiment> ⁇ Lower limit control when non-conversion is skipped>
  • the clip is omitted as shown in the equation (4).
  • cu_act_enabled_flag true (for example, "1")
  • the correction amount dqP corresponding to the component identifier cIdx is added to the first correction quantization parameter qP', and the second correction quantization parameter qP'' Is derived.
  • the second corrected quantization parameter qP'' (that is, the corrected quantization parameter qP) can be smaller than the minimum value “0” of the quantization parameter. That is, when adaptive color conversion and non-conversion skip are applied, the quantization parameter smaller than the minimum value "0" of the quantization parameter of the non-conversion skip is used for quantization and inverse quantization (quantization step size ⁇ ). ⁇ 1)
  • quantization step size ⁇ quantization step size
  • the quantization parameter is corrected by the adaptive color conversion, and then the quantization parameter is corrected by the conversion skip. ..
  • the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip is used.
  • the lower limit of the quantization parameter may be clipped, and in the case of non-conversion skip, the lower limit of the quantization parameter may be clipped by the minimum value "0" of the quantization parameter at the time of non-conversion skip (method 2).
  • the quantization parameter correction unit when the quantization parameter correction unit does not apply the conversion skip, the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion is set to the minimum value of the preset quantization parameter. You may clip it.
  • the minimum value of the quantization parameter may be "0". That is, when the quantization parameter correction unit does not apply the conversion skip, the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion may be clipped by the value "0".
  • the quantization step size ⁇ ⁇ 1 can be prevented, so that the reduction of PSNR can be suppressed and the coding can be performed. The reduction in efficiency can be suppressed.
  • FIG. 4 is a block diagram showing an example of the configuration of a quantization parameter correction device, which is an aspect of an image processing device to which the present technology is applied.
  • the quantization parameter correction device 120 shown in FIG. 4 is the same device as the quantization parameter correction device 100, and corrects the quantization parameters used in the quantization processing and the inverse quantization processing of the coefficient data related to the image. At that time, the quantization parameter correction device 120 applies the above-mentioned "method 2" to correct the quantization parameter.
  • FIG. 4 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the quantization parameter correction device 120, there may be a processing unit that is not shown as a block in FIG. 4, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the quantization parameter correction device 120 has a first correction unit 121 and a second correction unit 122.
  • the first correction unit 121 is the same processing unit as the first correction unit 101 of the quantization parameter correction device 100, and executes the same processing. That is, the first correction unit 121 executes the processing related to the correction based on the parameters related to the adaptive color conversion. For example, the first correction unit 121 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx indicating the component to be processed. In addition, the first correction unit 121 acquires cu_act_enabled_flag as a parameter related to adaptive color conversion. Further, the first correction unit 121 acquires the correction amount dqPx corresponding to the component identifier cIdx.
  • the first correction unit 121 When cu_act_enabled_flag is true (for example, "1"), the first correction unit 121 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and first Derivation of the corrected quantization parameter qP'. Further, when the cu_act_enabled_flag is false (for example, "0"), the first correction unit 121 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and the first correction quantum. Derivation of the quantization parameter qP'. That is, the first correction unit 121 executes the following syntax processing.
  • the first correction unit 121 supplies the derived first correction quantization parameter qP'to the second correction unit 122.
  • the second correction unit 122 executes the processing related to the correction based on the parameter related to the conversion skip, similarly to the second correction unit 102 of the quantization parameter correction device 100. For example, the second correction unit 122 acquires the first correction quantization parameter qP'supplied from the first correction unit 121. Further, the second correction unit 122 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to conversion skip. Further, the second correction unit 122 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip. Further, the second correction unit 122 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip as a parameter related to conversion skip.
  • the second correction unit 122 clips the lower limit of the first correction quantization parameter qP'using QpPrimeTsMin and derives the second correction quantization parameter qP''. To do. In other words, when transform_skip_flag is true, the second correction unit 122 sets the larger of QpPrimeTsMin and the first correction quantization parameter qP'in the second correction quantization parameter qP''.
  • the second correction unit 122 clips the lower limit of the quantization parameter by the minimum value "0" of the quantization parameter at the time of non-conversion skip, and the second correction unit 122 Derivation of the correction quantization parameter qP'' of 2.
  • the second correction unit 122 sets the larger of the value "0" and the first correction quantization parameter qP'to the second correction quantization parameter qP''. To do. That is, the second correction unit 122 executes the following syntax processing.
  • the second correction unit 122 sets the derived second correction quantization parameter qP'' as the correction result (corrected quantization parameter) of the input quantization parameter qP to the outside of the quantization parameter correction device 120. Output.
  • the quantization parameter correction device 120 executes a process as shown in the above equation (5) to correct the quantization parameter. Further, in the case of non-conversion skip, the quantization parameter correction device 120 executes a process as shown in the following equation (13) to correct the quantization parameter.
  • the quantization parameter correction device 120 has an adaptive color conversion flag (cu_act_enabled_flag), a correction amount dqP corresponding to ACT, a conversion skip flag (transform_skip_flag) corresponding to the component identifier cIdx, and a CU level corresponding to the component identifier cIdx. Processing target conversion corresponding to the component identifier cIdx by referring to the quantization parameter (qPx), the minimum value "0" of the quantization parameter when skipping non-conversion, and the minimum value QpPrimeTsMin of the quantization parameter when skipping conversion. Derivation of the quantization parameter qP applied to the block.
  • the quantization parameter correction device 120 does not have a quantization step size ⁇ ⁇ 1 in quantization or inverse quantization even when adaptive color conversion and non-conversion skip are applied.
  • Quantization parameters can be corrected. That is, the quantization parameter correction device 120 prevents the quantization step size ⁇ ⁇ 1 in the quantization and the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • Quantization parameters can be corrected. Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • mts_idx may be applied instead of transform_skip_flag to notify whether conversion is skipped or not as one mode of mts_idx. That is, the quantization parameter correction device 120 (second correction unit 122) may acquire mts_idx instead of transform_skip_flag and determine whether or not conversion skip is applied based on the value. In addition, QpPrimeTsMin may be notified for each component (Y, Cb, Cr, CbCr).
  • the quantization parameter correction device 120 acquires the QpPrimeTsMin corresponding to the component identifier cIdx, and uses the QpPrimeTsMin corresponding to the component identifier cIdx to lower the lower limit of the first correction quantization parameter qP'. May be clipped.
  • the first correction unit 121 of the quantization parameter correction device 120 determines whether or not the condition 1 is satisfied in step S121 to determine whether or not to apply the adaptive color conversion. Is determined. This condition 1 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 1 is satisfied (that is, the adaptive color conversion is applied), the process proceeds to step S122.
  • step S122 the first correction unit 121 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. To do.
  • This process is executed in the same manner as the process of step S102 of FIG.
  • step S122 When the process of step S122 is completed, the process proceeds to step S124. If it is determined in step S121 that the condition 1 is not satisfied (that is, the adaptive color conversion is not applied), the process proceeds to step S123.
  • step S123 the first correction unit 121 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. This process is executed in the same manner as the process of step S103 of FIG.
  • step S123 When the process of step S123 is completed, the process proceeds to step S124.
  • step S124 the second correction unit 122 determines whether or not the conversion is skipped by determining whether or not the condition 2 is satisfied. This condition 2 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 2 is satisfied (that is, the conversion is skipped), the process proceeds to step S125.
  • step S125 the second correction unit 122 clips the lower limit of the first correction quantization parameter qP'using QpPrimeTsMin, and derives the second correction quantization parameter qP''. This process is executed in the same manner as the process of step S105 of FIG.
  • step S125 the quantization parameter correction process is completed. If it is determined in step S124 that the condition 2 is not satisfied (that is, non-conversion skip is performed), the process proceeds to step S126.
  • step S126 the second correction unit 122 clips the lower limit of the first correction quantization parameter qP'using the minimum value “0” of the quantization parameter at the time of non-conversion skip, and second correction quantization. Derivation of the parameter qP''. That is, the second correction unit 122 executes the calculation of the following equation (14).
  • step S126 When the process of step S126 is completed, the quantization parameter correction process is completed.
  • the quantization parameter correction device 100 can perform the quantization step size ⁇ ⁇ in the quantization or the inverse quantization when the adaptive color conversion and the non-conversion skip are applied.
  • the quantization parameter can be corrected so that it does not become 1. Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • the upper limit of the quantization parameter may be clipped. For example, as shown in the fourth column from the top of the table shown in FIG. 1, correction of the quantization parameter by adaptive color conversion is performed. Then, the corrected quantization parameter may be clipped with the minimum value and the maximum value of the quantization parameter (method 3).
  • the quantization parameter is set in the range of 0 to 63, the minimum value of the quantization parameter is "0", and the maximum value of the quantization parameter is "63 + QpBdOffset".
  • QpBdOffset is a correction amount corresponding to the bit depth of the quantization parameter.
  • the quantization parameter correction unit clips the upper limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion with the maximum value (63 + QpBdOffset) of the quantization parameter, and sets the lower limit to the quantum. It may be clipped at the minimum value of the quantization parameter (value "0").
  • the quantization parameter may be corrected so as to be within a valid value based on the minimum value and the maximum value of the quantization parameter.
  • the corrected quantization parameter value falls within the range of the minimum value to the maximum value of the quantization parameter. Therefore, the reduction of PSNR can be suppressed, and the reduction of coding efficiency can be suppressed.
  • the clipped quantization parameter may be corrected based on the parameter related to conversion skip.
  • the correction based on the parameter related to the conversion skip may be executed in the same manner as in the case of the method 1. That is, in the case of conversion skip, the lower limit of the clipped quantization parameter may be further clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. Further, in the case of non-conversion skip, this lower limit clip processing may be skipped (omitted).
  • the corrected quantization parameter will not be smaller than this QpPrimeTsMin. Therefore, the reduction of PSNR can be suppressed and the reduction of coding efficiency can be suppressed regardless of whether the conversion is skipped or the non-conversion skip is performed.
  • the lower limit of the quantization parameter may be clipped by the minimum value (value "0") of the quantization parameter at the time of non-conversion skip. Since the lower limit of the quantization parameter to be clipped is clipped with the value "0" by the clip for the quantization parameter corrected based on the parameter related to the adaptive color conversion described above, the lower limit is also the lower limit in this case as well. The correction result is substantially the same as when the clip is skipped.
  • FIG. 6 is a block diagram showing an example of the configuration of a quantization parameter correction device, which is an aspect of an image processing device to which the present technology is applied.
  • the quantization parameter correction device 140 shown in FIG. 6 is the same device as the quantization parameter correction device 100, and corrects the quantization parameters used in the quantization processing and the inverse quantization processing of the coefficient data related to the image. At that time, the quantization parameter correction device 140 corrects the quantization parameter by applying the above-mentioned "method 3".
  • FIG. 6 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the quantization parameter correction device 140, there may be a processing unit that is not shown as a block in FIG. 6, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the quantization parameter correction device 140 has a first correction unit 141, a second correction unit 142, and a third correction unit 143.
  • the first correction unit 141 is the same processing unit as the first correction unit 101 of the quantization parameter correction device 100, and executes the same processing. That is, the first correction unit 141 executes the processing related to the correction based on the parameters related to the adaptive color conversion. For example, the first correction unit 141 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx indicating the component to be processed. In addition, the first correction unit 141 acquires cu_act_enabled_flag as a parameter related to adaptive color conversion. Further, the first correction unit 141 acquires the correction amount dqPx corresponding to the component identifier cIdx.
  • the first correction unit 141 When cu_act_enabled_flag is true (for example, "1"), the first correction unit 141 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and first Derivation of the corrected quantization parameter qP'. Further, when the cu_act_enabled_flag is false (for example, "0"), the first correction unit 141 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and the first correction quantum. Derivation of the quantization parameter qP'. That is, the first correction unit 141 executes the following syntax processing.
  • the first correction unit 141 supplies the derived first correction quantization parameter qP'to the second correction unit 142.
  • the second correction unit 142 executes the clip processing for the first correction quantization parameter qP'. For example, the second correction unit 142 acquires the first correction quantization parameter qP'supplied from the first correction unit 141. The second correction unit 142 acquires the correction amount QpBdOffset corresponding to the bit depth.
  • the second correction unit 142 clips the upper limit of the first correction quantization parameter qP'with the maximum value of the quantization parameter (63 + QpBdOffset), and sets the lower limit of the first correction quantization parameter qP'the minimum value of the quantization parameter. Clip at (value "0"). By this process, the second correction unit 142 derives the second correction quantization parameter qP''.
  • the second correction unit 142 executes the processing as shown in the following equation (15) for the first correction quantization parameter qP', and the second correction quantization parameter qP'' Is derived.
  • the second correction unit 142 supplies the derived second correction quantization parameter qP'' to the third correction unit 143.
  • the third correction unit 143 executes the processing related to the correction based on the parameter related to the conversion skip, similarly to the second correction unit 102 of the quantization parameter correction device 100. For example, the third correction unit 143 acquires the second correction quantization parameter qP'' supplied from the second correction unit 142. Further, the third correction unit 143 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to conversion skip. Further, the third correction unit 143 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip.
  • the third correction unit 143 uses QpPrimeTsMin to clip the lower limit of the second correction quantization parameter qP'', and the third correction quantization parameter qP''''. Is derived. In other words, when transform_skip_flag is true, the third correction unit 143 sets the larger of QpPrimeTsMin and the second correction quantization parameter qP'' to the third correction quantization parameter qP'''. ..
  • the third correction unit 143 skips (omits) this clip processing, and sets the second correction quantization parameter qP'' to the third correction. Set to the quantization parameter qP'''.
  • the third correction unit 143 clips the lower limit of the first correction quantization parameter qP'with the minimum value that can be taken based on the specifications of hardware, software, etc., and the third correction unit 143 clips the lower limit of the first correction quantization parameter qP'. Derivation of the correction quantization parameter qP'''. That is, the third correction unit 143 executes the following syntax processing.
  • the third correction unit 143 uses the derived third correction quantization parameter qP'''' as the correction result (corrected quantization parameter) of the input quantization parameter qP, and sets it outside the quantization parameter correction device 140. Output to.
  • the quantization parameter correction device 140 executes a process as shown in the following equation (16) to correct the quantization parameter. Further, in the case of non-conversion skip, the quantization parameter correction device 140 executes a process as shown in the following equation (17) to correct the quantization parameter.
  • the quantization parameter correction device 120 has an adaptive color conversion flag (cu_act_enabled_flag), a correction amount dqP corresponding to ACT, a conversion skip flag (transform_skip_flag) corresponding to the component identifier cIdx, and a CU level corresponding to the component identifier cIdx.
  • Quantization parameter (qPx) correction amount QpBdOffset corresponding to bit depth, minimum value "0" of quantization parameter, maximum value “63” of quantization parameter before correction by correction amount QpBdOffset corresponding to bit depth, and conversion
  • the quantization parameter qP to be applied to the processing target conversion block corresponding to the component identifier cIdx is derived.
  • the quantization parameter correction device 140 corrects the quantization parameter by the adaptive color conversion, and then corrects the quantization parameter so as to be within a valid value based on the minimum value and the maximum value of the quantization parameter. .. That is, by making the correction in this way, the value of the quantized parameter after the correction falls within the range of the minimum value to the maximum value of the quantized parameter. Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, so that the corrected quantization parameter may be smaller than this QpPrimeTsMin. Absent. Therefore, for example, whether the encoder or decoder uses the quantization parameter corrected in this way to perform quantization or inverse quantization of the coefficient data of the image to skip conversion or non-conversion. Regardless, the reduction of PSNR can be suppressed, and the reduction of coding efficiency can be suppressed.
  • mts_idx may be applied instead of transform_skip_flag to notify whether conversion is skipped or not as one mode of mts_idx. That is, the quantization parameter correction device 140 (third correction unit 143) may acquire mts_idx instead of transform_skip_flag and determine whether or not conversion skip is applied based on the value. In addition, QpPrimeTsMin may be notified for each component (Y, Cb, Cr, CbCr).
  • the quantization parameter correction device 140 acquires the QpPrimeTsMin corresponding to the component identifier cIdx, and uses the QpPrimeTsMin corresponding to the component identifier cIdx to obtain the second correction quantization parameter qP''.
  • the lower limit may be clipped.
  • the first correction unit 141 of the quantization parameter correction device 140 determines whether or not the condition 1 is satisfied in step S141 to apply the adaptive color conversion. Is determined. This condition 1 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 1 is satisfied (that is, the adaptive color conversion is applied), the process proceeds to step S142.
  • step S142 the first correction unit 141 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. To do.
  • This process is executed in the same manner as the process of step S102 of FIG.
  • step S142 When the process of step S142 is completed, the process proceeds to step S144. If it is determined in step S141 that the condition 1 is not satisfied (that is, the adaptive color conversion is not applied), the process proceeds to step S143.
  • step S143 the first correction unit 141 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. This process is executed in the same manner as the process of step S103 of FIG.
  • step S143 When the process of step S143 is completed, the process proceeds to step S144.
  • step S144 the second correction unit 142 clips the upper limit of the first correction quantization parameter qP'with the maximum value of the quantization parameter (63 + QpBdOffset), and quantizes the lower limit of the first correction quantization parameter qP'. Clip at the minimum value of the parameter (value "0"). By this process, the second correction unit 142 derives the second correction quantization parameter qP''.
  • the second correction unit 142 executes the process as shown in the above equation (15) for the first correction quantization parameter qP', and derives the second correction quantization parameter qP''. To do.
  • the process of step S144 proceeds to step S145.
  • step S145 the third correction unit 143 determines whether or not the conversion is skipped by determining whether or not the condition 2 is satisfied. This condition 2 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 2 is satisfied (that is, the conversion is skipped), the process proceeds to step S146.
  • step S146 the third correction unit 143 clips the lower limit of the second correction quantization parameter qP'' using QpPrimeTsMin and derives the third correction quantization parameter qP'''. This process is executed in the same manner as the process of step S105 of FIG.
  • step S146 the quantization parameter correction process is completed. If it is determined in step S145 that condition 2 is not satisfied (that is, non-conversion skip), the process proceeds to step S147.
  • step S147 the third correction unit 143 skips (omitted) the clip processing in step S146, and sets the second correction quantization parameter qP'' to the third correction quantization parameter qP'''. This process is executed in the same manner as the process of step S106 of FIG.
  • step S147 When the process of step S147 is completed, the quantization parameter correction process is completed.
  • the quantization parameter correction device 140 can keep the corrected quantization parameter value within the range of the minimum value to the maximum value of the quantization parameter. .. Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • the lower limit of the quantization parameter is clipped by QpPrimeTsMin, so the corrected quantization parameter will not be smaller than this QpPrimeTsMin. Therefore, for example, whether the encoder or decoder uses the quantization parameter corrected in this way to perform quantization or inverse quantization of the coefficient data of the image to skip conversion or non-conversion. Regardless, the reduction of PSNR can be suppressed, and the reduction of coding efficiency can be suppressed.
  • the quantization parameter correction process by skipping conversion may be executed as follows. That is, in the case of conversion skip, the lower limit of the first correction quantization parameter qP'is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, and the upper limit is clipped by the maximum value of the quantization parameter (63 + QpBdOffset). ) May be clipped. In the case of non-conversion skip, the lower limit of the first correction quantization parameter qP'is clipped by the minimum value "0" of the quantization parameter at the time of non-conversion skip, and the upper limit is the maximum value of the quantization parameter. It may be clipped by (63 + QpBdOffset) (method 4).
  • a preset lower limit of the quantization parameter corrected based on a parameter related to adaptive color conversion is applied.
  • the upper limit of the quantization parameter which is clipped at the minimum value of the quantization parameter of the above and corrected based on the parameter related to the adaptive color conversion, may be clipped at the preset maximum value of the quantization parameter.
  • the maximum value of this quantization parameter may be a value corrected by a correction amount based on the bit depth.
  • the maximum value of this quantization parameter may be the sum of the maximum value of the quantization parameter before being corrected by the correction amount based on the bit depth and the correction amount based on the bit depth.
  • the quantization parameter correction unit when the quantization parameter correction unit does not apply the conversion skip, the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion is set to the minimum of the preset quantization parameter.
  • the upper limit of the quantization parameter clipped by the value and corrected based on the parameter related to the adaptive color conversion may be clipped by the preset maximum value of the quantization parameter.
  • the maximum value of this quantization parameter may be a value corrected by a correction amount based on the bit depth.
  • the maximum value of this quantization parameter may be the sum of the maximum value of the quantization parameter before being corrected by the correction amount based on the bit depth and the correction amount based on the bit depth.
  • the value of the quantized parameter after correction can be obtained as in the case of method 3. That is, the corrected quantization parameter value falls within the range of the minimum value to the maximum value of the quantization parameter. Therefore, the reduction of PSNR can be suppressed, and the reduction of coding efficiency can be suppressed.
  • the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, so the corrected quantization parameter will not be smaller than this QpPrimeTsMin. .. Therefore, the reduction of PSNR can be suppressed and the reduction of coding efficiency can be suppressed regardless of whether the conversion is skipped or the non-conversion skip is performed.
  • FIG. 8 is a block diagram showing an example of the configuration of a quantization parameter correction device, which is an aspect of an image processing device to which the present technology is applied.
  • the quantization parameter correction device 160 shown in FIG. 8 is the same device as the quantization parameter correction device 100, and corrects the quantization parameters used for the quantization processing and the inverse quantization processing of the coefficient data related to the image. At that time, the quantization parameter correction device 160 applies the above-mentioned "method 4" to correct the quantization parameter.
  • FIG. 8 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the quantization parameter correction device 160, there may be a processing unit that is not shown as a block in FIG. 8, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the quantization parameter correction device 160 has a first correction unit 161 and a second correction unit 162.
  • the first correction unit 161 is a processing unit similar to the first correction unit 101 of the quantization parameter correction device 100, and executes the same processing. That is, the first correction unit 161 executes the processing related to the correction based on the parameters related to the adaptive color conversion. For example, the first correction unit 161 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx indicating the component to be processed. In addition, the first correction unit 161 acquires cu_act_enabled_flag as a parameter related to adaptive color conversion. Further, the first correction unit 161 acquires the correction amount dqPx corresponding to the component identifier cIdx.
  • the first correction unit 161 When cu_act_enabled_flag is true (for example, "1"), the first correction unit 161 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and first Derivation of the corrected quantization parameter qP'. Further, when the cu_act_enabled_flag is false (for example, "0"), the first correction unit 161 adds the correction amount "0" to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and the first correction quantum. Derivation of the quantization parameter qP'. That is, the first correction unit 161 executes the following syntax processing.
  • the first correction unit 161 supplies the derived first correction quantization parameter qP'to the second correction unit 162.
  • the second correction unit 162 executes the processing related to the correction based on the parameter related to the conversion skip, similarly to the second correction unit 102 of the quantization parameter correction device 100. For example, the second correction unit 162 acquires the first correction quantization parameter qP'supplied from the first correction unit 161. Further, the second correction unit 162 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to conversion skip. Further, the second correction unit 162 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip.
  • the second correction unit 162 acquires the correction amount QpBdOffset corresponding to the bit depth.
  • the second correction unit 162 clips the lower limit of the first correction quantization parameter qP'using QpPrimeTsMin, and uses (63 + QpBdOffset) to perform the first correction. Clip the upper limit of the quantization parameter qP'.
  • the second correction unit 162 derives the second correction quantization parameter qP'' from the first correction quantization parameter qP'by such clipping processing.
  • the value of the second correction quantization parameter qP'' is limited to the range of (QpPrimeTsMin to (63 + QpBdOffset)) (the value of the second correction quantization parameter qP'' is (QpPrimeTsMin to (QpPrimeTsMin)). 63 + QpBdOffset)) is controlled to be within the range).
  • the second correction unit 162 clips the lower limit of the quantization parameter using the value "0", and uses (63 + QpBdOffset) to clip the first lower limit. Clip the upper limit of the correction quantization parameter qP'. That is, the second correction unit 162 clips the upper limit and the lower limit of the first correction quantization parameter qP'with the minimum value and the maximum value of the quantization parameter at the time of non-conversion skip. The second correction unit 162 derives the second correction quantization parameter qP'' from the first correction quantization parameter qP'by such clipping processing.
  • the value of the second correction quantization parameter qP'' is limited to the range of (0 to (63 + QpBdOffset)) (the value of the second correction quantization parameter qP'' is (0 to (0 to (0)). 63 + QpBdOffset)) is controlled to be within the range).
  • the second correction unit 162 executes the following syntax processing.
  • the second correction unit 162 sets the derived second correction quantization parameter qP'' as the correction result (corrected quantization parameter) of the input quantization parameter qP to the outside of the quantization parameter correction device 160. Output.
  • the quantization parameter correction device 160 executes a process as shown in the following equation (16) to correct the quantization parameter. Further, in the case of non-conversion skip, the quantization parameter correction device 120 corrects the quantization parameter by executing a process as shown in the above equation (17).
  • the quantization parameter correction device 120 has the adaptive color conversion flag (cu_act_enabled_flag), the correction amount dqP corresponding to ACT, the conversion skip flag (transform_skip_flag) corresponding to the component identifier cIdx, and the component, as in the case of the method 3.
  • the quantization parameter qP to be applied to the processing target conversion block corresponding to the component identifier cIdx is derived.
  • the quantization parameter correction device 160 makes the quantization parameter effective based on the minimum value and the maximum value of the quantization parameter after the correction of the quantization parameter by the adaptive color conversion. Correct so that it fits within the value. Further, in the case of conversion skip, the quantization parameter correction device 160 determines the quantization parameter based on the minimum value and the maximum value of the quantization parameter at the time of conversion skip after correction of the quantization parameter by adaptive color conversion. Correct so that it fits within a valid value. By doing so, the quantization parameter correction device 100 prevents the quantization step size ⁇ ⁇ 1 in the quantization and the inverse quantization when the adaptive color conversion and the conversion skip are applied. Can be corrected.
  • the encoder or decoder executes the quantization or inverse quantization of the coefficient data of the image using the quantization parameter corrected in this way, it does not matter whether the conversion is skipped or the non-conversion skip is performed. , The reduction of PSNR can be suppressed, and the reduction of coding efficiency can be suppressed.
  • mts_idx may be applied instead of transform_skip_flag to notify whether conversion is skipped or not as one mode of mts_idx. That is, the quantization parameter correction device 160 (second correction unit 162) may acquire mts_idx instead of transform_skip_flag and determine whether or not conversion skip is applied based on the value. In addition, QpPrimeTsMin may be notified for each component (Y, Cb, Cr, CbCr).
  • the quantization parameter correction device 160 acquires the QpPrimeTsMin corresponding to the component identifier cIdx, and uses the QpPrimeTsMin corresponding to the component identifier cIdx to lower the lower limit of the first correction quantization parameter qP'. May be clipped.
  • the first correction unit 161 of the quantization parameter correction device 160 determines whether or not the condition 1 is satisfied in step S161 to determine whether or not to apply the adaptive color conversion. Is determined. This condition 1 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 1 is satisfied (that is, the adaptive color conversion is applied), the process proceeds to step S162.
  • step S162 the first correction unit 161 adds the correction amount dqPx corresponding to the component identifier cIdx to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. To do.
  • This process is executed in the same manner as the process of step S102 of FIG.
  • step S162 When the process of step S162 is completed, the process proceeds to step S164. If it is determined in step S161 that the condition 1 is not satisfied (that is, the adaptive color conversion is not applied), the process proceeds to step S163.
  • step S163 the first correction unit 161 adds the correction amount “0” to the CU level quantization parameter qPx corresponding to the component identifier cIdx, and derives the first correction quantization parameter qP'. This process is executed in the same manner as the process of step S103 of FIG.
  • step S163 When the process of step S163 is completed, the process proceeds to step S164.
  • step S164 the second correction unit 162 determines whether or not the conversion is skipped by determining whether or not the condition 2 is satisfied. This condition 2 is the same as in the case of the first embodiment (FIG. 3). If it is determined that the condition 2 is satisfied (that is, the conversion is skipped), the process proceeds to step S165.
  • step S165 the second correction unit 162 clips the upper and lower limits of the first correction quantization parameter qP'using (63 + QpBdOffset) and QpPrimeTsMin, and derives the second correction quantization parameter qP''. To do. That is, the second correction unit 162 executes the calculation of the following equation (19).
  • step S165 the quantization parameter correction process is completed. If it is determined in step S164 that the condition 2 is not satisfied (that is, non-conversion skip is performed), the process proceeds to step S166.
  • step S166 the second correction unit 162 clips the upper limit and the lower limit of the first correction quantization parameter qP'using (63 + QpBdOffset) and the value "0", and the second correction quantization parameter qP'. 'Derived. That is, the second correction unit 162 executes the calculation of the above-mentioned equation (15).
  • step S166 When the process of step S166 is completed, the quantization parameter correction process is completed.
  • the quantization parameter correction device 100 can perform the quantization step size ⁇ ⁇ 1 in the quantization or the inverse quantization when the adaptive color conversion and the conversion skip are applied.
  • the quantization parameter can be corrected so that Therefore, for example, the encoder or decoder can suppress the reduction of PSNR by executing the quantization or the inverse quantization of the coefficient data of the image by using the quantization parameter corrected in this way, and the code can be used. It is possible to suppress the reduction of the conversion efficiency.
  • the present technology can be applied to any device, device, system, or the like.
  • the present technology can be applied to an image coding device that encodes image data.
  • FIG. 10 is a block diagram showing an example of the configuration of an image coding device, which is an aspect of an image processing device to which the present technology is applied.
  • the image coding device 300 shown in FIG. 10 is a device that encodes image data of a moving image.
  • the image coding apparatus 300 uses a coding method such as VVC (Versatile Video Coding), AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding) described in the above-mentioned non-patent document to obtain image data of a moving image. Encode.
  • VVC Very Video Coding
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • FIG. 10 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the image coding apparatus 300, there may be a processing unit that is not shown as a block in FIG. 10, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. This also applies to other figures for explaining the processing unit and the like in the image coding apparatus 300.
  • the image coding device 300 includes a control unit 301, a sorting buffer 311, a calculation unit 312, a conversion quantization unit 313, a coding unit 314, and a storage buffer 315. Further, the image coding device 300 includes an inverse quantization inverse conversion unit 316, an arithmetic unit 317, an in-loop filter unit 318, a frame memory 319, a prediction unit 320, and a rate control unit 321.
  • the control unit 301 divides the moving image data held by the sorting buffer 311 into blocks (CU, PU, TU, etc.) of the processing unit based on the block size of the external or predetermined processing unit. Further, the control unit 301 determines the coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to be supplied to each block based on, for example, RDO (Rate-Distortion Optimization). To do. For example, the control unit 301 can set a conversion skip flag or the like.
  • control unit 301 determines the coding parameters as described above, the control unit 301 supplies them to each block. Specifically, it is as follows.
  • Header information Hinfo is supplied to each block.
  • the prediction mode information Pinfo is supplied to the coding unit 314 and the prediction unit 320.
  • the conversion information Tinfo is supplied to the coding unit 314, the conversion quantization unit 313, and the inverse quantization and inverse conversion unit 316.
  • the filter information Finfo is supplied to the coding unit 314 and the in-loop filter unit 318.
  • ⁇ Sort buffer> Each field (input image) of moving image data is input to the image coding device 300 in the reproduction order (display order).
  • the sorting buffer 311 acquires and holds (stores) each input image in its reproduction order (display order).
  • the sorting buffer 311 sorts the input images in the coding order (decoding order) or divides the input images into blocks of processing units based on the control of the control unit 301.
  • the sorting buffer 311 supplies each input image after processing to the calculation unit 312.
  • the calculation unit 312 subtracts the prediction image P supplied from the prediction unit 320 from the image corresponding to the block of the processing unit supplied from the sorting buffer 311 to derive the residual data D, and converts it into a conversion quantum. It is supplied to the chemical unit 313.
  • the conversion quantization unit 313 executes a process related to the conversion quantization. For example, the conversion quantization unit 313 acquires the residual data D supplied from the calculation unit 312. Further, the conversion quantization unit 313 acquires the prediction mode information Pinfo and the conversion information Tinfo supplied from the control unit 301. The conversion quantization unit 313 executes the conversion quantization process on the residual data D based on the prediction mode information Pinfo and the conversion information Tinfo, and derives the quantization coefficient data level. In the conversion quantization process, for example, processing such as adaptive color conversion, orthogonal transformation, and quantization is executed.
  • the conversion quantization unit 313 supplies the derived quantization coefficient data level to the coding unit 314 and the inverse quantization inverse conversion unit 316.
  • the coding unit 314 acquires the quantization coefficient data level (or residual data D) supplied from the conversion quantization unit 313. Further, the coding unit 314 acquires various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) supplied from the control unit 301. Further, the coding unit 314 acquires information about the filter such as the filter coefficient supplied from the in-loop filter unit 318. In addition, the coding unit 314 acquires information on the optimum prediction mode supplied from the prediction unit 320.
  • the coding unit 314 entropi-codes (losslessly codes) the quantization coefficient data level or the residual data D to generate a bit string (coded data).
  • the coding unit 314 may apply, for example, CABAC (Context-based Adaptive Binary Arithmetic Code) as this entropy coding.
  • the coding unit 314 may apply, for example, CAVLC (Context-based Adaptive Variable Length Code) as this entropy coding.
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • CAVLC Context-based Adaptive Variable Length Code
  • the content of this entropy coding is arbitrary and is not limited to these examples.
  • the coding unit 314 derives the residual information Rinfo from the quantization coefficient level, encodes the residual information Rinfo, and generates a bit string.
  • the coding unit 314 includes the information about the filter supplied from the in-loop filter unit 318 in the filter information Finfo, and includes the information about the optimum prediction mode supplied from the prediction unit 320 in the prediction mode information Pinfo. Then, the coding unit 314 encodes the various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) described above to generate a bit string.
  • the coding unit 314 multiplexes the bit strings of the various information generated as described above to generate the coded data.
  • the coding unit 314 supplies the coded data to the storage buffer 315.
  • the storage buffer 315 temporarily holds the coded data obtained in the coding unit 314.
  • the storage buffer 315 outputs the held coded data as, for example, a bit stream or the like to the outside of the image coding device 300 at a predetermined timing.
  • this coded data is transmitted to the decoding side via an arbitrary recording medium, an arbitrary transmission medium, an arbitrary information processing device, or the like. That is, the storage buffer 315 is also a transmission unit that transmits coded data (bit stream).
  • the inverse quantization inverse transformation unit 316 executes the process related to the inverse quantization inverse transformation. For example, the inverse quantization inverse conversion unit 316 acquires the quantization coefficient data level supplied from the conversion quantization unit 313. For example, the inverse quantization inverse conversion unit 316 acquires the conversion information Tinfo supplied from the control unit 301.
  • the inverse quantization inverse transformation unit 316 executes the inverse quantization inverse transformation process on the quantization coefficient data level based on the transformation information Tinfo, and derives the residual data D'.
  • This inverse quantization inverse transformation process is an inverse process of the transformation quantization process executed in the transformation quantization unit 313. That is, in the inverse quantization inverse transformation process, for example, processes such as inverse quantization, inverse orthogonal transformation, and inverse adaptive color transformation are executed.
  • the inverse quantization is an inverse process of quantization executed in the transformation quantization unit 313.
  • the inverse orthogonal transformation is an inverse process of the orthogonal transformation executed in the transformation quantization unit 313.
  • the inverse adaptive color conversion is an inverse process of the adaptive color conversion executed in the conversion quantization unit 313.
  • the processing included in the inverse quantization inverse transformation processing is arbitrary, and some of the above-mentioned processing may be omitted, or processing other than the above-mentioned processing may be included.
  • the inverse quantization inverse transformation unit 316 supplies the derived residual data D'to the arithmetic unit 317.
  • the inverse quantization inverse conversion unit 316 Since the inverse quantization inverse conversion unit 316 is the same as the inverse quantization inverse conversion unit (described later) on the decoding side, the inverse quantization inverse conversion unit 316 will be described on the decoding side (described later). Can be applied.
  • the calculation unit 317 acquires the residual data D'supplied from the inverse quantization inverse conversion unit 316 and the prediction image P supplied from the prediction unit 320.
  • the calculation unit 317 adds the residual data D'and the predicted image corresponding to the residual data D'to derive a locally decoded image.
  • the calculation unit 317 supplies the derived locally decoded image to the in-loop filter unit 318 and the frame memory 319.
  • the in-loop filter unit 318 executes a process related to the in-loop filter process.
  • the in-loop filter unit 318 acquires a locally decoded image supplied from the calculation unit 317.
  • the in-loop filter unit 318 acquires the filter information Finfo supplied from the control unit 301.
  • the in-loop filter unit 318 acquires an input image (original image) supplied from the sorting buffer 311.
  • the information input to the in-loop filter unit 318 is arbitrary, and information other than these information may be input. For example, even if the prediction mode, motion information, code amount target value, quantization parameter QP, picture type, block (CU, CTU, etc.) information and the like are input to the in-loop filter unit 318 as necessary. Good.
  • the in-loop filter unit 318 appropriately performs a filter process on the locally decoded image based on the filter information Finfo.
  • the in-loop filter unit 318 also uses an input image (original image) and other input information for the filter processing, if necessary.
  • the in-loop filter unit 318 may apply a bilateral filter as its filter processing.
  • the in-loop filter unit 318 may apply a deblocking filter (DBF (DeBlocking Filter)) as its filter processing.
  • the in-loop filter unit 318 may apply an adaptive offset filter (SAO (Sample Adaptive Offset)) as its filter processing.
  • the in-loop filter unit 318 may apply an adaptive loop filter (ALF (Adaptive Loop Filter)) as its filter processing.
  • ALF adaptive Loop Filter
  • the in-loop filter unit 318 can apply a plurality of filters among these in combination as a filter process. It should be noted that which filter is applied and which order is applied is arbitrary and can be appropriately selected.
  • the in-loop filter unit 318 applies four in-loop filters, a bilateral filter, a deblocking filter, an adaptive offset filter, and an adaptive loop filter, in this order as filter processing.
  • the filter processing executed by the in-loop filter unit 318 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 318 may apply a Wiener filter or the like.
  • the in-loop filter unit 318 supplies the filtered locally decoded image to the frame memory 319.
  • the in-loop filter unit 318 supplies information about the filter to the coding unit 314.
  • the frame memory 319 executes a process related to storage of data related to an image. For example, the frame memory 319 acquires the locally decoded image supplied from the arithmetic unit 317 and the filtered locally decoded image supplied from the in-loop filter unit 318, and holds (stores) them. Further, the frame memory 319 reconstructs and holds the decoded image for each picture unit using the locally decoded image (stored in the buffer in the frame memory 319). The frame memory 319 supplies the decoded image (or a part thereof) to the prediction unit 320 in response to the request of the prediction unit 320.
  • the prediction unit 320 executes a process related to the generation of the prediction image. For example, the prediction unit 320 acquires the prediction mode information Pinfo supplied from the control unit 301. For example, the prediction unit 320 acquires an input image (original image) supplied from the sorting buffer 311. For example, the prediction unit 320 acquires a decoded image (or a part thereof) read from the frame memory 319.
  • the prediction unit 320 executes prediction processing such as inter-prediction and intra-prediction using the prediction mode information Pinfo and the input image (original image). That is, the prediction unit 320 refers to the decoded image as a reference image, executes prediction and motion compensation, and generates a prediction image P.
  • the prediction unit 320 supplies the generated prediction image P to the calculation unit 312 and the calculation unit 317. Further, the prediction unit 320 supplies information regarding the prediction mode selected by the above processing, that is, the optimum prediction mode, to the coding unit 314 as needed.
  • the rate control unit 321 executes a process related to rate control. For example, the rate control unit 321 controls the rate of the quantization operation of the conversion quantization unit 313 based on the code amount of the coded data stored in the storage buffer 315 so that overflow or underflow does not occur.
  • Control unit> For example, when the above-mentioned "method 1" is applied, the control unit 301 derives the CU-level quantization parameter qPx corresponding to the component identifier cIdx and supplies it to the conversion quantization unit 313 and the inverse quantization inverse conversion unit 316. To do. The control unit 301 derives cu_act_enabled_flag as a parameter related to adaptive color conversion and supplies it to the conversion quantization unit 313 and the inverse quantization inverse conversion unit 316.
  • the control unit 301 derives the correction amount dqPx corresponding to the component identifier cIdx as a parameter related to the adaptive color conversion, and supplies the correction amount dqPx to the conversion quantization unit 313 and the inverse quantization inverse conversion unit 316.
  • the control unit 301 derives the transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to the conversion skip, and supplies the transform_skip_flag [xTbY] [yTbY] [cIdx] to the transformation quantization unit 313 and the inverse quantization inverse conversion unit 316.
  • the control unit 301 derives the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip, and supplies it to the conversion quantization unit 313 and the inverse quantization inverse conversion unit 316.
  • the control unit 301 also supplies these parameters to the coding unit 314.
  • control unit 301 sets the parameters to be supplied when the "method 1" is applied to the conversion quantization unit 313, the inverse quantization inverse conversion unit 316, and the coding unit. Supply to 314.
  • control unit 301 supplies the minimum value “0” of the quantization parameter at the time of non-conversion skip to the inverse quantization inverse conversion unit 316 and the coding unit 314 as parameters related to the conversion skip. ..
  • control unit 301 sets the parameters to be supplied when the "method 1" is applied to the conversion quantization unit 313, the inverse quantization inverse conversion unit 316, and the coding unit. Supply to 314. In addition to these parameters, the control unit 301 supplies the correction amount QpBdOffset corresponding to the bit depth to the conversion quantization unit 313, the inverse quantization inverse conversion unit 316, and the coding unit 314.
  • control unit 301 sets the parameters to be supplied when the "method 3" is applied to the conversion quantization unit 313, the inverse quantization inverse conversion unit 316, and the coding unit. Supply to 314.
  • the conversion quantization unit 313 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the conversion quantization unit 313 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The conversion quantization unit 313 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the transformation quantization unit 313 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the conversion quantization unit 313 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the conversion quantization unit 313 executes the conversion quantization process using the acquired parameters.
  • the conversion quantization unit 313 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the conversion quantization unit 313 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The conversion quantization unit 313 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the transformation quantization unit 313 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the conversion quantization unit 313 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the conversion quantization unit 313 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the conversion quantization unit 313 executes the conversion quantization process using the acquired parameters.
  • the conversion quantization unit 313 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the conversion quantization unit 313 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The conversion quantization unit 313 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the transformation quantization unit 313 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the conversion quantization unit 313 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the conversion quantization unit 313 acquires the correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 301 as a parameter related to conversion skip.
  • the conversion quantization unit 313 executes the conversion quantization process using the acquired parameters.
  • the conversion quantization unit 313 acquires the same parameters as those acquired when the "method 3" is applied.
  • the conversion quantization unit 313 executes the conversion quantization process using the acquired parameters.
  • FIG. 11 is a block diagram showing a main configuration example of the conversion quantization unit 313 of FIG. As shown in FIG. 11, the conversion quantization unit 313 includes an adaptive color conversion unit 341, an orthogonal transformation unit 342, and a quantization unit 343.
  • the adaptive color conversion unit 341 executes processing related to the adaptive color conversion (ALT). For example, the adaptive color conversion unit 341 acquires the residual data res_x (that is, the residual data D in FIG. 10) supplied from the calculation unit 312. The adaptive color conversion unit 341 acquires the cu_act_enabled_flag supplied from the control unit 301. The adaptive color conversion unit 341 executes adaptive color conversion for the residual data res_x based on the value of cu_act_enabled_flag. For example, when cu_act_enabled_flag is true (for example, "1"), the adaptive color conversion unit 341 executes the operation as shown in the above equation (1), and the residual data res_x composed of R, G, and B components.
  • ALT adaptive color conversion
  • adaptive color conversion coefficient data res_x'consisting of Y, Cg, and Co components is generated.
  • the adaptive color conversion unit 341 supplies the generated adaptive color conversion coefficient data res_x'to the orthogonal transformation unit 342.
  • Orthogonal conversion unit 342 executes processing related to orthogonal transformation.
  • the orthogonal transform unit 342 acquires the adaptive color conversion coefficient data res_x'supplied from the adaptive color conversion unit 341.
  • the orthogonal transform unit 342 acquires the conversion information Tinfo and the prediction mode information Pinfo supplied from the control unit 301.
  • the orthogonal transform unit 342 can acquire information such as transform_skip_flag, mts_idx, and lfnst_idx as conversion information Tinfo.
  • the orthogonal transformation unit 342 performs orthogonal transformation of the adaptive color conversion coefficient data res_x'using the acquired information, and generates orthogonal transformation coefficient data coef_x.
  • the orthogonal transformation unit 342 supplies the generated orthogonal transformation coefficient data coef_x to the quantization unit 343.
  • the quantization unit 343 executes processing related to quantization. For example, the quantization unit 343 acquires the orthogonal transformation coefficient data coeff_x supplied from the orthogonal transform unit 342. The quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x and generates the quantization coefficient data qcoef_x. The quantization unit 343 supplies the generated quantization coefficient data qcoef_x (that is, the quantization coefficient data level in FIG. 10) to the coding unit 314 and the inverse quantization inverse conversion unit 316.
  • the quantization unit 343 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization unit 343 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization unit 343 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization unit 343 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x using the acquired parameters, and generates the quantization coefficient data qcoef_x.
  • the quantization unit 343 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization unit 343 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization unit 343 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization unit 343 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x using the acquired parameters, and generates the quantization coefficient data qcoef_x.
  • the quantization unit 343 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization unit 343 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization unit 343 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization unit 343 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 acquires the correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x using the acquired parameters, and generates the quantization coefficient data qcoef_x.
  • the quantization unit 343 acquires the same parameters as those acquired when the "method 3" is applied.
  • the quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x using the acquired parameters, and generates the quantization coefficient data qcoef_x.
  • FIG. 12 is a block diagram showing a main configuration example of the quantization unit 343 of FIG. As shown in FIG. 12, the quantization unit 343 has a quantization parameter correction unit 351 and a quantization processing unit 352.
  • the quantization parameter correction unit 351 executes a process related to the correction of the quantization parameter. For example, the quantization parameter correction unit 351 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx. The quantization parameter correction unit 351 corrects the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and supplies the corrected quantization parameter, which is the corrected quantization parameter, to the quantization processing unit 352.
  • the quantization processing unit 352 executes processing related to quantization. For example, the quantization processing unit 352 acquires the orthogonal transformation coefficient data coef_x supplied from the orthogonal transform unit 342. The quantization processing unit 352 acquires the correction quantization parameter supplied from the quantization parameter correction unit 351. The quantization processing unit 352 quantizes the orthogonal transformation coefficient data coef_x using the corrected quantization parameter, and generates the quantization coefficient data qcoef_x. The quantization processing unit 352 supplies the generated quantization coefficient data qcoef_x (that is, the quantization coefficient data level in FIG. 10) to the coding unit 314 and the inverse quantization inverse conversion unit 316.
  • the quantization parameter correction unit 351 corrects the quantization parameter based on the parameter related to adaptive color conversion, and further, based on the parameter related to conversion skip. To correct.
  • the quantization processing unit 352 quantizes the coefficient data of the image to be encoded by using the correction quantization parameter which is the quantization parameter corrected by the quantization parameter correction unit 351.
  • the quantization parameter correction device 100 (FIG. 2) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization parameter correction unit 351 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 351 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 351 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 corrects qPx by the method described in the first embodiment using the acquired cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], and QpPrimeTsMin. That is, the quantization parameter correction unit 351 executes an operation such as the equation (5) or the equation (6) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 351 supplies the generated second correction quantization parameter qP'' to the quantization processing unit 352.
  • the quantization parameter correction unit 351 corrects the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur in the quantization when the adaptive color conversion and the conversion skip are applied. Can be done. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 120 (FIG. 4) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization parameter correction unit 351 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 351 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 351 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the quantization parameter correction unit 351 uses the acquired cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and the value "0" in a manner as described in the second embodiment. Correct qPx. That is, the quantization parameter correction unit 351 executes an operation such as the equation (5) or the equation (13) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 351 supplies the generated second correction quantization parameter qP'' to the quantization processing unit 352.
  • the quantization parameter correction unit 351 prevents the quantization step size ⁇ ⁇ 1 in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameter can be corrected. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 140 (FIG. 6) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the quantization parameter correction unit 351 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 351 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 351 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 acquires a correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 301 as a parameter related to conversion skip.
  • the quantization parameter correction unit 351 uses the acquired cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and QpBdOffset to correct qPx in the manner described in the third embodiment. To do. That is, the quantization parameter correction unit 351 executes an operation such as the equation (16) or the equation (17) to generate the third correction quantization parameter qP'''. The quantization parameter correction unit 351 supplies the generated third correction quantization parameter qP'''to the quantization processing unit 352.
  • the value of the quantized parameter after correction falls within the range of the minimum value to the maximum value of the quantized parameter regardless of whether or not the conversion skip is applied.
  • the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. That is, the quantization parameter correction unit 351 performs the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not. Can be corrected.
  • the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 160 (FIG. 8) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 acquires the same parameters as in the case of "Method 3".
  • the quantization parameter correction unit 351 uses those parameters (cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and QpBdOffset) in a manner as described in the fourth embodiment. Correct qPx. That is, the quantization parameter correction unit 351 executes an operation such as the equation (18) or the equation (17) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 351 supplies the generated second correction quantization parameter qP'' to the quantization processing unit 352.
  • the quantization parameter correction unit 351 performs the quantization step in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameter can be corrected so that the size ⁇ ⁇ 1. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the coding unit 314 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the coding unit 314 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The coding unit 314 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the coding unit 314 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 encodes those acquired parameters, generates a bit string, and includes the acquired parameters in the coded data.
  • this information is signaled. That is, this information is supplied to the decoding side device (decoder or the like). Therefore, the decoding side device can correct the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur when the adaptive color conversion and the conversion skip are applied in the decoding process. Therefore, the decoding side device can perform inverse quantization using the quantization parameter corrected in this way in the decoding process. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding-side device can realize suppression of reduction in coding efficiency.
  • the coding unit 314 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the coding unit 314 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The coding unit 314 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the coding unit 314 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 301, as a parameter related to the conversion skip.
  • the coding unit 314 encodes those acquired parameters, generates a bit string, and includes the acquired parameters in the coded data.
  • this information is signaled. That is, this information is supplied to the decoding side device (decoder or the like). Therefore, the decoding side device sets the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur when the adaptive color conversion is applied regardless of whether or not the conversion skip is applied in the decoding process. It can be corrected. Therefore, the decoding side device can perform inverse quantization using the quantization parameter corrected in this way in the decoding process. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding-side device can realize suppression of reduction in coding efficiency.
  • the coding unit 314 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 301. Further, the coding unit 314 acquires the cu_act_enabled_flag supplied from the control unit 301 as a parameter related to the adaptive color conversion. The coding unit 314 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to the adaptive color conversion.
  • the coding unit 314 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 acquires the correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 301 as a parameter related to conversion skip.
  • the coding unit 314 encodes those acquired parameters, generates a bit string, and includes the acquired parameters in the coded data.
  • this information is signaled. That is, this information is supplied to the decoding side device (decoder or the like). Therefore, the corrected quantization parameter value falls within the range of the minimum value to the maximum value of the quantization parameter regardless of whether or not the conversion skip is applied in the decoding process by the decoding side device. Further, in the case of conversion skip, the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. That is, the decoding side device corrects the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur when the adaptive color conversion is applied regardless of whether or not the conversion skip is applied in the decoding process. can do. Therefore, the decoding side device can perform inverse quantization using the quantization parameter corrected in this way in the decoding process. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding-side device can realize suppression of reduction in coding efficiency.
  • the coding unit 314 acquires the same parameters as in the case of "method 3".
  • the coding unit 314 encodes those acquired parameters (cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and QpBdOffset), generates a bit string, and includes it in the coded data.
  • this information is signaled. That is, this information is supplied to the decoding side device (decoder or the like). Therefore, also in this case, the decoding side device does not have the quantization step size ⁇ ⁇ 1 when the adaptive color conversion is applied regardless of whether or not the conversion skip is applied in the decoding process. Quantization parameters can be corrected. Therefore, the decoding side device can perform inverse quantization using the quantization parameter corrected in this way in the decoding process. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding-side device can realize suppression of reduction in coding efficiency.
  • step S301 the sorting buffer 311 is controlled by the control unit 301 to sort the frame order of the input moving image data from the display order to the coding order.
  • step S302 the control unit 301 sets a processing unit (divides a block) for the input image held by the sorting buffer 311.
  • step S303 the control unit 301 sets coding parameters (for example, header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, etc.) for the input image held by the sorting buffer 311.
  • coding parameters for example, header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, etc.
  • step S304 the prediction unit 320 executes prediction processing and generates a prediction image or the like of the optimum prediction mode. For example, in this prediction process, the prediction unit 320 executes intra-prediction to generate a prediction image or the like of the optimum intra-prediction mode, and executes inter-prediction to generate a prediction image or the like of the optimum inter-prediction mode. From them, the optimum prediction mode is selected based on the cost function value and the like.
  • step S305 the calculation unit 312 calculates the difference between the input image and the prediction image of the optimum mode selected by the prediction processing in step S304. That is, the calculation unit 312 generates the residual data D between the input image and the predicted image.
  • the amount of residual data D thus obtained is smaller than that of the original image data. Therefore, the amount of data can be compressed as compared with the case where the image is encoded as it is.
  • step S306 the conversion quantization unit 313 executes the conversion quantization process on the residual data D generated by the process of step S305 by using the coding parameters such as the conversion information Tinfo generated in step S303. And generate the quantization coefficient data level.
  • step S307 the inverse quantization inverse conversion unit 316 uses the coding parameters such as the conversion information Tinfo generated in step S303 to inversely quantize the inverse quantization coefficient data level with respect to the quantization coefficient data level generated in step S306. Execute the conversion process and generate the residual data D'.
  • This inverse quantization inverse transformation process is the inverse process of the transformation quantization process in step S306.
  • the same processing is executed in the decoding side device (image decoding device 400) described later. Therefore, this inverse quantization inverse transformation process will be described as a process of the decoding side device (image decoding device 400). Then, the description can be applied to this inverse quantization inverse transformation process (step S307).
  • step S308 the calculation unit 317 locally decodes the residual data D'obtained by the inverse quantization and inverse transformation processing of step S307 by adding the predicted image obtained by the prediction processing of step S304. Generate the decoded image.
  • step S309 the in-loop filter unit 318 executes the in-loop filter process on the locally decoded decoded image derived by the process of step S308.
  • step S310 the frame memory 319 stores the locally decoded decoded image derived by the process of step S308 and the locally decoded decoded image filtered in step S309.
  • step S311 the coding unit 314 encodes the quantization coefficient data level obtained by the conversion quantization process of step S306 to generate the coded data.
  • the coding unit 314 encodes various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo). Further, the coding unit 314 derives the residual information RInfo from the quantization coefficient data level and encodes the residual information RInfo.
  • step S312 the storage buffer 315 stores the coded data thus obtained and outputs it as a bit stream to the outside of the image coding device 300, for example.
  • This bit stream is transmitted to the decoding side device via, for example, a transmission line or a recording medium.
  • the rate control unit 321 controls the rate as needed.
  • the adaptive color conversion unit 341 adapts the residual data res_x generated by the process of step S305 based on the cu_act_enabled_flag generated in step S303 (FIG. 13) in step S341. Color conversion is performed and adaptive color conversion coefficient data res_x'is generated.
  • step S342 the orthogonal transform unit 342 orthogonally transforms the adaptive color conversion coefficient data res_x'generated in step S341 by using the conversion information Tinfo, the prediction mode information Pinfo, etc. generated in step S303 (FIG. 13). , Orthogonal transformation coefficient data coef_x is generated.
  • step S343 the quantization unit 343 quantizes the orthogonal transformation coefficient data coef_x generated in step S342 using the conversion information Tinfo and the like generated in step S303 (FIG. 13), and generates the quantization coefficient data qcoef_x. To do.
  • step S343 the process returns to FIG.
  • the quantization parameter correction unit 351 executes the quantization parameter correction process in step S351, corrects the quantization parameter, and generates the corrected quantization parameter.
  • step S352 the quantization processing unit 352 quantizes the orthogonal transformation coefficient data coef_x generated in step S342 (FIG. 14) using the correction quantization parameter generated in step S351, and obtains the quantization coefficient data qcoef_x. Generate.
  • step S352 When the process of step S352 is completed, the quantization process is completed, and the process returns to FIG.
  • Quantization parameter correction> ⁇ 2.
  • First Embodiment> ⁇ 3.
  • Second Embodiment> ⁇ 4.
  • Third Embodiment> and ⁇ 5.
  • the present technique described above can be applied in the fourth embodiment>.
  • step S351 the quantization parameter correction unit 351 corrects the quantization parameter based on the parameter related to the adaptive color conversion, and further relates to the conversion skip. Correct based on the parameters.
  • step S352 the quantization processing unit 352 quantizes the coefficient data of the image to be encoded by using the corrected quantization parameter which is the corrected quantization parameter.
  • the quantization parameter correction unit 351 applies the quantization parameter correction process described with reference to the flowchart of FIG. 3 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 351 executes an operation such as the equation (5) or the equation (6) to generate the second correction quantization parameter qP''.
  • the quantization parameter correction unit 351 corrects the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur in the quantization when the adaptive color conversion and the conversion skip are applied. Can be done. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 351 applies the quantization parameter correction process described with reference to the flowchart of FIG. 5 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 351 executes an operation such as the equation (5) or the equation (13) to generate the second correction quantization parameter qP''.
  • the quantization parameter correction unit 351 prevents the quantization step size ⁇ ⁇ 1 in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameter can be corrected. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 351 applies the quantization parameter correction process described with reference to the flowchart of FIG. 7 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 351 executes an operation such as the equation (16) or the equation (17) to generate the third correction quantization parameter qP'''.
  • the value of the quantized parameter after correction falls within the range of the minimum value to the maximum value of the quantized parameter regardless of whether or not the conversion skip is applied.
  • the lower limit of the quantization parameter is further clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. That is, the quantization parameter correction unit 351 performs the quantization parameter so that the quantization step size ⁇ ⁇ 1 does not occur in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not. Can be corrected.
  • the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 351 applies the quantization parameter correction process described with reference to the flowchart of FIG. 9 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 351 executes an operation such as the equation (18) or the equation (17) to generate the second correction quantization parameter qP''.
  • the quantization step size ⁇ ⁇ 1 does not occur in the quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • Quantization parameters can be corrected. Therefore, when the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, the quantization unit 343 (conversion quantization unit 313) suppresses the reduction of PSNR. be able to. Therefore, the image coding device 300 can suppress the reduction of the coding efficiency.
  • the coding unit 314 encodes various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo).
  • the coding unit 314 encodes the above-mentioned various parameters applied to the correction of the quantization parameter as the coding parameter.
  • the encoding unit 314 corresponds to the CU level quantization parameters qPx and cu_act_enabled_flag corresponding to the component identifier cIdx, the correction amount dqPx corresponding to the component identifier cIdx, and the component identifier cIdx.
  • the coding unit 314 adds the minimum value "0" of the quantization parameter at the time of non-conversion skip, in addition to the parameter to be encoded when the "method 1" is applied. Is encoded.
  • the coding unit 314 encodes a correction amount QpBdOffset corresponding to the bit depth in addition to the parameter to be encoded when "method 1" is applied. To be.
  • the decoding side device can suppress the reduction of PSNR. Therefore, the decoding-side device can realize suppression of reduction in coding efficiency.
  • Image decoding device> The present technology (various methods) described above can also be applied to an image decoding device that decodes encoded data of image data.
  • FIG. 16 is a block diagram showing an example of the configuration of an image decoding device, which is an aspect of an image processing device to which the present technology is applied.
  • the image decoding device 400 shown in FIG. 16 is a device that decodes the coded data of the moving image.
  • the image decoding apparatus 400 decodes the encoded data of the moving image encoded by the encoding method such as VVC, AVC, HEVC, etc. described in the above-mentioned non-patent document.
  • the image decoding device 400 can decode the coded data (bit stream) generated by the image coding device 300 (FIG. 10) described above.
  • FIG. 16 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the image decoding apparatus 400, there may be a processing unit that is not shown as a block in FIG. 16, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. This also applies to other figures illustrating the processing unit and the like in the image decoding apparatus 400.
  • the image decoding device 400 includes a control unit 401, a storage buffer 411, a decoding unit 412, an inverse quantization inverse conversion unit 413, an arithmetic unit 414, an in-loop filter unit 415, a sorting buffer 416, and a frame memory. It includes 417 and a prediction unit 418.
  • the prediction unit 418 includes an intra prediction unit (not shown) and an inter prediction unit.
  • the control unit 401 executes a process related to decoding control. For example, the control unit 401 acquires the coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, filter information Finfo, etc.) included in the bit stream via the decoding unit 412. Further, the control unit 401 can estimate the coding parameters not included in the bit stream. Further, the control unit 401 controls decoding by controlling each processing unit (accumulation buffer 411 to prediction unit 418) of the image decoding device 400 based on the acquired (or estimated) coding parameter.
  • the control unit 401 controls decoding by controlling each processing unit (accumulation buffer 411 to prediction unit 418) of the image decoding device 400 based on the acquired (or estimated) coding parameter.
  • control unit 401 supplies the header information Hinfo to the inverse quantization inverse conversion unit 413, the prediction unit 418, and the in-loop filter unit 415. Further, the control unit 401 supplies the prediction mode information Pinfo to the inverse quantization inverse conversion unit 413 and the prediction unit 418. Further, the control unit 401 supplies the conversion information Tinfo to the inverse quantization inverse conversion unit 413. Further, the control unit 401 supplies the residual information Rinfo to the decoding unit 412. Further, the control unit 401 supplies the filter information Finfo to the in-loop filter unit 415.
  • each coding parameter may be supplied to an arbitrary processing unit.
  • other information may be supplied to an arbitrary processing unit.
  • Header information Hinfo includes header information such as VPS (Video Parameter Set), SPS (Sequence Parameter Set), PPS (Picture Parameter Set), PH (picture header), and SH (slice header).
  • the header information Hinfo includes, for example, image size (width PicWidth, height PicHeight), bit depth (brightness bitDepthY, color difference bitDepthC), color difference array type ChromaArrayType, maximum CU size MaxCUSize and minimum MinCUSize, quadtree division ( Maximum depth MaxQTDepth and minimum depth MinQTDepth of Quad-tree division (also called Quad-tree division) Maximum depth MaxBTDepth and minimum depth MinBTDepth of binary tree division (Binary-tree division), maximum value of conversion skip block MaxTSSize (also called maximum conversion skip block size) ), Information that defines the on / off flag (also called the valid flag) of each coding tool is included.
  • the on / off flags of the coding tool included in the header information Hinfo include the on / off flags related to the conversion and quantization processing shown below.
  • the on / off flag of the coding tool can also be interpreted as a flag indicating whether or not the syntax related to the coding tool exists in the coded data. Further, when the value of the on / off flag is 1 (true), it indicates that the coding tool can be used. When the value of the on / off flag is 0 (false), it indicates that the coding tool cannot be used. The interpretation of the flag value may be reversed.
  • the prediction mode information Pinfo includes, for example, information such as size information PBSize (prediction block size) of the processing target PB (prediction block), intra prediction mode information IPinfo, and motion prediction information MVinfo.
  • the intra prediction mode information IPinfo may include, for example, prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode in JCTVC-W1005, 7.3.8.5 Coding Unit syntax, and the brightness intra prediction mode IntraPredModeY derived from the syntax.
  • Intra-prediction mode information IPinfo includes, for example, inter-component prediction flag (ccp_flag (cclmp_flag)), multi-class linear prediction mode flag (mclm_flag), color difference sample position type identifier (chroma_sample_loc_type_idx), color difference MPM identifier (chroma_mpm_idx), and , IntraPredModeC, etc. derived from these syntaxes may be included.
  • inter-component prediction flag ccp_flag (cclmp_flag)
  • mclm_flag multi-class linear prediction mode flag
  • chroma_sample_loc_type_idx color difference MPM identifier
  • IntraPredModeC IntraPredModeC, etc. derived from these syntaxes may be included.
  • the multi-class linear prediction mode flag is information regarding the mode of linear prediction (linear prediction mode information). More specifically, the multi-class linear prediction mode flag (mclm_flag) is flag information indicating whether or not to set the multi-class linear prediction mode. For example, "0" indicates that it is a one-class mode (single class mode) (for example, CCLMP), and "1" indicates that it is a two-class mode (multi-class mode) (for example, MCLMP). ..
  • the color difference sample position type identifier (chroma_sample_loc_type_idx) is an identifier that identifies the type of pixel position of the color difference component (also referred to as the color difference sample position type).
  • this color difference sample position type identifier (chroma_sample_loc_type_idx) is transmitted (stored in) as information (chroma_sample_loc_info ()) regarding the pixel position of the color difference component.
  • the color difference MPM identifier (chroma_mpm_idx) is an identifier indicating which prediction mode candidate in the color difference intra prediction mode candidate list (intraPredModeCandListC) is designated as the color difference intra prediction mode.
  • the information included in the prediction mode information Pinfo is arbitrary, and information other than this information may be included.
  • the conversion information Tinfo may include, for example, the following information.
  • Width size TBWSize and height TBHSize of the conversion block to be processed Each TBWSize having a base of 2 and the radix of TBHSize may be log2TBWSize and log2TBHSize.
  • Conversion skip flag (ts_flag) A flag indicating whether to skip the (reverse) primary conversion and the (reverse) secondary conversion.
  • the information included in the conversion information Tinfo is arbitrary, and information other than this information may be included.
  • the residual information Rinfo (see, for example, 7.3.8.11 Residual Coding syntax of JCTVC-W1005) may contain, for example, the following information.
  • cbf (coded_block_flag): Residual data presence / absence flag last_sig_coeff_x_pos: Last non-zero coefficient X coordinate last_sig_coeff_y_pos: Last non-zero coefficient Y coordinate coded_sub_block_flag: Subblock non-zero coefficient presence / absence flag sig_coeff_flag: Non-zero coefficient presence / absence flag gr1_flag: Non-zero coefficient level Flag indicating whether it is greater than 1 (also called GR1 flag)
  • gr2_flag Flag indicating whether the level of non-zero coefficient is greater than 2 (also called GR2 flag) sign_flag: A sign indicating the positive or negative of the non-zero coefficient (also called a sign code) coeff_abs_level_remaining: Non-zero coefficient residual level (also called non-zero coefficient residual level)
  • the information included in the residual information Rinfo is arbitrary, and information other than this information may be included.
  • the filter information Finfo may include, for example, control information regarding each of the following filtering processes.
  • Control information for deblocking filter (DBF) Control information for pixel adaptive offset (SAO)
  • Control information for adaptive loop filter (ALF) Control information for other linear and nonlinear filters
  • a picture to which each filter is applied information for specifying an area in the picture, filter on / off control information for each CU, filter on / off control information for slice and tile boundaries, and the like may be included.
  • the information included in the filter information Finfo is arbitrary, and information other than this information may be included.
  • the storage buffer 411 acquires and holds (stores) the bit stream input to the image decoding device 400.
  • the storage buffer 411 extracts the coded data included in the stored bit stream at a predetermined timing or when a predetermined condition is satisfied, and supplies the coded data to the decoding unit 412.
  • the decoding unit 412 executes a process related to image decoding. For example, the decoding unit 412 acquires the coded data supplied from the storage buffer 411, and entropy-decodes (reversibly decodes) the syntax value of each syntax element from the bit string according to the definition of the syntax table. , Derivation of coding parameters.
  • This coding parameter may include information such as header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, and filter information Finfo. That is, the decoding unit 412 decodes and parses (analyzes and acquires) this information from the bit stream.
  • the decoding unit 412 executes such processing (decoding, parsing, etc.) according to the control of the control unit 401, and supplies the obtained information to the control unit 401.
  • the decoding unit 412 decodes the encoded data with reference to the residual information Rinfo. At that time, the decoding unit 412 applies entropy decoding (reversible decoding) such as CABAC or CAVLC. That is, the decoding unit 412 decodes the coded data by a decoding method corresponding to the coding method of the coding process executed by the coding unit 314 of the image coding device 300.
  • entropy decoding reversible decoding
  • the decoding unit 412 performs arithmetic decoding using a context model on the coded data, and derives the quantization coefficient data level of each coefficient position in each conversion block.
  • the decoding unit 412 supplies the derived quantization coefficient data level to the inverse quantization inverse conversion unit 413.
  • Inverse quantization and inverse transformation unit 413 executes processing related to inverse quantization and inverse coefficient transformation.
  • the inverse quantization inverse transformation unit 413 acquires the quantization coefficient data level supplied from the decoding unit 412.
  • Inverse quantization Inverse conversion unit 413 acquires coding parameters such as prediction mode information Pinfo and conversion information Tinfo supplied from control unit 401.
  • the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process on the quantization coefficient data level based on the coding parameters such as the prediction mode information Pinfo and the transformation information Tinfo, and generates the residual data D'. Derived.
  • This inverse quantization inverse transformation process is an inverse process of the transformation quantization process executed in the transformation quantization unit 313. That is, in the inverse quantization inverse transformation process, for example, processes such as inverse quantization, inverse orthogonal transformation, and inverse adaptive color transformation are executed.
  • the inverse quantization is an inverse process of quantization executed in the transformation quantization unit 313.
  • the inverse orthogonal transformation is an inverse process of the orthogonal transformation executed in the transformation quantization unit 313.
  • the inverse adaptive color conversion is an inverse process of the adaptive color conversion executed in the conversion quantization unit 313.
  • the processing included in the inverse quantization inverse transformation processing is arbitrary, and some of the above-mentioned processing may be omitted, or processing other than the above-mentioned processing may be included.
  • the inverse quantization inverse transformation unit 413 supplies the derived residual data D'to the arithmetic unit 414.
  • the calculation unit 414 executes a process related to the addition of information related to the image. For example, the calculation unit 414 acquires the residual data D'supplied from the inverse quantization inverse conversion unit 413 and the prediction image supplied from the prediction unit 418. The calculation unit 414 adds the residual data and the predicted image (predicted signal) corresponding to the residual data to derive a locally decoded image. The calculation unit 414 supplies the derived locally decoded image to the in-loop filter unit 415 and the frame memory 417.
  • the in-loop filter unit 415 executes a process related to the in-loop filter process. For example, the in-loop filter unit 415 acquires a locally decoded image supplied from the calculation unit 414. The in-loop filter unit 415 acquires the filter information Finfo supplied from the control unit 401. The information input to the in-loop filter unit 415 is arbitrary, and information other than these information may be input.
  • the in-loop filter unit 415 appropriately performs a filter process on the locally decoded image based on the filter information Finfo.
  • the in-loop filter unit 415 may apply a bilateral filter as its filter processing.
  • the in-loop filter unit 415 may apply a deblocking filter (DBF (DeBlocking Filter)) as its filter processing.
  • the in-loop filter unit 415 may apply an adaptive offset filter (SAO (Sample Adaptive Offset)) as its filter processing.
  • SAO Sample Adaptive Offset
  • the in-loop filter unit 415 may apply an adaptive loop filter (ALF (Adaptive Loop Filter)) as its filter processing.
  • ALF adaptive Loop Filter
  • the in-loop filter unit 415 can apply a plurality of filters among these in combination as a filter process.
  • the in-loop filter unit 415 applies four in-loop filters, a bilateral filter, a deblocking filter, an adaptive offset filter, and an adaptive loop filter, in this order as filter processing.
  • the in-loop filter unit 415 executes a filter process corresponding to the filter process executed by the coding side device (for example, the in-loop filter unit 318 of the image coding device 300).
  • the filter processing executed by the in-loop filter unit 415 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 415 may apply a Wiener filter or the like.
  • the in-loop filter unit 415 supplies the filtered locally decoded image to the sorting buffer 416 and the frame memory 417.
  • the sorting buffer 416 receives the locally decoded image supplied from the in-loop filter unit 415 as an input, and holds (stores) it.
  • the sorting buffer 416 reconstructs and holds (stores in the buffer) the decoded image for each picture unit using the locally decoded image.
  • the sorting buffer 416 sorts the obtained decoded images from the decoding order to the reproduction order.
  • the rearrangement buffer 416 outputs the rearranged decoded image group as moving image data to the outside of the image decoding apparatus 400.
  • the frame memory 417 executes a process related to storage of data related to an image. For example, the frame memory 417 acquires a locally decoded image supplied from the arithmetic unit 414, reconstructs the decoded image for each picture unit, and stores the decoded image in the buffer in the frame memory 417.
  • the frame memory 417 acquires the in-loop filtered locally decoded image supplied from the in-loop filter unit 415, reconstructs the decoded image for each picture unit, and stores it in the buffer in the frame memory 417. To do.
  • the frame memory 417 appropriately supplies the stored decoded image (or a part thereof) to the prediction unit 418 as a reference image.
  • the frame memory 417 may store header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc. related to the generation of the decoded image.
  • the prediction unit 418 executes a process related to the generation of the prediction image. For example, the prediction unit 418 acquires the prediction mode information Pinfo supplied from the control unit 401. Further, the prediction unit 418 acquires a decoded image (or a part thereof) read from the frame memory 417. The prediction unit 418 executes the prediction process in the prediction mode adopted at the time of coding based on the prediction mode information Pinfo, and generates a prediction image by referring to the decoded image as a reference image. The prediction unit 418 supplies the generated prediction image to the calculation unit 414.
  • the decoding unit 412 parses encoding parameters such as header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, and filter information Finfo from the bit stream.
  • the decoding unit 412 decodes the bit stream and parses the parameters used for correcting the quantization parameters supplied from the code-side device (for example, the image coding device 300).
  • the decoding unit 412 has a CU-level quantization parameter qPx and cu_act_enabled_flag corresponding to the component identifier cIdx, a correction amount dqPx corresponding to the component identifier cIdx, and a transform_skip_flag corresponding to the component identifier cIdx.
  • Parse parameters such as [xTbY] [yTbY] [cIdx] and QpPrimeTsMin, which is the minimum value of the quantization parameter when skipping conversion.
  • the decoding unit 412 sets the minimum value “0" of the quantization parameter at the time of non-conversion skip in addition to the parameter to be encoded when the "method 1" is applied. To parse. Further, when “method 3” or “method 4" is applied, the decoding unit 412 parses the correction amount QpBdOffset corresponding to the bit depth in addition to the parameters to be encoded when "method 1" is applied. ..
  • control unit 401 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx from the decoding unit 412 and supplies it to the inverse quantization inverse conversion unit 413. ..
  • the control unit 401 acquires cu_act_enabled_flag as a parameter related to adaptive color conversion from the decoding unit 412 and supplies it to the inverse quantization inverse conversion unit 413.
  • the control unit 401 acquires the correction amount dqPx corresponding to the component identifier cIdx as a parameter related to the adaptive color conversion from the decoding unit 412, and supplies the correction amount dqPx to the inverse quantization inverse conversion unit 413.
  • the control unit 401 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx as a parameter related to conversion skip from the decoding unit 412, and supplies the transform_skip_flag [xTbY] [cIdx] to the inverse quantization inverse conversion unit 413.
  • the control unit 401 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip as a parameter related to conversion skip from the decoding unit 412, and supplies it to the inverse quantization inverse conversion unit 413.
  • control unit 401 supplies the parameters supplied when the "method 1" is applied to the inverse quantization inverse conversion unit 413.
  • the control unit 401 supplies the minimum value “0” of the quantization parameter at the time of non-conversion skip to the inverse quantization inverse conversion unit 413 as a parameter related to the conversion skip.
  • control unit 401 supplies the parameters to be supplied when the "method 1" is applied to the inverse quantization inverse conversion unit 413.
  • control unit 401 supplies the correction amount QpBdOffset corresponding to the bit depth to the inverse quantization inverse conversion unit 413.
  • control unit 401 supplies the parameters to be supplied when the "method 3" is applied to the inverse quantization inverse conversion unit 413.
  • the inverse quantization inverse transformation unit 413 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the inverse quantization inverse conversion unit 413 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color transformation. The inverse quantization inverse transformation unit 413 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color transformation.
  • the inverse quantization inverse transformation unit 413 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • Inverse quantization Inverse conversion unit 413 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process using those acquired parameters.
  • the inverse quantization inverse conversion unit 413 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the inverse quantization inverse conversion unit 413 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color transformation. The inverse quantization inverse transformation unit 413 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color transformation.
  • the inverse quantization inverse transformation unit 413 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • Inverse quantization Inverse conversion unit 413 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • Inverse quantization Inverse conversion unit 413 acquires the minimum value "0" of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 401, as a parameter related to conversion skip.
  • the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process using those acquired parameters.
  • the inverse quantization inverse conversion unit 413 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the inverse quantization inverse conversion unit 413 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color transformation. The inverse quantization inverse transformation unit 413 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color transformation.
  • the inverse quantization inverse transformation unit 413 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • Inverse quantization Inverse conversion unit 413 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization inverse transformation unit 413 acquires the correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 401 as a parameter related to the conversion skip.
  • the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process using those acquired parameters.
  • the inverse quantization inverse conversion unit 413 acquires the same parameters as those acquired when the "method 3" is applied.
  • the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process using those acquired parameters.
  • FIG. 17 is a block diagram showing a main configuration example of the inverse quantization inverse transformation unit 413 of FIG.
  • the inverse quantization inverse conversion unit 413 has an inverse quantization unit 441, an inverse orthogonal transformation unit 442, and an inverse adaptive color transformation unit 443.
  • the inverse quantization unit 441 executes the process related to the inverse quantization. For example, the inverse quantization unit 441 acquires the quantization coefficient data qcoeff_x (that is, the quantization coefficient data level in FIG. 16) supplied from the decoding unit 412. The inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoeff_x and generates orthogonal transformation coefficient data coef_x. The inverse quantization unit 441 supplies the generated orthogonal transformation coefficient data coef_x to the inverse orthogonal transform unit 442.
  • the quantization coefficient data qcoeff_x that is, the quantization coefficient data level in FIG. 16
  • the inverse orthogonal transform unit 442 executes the process related to the inverse orthogonal transform. For example, the inverse orthogonal transform unit 442 acquires the orthogonal transform coefficient data coeff_x supplied from the inverse quantization unit 441. The inverse orthogonal transform unit 442 acquires the conversion information Tinfo and the prediction mode information Pinfo supplied from the control unit 401. For example, the inverse orthogonal transform unit 442 can acquire information such as transform_skip_flag, mts_idx, and lfnst_idx as conversion information Tinfo.
  • the inverse orthogonal transform unit 442 inversely transforms the orthogonal transform coefficient data coeff_x using the acquired information, and generates the adaptive color conversion coefficient data res_x'.
  • the inverse orthogonal transform unit 442 supplies the generated adaptive color conversion coefficient data res_x'to the inverse adaptive color conversion unit 443.
  • the reverse adaptive color conversion unit 443 executes the process related to the reverse adaptive color conversion. For example, the inverse adaptive color conversion unit 443 acquires the adaptive color conversion coefficient data res_x'supplied from the inverse orthogonal transform unit 442. The inverse adaptive color conversion unit 443 acquires the cu_act_enabled_flag supplied from the control unit 401. The inverse adaptive color conversion unit 443 executes adaptive color conversion for the residual data res_x based on the value of cu_act_enabled_flag. For example, when cu_act_enabled_flag is true (for example, "1"), the inverse adaptive color conversion unit 443 executes an operation as shown in the above equation (2), and performs adaptive color conversion composed of Y, Cg, and Co components.
  • the residual data res_x (that is, the residual data D in FIG. 10) composed of the components R, G, and B is generated.
  • the inverse adaptive color conversion unit 443 supplies the generated residual data res_x to the calculation unit 414.
  • the inverse quantization unit 441 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the inverse quantization unit 441 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The inverse quantization unit 441 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the inverse quantization unit 441 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoef_x using the acquired parameters, and generates the orthogonal transformation coefficient data coeff_x.
  • the inverse quantization unit 441 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. To do. Further, the inverse quantization unit 441 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The inverse quantization unit 441 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the inverse quantization unit 441 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 401, as a parameter related to the conversion skip.
  • the inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoef_x using the acquired parameters, and generates the orthogonal transformation coefficient data coeff_x.
  • the inverse quantization unit 441 acquires the CU-level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. To do. Further, the inverse quantization unit 441 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The inverse quantization unit 441 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the inverse quantization unit 441 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 acquires the correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 401 as a parameter related to conversion skip.
  • the inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoef_x using the acquired parameters, and generates the orthogonal transformation coefficient data coeff_x.
  • the inverse quantization unit 441 acquires the same parameters as those acquired when the "method 3" is applied.
  • the inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoef_x using the acquired parameters, and generates the orthogonal transformation coefficient data coeff_x.
  • FIG. 18 is a block diagram showing a main configuration example of the inverse quantization unit 441 of FIG. As shown in FIG. 18, the inverse quantization unit 441 has a quantization parameter correction unit 451 and an inverse quantization processing unit 452.
  • the quantization parameter correction unit 451 executes a process related to the correction of the quantization parameter. For example, the quantization parameter correction unit 451 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx. The quantization parameter correction unit 451 corrects the CU-level quantization parameter qPx corresponding to the component identifier cIdx, and supplies the corrected quantization parameter, which is the corrected quantization parameter, to the inverse quantization processing unit 452.
  • the dequantization processing unit 452 executes the processing related to the dequantization. For example, the inverse quantization processing unit 452 acquires the quantization coefficient data qcoef_x supplied from the decoding unit 412. The inverse quantization processing unit 452 acquires the correction quantization parameter supplied from the quantization parameter correction unit 451. The inverse quantization processing unit 452 inversely quantizes the quantization coefficient data qcoef_x using the corrected quantization parameter, and generates the orthogonal transformation coefficient data coef_x. The inverse quantization processing unit 452 supplies the generated orthogonal transformation coefficient data coef_x to the inverse orthogonal transformation unit 442.
  • the quantization parameter correction unit 451 corrects the quantization parameter based on the parameter related to the adaptive color conversion, and further, the parameter is corrected to the parameter related to conversion skip. Correct based on.
  • the inverse quantization processing unit 452 dequantizes the quantization coefficient data in which the coefficient data of the image is quantized by using the correction quantization parameter which is the quantization parameter corrected by the quantization parameter correction unit 451.
  • the quantization parameter correction device 100 (FIG. 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the quantization parameter correction unit 451 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 451 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 451 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 corrects qPx by the method described in the first embodiment using its cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], and QpPrimeTsMin. That is, the quantization parameter correction unit 451 executes an operation such as the equation (5) or the equation (6) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 451 supplies the generated second correction quantization parameter qP'' to the inverse quantization processing unit 452.
  • the quantization parameter correction unit 451 corrects the quantization parameter so that the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion and the conversion skip are applied. be able to. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 100 (FIG. 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the quantization parameter correction unit 451 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 451 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 451 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 acquires the minimum value “0” of the quantization parameter at the time of non-conversion skip, which is supplied from the control unit 401, as a parameter related to the conversion skip.
  • the quantization parameter correction unit 451 uses the cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and the value "0" in a manner as described in the second embodiment, qPx. To correct. That is, the quantization parameter correction unit 451 executes an operation such as the equation (5) or the equation (13) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 451 supplies the generated second correction quantization parameter qP'' to the inverse quantization processing unit 452.
  • the quantization parameter correction unit 451 does not have the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameters can be corrected. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 100 (FIG. 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 acquires the CU level quantization parameter qPx corresponding to the component identifier cIdx supplied from the control unit 401. Further, the quantization parameter correction unit 451 acquires the cu_act_enabled_flag supplied from the control unit 401 as a parameter related to the adaptive color conversion. The quantization parameter correction unit 451 acquires the correction amount dqPx corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to the adaptive color conversion.
  • the quantization parameter correction unit 451 acquires transform_skip_flag [xTbY] [yTbY] [cIdx] corresponding to the component identifier cIdx supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 acquires a correction amount QpBdOffset corresponding to the bit depth supplied from the control unit 401 as a parameter related to conversion skip.
  • the quantization parameter correction unit 451 corrects qPx by using the cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and QpBdOffset as described in the second embodiment. .. That is, the quantization parameter correction unit 451 executes an operation such as the equation (16) or the equation (17) to generate the third correction quantization parameter qP'''. The quantization parameter correction unit 451 supplies the generated third correction quantization parameter qP'''to the inverse quantization processing unit 452.
  • the value of the quantized parameter after correction falls within the range of the minimum value to the maximum value of the quantized parameter regardless of whether or not the conversion skip is applied.
  • the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. That is, the quantization parameter correction unit 451 quantizes so that the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not. The parameters can be corrected.
  • the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction device 160 (FIG. 8) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 acquires the same parameters as in the case of "Method 3".
  • the quantization parameter correction unit 451 uses those parameters (cu_act_enabled_flag, dqPx, transform_skip_flag [xTbY] [yTbY] [cIdx], QpPrimeTsMin, and QpBdOffset) in a manner as described in the fourth embodiment. Correct qPx. That is, the quantization parameter correction unit 451 executes an operation such as the equation (18) or the equation (17) to generate the second correction quantization parameter qP''. The quantization parameter correction unit 451 supplies the generated second correction quantization parameter qP'' to the inverse quantization processing unit 452.
  • the quantization parameter correction unit 451 quantizes in the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameter can be corrected so that the step size ⁇ ⁇ 1. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the description to the inverse quantization inverse transformation unit 413 described in the present embodiment can also be applied to the inverse quantization inverse transformation unit 316 of the image coding apparatus 300.
  • the source of the coding parameter is the control unit 301.
  • the source of the quantization coefficient data is the conversion quantization unit 313.
  • the supply destination of the residual data D' is the calculation unit 317.
  • the storage buffer 411 acquires (stores) a bit stream (encoded data) supplied from the outside of the image decoding device 400 in step S401.
  • the decoding unit 412 executes the decoding process.
  • the decoding unit 412 parses (analyzes and acquires) various coding parameters (for example, header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, etc.) from the bit stream.
  • the control unit 401 sets the various coding parameters by supplying the acquired various coding parameters to the various processing units.
  • control unit 401 sets the processing unit based on the obtained coding parameter. Further, the decoding unit 412 decodes the bit stream under the control of the control unit 401 to obtain the quantization coefficient data level.
  • step S403 the inverse quantization inverse transformation unit 413 executes the inverse quantization inverse transformation process and generates the residual data D'.
  • the inverse quantization and inverse transformation processing will be described later.
  • step S404 the prediction unit 418 generates a prediction image.
  • the prediction unit 418 executes the prediction process by the prediction method specified by the coding side based on the coding parameters and the like set in step S402, and refers to the reference image stored in the frame memory 417. And so on, the predicted image P is generated.
  • step S405 the calculation unit 414 adds the residual data D'obtained in step S403 and the predicted image P obtained in step S404 to derive the locally decoded image Rlocal.
  • step S406 the in-loop filter unit 415 executes the in-loop filter process on the locally decoded image Rlocal obtained by the process of step S405.
  • step S407 the sorting buffer 416 derives the decoded image R using the locally decoded image Rlocal filtered by the process of step S406, and rearranges the order of the decoded image R group from the decoding order to the reproduction order.
  • the decoded image R group sorted in the order of reproduction is output as a moving image to the outside of the image decoding device 400.
  • step S408 the frame memory 417 stores at least one of the locally decoded image Rlocal obtained by the process of step S405 and the locally decoded image Rlocal filtered by the process of step S406.
  • step S408 When the process of step S408 is completed, the image decoding process is completed.
  • the inverse quantization unit 441 When the inverse quantization inverse conversion process is started, the inverse quantization unit 441 inversely quantizes the quantization coefficient data qcoef_x in step S441 using the conversion information Tinfo or the like set in step S402 (FIG. 19). , Generate orthogonal transformation coefficient data coef_x. This quantization coefficient data qcoef_x corresponds to the quantization coefficient data level generated in the process of step S402 of FIG.
  • step S442 the inverse orthogonal transform unit 442 inversely transforms the orthogonal transform coefficient data coef_x generated in step S441 using the conversion information Tinfo and the like set in step S402 (FIG. 19), and the adaptive color conversion coefficient. Generate data res_x'.
  • step S443 the inverse adaptive color conversion unit 443 performs inverse adaptive color conversion of the adaptive color conversion coefficient data res_x'generated in step S442 based on the cu_act_enabled_flag set in step S402 (FIG. 19), and the residual data.
  • Generate res_x residual data D').
  • step S443 When the process of step S443 is completed, the inverse quantization inverse transformation process is completed, and the process returns to FIG.
  • the quantization parameter correction unit 451 executes the quantization parameter correction process in step S451, corrects the quantization parameter, and generates the corrected quantization parameter.
  • step S452 the inverse quantization processing unit 452 inversely quantizes the quantization coefficient data qcoef_x using the correction quantization parameter generated in step S451, and generates orthogonal transformation coefficient data coef_x.
  • step S452 When the process of step S452 is completed, the inverse quantization process is completed, and the process returns to FIG.
  • step S451 the quantization parameter correction unit 451 corrects the quantization parameter based on the parameter related to the adaptive color conversion, and further skips the conversion. Correct based on the parameters related to.
  • step S452 the inverse quantization processing unit 452 inversely quantizes the quantization coefficient data in which the coefficient data of the image is quantized by using the corrected quantization parameter which is the corrected quantization parameter.
  • the quantization parameter correction unit 451 applies the quantization parameter correction process described with reference to the flowchart of FIG. 3 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 451 executes an operation such as the equation (5) or the equation (6) to generate the second correction quantization parameter qP''.
  • the quantization parameter correction unit 451 corrects the quantization parameter so that the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion and the conversion skip are applied. be able to. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 451 applies the quantization parameter correction process described with reference to the flowchart of FIG. 5 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 451 executes an operation such as the equation (5) or the equation (13) to generate the second correction quantization parameter qP''.
  • the quantization parameter correction unit 451 does not have the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not.
  • the quantization parameters can be corrected. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 451 applies the quantization parameter correction process described with reference to the flowchart of FIG. 7 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 451 executes an operation such as the equation (16) or the equation (17) to generate the third correction quantization parameter qP'''.
  • the value of the quantized parameter after correction falls within the range of the minimum value to the maximum value of the quantized parameter regardless of whether or not the conversion skip is applied.
  • the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter at the time of conversion skip. That is, the quantization parameter correction unit 451 quantizes so that the quantization step size ⁇ ⁇ 1 in the inverse quantization when the adaptive color conversion is applied regardless of whether the conversion skip is applied or not. The parameters can be corrected.
  • the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the quantization parameter correction unit 451 applies the quantization parameter correction process described with reference to the flowchart of FIG. 9 as the quantization parameter correction process in step S351. That is, the quantization parameter correction unit 451 executes an operation such as the equation (18) or the equation (17) to generate the second correction quantization parameter qP''.
  • the quantization parameter can be corrected. Therefore, the inverse quantization unit 452 inversely quantizes the quantization coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse conversion unit 413) performs PSNR. Can be suppressed. Therefore, the image decoding device 400 can suppress the reduction of the coding efficiency.
  • the decoding unit 412 decodes various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo). Therefore, when the present technology is applied, the decoding unit 412 decodes the above-mentioned various parameters applied to the correction of the quantization parameter. For example, when "method 1" is applied, the decoding unit 412 has a CU-level quantization parameter qPx and cu_act_enabled_flag corresponding to the component identifier cIdx, a correction amount dqPx corresponding to the component identifier cIdx, and a transform_skip_flag corresponding to the component identifier cIdx.
  • Decode parameters such as [xTbY] [yTbY] [cIdx] and QpPrimeTsMin, which is the minimum value of the quantization parameter when skipping conversion.
  • the coding unit 314 adds the minimum value "0" of the quantization parameter at the time of non-conversion skip, in addition to the parameter to be encoded when the "method 1" is applied. To decrypt.
  • the coding unit 314 decodes the correction amount QpBdOffset corresponding to the bit depth in addition to the parameters to be encoded when "method 1" is applied. To do.
  • the image decoding device 400 can obtain these signaled information. Therefore, the image decoding device 400 can suppress the reduction of PSNR. Therefore, the image decoding device 400 can realize suppression of reduction in coding efficiency.
  • step S403, FIG. 20 in FIG. 19 The description of the inverse quantization inverse transformation process (step S403, FIG. 20 in FIG. 19) described in the present embodiment is the inverse quantization inverse transformation process (step S307) executed in the image coding process (FIG. 13). It can also be applied to.
  • FIG. 22 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 814 is composed of, for example, a network interface.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804, and executes the above-described series. Processing is executed.
  • the RAM 803 also appropriately stores data and the like necessary for the CPU 801 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 821 as a package media or the like, for example.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by mounting the removable media 821 in the drive 815.
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 814 and installed in the storage unit 813.
  • this program can be installed in advance in ROM 802 or storage unit 813.
  • This technique can be applied to any image coding method or decoding method. That is, as long as it does not contradict the above-mentioned technology, the specifications of various processes related to image coding / decoding such as conversion (inverse transformation), quantization (inverse quantization), coding (decoding), and prediction are arbitrary. It is not limited to the example. In addition, some of these processes may be omitted as long as they do not contradict the present technology described above.
  • this technology can be applied to a multi-viewpoint image coding system that encodes a multi-viewpoint image including images of a plurality of viewpoints (views). Further, the present technology can be applied to a multi-viewpoint image decoding system that decodes coded data of a multi-viewpoint image including images of a plurality of viewpoints (views). In that case, the present technology may be applied to the coding and decoding of each viewpoint (view).
  • this technique can be applied to a hierarchical image coding (scalable coding) system that encodes a hierarchical image that is layered (layered) so as to have a scalability function for a predetermined parameter.
  • this technology can be applied to a hierarchical image decoding (scalable decoding) system that decodes the encoded data of a hierarchical image that has been layered (layered) so as to have a scalability function for a predetermined parameter. it can.
  • the present technology may be applied to the coding and decoding of each layer.
  • the quantization parameter correction device 100 the quantization parameter correction device 120, the quantization parameter correction device 140, the quantization parameter correction device 160, the image coding device 300, and the image decoding
  • the present technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit)
  • a processor as a system LSI (Large Scale Integration) or the like
  • a module using a plurality of processors for example, a video module
  • a unit using a plurality of modules for example, a video unit
  • it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing departments, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. Moreover, the use is arbitrary.
  • this technology can be applied to systems and devices used for providing ornamental contents and the like.
  • the present technology can be applied to systems and devices used for traffic such as traffic condition supervision and automatic driving control.
  • the present technology can be applied to systems and devices used for security purposes.
  • the present technology can be applied to a system or device used for automatic control of a machine or the like.
  • the present technology can be applied to systems and devices used for agriculture and livestock industry.
  • the present technology can also be applied to systems and devices for monitoring natural conditions such as volcanoes, forests and oceans, and wildlife. Further, for example, the present technology can be applied to systems and devices used for sports.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bitstream but also the difference information of the identification information with respect to a certain reference information in the bitstream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) related to the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the program executed by the computer may have the following characteristics.
  • the processing of the steps of writing a program may be performed in chronological order in the order described herein.
  • the processes of the steps for writing the program may be executed in parallel.
  • the processing of the step of writing the program may be executed individually at a required timing such as when it is called. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order.
  • the processing of the step for writing this program may be executed in parallel with the processing of other programs.
  • the processing of the step of writing this program may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • a quantization parameter correction unit that corrects the quantization parameter based on the parameter related to adaptive color conversion, and further corrects the quantization parameter based on the parameter related to conversion skip.
  • An image processing apparatus including a quantization unit that quantizes the coefficient data of the image to be encoded by using the correction quantization parameter that is the quantization parameter corrected by the quantization parameter correction unit.
  • the quantization parameter correction unit corrects the quantization parameter with a correction amount according to a component to be processed when the adaptive color conversion is applied.
  • the quantization parameter correction unit applies the conversion skip set in advance to the lower limit of the quantization parameter corrected based on the parameters related to the adaptive color conversion.
  • the image processing apparatus according to any one of (1) to (3), which clips at the minimum value of the quantization parameter in the case.
  • the image processing according to (4), wherein the quantization parameter correction unit omits a clip of the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion when the conversion skip is not applied. apparatus.
  • the quantization parameter correction unit sets a lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion to a preset minimum value of the quantization parameter.
  • the image processing apparatus according to any one of (1) to (5). (7) The image processing apparatus according to (6), wherein the minimum value of the quantization parameter is "0". (8)
  • the quantization parameter correction unit applies the conversion skip set in advance to the lower limit of the quantization parameter corrected based on the parameters related to the adaptive color conversion.
  • the upper limit of the quantization parameter clipped at the minimum value of the quantization parameter in the case and corrected based on the parameter related to the adaptive color conversion is set to the preset maximum value and the bit depth of the quantization parameter.
  • the image processing apparatus according to any one of (1) to (7), which is clipped by the sum of the correction amount based on (9)
  • the quantization parameter correction unit sets a lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion to a preset minimum value of the quantization parameter.
  • the upper limit of the quantization parameter clipped with and corrected based on the parameter related to the adaptive color conversion is clipped by the sum of the preset maximum value of the quantization parameter and the correction amount based on the bit depth.
  • the image processing apparatus according to (8).
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, and further corrected based on the parameter related to conversion skip.
  • a quantization parameter correction unit that corrects the quantization parameter based on the parameter related to adaptive color conversion, and further corrects the quantization parameter based on the parameter related to conversion skip.
  • the quantization parameter correction unit corrects the quantization parameter with a correction amount according to the component to be processed when the adaptive color conversion is applied.
  • the correction amount is “0” when the adaptive color conversion is not applied.
  • the quantization parameter correction unit applies the conversion skip set in advance to the lower limit of the quantization parameter corrected based on the parameters related to the adaptive color conversion.
  • the image processing apparatus according to any one of (11) to (13), which clips at the minimum value of the quantization parameter in the case.
  • the quantization parameter correction unit omits a clip of the lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion when the conversion skip is not applied. apparatus.
  • the quantization parameter correction unit sets a lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion to a preset minimum value of the quantization parameter.
  • the image processing apparatus according to any one of (11) to (15).
  • (17) The image processing apparatus according to (16), wherein the minimum value of the quantization parameter is "0".
  • the quantization parameter correction unit applies the conversion skip set in advance to the lower limit of the quantization parameter corrected based on the parameters related to the adaptive color conversion.
  • the upper limit of the quantization parameter clipped at the minimum value of the quantization parameter in the case and corrected based on the parameter related to the adaptive color conversion is set to the preset maximum value and bit depth of the quantization parameter.
  • the image processing apparatus according to any one of (11) to (17), which is clipped by the sum of the correction amount based on the above.
  • the quantization parameter correction unit sets a lower limit of the quantization parameter corrected based on the parameter related to the adaptive color conversion to a preset minimum value of the quantization parameter.
  • the upper limit of the quantization parameter clipped with and corrected based on the parameter related to the adaptive color conversion is clipped by the sum of the preset maximum value of the quantization parameter and the correction amount based on the bit depth.
  • the image processing apparatus according to (18).
  • the quantization parameter is corrected based on the parameter related to adaptive color conversion, and further corrected based on the parameter related to conversion skip. An image processing method in which the coefficient data of an image is inversely quantized from the quantization coefficient data obtained by using the corrected quantization parameter which is the corrected quantization parameter.
  • Quantization parameter correction device 101 1st correction unit, 102 2nd correction unit, 120 Quantization parameter correction device, 121 1st correction unit, 122 2nd correction unit, 140 Quantization parameter correction device, 141 1st correction unit , 142 2nd correction unit, 143 3rd correction unit, 160 quantization parameter correction device, 161 1st correction unit, 162 2nd correction unit, 300 image coding device, 301 control unit, 313 conversion quantization unit, 314 code Quantization unit, 341 adaptive color conversion unit, 342 orthogonal conversion unit, 343 quantization unit, 351 quantization parameter correction unit, 352 quantization processing unit, 400 image decoding device, 401 control unit, 412 decoding unit, 413 inverse quantization reverse Conversion unit, 441 inverse quantization unit, 442 inverse orthogonal conversion unit, 443 inverse adaptive color conversion unit, 451 quantization parameter correction unit, 452 inverse quantization processing unit

Landscapes

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

Abstract

本開示は、量子化パラメータの値を所望の範囲内に制御することができるようにする画像処理装置および方法に関する。 量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、その補正された量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する。本開示は、例えば、画像処理装置、画像符号化装置、画像復号装置、送信装置、受信装置、送受信装置、情報処理装置、撮像装置、再生装置、電子機器、画像処理方法、または情報処理方法等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、量子化パラメータの値を所望の範囲内に制御することができるようにした画像処理装置および方法に関する。
 従来、動画像の予測残差を導出し、係数変換し、量子化して符号化する符号化方法が提案された(例えば、非特許文献1および非特許文献2参照)。また、RGB444における符号化効率を改善する符号化ツールとして、残差ドメイン上でRGB-to-YCgCo変換を実行する適応色変換(ACT(Adaptive Color Transform))が提案された(例えば、非特許文献3参照)。
 また、非特許文献3においては、その変換前の残差(C0, C1, C2)と変換後の残差(C0', C1', C2')とでの信号のダイナミックレンジの変換を考慮し、各コンポーネントの残差に適用する量子化パラメータqPを、(dqPY, dqPCg, dqPCo) = (-5, -5, -3)により補正する処理も提案された。非特許文献1には、変換スキップおよび適応色変換の適用に基づく量子化パラメータの補正方法が開示されている。
Benjamin Bross, Jianle Chen, Shan Liu, Ye-Kui Wang, "Versatile Video Coding (Draft 7)", JVET-P2001-vE, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Feneva, CH, 1-11 Oct 2019 Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 7 (VTM 7)", JVET-P2002-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019 Xiaoyu Xiu, Yi-Wen Chen, Tsung-Chuan Ma, Hong-Jheng Jhu, Xianglin Wang, "Support of adaptive color transform for 444 video coding in VVC", JVET-P0517_r1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 October 2019
 しかしながら、非特許文献1において開示された方法の場合、変換スキップに関するパラメータに基づく量子化パラメータの補正が実行された後に、適応色変換に関するパラメータに基づく量子化パラメータの補正が実行された。変換スキップに関するパラメータに基づく量子化パラメータの補正では、量子化パラメータの値が所望の範囲内にクリップされる。また、適応色変換に関するパラメータに基づく量子化パラメータの補正では、所定の補正量が加算される。そのため、この方法では、補正後の量子化パラメータの値が取り得る範囲を制御することができなかった。
 本開示は、このような状況に鑑みてなされたものであり、量子化パラメータの値を所望の範囲内に制御することができるようにするものである。
 本技術の一側面の画像処理装置は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する量子化部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する画像処理方法である。
 本技術の他の側面の画像処理装置は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する逆量子化部とを備える画像処理装置である。
 本技術の他の側面の画像処理方法は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、量子化パラメータが、適応色変換に関するパラメータに基づいて補正され、さらに、変換スキップに関するパラメータに基づいて補正され、その補正された量子化パラメータである補正量子化パラメータが用いられて、符号化対象の画像の係数データが量子化される。
 本技術の他の側面の画像処理装置および方法においては、量子化パラメータが、適応色変換に関するパラメータに基づいて補正され、さらに、変換スキップに関するパラメータに基づいて補正され、その補正された量子化パラメータである補正量子化パラメータが用いられて、画像の係数データが量子化された量子化係数データが逆量子化される。
量子化パラメータの補正方法の例を説明する図である。 量子化パラメータ補正装置の主な構成例を示すブロック図である。 量子化パラメータ補正処理の流れの例を示すフローチャートである。 量子化パラメータ補正装置の主な構成例を示すブロック図である。 量子化パラメータ補正処理の流れの例を示すフローチャートである。 量子化パラメータ補正装置の主な構成例を示すブロック図である。 量子化パラメータ補正処理の流れの例を示すフローチャートである。 量子化パラメータ補正装置の主な構成例を示すブロック図である。 量子化パラメータ補正処理の流れの例を示すフローチャートである。 画像符号化装置の主な構成例を示すブロック図である。 変換量子化部の主な構成例を示すブロック図である。 量子化部の主な構成例を示すブロック図である。 画像符号化処理の流れの例を示すフローチャートである。 変換量子化処理の流れの例を説明するフローチャートである。 量子化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 逆量子化逆変換部の主な構成例を示すブロック図である。 逆量子化部の主な構成例を示すブロック図である。 画像復号処理の流れの例を示すフローチャートである。 逆量子化逆変換処理の流れの例を示すフローチャートである。 逆量子化処理の流れの例を示すフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、以下の順序で説明する。
 1.量子化パラメータの補正
 2.第1の実施の形態(量子化パラメータ補正装置)
 3.第2の実施の形態(量子化パラメータ補正装置)
 4.第3の実施の形態(量子化パラメータ補正装置)
 5.第4の実施の形態(量子化パラメータ補正装置)
 6.第5の実施の形態(画像符号化装置)
 7.第6の実施の形態(画像復号装置)
 8.付記
 <1.量子化パラメータの補正>
  <技術内容や技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知である以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
 非特許文献5:Recommendation ITU-T H.265 (02/18) "High efficiency video coding", february 2018
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たす。
 また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されているTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれる。
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準とするブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
  <適応色変換>
 非特許文献3においては、RGB444における符号化効率を改善する符号化ツールとして、残差ドメイン上でRGB-to-YCgCo変換を実行する適応色変換(ACT(Adaptive Color Transform))が提案された。以下の式(1)は、そのRGB-to-YCgCo変換を示す。また、式(2)は、その逆変換(YCgCo-RGB変換)を示す。式(1)および式(2)において、係数C0, C1, C2は、それぞれ、R, G, Bに対応する。また、C0', C1', C2'は、それぞれ、Y, Cg, Coに対応する。
Figure JPOXMLDOC01-appb-I000001
 ・・・(1)
Figure JPOXMLDOC01-appb-I000002
 ・・・(2)
 式(1)および式(2)に示されるように、この適応色変換により、簡単なシフト演算および加減算のみでRGB信号をYCbCr信号相当のYCgCo信号へ変換することができる。またその逆変換も同様である。したがって、このような適応色変換を適用することにより、容易にコンポーネント間の冗長性を削減し、符号化効率の低減を抑制することができる。
 また、この適応色変換を適用する場合、RGB-YCgCo変換により、変換前の残差(C0, C1, C2)と、各コンポーネントの残差に適用する量子化パラメータqPを、各コンポーネントの量子化パラメータの補正量(dqPY, dqPCg, dqPCo) = (-5, -5, -3)により補正する処理が実行された。この処理は、変換後の残差(C0', C1', C2')とでの信号のダイナミックレンジの変換を考慮したものである。
  <変換スキップ>
 ところで、非特許文献1には、直交変換処理をスキップ(省略)するモードである変換スキップについて開示されている。本開示においては、変換スキップを適用しない場合を非変換スキップとも称する。
  <変換スキップと適応色変換による量子化パラメータの補正>
 非特許文献1には、変換スキップおよび適応色変換の適用に基づく量子化パラメータの補正方法が開示されている。この方法では、変換スキップを適用するか否かと、適応色変換を適用するか否かに応じて量子化パラメータの補正が制御される。例えば、適応色変換が適用可能であり、かつ、変換スキップが適用される場合、量子化パラメータの補正は以下の式(3)のように実行される。これに対して、適応色変換が適用可能であり、かつ、非変換スキップが適用される場合(つまり、変換スキップが適用されない場合)、量子化パラメータの補正は以下の式(4)のように実行される。
Figure JPOXMLDOC01-appb-I000003
 ・・・(3)
Figure JPOXMLDOC01-appb-I000004
 ・・・(4)
 式(3)に示されるように、変換スキップが適用される場合、量子化パラメータは、まず、変換スキップの場合の量子化パラメータの最小値(QpPrimeTsMin)により下限がクリップされる。その後、そのクリップの結果に対して、cu_act_enabled_flagの値に応じて、処理対象のコンポーネントに応じた補正量が加算される。cu_act_enabled_flagは、適応色変換を適用するか否かを示すCU単位のフラグ情報である。cu_act_enabled_flagが真(例えば「1」)の場合、適応色変換が適用されることが示される。cu_act_enabled_flagが偽(例えば「0」)の場合、適応色変換が適用されないことが示される。つまり、変換スキップに関するパラメータに基づく補正が実行された後、適応色変換に関するパラメータに基づく補正が実行される。
 式(4)に示されるように、非変換スキップが適用される場合も、式(3)の場合と同様に、変換スキップに関するパラメータに基づく補正が実行された後、適応色変換に関するパラメータに基づく補正が実行される。ただし、この場合、変換スキップに関するパラメータに基づく補正において、上述したクリップ処理はスキップ(省略)される。換言するに、量子化パラメータは、ハードウエアやソフトウエア等の仕様に基づいて取り得る最小値で下限がクリップされる。
 このように、非特許文献1に記載の補正方法では、クリップ処理の後に補正量が加算されるため、補正後の量子化パラメータの値が取り得る範囲を制御することができなかった。
  <適応色変換による量子化パラメータの補正の優先>
 そこで、図1に示される表の1番上の段に示されるように、適応色変換による量子化パラメータの補正を実行してから変換スキップによる量子化パラメータの補正を実行するようにする。
 例えば、画像処理方法において、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、その補正された量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化するようにする。
 また、例えば、画像処理装置において、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、その量子化パラメータ補正部により補正された量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する量子化部とを備えるようにする。
 例えば、画像処理方法において、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、その補正された量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化するようにする。
 また、例えば、画像処理装置において、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、その量子化パラメータ補正部により補正された量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する逆量子化部とを備えるようにする。
 このようにすることにより、補正量を加算した後に、クリップ処理を実行することができるので、補正後の量子化パラメータの値が取り得る範囲を制御することができる。
 なお、適応色変換が適用される場合、適応色変換に関するパラメータに基づく補正として、処理対象コンポーネントに応じた補正量で量子化パラメータが補正されるようにしてもよい。例えば、画像処理装置において、量子化パラメータ補正部が、適応色変換を適用する場合、処理対象コンポーネントに応じた補正量で量子化パラメータを補正してもよい。
 また、適応色変換が適用されない場合、適応色変換に関するパラメータに基づく補正として、補正量を「0」として量子化パラメータが補正されてもよい。換言するに、適応色変換に関するパラメータに基づく補正がスキップ(省略)されてもよい。例えば、画像処理装置において、量子化パラメータ補正部が、適応色変換を適用する場合、補正量を「0」として量子化パラメータを補正してもよい。
 <2.第1の実施の形態>
  <変換スキップ時の下限制御>
 上述したように、非特許文献1に記載の補正方法では、変換スキップが適用される場合、式(3)に示されるように量子化パラメータqPの補正が実行される。つまり、量子化パラメータqPは、まず、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより下限がクリップされて、第1の補正量子化パラメータqP'が得られる。この変換スキップの際の量子化パラメータの最小値QpPrimeTsMinは予め設定されている。
 次に、cu_act_enabled_flagが真(例えば「1」)の場合、第1の補正量子化パラメータqP'に対して、処理対象のコンポーネントを示すコンポーネント識別子cIdxに対応する補正量dqPが加算され、第2の補正量子化パラメータqP''が導出される。なお、cu_act_enabled_flagが偽(例えば「0」)の場合、補正量dqPが「0」として同様の演算が実行され、第2の補正量子化パラメータqP''が導出される。このように導出された第2の補正量子化パラメータqP''が、補正後の量子化パラメータqP(つまり補正結果)として、量子化処理や逆量子化処理に利用される。
 つまり、適応色変換および変換スキップが適用される場合、量子化パラメータqPは、QpPrimeTsMinにより下限がクリップされた後、コンポーネント識別子cIdxに対応する補正量dqPが加算される。
 なお、量子化パラメータqPの下限をQpPrimeTsMinでクリップするのは、変換スキップで量子化ステップサイズΔ<1のときに(量子化ステップサイズΔ<1となりうるため)、ピーク信号対雑音比(PSNR(Peak Signal-to-Noise Ratio))が低減する現象を回避するためである。
 しかしながら、上述したように、QpPrimeTsMinにより下限をクリップした後、コンポーネント識別子cIdxに対応する補正量dqPを加算することにより、第2の補正量子化パラメータqP''(つまり補正後の量子化パラメータqP)は、QpPrimeTsMinより小さい値となりうる。すなわち、適応色変換および変換スキップが適用される場合、変換スキップの際の量子化パラメータの最小値よりも小さい量子化パラメータが量子化や逆量子化に用いられる(量子化ステップサイズΔ<1となりうる)おそれがあった。そのため、PSNRが低減するおそれがあった。すなわち、符号化効率が低減するおそれがあった。
 そこで、上述したように、図1に示される表の1番上の段に示されるように、適応色変換による量子化パラメータの補正を実行してから変換スキップによる量子化パラメータの補正を実行する。さらに、図1に示される表の上から2番目の段に示されるように、変換スキップによる量子化パラメータ補正処理において、変換スキップの場合、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより下限をクリップしてもよい(方法1)。
 例えば、画像処理装置において、量子化パラメータ補正部が、変換スキップを適用する場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限を、予め設定された、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinでクリップしてもよい。
 このようにすることにより、適応色変換および変換スキップが適用される場合に、量子化ステップサイズΔ<1とならないようにすることができるので、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 また、図1に示される表の上から2番目の段に示されるように、変換スキップによる量子化パラメータ補正処理において、非変換スキップの場合、その下限のクリップを省略してもよい。例えば、画像処理装置において、量子化パラメータ補正部が、変換スキップを適用しない場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限のクリップを省略してもよい。換言するに、その場合、量子化パラメータが、ハードウエアやソフトウエア等の仕様に基づいて取り得る最小値で下限がクリップされるようにしてもよい。
  <量子化パラメータ補正装置>
 上述した本技術は、任意の装置において適用することができる。図2は、本技術を適用した画像処理装置の一態様である量子化パラメータ補正装置の構成の一例を示すブロック図である。図2に示される量子化パラメータ補正装置100は、画像に関する係数データの量子化処理や逆量子化処理に用いられる量子化パラメータを補正する装置である。量子化パラメータ補正装置100は、例えば、画像の符号化や復号における適応色変換や変換スキップの適用に応じて量子化パラメータを補正する。その際、量子化パラメータ補正装置100は、上述した「方法1」を適用して、量子化パラメータを補正する。
 なお、図2においては、処理部やデータの流れ等の主なものを示しており、図2に示されるものが全てとは限らない。つまり、量子化パラメータ補正装置100において、図2においてブロックとして示されていない処理部が存在したり、図2において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図2に示されるように、量子化パラメータ補正装置100は、第1補正部101および第2補正部102を有する。
 第1補正部101は、適応色変換に関するパラメータに基づく補正に関する処理を実行する。例えば、第1補正部101は、処理対象のコンポーネントを示すコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、第1補正部101は、適応色変換に関するパラメータとして、cu_act_enabled_flagを取得する。さらに、第1補正部101は、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。
 なお、コンポーネント識別子cIdxは、処理対象のコンポーネントを示す識別子である。また、量子化パラメータqPxは、コンポーネントに応じた量子化パラメータを示す。例えば、量子化パラメータqPxには、輝度Yに対応する量子化パラメータqPy、色差Cbに対応する量子化パラメータqPcb、色差Crに対応する量子化パラメータqPcr、および色差CbCrに対応する量子化パラメータqPcbcrがある。さらに、適応色変換を適用する際の各コンポーネント(Y, Cg, Co)に対応する補正量dqPxは、(-5, -5, -3)である。これらのパラメータは、特に言及しない限り、他の実施の形態においても同様である。
 第1補正部101は、cu_act_enabled_flagが真(例えば「1」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。また、第1補正部101は、cu_act_enabled_flagが偽(例えば「0」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部101は、以下のようなシンタックスの処理を実行する。
if cu_act_enabled_flag
    qP' = qPx + dqPx
else
    qP' = qPx
 第1補正部101は、導出した第1の補正量子化パラメータqP'を第2補正部102に供給する。
 第2補正部102は、変換スキップに関するパラメータに基づく補正に関する処理を実行する。例えば、第2補正部102は、第1補正部101から供給される第1の補正量子化パラメータqP'を取得する。また、第2補正部102は、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。さらに、第2補正部102は、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 なお、transform_skip_flagは、変換スキップを適用するか否かを示すフラグ情報である。このtransform_skip_flagが真(例えば「1」)の場合、変換スキップが適用されることを示す。また、transform_skip_flagが偽(例えば「0」)の場合、非変換スキップが適用される(つまり変換スキップが適用されない)ことを示す。また、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinは予め設定されている。なお、このQpPrimeTsMinを符号化側装置から復号側装置にシグナリングする(伝送する)場合、QpPrimeTsMinは、例えばパラメータセットを用いてシグナリングされる。これらのパラメータは、特に言及しない限り、他の実施の形態においても同様である。
 第2補正部102は、transform_skip_flagが真(例えば「1」)の場合、QpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。換言するに、第2補正部102は、transform_skip_flagが真の場合、QpPrimeTsMinと第1の補正量子化パラメータqP'の内の大きい方を、第2の補正量子化パラメータqP''に設定する。また、第2補正部102は、transform_skip_flagが偽(例えば「0」)の場合、このクリップ処理をスキップ(省略)し、第1の補正量子化パラメータqP'を、第2の補正量子化パラメータqP''に設定する。換言するに、第2補正部102は、transform_skip_flagが偽の場合、ハードウエアやソフトウエア等の仕様に基づいて取り得る最小値で第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。つまり、第2補正部102は、以下のようなシンタックスの処理を実行する。
if transform_skip_flag[cIdx] == 'IS_SKIP'
    qP'' = Max(qP', QpPrimeTsMin)
else
    qP'' = qP'
 第2補正部102は、導出した第2の補正量子化パラメータqP''を、入力された量子化パラメータqPの補正結果(補正後の量子化パラメータ)として、量子化パラメータ補正装置100の外部に出力する。
 換言するに、量子化パラメータ補正装置100は、変換スキップの場合、以下の式(5)に示されるような処理を実行し、量子化パラメータを補正する。また、量子化パラメータ補正装置100は、非変換スキップの場合、以下の式(6)に示されるような処理を実行し、量子化パラメータを補正する。
Figure JPOXMLDOC01-appb-I000005
 ・・・(5)
Figure JPOXMLDOC01-appb-I000006
 ・・・(6)
 換言するに、量子化パラメータ補正装置100は、適応色変換フラグ(cu_act_enabled_flag), ACTに対応する補正量dqP, コンポーネント識別子cIdxに対応する変換スキップフラグ(transform_skip_flag)、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータ(qPx)、および変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを参照して、コンポーネント識別子cIdxに対応する処理対象変換ブロックに適用する量子化パラメータqPを導出する。
 このようにすることにより、量子化パラメータ補正装置100は、適応色変換および変換スキップが適用される場合に、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、transform_skip_flagの代わりにmts_idxを適用し、mts_idxの1モードとして変換スキップか否かが通知されるようにしてもよい。つまり、量子化パラメータ補正装置100(第2補正部102)が、transform_skip_flagの代わりにmts_idxを取得し、その値に基づいて、変換スキップが適用されるか否かを判定してもよい。また、QpPrimeTsMinは、コンポーネント毎(Y, Cb, Cr, CbCr)に通知されるようにしてもよい。つまり、量子化パラメータ補正装置100(第2補正部102)が、コンポーネント識別子cIdxに対応するQpPrimeTsMinを取得し、そのコンポーネント識別子cIdxに対応するQpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップしてもよい。
  <量子化パラメータ補正処理の流れ>
 次に、この量子化パラメータ補正装置100により実行される量子化パラメータ補正処理の流れの例を、図3のフローチャートを参照して説明する。
 量子化パラメータ補正処理が開始されると、量子化パラメータ補正装置100の第1補正部101は、ステップS101において、条件1を満たすか否かを判定することにより、適応色変換を適用するか否かを判定する。例えば、この条件1は、cu_act_enabled_flag = 1としてもよい。条件1を満たす(つまり、適応色変換を適用する)と判定された場合、処理はステップS102に進む。
 ステップS102において、第1補正部101は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部101は、以下の式(7)の演算を実行する。
Figure JPOXMLDOC01-appb-I000007
 ・・・(7)
 その際、補正量dqPxは、以下の式(8)のように設定してもよいし、式(9)のように設定してもよい。
Figure JPOXMLDOC01-appb-I000008
 ・・・(8)
Figure JPOXMLDOC01-appb-I000009
 ・・・(9)
 ステップS102の処理が終了すると処理はステップS104に進む。また、ステップS101において、条件1を満たさない(つまり、適応色変換を適用しない)と判定された場合、処理はステップS103に進む。
 ステップS103において、第1補正部101は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部101は、以下の式(10)の演算を実行する。
Figure JPOXMLDOC01-appb-I000010
 ・・・(10)
 ステップS103の処理が終了すると処理はステップS104に進む。
 ステップS104において、第2補正部102は、条件2を満たすか否かを判定することにより、変換スキップか否かを判定する。例えば、この条件2は、transform_skip_flag[cIdx] == 'IS_SKIP'としてもよい。または、この条件2は、mts_idx[cIdx] == 'IS_SKIP'としてもよい。条件2を満たす(つまり、変換スキップである)と判定された場合、処理はステップS105に進む。
 ステップS105において、第2補正部102は、QpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。つまり、第2補正部102は、以下の式(11)の演算を実行する。
Figure JPOXMLDOC01-appb-I000011
 ・・・(11)
 ステップS105の処理が終了すると、量子化パラメータ補正処理が終了する。また、ステップS104において、条件2を満たさない(つまり、非変換スキップである)と判定された場合、処理はステップS106に進む。
 ステップS106において、第2補正部102は、このクリップ処理をスキップ(省略)し、第1の補正量子化パラメータqP'を、第2の補正量子化パラメータqP''に設定する。つまり、第2補正部102は、以下の式(12)の演算を実行する。
Figure JPOXMLDOC01-appb-I000012
 ・・・(12)
 ステップS106の処理が終了すると、量子化パラメータ補正処理が終了する。
 以上のように量子化パラメータ補正処理を実行することにより、量子化パラメータ補正装置100は、適応色変換および変換スキップが適用される場合に、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 <3.第2の実施の形態>
  <非変換スキップ時の下限制御>
 上述したように、非特許文献1に記載の補正方法では、非変換スキップが適用される場合、式(4)に示されるように、クリップが省略される。そして、cu_act_enabled_flagが真(例えば「1」)の場合、第1の補正量子化パラメータqP'に対して、コンポーネント識別子cIdxに対応する補正量dqPが加算され、第2の補正量子化パラメータqP''が導出される。なお、cu_act_enabled_flagが偽(例えば「0」)の場合、補正量dqPが「0」として同様の演算が実行され、第2の補正量子化パラメータqP''が導出される。このように導出された第2の補正量子化パラメータqP''が、補正後の量子化パラメータqP(つまり補正結果)として、量子化処理や逆量子化処理に利用される。
 したがって、非変換スキップの場合、第2の補正量子化パラメータqP''(つまり補正後の量子化パラメータqP)は、量子化パラメータの最小値「0」より小さい値となりうる。すなわち、適応色変換および非変換スキップが適用される場合、非変換スキップの量子化パラメータの最小値「0」よりも小さい量子化パラメータが量子化や逆量子化に用いられる(量子化ステップサイズΔ<1となりうる)おそれがあった。そのため、PSNRが低減するおそれがあった。すなわち、符号化効率が低減するおそれがあった。
 そこで、上述したように、図1に示される表の1番上の段に示されるように、適応色変換による量子化パラメータの補正を実行してから変換スキップによる量子化パラメータの補正を実行する。さらに、図1に示される表の上から3番目の段に示されるように、変換スキップによる量子化パラメータ補正処理において、変換スキップの場合は、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限をクリップし、非変換スキップの場合、非変換スキップの際の量子化パラメータの最小値「0」により量子化パラメータの下限をクリップしてもよい(方法2)。
 例えば、画像処理装置において、量子化パラメータ補正部が、変換スキップを適用しない場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限を、予め設定された量子化パラメータの最小値でクリップしてもよい。
 例えば、その量子化パラメータの最小値は「0」としてもよい。つまり、量子化パラメータ補正部が、変換スキップを適用しない場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限を、値「0」でクリップしてもよい。
 このようにすることにより、適応色変換および非変換スキップが適用される場合に、量子化ステップサイズΔ<1とならないようにすることができるので、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
  <量子化パラメータ補正装置>
 上述した本技術は、任意の装置において適用することができる。図4は、本技術を適用した画像処理装置の一態様である量子化パラメータ補正装置の構成の一例を示すブロック図である。図4に示される量子化パラメータ補正装置120は、量子化パラメータ補正装置100と同様の装置であり、画像に関する係数データの量子化処理や逆量子化処理に用いられる量子化パラメータを補正する。その際、量子化パラメータ補正装置120は、上述した「方法2」を適用して、量子化パラメータを補正する。
 なお、図4においては、処理部やデータの流れ等の主なものを示しており、図4に示されるものが全てとは限らない。つまり、量子化パラメータ補正装置120において、図4においてブロックとして示されていない処理部が存在したり、図4において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図4に示されるように、量子化パラメータ補正装置120は、第1補正部121および第2補正部122を有する。
 第1補正部121は、量子化パラメータ補正装置100の第1補正部101と同様の処理部であり、同様の処理を実行する。つまり、第1補正部121は、適応色変換に関するパラメータに基づく補正に関する処理を実行する。例えば、第1補正部121は、処理対象のコンポーネントを示すコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、第1補正部121は、適応色変換に関するパラメータとして、cu_act_enabled_flagを取得する。さらに、第1補正部121は、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。
 第1補正部121は、cu_act_enabled_flagが真(例えば「1」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。また、第1補正部121は、cu_act_enabled_flagが偽(例えば「0」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部121は、以下のようなシンタックスの処理を実行する。
if cu_act_enabled_flag
    qP' = qPx + dqPx
else
    qP' = qPx
 第1補正部121は、導出した第1の補正量子化パラメータqP'を第2補正部122に供給する。
 第2補正部122は、量子化パラメータ補正装置100の第2補正部102と同様に、変換スキップに関するパラメータに基づく補正に関する処理を実行する。例えば、第2補正部122は、第1補正部121から供給される第1の補正量子化パラメータqP'を取得する。また、第2補正部122は、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。さらに、第2補正部122は、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。また、第2補正部122は、変換スキップに関するパラメータとして、非変換スキップの際の量子化パラメータの最小値「0」を取得する。
 第2補正部122は、transform_skip_flagが真(例えば「1」)の場合、QpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。換言するに、第2補正部122は、transform_skip_flagが真の場合、QpPrimeTsMinと第1の補正量子化パラメータqP'の内の大きい方を、第2の補正量子化パラメータqP''に設定する。
 これに対して、transform_skip_flagが偽(例えば「0」)の場合、第2補正部122は、非変換スキップの際の量子化パラメータの最小値「0」により量子化パラメータの下限をクリップし、第2の補正量子化パラメータqP''を導出する。換言するに、第2補正部122は、transform_skip_flagが偽の場合、値「0」と第1の補正量子化パラメータqP'の内の大きい方を、第2の補正量子化パラメータqP''に設定する。つまり、第2補正部122は、以下のようなシンタックスの処理を実行する。
if transform_skip_flag[cIdx] == 'IS_SKIP'
    qP'' = Max(qP', QpPrimeTsMin)
else
    qP'' = Max(qP', 0)
 第2補正部122は、導出した第2の補正量子化パラメータqP''を、入力された量子化パラメータqPの補正結果(補正後の量子化パラメータ)として、量子化パラメータ補正装置120の外部に出力する。
 換言するに、量子化パラメータ補正装置120は、変換スキップの場合、上述した式(5)に示されるような処理を実行し、量子化パラメータを補正する。また、量子化パラメータ補正装置120は、非変換スキップの場合、以下の式(13)に示されるような処理を実行し、量子化パラメータを補正する。
Figure JPOXMLDOC01-appb-I000013
 ・・・(5)(再掲)
Figure JPOXMLDOC01-appb-I000014
 ・・・(13)
 換言するに、量子化パラメータ補正装置120は、適応色変換フラグ(cu_act_enabled_flag), ACTに対応する補正量dqP, コンポーネント識別子cIdxに対応する変換スキップフラグ(transform_skip_flag)、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータ(qPx)、非変換スキップの際の量子化パラメータの最小値「0」、および変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを参照して、コンポーネント識別子cIdxに対応する処理対象変換ブロックに適用する量子化パラメータqPを導出する。
 このようにすることにより、量子化パラメータ補正装置120は、適応色変換および非変換スキップが適用される場合にも、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。つまり、量子化パラメータ補正装置120は、変換スキップが適用されるか否かによらず、適応色変換が適用される場合、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、transform_skip_flagの代わりにmts_idxを適用し、mts_idxの1モードとして変換スキップか否かが通知されるようにしてもよい。つまり、量子化パラメータ補正装置120(第2補正部122)が、transform_skip_flagの代わりにmts_idxを取得し、その値に基づいて、変換スキップが適用されるか否かを判定してもよい。また、QpPrimeTsMinは、コンポーネント毎(Y, Cb, Cr, CbCr)に通知されるようにしてもよい。つまり、量子化パラメータ補正装置120(第2補正部122)が、コンポーネント識別子cIdxに対応するQpPrimeTsMinを取得し、そのコンポーネント識別子cIdxに対応するQpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップしてもよい。
  <量子化パラメータ補正処理の流れ>
 次に、この量子化パラメータ補正装置120により実行される量子化パラメータ補正処理の流れの例を、図5のフローチャートを参照して説明する。
 量子化パラメータ補正処理が開始されると、量子化パラメータ補正装置120の第1補正部121は、ステップS121において、条件1を満たすか否かを判定することにより、適応色変換を適用するか否かを判定する。この条件1は、第1の実施の形態(図3)の場合と同様である。条件1を満たす(つまり、適応色変換を適用する)と判定された場合、処理はステップS122に進む。
 ステップS122において、第1補正部121は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS102の処理と同様に実行される。
 ステップS122の処理が終了すると処理はステップS124に進む。また、ステップS121において、条件1を満たさない(つまり、適応色変換を適用しない)と判定された場合、処理はステップS123に進む。
 ステップS123において、第1補正部121は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS103の処理と同様に実行される。
 ステップS123の処理が終了すると処理はステップS124に進む。
 ステップS124において、第2補正部122は、条件2を満たすか否かを判定することにより、変換スキップか否かを判定する。この条件2は、第1の実施の形態(図3)の場合と同様である。条件2を満たす(つまり、変換スキップである)と判定された場合、処理はステップS125に進む。
 ステップS125において、第2補正部122は、QpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。この処理は、図3のステップS105の処理と同様に実行される。
 ステップS125の処理が終了すると、量子化パラメータ補正処理が終了する。また、ステップS124において、条件2を満たさない(つまり、非変換スキップである)と判定された場合、処理はステップS126に進む。
 ステップS126において、第2補正部122は、非変換スキップの際の量子化パラメータの最小値「0」を用いて第1の補正量子化パラメータqP'の下限をクリップし、第2の補正量子化パラメータqP''を導出する。つまり、第2補正部122は、以下の式(14)の演算を実行する。
Figure JPOXMLDOC01-appb-I000015
 ・・・(14)
 ステップS126の処理が終了すると、量子化パラメータ補正処理が終了する。
 以上のように量子化パラメータ補正処理を実行することにより、量子化パラメータ補正装置100は、適応色変換および非変換スキップが適用される場合に、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 <4.第3の実施の形態>
  <量子化パラメータの上限制御>
 さらに、量子化パラメータの上限をクリップするようにしてもよい。例えば、図1に示される表の上から4番目の段に示されるように、適応色変換による量子化パラメータの補正を実行する。そして、その補正された量子化パラメータに対して、その量子化パラメータの最小値と最大値とでクリップしてもよい(方法3)。
 量子化パラメータが0乃至63の範囲で設定されるとすると、量子化パラメータの最小値は「0」であり、量子化パラメータの最大値は、「63+QpBdOffset」である。なお、QpBdOffsetは、量子化パラメータの、ビット深度に対応する補正量である。
 例えば、画像処理装置において、量子化パラメータ補正部が、適応色変換に関するパラメータに基づいて補正された量子化パラメータについて、その上限を量子化パラメータの最大値(63+QpBdOffset)でクリップし、その下限を量子化パラメータの最小値(値「0」)でクリップしてもよい。
 つまり、適応色変換による量子化パラメータの補正後に、量子化パラメータの最小値と最大値とに基づいて、量子化パラメータが有効な値に収まるように補正されてもよい。このようにすることにより、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。したがって、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、そのクリップ処理された量子化パラメータを、変換スキップに関するパラメータに基づいて補正してもよい。この変換スキップに関するパラメータに基づく補正は、方法1の場合と同様に実行してもよい。つまり、変換スキップの場合、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより、クリップ処理された量子化パラメータの下限をさらにクリップしてもよい。また、非変換スキップの場合、この下限のクリップ処理をスキップ(省略)してもよい。
 このようにすることにより、補正後の量子化パラメータは、このQpPrimeTsMinより小さい値となることはない。したがって、変換スキップであるか非変換スキップであるかによらず、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、非変換スキップの場合、非変換スキップの際の量子化パラメータの最小値(値「0」)により量子化パラメータの下限をクリップしてもよい。このクリップ処理の対象となる量子化パラメータの下限は、上述した適応色変換に関するパラメータに基づいて補正された量子化パラメータに対するクリップにより値「0」でクリップされているので、この場合も、下限のクリップをスキップした場合と実質的に同等の補正結果が得られる。
  <量子化パラメータ補正装置>
 上述した本技術は、任意の装置において適用することができる。図6は、本技術を適用した画像処理装置の一態様である量子化パラメータ補正装置の構成の一例を示すブロック図である。図6に示される量子化パラメータ補正装置140は、量子化パラメータ補正装置100と同様の装置であり、画像に関する係数データの量子化処理や逆量子化処理に用いられる量子化パラメータを補正する。その際、量子化パラメータ補正装置140は、上述した「方法3」を適用して、量子化パラメータを補正する。
 なお、図6においては、処理部やデータの流れ等の主なものを示しており、図6に示されるものが全てとは限らない。つまり、量子化パラメータ補正装置140において、図6においてブロックとして示されていない処理部が存在したり、図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図6に示されるように、量子化パラメータ補正装置140は、第1補正部141、第2補正部142、および第3補正部143を有する。
 第1補正部141は、量子化パラメータ補正装置100の第1補正部101と同様の処理部であり、同様の処理を実行する。つまり、第1補正部141は、適応色変換に関するパラメータに基づく補正に関する処理を実行する。例えば、第1補正部141は、処理対象のコンポーネントを示すコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、第1補正部141は、適応色変換に関するパラメータとして、cu_act_enabled_flagを取得する。さらに、第1補正部141は、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。
 第1補正部141は、cu_act_enabled_flagが真(例えば「1」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。また、第1補正部141は、cu_act_enabled_flagが偽(例えば「0」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部141は、以下のようなシンタックスの処理を実行する。
if cu_act_enabled_flag
    qP' = qPx + dqPx
else
    qP' = qPx
 第1補正部141は、導出した第1の補正量子化パラメータqP'を第2補正部142に供給する。
 第2補正部142は、第1の補正量子化パラメータqP'に対するクリップ処理を実行する。例えば、第2補正部142は、第1補正部141から供給される第1の補正量子化パラメータqP'を取得する。第2補正部142は、ビット深度に対応する補正量QpBdOffsetを取得する。
 第2補正部142は、第1の補正量子化パラメータqP'の上限を量子化パラメータの最大値(63+QpBdOffset)でクリップし、第1の補正量子化パラメータqP'の下限を量子化パラメータの最小値(値「0」)でクリップする。この処理により、第2補正部142は、第2の補正量子化パラメータqP''を導出する。
 換言するに、第2補正部142は、第1の補正量子化パラメータqP'に対して、以下の式(15)に示されるような処理を実行し、第2の補正量子化パラメータqP''を導出する。
Figure JPOXMLDOC01-appb-I000016
 ・・・(15)
 第2補正部142は、導出した第2の補正量子化パラメータqP''を第3補正部143に供給する。
 第3補正部143は、量子化パラメータ補正装置100の第2補正部102と同様に、変換スキップに関するパラメータに基づく補正に関する処理を実行する。例えば、第3補正部143は、第2補正部142から供給される第2の補正量子化パラメータqP''を取得する。また、第3補正部143は、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。さらに、第3補正部143は、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 第3補正部143は、transform_skip_flagが真(例えば「1」)の場合、QpPrimeTsMinを用いて第2の補正量子化パラメータqP''の下限をクリップし、第3の補正量子化パラメータqP'''を導出する。換言するに、第3補正部143は、transform_skip_flagが真の場合、QpPrimeTsMinと第2の補正量子化パラメータqP''の内の大きい方を、第3の補正量子化パラメータqP'''に設定する。
 これに対して、transform_skip_flagが偽(例えば「0」)の場合、第3補正部143は、このクリップ処理をスキップ(省略)し、第2の補正量子化パラメータqP''を、第3の補正量子化パラメータqP'''に設定する。換言するに、第3補正部143は、transform_skip_flagが偽の場合、ハードウエアやソフトウエア等の仕様に基づいて取り得る最小値で第1の補正量子化パラメータqP'の下限をクリップし、第3の補正量子化パラメータqP'''を導出する。つまり、第3補正部143は、以下のようなシンタックスの処理を実行する。
if transform_skip_flag[cIdx] == 'IS_SKIP'
    qP''' = Max(qP'', QpPrimeTsMin)
else
    qP''' = qP''
 第3補正部143は、導出した第3の補正量子化パラメータqP'''を、入力された量子化パラメータqPの補正結果(補正後の量子化パラメータ)として、量子化パラメータ補正装置140の外部に出力する。
 換言するに、量子化パラメータ補正装置140は、変換スキップの場合、以下の式(16)に示されるような処理を実行し、量子化パラメータを補正する。また、量子化パラメータ補正装置140は、非変換スキップの場合、以下の式(17)に示されるような処理を実行し、量子化パラメータを補正する。
Figure JPOXMLDOC01-appb-I000017
 ・・・(16)
Figure JPOXMLDOC01-appb-I000018
 ・・・(17)
 換言するに、量子化パラメータ補正装置120は、適応色変換フラグ(cu_act_enabled_flag), ACTに対応する補正量dqP, コンポーネント識別子cIdxに対応する変換スキップフラグ(transform_skip_flag)、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータ(qPx)、ビット深度に対応する補正量QpBdOffset、量子化パラメータの最小値「0」、ビット深度に対応する補正量QpBdOffsetによる補正前の量子化パラメータの最大値「63」、および変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを参照して、コンポーネント識別子cIdxに対応する処理対象変換ブロックに適用する量子化パラメータqPを導出する。
 このように、量子化パラメータ補正装置140は、適応色変換による量子化パラメータの補正後に、量子化パラメータの最小値と最大値とに基づいて、量子化パラメータを有効な値に収まるように補正する。つまり、このように補正することにより、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 また、変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされるので、補正後の量子化パラメータは、このQpPrimeTsMinより小さい値となることはない。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、変換スキップであるか非変換スキップであるかによらず、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、transform_skip_flagの代わりにmts_idxを適用し、mts_idxの1モードとして変換スキップか否かが通知されるようにしてもよい。つまり、量子化パラメータ補正装置140(第3補正部143)が、transform_skip_flagの代わりにmts_idxを取得し、その値に基づいて、変換スキップが適用されるか否かを判定してもよい。また、QpPrimeTsMinは、コンポーネント毎(Y, Cb, Cr, CbCr)に通知されるようにしてもよい。つまり、量子化パラメータ補正装置140(第3補正部143)が、コンポーネント識別子cIdxに対応するQpPrimeTsMinを取得し、そのコンポーネント識別子cIdxに対応するQpPrimeTsMinを用いて第2の補正量子化パラメータqP''の下限をクリップしてもよい。
  <量子化パラメータ補正処理の流れ>
 次に、この量子化パラメータ補正装置140により実行される量子化パラメータ補正処理の流れの例を、図7のフローチャートを参照して説明する。
 量子化パラメータ補正処理が開始されると、量子化パラメータ補正装置140の第1補正部141は、ステップS141において、条件1を満たすか否かを判定することにより、適応色変換を適用するか否かを判定する。この条件1は、第1の実施の形態(図3)の場合と同様である。条件1を満たす(つまり、適応色変換を適用する)と判定された場合、処理はステップS142に進む。
 ステップS142において、第1補正部141は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS102の処理と同様に実行される。
 ステップS142の処理が終了すると処理はステップS144に進む。また、ステップS141において、条件1を満たさない(つまり、適応色変換を適用しない)と判定された場合、処理はステップS143に進む。
 ステップS143において、第1補正部141は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS103の処理と同様に実行される。
 ステップS143の処理が終了すると処理はステップS144に進む。
 ステップS144において、第2補正部142は、第1の補正量子化パラメータqP'の上限を量子化パラメータの最大値(63+QpBdOffset)でクリップし、第1の補正量子化パラメータqP'の下限を量子化パラメータの最小値(値「0」)でクリップする。この処理により、第2補正部142は、第2の補正量子化パラメータqP''を導出する。
 つまり、第2補正部142は、第1の補正量子化パラメータqP'に対して、上述した式(15)に示されるような処理を実行し、第2の補正量子化パラメータqP''を導出する。ステップS144の処理が終了すると、処理はステップS145に進む。
 ステップS145において、第3補正部143は、条件2を満たすか否かを判定することにより、変換スキップか否かを判定する。この条件2は、第1の実施の形態(図3)の場合と同様である。条件2を満たす(つまり、変換スキップである)と判定された場合、処理はステップS146に進む。
 ステップS146において、第3補正部143は、QpPrimeTsMinを用いて第2の補正量子化パラメータqP''の下限をクリップし、第3の補正量子化パラメータqP'''を導出する。この処理は、図3のステップS105の処理と同様に実行される。
 ステップS146の処理が終了すると、量子化パラメータ補正処理が終了する。また、ステップS145において、条件2を満たさない(つまり、非変換スキップである)と判定された場合、処理はステップS147に進む。
 ステップS147において、第3補正部143は、ステップS146のクリップ処理をスキップ(省略)し、第2の補正量子化パラメータqP''を、第3の補正量子化パラメータqP'''に設定する。この処理は、図3のステップS106の処理と同様に実行される。
 ステップS147の処理が終了すると、量子化パラメータ補正処理が終了する。
 以上のように量子化パラメータ補正処理を実行することにより、量子化パラメータ補正装置140は、補正後の量子化パラメータの値を、量子化パラメータの最小値乃至最大値の範囲内に収めることができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 また、変換スキップの場合も、QpPrimeTsMinにより量子化パラメータの下限がクリップされるので、補正後の量子化パラメータは、このQpPrimeTsMinより小さい値となることはない。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、変換スキップであるか非変換スキップであるかによらず、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 <5.第4の実施の形態>
  <量子化パラメータの上限制御>
 第3の実施の形態において説明した方法3における第1の補正量子化パラメータqP'に対するクリップ処理は、変換スキップに関するパラメータに基づく補正のクリップ処理とまとめてもよい。
 つまり、図1に示される表の最下段に示されるように、変換スキップによる量子化パラメータ補正処理を以下のように実行しても良い。すなわち、変換スキップの場合、第1の補正量子化パラメータqP'について、その下限を変換スキップの際の量子化パラメータの最小値QpPrimeTsMinによりクリップし、その上限を量子化パラメータの最大値(63+QpBdOffset)によりクリップしてもよい。また、非変換スキップの場合、第1の補正量子化パラメータqP'について、その下限を非変換スキップの際の量子化パラメータの最小値「0」によりクリップし、その上限を量子化パラメータの最大値(63+QpBdOffset)によりクリップしてもよい(方法4)。
 例えば、画像処理装置において、量子化パラメータ補正部が、変換スキップを適用する場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限を、予め設定された、変換スキップを適用する場合の量子化パラメータの最小値でクリップし、かつ、適応色変換に関するパラメータに基づいて補正された量子化パラメータの上限を、予め設定された、量子化パラメータの最大値でクリップしてもよい。この量子化パラメータの最大値は、ビット深度に基づく補正量で補正された値であってもよい。例えば、この量子化パラメータの最大値は、ビット深度に基づく補正量で補正される前の量子化パラメータの最大値と、ビット深度に基づく補正量との和であってもよい。
 また、例えば、画像処理装置において、量子化パラメータ補正部が、変換スキップを適用しない場合、適応色変換に関するパラメータに基づいて補正された量子化パラメータの下限を、予め設定された量子化パラメータの最小値でクリップし、かつ、適応色変換に関するパラメータに基づいて補正された量子化パラメータの上限を、予め設定された、量子化パラメータの最大値でクリップしてもよい。この量子化パラメータの最大値は、ビット深度に基づく補正量で補正された値であってもよい。例えば、この量子化パラメータの最大値は、ビット深度に基づく補正量で補正される前の量子化パラメータの最大値と、ビット深度に基づく補正量との和であってもよい。
 このようにすることにより、方法3の場合と同様の、補正後の量子化パラメータの値が得られる。つまり、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。したがって、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 また、変換スキップの場合は、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされるので、補正後の量子化パラメータは、このQpPrimeTsMinより小さい値となることはない。したがって、変換スキップであるか非変換スキップであるかによらず、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
  <量子化パラメータ補正装置>
 上述した本技術は、任意の装置において適用することができる。図8は、本技術を適用した画像処理装置の一態様である量子化パラメータ補正装置の構成の一例を示すブロック図である。図8に示される量子化パラメータ補正装置160は、量子化パラメータ補正装置100と同様の装置であり、画像に関する係数データの量子化処理や逆量子化処理に用いられる量子化パラメータを補正する。その際、量子化パラメータ補正装置160は、上述した「方法4」を適用して、量子化パラメータを補正する。
 なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、量子化パラメータ補正装置160において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図8に示されるように、量子化パラメータ補正装置160は、第1補正部161および第2補正部162を有する。
 第1補正部161は、量子化パラメータ補正装置100の第1補正部101と同様の処理部であり、同様の処理を実行する。つまり、第1補正部161は、適応色変換に関するパラメータに基づく補正に関する処理を実行する。例えば、第1補正部161は、処理対象のコンポーネントを示すコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、第1補正部161は、適応色変換に関するパラメータとして、cu_act_enabled_flagを取得する。さらに、第1補正部161は、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。
 第1補正部161は、cu_act_enabled_flagが真(例えば「1」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。また、第1補正部161は、cu_act_enabled_flagが偽(例えば「0」)の場合、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。つまり、第1補正部161は、以下のようなシンタックスの処理を実行する。
if cu_act_enabled_flag
    qP' = qPx + dqPx
else
    qP' = qPx
 第1補正部161は、導出した第1の補正量子化パラメータqP'を第2補正部162に供給する。
 第2補正部162は、量子化パラメータ補正装置100の第2補正部102と同様に、変換スキップに関するパラメータに基づく補正に関する処理を実行する。例えば、第2補正部162は、第1補正部161から供給される第1の補正量子化パラメータqP'を取得する。また、第2補正部162は、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。さらに、第2補正部162は、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 さらに、第2補正部162は、ビット深度に対応する補正量QpBdOffsetを取得する。
 第2補正部162は、transform_skip_flagが真(例えば「1」)の場合、QpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップし、(63+QpBdOffset)を用いて第1の補正量子化パラメータqP'の上限をクリップする。第2補正部162は、このようなクリップ処理により、第1の補正量子化パラメータqP'から第2の補正量子化パラメータqP''を導出する。つまり、第2の補正量子化パラメータqP''の値が、(QpPrimeTsMin乃至(63+QpBdOffset))の範囲内に制限される(第2の補正量子化パラメータqP''の値が(QpPrimeTsMin乃至(63+QpBdOffset))の範囲内になるように制御される)。
 これに対して、transform_skip_flagが偽(例えば「0」)の場合、第2補正部162は、値「0」を用いて量子化パラメータの下限をクリップし、(63+QpBdOffset)を用いて第1の補正量子化パラメータqP'の上限をクリップする。つまり、第2補正部162は、非変換スキップの際の量子化パラメータの最小値と最大値とで、第1の補正量子化パラメータqP'の上限と下限をクリップする。第2補正部162は、このようなクリップ処理により、第1の補正量子化パラメータqP'から第2の補正量子化パラメータqP''を導出する。つまり、第2の補正量子化パラメータqP''の値が、(0乃至(63+QpBdOffset))の範囲内に制限される(第2の補正量子化パラメータqP''の値が(0乃至(63+QpBdOffset))の範囲内になるように制御される)。
 つまり、第2補正部162は、以下のようなシンタックスの処理を実行する。
if transform_skip_flag[cIdx] == 'IS_SKIP'
    qP'' = Clip3(QpPrimeTsMin, 63+QpBdOffset, qP')
else
    qP'' = Clip3(0, 63+QpBdOffset, qP')
 第2補正部162は、導出した第2の補正量子化パラメータqP''を、入力された量子化パラメータqPの補正結果(補正後の量子化パラメータ)として、量子化パラメータ補正装置160の外部に出力する。
 換言するに、量子化パラメータ補正装置160は、変換スキップの場合、以下の式(16)に示されるような処理を実行して、量子化パラメータを補正する。また、量子化パラメータ補正装置120は、非変換スキップの場合、上述した式(17)に示されるような処理を実行して、量子化パラメータを補正する。
Figure JPOXMLDOC01-appb-I000019
 ・・・(18)
Figure JPOXMLDOC01-appb-I000020
 ・・・(17)(再掲)
 つまり、方法4の場合、実質的に方法3の場合と同等の演算が実行され、同等の補正結果が得られる。
 換言するに、量子化パラメータ補正装置120は、方法3の場合と同様に、適応色変換フラグ(cu_act_enabled_flag), ACTに対応する補正量dqP, コンポーネント識別子cIdxに対応する変換スキップフラグ(transform_skip_flag)、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータ(qPx)、ビット深度に対応する補正量QpBdOffset、量子化パラメータの最小値「0」、ビット深度に対応する補正量QpBdOffsetによる補正前の量子化パラメータの最大値「63」、および変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを参照して、コンポーネント識別子cIdxに対応する処理対象変換ブロックに適用する量子化パラメータqPを導出する。
 このように、量子化パラメータ補正装置160は、非変換スキップの場合、適応色変換による量子化パラメータの補正後において、量子化パラメータの最小値と最大値とに基づいて、量子化パラメータを有効な値に収まるように補正する。また、量子化パラメータ補正装置160は、変換スキップの場合、適応色変換による量子化パラメータの補正後において、変換スキップの際の量子化パラメータの最小値と最大値とに基づいて、量子化パラメータを有効な値に収まるように補正する。このようにすることにより、量子化パラメータ補正装置100は、適応色変換および変換スキップが適用される場合に、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えばエンコーダやデコーダがこのように補正された量子化パラメータを用いて画像の係数データの量子化や逆量子化を実行することにより、変換スキップであるか非変換スキップであるかによらず、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、transform_skip_flagの代わりにmts_idxを適用し、mts_idxの1モードとして変換スキップか否かが通知されるようにしてもよい。つまり、量子化パラメータ補正装置160(第2補正部162)が、transform_skip_flagの代わりにmts_idxを取得し、その値に基づいて、変換スキップが適用されるか否かを判定してもよい。また、QpPrimeTsMinは、コンポーネント毎(Y, Cb, Cr, CbCr)に通知されるようにしてもよい。つまり、量子化パラメータ補正装置160(第2補正部162)が、コンポーネント識別子cIdxに対応するQpPrimeTsMinを取得し、そのコンポーネント識別子cIdxに対応するQpPrimeTsMinを用いて第1の補正量子化パラメータqP'の下限をクリップしてもよい。
  <量子化パラメータ補正処理の流れ>
 次に、この量子化パラメータ補正装置160により実行される量子化パラメータ補正処理の流れの例を、図9のフローチャートを参照して説明する。
 量子化パラメータ補正処理が開始されると、量子化パラメータ補正装置160の第1補正部161は、ステップS161において、条件1を満たすか否かを判定することにより、適応色変換を適用するか否かを判定する。この条件1は、第1の実施の形態(図3)の場合と同様である。条件1を満たす(つまり、適応色変換を適用する)と判定された場合、処理はステップS162に進む。
 ステップS162において、第1補正部161は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、コンポーネント識別子cIdxに対応する補正量dqPxを加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS102の処理と同様に実行される。
 ステップS162の処理が終了すると処理はステップS164に進む。また、ステップS161において、条件1を満たさない(つまり、適応色変換を適用しない)と判定された場合、処理はステップS163に進む。
 ステップS163において、第1補正部161は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxに、補正量「0」を加算し、第1の補正量子化パラメータqP'を導出する。この処理は、図3のステップS103の処理と同様に実行される。
 ステップS163の処理が終了すると処理はステップS164に進む。
 ステップS164において、第2補正部162は、条件2を満たすか否かを判定することにより、変換スキップか否かを判定する。この条件2は、第1の実施の形態(図3)の場合と同様である。条件2を満たす(つまり、変換スキップである)と判定された場合、処理はステップS165に進む。
 ステップS165において、第2補正部162は、(63+QpBdOffset)およびQpPrimeTsMinを用いて第1の補正量子化パラメータqP'の上限および下限をクリップし、第2の補正量子化パラメータqP''を導出する。つまり、第2補正部162は、以下の式(19)の演算を実行する。
Figure JPOXMLDOC01-appb-I000021
 ・・・(19)
 ステップS165の処理が終了すると、量子化パラメータ補正処理が終了する。また、ステップS164において、条件2を満たさない(つまり、非変換スキップである)と判定された場合、処理はステップS166に進む。
 ステップS166において、第2補正部162は、(63+QpBdOffset)および値「0」を用いて第1の補正量子化パラメータqP'の上限および下限をクリップし、第2の補正量子化パラメータqP''を導出する。つまり、第2補正部162は、上述した式(15)の演算を実行する。
Figure JPOXMLDOC01-appb-I000022
 ・・・(15)(再掲)
 ステップS166の処理が終了すると、量子化パラメータ補正処理が終了する。
 以上のように量子化パラメータ補正処理を実行することにより、量子化パラメータ補正装置100は、適応色変換および変換スキップが適用される場合に、量子化や逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、例えば、エンコーダやデコーダが、このように補正された量子化パラメータを用いて、画像の係数データの量子化や逆量子化を実行することにより、PSNRの低減を抑制することができ、符号化効率の低減を抑制することができる。
 <6.第5の実施の形態>
  <画像符号化装置>
 以上において説明した本技術(各種方法)は、任意の装置、デバイス、システム等に適用することができる。例えば、画像データを符号化する画像符号化装置に、本技術を適用することができる。
 図10は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図10に示される画像符号化装置300は、動画像の画像データを符号化する装置である。例えば、画像符号化装置300は、上述した非特許文献に記載のVVC(Versatile Video Coding)、AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)等の符号化方式で動画像の画像データを符号化する。
 なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、画像符号化装置300において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像符号化装置300内の処理部等を説明する他の図においても同様である。
 図10に示されるように画像符号化装置300は、制御部301、並べ替えバッファ311、演算部312、変換量子化部313、符号化部314、および蓄積バッファ315を有する。また、画像符号化装置300は、逆量子化逆変換部316、演算部317、インループフィルタ部318、フレームメモリ319、予測部320、およびレート制御部321を有する。
   <制御部>
 制御部301は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ311により保持されている動画像データを処理単位のブロック(CU,PU,TUなど)へ分割する。また、制御部301は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。例えば、制御部301は、変換スキップフラグ等を設定することができる。
 これらの符号化パラメータの詳細については後述する。制御部301は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。具体的には、以下の通りである。
 ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部314および予測部320に供給される。変換情報Tinfoは、符号化部314、変換量子化部313、および逆量子化逆変換部316に供給される。フィルタ情報Finfoは、符号化部314およびインループフィルタ部318に供給される。
   <並べ替えバッファ>
 画像符号化装置300には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ311は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ311は、制御部301の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ311は、処理後の各入力画像を演算部312に供給する。
   <演算部>
 演算部312は、並べ替えバッファ311から供給される処理単位のブロックに対応する画像から、予測部320より供給される予測画像Pを減算して、残差データDを導出し、それを変換量子化部313に供給する。
   <変換量子化部>
 変換量子化部313は、変換量子化に関する処理を実行する。例えば、変換量子化部313は、演算部312から供給される残差データDを取得する。また、変換量子化部313は、制御部301から供給される予測モード情報Pinfoおよび変換情報Tinfoを取得する。変換量子化部313は、その予測モード情報Pinfoおよび変換情報Tinfoに基づいて、その残差データDに対して変換量子化処理を実行し、量子化係数データlevelを導出する。変換量子化処理においては、例えば、適応色変換、直交変換、および量子化等の処理が実行される。もちろん、変換量子化処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。変換量子化部313は、導出した量子化係数データlevelを、符号化部314および逆量子化逆変換部316に供給する。
   <符号化部>
 符号化部314は、変換量子化部313から供給された量子化係数データlevel(または残差データD)を取得する。また、符号化部314は、制御部301から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を取得する。さらに、符号化部314は、インループフィルタ部318から供給されるフィルタ係数等のフィルタに関する情報を取得する。また、符号化部314は、予測部320から供給される最適な予測モードに関する情報を取得する。
 符号化部314は、量子化係数データlevelまたは残差データDをエントロピ符号化(可逆符号化)し、ビット列(符号化データ)を生成する。符号化部314は、このエントロピ符号化として、例えばCABAC(Context-based Adaptive Binary Arithmetic Code)を適用し得る。符号化部314は、このエントロピ符号化として、例えばCAVLC(Context-based Adaptive Variable Length Code)を適用し得る。もちろん、このエントロピ符号化の内容は任意であり、これらの例に限定されない。
 また、符号化部314は、その量子化係数レベルから残差情報Rinfoを導出し、残差情報Rinfoを符号化し、ビット列を生成する。
 さらに、符号化部314は、インループフィルタ部318から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部320から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部314は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
 また、符号化部314は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部314は、その符号化データを蓄積バッファ315に供給する。
   <蓄積バッファ>
 蓄積バッファ315は、符号化部314において得られた符号化データを、一時的に保持する。蓄積バッファ315は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置300の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ315は、符号化データ(ビットストリーム)を伝送する伝送部でもある。
   <逆量子化逆変換部>
 逆量子化逆変換部316は、逆量子化逆変換に関する処理を実行する。例えば、逆量子化逆変換部316は、変換量子化部313から供給される量子化係数データlevelを取得する。例えば、逆量子化逆変換部316は、制御部301から供給される変換情報Tinfoを取得する。
 逆量子化逆変換部316は、変換情報Tinfoに基づいて、量子化係数データlevelに対して逆量子化逆変換処理を実行し、残差データD'を導出する。この逆量子化逆変換処理は、変換量子化部313において実行される変換量子化処理の逆処理である。つまり、逆量子化逆変換処理においては、例えば、逆量子化、逆直交変換、および逆適応色変換等の処理が実行される。逆量子化は、変換量子化部313において実行される量子化の逆処理である。逆直交変換は、変換量子化部313において実行される直交変換の逆処理である。逆適応色変換は、変換量子化部313において実行される適応色変換の逆処理である。もちろん、逆量子化逆変換処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。逆量子化逆変換部316は、導出した残差データD'を演算部317に供給する。
 なお、この逆量子化逆変換部316は、復号側の逆量子化逆変換部(後述する)と同様であるので、逆量子化逆変換部316については、復号側についての説明(後述する)を適用することができる。
   <演算部>
 演算部317は、逆量子化逆変換部316から供給される残差データD'と、予測部320から供給される予測画像Pを取得する。演算部317は、その残差データD'と、その残差データD'に対応する予測画像とを加算し、局所復号画像を導出する。演算部317は、導出した局所復号画像をインループフィルタ部318およびフレームメモリ319に供給する。
   <インループフィルタ部>
 インループフィルタ部318は、インループフィルタ処理に関する処理を実行する。例えば、インループフィルタ部318は、演算部317から供給される局所復号画像を取得する。例えば、インループフィルタ部318は、制御部301から供給されるフィルタ情報Finfoを取得する。例えば、インループフィルタ部318は、並べ替えバッファ311から供給される入力画像(元画像)を取得する。なお、インループフィルタ部318に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部318に入力されるようにしてもよい。
 インループフィルタ部318は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を実行する。インループフィルタ部318は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
 例えば、インループフィルタ部318は、そのフィルタ処理として、バイラテラルフィルタを適用し得る。例えば、インループフィルタ部318は、そのフィルタ処理として、デブロッキングフィルタ(DBF(DeBlocking Filter))を適用し得る。例えば、インループフィルタ部318は、そのフィルタ処理として、適応オフセットフィルタ(SAO(Sample Adaptive Offset))を適用し得る。例えば、インループフィルタ部318は、そのフィルタ処理として、適応ループフィルタ(ALF(Adaptive Loop Filter))を適用し得る。また、インループフィルタ部318は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部318は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
 もちろん、インループフィルタ部318が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部318がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部318は、フィルタ処理された局所復号画像をフレームメモリ319に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部318は、そのフィルタに関する情報を符号化部314に供給する。
   <フレームメモリ>
 フレームメモリ319は、画像に関するデータの記憶に関する処理を実行する。例えば、フレームメモリ319は、演算部317から供給される局所復号画像や、インループフィルタ部318から供給されるフィルタ処理された局所復号画像を取得し、それを保持(記憶)する。また、フレームメモリ319は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(フレームメモリ319内のバッファへ格納する)。フレームメモリ319は、予測部320の要求に応じて、その復号画像(またはその一部)を予測部320に供給する。
   <予測部>
 予測部320は、予測画像の生成に関する処理を実行する。例えば、予測部320は、制御部301から供給される予測モード情報Pinfoを取得する。例えば、予測部320は、並べ替えバッファ311から供給される入力画像(元画像)を取得する。例えば、予測部320は、フレームメモリ319から読み出す復号画像(またはその一部)を取得する。
 予測部320は、予測モード情報Pinfoや入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を実行する。つまり、予測部320は、復号画像を参照画像として参照して予測と動き補償を実行し、予測画像Pを生成する。予測部320は、生成した予測画像Pを演算部312および演算部317に供給する。また、予測部320は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部314に供給する。
   <レート制御部>
 レート制御部321は、レート制御に関する処理を実行する。例えば、レート制御部321は、蓄積バッファ315に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、変換量子化部313の量子化動作のレートを制御する。
  <本技術の適用>
 以上のような構成の画像符号化装置300に、<1.量子化パラメータの補正>、<2.第1の実施の形態>、<3.第2の実施の形態>、<4.第3の実施の形態>、および<5.第4の実施の形態>において上述した本技術を適用し得る。
   <制御部>
 例えば、上述した「方法1」を適用する場合、制御部301は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを導出し、変換量子化部313および逆量子化逆変換部316に供給する。制御部301は、適応色変換に関するパラメータとして、cu_act_enabled_flagを導出し、変換量子化部313および逆量子化逆変換部316に供給する。制御部301は、適応色変換に関するパラメータとして、コンポーネント識別子cIdxに対応する補正量dqPxを導出し、変換量子化部313および逆量子化逆変換部316に供給する。制御部301は、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を導出し、変換量子化部313および逆量子化逆変換部316に供給する。制御部301は、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを導出し、変換量子化部313および逆量子化逆変換部316に供給する。また、制御部301は、それらのパラメータを符号化部314にも供給する。
 例えば、上述した「方法2」を適用する場合、制御部301は、「方法1」を適用する場合において供給するパラメータを、変換量子化部313、逆量子化逆変換部316、および符号化部314に供給する。制御部301は、これらのパラメータに加え、非変換スキップの際の量子化パラメータの最小値「0」を、変換スキップに関するパラメータとして、逆量子化逆変換部316、および符号化部314に供給する。
 例えば、上述した「方法3」を適用する場合、制御部301は、「方法1」を適用する場合において供給するパラメータを、変換量子化部313、逆量子化逆変換部316、および符号化部314に供給する。制御部301は、これらのパラメータに加え、ビット深度に対応する補正量QpBdOffsetを、変換量子化部313、逆量子化逆変換部316、および符号化部314に供給する。
 例えば、上述した「方法4」を適用する場合、制御部301は、「方法3」を適用する場合において供給するパラメータを、変換量子化部313、逆量子化逆変換部316、および符号化部314に供給する。
   <変換量子化部>
 例えば、上述した「方法1」を適用する場合、変換量子化部313は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。変換量子化部313は、取得したそれらのパラメータを用いて、変換量子化処理を実行する。
 例えば、上述した「方法2」を適用する場合、変換量子化部313は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。変換量子化部313は、取得したそれらのパラメータを用いて、変換量子化処理を実行する。
 例えば、上述した「方法3」を適用する場合、変換量子化部313は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。変換量子化部313は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。変換量子化部313は、変換スキップに関するパラメータとして、制御部301から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。変換量子化部313は、取得したそれらのパラメータを用いて、変換量子化処理を実行する。
 例えば、上述した「方法4」を適用する場合、変換量子化部313は、「方法3」を適用する場合において取得するのと同じパラメータを取得する。変換量子化部313は、取得したそれらのパラメータを用いて、変換量子化処理を実行する。
   <変換量子化部の構成例>
 図11は、図10の変換量子化部313の主な構成例を示すブロック図である。図11に示されるように、変換量子化部313は、適応色変換部341、直交変換部342、および量子化部343を有する。
 適応色変換部341は、適応色変換(ALT)に関する処理を実行する。例えば、適応色変換部341は、演算部312から供給される残差データres_x(つまり図10の残差データD)を取得する。適応色変換部341は、制御部301から供給されるcu_act_enabled_flagを取得する。適応色変換部341は、cu_act_enabled_flagの値に基づいて、残差データres_xに対する適応色変換を実行する。例えば、cu_act_enabled_flagが真(例えば「1」)の場合、適応色変換部341は、上述した式(1)に示されるような演算を実行し、R, G, Bのコンポーネントからなる残差データres_xをRGB-to-YCgCo変換する。この処理により、Y, Cg, Coのコンポーネントからなる適応色変換係数データres_x'が生成される。適応色変換部341は、生成した適応色変換係数データres_x'を直交変換部342に供給する。
 直交変換部342は、直交変換に関する処理を実行する。例えば、直交変換部342は、適応色変換部341から供給される適応色変換係数データres_x'を取得する。直交変換部342は、制御部301から供給される変換情報Tinfoや予測モード情報Pinfoを取得する。例えば、直交変換部342は、変換情報Tinfoとして、transform_skip_flag、mts_idx、lfnst_idx等の情報を取得し得る。直交変換部342は、取得したそれらの情報を用いて適応色変換係数データres_x'を直交変換し、直交変換係数データcoef_xを生成する。直交変換部342は、生成した直交変換係数データcoef_xを量子化部343に供給する。
 量子化部343は、量子化に関する処理を実行する。例えば、量子化部343は、直交変換部342から供給される直交変換係数データcoeff_xを取得する。量子化部343は、その直交変換係数データcoeff_xを量子化し、量子化係数データqcoef_xを生成する。量子化部343は、生成した量子化係数データqcoef_x(つまり、図10の量子化係数データlevel)を符号化部314および逆量子化逆変換部316に供給する。
 例えば、上述した「方法1」を適用する場合、量子化部343は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また量子化部343は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化部343は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 量子化部343は、取得したそれらのパラメータを用いて、直交変換係数データcoeff_xを量子化し、量子化係数データqcoef_xを生成する。
 例えば、上述した「方法2」を適用する場合、量子化部343は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また量子化部343は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化部343は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。
 量子化部343は、取得したそれらのパラメータを用いて、直交変換係数データcoeff_xを量子化し、量子化係数データqcoef_xを生成する。
 例えば、上述した「方法3」を適用する場合、量子化部343は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また量子化部343は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化部343は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化部343は、変換スキップに関するパラメータとして、制御部301から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。
 量子化部343は、取得したそれらのパラメータを用いて、直交変換係数データcoeff_xを量子化し、量子化係数データqcoef_xを生成する。
 例えば、上述した「方法4」を適用する場合、量子化部343は、「方法3」を適用する場合において取得するのと同じパラメータを取得する。量子化部343は、取得したそれらのパラメータを用いて、直交変換係数データcoeff_xを量子化し、量子化係数データqcoef_xを生成する。
   <量子化部の構成例>
 図12は、図11の量子化部343の主な構成例を示すブロック図である。図12に示されるように、量子化部343は、量子化パラメータ補正部351および量子化処理部352を有する。
 量子化パラメータ補正部351は、量子化パラメータの補正に関する処理を実行する。例えば、量子化パラメータ補正部351は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。量子化パラメータ補正部351は、そのコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを補正して、補正後の量子化パラメータである補正量子化パラメータを量子化処理部352に供給する。
 量子化処理部352は、量子化に関する処理を実行する。例えば、量子化処理部352は、直交変換部342から供給される直交変換係数データcoef_xを取得する。量子化処理部352は、量子化パラメータ補正部351から供給される補正量子化パラメータを取得する。量子化処理部352は、補正量子化パラメータを用いて直交変換係数データcoef_xを量子化し、量子化係数データqcoef_xを生成する。量子化処理部352は、生成した量子化係数データqcoef_x(つまり、図10の量子化係数データlevel)を符号化部314および逆量子化逆変換部316に供給する。
 以上のような構成の量子化部343において本技術を適用する場合、量子化パラメータ補正部351は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する。量子化処理部352は、量子化パラメータ補正部351により補正された量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する。
 例えば、上述した「方法1」を適用する場合、量子化パラメータ補正部351として量子化パラメータ補正装置100(図2)を適用する。つまり、量子化パラメータ補正部351は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに、量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 量子化パラメータ補正部351は、取得したcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、およびQpPrimeTsMinを用いて、第1の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部351は、式(5)または式(6)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部351は、生成した第2の補正量子化パラメータqP''を、量子化処理部352に供給する。
 このようにすることにより、量子化パラメータ補正部351は、適応色変換および変換スキップが適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法2」を適用する場合、量子化パラメータ補正部351として量子化パラメータ補正装置120(図4)を適用する。つまり、量子化パラメータ補正部351は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに、量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。
 量子化パラメータ補正部351は、取得したcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、および値「0」を用いて、第2の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部351は、式(5)または式(13)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部351は、生成した第2の補正量子化パラメータqP''を、量子化処理部352に供給する。
 このようにすることにより、量子化パラメータ補正部351は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法3」を適用する場合、量子化パラメータ補正部351として量子化パラメータ補正装置140(図6)を適用する。つまり、量子化パラメータ補正部351は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部351は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに、量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化パラメータ補正部351は、変換スキップに関するパラメータとして、制御部301から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。
 量子化パラメータ補正部351は、取得したcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、およびQpBdOffsetを用いて、第3の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部351は、式(16)または式(17)のような演算を実行し、第3の補正量子化パラメータqP'''を生成する。量子化パラメータ補正部351は、生成した第3の補正量子化パラメータqP'''を、量子化処理部352に供給する。
 このようにすることにより、変換スキップが適用されか否かによらず、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。また、変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされる。つまり、量子化パラメータ補正部351は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法4」を適用する場合、量子化パラメータ補正部351として量子化パラメータ補正装置160(図8)を適用する。つまり、量子化パラメータ補正部351は、「方法3」の場合と同様のパラメータを取得する。
 量子化パラメータ補正部351は、それらのパラメータ(cu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、およびQpBdOffset)を用いて、第4の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部351は、式(18)または式(17)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部351は、生成した第2の補正量子化パラメータqP''を、量子化処理部352に供給する。
 つまり、方法4の場合、実質的に方法3の場合と同等の演算が実行され、同等の補正結果が得られる。したがって、この場合も、方法3の場合と同様に、量子化パラメータ補正部351は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
   <符号化部>
 例えば、上述した「方法1」を適用する場合、符号化部314は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また符号化部314は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。符号化部314は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。符号化部314は、取得したそれらのパラメータを符号化し、ビット列を生成し、符号化データに含める。
 このようにすることにより、これらの情報がシグナリングされる。つまり、これらの情報が復号側装置(デコーダ等)に供給される。したがって、その復号側装置は、復号処理において適応色変換および変換スキップが適用される場合に、量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、復号側装置は、その復号処理において、このように補正された量子化パラメータを用いて逆量子化を実行することができる。したがって、復号側装置は、PSNRの低減を抑制することができる。したがって、復号側装置は、符号化効率の低減の抑制を実現することができる。
 例えば、上述した「方法2」を適用する場合、符号化部314は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また符号化部314は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。符号化部314は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。符号化部314は、取得したそれらのパラメータを符号化し、ビット列を生成し、符号化データに含める。
 このようにすることにより、これらの情報がシグナリングされる。つまり、これらの情報が復号側装置(デコーダ等)に供給される。したがって、その復号側装置は、復号処理において、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、復号側装置は、その復号処理において、このように補正された量子化パラメータを用いて逆量子化を実行することができる。したがって、復号側装置は、PSNRの低減を抑制することができる。したがって、復号側装置は、符号化効率の低減の抑制を実現することができる。
 例えば、上述した「方法3」を適用する場合、符号化部314は、制御部301から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また符号化部314は、適応色変換に関するパラメータとして、制御部301から供給されるcu_act_enabled_flagを取得する。符号化部314は、適応色変換に関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。符号化部314は、変換スキップに関するパラメータとして、制御部301から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。符号化部314は、取得したそれらのパラメータを符号化し、ビット列を生成し、符号化データに含める。
 このようにすることにより、これらの情報がシグナリングされる。つまり、これらの情報が復号側装置(デコーダ等)に供給される。したがって、その復号側装置による復号処理において、変換スキップが適用されか否かによらず、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。また、変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされる。つまり、復号側装置は、復号処理において、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、復号側装置は、その復号処理において、このように補正された量子化パラメータを用いて逆量子化を実行することができる。したがって、復号側装置は、PSNRの低減を抑制することができる。したがって、復号側装置は、符号化効率の低減の抑制を実現することができる。
 例えば、上述した「方法4」を適用する場合、符号化部314は、「方法3」の場合と同様のパラメータを取得する。符号化部314は、取得したそれらのパラメータ(cu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、およびQpBdOffset)を符号化し、ビット列を生成し、符号化データに含める。
 このようにすることにより、これらの情報がシグナリングされる。つまり、これらの情報が復号側装置(デコーダ等)に供給される。したがって、この場合も、その復号側装置は、復号処理において、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、復号側装置は、その復号処理において、このように補正された量子化パラメータを用いて逆量子化を実行することができる。したがって、復号側装置は、PSNRの低減を抑制することができる。したがって、復号側装置は、符号化効率の低減の抑制を実現することができる。
  <画像符号化処理の流れ>
 次に、以上のような画像符号化装置300により実行される各処理の流れについて説明する。最初に、図13のフローチャートを参照して、画像符号化処理の流れの例を説明する。
 画像符号化処理が開始されると、ステップS301において、並べ替えバッファ311は、制御部301に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
 ステップS302において、制御部301は、並べ替えバッファ311が保持する入力画像に対して、処理単位を設定する(ブロックを分割する)。
 ステップS303において、制御部301は、並べ替えバッファ311が保持する入力画像についての符号化パラメータ(例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等)を設定する。
 ステップS304において、予測部320は、予測処理を実行し、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部320は、イントラ予測を実行して最適なイントラ予測モードの予測画像等を生成し、インター予測を実行して最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
 ステップS305において、演算部312は、入力画像と、ステップS304の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部312は、入力画像と予測画像との残差データDを生成する。このようにして求められた残差データDは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS306において、変換量子化部313は、ステップS303において生成された変換情報Tinfo等の符号化パラメータを用いて、ステップS305の処理により生成された残差データDに対して変換量子化処理を実行し、量子化係数データlevelを生成する。
 ステップS307において、逆量子化逆変換部316は、ステップS303において生成された変換情報Tinfo等の符号化パラメータを用いて、ステップS306において生成された量子化係数データlevelに対して、逆量子化逆変換処理を実行し、残差データD'を生成する。
 この逆量子化逆変換処理は、ステップS306の変換量子化処理の逆処理である。後述する復号側装置(画像復号装置400)においても、同様の処理が実行される。したがって、この逆量子化逆変換処理は、復号側装置(画像復号装置400)の処理として説明する。そしてその説明は、この逆量子化逆変換処理(ステップS307)に適用することができる。
 ステップS308において、演算部317は、ステップS307の逆量子化逆変換処理により得られた残差データD'に、ステップS304の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
 ステップS309において、インループフィルタ部318は、ステップS308の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を実行する。
 ステップS310において、フレームメモリ319は、ステップS308の処理により導出された、局所的に復号された復号画像や、ステップS309においてフィルタ処理された、局所的に復号された復号画像を記憶する。
 ステップS311において、符号化部314は、ステップS306の変換量子化処理により得られた量子化係数データlevelを符号化し、符号化データを生成する。また、このとき、符号化部314は、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。さらに、符号化部314は、量子化係数データlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
 ステップS312において、蓄積バッファ315は、このようにして得られた符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置300の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側装置に伝送される。また、レート制御部321は、必要に応じてレートを制御する。ステップS312の処理が終了すると、画像符号化処理が終了する。
  <変換量子化処理の流れ>
 次に、図14のフローチャートを参照して、図13のステップS306において実行される変換量子化処理の流れの例を説明する。
 変換量子化処理が開始されると、適応色変換部341は、ステップS341において、ステップS303(図13)において生成されたcu_act_enabled_flagに基づいて、ステップS305の処理により生成された残差データres_xを適応色変換し、適応色変換係数データres_x'を生成する。
 ステップS342において、直交変換部342は、ステップS303(図13)において生成された変換情報Tinfoや予測モード情報Pinfo等を用いて、ステップS341において生成された適応色変換係数データres_x'を直交変換し、直交変換係数データcoef_xを生成する。
 ステップS343において、量子化部343は、ステップS303(図13)において生成された変換情報Tinfo等を用いて、ステップS342において生成された直交変換係数データcoef_xを量子化し、量子化係数データqcoef_xを生成する。
 ステップS343の処理が終了すると、処理は図13に戻る。
  <量子化処理の流れ>
 次に、図15のフローチャートを参照して、図14のステップS343において実行される量子化処理の流れの例を説明する。
 量子化処理が開始されると、量子化パラメータ補正部351は、ステップS351において、量子化パラメータ補正処理を実行し、量子化パラメータを補正し、補正量子化パラメータを生成する。
 ステップS352において、量子化処理部352は、ステップS351において生成された補正量子化パラメータを用いて、ステップS342(図14)において生成された直交変換係数データcoef_xを量子化し、量子化係数データqcoef_xを生成する。
 ステップS352の処理が終了すると、量子化処理が終了し、処理は図14に戻る。
 このような量子化処理において、<1.量子化パラメータの補正>、<2.第1の実施の形態>、<3.第2の実施の形態>、<4.第3の実施の形態>、および<5.第4の実施の形態>において上述した本技術を適用し得る。
 つまり、以上のような量子化処理において本技術を適用する場合、ステップS351において、量子化パラメータ補正部351は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する。ステップS352において、量子化処理部352は、その補正された量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する。
 例えば、上述した「方法1」を適用する場合、量子化パラメータ補正部351は、ステップS351の量子化パラメータ補正処理として、図3のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部351は、式(5)または式(6)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 このようにすることにより、量子化パラメータ補正部351は、適応色変換および変換スキップが適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法2」を適用する場合、量子化パラメータ補正部351は、ステップS351の量子化パラメータ補正処理として、図5のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部351は、式(5)または式(13)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 このようにすることにより、量子化パラメータ補正部351は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法3」を適用する場合、量子化パラメータ補正部351は、ステップS351の量子化パラメータ補正処理として、図7のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部351は、式(16)または式(17)のような演算を実行し、第3の補正量子化パラメータqP'''を生成する。
 このようにすることにより、変換スキップが適用されか否かによらず、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされる。つまり、量子化パラメータ補正部351は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法4」を適用する場合、量子化パラメータ補正部351は、ステップS351の量子化パラメータ補正処理として、図9のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部351は、式(18)または式(17)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 つまり、方法4の場合、実質的に方法3の場合と同等の演算が行われ、同等の補正結果が得られる。したがって、この場合も、方法3の場合と同様に、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、量子化処理部352がこのように補正された量子化パラメータを用いて画像の係数データを量子化することにより、量子化部343(変換量子化部313)は、PSNRの低減を抑制することができる。したがって、画像符号化装置300は、符号化効率の低減を抑制することができる。
  <符号化>
 なお、図13のステップS311において、符号化部314が、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。本技術を適用する場合、符号化部314は、この符号化パラメータとして、量子化パラメータの補正に適用される上述した各種パラメータを符号化する。例えば、「方法1」が適用される場合、符号化部314は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPx、cu_act_enabled_flag、コンポーネント識別子cIdxに対応する補正量dqPx、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]、変換スキップの際の量子化パラメータの最小値QpPrimeTsMin等のパラメータを符号化する。また、「方法2」が適用される場合、符号化部314は、「方法1」が適用される場合に符号化するパラメータに加え、非変換スキップの際の量子化パラメータの最小値「0」を符号化する。さらに、「方法3」または「方法4」が適用される場合、符号化部314は、「方法1」が適用される場合に符号化するパラメータに加え、ビット深度に対応する補正量QpBdOffsetを符号化する。
 このようにすることにより、これらの情報がシグナリングされるので、復号側装置は、PSNRの低減を抑制することができる。したがって、復号側装置は、符号化効率の低減の抑制を実現することができる。
 <7.第6の実施の形態>
  <画像復号装置>
 以上において説明した本技術(各種方法)は、画像データの符号化データを復号する画像復号装置に適用することもできる。
 図16は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図16に示される画像復号装置400は、動画像の符号化データを復号する装置である。例えば、画像復号装置400は、上述した非特許文献に記載のVVC、AVC、HEVC等の符号化方式で符号化された動画像の符号化データを復号する。例えば、画像復号装置400は、上述の画像符号化装置300(図10)により生成された符号化データ(ビットストリーム)を復号することができる。
 なお、図16においては、処理部やデータの流れ等の主なものを示しており、図16に示されるものが全てとは限らない。つまり、画像復号装置400において、図16においてブロックとして示されていない処理部が存在したり、図16において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像復号装置400内の処理部等を説明する他の図においても同様である。
 図16に示されるように画像復号装置400は、制御部401、蓄積バッファ411、復号部412、逆量子化逆変換部413、演算部414、インループフィルタ部415、並べ替えバッファ416、フレームメモリ417、および予測部418を備えている。なお、予測部418は、不図示のイントラ予測部、およびインター予測部を備えている。
   <制御部>
 制御部401は、復号の制御に関する処理を実行する。例えば、制御部401は、ビットストリームに含まれる符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなど)を、復号部412を介して取得する。また、制御部401は、ビットストリームに含まれない符号化パラメータを推定し得る。さらに、制御部401は、取得した(または推定した)符号化パラメータに基づいて、画像復号装置400の各処理部(蓄積バッファ411乃至予測部418)を制御することにより、復号を制御する。
 例えば、制御部401は、ヘッダ情報Hinfoを、逆量子化逆変換部413、予測部418、インループフィルタ部415に供給する。また、制御部401は、予測モード情報Pinfoを、逆量子化逆変換部413および予測部418に供給する。さらに、制御部401は、変換情報Tinfoを、逆量子化逆変換部413に供給する。また、制御部401は、残差情報Rinfoを、復号部412に供給する。さらに制御部401は、フィルタ情報Finfoを、インループフィルタ部415に供給する。
 もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
   <ヘッダ情報Hinfo>
 ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)、SPS(Sequence ParameterSet)、PPS(Picture Parameter Set)、PH(ピクチャヘッダ)、SH(スライスヘッダ)などのヘッダ情報を含む。ヘッダ情報Hinfoには、例えば、画像サイズ(横幅PicWidth、縦幅PicHeight)、ビット深度(輝度bitDepthY, 色差bitDepthC)、色差アレイタイプChromaArrayType、CUサイズの最大値MaxCUSizeや最小値MinCUSize、4分木分割(Quad-tree分割ともいう)の最大深度MaxQTDepthや最小深度MinQTDepth、2分木分割(Binary-tree分割)の最大深度MaxBTDepthや最小深度MinBTDepth、変換スキップブロックの最大値MaxTSSize(最大変換スキップブロックサイズともいう)、各符号化ツールのオンオフフラグ(有効フラグともいう)などを規定する情報が含まれる。
 例えば、ヘッダ情報Hinfoに含まれる符号化ツールのオンオフフラグとしては、以下に示す変換、量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が1(真)の場合、符号化ツールが使用可能であることを示す。オンオフフラグの値が0(偽)の場合、符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもよい。
   <予測モード情報Pinfo>
 予測モード情報Pinfoには、例えば、処理対象PB(予測ブロック)のサイズ情報PBSize(予測ブロックサイズ)、イントラ予測モード情報IPinfo、動き予測情報MVinfo等の情報が含まれる。
 イントラ予測モード情報IPinfoには、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードIntraPredModeY等が含まれ得る。
 また、イントラ予測モード情報IPinfoには、例えば、コンポーネント間予測フラグ(ccp_flag(cclmp_flag))、多クラス線形予測モードフラグ(mclm_flag)、色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)、色差MPM識別子(chroma_mpm_idx)、および、これらのシンタックスから導出される輝度イントラ予測モード(IntraPredModeC)等が含まれ得る。
 コンポーネント間予測フラグ(ccp_flag(cclmp_flag))は、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1のとき、コンポーネント間予測を適用することを示し、ccp_flag==0のとき、コンポーネント間予測を適用しないことを示す。
 多クラス線形予測モードフラグ(mclm_flag)は、線形予測のモードに関する情報(線形予測モード情報)である。より具体的には、多クラス線形予測モードフラグ(mclm_flag)は、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、「0」の場合、1クラスモード(単一クラスモード)(例えばCCLMP)であることを示し、「1」の場合、2クラスモード(多クラスモード)(例えばMCLMP)であることを示す。
 色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置のタイプ(色差サンプル位置タイプとも称する)を識別する識別子である。
 なお、この色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置に関する情報(chroma_sample_loc_info())として(に格納されて)伝送される。
 色差MPM識別子(chroma_mpm_idx)は、色差イントラ予測モード候補リスト(intraPredModeCandListC)の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
 動き予測情報MVinfoには、例えば、merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd等の情報が含まれ得る(例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntaxを参照)。
 もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
   <変換情報Tinfo>
 変換情報Tinfoには、例えば、以下の情報が含まれ得る。
  処理対象変換ブロックの横幅サイズTBWSizeおよび縦幅TBHSize:2を底とする各TBWSize、TBHSizeの対数値log2TBWSize、log2TBHSizeであってもよい。
  変換スキップフラグ(ts_flag):(逆)プライマリ変換および(逆)セカンダリ変換をスキップか否かを示すフラグである。
  スキャン識別子(scanIdx)
  量子化パラメータ(qp)
  量子化マトリックス(scaling_matrix):例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax
 もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
   <残差情報Rinfo>
 残差情報Rinfo(例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照)には、例えば以下の情報が含まれ得る。
  cbf(coded_block_flag):残差データ有無フラグ
  last_sig_coeff_x_pos:ラスト非ゼロ係数X座標
  last_sig_coeff_y_pos:ラスト非ゼロ係数Y座標
  coded_sub_block_flag:サブブロック非ゼロ係数有無フラグ
  sig_coeff_flag:非ゼロ係数有無フラグ
  gr1_flag:非ゼロ係数のレベルが1より大きいかを示すフラグ(GR1フラグとも呼ぶ)
  gr2_flag:非ゼロ係数のレベルが2より大きいかを示すフラグ(GR2フラグとも呼ぶ)
  sign_flag:非ゼロ係数の正負を示す符号(サイン符号とも呼ぶ)
  coeff_abs_level_remaining:非ゼロ係数の残余レベル(非ゼロ係数残余レベルとも呼ぶ)
 もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
   <フィルタ情報Finfo>
 フィルタ情報Finfoには、例えば、以下に示す各フィルタ処理に関する制御情報が含まれ得る。
  デブロッキングフィルタ(DBF)に関する制御情報
  画素適応オフセット(SAO)に関する制御情報
  適応ループフィルタ(ALF)に関する制御情報
  その他の線形・非線形フィルタに関する制御情報
 また、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタのオンオフ制御情報、スライス、タイルの境界に関するフィルタのオンオフ制御情報などが含まれてもよい。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
   <蓄積バッファ>
 蓄積バッファ411は、画像復号装置400に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ411は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームに含まれる符号化データを抽出し、復号部412に供給する。
   <復号部>
 復号部412は、画像の復号に関する処理を実行する。例えば、復号部412は、蓄積バッファ411から供給される符号化データを取得し、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値をエントロピ復号(可逆復号)し、符号化パラメータを導出する。
 この符号化パラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれ得る。つまり、復号部412は、ビットストリームから、これらの情報を復号し、パースする(解析して取得する)。
 復号部412は、制御部401の制御に従って、このような処理(復号やパース等)を実行し、得られたこれらの情報を制御部401に供給する。
 さらに、復号部412は、残差情報Rinfoを参照して符号化データを復号する。その際、復号部412は、例えばCABACやCAVLC等のエントロピ復号(可逆復号)を適用する。つまり、復号部412は、画像符号化装置300の符号化部314が実行する符号化処理の符号化方式に対応する復号方式で符号化データを復号する。
 例えば、CABACを適用するとする。復号部412は、符号化データに対してコンテキストモデルを用いる算術復号を行い、各変換ブロック内の各係数位置の量子化係数データlevelを導出する。復号部412は、その導出した量子化係数データlevelを逆量子化逆変換部413に供給する。
   <逆量子化逆変換部>
 逆量子化逆変換部413は、逆量子化および逆係数変換に関する処理を実行する。例えば、逆量子化逆変換部413は、復号部412から供給される量子化係数データlevelを取得する。逆量子化逆変換部413は、制御部401から供給される予測モード情報Pinfoや変換情報Tinfo等の符号化パラメータを取得する。
 逆量子化逆変換部413は、予測モード情報Pinfoや変換情報Tinfo等の符号化パラメータに基づいて、量子化係数データlevelに対して逆量子化逆変換処理を実行し、残差データD'を導出する。この逆量子化逆変換処理は、変換量子化部313において実行される変換量子化処理の逆処理である。つまり、逆量子化逆変換処理においては、例えば、逆量子化、逆直交変換、および逆適応色変換等の処理が実行される。逆量子化は、変換量子化部313において実行される量子化の逆処理である。逆直交変換は、変換量子化部313において実行される直交変換の逆処理である。逆適応色変換は、変換量子化部313において実行される適応色変換の逆処理である。もちろん、逆量子化逆変換処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。逆量子化逆変換部413は、導出した残差データD'を演算部414に供給する。
   <演算部>
 演算部414は、画像に関する情報の加算に関する処理を実行する。例えば、演算部414は、逆量子化逆変換部413から供給される残差データD'と、予測部418から供給される予測画像とを取得する。演算部414は、その残差データとその残差データに対応する予測画像(予測信号)とを加算し、局所復号画像を導出する。演算部414は、導出した局所復号画像を、インループフィルタ部415およびフレームメモリ417に供給する。
   <インループフィルタ部>
 インループフィルタ部415は、インループフィルタ処理に関する処理を実行する。例えば、インループフィルタ部415は、演算部414から供給される局所復号画像を取得する。インループフィルタ部415は、制御部401から供給されるフィルタ情報Finfoを取得する。なお、インループフィルタ部415に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
 インループフィルタ部415は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を実行する。例えば、インループフィルタ部415は、そのフィルタ処理として、バイラテラルフィルタを適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、デブロッキングフィルタ(DBF(DeBlocking Filter))を適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、適応オフセットフィルタ(SAO(Sample Adaptive Offset))を適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、適応ループフィルタ(ALF(Adaptive Loop Filter))を適用し得る。また、インループフィルタ部415は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部415は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
 インループフィルタ部415は、符号化側装置(例えば画像符号化装置300のインループフィルタ部318)により実行されたフィルタ処理に対応するフィルタ処理を実行する。もちろん、インループフィルタ部415が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部415がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部415は、フィルタ処理された局所復号画像を並べ替えバッファ416およびフレームメモリ417に供給する。
   <並べ替えバッファ>
 並べ替えバッファ416は、インループフィルタ部415から供給された局所復号画像を入力とし、それを保持(記憶)する。並べ替えバッファ416は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(バッファ内に格納する)。並べ替えバッファ416は、得られた復号画像を、復号順から再生順に並べ替える。並べ替えバッファ416は、並べ替えた復号画像群を動画像データとして画像復号装置400の外部に出力する。
   <フレームメモリ>
 フレームメモリ417は、画像に関するデータの記憶に関する処理を実行する。例えば、フレームメモリ417は、演算部414より供給される局所復号画像を取得し、ピクチャ単位毎の復号画像を再構築して、フレームメモリ417内のバッファへ格納する。
 また、フレームメモリ417は、インループフィルタ部415から供給される、インループフィルタ処理された局所復号画像を取得し、ピクチャ単位毎の復号画像を再構築して、フレームメモリ417内のバッファへ格納する。フレームメモリ417は、適宜、その記憶している復号画像(またはその一部)を参照画像として予測部418に供給する。
 なお、フレームメモリ417が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
   <予測部>
 予測部418は、予測画像の生成に関する処理を実行する。例えば、予測部418は、制御部401から供給される予測モード情報Pinfoを取得する。また、予測部418は、フレームメモリ417から読み出す復号画像(またはその一部)を取得する。予測部418は、予測モード情報Pinfoに基づいて符号化の際に採用された予測モードで予測処理を実行し、復号画像を参照画像として参照して予測画像を生成する。予測部418は、生成した予測画像を演算部414に供給する。
  <本技術の適用>
 以上のような構成の画像復号装置400に、<1.量子化パラメータの補正>、<2.第1の実施の形態>、<3.第2の実施の形態>、<4.第3の実施の形態>、および<5.第4の実施の形態>において上述した本技術を適用し得る。
   <復号部>
 上述したように復号部412は、ビットストリームから、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfo等の符号化パラメータをパースする。
 したがって、本技術を適用する場合、復号部412は、ビットストリームを復号し、符号側装置(例えば画像符号化装置300)から供給される、量子化パラメータの補正に用いられるパラメータをパースする。
 例えば、「方法1」が適用される場合、復号部412は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPx、cu_act_enabled_flag、コンポーネント識別子cIdxに対応する補正量dqPx、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]、変換スキップの際の量子化パラメータの最小値QpPrimeTsMin等のパラメータをパースする。また、「方法2」が適用される場合、復号部412は、「方法1」が適用される場合に符号化するパラメータに加え、非変換スキップの際の量子化パラメータの最小値「0」をパースする。さらに、「方法3」または「方法4」が適用される場合、復号部412は、「方法1」が適用される場合に符号化するパラメータに加え、ビット深度に対応する補正量QpBdOffsetをパースする。
   <制御部>
 例えば、上述した「方法1」を適用する場合、制御部401は、復号部412から、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得し、逆量子化逆変換部413に供給する。制御部401は、復号部412から、適応色変換に関するパラメータとして、cu_act_enabled_flagを取得し、逆量子化逆変換部413に供給する。制御部401は、復号部412から、適応色変換に関するパラメータとして、コンポーネント識別子cIdxに対応する補正量dqPxを取得し、逆量子化逆変換部413に供給する。制御部401は、復号部412から、変換スキップに関するパラメータとして、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得し、逆量子化逆変換部413に供給する。制御部401は、復号部412から、変換スキップに関するパラメータとして、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得し、逆量子化逆変換部413に供給する。
 例えば、上述した「方法2」を適用する場合、制御部401は、「方法1」を適用する場合において供給するパラメータを、逆量子化逆変換部413に供給する。制御部401は、これらのパラメータに加え、非変換スキップの際の量子化パラメータの最小値「0」を、変換スキップに関するパラメータとして、逆量子化逆変換部413に供給する。
 例えば、上述した「方法3」を適用する場合、制御部401は、「方法1」を適用する場合において供給するパラメータを、逆量子化逆変換部413に供給する。制御部401は、これらのパラメータに加え、ビット深度に対応する補正量QpBdOffsetを、逆量子化逆変換部413に供給する。
 例えば、上述した「方法4」を適用する場合、制御部401は、「方法3」を適用する場合において供給するパラメータを逆量子化逆変換部413に供給する。
   <逆量子化逆変換部>
 例えば、上述した「方法1」を適用する場合、逆量子化逆変換部413は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。逆量子化逆変換部413は、取得したそれらのパラメータを用いて、逆量子化逆変換処理を実行する。
 例えば、上述した「方法2」を適用する場合、逆量子化逆変換部413は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。逆量子化逆変換部413は、取得したそれらのパラメータを用いて、逆量子化逆変換処理を実行する。
 例えば、上述した「方法3」を適用する場合、逆量子化逆変換部413は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化逆変換部413は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxとを取得する。さらに逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。逆量子化逆変換部413は、変換スキップに関するパラメータとして、制御部401から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。逆量子化逆変換部413は、取得したそれらのパラメータを用いて、逆量子化逆変換処理を実行する。
 例えば、上述した「方法4」を適用する場合、逆量子化逆変換部413は、「方法3」を適用する場合において取得するのと同じパラメータを取得する。逆量子化逆変換部413は、取得したそれらのパラメータを用いて、逆量子化逆変換処理を実行する。
   <逆量子化逆変換部の構成例>
 図17は、図16の逆量子化逆変換部413の主な構成例を示すブロック図である。図17に示されるように、逆量子化逆変換部413は、逆量子化部441、逆直交変換部442、および逆適応色変換部443を有する。
 逆量子化部441は、逆量子化に関する処理を実行する。例えば、逆量子化部441は、復号部412から供給される量子化係数データqcoeff_x(つまり、図16の量子化係数データlevel)を取得する。逆量子化部441は、その量子化係数データqcoeff_xを逆量子化し、直交変換係数データcoef_xを生成する。逆量子化部441は、生成した直交変換係数データcoef_xを逆直交変換部442に供給する。
 逆直交変換部442は、逆直交変換に関する処理を実行する。例えば、逆直交変換部442は、逆量子化部441から供給される直交変換係数データcoeff_xを取得する。逆直交変換部442は、制御部401から供給される変換情報Tinfoや予測モード情報Pinfoを取得する。例えば、逆直交変換部442は、変換情報Tinfoとして、transform_skip_flag、mts_idx、lfnst_idx等の情報を取得し得る。逆直交変換部442は、取得したそれらの情報を用いて直交変換係数データcoeff_xを逆直交変換し、適応色変換係数データres_x'を生成する。逆直交変換部442は、生成した適応色変換係数データres_x'を逆適応色変換部443に供給する。
 逆適応色変換部443は、逆適応色変換に関する処理を実行する。例えば、逆適応色変換部443は、逆直交変換部442から供給される適応色変換係数データres_x'を取得する。逆適応色変換部443は、制御部401から供給されるcu_act_enabled_flagを取得する。逆適応色変換部443は、cu_act_enabled_flagの値に基づいて、残差データres_xに対する適応色変換を実行する。例えば、cu_act_enabled_flagが真(例えば「1」)の場合、逆適応色変換部443は、上述した式(2)に示されるような演算を実行し、Y, Cg, Coのコンポーネントからなる適応色変換係数データres_x'をYCgCo-RGB変換する。この処理により、R, G, Bのコンポーネントからなる残差データres_x(つまり図10の残差データD)が生成される。逆適応色変換部443は、生成した残差データres_xを演算部414に供給する。
 例えば、上述した「方法1」を適用する場合、逆量子化部441は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 逆量子化部441は、取得したそれらのパラメータを用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoeff_xを生成する。
 例えば、上述した「方法2」を適用する場合、逆量子化部441は、逆量子化部441は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。
 逆量子化部441は、取得したそれらのパラメータを用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoeff_xを生成する。
 例えば、上述した「方法3」を適用する場合、逆量子化部441は、逆量子化部441は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。逆量子化部441は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。さらに逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。逆量子化部441は、変換スキップに関するパラメータとして、制御部401から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。
 逆量子化部441は、取得したそれらのパラメータを用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoeff_xを生成する。
 例えば、上述した「方法4」を適用する場合、逆量子化部441は、「方法3」を適用する場合において取得するのと同じパラメータを取得する。逆量子化部441は、取得したそれらのパラメータを用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoeff_xを生成する。
  <逆量子化部の構成例>
 図18は、図17の逆量子化部441の主な構成例を示すブロック図である。図18に示されるように、逆量子化部441は、量子化パラメータ補正部451および逆量子化処理部452を有する。
 量子化パラメータ補正部451は、量子化パラメータの補正に関する処理を実行する。例えば、量子化パラメータ補正部451は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。量子化パラメータ補正部451は、そのコンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを補正して、補正後の量子化パラメータである補正量子化パラメータを逆量子化処理部452に供給する。
 逆量子化処理部452は、逆量子化に関する処理を実行する。例えば、逆量子化処理部452は、復号部412から供給される量子化係数データqcoef_xを取得する。逆量子化処理部452は、量子化パラメータ補正部451から供給される補正量子化パラメータを取得する。逆量子化処理部452は、その補正量子化パラメータを用いて量子化係数データqcoef_xを逆量子化し、直交変換係数データcoef_xを生成する。逆量子化処理部452は、生成した直交変換係数データcoef_xを逆直交変換部442に供給する。
 以上のような構成の逆量子化部441において本技術を適用する場合、量子化パラメータ補正部451は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する。逆量子化処理部452は、量子化パラメータ補正部451により補正された量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する。
 例えば、上述した「方法1」を適用する場合、量子化パラメータ補正部451として量子化パラメータ補正装置100(図2)を適用する。つまり、量子化パラメータ補正部451は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。
 量子化パラメータ補正部451は、そのcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、およびQpPrimeTsMinを用いて、第1の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部451は、式(5)または式(6)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部451は、生成した第2の補正量子化パラメータqP''を、逆量子化処理部452に供給する。
 このようにすることにより、量子化パラメータ補正部451は、適応色変換および変換スキップが適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法2」を適用する場合、量子化パラメータ補正部451として量子化パラメータ補正装置100(図2)を適用する。つまり、量子化パラメータ補正部451は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、非変換スキップの際の量子化パラメータの最小値「0」を取得する。
 量子化パラメータ補正部451は、そのcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、および値「0」を用いて、第2の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部451は、式(5)または式(13)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部451は、生成した第2の補正量子化パラメータqP''を、逆量子化処理部452に供給する。
 このようにすることにより、量子化パラメータ補正部451は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法3」を適用する場合、量子化パラメータ補正部451として量子化パラメータ補正装置100(図2)を適用する。つまり、量子化パラメータ補正部451は、制御部401から供給される、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPxを取得する。また、量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給されるcu_act_enabled_flagを取得する。量子化パラメータ補正部451は、適応色変換に関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応する補正量dqPxを取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]を取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinを取得する。量子化パラメータ補正部451は、変換スキップに関するパラメータとして、制御部401から供給される、ビット深度に対応する補正量QpBdOffsetを取得する。
 量子化パラメータ補正部451は、そのcu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、およびQpBdOffsetを用いて、第2の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部451は、式(16)または式(17)のような演算を実行し、第3の補正量子化パラメータqP'''を生成する。量子化パラメータ補正部451は、生成した第3の補正量子化パラメータqP'''を、逆量子化処理部452に供給する。
 このようにすることにより、変換スキップが適用されか否かによらず、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。また、変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされる。つまり、量子化パラメータ補正部451は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法4」を適用する場合、量子化パラメータ補正部451として量子化パラメータ補正装置160(図8)を適用する。つまり、量子化パラメータ補正部451は、「方法3」の場合と同様のパラメータを取得する。
 量子化パラメータ補正部451は、それらのパラメータ(cu_act_enabled_flag、dqPx、transform_skip_flag[xTbY][yTbY][cIdx]、QpPrimeTsMin、およびQpBdOffset)を用いて、第4の実施の形態において説明したような方法で、qPxを補正する。つまり、量子化パラメータ補正部451は、式(18)または式(17)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。量子化パラメータ補正部451は、生成した第2の補正量子化パラメータqP''を、逆量子化処理部452に供給する。
 つまり、方法4の場合、実質的に方法3の場合と同等の演算が実行され、同等の補正結果が得られる。したがって、この場合も、方法3の場合と同様に、量子化パラメータ補正部451は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 本実施の形態において説明した逆量子化逆変換部413への説明は、画像符号化装置300の逆量子化逆変換部316にも適用することができる。ただし、その場合、符号化パラメータの供給元は制御部301である。また、量子化係数データの供給元は変換量子化部313である。さらに、残差データD'の供給先は演算部317である。
  <画像復号処理の流れ>
 次に、以上のような画像復号装置400により実行される各処理の流れについて説明する。最初に、図19のフローチャートを参照して、画像復号処理の流れの例を説明する。
 画像復号処理が開始されると、蓄積バッファ411は、ステップS401において、画像復号装置400の外部から供給されるビットストリーム(符号化データ)を取得して保持する(蓄積する)。
 ステップS402において、復号部412は、復号処理を実行する。例えば、復号部412は、そのビットストリームから各種符号化パラメータ(例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等)をパースする(解析して取得する)。制御部401は、その取得した各種符号化パラメータを各種処理部に供給することにより、その各種符号化パラメータを設定する。
 また、制御部401は、得られた符号化パラメータに基づいて、処理単位を設定する。さらに、復号部412は、制御部401の制御に従って、ビットストリームを復号し、量子化係数データlevelを得る。
 ステップS403において、逆量子化逆変換部413は、逆量子化逆変換処理を実行し、残差データD'を生成する。逆量子化逆変換処理については後述する。
 ステップS404において、予測部418は、予測画像を生成する。例えば、予測部418は、ステップS402において設定された符号化パラメータ等に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ417に記憶されている参照画像を参照する等して、予測画像Pを生成する。
 ステップS405において、演算部414は、ステップS403において得られた残差データD'と、ステップS404において得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
 ステップS406において、インループフィルタ部415は、ステップS405の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を実行する。
 ステップS407において、並べ替えバッファ416は、ステップS406の処理によりフィルタ処理された局所復号画像Rlocalを用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像R群は、動画像として画像復号装置400の外部に出力される。
 また、ステップS408において、フレームメモリ417は、ステップS405の処理により得られた局所復号画像Rlocal、および、ステップS406の処理によりフィルタ処理された局所復号画像Rlocalの内、少なくとも一方を記憶する。
 ステップS408の処理が終了すると、画像復号処理が終了する。
  <逆量子化逆変換処理の流れ>
 次に、図20のフローチャートを参照して、図19のステップS403において実行される逆量子化逆変換処理の流れの例を説明する。
 逆量子化逆変換処理が開始されると、逆量子化部441は、ステップS441において、ステップS402(図19)において設定された変換情報Tinfo等を用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoef_xを生成する。この量子化係数データqcoef_xは、図19のステップS402の処理において生成された量子化係数データlevelに対応する。
 ステップS442において、逆直交変換部442は、ステップS402(図19)において設定された変換情報Tinfo等を用いて、ステップS441において生成された直交変換係数データcoef_xを逆直交変換し、適応色変換係数データres_x'を生成する。
 ステップS443において、逆適応色変換部443は、ステップS402(図19)において設定されたcu_act_enabled_flagに基づいて、ステップS442において生成された適応色変換係数データres_x'を逆適応色変換し、残差データres_x(残差データD')を生成する。
 ステップS443の処理が終了すると逆量子化逆変換処理が終了し、処理は図19に戻る。
  <量子化処理の流れ>
 次に、図21のフローチャートを参照して、図20のステップS441において実行される逆量子化処理の流れの例を説明する。
 逆量子化処理が開始されると、量子化パラメータ補正部451は、ステップS451において、量子化パラメータ補正処理を実行し、量子化パラメータを補正し、補正量子化パラメータを生成する。
 ステップS452において、逆量子化処理部452は、ステップS451において生成された補正量子化パラメータを用いて、量子化係数データqcoef_xを逆量子化し、直交変換係数データcoef_xを生成する。
 ステップS452の処理が終了すると、逆量子化処理が終了し、処理は図20に戻る。
 このような逆量子化処理において、<1.量子化パラメータの補正>、<2.第1の実施の形態>、<3.第2の実施の形態>、<4.第3の実施の形態>、および<5.第4の実施の形態>において上述した本技術を適用し得る。
 つまり、以上のような逆量子化処理において本技術を適用する場合、ステップS451において、量子化パラメータ補正部451は、量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する。ステップS452において、逆量子化処理部452は、その補正された量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する。
 例えば、上述した「方法1」を適用する場合、量子化パラメータ補正部451は、ステップS351の量子化パラメータ補正処理として、図3のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部451は、式(5)または式(6)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 このようにすることにより、量子化パラメータ補正部451は、適応色変換および変換スキップが適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法2」を適用する場合、量子化パラメータ補正部451は、ステップS351の量子化パラメータ補正処理として、図5のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部451は、式(5)または式(13)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 このようにすることにより、量子化パラメータ補正部451は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法3」を適用する場合、量子化パラメータ補正部451は、ステップS351の量子化パラメータ補正処理として、図7のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部451は、式(16)または式(17)のような演算を実行し、第3の補正量子化パラメータqP'''を生成する。
 このようにすることにより、変換スキップが適用されか否かによらず、補正後の量子化パラメータの値は、量子化パラメータの最小値乃至最大値の範囲内に収まる。また、変換スキップの場合、さらに、変換スキップの際の量子化パラメータの最小値QpPrimeTsMinにより量子化パラメータの下限がクリップされる。つまり、量子化パラメータ補正部451は、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
 例えば、上述した「方法4」を適用する場合、量子化パラメータ補正部451は、ステップS351の量子化パラメータ補正処理として、図9のフローチャートを参照して説明した量子化パラメータ補正処理を適用する。つまり、量子化パラメータ補正部451は、式(18)または式(17)のような演算を実行し、第2の補正量子化パラメータqP''を生成する。
 つまり、方法4の場合、実質的に方法3の場合と同等の演算が行われ、同等の補正結果が得られる。したがって、この場合も、方法3の場合と同様に、変換スキップが適用されか否かによらず、適応色変換が適用される場合に、逆量子化において量子化ステップサイズΔ<1とならないように、量子化パラメータを補正することができる。したがって、逆量子化処理部452がこのように補正された量子化パラメータを用いて量子化係数データを逆量子化することにより、逆量子化部441(逆量子化逆変換部413)は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減を抑制することができる。
  <復号>
 なお、図19のステップS402において、復号部412が、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を復号する。したがって、本技術を適用する場合、復号部412は、量子化パラメータの補正に適用される上述した各種パラメータを復号する。例えば、「方法1」が適用される場合、復号部412は、コンポーネント識別子cIdxに対応するCUレベルの量子化パラメータqPx、cu_act_enabled_flag、コンポーネント識別子cIdxに対応する補正量dqPx、コンポーネント識別子cIdxに対応するtransform_skip_flag[xTbY][yTbY][cIdx]、変換スキップの際の量子化パラメータの最小値QpPrimeTsMin等のパラメータを復号する。また、「方法2」が適用される場合、符号化部314は、「方法1」が適用される場合に符号化するパラメータに加え、非変換スキップの際の量子化パラメータの最小値「0」を復号する。さらに、「方法3」または「方法4」が適用される場合、符号化部314は、「方法1」が適用される場合に符号化するパラメータに加え、ビット深度に対応する補正量QpBdOffsetを復号する。
 このようにすることにより、画像復号装置400は、シグナリングされたこれらの情報を得ることができる。したがって、画像復号装置400は、PSNRの低減を抑制することができる。したがって、画像復号装置400は、符号化効率の低減の抑制を実現することができる。
 本実施の形態において説明した逆量子化逆変換処理(図19のステップS403、図20)についての説明は、画像符号化処理(図13)において実行される逆量子化逆変換処理(ステップS307)にも適用することができる。
 <8.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図22に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
 バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
 入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が実行される。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
 その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 本技術は、任意の画像符号化方式や復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
 また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像を符号化する多視点画像符号化システムに適用することができる。また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化データを復号する多視点画像復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化や復号において、本技術を適用するようにすればよい。
 さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像を符号化する階層画像符号化(スケーラブル符号化)システムに適用することができる。また、本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化データを復号する階層画像復号(スケーラブル復号)システムに適用することができる。その場合、各階層(レイヤ)の符号化や復号において、本技術を適用するようにすればよい。
 また、以上においては、本技術の適用例として、量子化パラメータ補正装置100、量子化パラメータ補正装置120、量子化パラメータ補正装置140、量子化パラメータ補正装置160、画像符号化装置300、および画像復号装置400について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野や用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、コンピュータが実行するプログラムは、以下のような特徴を有していてもよい。例えば、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしてもよい。また、プログラムを記述するステップの処理が並列に実行されるようにしてもよい。さらに、プログラムを記述するステップの処理が、呼び出されとき等の必要なタイミングで個別に実行されるようにしてもよい。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。また、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と組み合わせて実行されるようにしてもよい。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、
 前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する量子化部と
 を備える画像処理装置。
 (2) 前記量子化パラメータ補正部は、前記適応色変換を適用する場合、処理対象コンポーネントに応じた補正量で前記量子化パラメータを補正する
 (1)に記載の画像処理装置。
 (3) 前記適応色変換を適用しない場合、前記補正量は「0」である
 (2)に記載の画像処理装置。
 (4) 前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップする
 (1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限のクリップを省略する
 (4)に記載の画像処理装置。
 (6) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップする
 (1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記量子化パラメータの最小値は「0」である
 (6)に記載の画像処理装置。
 (8) 前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
 (1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
 (8)に記載の画像処理装置。
 (10) 量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、
 補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する
 画像処理方法。
 (11) 量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、
 前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する逆量子化部と
 を備える画像処理装置。
 (12) 前記量子化パラメータ補正部は、前記適応色変換を適用する場合、処理対象コンポーネントに応じた補正量で前記量子化パラメータを補正する
 (11)に記載の画像処理装置。
 (13) 前記適応色変換を適用しない場合、前記補正量は「0」である
 (12)に記載の画像処理装置。
 (14) 前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップする
 (11)乃至(13)のいずれかに記載の画像処理装置。
 (15) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限のクリップを省略する
 (14)に記載の画像処理装置。
 (16) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップする
 (11)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記量子化パラメータの最小値は「0」である
 (16)に記載の画像処理装置。
 (18) 前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
 (11)乃至(17)のいずれかに記載の画像処理装置。
 (19) 前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
 (18)に記載の画像処理装置。
 (20) 量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、
 補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する
 画像処理方法。
 100 量子化パラメータ補正装置, 101 第1補正部, 102 第2補正部, 120 量子化パラメータ補正装置, 121 第1補正部, 122 第2補正部, 140 量子化パラメータ補正装置, 141 第1補正部, 142 第2補正部, 143 第3補正部, 160 量子化パラメータ補正装置, 161 第1補正部, 162 第2補正部, 300 画像符号化装置, 301 制御部, 313 変換量子化部, 314 符号化部, 341 適応色変換部, 342 直交変換部, 343 量子化部, 351 量子化パラメータ補正部, 352 量子化処理部, 400 画像復号装置, 401 制御部, 412 復号部, 413 逆量子化逆変換部, 441 逆量子化部, 442 逆直交変換部, 443 逆適応色変換部, 451 量子化パラメータ補正部, 452 逆量子化処理部

Claims (20)

  1.  量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、
     前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する量子化部と
     を備える画像処理装置。
  2.  前記量子化パラメータ補正部は、前記適応色変換を適用する場合、処理対象コンポーネントに応じた補正量で前記量子化パラメータを補正する
     請求項1に記載の画像処理装置。
  3.  前記適応色変換を適用しない場合、前記補正量は「0」である
     請求項2に記載の画像処理装置。
  4.  前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップする
     請求項1に記載の画像処理装置。
  5.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限のクリップを省略する
     請求項4に記載の画像処理装置。
  6.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップする
     請求項1に記載の画像処理装置。
  7.  前記量子化パラメータの最小値は「0」である
     請求項6に記載の画像処理装置。
  8.  前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
     請求項1に記載の画像処理装置。
  9.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
     請求項8に記載の画像処理装置。
  10.  量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、
     補正された前記量子化パラメータである補正量子化パラメータを用いて、符号化対象の画像の係数データを量子化する
     画像処理方法。
  11.  量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正する量子化パラメータ補正部と、
     前記量子化パラメータ補正部により補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する逆量子化部と
     を備える画像処理装置。
  12.  前記量子化パラメータ補正部は、前記適応色変換を適用する場合、処理対象コンポーネントに応じた補正量で前記量子化パラメータを補正する
     請求項11に記載の画像処理装置。
  13.  前記適応色変換を適用しない場合、前記補正量は「0」である
     請求項12に記載の画像処理装置。
  14.  前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップする
     請求項11に記載の画像処理装置。
  15.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限のクリップを省略する
     請求項14に記載の画像処理装置。
  16.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップする
     請求項11に記載の画像処理装置。
  17.  前記量子化パラメータの最小値は「0」である
     請求項16に記載の画像処理装置。
  18.  前記量子化パラメータ補正部は、前記変換スキップを適用する場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された、前記変換スキップを適用する場合の前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
     請求項11に記載の画像処理装置。
  19.  前記量子化パラメータ補正部は、前記変換スキップを適用しない場合、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの下限を、予め設定された前記量子化パラメータの最小値でクリップし、かつ、前記適応色変換に関するパラメータに基づいて補正された前記量子化パラメータの上限を、予め設定された、前記量子化パラメータの最大値とビット深度に基づく補正量との和でクリップする
     請求項18に記載の画像処理装置。
  20.  量子化パラメータを、適応色変換に関するパラメータに基づいて補正し、さらに、変換スキップに関するパラメータに基づいて補正し、
     補正された前記量子化パラメータである補正量子化パラメータを用いて、画像の係数データが量子化された量子化係数データを逆量子化する
     画像処理方法。
PCT/JP2020/047338 2019-12-18 2020-12-18 画像処理装置および方法 WO2021125309A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020227017805A KR20220116152A (ko) 2019-12-18 2020-12-18 화상 처리 장치 및 방법
EP20902904.0A EP4068778A4 (en) 2019-12-18 2020-12-18 IMAGE PROCESSING DEVICE AND METHOD
JP2021565670A JPWO2021125309A1 (ja) 2019-12-18 2020-12-18
US17/781,732 US20230007255A1 (en) 2019-12-18 2020-12-18 Image processing device and method
CN202080075250.5A CN114616828A (zh) 2019-12-18 2020-12-18 图像处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962950055P 2019-12-18 2019-12-18
US62/950,055 2019-12-18

Publications (1)

Publication Number Publication Date
WO2021125309A1 true WO2021125309A1 (ja) 2021-06-24

Family

ID=76478790

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047338 WO2021125309A1 (ja) 2019-12-18 2020-12-18 画像処理装置および方法

Country Status (7)

Country Link
US (1) US20230007255A1 (ja)
EP (1) EP4068778A4 (ja)
JP (1) JPWO2021125309A1 (ja)
KR (1) KR20220116152A (ja)
CN (1) CN114616828A (ja)
TW (1) TW202139698A (ja)
WO (1) WO2021125309A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021106344A (ja) * 2019-12-26 2021-07-26 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7026287B1 (ja) 2019-12-26 2022-02-25 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7054765B1 (ja) 2021-12-24 2022-04-14 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022091954A (ja) * 2022-02-14 2022-06-21 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022177180A (ja) * 2022-02-14 2022-11-30 Kddi株式会社 画像復号装置、画像復号方法及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021121419A1 (en) * 2019-12-19 2021-06-24 Beijing Bytedance Network Technology Co., Ltd. Interaction between adaptive color transform and quantization parameters
WO2021143896A1 (en) 2020-01-18 2021-07-22 Beijing Bytedance Network Technology Co., Ltd. Adaptive colour transform in image/video coding

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
"Recommendation ITU-T H.264", ADVANCED VIDEO CODING FOR GENERIC AUDIOVISUAL SERVICES, April 2017 (2017-04-01)
BENJAMIN BROSSJIANLE CHENSHAN LIUYE-KUI WANG: "Versatile Video Coding (Draft 7", JVET-P2001-VE, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: FENEVA, CH, 1 October 2019 (2019-10-01)
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 7", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, (VERSION 14), 16TH MEETING, no. JVET-P2001, 14 November 2019 (2019-11-14), Geneva, CH, pages 297 - 299, XP030224330 *
HIGH EFFICIENCY VIDEO CODING, February 2018 (2018-02-01)
JIANLE CHENYAN YESEUNG HWAN KIM: "Algorithm description for Versatile Video Coding and Test Model 7 (VTM 7", JVET-P2002-VL, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: GENEVA, CH, 1 October 2019 (2019-10-01)
JUNG, JAE-HONG ET AL.: "QP adjustment in adaptive color transform", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 17TH MEETING, no. JVET-Q0241-v3, 11 January 2020 (2020-01-11), Brussels, BE, pages 1 - 5, XP030222960 *
NGUYEN, TUNG ET AL.: "Non-CE8: Minimum Allowed QP for Transform Skip Mode", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 15TH MEETING, no. JVET-O0405-v1, 25 June 2019 (2019-06-25), Gothenburg, SE, pages 1 - 4, XP030219469 *
TSUKUBA, TAKESHI ET AL.: "On QP Adjustment for Adaptive Color Transform", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 17TH MEETING, no. JVET-Q0098-v4, 12 January 2020 (2020-01-12), Brussels, BE, pages 1 - 7, XP030222572 *
UNNO, KYOHEI ET AL.: "Clipping of minimum QP prime value", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/ WG 11, 17TH MEETING, no. JVET-Q0142-v2, 10 January 2020 (2020-01-10), Brussels, BE, pages 1 - 3, XP030222689 *
XIAOYU XIUYI-WEN CHENTSUNG-CHUAN MAHONG-JHENG JHUXIANGLIN WANG: "Support of adaptive color transform for 444 video coding in WC", JVET-P0517-RL, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: GENEVA, CH, 1 October 2019 (2019-10-01)
XIU, XIAOYU ET AL.: "Support of adaptive color transform for 444 video coding in VVC", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 16TH MEETING, no. JVET-P0517, 25 September 2019 (2019-09-25), Geneva, CH, pages 1 - 4, XP030217554 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021106344A (ja) * 2019-12-26 2021-07-26 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7001668B2 (ja) 2019-12-26 2022-01-19 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7026287B1 (ja) 2019-12-26 2022-02-25 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022059603A (ja) * 2019-12-26 2022-04-13 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7054765B1 (ja) 2021-12-24 2022-04-14 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022078074A (ja) * 2021-12-24 2022-05-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022091954A (ja) * 2022-02-14 2022-06-21 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7146129B2 (ja) 2022-02-14 2022-10-03 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2022177180A (ja) * 2022-02-14 2022-11-30 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7317194B2 (ja) 2022-02-14 2023-07-28 Kddi株式会社 画像復号装置、画像復号方法及びプログラム

Also Published As

Publication number Publication date
TW202139698A (zh) 2021-10-16
JPWO2021125309A1 (ja) 2021-06-24
CN114616828A (zh) 2022-06-10
EP4068778A1 (en) 2022-10-05
KR20220116152A (ko) 2022-08-22
US20230007255A1 (en) 2023-01-05
EP4068778A4 (en) 2023-01-11

Similar Documents

Publication Publication Date Title
WO2021125309A1 (ja) 画像処理装置および方法
WO2021039650A1 (ja) 画像処理装置および方法
WO2019188465A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
WO2022255395A1 (ja) 画像処理装置および方法
WO2021100588A1 (ja) 画像処理装置および方法
WO2022044845A1 (ja) 画像処理装置および方法
WO2021117500A1 (ja) 画像処理装置、ビットストリーム生成方法、係数データ生成方法、および量子化係数生成方法
US20220201305A1 (en) Image processing device and method
US20230045106A1 (en) Image processing apparatus and method
WO2021117866A1 (ja) 画像処理装置および方法
JP7484923B2 (ja) 画像処理装置および方法
US20240163437A1 (en) Image processing device and method
WO2023053957A1 (ja) 画像処理装置および方法
WO2022270451A1 (ja) 画像処理装置および方法
WO2023195330A1 (ja) 画像処理装置および方法
WO2021106612A1 (ja) 画像処理装置および方法
WO2020129636A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
KR20240087683A (ko) 화상 처리 장치 및 방법

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: 20902904

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021565670

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020902904

Country of ref document: EP

Effective date: 20220629

NENP Non-entry into the national phase

Ref country code: DE