Abstract: The present invention relates to an image processing device and method that allow a decrease in encoding efficiency to be suppressed. Linear prediction is used to predict chrominance component pixel values from pixel values of a luminance component reference image, in which pixel locations have been modified using a filter that was selected on the basis of information relating to chrominance component pixel locations and information relating to color format. A chrominance component prediction image is generated, and this generated prediction image is used to decode a chrominance component of encoded data in which an image has been encoded. The present invention can, for example, be applied to an image processing device, an image encoding device, or an image decoding device.
Technical field
[0001]The present disclosure relates to an image processing device and method, and more particularly to an image processing device and method capable of suppressing a reduction in encoding efficiency.
Background technology
[0002]Conventionally, there has been a technique called inter-component linear prediction in order to improve the prediction performance of color difference intra prediction (see, for example, Non-Patent Document 1). In addition, in the inter-component linear prediction, in order to improve the prediction performance, a technique called multi-filter linear model prediction in which a down-sample filter used to generate a luminance component to be referenced is selected from four down-sample filters is proposed. Was there.
Advanced technical literature
Non-patent literature
[0003]
非特許文献1 : Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce,"Algorithm description of Joint Exploration Test Model 6", JVET-F1001,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 6th Meeting: Hobart, AU, 2017/6/30
Summary of the invention
Problems to be Solved by the Invention
[0004]
However, in the case of the method described in Non-Patent Document 1, the application of the multi-filter mode is premised on the color difference format being 420. Therefore, the multi-filter mode described in Non-Patent Document 1 cannot be applied to a color difference format other than the 420 format such as the 422 format. Therefore, if the color difference format is other than the 420 format, the coding efficiency may be reduced.
[0005]
The present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in encoding efficiency.
Means for solving the problem
[0006]
The image processing device according to the one aspect of the present technology, from the pixel value of the reference image of the luminance component whose pixel position is changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format, A prediction unit that predicts a pixel value of a color difference component by linear prediction and generates a prediction image of the color difference component, and a color difference component of encoded data in which an image is encoded using the prediction image generated by the prediction unit And an image processing apparatus including a decoding unit that decodes.
[0007]
The image processing method according to one aspect of the present technology is based on the pixel value of the reference image of the luminance component whose pixel position is changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format, By an image processing method of predicting a pixel value of a color difference component by linear prediction, generating a predicted image of the color difference component, and using the generated predicted image, decoding the color difference component of encoded data in which the image is encoded. is there.
[0008]
An image processing device according to another aspect of the present technology uses a pixel value of a reference image of a luminance component whose pixel position is changed using a filter selected based on information about a pixel position of a color difference component and information about a color format. A prediction unit that predicts a pixel value of a color difference component by linear prediction and generates a prediction image of the color difference component; and an encoding unit that encodes the color difference component of the image using the prediction image generated by the prediction unit. And an image processing apparatus including.
[0009]
An image processing method according to another aspect of the present technology is based on a pixel value of a reference image of a luminance component whose pixel position is changed using a filter selected based on information about a pixel position of a color difference component and information about a color format. An image processing method of predicting a pixel value of a color difference component by linear prediction, generating a prediction image of the color difference component, and encoding the color difference component of the image using the generated prediction image.
[0010]
In an image processing device and method according to one aspect of the present technology, a pixel of a reference image of a luminance component whose pixel position is changed using a filter selected based on information about a pixel position of a color difference component and information about a color format. From the value, the pixel value of the color difference component is predicted by linear prediction, the prediction image of the color difference component is generated, and the color difference component of the encoded data in which the image is encoded is decoded using the generated prediction image. ..
[0011]
In an image processing device and method according to another aspect of the present technology, a reference image of a luminance component whose pixel position is changed by using a filter selected based on information about a pixel position of a color difference component and information about a color format. The pixel value of the color difference component is predicted from the pixel value by linear prediction, the predicted image of the color difference component is generated, and the color difference component of the image is encoded using the generated predicted image.
The invention's effect
[0012]
According to the present disclosure, images can be processed. In particular, it is possible to suppress a reduction in coding efficiency.
Brief description of the drawings
[0013]
FIG. 1 is a diagram showing an example of a state of inter-component linear prediction.
FIG. 2 is a diagram showing an example of processing target pixels and reference pixels.
FIG. 3 is a diagram showing an example of how multi-class linear prediction is performed.
FIG. 4 is a diagram showing pixel positions of a luminance component of multi-filter linear model prediction.
FIG. 5 is a diagram showing an example of syntax regarding inter-component linear prediction.
FIG. 6 is a diagram showing an example of syntax regarding inter-component linear prediction.
FIG. 7 is a flowchart illustrating an example of the flow of inter-component linear prediction processing.
FIG. 8 is a diagram for explaining a problem of inter-component linear prediction in the conventional technique.
FIG. 9 is an explanatory diagram for explaining an outline of recursive block division for a CU.
FIG. 10 is an explanatory diagram for explaining PU setting in the CU shown in FIG. 9.
FIG. 11 is an explanatory diagram for explaining TU setting in the CU shown in FIG. 9.
FIG. 12 is an explanatory diagram for explaining a scanning order of CU/PU.
FIG. 13 is a diagram illustrating the shapes of CU, PU, and TU.
FIG. 14 is a diagram showing an example of semantics regarding blocks.
FIG. 15 is a block diagram illustrating a main configuration example of an image decoding device.
FIG. 16 is a diagram showing an example of syntax of color difference sample position information.
FIG. 17 is a flowchart illustrating an example of the flow of image decoding processing.
FIG. 18 is a flowchart illustrating an example of the flow of decoding processing.
FIG. 19 is a flowchart illustrating an example of the flow of a decoding process, following FIG.
FIG. 20 is a diagram showing an example of syntax related to inter-component linear prediction.
FIG. 21 is a diagram showing an example of a colocated block of a luminance component.
FIG. 22 is a diagram showing an example of how Angular prediction is performed.
FIG. 23 is a diagram for explaining setting of a color difference sample position type.
FIG. 24 is a diagram for explaining setting of a color difference intra prediction mode.
FIG. 25 is a diagram for explaining setting of a color difference intra prediction mode.
FIG. 26 is a diagram showing an example of syntax of color difference sample position information.
FIG. 27 is a diagram for explaining setting of a color difference sample position type.
FIG. 28 is a diagram showing an example of syntax related to inter-component linear prediction.
FIG. 29 is a block diagram illustrating a main configuration example of a prediction unit.
FIG. 30 is a block diagram showing a main configuration example of an intra prediction unit.
FIG. 31 is a block diagram showing a main configuration example of a CC prediction unit.
FIG. 32 is a block diagram showing a main configuration example of a Luma/Chroma prediction unit.
FIG. 33 is a flowchart illustrating an example of the flow of prediction processing.
FIG. 34 is a flowchart illustrating an example of the flow of intra prediction processing.
FIG. 35 is a flowchart illustrating an example of the flow of inter-component linear prediction processing.
FIG. 36 is a flowchart illustrating an example of the flow of a prediction process between luminance and color differences.
FIG. 37 is a diagram for explaining an example of how downsample filters are selected.
FIG. 38 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 39 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 40 is a diagram showing an example of reference pixel positions of a down-sample filter.
FIG. 41 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 42 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 43 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 44 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 45 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 46 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 47 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 48 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 49 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 50 is a diagram showing an example of reference pixel positions of a down sample filter.
FIG. 51 is a diagram showing an example of filter coefficients of a down sample filter.
FIG. 52 is a block diagram showing a main configuration example of a Cb/Cr residual prediction unit.
FIG. 53 is a flowchart illustrating an example of the flow of inter-color difference residual prediction processing.
FIG. 54 is a flowchart illustrating an example of the flow of CU level decoding processing.
[Fig. 55] Fig. 55 is a block diagram illustrating a main configuration example of an image encoding device.
FIG. 56 is a flowchart illustrating an example of the flow of image coding processing.
FIG. 57 is a flowchart illustrating an example of the flow of encoding processing.
[Fig. 58] Fig. 58 is a flowchart for explaining an example of the flow of an encoding process, following Fig. 57.
FIG. 59 is a block diagram illustrating a main configuration example of a prediction unit.
FIG. 60 is a flowchart illustrating an example of the flow of prediction processing.
FIG. 61 is a flowchart illustrating an example of the flow of intra prediction processing.
FIG. 62 is a flowchart illustrating an example of the flow of CU level encoding processing.
FIG. 63 is a flowchart illustrating an example of the flow of CU level encoding processing, following FIG. 62.
FIG. 64 is a flowchart illustrating an example of the flow of decoding processing.
FIG. 65 is a flowchart for explaining an example of the flow of the decoding process, following FIG. 64.
FIG. 66 is a diagram showing an example of syntax regarding inter-component linear prediction.
FIG. 67 is a block diagram showing a main configuration example of a CC prediction unit.
FIG. 68 is a flowchart illustrating an example of the flow of inter-component linear prediction processing.
FIG. 69 is a flowchart illustrating an example of the flow of CU level decoding processing.
FIG. 70 is a flowchart illustrating an example of the flow of encoding processing.
71 is a flowchart following an example of FIG. 70 for explaining an example of the flow of the encoding process.
FIG. 72 is a flowchart illustrating an example of the flow of CU level encoding processing.
FIG. 73 is a flowchart following an example of the flow of the CU level encoding process, following FIG. 72.
FIG. 74 is a block diagram illustrating a main configuration example of a computer.
FIG. 75 is a block diagram showing an example of a schematic configuration of a television device.
FIG. 76 is a block diagram showing an example of a schematic configuration of a mobile phone.
FIG. 77 is a block diagram showing an example of a schematic configuration of a recording/reproducing device.
FIG. 78 is a block diagram showing an example of a schematic configuration of an imaging device.
FIG. 79 is a block diagram showing an example of a schematic configuration of a video set.
FIG. 80 is a block diagram showing an example of a schematic configuration of a video processor.
FIG. 81 is a block diagram showing another example of a schematic configuration of a video processor.
FIG. 82 is a block diagram showing an example of a schematic configuration of a network system.
MODE FOR CARRYING OUT THE INVENTION
[0014]
Hereinafter, modes for implementing the present disclosure (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. Inter-component linear prediction
2. First Embodiment (image decoding apparatus, component predictive)
3. Second Embodiment (image coding apparatus, component prediction)
4. Third Embodiment (image decoding apparatus, execution control of color actively residual prediction)
5. Fourth Embodiment (image coding apparatus, the execution control of color actively residual prediction)
6. Summary
7. Other
[0015]
<1. Inter-Component Linear Prediction>
Non-Patent Document 1 discloses a technique called inter-component linear prediction (CCLMP) in order to improve the prediction performance of intra prediction of color difference. There is. Note that this inter-component linear prediction (CCLMP) is also referred to as inter-component prediction (CCP (Cross Component Prediction)). In the following, the brightness signal and the brightness component are also referred to as the brightness component. Further, the color difference signal and the color difference component are also referred to as a color difference component.
[0016]
As shown in FIG. 1, CCLMP (CCP) is assumed to have a linear relationship between components, and the pixel value of the prediction target block on the component A (color difference component C) is calculated on the component A (color difference component C). Of the prediction target block and the pixel value of the component B (luminance component Y) at the collocated position is a technique of intra prediction that is predicted by, for example, a linear model of the following Expression (1).
[0017]
・・・(1)
[0018]
In Expression (1), the parameters α and β of the linear model are the adjacent decoded pixel group of the prediction target block of the component A (color difference component C) shown in A of FIG. 2 and its collocated position shown in B of FIG. Is derived by linear regression (or least squares method) from the decoded pixel group of the component B (in the example shown in FIG. 2B, the luminance component Y). For example, α is derived by the following equation (2), and β is derived by the following equation (3). Note that, hereinafter, the prediction destination component is also referred to as a prediction target component, and the component serving as a reference source during prediction is also referred to as a reference component.
[0019]
・・・(2)
・・・(3)
[0020]
In Expressions (2) and (3), N is the number of samples of the adjacent decoded pixel group of the color difference component C (or the decoded pixel group of the reduced luminance component Y corresponding to the color difference component C (reduced luminance decoded pixel group)). Represents the number of samples).
[0021]
C(n) represents the nth sample of the adjacent decoded pixel group of the color difference component C, and L(n) represents the nth sample of the reduced luminance decoded pixel group corresponding to the color difference component C.
[0022]
When the color difference format (also called the color difference array type ChromaArrayType) is 420 format, the luminance component signal Rec L '[x,y of the reduced resolution corresponding to the color difference component signal located at the (x,y) position (located at the colocated position) Rec L '[x,y ] Is derived by applying a down-sample filter shown in the following Expression (4), with the decoded pixel group Rec L [2x, 2y] of the luminance component in the original resolution as the center.
[0023]
・・・(4)
[0024]
In
order to further improve the prediction accuracy of CCLMP, the reference component (luminance component) referred to in the prediction of the prediction target component (color difference component) is divided into N classes (N =2), and the technology called multi-class linear prediction (MCLMP (Multi-Class Linear Model Prediction) or MMLMP (Multi Model Linear Model Prediction)) that linearly predicts the prediction target component from the reference component for each class is there. For example, an example of the linear model equation when N=2 is represented by the following equation (5).
[0025]
・・・(5)
[0026]
If the pixel value of the (reduced) decoded pixel group Rec L '[x,y] of the luminance component is less than or equal to a threshold Thr, it is classified as class 1, and if the pixel value is larger than the threshold Thr, it is classified as class 2. The prediction signal Pred C [x, y] of the color difference component is derived by the linear prediction formula corresponding to each class . The threshold Thr is, for example, the average value of the reduced luminance decoding pixel group Rec L '[x, y].
[0027]
In
order to improve the prediction performance of CCLMP when the color difference format (color difference array type ChromaArrayType) is 420 format, the luminance signal Rec L that refers to the color difference signal at the (x,y) position during linear prediction is used. The downsample filter used to generate'[x,y] is switched to four downsample filters shown in the following equations (6) to (9) in addition to the above equation (4), and CCLMP is set. A technique called multi-filter linear model prediction (MFLMP) has been proposed.
[0028]
In the down-sample filter corresponding to the equations (4) and (6) to (9), the pixel positions (sample positions) of the luminance component are as illustrated in A to E of FIG. 4, respectively. That is, A in FIG. 4 corresponds to formula (4), B in FIG. 4 corresponds to formula (6), C in FIG. 4 corresponds to formula (7), and D in FIG. 4 corresponds to formula (8). 4 corresponds to Eq. (9). In FIG. 4, circles indicate pixel positions of the luminance component, and stars indicate pixel positions of the luminance component used in the downsampling filter.
[0029]
・・・(6)
・・・(7)
・・・(8)
・・・(9)
[0030]
CCLMP performs linear prediction of prediction residual between two color difference components (linear prediction of prediction residual of Cb component to Cr component (U component to V component)). There is a technique called Cb-to-Cr Residual Prediction.
[0031]
A linear model formula representing CCLMP including residual prediction between Cb/Cr is represented by the following formula (10).
[0032]
・・・(10)
[0033]
In Expression (10), pred Cr [x, y] represents a Cr prediction image predicted from the luminance component by CCLMP represented by Expression (1) or Expression (6). pred Cr * [x,y] is the prediction residual resi obtained by dequantizing and inverse transforming the Cb component transform coefficient coef Cb from the Cr predictive image pred Cr [x,y] obtained from the luminance component. Cb [x,y] is multiplied by α·resi Cb [x,y] multiplied by a weighting factor α to represent a corrected Cr predicted image, that is, a corrected Cr predicted image.
[0034]
In Expression (10), the parameter α of the linear model is derived from the adjacent decoded pixel group of the prediction target block of the Cr component and the decoded pixel group of the Cb component at the collocated position by linear regression (or least squares method). It For example, α is determined by the equation (11).
[0035]
・・・(11)
[0036]
In Expression (11), N represents the number of samples of the adjacent decoded pixel group of the Cr component. Cr (n) represents the nth sample of the adjacent decoded pixel group of the Cr component, and Cb (n) is n of the adjacent decoded pixel group of the Cb component located at the collocated position of the adjacent decoded pixel group of the Cr component. Represents the th sample. Here, λ in Expression (11) is a value of Σ(Cb(n)·Cb(n))>>9.
[0037]
An example of a syntax table for CCLMP and its extended modes (multiclass mode (MCLMP), multifilter mode (MFLMP)) in Non-Patent Document 1 is shown in FIG. As shown in FIG.
[0038]
The main syntax related to inter-component linear prediction in FIGS. 5 and 6 is as follows.
[0039]
cclmp_enabled_flag: Inter-component linear prediction enabled flag. For example, “0” indicates that the use is impossible, and “1” indicates that the use is possible.
cclmp_flag: Inter-component linear prediction flag. For example, “0” indicates that inter-component linear prediction is not used, and “1” indicates that inter-component linear prediction is used.
intra_chroma_pred_mode: An identifier for identifying the mode number in the color difference intra prediction mode candidate list intraPredCandListC.
mclmp_flag: Multiclass mode flag (MCLMP flag). For example, "0" indicates the one-class mode (single-class mode), and "1" indicates the two-class mode (multi-class mode).
mflmp_flag: Multi-filter mode flag (MFLMP flag). For example, "0" indicates that the MFLMP mode is off, and "1" indicates that the downsample filter is changed.
mflmp_idx: Multi-filter mode identifier (MFLMP identifier). This is control information that specifies which down-sample filter to use.
LM_CHROMA_IDX: a mode number representing CCLMP prediction when cclmp_flag==1, mclmp_flag==0, and mflm_flag==0.
MMLM_CHROMA_IDX: This is a mode number representing CCLMP prediction when cclmp_flag==1 and mclmp_flag==1.
LM_CHROMA_FX_IDX: cclmp_flag==1, mclmp_flag==0, mflm_flag==1, and mflm_idx==(X-1) (X=1..4) is a mode number representing CCLMP prediction.
[0040]
The multi-filter mode described in Non-Patent Document 1 has the following characteristics, for example.
[0041]
For example, in Non-Patent Document 1, the application of the multi-filter mode is based on the premise that the color difference format is 420 format, and other color difference formats (for example, 422 format) are not considered. Therefore, it was difficult to apply the multi-filter mode described in Non-Patent Document 1 to the 422 format. Therefore, the encoding efficiency may be reduced.
[0042]
If the color difference format is 444, the resolutions of the luminance component and the color difference component are the same. Therefore, it is not necessary to generate the luminance component signal RecL'[x,y] to be referred when linearly predicting the color difference component signal by the down-sample filter, and the decoded pixel group RecL[x,y] of the luminance component in the original resolution. Can be used as is. Therefore, when the color difference format is 444 format, the encoding/decoding of the control information regarding the multi-filter mode was redundant. Therefore, the encoding efficiency may be reduced.
[0043]
Further, in Non-Patent Document 1, the multi-filter mode for switching down sample filters is applied only in the multi-class mode (mclmp_flag==1), and is not applied in the single-class mode (mclmp_flag==0). It was Therefore, the encoding efficiency may be reduced.
[0044]
Referring to the flowchart of FIG. 7, an example of the flow of inter-component linear prediction (CCLMP) processing described in Non-Patent Document 1 executed by a decoder (not shown) explain.
[0045]
When the inter-component linear prediction process is started, in step S11, the decoder parses the syntax group related to the decoding target CU (also referred to as the current CU) from the encoded data.
[0046]
In step S12, the decoder generates a predicted image of the luminance component.
[0047]
In step S13, the decoder transforms the transform coefficient of the luminance component into a prediction residual by inverse quantization/inverse transform.
[0048]
In step S14, the decoder restores the decoded image from the prediction residual of the luminance component and the predicted image.
[0049]
In step S15, the decoder generates a predicted image of the color difference component (Cb) from the decoded image of the luminance component.
[0050]
In step S16, the decoder transforms the transform coefficient of the color difference component (Cb) into a prediction residual by inverse quantization/inverse transform.
[0051]
In step S17, the decoder restores the decoded image from the prediction residual of the color difference component (Cb) and the predicted image.
[0052]
In step S18, the decoder generates a predicted image of the color difference component (Cr) from the decoded image of the luminance component.
[0053]
In step S19, the decoder converts the conversion coefficient of the color difference component (Cr) into a prediction residual by inverse quantization/inverse conversion.
[0054]
In step S20, the decoder corrects the prediction image of the color difference component (Cr) using the prediction residual of the color difference component (Cb) (Cb/Cr residual difference prediction).
[0055]
In step S21, the decoder restores the decoded image from the prediction residual of the color difference component (Cr) and the corrected predicted image.
[0056]
As shown in FIG. 7, when inter-component linear prediction is performed in the encoding unit to be processed, generation of a Cb component predicted image (step S15) cannot be executed until the decoding of the luminance component is completed. Similarly, the generation of the predicted image of the Cr component (step S18) cannot be executed until the decoding of the luminance component is completed. Further, the correction of the predicted image of the Cr component (step S20) cannot be executed until the generation of the prediction residual of the Cr component (step S16) is completed.
[0057]
As described above, in inter-component prediction, inter-component dependency occurs. In particular, since the Cr component depends on both the luminance component and the Cb component, the delay may be further increased as compared with the decoding of the Cb component.
[0058]
In summary, the inter-component linear prediction described in Non-Patent Document 1 has a problem as shown in FIG.
[0059]
Therefore, the pixel position is changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format (color difference array type). The pixel value of the color difference component is predicted by linear prediction from the pixel value of the reference image of the brightness component, and the predicted image of the color difference component is generated. By doing so, it is possible to suppress a decrease in encoding efficiency.
[0060]
By the way, encoding processing is performed in the conventional image encoding methods such as MPEG2 (Moving Picture Experts Group 2 (ISO/IEC 13818-2)) and MPEG-4 Part10 (Advanced Video Coding, hereinafter referred to as AVC). Are executed in processing units called macroblocks. A macroblock is a block having a uniform size of 16x16 pixels. On the other hand, in HEVC (High Efficiency Video Coding), the coding process is executed in a processing unit (coding unit) called CU (Coding Unit). A CU is a block having a variable size, which is formed by recursively dividing an LCU (Largest Coding Unit), which is the maximum coding unit. The maximum selectable CU size is 64x64 pixels. The minimum selectable CU size is 8x8 pixels. The minimum size CU is called an SCU (Smallest Coding Unit). The maximum size of the CU is not limited to 64x64 pixels, and may be a larger block size such as 128x128 pixels or 256x256 pixels.
[0061]
As described above, as a result of adopting the CU having a variable size, in HEVC, it is possible to adaptively adjust the image quality and the coding efficiency according to the content of the image. The prediction process for predictive coding is executed in a processing unit (prediction unit) called PU (Prediction Unit). A PU is formed by partitioning a CU with one of several partition patterns. Further, the PU is composed of a processing unit (prediction block) called PB (Prediction Block) for each of luminance (Y) and color difference (Cb, Cr). Further, the orthogonal transformation process is executed in a processing unit (transform unit) called TU (Transform Unit). The TU is formed by dividing the CU or PU to a certain depth. The TU is composed of a processing unit (transform block) called TB (Transform Block) for each luminance (Y) and color difference (Cb, Cr).
[0062]
FIG. 9 is an explanatory diagram for explaining an outline of recursive block division for a CU in HEVC. Block division of the CU is performed by recursively repeating division of one block into 4 (=2x2) sub-blocks, and as a result, a quadtree tree structure is formed. . The whole one quadtree is called CTB (Coding Tree Block), and the logical unit corresponding to CTB is called CTU (Coding Tree Unit).
[0063]
At the upper part of FIG. 9, as an example, C01 which is a CU having a size of 64×64 pixels is shown. The depth of division of C01 is equal to zero. This means that C01 is the root of the CTU and corresponds to the LCU. The LCU size can be specified by a parameter encoded in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set). C02, which is a CU, is one of four CUs divided from C01 and has a size of 32×32 pixels. The division depth of C02 is equal to 1. C03, which is a CU, is one of the four CUs divided from C02 and has a size of 16x16 pixels. The depth of division of C03 is equal to 2. C04, which is a CU, is one of four CUs divided from C03, and has a size of 8x8 pixels. The split depth of C04 is equal to 3. In this way, the CU is formed by recursively dividing the image to be encoded. The depth of division is variable. For example, a larger size CU (that is, a smaller depth) may be set in a flat image area such as a blue sky. On the other hand, in a steep image area including many edges, a CU having a smaller size (that is, a larger depth) can be set. Then, each of the set CUs becomes a processing unit of encoding processing.
[0064]
PU is a processing unit of prediction processing including intra prediction and inter prediction. A PU is formed by partitioning a CU with one of several partition patterns. FIG. 10 is an explanatory diagram for explaining the setting of the PU in the CU shown in FIG. On the right side of FIG. 10, eight types of division patterns of 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N, and nRx2N are shown. Of these division patterns, two types of 2Nx2N and NxN can be selected for intra prediction (NxN can be selected only by the SCU). On the other hand, in inter prediction, when asymmetric motion division is enabled, all eight types of division patterns can be selected.
[0065]
TU is a processing unit of orthogonal transform processing. The TU is formed by dividing a CU (for an intra CU, each PU in the CU) to a certain depth. FIG. 11 is an explanatory diagram for explaining the setting of the TU in the CU shown in FIG. On the right side of FIG. 11, one or more TUs that can be set in C02 are shown. For example, a TU, T01, has a size of 32x32 pixels and its TU partition depth is equal to zero. The TU, T02, has a size of 16x16 pixels and its TU partition depth equals one. The TU, T03, has a size of 8x8 pixels and its TU partition depth is equal to two.
[0066]
What kind of block division is performed to set the blocks such as CU, PU, and TU in an image is typically determined based on a comparison of costs that affect coding efficiency. The encoder compares, for example, the cost between one CU of 2Mx2M pixels and CU of four MxM pixels, and if the setting of four CUs of MxM pixels has higher coding efficiency, the CU of 2Mx2M pixels is used. Is divided into four MxM pixel CUs.
[0067]
When encoding an image, CTBs (or LCUs) set in a grid in the image (or slice or tile) are scanned in raster scan order. Within a CTB, the CUs are traversed from left to right, top to bottom through the quadtree. When processing the current block, the information of the upper and left adjacent blocks is used as input information. FIG. 12 is an explanatory diagram for explaining the scanning order of CU and PU. In the upper left of FIG. 12, four CUs that can be included in one CTB, C10, C11, C12, and C13, are shown. The numbers in the frame of each CU represent the order of processing. The encoding process is executed in the order of C10 that is the upper left CU, C11 that is the upper right CU, C12 that is the lower left CU, and C13 that is the lower right CU. On the right side of FIG. 12, one or more PUs for inter prediction that can be set in CU C11 are shown. At the bottom of FIG. 12, one or more PUs for intra prediction that can be set to C12 that is a CU are shown. The PUs are also scanned from left to right and from top to bottom, as indicated by the numbers in the PU boxes.
[0068]
In the following, a "block" may be used as a partial area of an image (picture) or a processing unit (not a block of a processing unit). In this case, the “block” indicates an arbitrary partial area in the picture, and its size, shape, characteristics, etc. are not limited. In other words, the "block" in this case includes any partial area (processing unit) such as TB, TU, PB, PU, SCU, CU, LCU (CTB), subblock, macroblock, tile, or slice. Shall be included.
[0069]
Note that the block structure for encoding/decoding image data is arbitrary and is not limited to the above example. For example, the following QTBT (Quad tree plus binary tree) structure may be applied.
[0070]
For example, the CU, PU, and TU (Transform Unit) shown in FIG. 13 are the CU, PU, and the QTBT CU, PU described in JVET-C0024, “EE2.1: Quadtree plus binary tree structure integration with JEM tools”, and It is TU. Specifically, in the block division of the CU, one block can be divided into not only 4 (=2x2) but also 2 (=1x2,2x1) sub-blocks. That is, CU block division is performed by recursively repeating division of one block into four or two sub-blocks, and as a result, a quad-tree shape or horizontal or vertical direction. A binary tree-like tree structure is formed.
[0071]
As a result, the shape of the CU may be rectangular as well as square. For example, when the LCU (Largest Coding Unit) size is 128x128, the CU size (horizontal size w×vertical size h) is 128x128,64x64,32x32,16x16,8x8 as shown in FIG. Not only square size such as ,4x4, but also 128x64,128x32,128x16,128x8,128x4,64x128,32x128,16x128,8x128,4x128,64x32,64x16,64x8,64x4,32x64,16x64,8x64,4x64,32x16,32x8, It may have a rectangular size such as 32x4, 16x32, 8x32, 4x32, 16x8, 16x4, 8x16, 4x16, 8x4, 4x8. Note that PU and TU are the same as CU.
[0072]
Further, the TU includes a luminance (Y) conversion block and a color difference (Cb/Cr) conversion block. When the color format is 4:2:0 (for example, YUV420), the ratio of the picture size of the color difference to the picture size of the luminance is 1/2 in both the vertical width and the horizontal width. Therefore, if the luminance conversion block size is 8x4, the corresponding color difference conversion block size is 4x2. Further, when the color format is 4:2:2 (for example, YUV422), the ratio of the picture size of the color difference to the picture size of the luminance is 1/2 in the vertical width and 1 in the horizontal width. Therefore, if the luminance conversion block size is 8x4, the corresponding color difference conversion block size is 8x2. When the color format is 4:4:4 (for example, YUV444), the ratio of the picture size of color difference to the picture size of luminance is 1 in the vertical width and 1 in the horizontal width. Therefore, if the luminance conversion block size is 8x4, the corresponding color difference conversion block size is 8x4.
[0073]
Note that the I slice may be coded as separate CUs for luminance (Y) and color difference (Cb/Cr). In this case, different CU division structures can be adopted depending on the luminance and the color difference, which has the effect of improving the coding efficiency of the I slice. Hereinafter, for convenience, it is described that the same CU includes information on luminance and color difference, but the present invention is not limited to this.
[0074]
FIG. 14 shows an example of the semantics of information regarding these blocks in JEM. The present technology can also be applied to the image encoding/decoding of the QTBT structure as described above.
[0075]
<2. First Embodiment>
FIG. 15 is a block diagram showing an example of a configuration of an image decoding device which is one mode of an image processing device to which the present technology is applied. The image decoding device 100 illustrated in FIG. 15 is a device that decodes encoded data in which a prediction residual between an image and its predicted image is encoded, such as AVC and HEVC. For example, the image decoding apparatus 100 implements the technology proposed by HEVC and the technology proposed by JVET (Joint Video Exploration Team).
[0076]
In FIG. 15, the image decoding device 100 includes a decoding unit 111, an inverse quantization unit 112, an inverse transformation unit 113, a prediction unit 114, a calculation unit 115, a frame memory 116, and a loop filter unit 117. The image decoding device 100 is a device for generating the moving image #2 by decoding the input coded data #1 (bitstream).
[0077]
The
decoding unit 111 performs processing related to image decoding. For example, the decoding unit 111 receives the encoded data #1 as an input, performs variable length decoding of the syntax value of each syntax element from the bit string of the encoded data #1 according to the definition of the syntax table, and sets the parameters as Configured to derive.
[0078]
The parameters derived from the syntax elements and the syntax values of the syntax elements include information such as header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, and filter information Finfo. These pieces of information will be described below.
[0079]
The
header information Hinfo includes header information such as VPS (Video Parameter Set)/SPS (Sequence Parameter Set)/PPS (Picture Parameter Set)/SH (Slice Header). The header information Hinfo includes, for example, image size (width PicWidth, height PicHeight), bit depth (luminance bitDepthY, color difference bitDepthC), color difference array type ChromaArrayType, CU size maximum value MaxCUSize/minimum value MinCUSize, and quadtree partitioning ( Quad-tree split) maximum depth MaxQTDepth/minimum depth MinQTDepth, binary tree split (Binary-tree split) maximum depth MaxBTDepth/minimum depth MinBTDepth, maximum value of transform skip block MaxTSSize (also called maximum transform skip block size) ), information that defines an on/off flag (also referred to as a valid flag) of each encoding tool, and the like.
[0080]
For example, as the on/off flag of the encoding tool included in the header information Hinfo, there are on/off flags related to the conversion and quantization processing described below. The on/off flag of the coding tool can also be interpreted as a flag indicating whether or not the syntax related to the coding tool is present in the coded data. Further, when the value of the on/off flag is 1 (true), it indicates that the coding tool can be used, and when the value of the on/off flag is 0 (false), the coding tool is unusable. Show. The interpretation of the flag value may be reversed.
[0081]
Inter-component prediction valid flag (ccp_enabled_flag): This is flag information indicating whether inter-component prediction (also called CCP (Cross-Component Prediction) or CC prediction) can be used. For example, if the flag information is "1" (true), it indicates that the flag can be used, and if the flag information is "0" (false), it indicates that the flag cannot be used.
[0082]
This CCP is also referred to as inter-component linear prediction (CCLM or CCLMP).
[0083]
The
prediction mode information Pinfo includes, for example, information such as size information PBSize (prediction block size) of the processing target PB (prediction block), intra prediction mode information IPinfo, and motion prediction information MVinfo.
[0084]
The intra prediction mode information IPinfo includes, for example, prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode in JCTVC-W1005, 7.3.8.5 Coding Unit syntax, and luminance intra prediction mode IntraPredModeY derived from the syntax.
[0085]
Also, the intra prediction mode information IPinfo includes, for example, inter-component prediction flag (ccp_flag (cclmp_flag)), multi-class linear prediction mode flag (mclm_flag), color difference sample position type identifier (chroma_sample_loc_type_idx), color difference MPM identifier (chroma_mpm_idx), and , The luminance intra prediction mode (IntraPredModeC) derived from these syntaxes, and the like are included.
[0086]
The inter-component prediction flag (ccp_flag (cclmp_flag)) is flag information indicating whether to apply inter-component linear prediction. For example, ccp_flag==1 indicates that inter-component prediction is applied, and ccp_flag==0 indicates that inter-component prediction is not applied.
[0087]
The multi-class linear prediction mode flag (mclm_flag) is information about the mode of linear prediction (linear prediction mode information). More specifically, the multi-class linear prediction mode flag (mclm_flag) is flag information indicating whether to set the multi-class linear prediction mode. For example, "0" indicates that it is a one-class mode (single-class mode) (eg CCLMP), and "1" indicates that it is a two-class mode (multi-class mode) (eg MCLMP). ..
[0088]
The color difference sample position type identifier (chroma_sample_loc_type_idx) is an identifier for identifying the type of pixel position of the color difference component (also referred to as color difference sample position type). For example, when the color difference array type (ChromaArrayType), which is the information about the color format, indicates the 420 format, the color difference sample position type identifier is assigned as follows.
[0089]
chroma_sample_loc_type_idx == 0 : Type2
chroma_sample_loc_type_idx == 1 : Type3
chroma_sample_loc_type_idx == 2 : Type0
chroma_sample_loc_type_idx == 3 : Type1
[0090]
Note that this color difference sample position type identifier (chroma_sample_loc_type_idx) is transmitted (stored in) as information (chroma_sample_loc_info()) related to the pixel position of the color difference component, as in the syntax shown in FIG. 16, for example.
[0091]
The color difference MPM identifier (chroma_mpm_idx) is an identifier indicating which prediction mode candidate in the color difference intra prediction mode candidate list (intraPredModeCandListC) is designated as the color difference intra prediction mode.
[0092]
The motion prediction information MVinfo includes, for example, information such as merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd (for example, refer to JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax). .
[0093]
Of course, the information included in the prediction mode information Pinfo is arbitrary, and information other than these information may be included.
[0094]
The
conversion information Tinfo includes, for example, the following information. Of course, the information included in the conversion information Tinfo is arbitrary, and information other than these information may be included.
[0095]
A width width TBWidth and a height width TBHeight of the conversion block to be processed (or each of TBWidth having base 2 and logHeight of TBHeight log2TBWidth, log2TBHeight may be used).
Conversion skip flag (ts_flag): This flag indicates whether (reverse) primary conversion and (reverse) secondary conversion are skipped.
Scan identifier (scanIdx)
quantization parameter (qp)
quantization matrix (scaling_matrix (eg JCTVC-W1005, 7.3.4 Scaling list data syntax))
[0096]
The
residual information Rinfo (for example, refer to 7.3.8.11 Residual Coding syntax of JCTVC-W1005) includes, for example, the following syntax.
[0097]
cbf (coded_block_flag): Residual data presence flag
last_sig_coeff_x_pos: Last non-zero coefficient X coordinate
last_sig_coeff_y_pos: Last non-zero coefficient Y coordinate
coded_sub_block_flag: Sub-block non-zero coefficient presence flag
sig_coeff_flag: Non-zero coefficient presence flag
gr1_flag: Non-zero coefficient level Flag indicating whether it is greater than 1 (also called GR1 flag)
gr2_flag: Flag indicating whether the level of non-zero coefficient is greater than 2 (also called GR2 flag)
sign_flag: Sign indicating the sign of non-zero coefficient (also called sign code)
coeff_abs_level_remaining: Non-zero coefficient residual level (also called non-zero coefficient residual level)
.
[0098]
The
filter information Finfo includes, for example, control information about each filter process described below, and includes a picture to which each filter is applied, information specifying an area in the picture, and filter On/Off for each CU. It includes Off control information, slices, and filter On/Off control information related to tile boundaries.
[0099]
Deblocking filter (DBF) control information
Pixel adaptive offset (SAO) control information
Adaptive loop filter (ALF) control information
Other linear/nonlinear filter control information
[0100]
The decoding unit 111 derives the quantized transform coefficient level level at each coefficient position in each transform block by referring to the residual information Rinfo. In addition, the decoding unit 111 supplies the header information Hinfo, the prediction mode information Pinfo, the quantized transform coefficient level level, the transform information Tinfo, and the filter information Finfo obtained by decoding to each block. Specifically, it is as follows.
[0101]
The header information Hinfo is supplied to the inverse transform unit 113, the inverse quantization unit 112, the prediction unit 114, and the loop filter unit 117.
The prediction mode information Pinfo is supplied to the prediction unit 114.
The quantized transform coefficient level level is supplied to the inverse quantization unit 112.
The transform information Tinfo is supplied to the inverse transform unit 113 and the inverse quantization unit 112.
The filter information Finfo is supplied to the loop filter unit 117.
[0102]
The decoding unit 111 parses, decodes, and acquires information regarding inter-component linear prediction included in encoded data, for example. The information about the inter-component linear prediction may be any information as long as it is about the inter-component linear prediction. For example, control information for controlling the process related to inter-component linear prediction may be included.
[0103]
The control information about the inter-component linear prediction may be any control information as long as it is about the inter-component linear prediction. For example, the above-described inter-component prediction valid flag (ccp_enabled_flag), inter-component prediction flag (ccp_flag (cclmp_flag)), multi-class linear prediction mode flag (mclm_flag), color difference array type (ChromaArrayType), color difference sample position type identifier (chroma_sample_loc_type_idx) It may include information such as. Of course, information other than these may be included.
[0104]
The decoding unit 111 supplies the acquired information regarding the inter-component linear prediction to the prediction unit 114. Therefore, the prediction unit 114 can execute the process related to the inter-component linear prediction based on the information.
[0105]
The
inverse quantization unit 112 performs processing related to inverse quantization. For example, the inverse quantization unit 112 receives the transform information Tinfo and the quantized transform coefficient level level supplied from the decoding unit 111, and scales the value of the quantized transform coefficient level level based on the transform information Tinfo (inverse quantization. Then, the inverse-quantized transform coefficient Coeff_IQ is output to the inverse transform unit 113.
[0106]
The
inverse transform unit 113 performs processing related to inverse transform. For example, the inverse transform unit 113 receives the transform coefficient Coeff_IQ and the transform information Tinfo as input, applies the inverse transform to the transform coefficient Coeff_IQ based on the transform information Tinfo, derives the prediction residual D′, and calculates It is configured to output to the unit 115.
[0107]
The
calculation unit 115 performs processing related to addition of information regarding images. For example, the calculation unit 115 receives the prediction residual D′ supplied from the inverse transform unit 113 and the prediction image P supplied from the prediction unit 114 as input, and calculates the prediction residual as shown in the following Expression (12). The difference D′ and the prediction image P (prediction signal) corresponding to the prediction residual D′ are added to derive a locally decoded image R local and output.
[0108]
R local = D' + P ・・・(12)
[0109]
The
prediction unit 114 performs processing regarding generation of a predicted image. For example, the prediction unit 114 receives the prediction mode information Pinfo as an input, and uses the prediction method specified by the prediction mode information Pinfo to specify the decoded image R′ after the filtering stored in the frame memory 116 and specified by the prediction mode information Pinfo. (Or the decoded image R before filtering) is used as a reference image to generate a predicted image P, and the predicted image P is output to the calculation unit 115.
[0110]
The
loop filter unit 117 performs processing relating to loop filter processing. For example, the loop filter unit 117 reads the decoded image R from the frame memory 116 and generates a filtered decoded image R′ by the loop filter process specified by the filter information Finfo. The loop filter unit 117 also supplies the decoded image R′ after filtering to the frame memory 116. The loop filter processing performed by the loop filter unit 117 includes a deblocking filter (DBF (DeBlocking Filter)), a pixel adaptive offset (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)). And other linear and non-linear filters (Wiener filter, bilateral filter, etc.) are included.
[0111]
The
frame memory 116 performs a process related to storage of image data. For example, the frame memory 116 receives the local decoded image R local supplied from the calculation unit 115 as an input, reconstructs the decoded image R for each picture unit, and stores the decoded image R in a buffer in the frame memory 116. The frame memory 116 reads the decoded image R from the buffer and supplies it to the loop filter unit 117.
[0112]
The frame memory 116 stores the decoded image R′ after the loop filter processing supplied from the loop filter unit 117 in a buffer in the frame memory 116. The frame memory 116 reads the decoded image R or the decoded image R′ after filtering specified by the prediction mode information Pinfo of the prediction unit 114 from the buffer as a reference image, and supplies the reference image to the prediction unit 114. Further, the frame memory 116 may store the header information Hinfo, the prediction mode information Pinfo, the conversion information Tinfo, the filter information Finfo, and the like related to the generation of the decoded image in a buffer in the frame memory. The frame memory 116 is configured to perform various kinds of processing as described above.
[0113]
That is, the decoding unit 111 to the calculation unit 115 act as a decoding unit that uses the predicted image generated by the prediction unit 114 to decode the color difference component of the encoded data in which the image is encoded.
[0114]
Next, the process executed in the image decoding device 100 having the above configuration will be described. The image decoding apparatus 100 performs a process related to the decoding of encoded data in which the data related to the image supplied from the encoding side is encoded by executing the image decoding process.
[0115]
When the image decoding process is started, the decoding unit 111 decodes the input coded data (bit stream) in step S101 and acquires the data related to the image. The data for this image is quantized. That is, the quantized coefficient is obtained. In step S102, the inverse quantization unit 112 performs inverse quantization, which is an inverse process of the quantization performed on the encoding side, on the quantized coefficient obtained in step S101, and obtains a transform coefficient Coeff_IQ.
[0116]
In step S103, the inverse transform unit 113 performs the inverse transform process, which is the inverse process of the transform process performed on the encoding side, on the transform coefficient Coeff_IQ obtained by the process of step S102, and the prediction residual D′ is obtained. To get In step S104, the prediction unit 114 executes the prediction process, refers to the reference image stored in the frame memory 116, and generates the predicted image P by the prediction method designated by the encoding side.
[0117]
In step S105, the calculation unit 115 adds the prediction residual D′ obtained by the processing of step S103 and the prediction image P obtained by the processing of step S104 as in equation (12), and obtains the locally decoded image. Derive R local . The calculation unit 115 outputs this local decoded image R local as a decoded image.
[0118]
Further, in step S106, the frame memory 116 stores the locally decoded image R local obtained by the process of step S105 . In step S107, the loop filter unit 117 performs a predetermined filtering process on the locally decoded image stored in the frame memory 116. The locally decoded image after filtering is stored in the frame memory 116.
[0119]
When the process of step S107 ends, the image decoding process ends.
[0120]
With
reference to the flowcharts of FIGS. 18 and 19, decoding information of inter-component prediction control information (inter-component prediction information CCInfo) and color difference intra prediction mode IntraPredModeC, and associated syntax etc. (coding_unit ( An example of the flow of the decoding process of )) will be described. Note that FIG. 20 is an example of the syntax table of coding_unit() corresponding to the flowcharts of FIGS. 18 and 19.
[0121]
When the decoding process is started, the decoding unit 111 parses the inter-component prediction valid flag ccp_enabled_flag from the encoded data and decodes it (obtains the inter-component prediction valid flag ccp_enabled_flag from the encoded data) in step S121.
[0122]
In step S122, the decoding unit 111 determines whether condition 1 shown in the following Expression (13) is satisfied.
[0123]
Condition 1: ccp_enabled_flag == 1
・・・(13)
[0124]
That is, the decoding unit 111 determines whether the inter-component prediction valid flag ccp_enabled_flag is 1 (true). When it is determined that the above expression (13) is satisfied (when it is determined that ccp_enabled_flag is 1 (true)), the process proceeds to step S123.
[0125]
In step S123, the decoding unit 111 parses and decodes the inter-component prediction flag ccp_flag included in the encoded data (obtains the inter-component prediction flag ccp_flag from the encoded data). When the process of step S123 ends, the process proceeds to step S125.
[0126]
In addition, in step S122, when it is determined that the above expression (13) is not satisfied (when it is determined that ccp_enabled_flag is 0 (false)), the process proceeds to step S124.
[0127]
In step S124, the decoding unit 111 sets 0 (false) without parsing the inter-component prediction flag ccp_flag (without acquiring from the encoded data) (ccp_flag=0). When the process of step S124 ends, the process proceeds to step S125.
[0128]
In step S125, the decoding unit 111 determines whether or not the condition 2 shown in the following expression (14) is satisfied.
[0129]
Condition 2: ccp_flag == 0
・・・(14)
[0130]
That is, the decoding unit 111 determines whether the inter-component prediction flag ccp_flag is 0 (false). When it is determined that the above expression (14) is satisfied (when it is determined that ccp_flag is 0 (false)), the process proceeds to step S126.
[0131]
The above equation (14) may be changed to another determination equation as long as an equivalent result is obtained. For example, the following equation (15) may be used instead.
[0132]
Condition2a: !ccp_flag
・・・(15)
[0133]
In step S126, the decoding unit 111 parses and decodes the color difference MPM identifier chroma_mpm_idx included in the encoded data (obtains the color difference MPM identifier chroma_mpm_idx from the encoded data).
[0134]
In step S127, the decoding unit 111 refers to the luminance block (colocated luminance block) at the collocated position of the color difference block of the target encoding unit and the decoded prediction mode information PInfo of the adjacent luminance (sub) block, and A color difference intra prediction mode candidate list intraPredModeCandListC to be applied to the color difference block of the processing target coding unit is derived.
[0135]
For example, among the luminance intra prediction modes intraPredModeL of the luminance sub-block shown in FIG. 21, non-overlapping luminance intra prediction modes may be sequentially added to the color difference intra prediction mode candidate list intraPredModeCandListC.
[0136]
Collocated luminance blocks Col
luminance subblocks A1 located upper left end of the co-located luminance block
luminance subblocks A2 located in the upper side portion right end of the co-located luminance block
luminance subblocks A3 the upper right of the collocated luminance blocks
on the left upper end of the collocated luminance blocks Luminance sub-block B1
located Luminance sub-block B2 located at the lower left edge of the co-located luminance block B2
Luminance sub-block B3 located lower left of the co-located luminance block
[0137]
In addition to these intra prediction modes of Col, A1 to A3, and B1 to B3, a main intra prediction mode (for example, in FIG. 22, horizontal prediction of Planar prediction, DC prediction, Angular prediction (HOR_IDX=18) , And vertical prediction (VER_IDX=50) four intra prediction modes) may be added, and the color difference intra prediction mode candidate list intraPredModeCandListC may be configured only with non-overlapping intra prediction modes.
[0138]
Further, the color difference intra prediction mode candidate list intraPredModeCandListC may be configured by referring to all six luminance (sub) blocks of these Col, A1 to A3, and B1 to B3, or a part of the blocks may be configured. The color difference intra prediction mode candidate list intraPredModeCandListC may be configured with reference.
[0139]
In step S128, the decoding unit 111 performs the color difference intra prediction on the candidate intra prediction mode intraPredModeCandListC[chroma_mpm_idx] specified by the color difference MPM identifier chroma_mpm_idx from the color difference intra prediction mode candidate list intraPredModeCandListC as shown in the following Expression (16). Select mode as intraPredModeC.
[0140]
intraPredModeC = intraPredCandListC[ chroma_mpm_idx ]
・・・(16)
[0141]
When the process of step S128 ends, the decoding process ends, and the process returns to FIG.
[0142]
Further, when it is determined in step S125 of FIG. 18 that the above expression (14) is not satisfied (when it is determined that ccp_flag is 1 (true)), the process proceeds to step S131 of FIG.
[0143]
In step S131, the decoding unit 111 determines whether or not the condition 3 shown in the following Expression (17) is satisfied.
[0144]
Condition 3: (widthC * heightC >= MCLMMinBlkSize)
&& (widthC * heightC <= MCLMMaxBlkSize)
・・・(17)
[0145]
That is, the decoding unit 111 determines whether the size (widthC*heightC) of the color difference coded block is equal to or larger than the MCLM minimum block size MCLMMinBlkSize and equal to or smaller than the MCLM maximum block size MCLMMaxBlkSize.
[0146]
In the above equation (17), the part that compares the size of the color difference block with the threshold value may be replaced with the logarithmic expression shown in the following equation (18).
[0147]
Condition3a: (log2CbWidthC + log2CbHeightC >= log2MCLMMinBlkSize)
&& (log2CbWidthC + log2CbHeightC >= log2MCLMMaxBlkSize)
・・・(18)
[0148]
Here, the value of log2MCLMMinBlkSize is 4, for example. The value of log2MCLMMinBlkSize is not limited to this. For example, it may be set by a parameter defining log2MCLMMinBlkSize notified in the header information. The value of log2MCLMMaxBlkSize is 32, for example. The value of log2MCLMMinBlkSize is not limited to this. For example, it may be set by a parameter defining log2MCLMMaxBlkSize notified in the header information.
By controlling the minimum block size MCLMMinBlkSize and the MCLM maximum block size MCLMMaxBlkSize in the header information, the following effects can be obtained.
-In the block size in which the MCLM mode is ineffective, the decoding (encoding) of the syntax related to the MCLM mode can be omitted. That is, the coding efficiency can be improved.
-Since the execution of MCLM mode can be omitted, the processing amount can be reduced.
[0149]
When it is determined that Expression (17) is satisfied (when it is determined that the size (widthC*heightC) of the color difference encoding block is MCMC minimum block size MCLMMinBlkSize or more and MCLM maximum block size MCLMMaxBlkSize or less) The process proceeds to step S132.
[0150]
In step S132, the decoding unit 111 parses and decodes the multi-class linear prediction mode flag mclm_flag included in the encoded data (obtains the multi-class linear prediction mode flag mclm_flag from the encoded data). When the process of step S132 ends, the process proceeds to step S134.
[0151]
If it is determined in step S131 that the expression (17) is not satisfied (the color difference coding block size (widthC*heightC) is smaller than the MCLM minimum block size MCLMMinBlkSize or larger than the MCLM maximum block size MCLMMaxBlkSize. If it is determined that), the process proceeds to step S133.
[0152]
In step S133, the decoding unit 111 sets 0 (false) without parsing the multi-class linear prediction mode flag mclm_flag (without acquiring it from encoded data) (mclm_flag=0). When the process of step S133 ends, the process proceeds to step S134.
[0153]
In step S134, the decoding unit 111 determines whether condition 4 shown in the following Expression (19) is satisfied.
[0154]
Condition 4: (ChromaArrayType==CHROMA_420)
|| (ChromaArrayType==CHROMA_422)
・・・(19)
[0155]
That is, the decoding unit 111 determines whether the color difference array type ChromaArrayType is CHROMA_420 or CHROMA_422.
[0156]
When it is determined that Expression (19) is satisfied (when it is determined that the color difference array type ChromaArrayType is CHROMA_420 or CHROMA_422), the process proceeds to step S135.
[0157]
In step S135, the decoding unit 111 parses the color difference sample position information chroma_sample_loc_info() included in the encoded data according to the definition of the syntax table, and decodes the color difference sample position information chroma_sample_loc_info() from the encoded data. To).
[0158]
For example, the decoding unit 111 decodes the bin string bin of the color difference sample position type identifier information chroma_sample_loc_type_idx from the encoded data according to the definition of the syntax table shown in FIG. Further, by performing the binarization on the bin string, the value of the color difference sample position type identifier information chroma_sample_loc_type_idx is obtained.
[0159]
The color difference sample position type identifier information chroma_sample_loc_type_idx is an identifier indicating a color difference sample position type (ChromaSampleLocType) determined for each color difference array type ChromaArrayType. FIG. 23 shows an example of a correspondence table of the color difference sample position type ChromaSampelLocType associated with the color difference array type ChromaArrayType and the color difference sample position type identifier information chroma_sample_loc_type_idx.
[0160]
In step S136, for example, with reference to FIG. 24, the decoding unit 111 sets the color difference sample position type ChromaSampleLocType based on the color difference array type ChromaArrayType and the color difference sample position type identifier information chroma_sample_loc_type_idx.
[0161]
When the process of step S136 ends, the process proceeds to step S138. If it is determined in step S134 that the above expression (19) is satisfied (when it is determined that the color difference array type ChromaArrayType is neither CHROMA_420 nor CHROMA_422), the process proceeds to step S137.
[0162]
In step S137, the decoding unit 111 sets a predetermined type (DefaultType) without parsing the color difference sample position type ChromaArrayType. The predetermined type DefaultType is arbitrary, but for example, it is desirable to set it to "Type 2" in which the positions of the luminance sample and the color difference sample match. When the process of step S137 ends, the process proceeds to step S138.
[0163]
In step S138, the decoding unit 111 sets the color difference intra prediction mode intraPredModeC based on the decoded inter-component prediction information CCInfo(ccp_flag, mclm_flag, ChromaSampleLocType) and the color difference array type ChromaArrayType with reference to FIG.
[0164]
The correspondence between the inter-component prediction information CCInfo and the color difference array type ChromaArrayType and the color difference intra prediction mode intraPredModeC is not limited to the example of FIG. For example, as in the example shown in FIG. 25, the numbers may be allotted and assigned.
[0165]
When the process of step S138 ends, the decoding process ends, and the process returns to FIG.
[0166]
It should be noted that the color difference intra prediction mode and the decoding process regarding the inter-component prediction information in the variable-length code decoding unit 21 have been described, but these are within the practicable range, and the processing order of each step is changed and the content of the process is changed. You may.
[0167]
By doing as described above, the decoding unit 111 decodes the color difference sample position information indicating the sample position of the color difference component with respect to the sample of the luminance component, as a part of the inter-component prediction information CCInfo.
[0168]
Therefore, in the Luma/Chroma prediction unit 141, which will be described later, it is possible to select a down-sample filter that reduces the phase shift between the color difference component and the luminance component based on the color difference array type and the color difference sample position information. Therefore, it is possible to perform inter-component prediction with a reduced phase shift, and suppress a reduction in coding efficiency.
[0169]
An example of the syntax of the color difference sample position information chroma_sample_loc_info() has been described with reference to FIG. 16. However, the syntax of the color difference sample position information chroma_sample_loc_info() is not limited to this example. Instead, for example, the configuration shown in FIG. 26 may be used. That is, the color difference sample position type may be provided with an initial value (default_chroma_sample_loc_type), and the color difference sample position type identifier information chroma_sample_loc_type_idx may be transmitted only when the color difference sample position type is other than the initial value.
[0170]
In step S135 (FIG. 19), the decoding unit 111 decodes the following syntax included in the encoded data according to the syntax table definition shown in FIG.
[0171]
Default color difference sample position type flag default_chroma_sample_loc_type_flag
Color difference sample position type identifier information chroma_sample_loc_type_idx
[0172]
That is, the decoding unit 111 parses and decodes the default color difference sample position type flag default_chroma_sample_loc_type_flag included in the encoded data (obtains the default color difference sample position type flag default_chroma_sample_loc_type_flag from the encoded data).
[0173]
When the default color difference sample position type flag default_chroma_sample_loc_type_flag is false (0) (that is, when the pixel position type of the color difference component is not the initial value), further, the color difference sample position type identifier information chroma_sample_loc_type_idx included in the encoded data Parse and decode the bin string bin (obtain the bin string bin of color difference sample position type identifier information chroma_sample_loc_type_idx from the encoded data). Further, by binarizing the bin string inversely, the value of the color difference sample position type identifier information chroma_sample_loc_type_idx is obtained.
[0174]
Here, the definition of each syntax is as follows.
[0175]
The default color difference sample position type flag default_chroma_sample_loc_type_flag is a flag indicating whether or not the color difference sample position type is the default type (initial value). For example, when this flag is "0", it indicates that the color difference sample position type is not the default type. Further, for example, when this flag is "1", it indicates that the color difference sample position type is the default type. For example, the default color difference sample position type may be Type2.
[0176]
The color difference sample position type identifier information chroma_sample_loc_type_idx is an identifier indicating the color difference sample position type ChromaSampleLocType determined for each color difference array type ChromaArrayType excluding the default type.
[0177]
FIG. 27 shows an example of a correspondence table of the color difference sample position type ChromaSampelLocType associated with the color difference array type ChromaArrayType, the default color difference sample position type flag default_chroma_sample_loc_type_flag, and the color difference sample position type identifier information chroma_sample_loc_type_idx.
[0178]
In step S136, the decoding unit 111 sets the color difference sample position type ChromaSampleLocType based on the color difference array type ChromaArrayType, the default color difference sample position type flag default_chroma_sample_loc_type_flag, and the color difference sample position type identifier information chroma_sample_loc_type_idx with reference to FIG. 27, for example. ..
[0179]
By configuring the syntax table of the color difference sample position information chroma_sample_loc_type() as shown in FIG. 26, it is possible to decode/encode a predetermined type (for example, Type2) that is frequently used as the color difference sample position type with one bin. .. Therefore, the color difference sample position information can be decoded/encoded with a smaller code amount than in the case where the syntax table is shown in FIG. That is, it is possible to suppress a reduction in coding efficiency.
[0180]
In
the flowcharts of FIGS. 18 and 19 and the syntax table of FIG. 20, the configuration example in which the color difference sample position information chroma_sample_loc_info() is decoded for each encoding unit has been described. The storage location of the color difference sample position information chroma_sample_loc_info() is not limited to this.
[0181]
Since the color difference sample position type is basically determined for each sequence, as shown in A of FIG. 28, the color difference sample position is higher in the header information (VPS/SPS/PPS/SH/CTU) higher than the coding unit. The information chroma_sample_loc_info() may be decoded. That is, the color difference sample position information chroma_sample_loc_info() may be stored in the header information (VPS/SPS/PPS/SH/CTU) higher than the coding unit.
[0182]
In that case also, other syntaxes regarding the inter-component linear prediction may be decoded in the header information of the coding unit, as shown in B of FIG. 28. That is, other syntax related to inter-component linear prediction may be stored in the header information of the coding unit.
[0183]
By doing so, it is possible to reduce the code amount related to the color difference sample position information chroma_sample_loc_info() per coding unit. That is, it is possible to suppress a reduction in coding efficiency.
[0184]
FIG. 29 is a block diagram showing a main configuration example of the prediction unit 114 of the image decoding device 100. As shown in FIG. 29, the prediction unit 114 has an intra prediction unit 121 and an inter prediction unit 122.
[0185]
The intra prediction unit 121 performs processing related to intra prediction. For example, the intra prediction unit 121 acquires a decoded image as a reference image from the frame memory 116, and uses the decoded image, the intra prediction mode designated by the prediction mode information Pinfo (that is, the optimum prediction mode adopted on the encoding side). Intra prediction is performed in the prediction mode) to generate a predicted image. The intra prediction unit 121 supplies the generated predicted image to the calculation unit 115.
[0186]
The inter prediction unit 122 performs processing related to inter prediction. For example, the inter prediction unit 122 acquires a decoded image as a reference image from the frame memory 116, and uses the decoded image, the inter prediction mode specified by the prediction mode information Pinfo (that is, the optimum inter- prediction mode adopted on the encoding side). Inter prediction is performed in the prediction mode) to generate a predicted image. The inter prediction unit 122 supplies the generated predicted image to the calculation unit 115.
[0187]
FIG. 30 is a block diagram showing a main configuration example of the intra prediction unit 121. As illustrated in FIG. 30, the intra prediction unit 121 includes a DC prediction unit 131, a Planar prediction unit 132, an Angular prediction unit 133, and a CC prediction unit 134.
[0188]
The DC prediction unit 131 performs processing related to DC prediction. The Planar prediction unit 132 performs processing related to Planar prediction. The Angular prediction unit 133 performs processing related to Angular prediction. And the CC prediction unit 134 performs a process related to inter-component linear prediction.
[0189]
The intra prediction unit 121 receives the prediction mode information Pinfo, the color difference array type ChromaArrayType, and the decoded image Rec X (X=Y, Cb, Cr) of each component X (X=Y, Cb, Cr) of the processing target frame supplied from the frame memory 116 . Cb, Cr) and a prediction image Pred X (X=Y, Cb, Cr) is generated and output by a prediction method corresponding to the intra prediction mode predModeIntraX (X=L, C) for each component .
[0190]
If the intra prediction mode predModeIntraX components X indicates DC prediction, DC prediction unit 131, the decoded image Rec components X X generates DC prediction image by referring to the predicted image Pred X output as.
[0191]
If the intra prediction mode predModeIntraX components X represents Planar prediction, Planar prediction unit 132, the decoded image Rec components X X Referring to generate a Planar predicted image, the predicted image Pred X output as.
[0192]
If the intra prediction mode predModeIntraX components X represents Angular prediction, Angular prediction unit 133, the decoded image Rec components X X Referring to generate an Angular predicted image, the predicted image Pred X output as.
[0193]
When the intra prediction mode predModeIntraX of the component X indicates inter-component prediction, the CC prediction unit 134 refers to the decoded image Rec X of the component X and the decoded image Rec z of the reference component Z to determine the CC predicted image (inter-component linear (Predicted image) is generated and output as a predicted image Pred X.
[0194]
FIG. 31 is a block diagram showing a main configuration example of the CC prediction unit 134. As illustrated in FIG. 31, the CC prediction unit 134 includes a Luma/Chroma prediction unit 141 (also referred to as a luminance/color difference prediction unit) and a Cb/Cr residual difference prediction unit 142 (color difference residual difference prediction unit). Also referred to as).
[0195]
For example, when predicting the prediction image of the color difference component (Cb/Cr) from the luminance component (Y), the CC prediction unit 134 operates the Luma/Chroma prediction unit 141 to cause the prediction image PredX(X=Cb of the color difference component. , Cr) is generated. The Luma/Chroma prediction unit 141 performs processing related to linear prediction between the luminance component and the color difference component.
[0196]
Further, for example, when the predicted image Pred Cr of the Cr component is corrected by the Cb/Cr residual prediction, the CC prediction unit 134 operates the Cb/Cr residual prediction unit 142, and the corrected Cr predicted image Pred * Generate Cb . The Cb/Cr residual prediction unit 142 performs a process related to the correction of the predicted image Pred Cr of the Cr component by the Cb/Cr residual prediction .
[0197]
FIG. 32 is a block diagram showing a main configuration example of the Luma/Chroma prediction unit 141. As illustrated in FIG. 32, the Luma/Chroma prediction unit 141 includes a reduced image generation unit 151, a prediction parameter derivation unit 152, and a color difference prediction image generation unit 153.
[0198]
The reduced image generation unit 151 performs processing related to generation of reduced images (that is, downsampling). The prediction parameter derivation unit 152 performs processing related to derivation of a prediction parameter (linear prediction parameter) used for linear prediction of a luminance component for generating a predicted image of a color difference component. The color difference prediction image generation unit 153 performs processing related to generation of a color difference component prediction image.
[0199]
The reduced image generation unit 151 includes a downsample filter selection unit 161, a luminance colocated block pixel group reduction unit 162, and a luminance colocated adjacent pixel group reduction unit 163.
[0200]
The down sample filter selection unit 161 performs processing regarding selection of the down sample filter. For example, the down-sample filter selection unit 161 selects the down-sample filter used for down-sampling the colocated block of the luminance component corresponding to the block to be processed by the color difference component. In addition, for example, the down-sample filter selection unit 161 selects a down-sample filter used for down-sampling an adjacent pixel group adjacent to the colocated block of the luminance component.
[0201]
The down-sample filter selection unit 161 uses the information about the color format (for example, the color difference array type ChromaArrayType), the information about the pixel position of the color difference component (for example, the color difference sample position type (ChromaSampleLocType)) (that is, the inter-component prediction information). Select the down sample filter of.
[0202]
The down sample filter selection unit 161 supports a plurality of color formats. That is, the down-sampling filter selection unit 161 selects candidates according to the color format of the format specified by the information about the color format and the information about the pixel position of the color difference component in the candidate group corresponding to the plurality of color formats. , Select as a downsample filter.
[0203]
For example, the candidate group may include candidates corresponding to the 420-format color format and candidates corresponding to the 422-format color format. When the 420-color format is designated by the information about the color format, the down-sample filter selection unit 161 displays the information about the pixel position of the color difference component in the candidates corresponding to the 420-color format included in the candidate group. Also select the corresponding candidate as the downsample filter. Further, when the 422 color format is designated by the information about the color format, the down-sample filter selection unit 161 relates to the pixel position of the color difference component in the candidates corresponding to the 422 color format included in the candidate group. Candidates that also correspond to information are selected as downsample filters.
[0204]
Further, for example, the candidate group may include candidates corresponding to the 444 color format. When the 444 color format is specified by the color format information, the down-sample filter selection unit 161 displays the information regarding the pixel position of the color difference component in the candidates corresponding to the 444 color format included in the candidate group. Also select the corresponding candidate as the downsample filter.
[0205]
The down-sampling filter selection unit 161 relates to linear prediction mode information (for example, a multi-class linear prediction mode flag (mclm_flag)) that is information about a mode of linear prediction, information about a pixel position of the color difference component, and the color format. A downsample filter can also be selected based on the information.
[0206]
For example, the down-sampling filter selection unit 161 selects a mode specified by the linear prediction mode information in the candidate group corresponding to the plurality of modes of the linear prediction, information about the pixel position of the color difference component, and information about the color format. The candidate according to may be selected as the down-sampling filter.
[0207]
Furthermore, for example, the candidate group may include a candidate corresponding to the single class mode and a candidate corresponding to the multi-class mode. When the single class mode is designated as the linear prediction mode by the linear prediction mode information, the down-sample filter selection unit 161 relates to the pixel position of the color difference component in the candidates corresponding to the linear prediction of the single class mode. A candidate that also corresponds to the information and the information about the color format is selected as the downsampling filter. In addition, when the multi-class mode is designated as the mode of linear prediction by the linear prediction mode information, the information about the pixel position of the color difference component and the information about the color format in the candidates corresponding to the linear prediction of the multi-class mode, The candidate corresponding to is also selected as the down sample filter.
[0208]
The down sample filter selection unit 161 supplies the selected down sample filter to the luminance colocated block pixel group reduction unit 162 and the luminance colocated adjacent pixel group reduction unit 163.
[0209]
The luminance colocated block pixel group reduction unit 162 performs processing regarding down-sampling of the colocated block of the luminance component corresponding to the processing target block of the color difference component. For example, the luminance colocated block pixel group reduction unit 162 acquires the colocated block of the luminance component corresponding to the block to be processed by the color difference component from the frame memory 116. Further, the luminance co-located block pixel group reducing unit 162 performs filter processing on the obtained co-located block of the luminance component using the down-sample filter supplied from the down-sample filter selecting unit 161, and generates a reduced image. The luminance colocated block pixel group reduction unit 162 supplies the generated reduced image of the colocated block of the luminance component to the color difference prediction image generation unit 153.
[0210]
The luminance colocated adjacent pixel group reduction unit 163 performs processing related to down-sampling of the adjacent pixel group of the colocated block of the luminance component corresponding to the block to be processed by the color difference component. For example, the luminance colocated adjacent pixel group reducing unit 163 acquires the adjacent pixel group of the colocated block of the luminance component corresponding to the block to be processed by the color difference component from the frame memory 116. Further, the luminance co-located adjacent pixel group reducing unit 163 performs a filtering process on the adjacent pixel group of the obtained co-located block of the luminance component using the down-sample filter supplied from the down-sample filter selecting unit 161, and reduces the reduced image. To generate. The luminance colocated adjacent pixel group reducing unit 163 supplies the reduced image of the generated adjacent pixel group of the colocated block of the luminance component to the prediction parameter deriving unit 152.
[0211]
That is, the luminance co-located block pixel group reduction unit 162 and the luminance co-located adjacent pixel group reduction unit 163 change the pixel position of the reference image of the luminance component using the filter selected by the down sample filter selection unit 161.
[0212]
The prediction parameter derivation unit 152 acquires, for example, from the frame memory 116, the adjacent pixel group of the block to be processed by the color difference component. The prediction parameter derivation unit 152 uses the adjacent pixel group of the block that is the processing target of the color difference component and the reduced image of the adjacent pixel group of the colocated block of the luminance component that is supplied from the luminance colocated adjacent pixel group reduction unit 163. Derive the linear prediction parameters (α, β). The prediction parameter derivation unit 152 supplies the derived linear prediction parameter (α, β) to the color difference prediction image generation unit 153.
[0213]
The color difference prediction image generation unit 153 uses the reduced image of the luminance colocated block supplied from the luminance colocated block pixel group reduction unit 162 and the linear prediction parameter (α, β) supplied from the prediction parameter derivation unit 152, Linear prediction is performed to generate a predicted image of a block to be processed by the color difference component.
[0214]
That is, the color difference prediction image generation unit 153 sets the filter (for example, the down sample filter) selected based on the information about the pixel position of the color difference component (for example, the color difference sample position information) and the information about the color format (for example, the color difference array type). The pixel value of the color difference component (for example, Cb component and Cr component) is predicted by linear prediction from the pixel value of the reference image of the brightness component whose pixel position has been changed (for example, the reduced image of the brightness colocated block), and Generate a predicted image. The color difference prediction image generation unit 153 supplies the generated prediction image to the calculation unit 115.
[0215]
Next, an example of the prediction processing flow executed by the prediction unit 114 will be described with reference to the flowchart in FIG.
[0216]
When the prediction process is started, the prediction unit 114 determines in step S151 whether or not to perform intra prediction. If intra prediction is specified by the prediction mode information Pinfo, and it is determined by intra prediction to generate a predicted image of the block to be processed by the color difference component, the process proceeds to step S152.
[0217]
In step S152, the intra prediction unit 121 performs intra prediction and generates a predicted image. When the process of step S152 ends, the prediction process ends, and the process returns to FIG.
[0218]
Further, in step S151 of FIG. 33, when inter prediction is specified by the prediction mode information Pinfo and it is determined that intra prediction is not performed, the process proceeds to step S153.
[0219]
In step S153, the inter prediction unit 122 performs inter prediction and generates a predicted image. When the process of step S153 ends, the prediction process ends, and the process returns to FIG.
[0220]
Next, an example of the flow of the intra prediction process executed in step S152 of FIG. 33 will be described with reference to the flowchart of FIG. 34.
[0221]
When the intra prediction process is started, the DC prediction unit 131, the Planar prediction unit 132, the Angular prediction unit 133, and the CC prediction unit 134 of the intra prediction unit 121, in step S161, the intra prediction is performed in a mode corresponding to predModeIntraX for each component. Predict and generate a predicted image. For example, when CC prediction is designated in predModeIntraX, the CC prediction unit 134 generates a predicted image of a color difference component by inter-component linear prediction.
[0222]
When the process of step S161 ends, the intra prediction process ends, and the process returns to FIG.
[0223]
Next, an example of the flow of inter-component linear prediction processing executed in step S161 of FIG. 34 will be described with reference to the flowchart of FIG.
[0224]
When the inter-component linear prediction process is started, the Luma/Chroma inter-prediction unit 141 performs the luma-color difference inter-prediction process in step S171, and predicts the prediction image of the color-difference component from the decoded image of the luma component.
[0225]
In step S172, the Cb/Cr residual difference prediction unit 142 performs inter-color difference residual prediction processing, and corrects the Cr component predicted image using the Cb component predicted residual.
[0226]
When the process of step S172 ends, the inter-component linear prediction process ends, and the process returns to FIG.
[0227]
Next, an example of the flow of luminance-color difference prediction processing executed in step S171 of FIG. 35 will be described with reference to the flowchart of FIG.
[0228]
When the luminance-chrominance-difference prediction process is started, the prediction parameter derivation unit 152, in step S181, the adjacent decoded pixel group R C,n (A in FIG. 2 ) of the prediction target block of the color difference component (Cb component ) (hereinafter, The color difference adjacent pixel group R C,n ) is read from the frame memory 116.
[0229]
In step S182, the reduced image generating unit 151, the decoded pixel group R of the luminance component in the collocated position of the color difference prediction target block Y, col (B in FIG. 2) (hereinafter, luminance co-located block pixel group R Y, col referred to as ), and the adjacent decoded pixel group R Y,n of the luminance component at the colocated position of the color difference adjacent pixel group R c, n (hereinafter referred to as the luminance colocated adjacent pixel group R Y,n ) are read from the frame memory 116. ..
[0230]
That is, the luminance colocated block pixel group reduction unit 162 acquires the luminance colocated block pixel group R Y,n from the frame memory 116. Further, the luminance colocated adjacent pixel group reduction unit 163 acquires the luminance colocated adjacent pixel group R Y,n from the frame memory 116.
[0231]
In step S183, the down-sample filter selecting unit 161 selects a down-sample filter that is determined in a one-to-one correspondence with the color difference array type ChromaArrayType and the color difference sample position type ChromaSampleLocType, as shown in the table of FIG.
[0232]
More specifically, the down-sample filter selection unit 161 selects a down-sample filter that generates a luminance sample at the same coordinates as the color difference sample position based on the color difference array type ChromaArrayType and the color difference sample position type ChromaSampleLocType.
[0233]
・For example, as shown in FIG. 38, select a downsample filter that generates a luminance sample at the same coordinates as the color difference sample (target color difference sample) at the (2x,2y) position. To do.
-For example, as shown in FIG. 38, (2x,2y) and its four neighborhoods ((2x,2y-2), (2x-2,2y), (2x+2,2y), (2x,2y+2) )) Select the downsample filter that refers to the luminance sample at the position.
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 39, for example.
[0234]
For example, as shown in FIG. 40, a downsample filter that generates a luminance sample at the same coordinates as the color difference sample (target color difference sample) at the (2x+1,2y) position. Select.
-For example, as shown in FIG. 40, select a down-sample filter that refers to luminance samples at positions (2x,2y) and (2x+2,2y).
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 41, for example.
[0235]
-For
example, as shown in FIG. 42, a down sample that generates a luminance sample at the same coordinates as the color difference sample (target color difference sample) at the (2x,2y+1) position. Select a filter.
-For example, as shown in FIG. 42, a down-sample filter that refers to luminance samples at positions (2x,2y) and (2x,2y+2) is selected.
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 43, for example.
[0236]
For example, as shown in FIG. 44, a luminance sample having the same coordinates as the color difference sample (target color difference sample) at the (2x+1,2y+1) position is generated. Select the down sample filter.
-For example, refer to luminance samples at positions (2x,2y), (2x+2,2y), (2x,2y+2), (2x+2,2y+2) as shown in FIG. Select the down sample filter to be used.
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 45, for example.
[0237]
For example, as shown in FIG. 46, a filter that generates a luminance sample at the same coordinates as the color difference sample (target color difference sample) at the (2x,2y) position is selected.
-For example, as shown in FIG. 46, a filter that refers to luminance samples at (2x,2y) and (2x-2,2y) and (2x+2,2y) positions on the left and right is selected.
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 47, for example.
[0238]
For example, as shown in FIG. 48, a down sample that generates a luminance sample at the same coordinates as the color difference sample (target color difference sample) at the (2x+1,2y) position. Select a filter.
-For example, as shown in FIG. 48, select a down-sample filter that refers to luminance samples at positions (2x,2y) and (2x+2,2y).
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 49, for example.
[0239]
・For example, as shown in FIG. select.
Select a down-sample filter that refers to the luminance sample at the position (2x, 2y) as shown in FIG. 50, for example.
The filter coefficient corresponding to each luminance sample position is as shown in FIG. 51, for example.
[0240]
Note that the down-sample filter that generates the luminance sample at the same coordinates as the color-difference sample position is arbitrary and is not limited to the above example. For example, the number of reference samples may be increased or decreased. The value of the filter coefficient can be changed within a practicable range.
[0241]
Further, the downsample filter may be a separable filter or a non-separable filter. Further, instead of the above-mentioned down-sampling filter, an arbitrary filter such as a linear interpolation filter, a bicubic filter, or a Lanczos filter (Lanchos filter) may be applied.
[0242]
Returning to the flowchart of FIG. 36, in step S184, the luminance colocated adjacent pixel group reducing unit 163 applies the selected down-sample filter to the luminance colocated adjacent pixel group R Y,n to reduce the reduced luminance colocated adjacent pixel group R. ' Generate Y,n . The luminance colocated adjacent pixel group reduction unit 163 supplies the reduced luminance colocated adjacent pixel group R′ Y,n to the prediction parameter derivation unit 152.
[0243]
In step S185, the brightness co-located block pixel group reduction unit 162, the brightness co-located block pixel group R Y, col to, applying the down-samples the selected filter, reduced luminance co-located block pixel group R ' Y, col generates a . The luminance colocated block pixel group reduction unit 162 supplies the reduced luminance colocated block pixel group R′ Y,col to the color difference predicted image generation unit 153.
[0244]
In step S186, the prediction parameter derivation unit 152, based on the supplied reduced-luminance colocated adjacent pixel group R′ Y,n and color-difference adjacent pixel group R C,n , is linear for each class i used for Luma/Chroma prediction. Prediction parameters (α i , β i ) are derived.
[0245]
More specifically, the prediction parameter derivation unit 152 derives prediction parameters for the corresponding number of classes with reference to the inter-component prediction information (of which, the multi-class linear prediction mode flag mclm_flag).
[0246]
For example, when the multi-class linear prediction mode flag mclm_flag==0 (false) (in the single class mode), the prediction parameter derivation unit 152 uses the prediction parameter α 1 (equation ( The scaling term α) in 1) and the prediction parameter β 1 (offset term β in equation (1)) are derived.
[0247]
Further, for example, when the multi-class linear prediction mode flag mclm_flag==1 (true) (in the case of the multi-class (here, two classes) mode), the prediction parameter derivation unit 152 causes the reduced luminance colocated adjacent pixel group R ' Calculate the threshold Thr from Y,n . The method of determining the threshold Thr is arbitrary. For example, it may be an average value.
[0248]
Next, the prediction parameter derivation unit 152 assigns the class label j (j=1, 2) to the reduced luminance colocated adjacent pixel group R′ Y,n based on the obtained threshold Thr . The same class label j (j=1,2) is assigned to each color difference adjacent pixel group R C,n located at the same coordinate as each reduced luminance colocated adjacent pixel group R′ Y,n .
[0249]
Then, the prediction parameter derivation unit 152, for each class j, reduced luminance collocated adjacent pixel groups R belonging to each class j ' Y, n, j , reduced luminance collocated adjacent pixel groups R' Y, n, j with reference to , Prediction parameters α j and β j are derived from equation (2) .
[0250]
In
the multi-class mode, the number of classes is not limited to 2, and it may be assumed that the number of classes is 3 or more and the prediction parameter for each class may be derived. When the number of classes is two or more, for example, the K-means method may be used as the class classification method.
[0251]
Returning to the flowchart in FIG. 36, in step S187, the color difference prediction image generation unit 153 refers to the prediction parameters (α j , β j ) for each class j derived as described above, and refers to the reduced luminance colocated block pixel group. A color difference prediction image Pred C is generated from R′ Y,col .
[0252]
For example, when the multi-class linear prediction mode flag mclm_flag==0 (false) (in the single class mode), the color difference prediction image generation unit 153 refers to the prediction parameters (α 1 , β 1 ) and formula ( The color difference prediction image Pred C is generated based on 1) .
[0253]
Further, for example, when the multi-class linear prediction mode flag mclm_flag==1 (true) (in the case of multi-class (here, two classes) mode), the color difference prediction image generation unit 153 is derived by the prediction parameter derivation unit 152. The color difference prediction image Pred C is generated based on the equation (5) with reference to the threshold Thr and the prediction parameters (α j , β j ) of each class j .
[0254]
That is, for example, when the value of a certain reduced luminance colocated block pixel group RecL'[x,y] is equal to or smaller than the threshold Thr, the color difference prediction image generation unit 153 classifies the class as a class 1 and predicts the prediction parameter (α 1 ,β 1 ) is used for linear prediction to derive the prediction value Pred C [x,y] of the color difference component at the same coordinates .
[0255]
Further, for example, when the value of a certain reduced luminance co-located block pixel group Rec L '[x, y] is larger than the threshold Thr, the color difference prediction image generation unit 153 classifies it as class 2 and predicts the prediction parameter ( The predicted value Pred C [x, y] of the color difference component at the same coordinate is derived by performing linear prediction using α 2 ,β 2 ) .
[0256]
The processing for each step may be changed within a practicable range. Also, the order of steps may be changed within a practicable range.
[0257]
Returning to the flowchart of FIG. 36, when the process of step S187 ends, the process returns to FIG.
[0258]
As described above, the Luma/Chroma prediction unit 141 can derive the predicted image Pred C of the color difference component . As described above, the Luma/Chroma prediction unit 141 generates a luminance sample at the same coordinate as the color difference sample position based on the color difference array type and the color difference sample position information in both the single class mode and the multiclass mode. By selecting the down-sample filter, it is possible to generate the reduced luminance colocated adjacent pixel group R′ Y,n in which the phase shift from the luminance colocated adjacent pixel group R Y,n is reduced . Therefore, since the phase shift is small, more accurate prediction parameters (α, β) can be derived. Therefore, it is possible to suppress a reduction in encoding efficiency.
[0259]
In addition, the Luma/Chroma prediction unit 141 is a down-sample filter that generates luminance samples at the same coordinates as the color difference sample positions based on the color difference array type and the color difference sample position information in both the single class mode and the multi-class mode. the by selecting the luminance co-located block pixel group R Y, col reduced luminance with reduced phase difference between the color difference components from the co-located block pixel group R ' Y, col can generate. Therefore, in both the single-class mode and the multi-class mode, the reduced luminance colocated block pixel group R′ Y,col with the reduced phase shift is used , and more accurate prediction parameters (α, β) are used, and the conventional technique is used. It is possible to generate a more accurate predicted image as compared with. That is, the coding efficiency is improved.
[0260]
Further, the color difference format is not limited to the 420 format, and the Luma/Chroma prediction corresponding to the 422 format and the 444 format can be performed. That is, since the Luma/Chroma prediction can be applied to the 422 format and the 444 format, the coding efficiency is improved.
[0261]
Next, Cb/Cr residual prediction will be described. As described above with reference to FIG. 31, the CC prediction unit 134 includes the Cb/Cr residual prediction unit 142. FIG. 52 is a block diagram showing a main configuration example of the Cb/Cr residual prediction unit 142.
[0262]
As shown in FIG. 52, the Cb/Cr residual difference prediction unit 142 includes a residual difference prediction parameter derivation unit 171 and a color difference predicted image correction unit 172. The residual prediction parameter derivation unit 171 performs a process for deriving a residual prediction parameter that is a parameter used for inter-color difference residual prediction (Cr/Cb residual prediction) performed to correct a predicted image of a Cr component. To do. The color difference predicted image correction unit 172 performs processing relating to correction of the predicted image of the Cr component.
[0263]
That is, the color difference prediction image correction unit 172 converts the prediction image of the Cr component generated by the color difference prediction image generation unit 153 into the prediction residual of the colocated block of the Cb component corresponding to the prediction image of the (current CU) Cr component. Use to correct.
[0264]
Further, the residual prediction parameter derivation unit 171 is a parameter used for correcting the predicted image of the Cr component based on the adjacent pixel adjacent to the predicted image of the Cr component and the adjacent pixel adjacent to the colocated block of the Cb component. Derive a residual prediction parameter. The color difference prediction image correction unit 172 performs color difference residual prediction using the derived residual prediction parameter, and corrects the Cr component predicted image.
[0265]
Next, referring to the flowchart of FIG. 53, the Cb/Cr residual difference prediction unit 142 performs the inter-component linear prediction process described with reference to the flowchart of FIG. An example of the flow of the inter-color difference residual prediction process executed in step S172 will be described.
[0266]
When the inter-color difference residual prediction process is started, the Cb/Cr residual difference prediction unit 142, in step S201, the prediction image P Cr ( of the prediction target block of the Cr component generated by the Luma/Chroma prediction unit 141 ). Hereinafter, the Cr predicted image P Cr ) and the adjacent decoded pixel group R Cr,n (hereinafter also referred to as Cr adjacent pixel group R Cr,n ) stored in the frame memory 116 are read.
[0267]
The Cb/Cr residual prediction unit 142 supplies the Cr adjacent pixel group R Cr,n to the residual prediction parameter derivation unit 171. The Cb/Cr residual difference prediction unit 142 also supplies the Cr predicted image PCr to the color difference predicted image correction unit 172.
[0268]
In step S202, the Cb/Cr residual prediction unit 142 causes the adjacent decoded pixel group R Cb,n of the Cb component located at the collocated position of the Cr adjacent pixel group R Cr ,n (hereinafter, Cb collocated adjacent pixel group R Cb, ( also referred to as n ) is read from the frame memory 116. The Cb/Cr residual prediction unit 142 supplies the Cb collocated adjacent pixel group R Cb,n to the residual prediction parameter derivation unit 171.
[0269]
In step S203, the Cb/Cr residual prediction unit 142 inversely quantizes and inversely transforms the prediction target block (Cr prediction image P Cr ) of the Cr component and the transform coefficient Coeff of the collocated block of the Cb component located at the collocated position. The prediction residual Resi (hereinafter referred to as Cb collocated prediction residual Resi Cb ) obtained by the above is read. The Cb/Cr residual difference prediction unit 142 supplies the Cb collocated prediction residual Resi Cb to the color difference predicted image correction unit 172.
[0270]
In step S204, the residual prediction parameter deriving unit 171 uses the residual Cr adjacent pixel group R Cr,n and the Cb collocated adjacent pixel group R Cb,n that are used for residual prediction between Cb/Cr. The difference prediction parameter α is derived.
[0271]
More specifically, the residual prediction parameter derivation unit 171 derives the residual prediction parameter α (the scaling term α in the above equation (10)) based on the above equation (11).
[0272]
In step S205, the color difference prediction image correction unit 172 performs residual prediction using the residual prediction parameter α and the supplied Cb collocated prediction residual Resi Cb, and corrects the Cr prediction image P Cr .
[0273]
More specifically, the color difference prediction image correction unit 172, based on equation (10) above, Cb collocated prediction residual Resi Cb to alpha · Resi multiplied by the prediction parameter alpha Cb and Cr predicted image P Cr and Addition is performed to generate a corrected Cr prediction image P * Cr .
[0274]
Cr predicted image P as described above Cr corrected Cr predicted image P was corrected * Cr Once obtained, the color actively residual prediction process is completed, the process returns to FIG. 35.
[0275]
As described above, the Cb/Cr residual prediction unit 142 can correct the predicted image Pred Cr of the Cr component .
[0276]
Note that the processing for each step described above may be changed within a feasible range. Also, the order of steps may be changed within a practicable range.
[0277]
The flow
of the above image decoding processing (CU level decoding processing) for one CU will be described with reference to the flowchart in FIG. 54.
[0278]
When the CU level decoding process is started, in step S221, the decoding unit 111 parses the syntax group related to the decoding target CU (also referred to as the current CU) from the encoded data and acquires the syntax group.
[0279]
In step S222, the prediction unit 114 generates a predicted image of the brightness component.
[0280]
In step S223, the inverse quantization unit 112 and the inverse transformation unit 113 perform the inverse quantization and inverse transformation, and the transformed coefficient after the quantization of the luminance component of the current CU obtained by decoding the encoded data by the decoding unit 111. To predict residuals.
[0281]
In step S224, the calculation unit 115 decodes the brightness component of the current CU using the prediction residual of the brightness component obtained by the process of step S223 and the prediction image of the brightness component obtained by the process of step S222. Restore the image.
[0282]
In step S225, the prediction unit 114 performs inter-component linear prediction processing to generate a prediction image of a color difference component (Cb) for the current CU from the decoded image of the luminance component obtained by the processing of step S224.
[0283]
In step S226, the inverse quantization unit 112 and the inverse transformation unit 113 perform the inverse quantization and inverse transformation, and after the quantization of the color difference component (Cb) of the current CU obtained by decoding the encoded data by the decoding unit 111. Transform the transformation coefficient of to the prediction residual.
[0284]
In step S227, the calculation unit 115 uses the prediction residual of the color difference component (Cb) obtained by the process of step S226 and the prediction image of the color difference component (Cb) obtained by the process of step S225 to determine the current Restore the decoded image of the color difference component (Cb) of the CU.
[0285]
In step S228, the prediction unit 114 performs inter-component linear prediction processing to generate a color difference component (Cr) predicted image for the current CU from the decoded image of the luminance component obtained by the processing of step S224.
[0286]
In step S229, the prediction unit 114 performs inter-color difference residual prediction (Cb/Cr residual error prediction), and uses the prediction residual of the color difference component (Cb) to calculate the current CU of the current CU obtained in step S228. Correct the predicted image of the color difference component (Cr).
[0287]
In step S230, the inverse quantization unit 112 and the inverse transformation unit 113 perform the inverse quantization and inverse transformation, and after the quantization of the color difference component (Cr) of the current CU obtained by decoding the encoded data by the decoding unit 111. Transform the transformation coefficient of to the prediction residual.
[0288]
In step S231, the calculation unit 115 uses the prediction residual of the color difference component (Cr) obtained by the process of step S229 and the corrected prediction image of the color difference component (Cr) obtained by the process of step S230. Then, the decoded image of the color difference component (Cr) of the current CU is restored.
[0289]
When the process of step S231 ends, the CU level decoding process ends.
[0290]
By executing the CU level decoding process as described above for each CU, the image decoding device 100 can obtain the decoded image of each CU by using the inter-component linear prediction process and the inter-color difference residual prediction.
[0291]
As described above, the image decoding device 100, which is an embodiment of the image processing device to which the present technology is applied, uses the filter selected based on the information about the pixel position of the color difference component and the information about the color format to determine the pixels. A prediction unit that predicts the pixel value of the color difference component by linear prediction from the pixel value of the reference image of the luminance component whose position has been changed, and generates a prediction image of the color difference component, and the prediction image generated by the prediction unit is used. And a decoding unit that decodes the color difference component of the encoded data in which the image is encoded.
[0292]
That is, the image decoding apparatus 100 performs linear prediction from the pixel value of the reference image of the luminance component whose pixel position has been changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format. A pixel value of the color difference component is predicted, a predicted image of the color difference component is generated, and the generated predicted image is used to decode the color difference component of the encoded data in which the image is encoded.
[0293]
Therefore, the image decoding device 100 can suppress the reduction in encoding efficiency, as described above.
[0294]
<3. Second Embodiment>
Next, coding for generating coded data decoded as described above will be described. FIG. 55 is a block diagram illustrating an example of a configuration of an image encoding device that is one aspect of an image processing device to which the present technology is applied. The image encoding device 200 shown in FIG. 55 is an image encoding device corresponding to the image decoding device 100 of FIG. 15, and encodes encoded data (bit stream) decoded by the image decoding device 100 into the image decoding device 100. It is generated by encoding an image with an encoding method corresponding to the decoding method according to. For example, the image encoding device 200 implements the technology proposed by HEVC and the technology proposed by JVET.
[0295]
Note that FIG. 55 illustrates main components such as a processing unit and a data flow, and the components illustrated in FIG. 55 are not limited to all. That is, in the image encoding device 200, a processing unit not shown as a block in FIG. 55 may exist, or a process or data flow not shown as an arrow or the like in FIG. 55 may exist.
[0296]
As shown in FIG. 55, the image encoding device 200 includes a control unit 201, a prediction unit 211, a calculation unit 212, a conversion unit 213, a quantization unit 214, an inverse quantization unit 215, an inverse conversion unit 216, an operation unit 217, and It has a frame memory 218, a loop filter unit 219, and an encoding unit 220.
[0297]
The
control unit 201 divides the moving image #2 into blocks (CU, PU, conversion blocks, etc.) of the processing unit based on the block size of the processing unit designated externally or in advance, and is divided. The image I corresponding to the block is input to the calculation unit 212. Further, the control unit 201 determines the coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to be supplied to each block, for example, based on RDO (Rate-Distortion Optimization). .. The determined coding parameter is supplied to each block. Specifically, it is as follows.
[0298]
The header information Hinfo is supplied to each block.
The prediction mode information Pinfo is supplied to the encoding unit 220 and the prediction unit 211.
The transform information Tinfo is supplied to the encoding unit 220, the transforming unit 213, the quantizing unit 214, the inverse quantizing unit 215, and the inverse transforming unit 216.
The filter information Finfo is supplied to the loop filter unit 219.
[0299]
The
prediction unit 211, like the prediction unit 114 of the image decoding device 100, performs a process related to generation of a predicted image. For example, the prediction unit 211 receives the prediction mode information Pinfo supplied from the control unit 201 as input, and stores it in the frame memory 218 specified by the prediction mode information Pinfo by the prediction method specified by the prediction mode information Pinfo. The decoded image R′ after filtering (or the decoded image R before filtering) is used as a reference image to generate a predicted image P, which is output to the calculation unit 212.
[0300]
The
calculation unit 212 receives the image I corresponding to the block of the processing unit and the predicted image P supplied from the prediction unit 211, and calculates the predicted image P from the image I in the following formula (20). Thus, the prediction residual D is derived and output to the conversion unit 213.
[0301]
D = I - P ・・・(20)
[0302]
The
transforming unit 213 is an inverse process of the inverse transforming unit 113, receives the prediction residual D and the transformation information Tinfo as input, and applies the transformation to the prediction residual D based on the transformation information Tinfo. , The conversion coefficient Coeff is derived and output to the quantization unit 214.
[0303]
The
quantization unit 214 is an inverse process of the inverse quantization unit 112, receives the conversion information Tinfo and the conversion coefficient Coeff as input, and scales (quantizes) the conversion coefficient Coeff based on the conversion information Tinfo. , And outputs the quantized transform coefficient, that is, the quantized transform coefficient level level to the encoding unit 220.
[0304]
The
dequantization unit 215 has the same configuration as the dequantization unit 112 and performs the same processing. That is, the inverse quantization unit 215 performs the inverse process of the quantization unit 214.
[0305]
The
inverse transform unit 216 has the same configuration as the inverse transform unit 113 and performs the same processing. That is, the inverse conversion unit 216 performs an inverse process with the conversion unit 213.
[0306]
The
calculation unit 217 adds the prediction residual D′ and the prediction image P corresponding to the prediction residual D′ to derive the local decoded image R local .
[0307]
The
frame memory 218 performs processing related to storage of data related to images. For example, the frame memory 218 receives the locally decoded image R local supplied from the calculation unit 217 as an input, reconstructs the decoded image R for each picture unit, and stores the decoded image R in the buffer in the frame memory 218. The frame memory 218 reads the decoded image R from the buffer and supplies it to the loop filter unit 219.
[0308]
The
loop filter unit 219 performs processing relating to loop filter processing. For example, the loop filter unit 219 reads the decoded image R from the frame memory 218 and generates the filtered decoded image R′ by the loop filter process specified by the filter information Finfo. The loop filter unit 219 also supplies the decoded image R′ after filtering to the frame memory 218. The loop filter processing performed by the loop filter unit 219 includes a deblocking filter (DBF (DeBlocking Filter)), a pixel adaptive offset (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)). And other linear and non-linear filters (Wiener filter, bilateral filter, etc.) are included.
[0309]
The
encoding unit 220 performs encoding, which is the reverse process of the decoding performed by the decoding unit 111. For example, the encoding unit 220 uses the encoding parameters (header information, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) supplied from the control unit 201 in accordance with the definition of the syntax table, The quantized conversion coefficient level level supplied from the encoding unit 214 is converted into the syntax value of each syntax element, each syntax value is subjected to variable length coding (for example, arithmetic coding), and a bit string (coded data). ) Is generated.
[0310]
The encoding unit 220 derives the residual information Rinfo from the quantized transform coefficient level level, encodes the residual information Rinfo, and generates a bit string. In addition, the encoding unit 220 multiplexes the bit string of each variable-length encoded syntax element to generate and output encoded data #1.
[0311]
That is, the calculation unit 212 to the quantization unit 214, and the encoding unit 220 act as an encoding unit that encodes the color difference component of the image using the prediction image generated by the prediction unit 211.
[0312]
Next, a process executed in the image coding device 200 having the above configuration will be described. The image encoding device 200 performs, for example, a process related to image encoding by executing an image encoding process.
[0313]
When the image coding process is started, in step S241, the control unit 201 performs a coding control process, block division, setting of coding parameters, and the like. In step S242, the prediction unit 211 performs a prediction process to generate a predicted image and the like in the optimum prediction mode.
[0314]
In step S243, the calculation unit 212 calculates the difference between the input image and the predicted image of the optimum mode selected by the prediction process of step S242. That is, the calculation unit 212 generates the prediction residual D between the input image and the predicted image. The prediction residual D thus obtained has a smaller data amount than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
[0315]
In step S244, the conversion unit 213 performs a conversion process on the prediction residual D generated by the process of step S243 to derive a conversion coefficient Coeff. It should be noted that this conversion process is an inverse process of the inverse conversion process of step S103, and is an inverse process of the inverse conversion process executed in the image decoding process described above.
[0316]
In step S245, the quantization unit 214 quantizes the transform coefficient Coeff obtained by the process of step S244 by using the quantization parameter calculated by the control unit 201, and derives the quantized transform coefficient level level. .
[0317]
In step S246, the dequantization unit 215 dequantizes the quantized transform coefficient level level generated by the process of step S245 with a characteristic corresponding to the quantization characteristic, and derives a transform coefficient Coeff_IQ.
[0318]
In step S247, the inverse transform unit 216 inversely transforms the transform coefficient Coeff_IQ obtained by the process of step S246 by a method corresponding to the transform process of step S244 to derive the prediction residual D′. It should be noted that this inverse conversion process is executed in the same manner as the inverse conversion process executed in the image decoding process described above.
[0319]
In step S248, the calculation unit 217 adds the prediction image obtained by the prediction process of step S242 to the prediction residual D′ derived by the process of step S247 to obtain the locally decoded decoded image. To generate.
[0320]
In step S249, the frame memory 218 stores the locally decoded decoded image obtained by the process of step S248.
[0321]
In step S250, the encoding unit 220 encodes the quantized transform coefficient level level obtained by the process of step S245. For example, the encoding unit 220 encodes the quantized transform coefficient level level, which is information about an image, by arithmetic encoding or the like to generate encoded data. In addition, at this time, the encoding unit 220 encodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo). Further, the encoding unit 220 derives residual information Rinfo from the quantized transform coefficient level level and encodes the residual information Rinfo.
[0322]
In step S251, the loop filter unit 219 performs a predetermined filter process on the locally decoded image stored in the frame memory 218. When the process of step S251 ends, the image coding process ends. In step S251, the locally decoded image after the filtering is stored in the frame memory 218.
[0323]
When the process of step S251 ends, the image coding process ends.
[0324]
Referring to the flowcharts of FIGS. 57 and 58, the control information of inter-component prediction (inter-component prediction information CCInfo) and the color difference intra prediction mode IntraPredModeC executed in step S250 of FIG. 56. An example of the flow of the encoding process and the encoding process of the related syntax etc. (coding_unit()) will be described. Note that FIG. 20 is an example of the syntax table of coding_unit() corresponding to the flowcharts of FIGS. 57 and 58.
[0325]
When the decoding process is started, the encoding unit 220 encodes the inter-component prediction valid flag ccp_enabled_flag and adds it to the encoded data according to the control of the control unit 201 in step S261.
[0326]
In step S261, the encoding unit 220 determines whether or not the condition 1 shown in the above equation (13) is satisfied. That is, the encoding unit 220 determines whether the inter-component prediction valid flag ccp_enabled_flag is 1 (true). When it is determined that the above expression (13) is satisfied (when it is determined that ccp_enabled_flag is 1 (true)), the process proceeds to step S263.
[0327]
In step S263, the encoding unit 220 encodes the inter-component prediction flag ccp_flag according to the control of the control unit 201 and adds it to the encoded data. When the process of step S263 ends, the process proceeds to step S264. Further, in step S262, when it is determined that the above expression (13) is not satisfied (when it is determined that ccp_enabled_flag is 0 (false)), the process of step S263 is skipped (omitted), and the process is performed. It proceeds to S264.
[0328]
In step S264, the encoding unit 220 determines whether or not the condition 2 shown in the above equation (14) is satisfied. That is, the encoding unit 220 determines whether the inter-component prediction flag ccp_flag is 0 (false). When it is determined that the above expression (14) is satisfied (when it is determined that ccp_flag is 0 (false)), the process proceeds to step S265.
[0329]
The above equation (14) may be changed to another determination equation as long as an equivalent result is obtained. For example, the above equation (15) may be substituted.
[0330]
In step S265, the encoding unit 220 encodes the color difference MPM identifier chroma_mpm_idx and adds it to the encoded data. When the process of step S265 ends, the encoding process ends, and the process returns to FIG.
[0331]
Further, when it is determined in step S264 in FIG. 57 that the above expression (14) is not satisfied (when it is determined that ccp_flag is 1 (true)), the process proceeds to FIG. 58.
[0332]
In step S271 of FIG. 58, the encoding unit 220 determines whether or not the condition 3 shown in the above equation (17) is satisfied. That is, the encoding unit 220 determines whether the size (widthC*heightC) of the color difference encoding block is the MCLM minimum block size MCLMMinBlkSize or more and the MCLM maximum block size MCLMMaxBlkSize or less. In the above expression (17), the part that compares the size of the color difference block and the threshold value may be replaced with the logarithmic expression shown in the above expression (18).
[0333]
When it is determined that Expression (17) is satisfied (when it is determined that the size (widthC*heightC) of the color difference encoding block is MCMC minimum block size MCLMMinBlkSize or more and MCLM maximum block size MCLMMaxBlkSize or less) The process proceeds to step S272.
[0334]
In step S272, the encoding unit 220 encodes the multi-class linear prediction mode flag mclm_flag and adds it to the encoded data. When the process of step S272 ends, the process proceeds to step S273. If it is determined in step S271 that the expression (17) is not satisfied (the color difference coding block size (widthC*heightC) is smaller than the MCLM minimum block size MCLMMinBlkSize or larger than the MCLM maximum block size MCLMMaxBlkSize. If it is determined that), the process of step S272 is skipped, and the process proceeds to step S273.
[0335]
In step S273, the encoding unit 220 determines whether or not the condition 4 shown in the above equation (19) is satisfied, that is, whether or not the color difference array type ChromaArrayType is CHROMA_420 or CHROMA_422.
[0336]
When it is determined that Expression (19) is satisfied (when it is determined that the color difference array type ChromaArrayType is CHROMA_420 or CHROMA_422), the process proceeds to step S274.
[0337]
In step S274, the encoding unit 220 encodes the color difference sample position information chroma_sample_loc_info() according to the definition of the syntax table and includes it in the encoded data under the control of the control unit 201.
[0338]
For example, the encoding unit 220 encodes the bin string bin of the color difference sample position type identifier information chroma_sample_loc_type_idx according to the definition of the syntax table shown in FIG. The bin string is obtained by binarizing the color difference sample position type identifier information chroma_sample_loc_type_idx.
[0339]
When the process of step S274 ends, the process returns to FIG. 57, the encoding process ends, and the process returns to FIG. 56.
[0340]
If it is determined in step S273 in FIG. 58 that expression (19) is not satisfied (if it is determined that the color difference array type ChromaArrayType is neither CHROMA_420 nor CHROMA_422), the process of step S274 is skipped. , The process returns to FIG. 57, the encoding process ends, and the process returns to FIG. 56.
[0341]
Note that the above-described image encoding process and encoding process may be performed within a practicable range by changing the order of the processes in each step or changing the content of the process.
[0342]
As described above, the encoding unit 220 encodes the color difference sample position information chroma_sample_loc_info() indicating the sample position of the color difference component with respect to the sample of the luminance component, as a part of the inter-component prediction information CCInfo. Therefore, in the Luma/Chroma prediction unit 141 (intra prediction unit 231), a down-sample filter that reduces the phase shift between the color difference component and the luminance component based on the color difference array type ChromaArrayType and the color difference sample position information chroma_sample_loc_info(). It becomes selectable. Therefore, the image coding apparatus 200 can perform inter-component prediction with a reduced phase shift, and can suppress a reduction in coding efficiency.
[0343]
An example of the syntax of the color difference sample position information chroma_sample_loc_info() has been described with reference to FIG. 16. However, the syntax of the color difference sample position information chroma_sample_loc_info() is not limited to this example. Instead, for example, the configuration shown in FIG. 26 may be used. That is, the color difference sample position type may be provided with an initial value (default_chroma_sample_loc_type), and the color difference sample position type identifier information chroma_sample_loc_type_idx may be transmitted only when the color difference sample position type is other than the initial value.
[0344]
In step S274 (FIG. 58), the encoding unit 220 encodes the following syntax according to the definition of the syntax table shown in FIG.
[0345]
Default color difference sample position type flag default_chroma_sample_loc_type_flag
Color difference sample position type identifier information chroma_sample_loc_type_idx
[0346]
That is, the encoding unit 220 encodes the default color difference sample position type flag default_chroma_sample_loc_type_flag. Then, when this flag is false (0), the encoding unit 220 further encodes the bin string bin of the color difference sample position type identifier information chroma_sample_loc_type_idx. Note that this bin string is obtained by binarizing the value of the color difference sample position type identifier information chroma_sample_loc_type_idx.
[0347]
In the color difference sample position information chroma_sample_loc_type() based on the definition of the syntax table of FIG. 26, a predetermined type (for example, Type2) that is frequently used as the color difference sample position type can be encoded with one bin. Therefore, the color difference sample position information can be encoded with a smaller code amount than in the case of FIG. That is, it is possible to suppress a reduction in coding efficiency.
[0348]
In
the flowcharts of FIGS. 57 and 58, and in the syntax table of FIG. 20, the configuration example in which the color difference sample position information chroma_sample_loc_info() is encoded for each encoding unit is shown. However, the storage location of the color difference sample position information chroma_sample_loc_info() is not limited to this.
[0349]
Basically, since the color difference sample position type is determined for each sequence, as shown in A in FIG. The information chroma_sample_loc_info() may be encoded. That is, the color difference sample position information chroma_sample_loc_info() may be stored in the header information (VPS/SPS/PPS/SH/CTU) higher than the coding unit.
[0350]
Also in that case, other syntax regarding inter-component linear prediction may be encoded in the header information of the encoding unit, as shown in B of FIG. 28. That is, other syntax related to inter-component linear prediction may be stored in the header information of the coding unit.
[0351]
By doing so, it is possible to reduce the code amount related to the color difference sample position information chroma_sample_loc_info() per coding unit. That is, it is possible to suppress a reduction in coding efficiency.
[0352]
FIG. 59 is a block diagram showing a main configuration example of the prediction unit 211 of the image encoding device 200. As shown in FIG. 59, the prediction unit 211 has an intra prediction unit 231, an inter prediction unit 232, and a predicted image selection unit 233.
[0353]
The intra prediction unit 231 performs processing related to intra prediction. For example, the intra prediction unit 231 acquires a decoded image as a reference image from the frame memory 218, performs intra prediction based on the prediction mode information Pinfo using the decoded image, and generates a predicted image. The intra prediction unit 231 performs intra prediction in each intra prediction mode, and calculates each cost function (or cost). The intra prediction unit 231 supplies the generated predicted image of each intra prediction mode to the predicted image selection unit 233 together with the prediction mode information Pinfo and the like.
[0354]
The inter prediction unit 232 performs processing regarding inter prediction. For example, the inter prediction unit 232 acquires a decoded image as a reference image from the frame memory 116, performs inter prediction based on the prediction mode information Pinfo using the decoded image, and generates a predicted image. The inter prediction unit 232 performs inter prediction in each inter prediction mode, and calculates each cost function. The inter prediction unit 232 supplies the generated prediction image in each inter prediction mode to the prediction image selection unit 233 together with the prediction mode information Pinfo and the like.
[0355]
The predicted image selection unit 233 selects, from the intra predicted image supplied from the intra prediction unit 231, the inter predicted image supplied from the inter prediction unit 232, the predicted image in the optimum prediction mode based on, for example, the cost function or the like. Select. The predicted image selection unit 233 supplies the selected predicted image to the calculation unit 212 and the calculation unit 217.
[0356]
An example of the flow of prediction processing executed by the prediction unit 211 having such a configuration in step S242 of FIG. 56 will be described with reference to the flowchart of FIG.
[0357]
When the prediction process is started, the intra prediction unit 231 performs intra prediction and generates a predicted image in step S291. When the process of step S291 ends, the process proceeds to step S292.
[0358]
In step S292, the inter prediction unit 232 performs inter prediction and generates a predicted image. When the process of step S292 ends, the process proceeds to step S293.
[0359]
In step S293, the intra prediction unit 231 calculates the cost function of each intra prediction mode, the inter prediction unit 232 calculates the cost function of each inter prediction mode, and the prediction image selection unit 233 uses these cost functions. Based on this, the optimum prediction mode (predicted image thereof) is selected.
[0360]
When the process of step S293 ends, the prediction process ends, and the process returns to FIG.
[0361]
By doing so, the prediction unit 211 can encode the predicted image in the optimum prediction mode. Therefore, it is possible to suppress a reduction in encoding efficiency.
[0362]
By the way, the intra prediction unit 231 has basically the same configuration as the intra prediction unit 121 of the image decoding device 100, and performs the same intra prediction. That is, the description of the intra prediction unit 121 described above in the first embodiment can be basically applied to the intra prediction unit 231. For example, the intra prediction unit 231 has a configuration as shown in FIG. That is, the intra prediction unit 231 also includes the DC prediction unit 131 to the CC prediction unit 134.
[0363]
However, unlike the intra prediction unit 121 of the image decoding device 100, the intra prediction unit 231 performs intra prediction in all prediction modes as described above. Further, the parameters used for CC prediction such as the prediction mode information Pinfo are not extracted from the encoded data, but are output from other processing units of the image encoding device 200, such as the control unit 201 and the encoding unit 220. Provided.
[0364]
An example of the flow of intra prediction processing executed by the intra prediction unit 231 in step S291 of FIG. 60 will be described with reference to the flowchart of FIG.
[0365]
When this intra prediction process is started, the DC prediction unit 131 performs DC prediction in step S301 to generate a predicted image. In step S302, the Planar prediction unit 132 performs Planar prediction and generates a predicted image. In step S303, the Angular prediction unit 133 performs Angular prediction and generates a predicted image. In step S304, the CC prediction unit 134 performs CC prediction (inter-component prediction processing) to generate a predicted image.
[0366]
When the process of step S304 ends, the intra prediction process ends, and the process returns to FIG. 60.
[0367]
In this way, the intra prediction unit 231 generates a predicted image in each prediction mode. Therefore, the prediction unit 211 can select the predicted image in the optimum mode. That is, it is possible to suppress a reduction in coding efficiency.
[0368]
Also in this case, the CC prediction unit 134 has basically the same configuration as the case of the first embodiment and performs the same processing. That is, the description of the CC predicting unit 134 described in the first embodiment can be basically applied to this case as well. For example, the CC prediction unit 134 has a configuration as shown in FIG. 30 and executes the inter-component linear prediction processing as described with reference to the flowchart in FIG.
[0369]
Similarly, the Luma/Chroma prediction unit 141 has a configuration as shown in FIG. 32, and executes the luminance/color difference prediction process as described with reference to the flowchart in FIG. 36. Further, the Cb/Cr residual difference prediction unit 142 has a configuration as shown in FIG. 52, and executes the inter-color difference residual difference prediction processing described with reference to the flowchart in FIG.
[0370]
Therefore, the CC predicting unit 134 (Luma/Chroma predicting unit 141 and Cb/Cr residual predicting unit 142) can each obtain the same effects as in the case of the first embodiment. Therefore, it is possible to suppress a reduction in encoding efficiency.
[0371]
An example of the flow of the above image coding process (CU level coding process) for one CU will be described with reference to the flowcharts of FIGS. 62 and 63.
[0372]
When the CU level encoding process is started, in step S321 of FIG. 62, the prediction unit 211 generates a predicted image of the luminance component of the coding target CU (current CU).
[0373]
In step S322, the calculation unit 212 subtracts the predicted image of the brightness component of the current CU generated by the processing of step S321 from the original image of the brightness component of the current CU to generate the prediction residual of the brightness component of the current CU. To do.
[0374]
In step S323, the transformation unit 213 and the quantization unit 214 transform and quantize the prediction residual of the luminance component of the current CU obtained by the process of step S322, and the transformed coefficient of the luminance component of the current CU. Derive.
[0375]
In step S324, the dequantization unit 215 and the detransformation unit 216 transform the quantized transform coefficient of the luminance component of the current CU obtained by the process of step S323 into a prediction residual by dequantization/inverse transformation. To do.
[0376]
In step S325, the calculation unit 217 adds the prediction residual of the luminance component of the current CU obtained by the processing of step S324 and the prediction image of the luminance component of the current CU generated by the processing of step S321 to obtain the current CU. Restore the decoded image of the luminance component of.
[0377]
In step S326, the prediction unit 211 (Luma/Chroma prediction unit 141) generates a prediction image of the color difference component (Cb) of the encoding target CU (current CU).
[0378]
In step S327, the calculation unit 212 subtracts the color difference component (Cb) predicted image of the current CU generated by the process of step S326 from the original image of the color difference component (Cb) of the current CU to obtain the color difference component of the current CU ( Generate the prediction residual of Cb).
[0379]
In step S328, the conversion unit 213 and the quantization unit 214 convert/quantize the prediction residual of the color difference component (Cb) of the current CU obtained by the process of step S327 to obtain the color difference component (Cb) of the current CU. Derive the quantized transform coefficient.
[0380]
In step S329, the dequantization unit 215 and the detransformation unit 216 perform dequantization/inverse transformation to predict the quantized transform coefficient of the color difference component (Cb) of the current CU obtained by the process of step S328. Convert to difference. When the process of step S329 ends, the process proceeds to FIG.
[0381]
In step S331 of FIG. 63, the calculation unit 217 determines the prediction residual of the color difference component (Cb) of the current CU obtained by the process of step S329 and the color difference component (Cb) of the current CU obtained by the process of step S326. , And the decoded image of the color difference component (Cb) of the current CU is restored.
[0382]
In step S332, the prediction unit 211 (Luma/Chroma prediction unit 141) generates a prediction image of the color difference component (Cr) of the encoding target CU (current CU).
[0383]
In step S333, the prediction unit 211 (Cb/Cr residual error prediction unit 142) performs inter-color difference residual error prediction (Cb/Cr residual error prediction) to obtain the prediction residual error of the color difference component (Cb) of the current CU. The predicted image of the color difference component (Cr) of the current CU obtained by the process of step S332 is corrected by using this.
[0384]
In step S334, the calculation unit 212 subtracts the corrected predicted image of the color difference component (Cr) of the current CU obtained by the process of step S333 from the original image of the color difference component (Cr) of the current CU to obtain the current Generate a prediction residual of the CU color difference component (Cr).
[0385]
In step S335, the conversion unit 213 and the quantization unit 214 convert/quantize the prediction residual of the color difference component (Cr) of the current CU obtained by the process of step S334 to convert the color difference component (Cr) of the current CU. Derive the quantized transform coefficient.
[0386]
In step S336, the dequantization unit 215 and the detransformation unit 216 perform dequantization and detransformation to predict the quantized transform coefficient of the color difference component (Cr) of the current CU obtained by the process of step S335. Convert to difference.
[0387]
In step S337, the calculation unit 217 corrects the prediction residual of the color difference component (Cr) of the current CU obtained by the processing of step S336 and the color difference component (Cr) of the current CU obtained by the processing of step S333. , And the decoded image of the color difference component (Cr) of the current CU is restored.
[0388]
In step S338, the encoding unit 220 performs variable-length encoding on the syntax group regarding the encoding target CU.
[0389]
When the process of step S338 ends, the CU level encoding process ends.
[0390]
By executing the CU level encoding process as described above for each CU, the image encoding device 200 obtains the encoded image of each CU by using the inter-component linear prediction process and the inter-color difference residual prediction. You can
[0391]
As described above, the image encoding device 200, which is an embodiment of the image processing device to which the present technology is applied, uses the filter selected based on the information about the pixel position of the color difference component and the information about the color format. From the pixel value of the reference image of the luminance component whose pixel position has been changed, the prediction unit that predicts the pixel value of the color difference component by linear prediction and generates the prediction image of the color difference component, and the prediction image generated by the prediction unit. And a coding unit for coding the color difference component of the image.
[0392]
That is, the image encoding apparatus 200 performs linear prediction from the pixel value of the reference image of the luminance component whose pixel position is changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format. The pixel value of the color difference component is predicted by, a predicted image of the color difference component is generated, and the color difference component of the image is encoded using the generated predicted image.
[0393]
Therefore, the image coding apparatus 200 can suppress the reduction in coding efficiency, as described above.
[0394]
<4. Third Embodiment>
The execution of correction of the predicted image of the Cr component by the residual difference prediction between colors may be controlled. For example, the control information for controlling the inter-color difference residual prediction may be transmitted from the image encoding device 200 to the image decoding device 100. As the control information, for example, the inter-color difference residual prediction flag chroma_resi_pred_flag may be transmitted.
[0395]
The inter-color difference residual prediction flag chroma_resi_pred_flag is flag information that specifies whether to perform inter-color difference residual prediction. For example, when the value is "0" (false), the inter-color difference residual prediction process is skipped (omitted). Further, for example, when the value is “1” (true), the inter-color difference residual prediction process is executed.
[0396]
By using such flag information, it becomes possible to control whether or not to execute the inter-color difference residual prediction. Therefore, since it is possible to suppress the unnecessary inter-color difference residual prediction, it is possible to suppress an increase in encoding/decoding load and processing time.
[0397]
Further, as the control information, the inter-color difference residual prediction valid flag chroma_resi_pred_enabled_flag may be transmitted.
[0398]
The inter-color difference residual prediction valid flag chroma_resi_pred_enabled_flag is flag information indicating whether the inter-color difference residual prediction flag chroma_resi_pred_flag is valid. That is, by using this flag information, it is possible to control whether or not to permit control of whether or not to execute the inter-color difference residual prediction.
[0399]
For example, when the value of the inter-color difference residual prediction flag chroma_resi_pred_enabled_flag is “0” (false), the inter-color difference residual prediction flag chroma_resi_pred_flag is invalid and is not transmitted. Further, for example, when the value of the inter-color difference residual prediction prediction flag chroma_resi_pred_enabled_flag is "1" (true), the inter-color difference residual prediction flag chroma_resi_pred_flag is valid and is transmitted.
[0400]
That is, only when the value of the inter-color difference residual prediction valid flag chroma_resi_pred_enabled_flag is “1” (true), it is possible to control whether or not to perform the inter-color difference residual prediction.
Claim
The scope of the claims
[Request 1]The pixel value of the color difference component is predicted by linear prediction from the pixel value of the reference image of the luminance component whose pixel position has been changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format. An image processing apparatus including: a prediction unit that generates a prediction
image of a color difference component; and a decoding unit that decodes the color difference component of encoded data in which the image is encoded using the prediction image generated by the prediction
unit. ..
[Request 2]
The
prediction unit further includes a filter selection unit that selects a filter that changes a pixel position of a reference image of a luminance component based on information about a pixel position of the color difference component and information about the color format. from the pixel value of the reference image of the luminance component pixel position is changed by using the selected filter by, predicts the pixel value of the color difference component by linear prediction, configured to generate a predicted image of the color difference components
according The image processing device according to item 1.
[Request 3]
The filter selection unit, in a candidate group corresponding to a plurality of color formats, a candidate according to a color format of a format specified by information about the color format and information about a pixel position of the color difference component,
The image processing apparatus according to claim 2, wherein the image processing apparatus is selected as a filter .
[Request 4]
The filter selection unit comprises: a linear prediction mode information is information about the mode of the linear prediction, and information about the pixel position of the color difference component, based on the information on the color format, select the filter
to claim 2 The image processing device described.
[Request 5]
It further comprises a filter processing unit that changes the pixel position of the reference image of the luminance component using the filter selected by the filter selection unit, and the
prediction unit refers to the luminance component whose position is changed by the filter processing unit.
The image processing apparatus according to claim 2, wherein the pixel value of the color difference component is predicted from the pixel value of the image by linear prediction to generate a predicted image of the color difference component .
[Request 6]
The color difference component includes a Cb component and
a Cr component, the predicted image of the Cr component generated by the prediction unit, using the colocated block of the Cb component corresponding to the predicted image of the Cr component, between the color difference to be corrected.
The image processing apparatus according to claim 1, further comprising a residual prediction unit .
[Request 7]
The decoding unit acquires information about the pixel position of the color difference component included in the encoded data, the
prediction unit, the pixel position based on the information about the pixel position of the color difference component acquired by the decoding unit
The image processing device according to claim 1 , wherein a predicted image of a color difference component is generated by the linear prediction using the pixel value of the reference image of the changed luminance component .
[Request 8]
The decoding unit acquires the inter-color difference residual prediction information indicating whether or not the predicted image of the Cr component included in the encoded data is corrected using the colocated block of the Cb component corresponding to the predicted image of the Cr component.
The image processing apparatus according to claim 1.
[Request 9]
The decoding unit, which is included in the encoded data, acquires inter-color difference residual prediction valid information indicating whether the inter-color difference residual prediction information is valid, and the inter-color difference residual prediction valid information indicates the inter-color difference residual prediction valid information.
The image processing device according to claim 8 , wherein when the inter-color difference residual prediction information is shown to be valid, the inter-color difference residual prediction information included in the encoded data is acquired .
[Request Item 10]
The pixel value of the color difference component is predicted by linear prediction from the pixel value of the reference image of the luminance component whose pixel position has been changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format.
An
image processing method of generating a predicted image of a color difference component and using the generated predicted image to decode the color difference component of encoded data in which the image is encoded .
[Request 11]
The pixel value of the color difference component is predicted by linear prediction from the pixel value of the reference image of the luminance component whose pixel position has been changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format. An image processing apparatus
comprising: a prediction unit that generates a prediction image of a color difference component; and a coding unit that codes the color difference component of the image using the prediction image generated by the prediction
unit.
[Request Item 12]
The
prediction unit further includes a filter selection unit that selects a filter that changes a pixel position of a reference image of a luminance component based on information about a pixel position of the color difference component and information about the color format. from the pixel value of the reference image of the luminance component pixel position is changed by using the selected filter by, predicts the pixel value of the color difference component by linear prediction, configured to generate a predicted image of the color difference components
according Item 12. The image processing device according to item 11.
[Request 13]
The filter selection unit, in a candidate group corresponding to a plurality of color formats, a candidate according to a color format of a format specified by information about the color format and information about a pixel position of the color difference component,
The image processing apparatus according to claim 12, which is selected as a filter .
[Request Item 14]
The filter selection unit comprises: a linear prediction mode information is information about the mode of the linear prediction, and information about the pixel position of the color difference component, based on the information on the color format, select the filter
to claim 12 The image processing device described.
[Request Item 15]
It further comprises a filter processing unit that changes the pixel position of the reference image of the luminance component using the filter selected by the filter selection unit, and the
prediction unit refers to the luminance component whose position has been changed by the filter processing unit.
The image processing apparatus according to claim 12, configured to predict a pixel value of a color difference component by linear prediction from a pixel value of the image and generate a predicted image of the color difference component .
[Request 16]
The color difference component includes a Cb component and
a Cr component, the predicted image of the Cr component generated by the prediction unit, using the colocated block of the Cb component corresponding to the predicted image of the Cr component, between the color difference to be corrected.
The image processing device according to claim 11, further comprising a residual prediction unit .
[Request Item 17]
The image processing device according to claim 11, wherein the encoding unit adds information regarding a pixel position of the color difference component to encoded data .
[Request Item 18]
The encoding unit adds color energetically residual prediction information indicating corrected using the co-located block of the Cb component corresponding to the prediction image of the Cr component predicted image of Cr component in the encoded data
according to claim 11 The image processing device according to.
[Request Item 19]
The encoding unit adds the inter-color difference residual prediction valid information indicating whether or not the inter-color difference residual prediction information is valid to the encoded data, and the inter-color difference residual prediction valid information indicates the inter-color difference
The image processing device according to claim 18, wherein the residual difference information between color differences is added to the encoded data when the residual difference prediction information is shown to be valid .
[Request Item 20]
The pixel value of the color difference component is predicted by linear prediction from the pixel value of the reference image of the luminance component whose pixel position has been changed using the filter selected based on the information about the pixel position of the color difference component and the information about the color format.
An
image processing method for generating a predicted image of a color difference component, and encoding the color difference component of the image using the generated predicted image .
| # | Name | Date |
|---|---|---|
| 1 | 202017009727-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [06-03-2020(online)].pdf | 2020-03-06 |
| 2 | 202017009727-STATEMENT OF UNDERTAKING (FORM 3) [06-03-2020(online)].pdf | 2020-03-06 |
| 3 | 202017009727-PROOF OF RIGHT [06-03-2020(online)].pdf | 2020-03-06 |
| 4 | 202017009727-PRIORITY DOCUMENTS [06-03-2020(online)].pdf | 2020-03-06 |
| 5 | 202017009727-POWER OF AUTHORITY [06-03-2020(online)].pdf | 2020-03-06 |
| 6 | 202017009727-FORM 1 [06-03-2020(online)].pdf | 2020-03-06 |
| 7 | 202017009727-DRAWINGS [06-03-2020(online)].pdf | 2020-03-06 |
| 8 | 202017009727-DECLARATION OF INVENTORSHIP (FORM 5) [06-03-2020(online)].pdf | 2020-03-06 |
| 9 | 202017009727-COMPLETE SPECIFICATION [06-03-2020(online)].pdf | 2020-03-06 |
| 10 | 202017009727-FORM 3 [25-06-2020(online)].pdf | 2020-06-25 |
| 11 | 202017009727-FORM 18 [04-08-2021(online)].pdf | 2021-08-04 |
| 12 | abstract.jpg | 2021-10-19 |
| 13 | 202017009727.pdf | 2021-10-19 |
| 14 | 202017009727-OTHERS-160320.pdf | 2021-10-19 |
| 15 | 202017009727-Correspondence-160320.pdf | 2021-10-19 |
| 16 | 202017009727-FER.pdf | 2022-03-09 |
| 17 | 202017009727-OTHERS [09-09-2022(online)].pdf | 2022-09-09 |
| 18 | 202017009727-FER_SER_REPLY [09-09-2022(online)].pdf | 2022-09-09 |
| 19 | 202017009727-DRAWING [09-09-2022(online)].pdf | 2022-09-09 |
| 20 | 202017009727-CORRESPONDENCE [09-09-2022(online)].pdf | 2022-09-09 |
| 21 | 202017009727-CLAIMS [09-09-2022(online)].pdf | 2022-09-09 |
| 22 | 202017009727-ABSTRACT [09-09-2022(online)].pdf | 2022-09-09 |
| 23 | 202017009727-PatentCertificate19-01-2024.pdf | 2024-01-19 |
| 24 | 202017009727-IntimationOfGrant19-01-2024.pdf | 2024-01-19 |
| 1 | Search_Strategy_009727E_09-03-2022.pdf |