Image processing device and method

By combining adaptive color transformation and transform skipped parameters in image processing, the problem of not being able to effectively control the quantization parameter range in the prior art is solved, and more efficient image encoding is achieved.

CN114616828BActive Publication Date: 2025-04-22SONY GROUP CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080075250.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-18
Filing Date
2020-12-18
Publication Date
2025-04-22
Estimated Expiration
2040-12-18

AI Technical Summary

Technical Problem

When performing quantization parameter correction based on transformation skip and adaptive color transformation, the range in which the value of the quantization parameter can be used is not effectively controlled, resulting in a decrease in encoding efficiency.

Method used

By combining adaptive color transformation and transform skipped parameters in the quantization parameter correction unit, double correction of the quantization parameter is performed to ensure that the value of the corrected quantization parameter is within the desired range.

Benefits of technology

Effectively control the range of quantization parameters, avoid the reduction of encoding efficiency caused by too small quantization step, and improve the quality and efficiency of image encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114616828B_ABST
    Figure CN114616828B_ABST
Patent Text Reader

Abstract

The present disclosure relates to an image processing device and method, with which the value of a quantization parameter can be controlled to fall within a desired range. The quantization parameter is corrected based on a parameter regarding an adaptive color transform, and the quantization parameter is further corrected based on a parameter regarding a transform skip, and then the coefficient data of an image to be encoded is quantized using the corrected quantization parameter as the quantization parameter that has been corrected. The present disclosure is applicable to, for example, an image processing device, an image encoding device, an image decoding device, a transmitting device, a receiving device, a transmitting / receiving device, an information processing device, an imaging device, a reproducing device, an electronic device, an image processing method, an information processing method, and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image processing apparatus and method, and in particular, to an image processing apparatus and method for enabling the value of a quantization parameter to be controlled within a desired range. Background Art

[0002] In the past, coding methods for deriving a prediction residual of a moving image, performing coefficient transformation, quantization, and encoding have been proposed (for example, see Non-Patent Document 1 and Non-Patent Document 2). In addition, as a coding tool for improving coding efficiency in RGB444, Adaptive Color Transform (ACT) for performing RGB-YCgCo transformation on a residual domain has been proposed (for example, see Non-Patent Document 3).

[0003] In addition, non-patent document 3 proposes a process of correcting the quantization parameter qP of the residual to be applied to each component by (dqPY, dqPCg, dqPCo) = (-5, -5, -3) in consideration of the transformation of the dynamic range of the signal between the residual (C0, C1, C2) before the transformation and the residual (C0', C1', C2') after the transformation. Non-patent document 1 discloses a method of correcting the quantization parameter based on the application of transform skipping and adaptive color transform.

[0004] Reference List

[0005] Non-patent literature

[0006] Non-patent literature 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-11Oct 2019

[0007] Non-patent document 2: 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

[0008] Non-patent document 3: Xiaoyu Xiu, Yi-Wen Chen, Tsung-Chuan Ma, Hong-Jheng Jhu, Xianglin Wang, "Support of adaptive color transform for 444video coding inVVC", 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 Summary of the invention

[0009] Problems to be solved by the present invention

[0010] However, in the case of the method disclosed in Non-Patent Document 1, after the correction of the quantization parameter based on the parameter about the transform skip is performed, the correction of the quantization parameter based on the parameter about the adaptive color transform is performed. In the correction of the quantization parameter based on the parameter about the transform skip, the value of the quantization parameter is limited within a desired range. In addition, in the correction of the quantization parameter based on the parameter about the adaptive color transform, a predetermined correction amount is added. Therefore, in this method, it is not possible to control the range that the value of the corrected quantization parameter can take.

[0011] The present disclosure has been made in view of such circumstances, and enables the value of a quantization parameter to be controlled within a desired range.

[0012] Solution to the problem

[0013] An image processing device according to one aspect of the present technology is an image processing device including: a quantization parameter correction unit configured to correct a quantization parameter based on a parameter regarding an adaptive color transform, and further correct the quantization parameter based on a parameter regarding a transform skip; and a quantization unit configured to quantize coefficient data of an image to be encoded by using a corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected by the quantization parameter correction unit.

[0014] An image processing method according to one aspect of the present technology is an image processing method including: correcting a quantization parameter based on a parameter regarding an adaptive color transform, and further correcting the quantization parameter based on a parameter regarding a transform skip; and quantizing coefficient data of an image to be encoded by using the corrected quantization parameter, the corrected quantization parameter being a quantization parameter that has been corrected.

[0015] According to another aspect of the present technology, an image processing device is an image processing device as follows, which includes: a quantization parameter correction unit, which is configured to correct the quantization parameter based on a parameter about adaptive color transformation, and further correct the quantization parameter based on a parameter about transformation skip; and an inverse quantization unit, which is configured to inverse quantize quantization coefficient data by using a corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected by the quantization parameter correction unit, and the quantization coefficient data is obtained by quantizing coefficient data of an image.

[0016] An image processing method according to another aspect of the present technology is an image processing method comprising: correcting a quantization parameter based on a parameter regarding an adaptive color transform, and further correcting the quantization parameter based on a parameter regarding a transform skip; and inversely quantizing quantization coefficient data by using the corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected, and the quantization coefficient data is obtained by quantizing coefficient data of an image.

[0017] In an image processing device and method according to one aspect of the present technology, a quantization parameter is corrected based on a parameter regarding an adaptive color transform, and the quantization parameter is further corrected based on a parameter regarding a transform skip, and coefficient data of an image to be encoded is quantized by using the corrected quantization parameter, which is a quantization parameter that has been corrected.

[0018] In an image processing device and method according to another aspect of the present technology, a quantization parameter is corrected based on a parameter regarding an adaptive color transform, and further corrected based on a parameter regarding a transform skip, and quantization coefficient data is inversely quantized by using the corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected, and the quantization coefficient data is obtained by quantizing coefficient data of an image. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a diagram for describing an example of a method of correcting a quantization parameter.

[0020] Figure 2 is a block diagram showing a main configuration example of a quantization parameter correction device.

[0021] Figure 3 is a flowchart showing an example of the flow of a quantization parameter correction process.

[0022] Figure 4 is a block diagram showing a main configuration example of a quantization parameter correction device.

[0023] Figure 5 is a flowchart showing an example of the flow of a quantization parameter correction process.

[0024] Figure 6 is a block diagram showing a main configuration example of a quantization parameter correction device.

[0025] Figure 7 is a flowchart showing an example of the flow of a quantization parameter correction process.

[0026] Figure 8 is a block diagram showing a main configuration example of a quantization parameter correction device.

[0027] Fig. 9 is a flowchart showing an example of the flow of a quantization parameter correction process.

[0028] Fig.10 is a block diagram showing a main configuration example of an image encoding device.

[0029] Fig.11 : is a block diagram showing a main configuration example of a transform and quantization unit.

[0030] Fig.12 is a block diagram showing a main configuration example of a quantization unit.

[0031] Fig.13 is a flowchart showing an example of the flow of image encoding processing.

[0032] Fig.14is a flowchart for describing an example of the flow of a transform and quantization process.

[0033] Fig.15 is a flowchart for describing an example of the flow of a quantization process.

[0034] Fig.16 is a block diagram showing a main configuration example of an image decoding device.

[0035] Fig.17 : is a block diagram showing a main configuration example of an inverse quantization and inverse transformation unit.

[0036] Fig.18 is a block diagram showing a main configuration example of an inverse quantization unit.

[0037] Fig.19 is a flowchart showing an example of the flow of image decoding processing.

[0038] Fig. 20 : is a flowchart showing an example of the flow of inverse quantization and inverse transform processing.

[0039] Fig.21 is a flowchart showing an example of the flow of an inverse quantization process.

[0040] Fig. 22 is a block diagram showing a main configuration example of a computer. DETAILED DESCRIPTION

[0041] Hereinafter, a mode for implementing the present disclosure (hereinafter referred to as “embodiment”) will be described. Note that the description will be given in the following order.

[0042] 1. Calibration of quantization parameters

[0043] 2. First Embodiment (Quantization Parameter Correction Device)

[0044] 3. Second Embodiment (Quantization Parameter Correction Device)

[0045] 4. Third Embodiment (Quantization Parameter Correction Device)

[0046] 5. Fourth Embodiment (Quantization Parameter Correction Device)

[0047] 6. Fifth Embodiment (Image Coding Device)

[0048] 7. Sixth Embodiment (Image Decoding Device)

[0049] 8. Additional Notes

[0050] <1. Calibration of Quantization Parameters>

[0051] <Documents supporting technical content and technical terms, etc.>

[0052] The scope disclosed in the present technology includes not only the contents described in the embodiments but also the contents described in the following non-patent documents and the like known at the time of filing the application and the contents of other documents referred to in the following non-patent documents.

[0053] Non-patent document 1: (mentioned above)

[0054] Non-patent document 2: (mentioned above)

[0055] Non-patent document 3: (mentioned above)

[0056] Non-patent document 4: Recommendation ITU-T H.264 (04 / 2017) "Advanced video coding for generic audiovisual services", April 2017

[0057] Non-patent document 5: Recommendation ITU-T H.265 (02 / 18) "High efficiency video coding", February 2018

[0058] That is, the contents described in the above non-patent literature are also used as a basis for determining the support requirements. For example, the quadtree block structure and the quadtree plus binary tree (QTBT) block structure described in the above non-patent literature fall within the disclosure scope of the present technology and meet the support requirements of the claims, even if these contents are not directly described in the examples. In addition, for example, technical terms such as parsing, grammar, and semantics similarly fall within the disclosure scope of the present technology and meet the support requirements of the claims, even if these technical terms are not directly described in the examples.

[0059] In addition, in the present specification, unless otherwise specified, a "block" (not a block representing a processing unit) used for description as a partial area or a processing unit of an image (picture) indicates an arbitrary partial area in a picture, and the size, shape, characteristics, etc. of the block are not limited. For example, a "block" includes an arbitrary partial area (processing unit) such as a transform block (TB), a transform unit (TU), a prediction block (PB), a prediction unit (PU), a minimum coding unit (SCU), a coding unit (CU), a maximum coding unit (LCU), a coding tree block (CTB), a coding tree unit (CTU), a transform block, a subblock, a macroblock, a tile, or a slice described in the above non-patent literature.

[0060] In addition, when specifying the size of such a block, the block size can be specified not only directly but also indirectly. For example, the block size can be specified using identification information for identifying the size. In addition, for example, the block size can be specified by a ratio or difference with the size of a reference block (e.g., LCU, SCU, etc.). For example, in the case where information for specifying the block size is sent as a syntax element, etc., the information for indirectly specifying the size as described above can be used as the information. Through this configuration, the amount of information can be reduced, and in some cases the coding efficiency can be improved. In addition, the specification of the block size also includes the specification of a range of block sizes (e.g., the specification of a range of allowable block sizes, etc.).

[0061] Furthermore, in the present specification, encoding includes not only the entire process of transforming an image into a bit stream, but also a part of the process. For example, encoding includes not only a process including prediction processing, orthogonal transform, quantization, arithmetic coding, etc., but also a process collectively referred to as quantization and arithmetic coding, a process including prediction processing, quantization and arithmetic coding, etc. Similarly, decoding includes not only the entire process of transforming a bit stream into an image, but also a part of the process. For example, decoding includes not only a process including inverse arithmetic decoding, inverse quantization, inverse orthogonal transform, prediction processing, etc., but also a process including inverse arithmetic decoding and inverse quantization, a process including inverse arithmetic decoding, inverse quantization and prediction processing, etc.

[0062] <Adaptive Color Transform>

[0063] As a coding tool for improving coding efficiency in RGB444, non-patent document 3 has proposed an adaptive color transform (ACT) for performing RGB-YCgCo transform on the residual domain. The following expression (1) represents the RGB-YCgCo transform. In addition, expression (2) represents the inverse transform (YCgCo-RGB transform). In expressions (1) and (2), coefficients C0, C1, and C2 correspond to R, G, and B, respectively. C0', C1', and C2' correspond to Y, Cg, and Co, respectively.

[0064]

[0065]

[0066] As shown in expressions (1) and (2), by adaptive color conversion, the RGB signal can be converted into a YCgCo signal equivalent to the YCbCr signal only by simple shift operations and addition / subtraction. The same applies to inverse conversion. Therefore, by applying such adaptive color conversion, redundancy between components can be easily reduced, and the reduction in coding efficiency can be suppressed.

[0067] In addition, in the case of applying this adaptive color conversion, the following processing has been performed by RGB-YCgCo conversion: the residual (C0, C1, C2) before conversion and the quantization parameter qP to be applied to the residual of each component are corrected by the correction amount of the quantization parameter of each component (dqPY, dqPCg, dqPCo) = (-5, -5, -3). This process takes into account the conversion of the dynamic range of the signal with the residual (C0', C1', C2') after conversion.

[0068] <Transformation Skip>

[0069] Incidentally, transform skip, which is a mode for skipping (omitting) an orthogonal transform process, is disclosed in Non-Patent Literature 1. In the present disclosure, a case where transform skip is not applied is also referred to as non-transform skip.

[0070] <Correcting quantization parameters by transform skipping and adaptive color transform>

[0071] Non-patent document 1 discloses a method for correcting a quantization parameter based on applying transform skip and adaptive color transform. In this method, correction of the quantization parameter is controlled according to whether transform skip is applied and whether adaptive color transform is applied. For example, in the case where adaptive color transform is applicable and transform skip is applied, correction of the quantization parameter is performed as in the following expression (3). In contrast, in the case where adaptive color transform is applicable and non-transform skip is applied (i.e., transform skip is not applied), correction of the quantization parameter is performed as in the following expression (4).

[0072] qP=Max(QpPrimeTsMin, qP)-(cu_act-enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0)...(3)

[0073] qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0)...(4)

[0074] As shown in Expression (3), in the case of applying transform skipping, the lower limit of the quantization parameter is first clipped with the minimum value (QpPrimeTsMin) of the quantization parameter in the case of transform skipping. Thereafter, the correction amount corresponding to the component to be processed is added to the clipped result according to the value of cu_act_enabled_flag. cu_act_enabled_flag is flag information in units of CUs, which indicates whether adaptive color transform is applied. The case where cu_act_enabled_flag is true (e.g., "1") indicates that adaptive color transform is applied. The case where cu_act_enabled_flag is false (e.g., "0") indicates that adaptive color transform is not applied. That is, after performing correction based on parameters regarding transform skipping, correction based on parameters regarding adaptive color transform is performed.

[0075] In the case where non-transform skip is applied as shown in Expression (4), similar to the case of Expression (3), correction based on the parameters regarding transform skip is performed, and then correction based on the parameters regarding adaptive color transform is performed. Note that in this case, the above-mentioned clipping process is skipped (omitted) in the correction based on the parameters regarding transform skip. In other words, the lower limit of the quantization parameter is clipped with the minimum value that can be adopted based on the specifications of hardware, software, etc.

[0076] As described above, in the correction method described in Non-Patent Literature 1, since the correction amount is added after the cropping process, the range that the value of the correction quantization parameter can take cannot be controlled.

[0077] <Priority of correcting quantization parameters by adaptive color conversion>

[0078] Therefore, if Figure 1 As shown in the top row of the shown table, after the quantization parameter is corrected by adaptive color transform, the quantization parameter is corrected by transform skipping.

[0079] For example, in an image processing method, a quantization parameter is corrected based on a parameter regarding an adaptive color transform, and the quantization parameter is further corrected based on a parameter regarding a transform skip, and coefficient data of an image to be encoded is quantized by using the corrected quantization parameter, which is the quantization parameter that has been corrected.

[0080] In addition, for example, the image processing device includes: a quantization parameter correction unit, which is configured to correct the quantization parameter based on a parameter regarding an adaptive color transform, and further correct the quantization parameter based on a parameter regarding a transform skip; and a quantization unit, which is configured to quantize coefficient data of an image to be encoded by using a corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected by the quantization parameter correction unit.

[0081] For example, in an image processing method, a quantization parameter is corrected based on a parameter regarding an adaptive color transform, and further corrected based on a parameter regarding a transform skip, and quantization coefficient data is inversely quantized by using the corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected, and the quantization coefficient data is obtained by quantizing coefficient data of an image.

[0082] In addition, for example, the image processing device includes: a quantization parameter correction unit, which is configured to correct the quantization parameter based on a parameter about an adaptive color transform, and further correct the quantization parameter based on a parameter about a transform skip; and an inverse quantization unit, which is configured to inversely quantize quantization coefficient data by using a corrected quantization parameter, wherein the corrected quantization parameter is a quantization parameter that has been corrected by the quantization parameter correction unit, and the quantization coefficient data is obtained by quantizing coefficient data of an image.

[0083] By doing so, since the clipping process can be performed after the correction amount is added, the range that the value of the correction quantization parameter can take can be controlled.

[0084] Note that, in the case where adaptive color transform is applied, the quantization parameter may be corrected with a correction amount corresponding to the component to be processed as correction based on the parameter regarding adaptive color transform. For example, in the image processing apparatus, in the case where adaptive color transform is applied, the quantization parameter correction unit may correct the quantization parameter with a correction amount corresponding to the component to be processed.

[0085] Furthermore, in the case where the adaptive color transform is not applied, the quantization parameter may be corrected with a correction amount set to "0" as a correction based on the parameter regarding the adaptive color transform. In other words, the correction based on the parameter regarding the adaptive color transform may be skipped (omitted). For example, in the image processing apparatus, in the case where the adaptive color transform is applied, the quantization parameter correction unit may correct the quantization parameter with a correction amount set to "0".

[0086] <2. First Embodiment>

[0087] <Lower limit control during transition skipping>

[0088] As described above, in the correction method described in Non-Patent Document 1, in the case where transform skipping is applied, the quantization parameter qP is corrected as shown in Expression (3). That is, the lower limit of the quantization parameter qP is first clipped by the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is performed, and the first corrected quantization parameter qP' is obtained. The minimum value QpPrimeTsMin of the quantization parameter when transform skipping is set in advance.

[0089] Next, when cu_act_enabled_flag is true (for example, "1"), 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' to obtain a second correction quantization parameter qP". Note that when cu_act_enabled_flag is false (for example, "0"), a similar calculation is performed with the correction amount dqP set to "0", and a second correction quantization parameter qP". The second correction quantization parameter qP" obtained in this manner is used as the correction quantization parameter qP (i.e., the correction result) for quantization processing and inverse quantization processing.

[0090] That is, in the case where adaptive color transform and transform skip are applied, 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.

[0091] Note that the quantization parameter qP is lower-bounded by QpPrimeTsMin to avoid the phenomenon of peak signal-to-noise ratio (PSNR) degradation when the quantization step size Δ<1 in transform skip (as quantization step size Δ<1 may occur).

[0092] However, as described above, by adding the correction amount dqP corresponding to the component identifier cIdx after clipping the lower limit with QpPrimeTsMin, the second corrected quantization parameter qP" (i.e., the corrected quantization parameter qP) can be a value smaller than QpPrimeTsMin. That is, in the case of applying adaptive color transform and transform skipping, there is a possibility that a quantization parameter smaller than the minimum value of the quantization parameter when transform skipping is used for quantization and inverse quantization (a quantization step Δ<1 may occur). Therefore, there is a possibility that the PSNR is reduced. That is, there is a possibility that the encoding efficiency is reduced.

[0093] Therefore, as mentioned above, Figure 1 As shown in the top row of the table shown in FIG. , after the quantization parameter is corrected by the adaptive color transform, the quantization parameter is corrected by the transform skip. Figure 1 As shown in the second row from the top of the shown table, in the quantization parameter correction process by transform skipping, in the case of transform skipping, the lower limit can be clipped with the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping (method 1).

[0094] For example, in the image processing device, when transform skipping is applied, the quantization parameter correction unit may clip the lower limit of the quantization parameter that has been corrected based on the parameters regarding the adaptive color transform with the preset minimum value QpPrimeTsMin of the quantization parameter in the transform skipping case.

[0095] By doing so, in the case where adaptive color transform and transform skipping are applied, the quantization step size Δ<1 can be avoided, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0096] In addition, if Figure 1 As shown in the second row from the top of the table shown, in the quantization parameter correction process by transform skipping, in the case of non-transform skipping, clipping of the lower limit can be omitted. For example, in the image processing device, in the case where transform skipping is not applied, the quantization parameter correction unit can omit clipping of the lower limit of the quantization parameter that has been corrected based on the parameters regarding the adaptive color transform. In other words, in this case, the lower limit of the quantization parameter can be clipped with the minimum value that can be adopted based on the specifications of hardware, software, etc.

[0097] <Quantization parameter correction device>

[0098] The present technology described above can be applied to any device. Figure 2 : is a block diagram showing an example of the configuration of a quantization parameter correction device as one aspect of an image processing device to which the present technology is applied. Figure 2 The quantization parameter correction device 100 shown is a device that corrects the quantization parameter to be used for the quantization process and the inverse quantization process of coefficient data related to the image. For example, the quantization parameter correction device 100 corrects the quantization parameter according to the application of adaptive color transformation and transformation skipping in image encoding or decoding. At this time, the quantization parameter correction device 100 corrects the quantization parameter by applying the above-mentioned "method 1".

[0099] Notice, Figure 2 shows the main processing units, data flows, etc., and Figure 2 That is, in the quantization parameter correction device 100, there may be Figure 2 A processing unit may be shown as a block, or may exist without being shown in Figure 2 A process or data flow is shown as arrows or the like.

[0100] like Figure 2 As shown, the quantization parameter correction device 100 includes a first correction unit 101 and a second correction unit 102 .

[0101] The first correction unit 101 performs processing on correction based on parameters related to adaptive color transformation. For example, the first correction unit 101 obtains a quantization parameter qPx at the CU level corresponding to a component identifier cIdx indicating a component to be processed. In addition, the first correction unit 101 obtains cu_act_enabled_flag as a parameter related to adaptive color transformation. In addition, the first correction unit 101 obtains a correction amount dqPx corresponding to the component identifier cIdx.

[0102] Note that the component identifier cIdx is an identifier indicating a component to be processed. In addition, the quantization parameter qPx indicates a quantization parameter corresponding to the component. For example, the quantization parameter qPx includes a quantization parameter qPy corresponding to luminance Y, a quantization parameter qPcb corresponding to chrominance Cb, a quantization parameter qPcr corresponding to chrominance Cr, and a quantization parameter qPcbcr corresponding to chrominance CbCr. In addition, when adaptive color transformation is applied, the correction amount dqPx corresponding to each component (Y, Cg, Co) is (-5, -5, -3). Unless otherwise specified, these parameters are similar in other embodiments.

[0103] When cu_act_enabled_flag is true (e.g., "1"), the first correction unit 101 adds the correction amount dqPx corresponding to the component identifier cIdx to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. In addition, when cu_act_enabled_flag is false (e.g., "0"), the first correction unit 101 adds the correction amount "0" to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. That is, the first correction unit 101 performs the processing of the following syntax.

[0104] if cu_act_enabled_flag

[0105] qP'=qPx+dqPx

[0106] else

[0107] qP'=qPx

[0108] The first correction unit 101 provides the obtained first corrected quantization parameter qP′ to the second correction unit 102 .

[0109] The second correction unit 102 performs processing on correction based on parameters related to transform skipping. For example, the second correction unit 102 obtains the first corrected quantization parameter qP' provided from the first correction unit 101. In addition, the second correction unit 102 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx as a parameter related to transform skipping. In addition, the second correction unit 102 obtains the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is performed as a parameter related to transform skipping.

[0110] Note that transform_skip_flag is flag information indicating whether transform skipping is applied. The case where transform_skip_flag is true (e.g., "1") indicates that transform skipping is applied. In addition, the case where transform_skip_flag is false (e.g., "0") indicates that non-transform skipping is applied (i.e., transform skipping is not applied). In addition, the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping is set in advance. Note that in the case of signaling (sending) QpPrimeTsMin from the encoding side device to the decoding side device, QpPrimeTsMin is signaled using, for example, a parameter set. Unless otherwise specified, these parameters are similar in other embodiments.

[0111] When transform_skip_flag is true (for example, "1"), the second correction unit 102 uses QpPrimeTsMin to clip the lower limit of the first correction quantization parameter qP' to obtain the second correction quantization parameter qP". In other words, when transform_skip_flag is true, the second correction unit 102 sets QpPrimeTsMin or the first correction quantization parameter qP' (whichever is larger) as the second correction quantization parameter qP". In addition, when transform_skip_flag is false (for example, "0"), the second correction unit 102 skips (omit) the clipping process and sets the first correction quantization parameter qP' as the second correction quantization parameter qP". In other words, when transform_skip_flag is false, the second correction unit 102 clips the lower limit of the first correction quantization parameter qP' with the minimum value that can be adopted based on the specifications of hardware, software, etc., and obtains the second correction quantization parameter qP". That is, the second correction unit 102 performs the processing of the following syntax.

[0112] if transform_skip_flag[cIdx]=='IS_SKIP'

[0113] qP”=Max(qP’,QpPrimeTsMin)

[0114] else

[0115] qP"=qP'

[0116] The second correction unit 102 outputs the obtained second corrected 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.

[0117] In other words, in the case of transform skipping, the quantization parameter correction device 100 performs the processing shown in the following expression (5) to correct the quantization parameter. In addition, in the case of non-transform skipping, the quantization parameter correction device 100 performs the processing shown in the following expression (6) to correct the quantization parameter.

[0118] qP″=Max(QpPrimeTsMin, qP-(cu_act_enbbled_flag[xTbY][yTbY]?(cIdx<2?5:3):0))...(5)

[0119] qP″=qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0)...(6)

[0120] In other words, the quantization parameter correction device 100 obtains the quantization parameter qP to be applied to the transform block to be processed corresponding to the component identifier cIdx by referring to the adaptive color transform flag (cu_act_enabled_flag), the correction amount dqP corresponding to ACT, the transform skip flag (transform_skip_flag) corresponding to the component identifier cIdx, the CU-level quantization parameter (qPx) corresponding to the component identifier cIdx, and the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped.

[0121] By doing so, the quantization parameter correction device 100 can correct the quantization parameter so that when adaptive color transform and transform skip are applied, the quantization step size Δ<1 is avoided in quantization or inverse quantization. Therefore, for example, the encoder or decoder performs quantization or inverse quantization on coefficient data of the image using the quantization parameter corrected in this manner, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0122] Note that mts_idx may be applied instead of transform_skip_flag, and as a mode of mts_idx, a notification of whether transform skip is applied may be provided. That is, the quantization parameter correction device 100 (second correction unit 102) may acquire mts_idx instead of transform_skip_flag, and determine whether transform skip is applied based on the value. In addition, a notification of QpPrimeTsMin may be provided for each component (Y, Cb, Cr, or CbCr). That is, the quantization parameter correction device 100 (second correction unit 102) may acquire QpPrimeTsMin corresponding to the component identifier cIdx, and use QpPrimeTsMin corresponding to the component identifier cIdx to clip the lower limit of the first correction quantization parameter qP'.

[0123] <Flow of Quantization Parameter Correction Processing>

[0124] Next, refer to Figure 3 The flowchart of FIG. 1 describes an example of the flow of a quantization parameter correction process performed by the quantization parameter correction device 100 .

[0125] When the quantization parameter correction process is started, in step S101, the first correction unit 101 of the quantization parameter correction device 100 determines whether to apply adaptive color transform by determining whether condition 1 is satisfied. For example, condition 1 may be cu_act_enabled_flag = 1. In the case where it is determined that condition 1 is satisfied (i.e., adaptive color transform is applied), the process proceeds to step S102.

[0126] In step S102, the first correction unit 101 adds the correction amount dqPx corresponding to the component identifier cIdx to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain a first corrected quantization parameter qP'. That is, the first correction unit 101 performs calculation of the following expression (7).

[0127] qP′=qPx+dqPx...(7)

[0128] At this time, the correction amount dqPx may be set as in the following expression (8), or may be set as in the following expression (9).

[0129] dqPx=cIdx<2? -5:-3...(8)

[0130] dqPx=codedCIdx<2? -5:3...(9)

[0131] When the processing in step S102 is completed, the processing proceeds to step S104. In addition, in the event that it is determined in step S101 that condition 1 is not satisfied (ie, adaptive color transform is not applied), the processing proceeds to step S103.

[0132] In step S103, the first correction unit 101 adds a correction amount "0" to the quantization parameter qPx of the CU level corresponding to the component identifier cIdx to obtain a first corrected quantization parameter qP'. That is, the first correction unit 101 performs calculation of the following expression (10).

[0133] qP′=qP...(10)

[0134] When the processing in step S103 is completed, the process proceeds to step S104.

[0135] In step S104, the second correction unit 102 determines whether to apply transform skipping by determining whether condition 2 is satisfied. For example, condition 2 may be transform_skip_flag[cIdx]=='IS_SKIP'. Alternatively, condition 2 may be mts_idx[cIdx]=='IS_SKIP'. When it is determined that condition 2 is satisfied (ie, transform skipping is performed), the process proceeds to step S105.

[0136] In step S105, the second correction unit 102 clips the lower limit of the first corrected quantization parameter qP' using QpPrimeTsMin to obtain the second corrected quantization parameter qP". That is, the second correction unit 102 performs calculation of the following expression (11).

[0137] qP″=Max(QpPrimeTsMin, qP′)...(11)

[0138] When the process of step S105 ends, the quantization parameter correction process ends. In addition, in the event that it is determined in step S104 that condition 2 is not satisfied (ie, non-transform skip is applied), the process proceeds to step S106.

[0139] In step S106, the second correction unit 102 skips (omit) the cropping process, and sets the first corrected quantization parameter qP′ as the second corrected quantization parameter qP″. That is, the second correction unit 102 performs calculation of the following Expression (12).

[0140] qP″=qP′...(12)

[0141] When the process of step S106 ends, the quantization parameter correction process ends.

[0142] By performing the quantization parameter correction process as described above, the quantization parameter correction device 100 can correct the quantization parameter so that when adaptive color transform and transform skipping are applied, the quantization step size Δ<1 is avoided in quantization or inverse quantization. Therefore, for example, the encoder or decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this manner, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0143] <3. Second Embodiment>

[0144] <Lower limit control during non-transformation skipping>

[0145] As described above, in the correction method described in non-patent document 1, when non-transform skipping is applied, clipping is omitted as shown in expression (4). Then, when cu_act_enabled_flag is true (for example, "1"), the correction amount dqP corresponding to the component identifier cIdx is added to the first correction quantization parameter qP' to obtain the second correction quantization parameter qP". Note that when cu_act_enabled_flag is false (for example, "0"), a similar calculation is performed with the correction amount dqP set to "0", and the second correction quantization parameter qP". The second correction quantization parameter qP" obtained in this manner is used as the correction quantization parameter qP (i.e., the correction result) for quantization processing and inverse quantization processing.

[0146] Therefore, in the case of non-transform skipping, the second corrected quantization parameter qP" (i.e., the corrected quantization parameter qP) can be a value smaller than the minimum value "0" of the quantization parameter. That is, in the case of applying adaptive color transform and non-transform skipping, there is a possibility that a quantization parameter smaller than the minimum value "0" of the quantization parameter in the case of non-transform skipping is used for quantization and inverse quantization (a quantization step size Δ <1 may occur). Therefore, there is a possibility of a decrease in PSNR. That is, there is a possibility of a decrease in coding efficiency.

[0147] Therefore, as mentioned above, Figure 1 As shown in the top row of the table shown in FIG. , after the quantization parameter is corrected by the adaptive color transform, the quantization parameter is corrected by the transform skip. Figure 1 As shown in the third row from the top of the table shown, in the quantization parameter correction process by transform skipping, in the case of transform skipping, the lower limit of the quantization parameter can be clipped with the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped, and in the case of non-transform skipping, the lower limit of the quantization parameter can be clipped with the minimum value "0" of the quantization parameter when the non-transform is skipped (Method 2).

[0148] For example, in the image processing apparatus, in a case where transform skipping is not applied, the quantization parameter correction unit may clip the lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter.

[0149] For example, the minimum value of the quantization parameter may be “0.” That is, in the case where transform skipping is not applied, the quantization parameter correction unit may clip the lower limit of the quantization parameter that has been corrected based on the parameters regarding the adaptive color transform with a value of “0.”

[0150] In doing so, in the case where adaptive color transform and non-transform skipping are applied, the quantization step size Δ<1 can be avoided, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0151] <Quantization parameter correction device>

[0152] The present technology described above can be applied to any device. Figure 4 : is a block diagram showing an example of the configuration of a quantization parameter correction device as one aspect of an image processing device to which the present technology is applied. Figure 4 The quantization parameter correction device 120 shown is a device similar to the quantization parameter correction device 100, and corrects the quantization parameter used for the quantization process and the inverse quantization process of coefficient data related to the image. At this time, the quantization parameter correction device 120 corrects the quantization parameter by applying the above-mentioned "method 2".

[0153] Notice, Figure 4 shows the main processing units, data flows, etc., and Figure 4 That is, in the quantization parameter correction device 120, there may be Figure 4 A processing unit may be shown as a block, or may exist without being shown in Figure 4 A process or data flow is shown as arrows or the like.

[0154] like Figure 4 As shown, the quantization parameter correction device 120 includes a first correction unit 121 and a second correction unit 122 .

[0155] The first correction unit 121 is a processing unit similar to the first correction unit 101 of the quantization parameter correction device 100, and performs similar processing. That is, the first correction unit 121 performs processing related to correction based on parameters related to adaptive color transformation. For example, the first correction unit 121 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx indicating the component to be processed. In addition, the first correction unit 121 obtains cu_act_enabled_flag as a parameter related to adaptive color transformation. In addition, the first correction unit 121 obtains the correction amount dqPx corresponding to the component identifier cIdx.

[0156] In the case where 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 quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. In addition, in the case where cu_act_enabled_flag is false (for example, "0"), the first correction unit 121 adds the correction amount "0" to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. That is, the first correction unit 121 performs the processing of the following syntax.

[0157] if cu_act_enabled_flag

[0158] qP'=qPx+dqPx

[0159] else

[0160] qP'=qPx

[0161] The first correction unit 121 provides the obtained first corrected quantization parameter qP′ to the second correction unit 122 .

[0162] Similar to the second correction unit 102 of the quantization parameter correction device 100, the second correction unit 122 performs processing on correction based on parameters related to transform skipping. For example, the second correction unit 122 obtains the first corrected quantization parameter qP' provided from the first correction unit 121. In addition, the second correction unit 122 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx as a parameter related to transform skipping. In addition, the second correction unit 122 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping as a parameter related to transform skipping. In addition, the second correction unit 122 obtains the minimum value "0" of the quantization parameter at the time of non-transform skipping as a parameter related to transform skipping.

[0163] When transform_skip_flag is true (e.g., “1”), the second correction unit 122 uses QpPrimeTsMin to clip the lower limit of the first corrected quantization parameter qP′ to obtain the second corrected quantization parameter qP”. In other words, when transform_skip_flag is true, the second correction unit 122 sets QpPrimeTsMin or the first corrected quantization parameter qP′ (whichever is larger) as the second corrected quantization parameter qP”.

[0164] In contrast, when transform_skip_flag is false (for example, "0"), the second correction unit 122 clips the lower limit of the quantization parameter with the minimum value "0" of the quantization parameter during non-transform skipping, and obtains the second corrected quantization parameter qP". In other words, when transform_skip_flag is false, the second correction unit 122 sets the value "0" or the first corrected quantization parameter qP' (whichever is larger) as the second corrected quantization parameter qP". That is, the second correction unit 122 performs the processing of the following syntax.

[0165] if transform_skip_flag[cIdx]=='IS_SKIP'

[0166] qP”=Max(qP’,QpPrimeTsMin)

[0167] else

[0168] qP' = Max(qP', 0)

[0169] The second correction unit 122 outputs the obtained second corrected 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.

[0170] In other words, in the case of transform skipping, the quantization parameter correction device 120 performs the processing shown in the above expression (5) to correct the quantization parameter. In addition, in the case of non-transform skipping, the quantization parameter correction device 120 performs the processing shown in the following expression (13) to correct the quantization parameter.

[0171] qP″=Max(QpPrmeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0))

[0172] (5) (Describe again)

[0173] qP″=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0))...(13)

[0174] In other words, the quantization parameter correction device 120 obtains the quantization parameter qP to be applied to the transform block to be processed corresponding to the component identifier cIdx by referring to the adaptive color transform flag (cu_act_enabled_flag), the correction amount dqP corresponding to ACT, the transform skip flag (transform_skip_flag) corresponding to the component identifier cIdx, the CU-level quantization parameter (qPx) corresponding to the component identifier cIdx, the minimum value "0" of the quantization parameter during non-transform skipping, and the minimum value QpPrimeTsMin of the quantization parameter during transform skipping.

[0175] By doing so, the quantization parameter correction device 120 can correct the quantization parameter so that when the adaptive color transform and the non-transform skipping are applied, the quantization step size Δ<1 is avoided in the quantization or inverse quantization. That is, in the case of applying the adaptive color transform, regardless of whether the transform skipping is applied, the quantization parameter correction device 120 can correct the quantization parameter so that the quantization step size Δ<1 is avoided in the quantization or inverse quantization. Therefore, for example, the encoder or the decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this way, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0176] Note that mts_idx may be applied instead of transform_skip_flag, and as a mode of mts_idx, a notification of whether transform skip is applied may be provided. That is, the quantization parameter correction device 120 (second correction unit 122) may obtain mts_idx instead of transform_skip_flag, and determine whether transform skip is applied based on the value. In addition, a notification of QpPrimeTsMin may be provided for each component (Y, Cb, Cr, or CbCr). That is, the quantization parameter correction device 120 (second correction unit 122) may obtain QpPrimeTsMin corresponding to the component identifier cIdx, and use QpPrimeTsMin corresponding to the component identifier cIdx to clip the lower limit of the first correction quantization parameter qP'.

[0177] <Flow of Quantization Parameter Correction Processing>

[0178] Next, we will refer to Figure 5 The flowchart of FIG. 1 describes an example of the flow of the quantization parameter correction process performed by the quantization parameter correction device 120 .

[0179] When the quantization parameter correction process is started, in step S121, the first correction unit 121 of the quantization parameter correction device 120 determines whether to apply adaptive color transformation by determining whether condition 1 is satisfied. This condition 1 is consistent with the first embodiment ( Figure 3 In a case where it is determined that condition 1 is satisfied (ie, adaptive color transform is applied), the process proceeds to step S122.

[0180] In step S122, the first correction unit 121 adds the correction amount dqPx corresponding to the component identifier cIdx to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain a first corrected quantization parameter qP'. Figure 3 The processing in step S102 is similarly performed.

[0181] When the processing in step S122 is completed, the processing proceeds to step S124. In addition, in the case where it is determined in step S121 that condition 1 is not satisfied (ie, adaptive color transform is not applied), the processing proceeds to step S123.

[0182] In step S123, the first correction unit 121 adds the correction amount "0" to the quantization parameter qPx of the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. Figure 3 The processing in step S103 is similarly performed.

[0183] When the processing in step S123 is completed, the processing proceeds to step S124.

[0184] In step S124, the second correction unit 122 determines whether to apply the transform skip by determining whether condition 2 is satisfied. This condition 2 is consistent with the first embodiment ( Figure 3 When it is determined that condition 2 is satisfied (ie, transform skip is performed), the process proceeds to step S125.

[0185] In step S125, the second correction unit 122 uses QpPrimeTsMin to clip the lower limit of the first correction quantization parameter qP' to obtain the second correction quantization parameter qP". This process is similar to Figure 3 The processing in step S105 is similarly performed.

[0186] When the process of step S125 ends, the quantization parameter correction process ends. In addition, in the event that it is determined in step S124 that condition 2 is not satisfied (ie, non-transform skip is applied), the process proceeds to step S126.

[0187] In step S126, the second correction unit 122 clips the lower limit of the first corrected quantization parameter qP' using the minimum value "0" of the quantization parameter at the time of non-transform skip to obtain the second corrected quantization parameter qP". That is, the second correction unit 122 performs calculation of the following expression (14).

[0188] qP″=Max(0,qP′)...(14)

[0189] When the process of step S126 ends, the quantization parameter correction process ends.

[0190] By performing the quantization parameter correction process as described above, the quantization parameter correction device 100 can correct the quantization parameter so that when adaptive color transform and non-transform skipping are applied, the quantization step size Δ<1 is avoided in quantization or inverse quantization. Therefore, for example, the encoder or decoder performs quantization or inverse quantization on coefficient data of an image using the quantization parameter corrected in this manner, so that a decrease in PSNR can be suppressed and a decrease in encoding efficiency can be suppressed.

[0191] <4. Third Embodiment>

[0192] <Upper limit control of quantization parameters>

[0193] In addition, the upper limit of the quantization parameter can be clipped. Figure 1 As shown in the fourth row from the top of the table shown, correction of the quantization parameter by adaptive color transform is performed. The corrected quantization parameter can then be clipped with the minimum and maximum values ​​of the quantization parameter (method 3).

[0194] Assuming that the quantization parameter is set within the range from 0 to 63, the minimum value of the quantization parameter is “0”, and the maximum value of the quantization parameter is “63+QpBdOffset.” Note that QpBdOffset is a correction amount corresponding to the bit depth of the quantization parameter.

[0195] For example, in an image processing device, a quantization parameter correction unit may clip the upper limit of a quantization parameter that has been corrected based on parameters regarding adaptive color transformation with a maximum value of the quantization parameter (63+QpBdOffset), and clip the lower limit with a minimum value of the quantization parameter (value "0").

[0196] That is, after the quantization parameter is corrected by adaptive color transformation, the quantization parameter can be corrected to fall within the effective value based on the minimum and maximum values ​​of the quantization parameter. By doing so, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter. Therefore, the reduction in PSNR can be suppressed, and the reduction in coding efficiency can be suppressed.

[0197] Note that the clipped quantization parameter can be corrected based on the parameter about transform skipping. The correction based on the parameter about transform skipping can be performed similarly to the case of method 1. In addition, in the case of transform skipping, the lower limit of the clipped quantization parameter can be further clipped with the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping. In addition, in the case of non-transform skipping, the lower limit clipping process can be skipped (omitted).

[0198] By doing so, the correction quantization parameter does not become a value less than QpPrimeTsMin. Therefore, regardless of whether transform skipping or non-transform skipping is applied, a decrease in PSNR can be suppressed, and a decrease in encoding efficiency can be suppressed.

[0199] Note that in the case of non-transform skipping, the lower limit of the quantization parameter can be clipped with the minimum value of the quantization parameter at the time of non-transform skipping (value "0"). Since the lower limit of the quantization parameter to be subjected to the clipping process is clipped with the value "0" by the above-mentioned clipping for the quantization parameter that has been corrected based on the parameters regarding the adaptive color transform, a correction result substantially equivalent to the case of skipping the clipping lower limit is obtained in this case as well.

[0200] <Quantization parameter correction device>

[0201] The present technology described above can be applied to any device. Figure 6 : is a block diagram showing an example of the configuration of a quantization parameter correction device as one aspect of an image processing device to which the present technology is applied. Figure 6 The quantization parameter correction device 140 shown is a device similar to the quantization parameter correction device 100, and corrects the quantization parameter used for the quantization process and the inverse quantization process of coefficient data related to the image. At this time, the quantization parameter correction device 140 corrects the quantization parameter by applying the above-mentioned "method 3".

[0202] Notice, Figure 6 shows the main processing units, data flows, etc., and Figure 6 That is, in the quantization parameter correction device 140, there may be Figure 6 A processing unit may be shown as a block, or may exist without being shown in Figure 6 A process or data flow is shown as arrows or the like.

[0203] like Figure 6 As shown, the quantization parameter correction device 140 includes a first correction unit 141 , a second correction unit 142 and a third correction unit 143 .

[0204] The first correction unit 141 is a processing unit similar to the first correction unit 101 of the quantization parameter correction device 100, and performs similar processing. That is, the first correction unit 141 performs processing regarding correction based on parameters regarding adaptive color transformation. For example, the first correction unit 141 acquires the quantization parameter qPx of the CU level 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 regarding adaptive color transformation. In addition, the first correction unit 141 acquires the correction amount dqPx corresponding to the component identifier cIdx.

[0205] In the case where 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 quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. In addition, in the case where cu_act_enabled_flag is false (for example, "0"), the first correction unit 141 adds the correction amount "0" to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. That is, the first correction unit 141 performs the processing of the following syntax.

[0206] if cu_act_enabled_flag

[0207] qP'=qPx+dqPx

[0208] else

[0209] qP'=qPx

[0210] The first correction unit 141 provides the obtained first corrected quantization parameter qP′ to the second correction unit 142 .

[0211] The second correction unit 142 performs a clipping process on the first corrected quantization parameter qP′. For example, the second correction unit 142 acquires the first corrected 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.

[0212] The second correction unit 142 clips the upper limit of the first corrected quantization parameter qP' with the maximum value of the quantization parameter (63+QpBdOffset), and clips the lower limit of the first corrected quantization parameter qP' with the minimum value of the quantization parameter (value "0"). Through this process, the second correction unit 142 obtains the second corrected quantization parameter qP".

[0213] In other words, the second correction unit 142 performs processing as in the following Expression (15) on the first corrected quantization parameter qP′ to obtain a second corrected quantization parameter qP″.

[0214] qP″=Clip3(0, 63+QpBdOffset, qP′)...(15)

[0215] The second correction unit 142 provides the obtained second corrected quantization parameter qP″ to the third correction unit 143.

[0216] Similar to the second correction unit 102 of the quantization parameter correction device 100, the third correction unit 143 performs processing on correction based on parameters regarding transform skipping. For example, the third correction unit 143 obtains the second corrected quantization parameter qP" provided from the second correction unit 142. In addition, the third correction unit 143 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx as a parameter regarding transform skipping. In addition, the third correction unit 143 obtains the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is performed as a parameter regarding transform skipping.

[0217] When transform_skip_flag is true (e.g., "1"), the third correction unit 143 uses QpPrimeTsMin to clip the lower limit of the second correction quantization parameter qP" to obtain the third correction quantization parameter qP"'. In other words, when transform_skip_flag is true, the third correction unit 143 sets QpPrimeTsMin or the second correction quantization parameter qP" (whichever is larger) as the third correction quantization parameter qP"'.

[0218] In contrast, when transform_skip_flag is false (e.g., "0"), the third correction unit 143 skips (omit) the clipping process and sets the second correction quantization parameter qP" to the third correction quantization parameter qP"'. In other words, when transform_skip_flag is false, the third correction unit 143 clips the lower limit value of the first correction quantization parameter qP' with the minimum value that can be adopted based on specifications of hardware, software, etc., and obtains the third correction quantization parameter qP"'. That is, the third correction unit 143 performs processing of the following syntax.

[0219] if transform_skip_flag[cIdx]=='IS_SKIP'

[0220] qP”'=Max(qP”, QpPrimeTsMin)

[0221] else

[0222] qP”'=qP”

[0223] The third correction unit 143 outputs the obtained third corrected quantization parameter qP′″ as a correction result (corrected quantization parameter) of the input quantization parameter qP to the outside of the quantization parameter correction device 140 .

[0224] In other words, in the case of transform skipping, the quantization parameter correction device 140 performs processing as shown in the following expression (16) to correct the quantization parameter. In addition, in the case of non-transform skipping, the quantization parameter correction device 140 performs processing as shown in the following expression (17) to correct the quantization parameter.

[0225] qP″=Max(QpPrimeTsMin, Clip3(0, 63+QpBdOffset, qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0)))...(16)

[0226] qP″=Clip3(0, 63+QpBdOffset, qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0))...(17)

[0227] In other words, the quantization parameter correction device 120 obtains the quantization parameter qP to be applied to the transform block to be processed corresponding to the component identifier cIdx by referring to the adaptive color transform flag (cu_act_enabled_flag), the correction amount dqP corresponding to ACT, the transform skip flag (transform_skip_flag) corresponding to the component identifier cIdx, the CU-level quantization parameter (qPx) corresponding to the component identifier cIdx, the correction amount QpBdOffset corresponding to the bit depth, the minimum value "0" of the quantization parameter, the maximum value "63" of the quantization parameter before correction with the correction amount QpBdOffset corresponding to the bit depth, and the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped.

[0228] In this way, the quantization parameter correction device 140 corrects the quantization parameter based on the minimum value and the maximum value of the quantization parameter to fall within the effective value after correcting the quantization parameter by adaptive color transformation. That is, by correcting the quantization parameter in this way, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter. Therefore, for example, the encoder or the decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this way, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0229] Furthermore, in the case of transform skipping, since the lower limit of the quantization parameter is further clipped by the minimum value QpPrimeTsMin of the quantization parameter when transform skipping, the corrected quantization parameter does not become a value less than QpPrimeTsMin. Therefore, for example, regardless of whether transform skipping or non-transform skipping is performed, the encoder or decoder performs quantization or inverse quantization on coefficient data of the image using the quantization parameter corrected in this manner, so that a decrease in PSNR can be suppressed, and a decrease in encoding efficiency can be suppressed.

[0230] Note that mts_idx may be applied instead of transform_skip_flag, and as a mode of mts_idx, a notification of whether transform skip is applied may be provided. That is, the quantization parameter correction device 140 (second correction unit 143) may obtain mts_idx instead of transform_skip_flag, and determine whether transform skip is applied based on the value. In addition, a notification of QpPrimeTsMin may be provided for each component (Y, Cb, Cr, or CbCr). That is, the quantization parameter correction device 140 (third correction unit 143) may obtain QpPrimeTsMin corresponding to the component identifier cIdx, and use QpPrimeTsMin corresponding to the component identifier cIdx to clip the lower limit of the second correction quantization parameter qP".

[0231] <Flow of Quantization Parameter Correction Processing>

[0232] Next, we will refer to Figure 7 The flowchart of FIG. 1 describes an example of the flow of the quantization parameter correction process performed by the quantization parameter correction device 140 .

[0233] When the quantization parameter correction process is started, in step S141, the first correction unit 141 of the quantization parameter correction device 140 determines whether to apply adaptive color transformation by determining whether condition 1 is satisfied. This condition 1 is consistent with the first embodiment ( Figure 3 In a case where it is determined that condition 1 is satisfied (ie, adaptive color transform is applied), the process proceeds to step S142.

[0234] In step S142, the first correction unit 141 adds the correction amount dqPx corresponding to the component identifier cIdx to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain a first corrected quantization parameter qP'. Figure 3 The processing in step S102 is similarly performed.

[0235] When the processing in step S142 is completed, the processing proceeds to step S144. In addition, in the event that it is determined in step S141 that condition 1 is not satisfied (ie, adaptive color transform is not applied), the processing proceeds to step S143.

[0236] In step S143, the first correction unit 141 adds the correction amount "0" to the quantization parameter qPx of the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. Figure 3 The processing in step S103 is similarly performed.

[0237] When the processing in step S143 is completed, the processing proceeds to step S144.

[0238] In step S144, the second correction unit 142 clips the upper limit of the first corrected quantization parameter qP' with the maximum value of the quantization parameter (63+QpBdOffset), and clips the lower limit of the first corrected quantization parameter qP' with the minimum value of the quantization parameter (value "0"). Through this processing, the second correction unit 142 obtains the second corrected quantization parameter qP".

[0239] That is, the second correction unit 142 performs the processing as in the above-mentioned Expression (15) on the first corrected quantization parameter qP′ to obtain the second corrected quantization parameter qP″. When the processing in step S144 is completed, the processing proceeds to step S145.

[0240] In step S145, the third correction unit 143 determines whether to apply the transform skip by determining whether condition 2 is satisfied. This condition 2 is consistent with the first embodiment ( Figure 3 When it is determined that condition 2 is satisfied (ie, transform skip is performed), the process proceeds to step S146.

[0241] In step S146, the third correction unit 143 uses QpPrimeTsMin to clip the lower limit of the second correction quantization parameter qP" to obtain the third correction quantization parameter qP"'. This process is similar to Figure 3 The processing in step S105 is similarly performed.

[0242] When the process of step S146 ends, the quantization parameter correction process ends. In addition, in the event that it is determined in step S145 that condition 2 is not satisfied (ie, non-transform skip is applied), the process proceeds to step S147.

[0243] In step S147, the third correction unit 143 skips (omit) the cropping process in step S146, and sets the second corrected quantization parameter qP" as the third corrected quantization parameter qP"'. This process is similar to Figure 3 The processing in step S106 is similarly performed.

[0244] When the process of step S147 ends, the quantization parameter correction process ends.

[0245] By performing the quantization parameter correction process as described above, the quantization parameter correction device 140 can maintain the value of the corrected quantization parameter within the range from the minimum value to the maximum value of the quantization parameter. Therefore, for example, the encoder or decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this way, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0246] Furthermore, even in the case of transform skipping, since the lower limit of the quantization parameter is clipped by QpPrimeTsMin, the corrected quantization parameter does not become a value less than QpPrimeTsMin. Therefore, for example, regardless of whether transform skipping or non-transform skipping is performed, the encoder or decoder performs quantization or inverse quantization on coefficient data of the image using the quantization parameter corrected in this manner, so that a decrease in PSNR can be suppressed, and a decrease in coding efficiency can be suppressed.

[0247] <5. Fourth embodiment>

[0248] <Upper limit control of quantization parameters>

[0249] The clipping process for the first correction of the quantization parameter qP′ in method 3 described in the third embodiment may be combined with the clipping process for correction based on the parameter regarding transform skipping.

[0250] That is, Figure 1 As shown at the bottom of the table shown, the quantization parameter correction process by transform skipping can be performed as follows. That is, in the case of transform skipping, the lower limit of the first correction quantization parameter qP' can be clipped with the minimum value QpPrimeTsMin of the quantization parameter when transform skipping, and the upper limit thereof can be clipped with the maximum value (63+QpBdOffset) of the quantization parameter. In addition, in the case of non-transform skipping, the lower limit of the first correction quantization parameter qP' can be clipped with the minimum value "0" of the quantization parameter when non-transform skipping, and the upper limit thereof can be clipped with the maximum value (63+QpBdOffset) of the quantization parameter (Method 4).

[0251] For example, in the image processing apparatus, in the case where transform skipping is applied, the quantization parameter correction unit clips the lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with the preset minimum value of the quantization parameter in the case where transform skipping is applied, and clips the upper limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with the preset maximum value of the quantization parameter. The maximum value of the quantization parameter may be a value corrected with the correction amount based on the bit depth. For example, the maximum value of the quantization parameter may be the sum of the maximum value of the quantization parameter before correction with the correction amount based on the bit depth and the correction amount based on the bit depth.

[0252] Furthermore, for example, in the image processing apparatus, in a case where transform skipping is not applied, the quantization parameter correction unit clips the lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter, and clips the upper limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset maximum value of the quantization parameter. The maximum value of the quantization parameter may be a value corrected with the correction amount based on the bit depth. For example, the maximum value of the quantization parameter may be the sum of the maximum value of the quantization parameter before correction with the correction amount based on the bit depth and the correction amount based on the bit depth.

[0253] By doing so, a value of the corrected quantization parameter is obtained similar to the case of method 3. That is, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter. Therefore, a decrease in PSNR can be suppressed, and a decrease in encoding efficiency can be suppressed.

[0254] In addition, in the case of transform skipping, since the lower limit of the quantization parameter is clipped by the minimum value QpPrimeTsMin of the quantization parameter when transform skipping, the corrected quantization parameter does not become a value less than QpPrimeTsMin. Therefore, regardless of whether transform skipping or non-transform skipping is applied, the reduction in PSNR can be suppressed, and the reduction in coding efficiency can be suppressed.

[0255] <Quantization parameter correction device>

[0256] The present technology described above can be applied to any device. Figure 8 : is a block diagram showing an example of the configuration of a quantization parameter correction device as one aspect of an image processing device to which the present technology is applied. Figure 8 The quantization parameter correction device 160 shown is a device similar to the quantization parameter correction device 100, and corrects the quantization parameter used for the quantization process and the inverse quantization process of coefficient data related to the image. At this time, the quantization parameter correction device 160 corrects the quantization parameter by applying the above-mentioned "method 4".

[0257] Notice, Figure 8shows the main processing units, data flows, etc., and Figure 8 That is, in the quantization parameter correction device 160, there may be Figure 8 A processing unit may be shown as a block, or may exist without being shown in Figure 8 A process or data flow is shown as arrows or the like.

[0258] like Figure 8 As shown, the quantization parameter correction device 160 includes a first correction unit 161 and a second correction unit 162 .

[0259] The first correction unit 161 is a processing unit similar to the first correction unit 101 of the quantization parameter correction device 100, and performs similar processing. That is, the first correction unit 161 performs processing related to correction based on parameters related to adaptive color transformation. For example, the first correction unit 161 acquires the quantization parameter qPx of the CU level 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 transformation. In addition, the first correction unit 161 acquires the correction amount dqPx corresponding to the component identifier cIdx.

[0260] In the case where 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 quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. In addition, in the case where cu_act_enabled_flag is false (for example, "0"), the first correction unit 161 adds the correction amount "0" to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. That is, the first correction unit 161 performs the processing of the following syntax.

[0261] if cu_act_enabled_flag

[0262] qP'=qPx+dqPx

[0263] else

[0264] qP'=qPx

[0265] The first correction unit 161 provides the obtained first corrected quantization parameter qP′ to the second correction unit 162 .

[0266] Similar to the second correction unit 102 of the quantization parameter correction device 100, the second correction unit 162 performs processing on correction based on parameters related to transform skipping. For example, the second correction unit 162 obtains the first corrected quantization parameter qP' provided from the first correction unit 161. In addition, the second correction unit 162 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx as a parameter related to transform skipping. In addition, the second correction unit 162 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping as a parameter related to transform skipping.

[0267] Furthermore, the second correction unit 162 acquires a correction amount QpBdOffset corresponding to the bit depth.

[0268] When transform_skip_flag is true (e.g., "1"), the second correction unit 162 uses QpPrimeTsMin to clip the lower limit of the first corrected quantization parameter qP', and uses (63+QpBdOffset) to clip the upper limit of the first corrected quantization parameter qP'. The second correction unit 162 derives the second corrected quantization parameter qP" from the first corrected quantization parameter qP' through such clipping processing. That is, the value of the second corrected quantization parameter qP" is limited to the range from QpPrimeTsMin to (63+QpBdOffset) (the value of the second corrected quantization parameter qP" is controlled to fall within the range from QpPrimeTsMin to (63+QpBdOffset)).

[0269] In contrast, when transform_skip_flag is false (e.g., "0"), the second correction unit 162 uses the value "0" to clip the lower limit of the quantization parameter, and uses (63+QpBdOffset) to clip the upper limit of the first corrected quantization parameter qP'. That is, the second correction unit 162 clips the upper and lower limits of the first corrected quantization parameter qP' with the minimum and maximum values ​​of the quantization parameter in non-transform skipping. The second correction unit 162 derives the second corrected quantization parameter qP" from the first corrected quantization parameter qP' through such clipping processing. That is, the value of the second corrected quantization parameter qP" is limited to the range from 0 to (63+QpBdOffset) (the value of the second corrected quantization parameter qP" is controlled to fall within the range from 0 to (63+QpBdOffset)).

[0270] That is, the second correction unit 162 performs processing of the following syntax.

[0271] if transform_skip_flag[cIdx]=='IS_SKIP'

[0272] qP”=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP’)

[0273] else

[0274] qP”=Clip3(0,63+QpBdOffset,qP’)

[0275] The second correction unit 162 outputs the obtained second corrected quantization parameter qP″ as the correction result (corrected quantization parameter) of the quantization parameter qP input to the outside of the quantization parameter correction device 160.

[0276] In other words, in the case of transform skipping, the quantization parameter correction device 160 performs the processing shown in the following expression (16) to correct the quantization parameter. In addition, in the case of non-transform skipping, the quantization parameter correction device 120 performs the processing shown in the above expression (17) to correct the quantization parameter.

[0277] qP″=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP-(cu_act_enabled_flag[xTbY][yTbY]?(cIdx<2?5:3):0))...(18)

[0278] qP″=Clip3(0, 63+QpBdOffset, qP-(cu_act_enabled_flag[xTbY][yTbY]? (cIdx<2? 5: 3): 0))

[0279] (17) (Describe again)

[0280] That is, in the case of method 4, calculations basically similar to those in the case of method 3 are performed, and similar correction results are obtained.

[0281] In other words, similar to the case of method 3, the quantization parameter correction device 120 obtains the quantization parameter qP to be applied to the transform block to be processed corresponding to the component identifier cIdx by referring to the adaptive color transform flag (cu_act_enabled_flag), the correction amount dqP corresponding to ACT, the transform skip flag (transform_skip_flag) corresponding to the component identifier cIdx, the CU-level quantization parameter (qPx) corresponding to the component identifier cIdx, the correction amount QpBdOffset corresponding to the bit depth, the minimum value "0" of the quantization parameter, the maximum value "63" of the quantization parameter before correction with the correction amount QpBdOffset corresponding to the bit depth, and the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped.

[0282] In this way, in the case of non-transform skipping, the quantization parameter correction device 160 corrects the quantization parameter based on the minimum and maximum values ​​of the quantization parameter to fall within the valid value after correcting the quantization parameter by adaptive color transform. In addition, in the case of transform skipping, the quantization parameter correction device 160 corrects the quantization parameter based on the minimum and maximum values ​​of the quantization parameter in the case of transform skipping after correcting the quantization parameter by adaptive color transform to fall within the valid value. By doing so, the quantization parameter correction device 100 can correct the quantization parameter so that the quantization step Δ<1 is avoided in quantization or inverse quantization when adaptive color transform and transform skipping are applied. Therefore, for example, regardless of whether transform skipping or non-transform skipping is performed, the encoder or decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this way, so that the reduction in PSNR can be suppressed, and the reduction in coding efficiency can be suppressed.

[0283] Note that mts_idx may be applied instead of transform_skip_flag, and as a mode of mts_idx, a notification of whether transform skip is applied may be provided. That is, the quantization parameter correction device 160 (second correction unit 162) may acquire mts_idx instead of transform_skip_flag, and determine whether transform skip is applied based on the value. In addition, a notification of QpPrimeTsMin may be provided for each component (Y, Cb, Cr, or CbCr). That is, the quantization parameter correction device 160 (second correction unit 162) may acquire QpPrimeTsMin corresponding to the component identifier cIdx, and use QpPrimeTsMin corresponding to the component identifier cIdx to clip the lower limit of the first correction quantization parameter qP'.

[0284] <Flow of Quantization Parameter Correction Processing>

[0285] Next, we will refer to Fig. 9 The flowchart of FIG. 1 describes an example of the flow of the quantization parameter correction process performed by the quantization parameter correction device 160 .

[0286] When the quantization parameter correction process is started, in step S161, the first correction unit 161 of the quantization parameter correction device 160 determines whether to apply adaptive color transformation by determining whether condition 1 is satisfied. This condition 1 is consistent with the first embodiment ( Figure 3 In a case where it is determined that condition 1 is satisfied (ie, adaptive color transform is applied), the process proceeds to step S162.

[0287] In step S162, the first correction unit 161 adds the correction amount dqPx corresponding to the component identifier cIdx to the quantization parameter qPx at the CU level corresponding to the component identifier cIdx to obtain a first corrected quantization parameter qP'. Figure 3 The processing in step S102 is similarly performed.

[0288] When the processing in step S162 is completed, the processing proceeds to step S164. In addition, in the event that it is determined in step S161 that condition 1 is not satisfied (ie, adaptive color transform is not applied), the processing proceeds to step S163.

[0289] In step S163, the first correction unit 161 adds the correction amount "0" to the quantization parameter qPx of the CU level corresponding to the component identifier cIdx to obtain the first corrected quantization parameter qP'. Figure 3 The processing in step S103 is similarly performed.

[0290] When the processing in step S163 is completed, the processing proceeds to step S164.

[0291] In step S164, the second correction unit 162 determines whether to apply the transform skip by determining whether condition 2 is satisfied. This condition 2 is consistent with the first embodiment ( Figure 3 When it is determined that condition 2 is satisfied (ie, transform skip is performed), the process proceeds to step S165.

[0292] In step S165, the second correction unit 162 clips the upper and lower limits of the first corrected quantization parameter qP' using (63+QpBdOffset) and QpPrimeTsMin to obtain the second corrected quantization parameter qP". That is, the second correction unit 162 performs calculation of the following Expression (19).

[0293] qP″=Clip3(QpPrimeTsMin, 63+QpBdQffset, qP′)...(19)

[0294] When the process of step S165 ends, the quantization parameter correction process ends. In addition, in the event that it is determined in step S164 that condition 2 is not satisfied (ie, non-transform skip is applied), the process proceeds to step S166.

[0295] In step S166, the second correction unit 162 clips the upper and lower limits of the first corrected quantization parameter qP' using (63+QpBdOffset) and the value "0" to obtain the second corrected quantization parameter qP". That is, the second correction unit 162 performs calculation of the above-mentioned Expression (15).

[0296] qP″=Clip3(0, 63+QpBdOffset, qP′)

[0297] (15) (Describe again)

[0298] When the process of step S166 ends, the quantization parameter correction process ends.

[0299] By performing the quantization parameter correction process as described above, the quantization parameter correction device 100 can correct the quantization parameter so that when adaptive color transform and transform skipping are applied, the quantization step size Δ<1 is avoided in quantization or inverse quantization. Therefore, for example, the encoder or decoder performs quantization or inverse quantization on the coefficient data of the image using the quantization parameter corrected in this manner, so that the reduction in PSNR can be suppressed and the reduction in encoding efficiency can be suppressed.

[0300] <6. Fifth embodiment>

[0301] <Image Coding Device>

[0302] The present technology (various methods) described above can be applied to any device, apparatus, system, etc. For example, the present technology can be applied to an image encoding device that encodes image data.

[0303] Fig.10 : is a block diagram showing an example of the configuration of an image encoding device as one aspect of an image processing device to which the present technology is applied. Fig.10 The image encoding device 300 shown in the figure is a device for encoding image data of a moving image. For example, the image encoding device 300 encodes the image data of the moving image by an encoding method such as Versatile Video Coding (VVC), Advanced Video Coding (AVC), or High Efficiency Video Coding (HEVC) described in the above non-patent literature.

[0304] Notice, Fig.10 shows the main processing units, data flows, etc., and Fig.10 That is, in the image encoding device 300, there may be Fig.10 The processing units shown as blocks or not shown in Fig.10 1 and 2 , and the like. The same is true for other drawings used to describe processing units and the like in the image encoding device 300.

[0305] like Fig.10 As shown, the image encoding device 300 includes a control unit 301, a reordering buffer 311, a calculation unit 312, a transform quantization unit 313, an encoding unit 314, and an accumulation buffer 315. In addition, the image encoding device 300 includes an inverse quantization and inverse transform unit 316, a calculation unit 317, a loop filter unit 318, a frame memory 319, a prediction unit 320, and a rate control unit 321.

[0306] <Control Unit>

[0307] The control unit 301 divides the moving image data held by the reorder buffer 311 into blocks of processing units (CU, PU, ​​TU, etc.) based on the block size of the processing unit specified externally or in advance. In addition, the control unit 301 determines the encoding parameters (header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc.) to be provided to each block based on, for example, rate-distortion optimization (RDO). For example, the control unit 301 can set a transform skip flag, etc.

[0308] The details of these encoding parameters will be described below. After determining the above encoding parameters, the control unit 301 provides the encoding parameters to each block. Specifically, the encoding parameters are as follows.

[0309] The header information Hinfo is provided to each block. The prediction mode information Pinfo is provided to the encoding unit 314 and the prediction unit 320. The transform information Tinfo is provided to the encoding unit 314, the transform quantization unit 313 and the inverse quantization inverse transform unit 316. The filter information Finfo is provided to the encoding unit 314 and the loop filter unit 318.

[0310] <Reorder Buffer>

[0311] Each field (input image) of the moving image data is input to the image encoding device 300 in a reproduction order (display order). The reordering buffer 311 acquires and holds (stores) each input image in its reproduction order (display order). The reordering buffer 311 reorders the input image in a coding order (decoding order) or divides the input image into blocks of processing units based on the control of the control unit 301. The reordering buffer 311 supplies the processed input image to the calculation unit 312.

[0312] <Computational Unit>

[0313] 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 rearrangement buffer 311 to obtain residual data D, and supplies the residual data D to the transform and quantization unit 313 .

[0314] <Transform Quantization Unit>

[0315] The transform quantization unit 313 performs a process regarding transform quantization. For example, the transform quantization unit 313 obtains the residual data D provided from the calculation unit 312. In addition, the transform quantization unit 313 obtains the prediction mode information Pinfo and the transform information Tinfo provided from the control unit 301. The transform quantization unit 313 performs a transform quantization process on the residual data D based on the prediction mode information Pinfo and the transform information Tinfo to obtain the quantization coefficient data level. In the transform quantization process, for example, processes such as adaptive color transform, orthogonal transform and quantization are performed. Of course, the processes included in the transform quantization process are arbitrary, and some of the above processes may be omitted, or processes other than the above processes may be included. The transform quantization unit 313 provides the obtained quantization coefficient data level to the encoding unit 314 and the inverse quantization inverse transform unit 316.

[0316] <Coding unit>

[0317] The encoding unit 314 acquires the quantization coefficient data level (or residual data D) provided from the transform and quantization unit 313. In addition, the encoding unit 314 acquires various encoding parameters (header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc.) provided from the control unit 301. In addition, the encoding unit 314 acquires information about the filter (e.g., filter coefficient) provided from the loop filter unit 318. In addition, the encoding unit 314 acquires information about the optimal prediction mode provided from the prediction unit 320.

[0318] The encoding unit 314 performs entropy encoding (lossless encoding) on ​​the quantized coefficient data level or the residual data D to generate a bit string (encoded data). The encoding unit 314 can apply, for example, context-based adaptive binary arithmetic coding (CABAC) as entropy encoding. The encoding unit 314 can apply, for example, context-based adaptive variable length coding (CAVLC) as entropy encoding. Of course, the content of the entropy encoding is arbitrary and is not limited to these examples.

[0319] Furthermore, the encoding unit 314 derives residual information Rinfo from the quantized coefficient data level, and encodes the residual information Rinfo to generate a bit string.

[0320] Furthermore, the encoding unit 314 includes the information about the filter provided from the loop filter unit 318 into the filter information Finfo, and includes the information about the optimal prediction mode provided from the prediction unit 320 into the prediction mode information Pinfo. Then, the encoding unit 314 encodes the above-mentioned various encoding parameters (header information Hinfo, prediction mode information Pinfo, transformation information Tinfo, filter information Finfo, etc.) to generate a bit string.

[0321] Furthermore, the encoding unit 314 multiplexes the bit strings of the various types of information generated as described above to generate encoded data. The encoding unit 314 supplies the encoded data to the accumulation buffer 315 .

[0322] <Accumulation Buffer>

[0323] The accumulation buffer 315 temporarily stores the encoded data obtained by the encoding unit 314. The accumulation buffer 315 outputs the stored encoded data as a bit stream or the like to the outside of the image encoding device 300 at a predetermined timing. For example, the encoded data is transmitted to the decoding side via an arbitrary recording medium, an arbitrary transmission medium, an arbitrary information processing device, etc. That is, the accumulation buffer 315 is also a transmission unit that transmits the encoded data (bit stream).

[0324] <Inverse quantization and inverse transformation unit>

[0325] The inverse quantization and inverse transformation unit 316 performs processing related to inverse quantization and inverse transformation. For example, the inverse quantization and inverse transformation unit 316 acquires the quantization coefficient data level supplied from the transform and quantization unit 313. For example, the inverse quantization and inverse transformation unit 316 acquires the transform information Tinfo supplied from the control unit 301.

[0326] The inverse quantization and inverse transformation unit 316 performs an inverse quantization and inverse transformation process on the quantization coefficient data level based on the transformation information Tinfo to obtain residual data D'. The inverse quantization and inverse transformation process is an inverse process of the transform quantization process performed in the transform quantization unit 313. That is, in the inverse quantization and inverse transformation process, for example, processes such as inverse quantization, inverse orthogonal transformation, and inverse adaptive color transformation are performed. Inverse quantization is an inverse process of quantization performed in the transform quantization unit 313. Inverse orthogonal transformation is an inverse process of orthogonal transformation performed in the transform quantization unit 313. Inverse adaptive color transformation is an inverse process of adaptive color transformation performed in the transform quantization unit 313. Of course, the processes included in the inverse quantization and inverse transformation process are arbitrary, and some of the above processes may be omitted, or processes other than the above processes may be included. The inverse quantization and inverse transformation unit 316 provides the obtained residual data D' to the calculation unit 317.

[0327] Note that since the inverse quantization inverse transform unit 316 is similar to the inverse quantization inverse transform unit on the decoding side (to be described below), the description on the decoding side (to be described below) can be applied to the inverse quantization inverse transform unit 316.

[0328] <Computational Unit>

[0329] The calculation unit 317 obtains the residual data D' provided from the inverse quantization and inverse transformation unit 316 and the predicted image P provided from the prediction unit 320. The calculation unit 317 adds the residual data D' to the predicted image corresponding to the residual data D' to obtain a local decoded image. The calculation unit 317 provides the obtained local decoded image to the loop filter unit 318 and the frame memory 319.

[0330] <Loop filter unit>

[0331] The loop filter unit 318 performs processing on the loop filtering process. For example, the loop filter unit 318 obtains the local decoded image provided from the calculation unit 317. For example, the loop filter unit 318 obtains the filter information Finfo provided from the control unit 301. For example, the loop filter unit 318 obtains the input image (original image) provided from the reordering buffer 311. Note that the information input to the loop filter unit 318 is arbitrary and may include information other than the information mentioned above. For example, information such as prediction mode, motion information, code amount target value, quantization parameter QP, picture type, block (CU, CTU, etc.) can be input to the loop filter unit 318 as needed.

[0332] The loop filter unit 318 appropriately performs a filter process on the local decoded image based on the filter information Finfo. The loop filter unit 318 also uses an input image (original image) and other input information for the filter process as necessary.

[0333] For example, the loop filter unit 318 can apply a bilateral filter as a filtering process. For example, the loop filter unit 318 can apply a deblocking filter (DBF) as a filtering process. For example, the loop filter unit 318 can apply an adaptive offset filter (sample adaptive offset (SAO)) as a filtering process. For example, the loop filter unit 318 can apply an adaptive loop filter (ALF) as a filtering process. In addition, the loop filter unit 318 can apply multiple filters in combination as filtering processes. Note that which filter is applied and in what order the filters are applied is arbitrary and can be appropriately selected. For example, the loop filter unit 318 sequentially applies four loop filters, namely, a bilateral filter, a deblocking filter, an adaptive offset filter, and an adaptive loop filter, as filtering processes.

[0334] Of course, the filtering process performed by the loop filter unit 318 is arbitrary and is not limited to the above example. For example, the loop filter unit 318 can apply a Wiener filter or the like.

[0335] The loop filter unit 318 supplies the filtered local decoded image to the frame memory 319. Note that the loop filter unit 318 supplies the information about the filter to the encoding unit 314 in the case where information about the filter (for example, filter coefficient) is transmitted to the decoding side.

[0336] <Frame Memory>

[0337] The frame memory 319 performs processing related to the storage of data related to the image. For example, the frame memory 319 acquires the local decoded image provided from the calculation unit 317 and the filtered local decoded image provided from the loop filter unit 318, and retains (stores) the local decoded image. In addition, the frame memory 319 reconstructs and retains the decoded image for each picture using the local decoded image (storing the decoded image in a buffer in the frame memory 319). The frame memory 319 provides the decoded image R (or part thereof) to the prediction unit 320 in response to a request from the prediction unit 320.

[0338] <Prediction Unit>

[0339] The prediction unit 320 performs processing on the generation of the predicted image. For example, the prediction unit 320 obtains the prediction mode information Pinfo provided from the control unit 301. For example, the prediction unit 320 obtains the input image (original image) provided from the reordering buffer 311. For example, the prediction unit 320 obtains the decoded image (or part thereof) read from the frame memory 319.

[0340] The prediction unit 320 performs prediction processing such as inter-frame prediction or intra-frame prediction using the prediction mode information Pinfo and the input image (original image). That is, the prediction unit 320 performs prediction and motion compensation by referring to the decoded image as a reference to generate a prediction image P. The prediction unit 320 provides the generated prediction image P to the calculation units 312 and 317. In addition, the prediction unit 320 provides the prediction mode selected by the above-mentioned processing (that is, information about the optimal prediction mode) to the encoding unit 314 as needed.

[0341] <Rate Control Unit>

[0342] The rate control unit 321 performs processing related to rate control. For example, the rate control unit 321 controls the rate of the quantization operation of the transform quantization unit 313 based on the code amount of the encoded data accumulated in the accumulation buffer 315 so that overflow or underflow does not occur.

[0343] <Application of this technology>

[0344] The present technology described in <1. Correction of quantization parameter>, <2. First embodiment>, <3. Second embodiment>, <4. Third embodiment>, and <5. Fourth embodiment> can be applied to the image encoding device 300 having the above-described configuration.

[0345] <Control Unit>

[0346] For example, in the case of applying the above-mentioned “method 1”, the control unit 301 derives the quantization parameter qPx of the CU level corresponding to the component identifier cIdx, and supplies the quantization parameter qPx to the transform quantization unit 313 and the inverse quantization inverse transformation unit 316. The control unit 301 derives cu_act_enabled_flag as a parameter regarding adaptive color transform, and supplies cu_act_enabled_flag to the transform quantization unit 313 and the inverse quantization inverse transformation unit 316. The control unit 301 derives the correction amount dqPx corresponding to the component identifier cIdx as a parameter regarding adaptive color transform, and supplies the correction amount dqPx to the transform quantization unit 313 and the inverse quantization inverse transformation unit 316. The control unit 301 derives transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx as a parameter regarding transform skip, and supplies transform_skip_flag[xTbY][yTbY][cIdx] to the transform quantization unit 313 and the inverse quantization inverse transformation unit 316. The control unit 301 derives the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip as a parameter about transform skip, and supplies the minimum value QpPrimeTsMin to the transform quantization unit 313 and the inverse quantization inverse transform unit 316. Furthermore, the control unit 301 supplies these parameters to the encoding unit 314.

[0347] For example, in the case of applying the above-mentioned "method 2", the control unit 301 provides the parameters to be provided in the case of applying "method 1" to the transform and quantization unit 313, the inverse quantization and inverse transform unit 316, and the encoding unit 314. In addition to these parameters, the control unit 301 provides the minimum value "0" of the quantization parameter in the case of non-transform skipping as a parameter about transform skipping.

[0348] For example, in the case of applying the above-mentioned "method 3", the control unit 301 supplies the parameters to be supplied in the case of applying "method 1" to the transform and quantization unit 313, the inverse quantization and inverse transformation unit 316, and the encoding unit 314. In addition to these parameters, the control unit 301 supplies the correction amount QpBdOffset corresponding to the bit depth to the transform and quantization unit 313, the inverse quantization and inverse transformation unit 316, and the encoding unit 314.

[0349] For example, in the case of applying the above-mentioned “method 4”, the control unit 301 supplies the parameters to be supplied in the case of applying “method 3” to the transform and quantize unit 313 , the inverse quantization and inverse transform unit 316 , and the encoding unit 314 .

[0350] <Transform Quantization Unit>

[0351] For example, in the case of applying the above-mentioned "method 1", the transform quantization unit 313 acquires the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the transform quantization unit 313 acquires the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The transform quantization unit 313 acquires the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the transform quantization unit 313 acquires transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 performs transform quantization processing using the acquired parameters.

[0352] For example, in the case of applying the above-mentioned "method 2", the transform quantization unit 313 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the transform quantization unit 313 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The transform quantization unit 313 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the transform quantization unit 313 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 301 as a parameter regarding transform skip. The transform and quantization unit 313 performs a transform and quantization process using the acquired parameters.

[0353] For example, in the case of applying the above-mentioned "method 3", the transform quantization unit 313 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the transform quantization unit 313 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The transform quantization unit 313 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the transform quantization unit 313 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The transform quantization unit 313 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 301 as a parameter regarding transform skip. The transform and quantization unit 313 performs a transform and quantization process using the acquired parameters.

[0354] For example, in the case of applying the above-described “method 4”, the transform and quantization unit 313 acquires the same parameters as those acquired in the case of applying the “method 3”. The transform and quantization unit 313 performs transform and quantization processing using the acquired parameters.

[0355] <Configuration Example of Transform and Quantization Unit>

[0356] Fig.11 It is shown Fig.10 1 is a block diagram of a main configuration example of the transform quantization unit 313 in FIG. Fig.11 As shown, the transform and quantization unit 313 includes an adaptive color transform unit 341 , an orthogonal transform unit 342 and a quantization unit 343 .

[0357] The adaptive color transform unit 341 performs processing related to adaptive color transform (ALT). For example, the adaptive color transform unit 341 obtains the residual data res_x (ie, Fig.10 ). The adaptive color transform unit 341 acquires cu_act_enabled_flag provided from the control unit 301. The adaptive color transform unit 341 performs adaptive color transform on the residual data res_x based on the value of cu_act_enabled_flag. For example, in the case where cu_act_enabled_flag is true (e.g., "1"), the adaptive color transform unit 341 performs the calculation as described in Expression (1), and performs RGB-YCgCo transform on the residual data res_x including the R component, the G component, and the B component. Through this processing, adaptive color transform coefficient data res_x' including components of Y, Cg, and C0 is generated. The adaptive color transform unit 341 provides the generated adaptive color transform coefficient data res_x' to the orthogonal transform unit 342.

[0358] The orthogonal transform unit 342 performs processing related to orthogonal transform. For example, the orthogonal transform unit 342 acquires the adaptive color transform coefficient data res_x' provided from the adaptive color transform unit 341. The orthogonal transform unit 342 acquires the transform information Tinfo and the prediction mode information Pinfo provided from the control unit 301. For example, the orthogonal transform unit 342 may acquire information such as transform_skip_flag, mts_idx, and lfnst_idx as the transform information Tinfo. The orthogonal transform unit 342 performs an orthogonal transform on the adaptive color transform coefficient data res_x' using the acquired information to generate orthogonal transform coefficient data coef_x. The orthogonal transform unit 342 provides the generated orthogonal transform coefficient data coef_x to the quantization unit 343.

[0359] The quantization unit 343 performs processing related to quantization. For example, the quantization unit 343 obtains the orthogonal transformation coefficient data coeff_x provided from the orthogonal transformation unit 342. The quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x to generate quantized coefficient data qcoef_x. The quantization unit 343 converts the generated quantized coefficient data qcoef_x (i.e., Fig.10 The quantized coefficient data level) is provided to the encoding unit 314 and the inverse quantization inverse transformation unit 316.

[0360] For example, in the case of applying the above-mentioned "method 1", the quantization unit 343 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization unit 343 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization unit 343 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization unit 343 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization unit 343 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip.

[0361] The quantization unit 343 quantizes the orthogonal transform coefficient data coeff_x using the acquired parameters to generate quantized coefficient data qcoef_x.

[0362] For example, in the case of applying the above-mentioned "method 2", the quantization unit 343 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization unit 343 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization unit 343 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization unit 343 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization unit 343 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The quantization unit 343 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 301 as a parameter regarding transform skip.

[0363] The quantization unit 343 quantizes the orthogonal transform coefficient data coeff_x using the acquired parameters to generate quantized coefficient data qcoef_x.

[0364] For example, in the case of applying the above-mentioned "method 3", the quantization unit 343 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization unit 343 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization unit 343 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization unit 343 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization unit 343 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The quantization unit 343 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 301 as a parameter regarding transform skip.

[0365] The quantization unit 343 quantizes the orthogonal transform coefficient data coeff_x using the acquired parameters to generate quantized coefficient data qcoef_x.

[0366] For example, in the case of applying the above-mentioned “method 4”, the quantization unit 343 acquires the same parameters as those acquired in the case of applying “method 3”. The quantization unit 343 quantizes the orthogonal transformation coefficient data coeff_x using the acquired parameters to generate quantized coefficient data qcoef_x.

[0367] <Configuration example of quantization unit>

[0368] Fig.12 It is shown Fig.11 343 in the block diagram of the main configuration example. Fig.12 As shown, the quantization unit 343 includes a quantization parameter correction unit 351 and a quantization processing unit 352.

[0369] The quantization parameter correction unit 351 performs processing on correction of the quantization parameter. For example, the quantization parameter correction unit 351 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx. The quantization parameter correction unit 351 corrects the quantization parameter qPx of the CU level corresponding to the component identifier cIdx, and provides the corrected quantization parameter as the corrected quantization parameter to the quantization processing unit 352.

[0370] The quantization processing unit 352 performs processing related to quantization. For example, the quantization processing unit 352 obtains the orthogonal transformation coefficient data coef_x provided from the orthogonal transformation unit 342. The quantization processing unit 352 obtains the corrected quantization parameter provided 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 to generate quantized coefficient data qcoef_x. The quantization processing unit 352 converts the generated quantized coefficient data qcoef_x (i.e., Fig.10 The quantized coefficient data level) is provided to the encoding unit 314 and the inverse quantization inverse transformation unit 316.

[0371] In the case where the present technology is applied to the quantization unit 343 having the above configuration, the quantization parameter correction unit 351 corrects the quantization parameter based on the parameter about the adaptive color transform, and further corrects the quantization parameter based on the parameter about the transform skip. The quantization processing unit 352 quantizes the coefficient data of the image to be encoded by using the corrected quantization parameter, which is the quantization parameter that has been corrected by the quantization parameter correction unit 351.

[0372] For example, when the above-mentioned “method 1” is applied, the quantization parameter correction device 100 ( Figure 2 ) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization parameter correction unit 351 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization parameter correction unit 351 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization parameter correction unit 351 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization parameter correction unit 351 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip.

[0373] The quantization parameter correction unit 351 uses the acquired cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx] and QpPrimeTsMin to correct qPx by the method described in the first embodiment. That is, the quantization parameter correction unit 351 performs calculations as in Expression (5) or Expression (6) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 351 provides the generated second corrected quantization parameter qP" to the quantization processing unit 352.

[0374] By doing so, the quantization parameter correction unit 351 can correct the quantization parameter so that when adaptive color transform and transform skip are applied, the quantization step Δ<1 is avoided in quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of PSNR. Therefore, the image encoding device 300 can suppress the reduction of encoding efficiency.

[0375] For example, when the above-mentioned “method 2” is applied, the quantization parameter correction device 120 ( Figure 4 ) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization parameter correction unit 351 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization parameter correction unit 351 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization parameter correction unit 351 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization parameter correction unit 351 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The quantization parameter correction unit 351 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 301 as a parameter regarding transform skip.

[0376] The quantization parameter correction unit 351 uses the acquired cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin and value "0" to correct qPx by the method described in the second embodiment. That is, the quantization parameter correction unit 351 performs calculations as in Expression (5) or Expression (13) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 351 provides the generated second corrected quantization parameter qP" to the quantization processing unit 352.

[0377] By doing so, the quantization parameter correction unit 351 can correct the quantization parameter so that in the case of applying the adaptive color transform, regardless of whether the transform skip is applied, the quantization step Δ<1 is avoided in the quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of PSNR. Therefore, the image encoding device 300 can suppress the reduction of encoding efficiency.

[0378] For example, when the above-mentioned “method 3” is applied, the quantization parameter correction device 140 ( Figure 6 ) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the quantization parameter correction unit 351 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The quantization parameter correction unit 351 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the quantization parameter correction unit 351 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The quantization parameter correction unit 351 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The quantization parameter correction unit 351 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 301 as a parameter regarding transform skip.

[0379] 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 by the method described in the third embodiment. That is, the quantization parameter correction unit 351 performs calculations as in Expression (16) or Expression (17) to generate a third corrected quantization parameter qP"'. The quantization parameter correction unit 351 provides the generated third corrected quantization parameter qP"' to the quantization processing unit 352.

[0380] By doing so, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter, regardless of whether transform skipping is applied. In addition, in the case of transform skipping, the lower limit of the quantization parameter is further clipped with the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is applied. That is, the quantization parameter correction unit 351 can correct the quantization parameter so that when adaptive color transform is applied, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this manner, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of PSNR. Therefore, the image encoding device 300 can suppress the reduction of encoding efficiency.

[0381] For example, when the above-mentioned “method 4” is applied, the quantization parameter correction device 160 ( Figure 8 ) is applied as the quantization parameter correction unit 351. That is, the quantization parameter correction unit 351 acquires parameters similar to those in the case of “Method 3”.

[0382] The quantization parameter correction unit 351 uses the acquired parameters (cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin, and QpBdOffset) to correct qPx by the method described in the fourth embodiment. That is, the quantization parameter correction unit 351 performs calculations as in Expression (18) or Expression (17) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 351 provides the generated second corrected quantization parameter qP" to the quantization processing unit 352.

[0383] That is, in the case of method 4, calculations substantially similar to those in the case of method 3 are performed, and similar correction results are obtained. Therefore, even in this case, similarly to the case of method 3, the quantization parameter correction unit 351 can correct the quantization parameter so that, in the case of applying adaptive color transform, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this manner, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction in PSNR. Therefore, the image encoding device 300 can suppress the reduction in encoding efficiency.

[0384] <Coding unit>

[0385] For example, in the case of applying the above-mentioned "method 1", the encoding unit 314 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the encoding unit 314 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The encoding unit 314 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the encoding unit 314 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 encodes the obtained parameters, generates a bit string, and includes the bit string in the encoded data.

[0386] By doing so, these information are notified with a signal. That is, these information are provided to the decoding side device (decoder, etc.). Therefore, the decoding side device can correct the quantization parameter so that the quantization step Δ<1 is avoided when the adaptive color transform and transform 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 achieve the suppression of the reduction of coding efficiency.

[0387] For example, in the case of applying the above-mentioned "method 2", the encoding unit 314 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the encoding unit 314 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The encoding unit 314 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the encoding unit 314 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 encodes the acquired parameters, generates a bit string, and includes the bit string in the encoded data.

[0388] By doing so, these information are notified with a signal. That is, these information are provided to the decoding side device (decoder, etc.). Therefore, the decoding side device can correct the quantization parameter so that the quantization step Δ<1 is avoided when the adaptive color transform is applied, regardless of whether the transform skip is 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 achieve suppression of the reduction of coding efficiency.

[0389] For example, in the case of applying the above-mentioned "method 3", the encoding unit 314 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 301. In addition, the encoding unit 314 obtains the cu_act_enabled_flag provided from the control unit 301 as a parameter regarding adaptive color transform. The encoding unit 314 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding adaptive color transform. In addition, the encoding unit 314 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 301 as a parameter regarding transform skip. The encoding unit 314 encodes the acquired parameters, generates a bit string, and includes the bit string in the encoded data.

[0390] By doing so, these information are notified with a signal. That is, this information is provided to the decoding side device (decoder, etc.). Therefore, regardless of whether the decoding side device applies transform skipping in the decoding process, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter. In addition, in the case of transform skipping, the lower limit of the quantization parameter is further clipped with the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped. That is, the decoding side device can correct the quantization parameter so that regardless of whether transform skipping is applied in the decoding process, the quantization step Δ<1 is avoided when the adaptive color transform is applied. Therefore, the decoding side device can use the quantization parameter corrected in this way to perform inverse quantization in the decoding process. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding side device can achieve suppression of the reduction of coding efficiency.

[0391] For example, in the case of applying the above-mentioned "method 4", the encoding unit 314 acquires parameters similar to those in the case of "method 3". The encoding unit 314 encodes the acquired parameters (cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin, and QpBdOffset), generates a bit string, and includes the bit string in the encoded data.

[0392] By doing so, these information are notified with a signal. That is, these information are provided to the decoding side device (decoder, etc.). Therefore, even in this case, the decoding side device can correct the quantization parameter so that the quantization step Δ<1 is avoided when the adaptive color transform is applied regardless of whether the transform skip is applied in the decoding process. Therefore, the decoding side device can perform inverse quantization in the decoding process using the quantization parameter corrected in this way. Therefore, the decoding side device can suppress the reduction of PSNR. Therefore, the decoding side device can achieve suppression of the reduction of coding efficiency.

[0393] <Flow of Image Coding Process>

[0394] Next, the flow of each process performed by the above-mentioned image encoding device 300 will be described. Fig.13 The flowchart in describes an example of the flow of image encoding processing.

[0395] When the image encoding process starts, in step S301 , the reordering buffer 311 is controlled by the control unit 301 , and frames of input moving image data are reordered from display order to encoding order.

[0396] In step S302 , the control unit 301 sets a processing unit (performs block division) on the input image held by the rearrangement buffer 311 .

[0397] In step S303 , the control unit 301 sets encoding parameters (for example, header information Hinfo, prediction mode information Pinfo, transform information Tinfo, etc.) for the input image held by the reordering buffer 311 .

[0398] In step S304, the prediction unit 320 performs prediction processing and generates a predicted image in an optimal prediction mode, etc. For example, in the prediction processing, the prediction unit 320 performs intra prediction in an optimal intra prediction mode to generate a predicted image, performs inter prediction in an optimal inter prediction mode to generate a predicted image, and selects the optimal prediction mode from the predicted image based on a cost function value, etc.

[0399] In step S305, the calculation unit 312 calculates the difference between the input image and the predicted image of the optimal mode selected by the prediction process in step S304. That is, the calculation unit 312 generates residual data D between the input image and the predicted image. The residual data D obtained in this way has a smaller data amount than the original image data. Therefore, the data amount can be compressed compared to the case where the image is encoded as it is.

[0400] In step S306 , the transform and quantization unit 313 performs transform and quantization processing on the residual data D generated by the process of step S305 using the encoding parameters such as the transform information Tinfo generated in step S303 , and generates quantized coefficient data level.

[0401] In step S307 , the inverse quantization and inverse transformation unit 316 performs an inverse quantization and inverse transformation process on the quantization coefficient data level generated in step S306 using the encoding parameters such as the transformation information Tinfo generated in step S303 , and generates residual data D′.

[0402] This inverse quantization and inverse transform process is the inverse process of the transform quantization process of step S306. The decoding side device (image decoding device 400) described below also performs similar processing. Therefore, the inverse quantization and inverse transform process is described as the process of the decoding side device (image decoding device 400). Then, the description can be applied to the inverse quantization and inverse transform process (step S307).

[0403] In step S308 , the calculation unit 317 adds the predicted image obtained by the prediction process in step S304 and the residual data D′ obtained by the inverse quantization and inverse transform process in step S307 , thereby generating a local decoded image.

[0404] In step S309 , the loop filter unit 318 performs a loop filter process on the local decoded image obtained by the process in step S308 .

[0405] In step S310 , the frame memory 319 stores the local decoded image obtained by the process in step S308 and the local decoded image filtered in step S309 .

[0406] In step S311, the encoding unit 314 encodes the quantized coefficient data level obtained by the transform quantization process in step S306 to generate encoded data. In addition, at this time, the encoding unit 314 encodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, and transform information Tinfo). In addition, the encoding unit 314 derives residual information RInfo from the quantized coefficient data level and encodes the residual information RInfo.

[0407] In step S312, the accumulation buffer 315 accumulates the encoded data thus obtained, and outputs the encoded data, for example, as a bit stream to the outside of the image encoding device 300. For example, the bit stream is sent to the decoding side device via a transmission path or a recording medium. In addition, the rate control unit 321 controls the rate as needed. When the processing in step S312 ends, the image encoding process ends.

[0408] <Transformation and Quantization Processing Flow>

[0409] Next, we will refer to Fig.14 The flowchart is used to describe the Fig.13 An example of the flow of the transform and quantization processing performed in step S306.

[0410] When the transform and quantization process starts, in step S341, the adaptive color transform unit 341 performs the color transform based on the color quantization process in step S303 ( Fig.13 ) performs adaptive color transform on the residual data res_x generated by the process of step S305 to generate adaptive color transform coefficient data res_x'.

[0411] In step S342, the orthogonal transform unit 342 transforms the Fig.13 ) performs an orthogonal transformation on the adaptive color transformation coefficient data res_x' generated in step S341 using the transformation information Tinfo, prediction mode information Pinfo, etc., to generate orthogonal transformation coefficient data coef_x.

[0412] In step S343, the quantization unit 343 uses the Fig.13 ) is used to quantize the orthogonal transformation coefficient data coef_x generated in step S342 to generate quantized coefficient data qcoef_x.

[0413] When the processing of step S343 is completed, the processing returns to Fig.13 .

[0414] <Quantization Process>

[0415] Next, we will refer to Fig.15 The flowchart is described in Fig.14 An example of the flow of the quantization processing performed in step S343.

[0416] When the quantization process starts, in step S351 , the quantization parameter correction unit 351 performs a quantization parameter correction process, corrects the quantization parameter, and generates a corrected quantization parameter.

[0417] In step S352, the quantization processing unit 352 uses the corrected quantization parameter generated in step S351 to correct the quantization parameter generated in step S342 ( Fig.14 ) is quantized to generate quantized coefficient data qcoef_x.

[0418] When the processing of step S352 ends, the quantization processing ends, and the processing returns to Fig.14 .

[0419] The present technology described in <1. Correction of quantization parameter>, <2. First embodiment>, <3. Second embodiment>, <4. Third embodiment>, and <5. Fourth embodiment> can be applied to such quantization processing.

[0420] That is, in the case where the present technology is applied to the above-mentioned quantization processing, in step S351, the quantization parameter correction unit 351 corrects the quantization parameter based on the parameter about the adaptive color transform, and further corrects the quantization parameter based on the parameter about the transform skip. In 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 quantization parameter that has been corrected.

[0421] For example, when the above-mentioned “method 1” is applied, the quantization parameter correction unit 351 applies the reference Figure 3 The quantization parameter correction processing described in the flowchart in is the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 351 performs calculation as in Expression (5) or Expression (6) to generate a second corrected quantization parameter qP".

[0422] By doing so, the quantization parameter correction unit 351 can correct the quantization parameter so that the quantization step Δ<1 is avoided in quantization when the adaptive color transform and transform skip are applied. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of PSNR. Therefore, the image encoding device 300 can suppress the reduction of encoding efficiency.

[0423] For example, when the above-mentioned “method 2” is applied, the quantization parameter correction unit 351 applies the reference Figure 5 The quantization parameter correction processing described in the flowchart in is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 351 performs calculations as in Expression (5) or Expression (13) to generate a second corrected quantization parameter qP".

[0424] By doing so, the quantization parameter correction unit 351 can correct the quantization parameter so that in the case of applying the adaptive color transform, whether or not the transform skip is applied, the quantization step Δ<1 is avoided in the quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this way, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of the PSNR. Therefore, the image encoding device 300 can suppress the reduction of the encoding efficiency.

[0425] For example, when the above-mentioned “method 3” is applied, the quantization parameter correction unit 351 applies the reference Figure 7 The quantization parameter correction processing described in the flowchart in FIG. 35 is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 351 performs calculation as in Expression (16) or Expression (17) to generate the third corrected quantization parameter qP′″.

[0426] By doing so, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter, regardless of whether transform skipping is applied. In the case of transform skipping, the lower limit of the quantization parameter is further clipped with the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is applied. That is, the quantization parameter correction unit 351 can correct the quantization parameter so that when adaptive color transform is applied, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this manner, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction of PSNR. Therefore, the image encoding device 300 can suppress the reduction of encoding efficiency.

[0427] For example, when the above-mentioned “method 4” is applied, the quantization parameter correction unit 351 applies the reference Fig. 9 The quantization parameter correction processing described in the flowchart in is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 351 performs calculations as in Expression (18) or Expression (17) to generate a second corrected quantization parameter qP".

[0428] That is, in the case of method 4, calculations substantially similar to those in the case of method 3 are performed, and similar correction results are obtained. Therefore, even in this case, similarly to the case of method 3, the quantization parameter can be corrected so that, in the case of applying adaptive color transform, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in quantization. Therefore, the quantization processing unit 352 quantizes the coefficient data of the image using the quantization parameter corrected in this manner, so that the quantization unit 343 (transform quantization unit 313) can suppress the reduction in PSNR. Therefore, the image encoding device 300 can suppress the reduction in encoding efficiency.

[0429] <code>

[0430] Note that Fig.13In step S311 of , the encoding unit 314 encodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, and transform information Tinfo). In the case of applying the present technology, the encoding unit 314 encodes the above-mentioned various parameters to be applied to the correction of the quantization parameter as encoding parameters. For example, in the case of applying "Method 1", the encoding unit 314 encodes parameters such as the quantization parameter qPx of the CU level corresponding to the component identifier cIdx, cu_act_enabled_flag, the correction amount dqPx corresponding to the component identifier cIdx, transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx, and the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped. In addition, in the case of applying "Method 2", in addition to the parameters to be encoded in the case of applying "Method 1", the encoding unit 314 also encodes the minimum value "0" of the quantization parameter when the transform is skipped. Furthermore, in the case where “Method 3” or “Method 4” is applied, the encoding unit 314 encodes the correction amount QpBdOffset corresponding to the bit depth in addition to the parameters to be encoded in the case where “Method 1” is applied.

[0431] By doing so, these information are notified with a signal, so that the decoding side device can suppress the reduction of PSNR. Therefore, the decoding side device can achieve the suppression of the reduction of encoding efficiency.

[0432] <7. Sixth Implementation>

[0433] <Image decoding device>

[0434] The present technology (various methods) described above can also be applied to an image decoding device that decodes encoded data of image data.

[0435] Fig.16 : is a block diagram showing an example of the configuration of an image decoding device as one aspect of an image processing device to which the present technology is applied. Fig.16 The image decoding device 400 shown in FIG. 1 is a device for decoding coded data of a moving image. For example, the image decoding device 400 decodes coded data of a moving image coded by a coding method such as VVC, AVC, or HEVC described in the above non-patent document. For example, the image decoding device 400 may decode coded data of a moving image coded by the above image coding device 300 ( Fig.10 ) to decode the encoded data (bit stream) generated.

[0436] Notice, Fig.16 shows the main processing unit, data flow, etc., and Fig.16That is, in the image decoding device 400, there may be Fig.16 A processing unit is shown as a block, or there is no processing unit in Fig.16 4. The processing or data flow is shown as arrows, etc. in FIG. This is similar in other drawings used to describe the processing units, etc. in the image decoding device 400.

[0437] like Fig.16 As shown, the image decoding device 400 includes a control unit 401, an accumulation buffer 411, a decoding unit 412, an inverse quantization and inverse transformation unit 413, a calculation unit 414, a loop filter unit 415, a reordering buffer 416, a frame memory 417, and a prediction unit 418. Note that the prediction unit 418 includes an intra-frame prediction unit and an inter-frame prediction unit (not shown).

[0438] <Control Unit>

[0439] The control unit 401 performs processing related to decoding control. For example, the control unit 401 obtains encoding parameters (header information Hinfo, prediction mode information Pinfo, transformation information Tinfo, residual information Rinfo, filter information Finfo, etc.) included in the bitstream via the decoding unit 412. In addition, the control unit 401 can estimate encoding parameters not included in the bitstream. In addition, the control unit 401 controls the processing units (accumulation buffer 411 to prediction unit 418) of the image decoding device 400 based on the acquired (or estimated) encoding parameters to control decoding.

[0440] For example, the control unit 401 provides the header information Hinfo to the inverse quantization and inverse transformation unit 413, the prediction unit 418, and the loop filter unit 415. In addition, the control unit 401 provides the prediction mode information Pinfo to the inverse quantization and inverse transformation unit 413 and the prediction unit 418. In addition, the control unit 401 provides the transformation information Tinfo to the inverse quantization and inverse transformation unit 413. In addition, the control unit 401 provides the residual information Rinfo to the decoding unit 412. In addition, the control unit 401 provides the filter information Finfo to the loop filter unit 415.

[0441] Of course, the above example is an example, and the present embodiment is not limited to this example. For example, each encoding parameter can be provided to any processing unit. In addition, other information can be provided to any processing unit.

[0442] <Header information Hinfo>

[0443] For example, the header information Hinfo includes header information such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a picture header (PH), and a slice header (SH). The header information Hinfo includes, for example, information defining the following items: image size (width PicWidth and height PicHeight), bit depth (luminance bitDepthY and chrominance bitDepthC), chrominance array type ChromaArrayType, CU size maximum value MaxCUSize and minimum value MinCUSize, maximum depth MaxQTDepth and minimum depth MinQTDepth of quadtree partitioning, maximum depth MaxBTDepth and minimum depth MinBTDepth of binary tree partitioning, maximum value MaxTSSize of transform skip block (also referred to as maximum transform skip block size), on / off flag of each encoding tool (also referred to as enable flag), etc.

[0444] For example, examples of the on / off flag of the coding tool included in the header information Hinfo include on / off flags related to the following transform and quantization processes. Note that the on / off flag of the coding tool can also be interpreted as a flag indicating whether the syntax related to the coding tool is present in the coded data. In addition, the case where the value of the on / off flag is 1 (true) indicates that the coding tool is available. The case where the value of the on / off flag is 0 (false) indicates that the coding tool is not available. Note that the interpretation of the flag value can be swapped.

[0445] <Prediction mode information Pinfo>

[0446] The prediction mode information Pinfo includes, for example, information such as size information PBSize (prediction block size) of a prediction block (PB) to be processed, intra prediction mode information IPinfo, and motion prediction information MVinfo.

[0447] The intra prediction mode information IPinfo includes, for example, prev_intra_luma_pred_flag, mpm_idx, and rem_intra_pred_mode in JCTVC-W1005, 7.3.8.5 Coding Unit syntax, the luma intra prediction mode IntraPredMode derived from the syntax, and the like.

[0448] In addition, the intra-frame prediction mode information IPinfo may include, for example, an inter-component prediction flag (ccp_flag(cclmp_flag)), a multi-class linear prediction mode flag (mclm_flag), a chroma sample location type identifier (chroma_sample_loc_type_idx), a chroma MPM identifier (chroma_mpm_idx), a luma intra-frame prediction mode (IntraPredModeC) derived from these syntaxes, and the like.

[0449] The inter-component prediction flag (ccp_flag (cclmp_flag)) is flag information indicating whether inter-component linear prediction is applied. For example, ccp_flag==1 indicates that inter-component prediction is applied, and ccp_flag==0 indicates that inter-component prediction is not applied.

[0450] The multi-class linear prediction mode flag (mclm_flag) is information about the linear prediction mode (linear prediction mode information). More specifically, the multi-class linear prediction mode flag (mclm_flag) is flag information indicating whether the multi-class linear prediction mode is set. For example, "0" indicates a one-class mode (single-class mode) (e.g., CCLMP), and "1" indicates a two-class mode (multi-class mode) (e.g., MCLMP).

[0451] The chroma sample position type identifier (chroma_sample_loc_type_idx) is an identifier for identifying the type of the pixel position of the chroma component (also referred to as a chroma sample position type).

[0452] Note that the chroma sample position type identifier (chroma_sample_loc_type_idx) is transmitted as information (chroma_sample_loc_info()) on the pixel position of the chroma component (transmitted by being stored in the information).

[0453] The chroma MPM identifier (chroma_mpm_idx) is an identifier indicating which prediction mode candidate in the chroma intra prediction mode candidate list (intraPredModeCandListC) is to be designated as the chroma intra prediction mode.

[0454] The motion prediction information MVinfo may include, for example, information such as merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd, etc. (for example, see JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax).

[0455] Of course, the information included in the prediction mode information Pinfo is arbitrary and may include information other than the above information.

[0456] <Transformation information Tinfo>

[0457] The transformation information Tinfo may include, for example, the following information:

[0458] The width TBWSize and height TBHSize of the transform block to be processed: the logarithmic values ​​of TBWSize and TBHSize with base 2 as log2TBWSize and log2TBHSize;

[0459] Transform skip flag (ts_flag): a flag indicating whether to skip (inverse) primary transform and (inverse) secondary transform;

[0460] Scan identifier (scanIdx);

[0461] quantization parameter (qp); and

[0462] Quantization matrix (scaling_matrix): For example, JCTVC-W1005, 7.3.4 Scaling list datasyntax.

[0463] Of course, the information included in the transformation information Tinfo is arbitrary, and may include information other than the above information:

[0464] <Residual information Rinfo>

[0465] The residual information Rinfo (for example, see 7.3.8.11 Residual Coding syntax of JCTVC-W1005) may include, for example, the following information:

[0466] cbf (coded_block_flag): residual data presence / absence flag;

[0467] last_sig_coeff_x_pos: the last non-zero coefficient X coordinate;

[0468] last_sig_coeff_y_pos: the last non-zero coefficient Y coordinate;

[0469] coded_sub_block_flag: sub-block non-zero coefficient presence / absence flag;

[0470] sig_coeff_flag: non-zero coefficient presence / absence flag;

[0471] gr1_flag: a flag indicating whether the level of the non-zero coefficient is greater than 1 (also called the GR1 flag); gr2_flag: a flag indicating whether the level of the non-zero coefficient is greater than 2 (also called the GR2 flag); sign_flag: indicates the positive or negative sign of the non-zero coefficient (also called the sign code); and

[0472] coeff_abs_level_remaining: The residual level of non-zero coefficients (also called non-zero coefficient residual level).

[0473] Of course, the information included in the residual information Rinfo is arbitrary and may include information other than the above information.

[0474] <Filter information Finfo>

[0475] The filter information Finfo may include, for example, control information regarding the following filtering processes:

[0476] Control information about the deblocking filter (DBF);

[0477] Control information about pixel adaptive offset (SAO);

[0478] Control information about an adaptive loop filter (ALF); and

[0479] Control information about other linear and nonlinear filters.

[0480] In addition, for example, the filter information Finfo may include: a picture to which each filter is applied, information for specifying an area in a picture, filter on / off control information for each CU, filter on / off control information for slice and tile boundaries, etc. Of course, the information included in the filter information Finfo is arbitrary and may include information other than the above information.

[0481] <Accumulation Buffer>

[0482] The accumulation buffer 411 acquires a bit stream input to the image decoding device 400 and holds (stores) the bit stream. The accumulation buffer 411 extracts encoded data included in the accumulated bit stream at a predetermined timing or when a predetermined condition is satisfied, and supplies the encoded data to the decoding unit 412.

[0483] <Decoding Unit>

[0484] The decoding unit 412 performs processing related to image decoding. For example, the decoding unit 412 acquires the encoded data provided from the accumulation buffer 411, performs entropy decoding (lossless decoding) on ​​the syntax value of each syntax element from the bit string according to the definition of the syntax table, and derives the encoding parameter.

[0485] The encoding parameters may include, for example, information such as header information Hinfo, prediction mode information Pinfo, transform information Tinfo, residual information Rinfo, and filter information Finfo. That is, the decoding unit 412 decodes and parses (analyzes and acquires) such information from the bitstream.

[0486] The decoding unit 412 performs such processing (decoding, parsing, etc.) under the control of the control unit 401 , and supplies the obtained information to the control unit 401 .

[0487] In addition, the decoding unit 412 decodes the encoded data by referring to the residual information Rinfo. At this time, for example, the decoding unit 412 applies entropy decoding (lossless decoding) such as CABAC or CAVLC. That is, the decoding unit 412 decodes the encoded data by a decoding method corresponding to the encoding method of the encoding process performed by the encoding unit 314 of the image encoding device 300.

[0488] For example, it is assumed that CABAC is applied. The decoding unit 412 performs arithmetic decoding using a context model on the encoded data and derives the quantized coefficient data level at each coefficient position in each transform block. The decoding unit 412 supplies the derived quantized coefficient data level to the inverse quantization inverse transform unit 413.

[0489] <Inverse quantization and inverse transformation unit>

[0490] The inverse quantization and inverse transformation unit 413 performs processing on inverse quantization and inverse coefficient transformation. For example, the inverse quantization and inverse transformation unit 413 acquires the quantization coefficient data level supplied from the decoding unit 412. The inverse quantization and inverse transformation unit 413 acquires encoding parameters such as prediction mode information Pinfo and transformation information Tinfo supplied from the control unit 401.

[0491] The inverse quantization and inverse transformation unit 413 performs an inverse quantization and inverse transformation process on the quantization coefficient data level based on the encoding parameters such as the prediction mode information Pinfo and the transformation information Tinfo to obtain the residual data D'. The inverse quantization and inverse transformation process is the inverse process of the transform quantization process performed in the transform quantization unit 313. That is, in the inverse quantization and inverse transformation process, for example, processes such as inverse quantization, inverse orthogonal transformation, and inverse adaptive color transformation are performed. Inverse quantization is the inverse process of quantization performed in the transform quantization unit 313. Inverse orthogonal transformation is the inverse process of orthogonal transformation performed in the transform quantization unit 313. Inverse adaptive color transformation is the inverse process of adaptive color transformation performed in the transform quantization unit 313. Of course, the processes included in the inverse quantization and inverse transformation process are arbitrary, and some of the above processes may be omitted, or processes other than the above processes may be included. The inverse quantization and inverse transformation unit 413 provides the obtained residual data D' to the calculation unit 414.

[0492] <Computational Unit>

[0493] The calculation unit 414 performs processing on adding information about the image. For example, the calculation unit 414 obtains the residual data D' provided from the inverse quantization and inverse transformation unit 413 and the predicted image provided from the prediction unit 418. The calculation unit 414 adds the residual data and the predicted image (prediction signal) corresponding to the residual data to obtain a local decoded image. The calculation unit 414 provides the obtained local decoded image to the loop filter unit 415 and the frame memory 417.

[0494] <Loop filter unit>

[0495] The loop filter unit 415 performs processing related to the loop filtering process. For example, the loop filter unit 415 acquires the local decoded image provided from the calculation unit 414. The loop filter unit 415 acquires the filter information Finfo provided from the control unit 401. Note that the information input to the loop filter unit 415 is arbitrary, and information other than the above-mentioned information may be input.

[0496] The loop filter unit 415 appropriately performs filtering processing on the local decoded image based on the filter information Finfo. For example, the loop filter unit 415 can apply a bilateral filter as a filtering process. For example, the loop filter unit 415 can apply a deblocking filter (DBF) as a filtering process. For example, the loop filter unit 415 can apply an adaptive offset filter (sample adaptive offset (SAO)) as a filtering process. For example, the loop filter unit 415 can apply an adaptive loop filter (ALF) as a filtering process. In addition, the loop filter unit 415 can apply multiple filters in combination as filtering processes. Note that which filter is applied and in what order the filters are applied is arbitrary and can be appropriately selected. For example, the loop filter unit 415 sequentially applies four loop filters of a bilateral filter, a deblocking filter, an adaptive offset filter, and an adaptive loop filter as filtering processes.

[0497] The loop filter unit 415 performs a filtering process corresponding to the filtering process performed by the encoding side device (e.g., the loop filter unit 318 of the image encoding device 300). Of course, the filtering process performed by the loop filter unit 415 is arbitrary and is not limited to the above example. For example, the loop filter unit 415 can apply a Wiener filter, etc.

[0498] The loop filter unit 415 provides the filtered local decoded image to the reordering buffer 416 and the frame memory 417 .

[0499] <Reorder Buffer>

[0500] The reorder buffer 416 receives the local decoded image provided from the loop filter unit 415 as input, and holds (stores) the local decoded image. The reorder buffer 416 reconstructs the decoded image for each picture using the local decoded image, and holds the decoded image (stored in the buffer). The reorder buffer 416 reorders the obtained decoded image from the decoding order to the reproduction order. The reorder buffer 416 outputs the reordered decoded image group as motion image data to the outside of the image decoding device 400.

[0501] <Frame Memory>

[0502] The frame memory 417 performs processing related to storage of data related to an image. For example, the frame memory 417 acquires a local decoded image supplied from the calculation unit 414, reconstructs a decoded image for each picture, and stores the decoded image in a buffer in the frame memory 417.

[0503] Furthermore, the frame memory 417 acquires the local decoded image that has been subjected to the loop filtering process and is provided from the loop filter unit 415, reconstructs the decoded image for each picture, and stores the decoded image in a buffer in the frame memory 417. The frame memory 417 appropriately provides the stored decoded image (or a portion thereof) to the prediction unit 418 as a reference image.

[0504] Note that the frame memory 417 can store header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, and the like related to generation of a decoded image.

[0505] <Prediction Unit>

[0506] The prediction unit 418 performs processing on the generation of a predicted image. For example, the prediction unit 418 acquires the prediction mode information Pinfo provided from the control unit 401. In addition, the prediction unit 418 acquires the decoded image (or part thereof) read from the frame memory 417. The prediction unit 418 performs prediction processing in the prediction mode adopted at the time of encoding based on the prediction mode information Pinfo, and generates a predicted image by referring to the decoded image as a reference image. The prediction unit 418 provides the generated predicted image to the calculation unit 414.

[0507] <Application of this technology>

[0508] The present technology described in <1. Correction of quantization parameter>, <2. First embodiment>, <3. Second embodiment>, <4. Third embodiment>, and <5. Fourth embodiment> can be applied to the image decoding device 400 having the above-described configuration.

[0509] <Decoding Unit>

[0510] As described above, the decoding unit 412 parses encoding parameters such as header information Hinfo, prediction mode information Pinfo, transform information Tinfo, residual information Rinfo, and filter information Finfo from a bit stream.

[0511] Therefore, in the case where the present technology is applied, the decoding unit 412 decodes the bit stream, and parses the parameters to be used for correcting the quantization parameter supplied from the encoding-side device (for example, the image encoding device 300 ).

[0512] For example, in the case of applying "Method 1", the decoding unit 412 parses parameters such as the quantization parameter qPx at the CU level corresponding to the component identifier cIdx, cu_act_enabled_flag, the correction amount dqPx corresponding to the component identifier cIdx, transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx, and the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip. In addition, in the case of applying "Method 2", in addition to the parameters to be encoded in the case of applying "Method 1", the decoding unit 412 parses the minimum value "0" of the quantization parameter at the time of non-transform skip. In addition, in the case of applying "Method 3" or "Method 4", in addition to the parameters to be encoded in the case of applying "Method 1", the decoding unit 412 parses the correction amount QpBdOffset corresponding to the bit depth.

[0513] <Control Unit>

[0514] For example, in the case of applying “Method 1”, the control unit 401 acquires the quantization parameter qPx of the CU level corresponding to the component identifier cIdx from the decoding unit 412, and supplies the quantization parameter qPx to the inverse quantization and inverse transformation unit 413. The control unit 401 acquires cu_act_enabled_flag from the decoding unit 412 as a parameter regarding the adaptive color transform, and supplies the cu_act_enabled_flag to the inverse quantization and inverse transformation unit 413. The control unit 401 acquires the correction amount dqPx corresponding to the component identifier cIdx from the decoding unit 412 as a parameter regarding the adaptive color transform, and supplies the correction amount dqPx to the inverse quantization and inverse transformation unit 413. The control unit 401 acquires transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx from the decoding unit 412 as a parameter regarding transform skip, and supplies transform_skip_flag[xTbY][yTbY][cIdx] to the inverse quantization and inverse transformation unit 413. The control unit 401 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping as a parameter regarding transform skipping from the decoding unit 412 , and supplies the minimum value QpPrimeTsMin to the inverse quantization and inverse transform unit 413 .

[0515] For example, in the case of applying "method 2", the control unit 401 provides the parameters to be provided in the case of applying "method 1" to the inverse quantization inverse transform unit 413. In addition to these parameters, the control unit 401 provides the minimum value "0" of the quantization parameter in the case of non-transform skipping as a parameter about transform skipping to the inverse quantization inverse transform unit 413.

[0516] For example, when "method 3" is applied, the control unit 401 supplies the parameters to be supplied when "method 1" is applied to the inverse quantization and inverse transformation unit 413. In addition to these parameters, the control unit 401 supplies the correction amount QpBdOffset corresponding to the bit depth to the inverse quantization and inverse transformation unit 413.

[0517] For example, in the case where “method 4” is applied, the control unit 401 supplies the parameters to be supplied in the case where “method 3” is applied to the inverse quantization and inverse transformation unit 413 .

[0518] <Inverse quantization and inverse transformation unit>

[0519] For example, in the case of applying the above-mentioned "method 1", the inverse quantization and inverse transformation unit 413 acquires the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization and inverse transformation unit 413 acquires the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transformation. The inverse quantization and inverse transformation unit 413 acquires the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transformation. In addition, the inverse quantization and inverse transformation unit 413 acquires the transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skipping. The inverse quantization and inverse transformation unit 413 acquires the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping provided from the control unit 401 as a parameter regarding transform skipping. The inverse quantization and inverse transformation unit 413 uses the acquired parameters to perform inverse quantization and inverse transformation processing.

[0520] For example, in the case of applying the above-mentioned "method 2", the inverse quantization and inverse transformation unit 413 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization and inverse transformation unit 413 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter about adaptive color transformation. The inverse quantization and inverse transformation unit 413 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter about adaptive color transformation. In addition, the inverse quantization and inverse transformation unit 413 obtains the transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter about transform skipping. The inverse quantization and inverse transformation unit 413 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skipping provided from the control unit 401 as a parameter about transform skipping. The inverse quantization and inverse transformation unit 413 obtains the minimum value "0" of the quantization parameter at the time of non-transform skipping provided from the control unit 401 as a parameter about transform skipping. The inverse quantization and inverse transformation unit 413 performs an inverse quantization and inverse transformation process using the acquired parameters.

[0521] For example, in the case of applying the above-mentioned "method 3", the inverse quantization and inverse transformation unit 413 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization and inverse transformation unit 413 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter about adaptive color transformation. The inverse quantization and inverse transformation unit 413 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter about adaptive color transformation. In addition, the inverse quantization and inverse transformation unit 413 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter about transform skip. The inverse quantization and inverse transformation unit 413 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter about transform skip. The inverse quantization and inverse transformation unit 413 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 401 as a parameter about transform skip. The inverse quantization and inverse transformation unit 413 performs an inverse quantization and inverse transformation process using the acquired parameters.

[0522] For example, in the case of applying the above-described “method 4”, the inverse quantization and inverse transformation unit 413 acquires the same parameters as those acquired in the case of applying “method 3”. The inverse quantization and inverse transformation unit 413 performs inverse quantization and inverse transformation processing using the acquired parameters.

[0523] <Configuration Example of Inverse Quantization and Inverse Transformation Unit>

[0524] Fig.17 It is shown Fig.16 4 is a block diagram showing a main configuration example of the inverse quantization and inverse transformation unit 413 in FIG. Fig.17 As shown, the inverse quantization and inverse transformation unit 413 includes an inverse quantization unit 441 , an inverse orthogonal transformation unit 442 and an inverse adaptive color transformation unit 443 .

[0525] The inverse quantization unit 441 performs processing related to inverse quantization. For example, the inverse quantization unit 441 obtains the quantization coefficient data qcoeff_x (ie, Fig.16 The inverse quantization unit 441 inversely quantizes the quantized coefficient data qcoeff_x to generate orthogonal transformation coefficient data coef_x. The inverse quantization unit 441 supplies the generated orthogonal transformation coefficient data coef_x to the inverse orthogonal transformation unit 442.

[0526] The inverse orthogonal transform unit 442 performs processing related to inverse orthogonal transform. For example, the inverse orthogonal transform unit 442 acquires the orthogonal transform coefficient data coeff_x provided from the inverse quantization unit 441. The inverse orthogonal transform unit 442 acquires the transform information Tinfo and the prediction mode information Pinfo provided from the control unit 401. For example, the inverse orthogonal transform unit 442 may acquire information such as transform_skip_flag, mts_idx, and lfnst_idx as the transform information Tinfo. The inverse orthogonal transform unit 442 performs an inverse orthogonal transform on the orthogonal transform coefficient data coeff_x using the acquired information to generate adaptive color transform coefficient data res_x'. The inverse orthogonal transform unit 442 provides the generated adaptive color transform coefficient data res_x' to the inverse adaptive color transform unit 443.

[0527] The inverse adaptive color transform unit 443 performs processing regarding inverse adaptive color transform. For example, the inverse adaptive color transform unit 443 obtains the adaptive color transform coefficient data res_x' provided from the inverse orthogonal transform unit 442. The inverse adaptive color transform unit 443 obtains the cu_act_enabled_flag provided from the control unit 401. The inverse adaptive color transform unit 443 performs adaptive color transform on the residual data res_x based on the value of cu_act_enabled_flag. For example, in the case where cu_act_enabled_flag is true (for example, "1"), the inverse adaptive color transform unit 443 performs calculations as in the above-mentioned expression (2), and performs YCgCo-RGB transform on the adaptive color transform coefficient data res_x' including components of Y, Cg, and Co. Through this processing, the residual data res_x (that is, R, G, and B) including components is generated. Fig.10 The inverse adaptive color transform unit 443 provides the generated residual data res_x to the calculation unit 414.

[0528] For example, in the case of applying the above-mentioned "method 1", the inverse quantization unit 441 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization unit 441 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The inverse quantization unit 441 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. In addition, the inverse quantization unit 441 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The inverse quantization unit 441 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip.

[0529] The inverse quantization unit 441 inversely quantizes the quantized coefficient data qcoef_x using the acquired parameters to generate orthogonal transform coefficient data coeff_x.

[0530] For example, in the case of applying the above-mentioned "method 2", the inverse quantization unit 441 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization unit 441 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The inverse quantization unit 441 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. In addition, the inverse quantization unit 441 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The inverse quantization unit 441 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip. The inverse quantization unit 441 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 401 as a parameter regarding transform skip.

[0531] The inverse quantization unit 441 inversely quantizes the quantized coefficient data qcoef_x using the acquired parameters to generate orthogonal transform coefficient data coeff_x.

[0532] For example, in the case of applying the above-mentioned "method 3", the inverse quantization unit 441 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the inverse quantization unit 441 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The inverse quantization unit 441 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. In addition, the inverse quantization unit 441 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The inverse quantization unit 441 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip. The inverse quantization unit 441 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 401 as a parameter regarding transform skip.

[0533] The inverse quantization unit 441 inversely quantizes the quantized coefficient data qcoef_x using the acquired parameters to generate orthogonal transform coefficient data coeff_x.

[0534] For example, when the above-mentioned “method 4” is applied, the inverse quantization unit 441 acquires the same parameters as those acquired when “method 3” is applied. The inverse quantization unit 441 inversely quantizes the quantized coefficient data qcoef_x using the acquired parameters to generate orthogonal transform coefficient data coeff_x.

[0535] <Configuration Example of Inverse Quantization Unit>

[0536] Fig.18 It is shown Fig.17 A block diagram of a main configuration example of the inverse quantization unit 441. Fig.18 As shown, the inverse quantization unit 441 includes a quantization parameter correction unit 451 and an inverse quantization processing unit 452 .

[0537] The quantization parameter correction unit 451 performs processing on correction of the quantization parameter. For example, the quantization parameter correction unit 451 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx. The quantization parameter correction unit 451 corrects the quantization parameter qPx of the CU level corresponding to the component identifier cIdx, and provides the corrected quantization parameter as the corrected quantization parameter to the inverse quantization processing unit 452.

[0538] The inverse quantization processing unit 452 performs processing related to inverse quantization. For example, the inverse quantization processing unit 452 obtains the quantization coefficient data qcoef_x provided from the decoding unit 412. The inverse quantization processing unit 452 obtains the corrected quantization parameter provided 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 to generate orthogonal transformation coefficient data coef_x. The inverse quantization processing unit 452 provides the generated orthogonal transformation coefficient data coef_x to the inverse orthogonal transformation unit 442.

[0539] In the case where the present technology is applied to the inverse quantization unit 441 having the above configuration, the quantization parameter correction unit 451 corrects the quantization parameter based on the parameter about the adaptive color transform, and further corrects the quantization parameter based on the parameter about the transform skip. The inverse quantization processing unit 452 inversely quantizes the quantized coefficient data obtained by quantizing the coefficient data of the image using the corrected quantization parameter, which is the quantization parameter that has been corrected by the quantization parameter correction unit 451.

[0540] For example, when the above-mentioned “method 1” is applied, the quantization parameter correction device 100 ( Figure 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the quantization parameter correction unit 451 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The quantization parameter correction unit 451 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip.

[0541] The quantization parameter correction unit 451 uses the acquired cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx] and QpPrimeTsMin to correct qPx by the method described in the first embodiment. That is, the quantization parameter correction unit 451 performs calculations as in Expression (5) or Expression (6) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 451 provides the generated second corrected quantization parameter qP" to the inverse quantization processing unit 452.

[0542] By doing so, the quantization parameter correction unit 451 can correct the quantization parameter so that the quantization step Δ<1 is avoided in the inverse quantization when the adaptive color transform and the transform skip are applied. Therefore, the inverse quantization processing unit 452 inverse quantizes the quantized coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0543] For example, when the above-mentioned “method 2” is applied, the quantization parameter correction device 100 ( Figure 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the quantization parameter correction unit 451 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The quantization parameter correction unit 451 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip. The quantization parameter correction unit 451 obtains the minimum value "0" of the quantization parameter at the time of non-transform skip provided from the control unit 401 as a parameter regarding transform skip.

[0544] The quantization parameter correction unit 451 uses cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin and the value "0" to correct qPx by the method described in the second embodiment. That is, the quantization parameter correction unit 451 performs calculations as in Expression (5) or Expression (13) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 451 provides the generated second corrected quantization parameter qP" to the inverse quantization processing unit 452.

[0545] By doing so, the quantization parameter correction unit 451 can correct the quantization parameter so that when the adaptive color transform is applied, regardless of whether the transform skip is applied in the inverse quantization, the quantization step Δ<1 is avoided in the inverse quantization. Therefore, the inverse quantization processing unit 452 inverse quantizes the quantized coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0546] For example, when the above-mentioned “method 3” is applied, the quantization parameter correction device 100 ( Figure 2) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 obtains the quantization parameter qPx of the CU level corresponding to the component identifier cIdx provided from the control unit 401. In addition, the quantization parameter correction unit 451 obtains the cu_act_enabled_flag provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains the correction amount dqPx corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding adaptive color transform. The quantization parameter correction unit 451 obtains transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx provided from the control unit 401 as a parameter regarding transform skip. The quantization parameter correction unit 451 obtains the minimum value QpPrimeTsMin of the quantization parameter at the time of transform skip provided from the control unit 401 as a parameter regarding transform skip. The quantization parameter correction unit 451 obtains the correction amount QpBdOffset corresponding to the bit depth provided from the control unit 401 as a parameter regarding transform skip.

[0547] The quantization parameter correction unit 451 uses cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin and QpBdOffset to correct qPx by the method described in the second embodiment. That is, the quantization parameter correction unit 451 performs calculations as in Expression (16) or Expression (17) to generate a third corrected quantization parameter qP"'. The quantization parameter correction unit 451 provides the generated third corrected quantization parameter qP"' to the inverse quantization processing unit 452.

[0548] By doing so, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter, regardless of whether transform skipping is applied. In addition, in the case of transform skipping, the lower limit of the quantization parameter is further clipped with the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is applied. That is, the quantization parameter correction unit 451 can correct the quantization parameter so that when adaptive color transform is applied, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in inverse quantization. Therefore, the inverse quantization processing unit 452 uses the quantization parameter corrected in this manner to inverse quantize the quantization coefficient data, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0549] For example, when the above-mentioned “method 4” is applied, the quantization parameter correction device 160 ( Figure 8) is applied as the quantization parameter correction unit 451. That is, the quantization parameter correction unit 451 acquires parameters similar to those in the case of “Method 3”.

[0550] The quantization parameter correction unit 451 uses the acquired parameters (cu_act_enabled_flag, dqPx, transform_skip_flag[xTbY][yTbY][cIdx], QpPrimeTsMin, and QpBdOffset) to correct qPx by the method described in the fourth embodiment. That is, the quantization parameter correction unit 451 performs calculations as in Expression (18) or Expression (17) to generate a second corrected quantization parameter qP". The quantization parameter correction unit 451 provides the generated second corrected quantization parameter qP" to the inverse quantization processing unit 452.

[0551] That is, in the case of method 4, calculations substantially similar to those in the case of method 3 are performed, and similar correction results are obtained. Therefore, even in this case, similarly to the case of method 3, the quantization parameter correction unit 451 can correct the quantization parameter so that, in the case of applying adaptive color transform, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in inverse quantization. Therefore, the inverse quantization processing unit 452 inverse quantizes the quantized coefficient data using the quantization parameter corrected in this manner, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress a decrease in PSNR. Therefore, the image decoding device 400 can suppress a decrease in encoding efficiency.

[0552] The description of the inverse quantization and inverse transformation unit 413 described in the present embodiment can also be applied to the inverse quantization and inverse transformation unit 316 of the image encoding device 300. Note that in this case, the supply source of the encoding parameter is the control unit 301. In addition, the supply source of the quantization coefficient data is the transformation and quantization unit 313. In addition, the supply destination of the residual data D' is the calculation unit 317.

[0553] <Flow of Image Decoding Process>

[0554] Next, the flow of each process performed by the above-mentioned image decoding device 400 will be described. Fig.19 The flowchart in describes an example of the flow of image decoding processing.

[0555] When the image decoding process starts, in step S401 , the accumulation buffer 411 acquires and holds (accumulates) a bit stream (encoded data) supplied from the outside of the image decoding device 400 .

[0556] In step S402, the decoding unit 412 performs decoding processing. For example, the decoding unit 412 parses (analyzes and obtains) various encoding parameters (e.g., header information Hinfo, prediction mode information Pinfo, transformation information Tinfo, etc.) from the bit stream. The control unit 401 provides the obtained various encoding parameters to various processing units to set various encoding parameters.

[0557] Furthermore, the control unit 401 sets the processing unit based on the obtained encoding parameter. Furthermore, the decoding unit 412 decodes the bit stream according to the control of the control unit 401 to obtain the quantization coefficient data level.

[0558] In step S403, the inverse quantization and inverse transformation unit 413 performs an inverse quantization and inverse transformation process to generate residual data D'. The inverse quantization and inverse transformation process will be described below.

[0559] In step S404, the prediction unit 418 generates a predicted image. For example, the prediction unit 418 performs prediction processing by a prediction method specified by the encoding side based on the encoding parameters set in step S402, and refers to the reference image stored in the frame memory 417 to generate a predicted image P.

[0560] In step S405 , the calculation unit 414 adds the residual data D′ obtained in step S403 to the predicted image P obtained in step S404 to obtain a local decoded image Rlocal.

[0561] In step S406 , the loop filter unit 415 performs a loop filter process on the local decoded image Rlocal obtained by the process in step S405 .

[0562] In step S407, the rearrangement buffer 416 uses the local decoded image Rlocal filtered by the process in step S406 to obtain a decoded image R, and rearranges the decoded image R group from the decoding order to the reproduction order. The decoded image R group rearranged in the reproduction order is output as a moving image to the outside of the image decoding device 400.

[0563] Furthermore, in step S408 , the frame memory 417 stores at least one of the local decoded image Rlocal obtained by the process in step S405 or the local decoded image Rlocal filtered by the process in step S406 .

[0564] When the processing in step S408 ends, the image decoding processing ends.

[0565] <Flow of inverse quantization and inverse transform processing>

[0566] Next, we will refer to Fig. 20 The flowchart is described in Fig.19 An example of the process of the inverse quantization and inverse transform processing performed in step S403.

[0567] When the inverse quantization and inverse transform process is started, in step S441, the inverse quantization unit 441 uses the inverse quantization unit 441 in step S402 ( Fig.19 ) sets the transform information Tinfo etc. to inversely quantize the quantized coefficient data qcoef_x to generate orthogonal transform coefficient data coef_x. The quantized coefficient data qcoef_x corresponds to Fig.19 The quantized coefficient data level generated in the process of step S402.

[0568] In step S442, the inverse orthogonal transform unit 442 uses the Fig.19 ) performs an inverse orthogonal transform on the orthogonal transform coefficient data coef_x generated in step S441 to generate adaptive color transform coefficient data res_x'.

[0569] In step S443, the inverse adaptive color conversion unit 443 performs the inverse adaptive color conversion based on the color conversion result in step S402 ( Fig.19 ) performs inverse adaptive color transform on the adaptive color transform coefficient data res_x' generated in step S442 to generate residual data res_x (residual data D').

[0570] When the process of step S443 ends, the inverse quantization and inverse transform process ends, and the process returns to step S444. Fig.19 .

[0571] <Quantization Process>

[0572] Next, we will refer to Fig.21 The flowchart is used to describe the Fig. 20 An example of the process of inverse quantization processing performed in step S441.

[0573] When the inverse quantization process starts, in step S451 , the quantization parameter correction unit 451 performs a quantization parameter correction process, corrects the quantization parameter, and generates a corrected quantization parameter.

[0574] In step S452 , the inverse quantization processing unit 452 inversely quantizes the quantization coefficient data qcoef_x using the corrected quantization parameter generated in step S451 to generate orthogonal transform coefficient data coef_x.

[0575] When the process of step S452 ends, the inverse quantization process ends, and the process returns to Fig. 20 .

[0576] The present technology described in <1. Correction of quantization parameter>, <2. First embodiment>, <3. Second embodiment>, <4. Third embodiment>, and <5. Fourth embodiment> can be applied to such inverse quantization processing.

[0577] That is, in the case of applying the present technology to the above-mentioned inverse quantization processing, in step S451, the quantization parameter correction unit 451 corrects the quantization parameter based on the parameter about the adaptive color transform, and further corrects the quantization parameter based on the parameter about the transform skip. In step S452, the inverse quantization processing unit 452 inversely quantizes the quantized coefficient data obtained by quantizing the coefficient data of the image using the corrected quantization parameter as the quantization parameter that has been corrected.

[0578] For example, when the above-mentioned “method 1” is applied, the quantization parameter correction unit 451 applies the reference Figure 3 The quantization parameter correction processing described in the flowchart in is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 451 performs calculations as in Expression (5) or Expression (6) to generate a second corrected quantization parameter qP".

[0579] By doing so, the quantization parameter correction unit 451 can correct the quantization parameter so that the quantization step Δ<1 is avoided in the inverse quantization when the adaptive color transform and the transform skip are applied. Therefore, the inverse quantization processing unit 452 inverse quantizes the quantized coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0580] For example, when the above-mentioned “method 2” is applied, the quantization parameter correction unit 451 applies the reference Figure 5 The quantization parameter correction processing described in the flowchart in is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 451 performs calculations as in Expression (5) or Expression (13) to generate a second corrected quantization parameter qP".

[0581] By doing so, the quantization parameter correction unit 451 can correct the quantization parameter so that when the adaptive color transform is applied, regardless of whether the transform skip is applied in the inverse quantization, the quantization step Δ<1 is avoided in the inverse quantization. Therefore, the inverse quantization processing unit 452 inverse quantizes the quantized coefficient data using the quantization parameter corrected in this way, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0582] For example, when the above-mentioned “method 3” is applied, the quantization parameter correction unit 451 applies the reference Figure 7 The quantization parameter correction processing described in the flowchart in is the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 451 performs calculation as in Expression (16) or Expression (17) to generate the third corrected quantization parameter qP''.

[0583] By doing so, the value of the corrected quantization parameter falls within the range from the minimum value to the maximum value of the quantization parameter, regardless of whether transform skipping is applied. In addition, in the case of transform skipping, the lower limit of the quantization parameter is further clipped with the minimum value QpPrimeTsMin of the quantization parameter when transform skipping is applied. That is, the quantization parameter correction unit 451 can correct the quantization parameter so that when adaptive color transform is applied, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided in inverse quantization. Therefore, the inverse quantization processing unit 452 uses the quantization parameter corrected in this manner to inverse quantize the quantization coefficient data, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress the reduction of PSNR. Therefore, the image decoding device 400 can suppress the reduction of encoding efficiency.

[0584] For example, when the above-mentioned “method 4” is applied, the quantization parameter correction unit 451 applies the reference Fig. 9 The quantization parameter correction processing described in the flowchart in is used as the quantization parameter correction processing in step S351. That is, the quantization parameter correction unit 451 performs calculations as in Expression (18) or Expression (17) to generate a second corrected quantization parameter qP".

[0585] That is, in the case of method 4, calculations substantially similar to those in the case of method 3 are performed, and similar correction results are obtained. Therefore, even in this case, similarly to the case of method 3, the quantization parameter can be corrected so that, in the case of applying adaptive color transform, regardless of whether transform skipping is applied, the quantization step Δ<1 is avoided. Therefore, the inverse quantization processing unit 452 inversely quantizes the quantized coefficient data using the quantization parameter corrected in this manner, so that the inverse quantization unit 441 (inverse quantization inverse transform unit 413) can suppress a decrease in PSNR. Therefore, the image decoding device 400 can suppress a decrease in encoding efficiency.

[0586] <Decoding Unit>

[0587] Note that Fig.19In step S402, the decoding unit 412 decodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, and transform information Tinfo). Therefore, in the case of applying the present technology, the decoding unit 412 decodes the above-mentioned various parameters to be applied to the correction of the quantization parameter. For example, in the case of applying "Method 1", the decoding unit 412 decodes parameters such as the following: the quantization parameter qPx of the CU level corresponding to the component identifier cIdx, cu_act_enabled_flag, the correction amount dqPx corresponding to the component identifier cIdx, transform_skip_flag[xTbY][yTbY][cIdx] corresponding to the component identifier cIdx, and the minimum value QpPrimeTsMin of the quantization parameter when the transform is skipped. In addition, in the case of applying "Method 2", in addition to the parameters to be encoded in the case of applying "Method 1", the encoding unit 314 also decodes the minimum value "0" of the quantization parameter when the transform is skipped. Furthermore, in the case where “Method 3” or “Method 4” is applied, the encoding unit 314 decodes the correction amount QpBdOffset corresponding to the bit depth in addition to the parameters to be encoded in the case where “Method 1” is applied.

[0588] By doing so, the image decoding device 400 can obtain the information notified by the signal. Therefore, the image decoding device 400 can suppress the reduction of PSNR. Therefore, the image decoding device 400 can achieve the suppression of the reduction of encoding efficiency.

[0589] In the inverse quantization and inverse transform process described in this embodiment ( Fig.19 , Fig. 20 The description of step S403 in FIG. 1 can also be applied to the image encoding process ( Fig.13 ) in the inverse quantization and inverse transformation process (step S307).

[0590] <8. Additional Notes>

[0591] <Computer>

[0592] The above series of processes can be performed by hardware or by software. In the case where a series of processes are performed by software, a program configuring the software is installed in a computer. Here, the computer includes a computer incorporated into dedicated hardware, a computer capable of performing various functions by installing various programs (e.g., a general-purpose personal computer), etc.

[0593] Fig. 22 : is a block diagram showing a configuration example of hardware of a computer that executes the above-described series of processes by a program.

[0594] exist Fig. 22In the computer 800 shown in FIG. 8 , a central processing unit (CPU) 801 , a read only memory (ROM) 802 , and a random access memory (RAM) 803 are connected to each other via a bus 804 .

[0595] An input / output interface 810 is also connected to the bus 804. An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.

[0596] The input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, etc. The output unit 812 includes, for example, a display, a speaker, an output terminal, etc. The storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, etc. The communication unit 814 includes, 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.

[0597] In the computer configured as described above, 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, for example, and executes the program, so that the above-mentioned series of processing is performed. In addition, the RAM 803 appropriately stores data and the like required for the CPU 801 to perform various types of processing.

[0598] For example, the program to be executed by the computer may be recorded and applied on the removable medium 821 or the like as a package medium and may be provided. In this case, by attaching the removable medium 821 to the drive 815 , the program may be installed to the storage unit 813 via the input / output interface 810 .

[0599] In addition, the program may be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In this case, the program may be received by the communication unit 814 and installed in the storage unit 813.

[0600] In addition to the above-described method, the program may be installed in the ROM 802 or the storage unit 813 in advance.

[0601] <Target audience of this technology>

[0602] The present technology can be applied to any image encoding method and decoding method. That is, the specifications of various types of processing such as transformation (inverse transformation), quantization (inverse quantization), encoding (decoding) and prediction regarding image encoding / decoding are arbitrary and not limited to the above examples, as long as they do not conflict with the above-mentioned present technology. In addition, part of the processing can be omitted as long as it does not conflict with the above-mentioned present technology.

[0603] In addition, the present technology can be applied to a multi-view image encoding system that encodes a multi-view image including an image of multiple viewpoints (views). In addition, the present technology can be applied to a multi-view image decoding system that decodes encoded data of a multi-view image including an image of multiple viewpoints (views). In this case, the present technology is simply applied to encoding and decoding of each viewpoint (view).

[0604] In addition, the present technology can be applied to a layered image encoding (scalable encoding) system that encodes a layered image of multiple layers (layers) to have a scalability function for a predetermined parameter. In addition, the present technology can be applied to a layered image decoding (scalable decoding) system that decodes the encoded data of a layered image of multiple layers (layers) to have a scalability function for a predetermined parameter. In this case, the present technology is simply applied to encoding / decoding of each layer (layer).

[0605] In addition, although 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 encoding device 300 and the image decoding device 400 have been described as application examples of the present technology, the present technology can be applied to any configuration.

[0606] The present technology can be applied, for example, to various electronic devices, such as transmitters and receivers (e.g., television receivers and mobile phones) in satellite broadcasting, cable broadcasting such as cable television, distribution on the Internet, and distribution to terminals via cellular communications, or devices that record images on media such as optical disks, magnetic disks, and flash memories and reproduce images from these storage media (e.g., hard disk recorders and camera devices).

[0607] In addition, the present technology can be implemented as a configuration of a part of an apparatus, for example, as a processor of a system large scale integration (LSI) or the like (e.g., a video processor), a module using multiple processors or the like (e.g., a video module), a unit using multiple modules or the like (e.g., a video unit), or a device in which other functions are added to the unit (e.g., a video device) (i.e., a configuration of a part of an apparatus).

[0608] In addition, for example, the present technology can also be applied to a network system including multiple devices. For example, the present technology can be implemented as cloud computing shared and collaboratively processed by multiple devices via a network. For example, the present technology can be implemented in a cloud service that provides services related to images (moving images) to any terminal such as a computer, an audio-visual (AV) device, a portable information processing terminal, or an Internet of Things (IoT) device.

[0609] Note that in this specification, the term "system" means a collection of multiple configuration elements (devices, modules (components), etc.), and it does not matter whether all the configuration elements are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network and one device housing multiple modules in one housing are both systems.

[0610] <Fields and applications of this technology>

[0611] For example, systems, devices, processing units, etc. to which the present technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, animal husbandry, mining, beauty, factories, household appliances, weather and nature monitoring. In addition, the use in any field is also arbitrary.

[0612] For example, the present technology can be applied to systems and devices provided for providing content for enjoyment, etc. Furthermore, for example, the present technology can also be applied to systems and devices for transportation such as traffic condition monitoring and automatic driving control. Furthermore, for example, the present technology can also be applied to systems and devices provided for safety. Furthermore, for example, the present technology can also be applied to systems and devices provided for automatic control of machines, etc. Furthermore, for example, the present technology can also be applied to systems and devices provided for agriculture or animal husbandry. Furthermore, the present technology can also be applied to systems and devices for monitoring natural conditions such as volcanoes, forests and oceans, wild animals, etc. Furthermore, for example, the present technology can also be applied to systems and devices provided for sports.

[0613] <Others>

[0614] Note that the "flag" in this specification is information for identifying multiple states, and includes not only information for identifying the two states of true (1) and false (0), but also information that can identify three or more states. Therefore, the value that the "flag" can take can be, for example, a binary value 1 / 0 or can be a ternary value or more. That is, the number of bits that constitute the "flag" is arbitrary and can be 1 bit or more. In addition, it is assumed that the identification information (including the flag) is not only in the form of including the identification information in the bit stream, but also in the form of including the difference information between the identification information and the specific reference information in the bit stream. Therefore, in this specification, the "flag" and "identification information" include not only the information itself, but also the difference information relative to the reference information.

[0615] In addition, various types of information (metadata, etc.) about the coded data (bitstream) can be sent or recorded in any form, as long as the various types of information are associated with the coded data. Here, the term "association" means that other data can be used (linked) when processing one data, for example. That is, data associated with each other can be collected as one data or can be separate data. For example, information associated with the coded data (image) can be sent on a transmission path different from the transmission path of the coded data (image). In addition, for example, information associated with the coded data (image) can be recorded on a recording medium different from the coded data (image) (or another recording area of ​​the same recording medium). Note that the "association" can be a part of the data, not the entire data. For example, an image and information corresponding to the image can be associated with each other in arbitrary units such as multiple frames, one frame, or a part of a frame.

[0616] Note that in this specification, terms such as "combine", "multiplex", "add", "integrate", "include", "store", and "insert" mean putting multiple things into one thing, such as putting encoded data and metadata into one data, and mean a method of the above-mentioned "association".

[0617] Furthermore, the embodiments of the present technology are not limited to the above-described embodiments, and various modifications may be made without departing from the gist of the present technology.

[0618] For example, a configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, a configuration described as a plurality of devices (or processing units) may be configured together as one device (or processing unit). Furthermore, a configuration other than the above configuration may be added to the configuration of each device (or each processing unit). Furthermore, a portion of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or another processing unit), as long as the configuration and operation of the system as a whole are substantially the same.

[0619] In addition, for example, the above-mentioned program can be executed in an arbitrary device. In this case, the device only needs to have necessary functions (functional blocks, etc.) and obtain necessary information.

[0620] In addition, for example, each step of a flowchart may be performed by one device, or may be shared and performed by a plurality of devices. In addition, in the case where a plurality of processes are included in one step, the plurality of processes may be performed by one device, or may be shared and performed by a plurality of devices. In other words, the plurality of processes included in one step may be performed as processes of a plurality of steps. Conversely, the processes described as a plurality of steps may be performed collectively as one step.

[0621] In addition, the program executed by the computer may have the following features. For example, the processing of the steps of the description program can be performed in a time series in the order described in this specification. In addition, the processing of the steps of the description program can be performed in parallel. In addition, the processing of the steps of the description program can be performed separately at necessary timings such as when calling. That is, as long as no contradiction occurs, the processing of each step can be performed in an order different from the above order. In addition, the processing of the steps of the description program can be performed in parallel with the processing of another program. In addition, the processing of the steps of the description program can be performed in combination with the processing of another program.

[0622] In addition, for example, multiple technologies related to the present technology can be independently implemented as a single entity as long as there is no contradiction. Of course, any number of the present technologies can be implemented together. For example, part or all of the present technology described in any one of the embodiments can be implemented in combination with part or all of the present technology described in another embodiment. In addition, part or all of any of the above-mentioned present technologies can be implemented in combination with another technology not described above.

[0623] Note that the present technology may also have the following configurations.

[0624] (1) An image processing device comprising:

[0625] a quantization parameter correction unit configured to correct the quantization parameter based on a parameter regarding an adaptive color transform, and further correct the quantization parameter based on a parameter regarding a transform skip; and

[0626] A quantization unit configured to quantize coefficient data of an image to be encoded by using a corrected quantization parameter, the corrected quantization parameter being the quantization parameter that has been corrected by the quantization parameter correction unit.

[0627] (2) The image processing device according to (1), wherein:

[0628] In a case where the adaptive color transform is applied, the quantization parameter correction unit corrects the quantization parameter by a correction amount corresponding to a component to be processed.

[0629] (3) The image processing device according to (2), wherein:

[0630] When the adaptive color transform is not applied, the correction amount is "0".

[0631] (4) The image processing device according to any one of (1) to (3), wherein:

[0632] In a case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter in a case where the transform skip is applied.

[0633] (5) The image processing device according to (4), wherein:

[0634] In a case where the transform skip is not applied, the quantization parameter correction unit omits clipping of a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform.

[0635] (6) The image processing device according to any one of (1) to (5), wherein:

[0636] In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter.

[0637] (7) The image processing device according to (6), wherein:

[0638] The minimum value of the quantization parameter is "0".

[0639] (8) The image processing device according to any one of (1) to (7), wherein:

[0640] In the case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter for the adaptive color transform with a preset minimum value of the quantization parameter in the case where the transform skip is applied, and clips an upper limit of the quantization parameter that has been corrected based on the parameter for the adaptive color transform with a preset sum of a maximum value of the quantization parameter and a correction amount based on a bit depth.

[0641] (9) The image processing device according to (8), wherein:

[0642] In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter for adaptive color transform with a preset minimum value of the quantization parameter, and clips an upper limit of the quantization parameter that has been corrected based on the parameter for adaptive color transform with a preset sum of a maximum value of the quantization parameter and a correction amount based on a bit depth.

[0643] (10) An image processing method, comprising:

[0644] Correcting a quantization parameter based on parameters regarding an adaptive color transform, and further correcting the quantization parameter based on parameters regarding a transform skip; and

[0645] The coefficient data of the image to be encoded is quantized by using a correction quantization parameter, which is the quantization parameter that has been corrected.

[0646] (11) An image processing device comprising:

[0647] a quantization parameter correction unit configured to correct the quantization parameter based on a parameter regarding an adaptive color transform, and further correct the quantization parameter based on a parameter regarding a transform skip; and

[0648] An inverse quantization unit is configured to inversely quantize quantized coefficient data obtained by quantizing coefficient data of an image by using a corrected quantization parameter, the corrected quantization parameter being the quantization parameter that has been corrected by the quantization parameter correction unit.

[0649] (12) The image processing device according to (11), wherein:

[0650] In a case where the adaptive color transform is applied, the quantization parameter correction unit corrects the quantization parameter by a correction amount corresponding to a component to be processed.

[0651] (13) The image processing device according to (12), wherein:

[0652] When the adaptive color transform is not applied, the correction amount is "0".

[0653] (14) The image processing device according to any one of (11) to (13), wherein:

[0654] In a case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter in a case where the transform skip is applied.

[0655] (15) The image processing device according to (14), wherein:

[0656] In a case where the transform skip is not applied, the quantization parameter correction unit omits clipping of a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform.

[0657] (16) The image processing device according to any one of (11) to (15), wherein:

[0658] In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter.

[0659] (17) The image processing device according to (16), wherein:

[0660] The minimum value of the quantization parameter is "0".

[0661] (18) The image processing device according to any one of (11) to (17), wherein:

[0662] In the case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter for the adaptive color transform with a preset minimum value of the quantization parameter in the case where the transform skip is applied, and clips an upper limit of the quantization parameter that has been corrected based on the parameter for the adaptive color transform with a preset sum of a maximum value of the quantization parameter and a correction amount based on a bit depth.

[0663] (19) The image processing device according to (18), wherein:

[0664] In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter for adaptive color transform with a preset minimum value of the quantization parameter, and clips an upper limit of the quantization parameter that has been corrected based on the parameter for adaptive color transform with a preset sum of a maximum value of the quantization parameter and a correction amount based on a bit depth.

[0665] (20) An image processing method, comprising:

[0666] Correcting a quantization parameter based on parameters regarding an adaptive color transform, and further correcting the quantization parameter based on parameters regarding a transform skip; and

[0667] The quantized coefficient data obtained by quantizing the coefficient data of the image is inversely quantized by using a corrected quantization parameter, which is a quantization parameter that has been corrected.

[0668] Reference numerals list

[0669] 100 Quantization parameter correction device

[0670] 101 First calibration unit

[0671] 102 Second calibration unit

[0672] 120 Quantization parameter correction device

[0673] 121 First calibration unit

[0674] 122 Second calibration unit

[0675] 140 Quantization parameter correction device

[0676] 141 First calibration unit

[0677] 142 Second calibration unit

[0678] 143 Third calibration unit

[0679] 160 Quantization parameter correction device

[0680] 161 First calibration unit

[0681] 162 Second calibration unit

[0682] 300 Image encoding device

[0683] 301 Control Unit

[0684] 313 Transform Quantization Unit

[0685] 314 coding units

[0686] 341 Adaptive Color Transformation Unit

[0687] 342 Orthogonal Transformation Unit

[0688] 343 Quantitative Unit

[0689] 351 Quantization parameter correction unit

[0690] 352 Quantization Processing Unit

[0691] 400 Image decoding device

[0692] 401 Control Unit

[0693] 412 Decoding Unit

[0694] 413 Inverse quantization and inverse transform unit

[0695] 441 Inverse Quantization Unit

[0696] 442 Inverse Orthogonal Transformation Unit

[0697] 443 Inverse Adaptive Color Transformation Unit

[0698] 451 Quantization parameter correction unit

[0699] 452 Inverse Quantization Processing Unit

Claims

1. An image processing device, comprising: a quantization parameter correction unit configured to correct the quantization parameter based on a parameter regarding an adaptive color transform, and after correcting the quantization parameter based on the parameter regarding the adaptive color transform, further correct the quantization parameter based on a parameter regarding transform skipping; as well as A quantization unit configured to quantize coefficient data of an image to be encoded by using a corrected quantization parameter, the corrected quantization parameter being the quantization parameter that has been corrected by the quantization parameter correction unit.

2. The image processing device according to claim 1, wherein: In a case where the adaptive color transform is applied, the quantization parameter correction unit corrects the quantization parameter by a correction amount corresponding to a component to be processed.

3. The image processing device according to claim 2, wherein: When the adaptive color transform is not applied, the correction amount is "0".

4. The image processing device according to claim 1, wherein: In a case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter in a case where the transform skip is applied.

5. The image processing device according to claim 4, wherein: In a case where the transform skip is not applied, the quantization parameter correction unit omits clipping of a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform.

6. The image processing device according to claim 1, wherein: In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter.

7. The image processing device according to claim 6, wherein: The minimum value of the quantization parameter is "0".

8. An image processing method, comprising: Correcting a quantization parameter based on a parameter regarding an adaptive color transform, and after correcting the quantization parameter based on the parameter regarding the adaptive color transform, further correcting the quantization parameter based on a parameter regarding transform skipping; as well as The coefficient data of the image to be encoded is quantized by using a correction quantization parameter, which is the quantization parameter that has been corrected.

9. An image processing device, comprising: a quantization parameter correction unit configured to correct the quantization parameter based on a parameter regarding an adaptive color transform, and after correcting the quantization parameter based on the parameter regarding the adaptive color transform, further correct the quantization parameter based on a parameter regarding transform skipping; as well as An inverse quantization unit is configured to inversely quantize quantized coefficient data obtained by quantizing coefficient data of an image by using a corrected quantization parameter, the corrected quantization parameter being the quantization parameter that has been corrected by the quantization parameter correction unit.

10. The image processing device according to claim 9, wherein: In a case where the adaptive color transform is applied, the quantization parameter correction unit corrects the quantization parameter by a correction amount corresponding to a component to be processed.

11. The image processing apparatus according to claim 10, wherein: When the adaptive color transform is not applied, the correction amount is "0".

12. The image processing apparatus according to claim 9, wherein: In a case where the transform skip is applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter in a case where the transform skip is applied.

13. The image processing apparatus according to claim 12, wherein: In a case where the transform skip is not applied, the quantization parameter correction unit omits clipping of a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform.

14. The image processing apparatus according to claim 9, wherein: In a case where the transform skip is not applied, the quantization parameter correction unit clips a lower limit of the quantization parameter that has been corrected based on the parameter regarding the adaptive color transform with a preset minimum value of the quantization parameter.

15. The image processing apparatus according to claim 14, wherein: The minimum value of the quantization parameter is "0".

16. An image processing method, comprising: Correcting a quantization parameter based on a parameter regarding an adaptive color transform, and after correcting the quantization parameter based on the parameter regarding the adaptive color transform, further correcting the quantization parameter based on a parameter regarding transform skipping; as well as The quantized coefficient data obtained by quantizing the coefficient data of the image is inversely quantized by using a corrected quantization parameter, which is a quantization parameter that has been corrected.