Intra prediction device, image encoding device, image decoding device, and program
The intra prediction device addresses biased energy distribution in color difference components by correcting predictive pixel values, enhancing coding efficiency and accuracy through a color difference component correction unit.
Patent Information
- Application Number
- JP2023143931
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-08-15
- Filing Date
- 2023-09-05
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2039-08-09
AI Technical Summary
Existing intra prediction methods for color difference components in image coding suffer from biased energy distribution in residual signals, leading to decreased prediction accuracy and coding efficiency in certain areas, particularly at the block ends.
An intra prediction device that calculates a linear model using decoding pixels from specific components and corrects predictive pixels based on the position of these pixels, improving accuracy and efficiency by utilizing a color difference component correction unit to adjust predictive values in areas with lower accuracy.
Enhances the coding efficiency by correcting predictive pixel values in areas with lower accuracy, thereby reducing the energy of residual signals and improving overall prediction accuracy.
Smart Images

Figure 0007623447000004 
Figure 0007623447000005 
Figure 0007623447000006
Abstract
Description
[Technical field]
[0001] The present invention relates to an intra prediction device, an image encoding device, an image decoding device, and a program. [Background technology]
[0002] Intra prediction, which utilizes spatial correlation within a frame, is widely used in image coding technology. Intra prediction predicts pixel values of a block to be predicted (hereinafter referred to as a "target block") using decoded pixel values in the vicinity of the target block.
[0003] For example, Patent Document 1 discloses an image coding device using an intra predictor that can improve coding efficiency of the intra prediction mode of the chrominance signal in an intra predictor that determines the intra prediction mode of the chrominance signal for each block of an image (see Patent Document 1). As such an intra prediction mode, a cross-component intra prediction (CCIP: Cross-Component Intra Prediction) that predicts a pixel value of a chrominance component (Chroma) using a decoded pixel value of a luminance component (Luma) is known. Specifically, the cross-component intra prediction is an intra prediction mode that calculates linear models of the luminance component and chrominance component of a target block using decoded pixels of the luminance component and chrominance component adjacent to the upper and left sides of the target block, and predicts pixel values of the chrominance component in the block using the calculated linear model. Note that the cross-component intra prediction is sometimes called CCLM (Cross-Component Linear Model) prediction.
[0004] In such inter-component intra prediction, the signal of the chrominance component can be predicted with high accuracy by utilizing the fact that the relationship of the signal distribution of the decoded pixels of the luminance component and the chrominance component on the upper and left sides of the target block can be approximated to the relationship of the signal distribution of the luminance component and the chrominance component of the target block. However, since the decoded pixels on the upper and left sides are always used, if the relationship of the signal distribution of the luminance component and the chrominance component differs between the upper and left sides, a correct linear model cannot be calculated, and as a result, the prediction accuracy of the chrominance component decreases.
[0005] In view of such problems, Non-Patent Document 1 describes CCIP_A mode and CCIP_L mode as new intra prediction modes for chrominance components. CCIP_A mode is an intra prediction mode in which a linear model is calculated using decoded pixels of luminance and chrominance components only on the upper side, instead of using decoded pixels of luminance and chrominance components on the upper and left sides. CCIP_L mode is an intra prediction mode in which a linear model is calculated using decoded pixels of luminance and chrominance components only on the left side. Note that Non-Patent Document 2 also describes a similar intra prediction mode, but CCIP_A is called LM-top and CCIP_L is called LM-left. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2018-078409 A [Non-patent literature]
[0007] [Non-Patent Document 1] JVET-J0025, "Description of SDR, HDR and 360° video coding technology proposed by Qualcomm and Technicolor medium complexity version", retrieved May 22, 2018, Internet<URL:http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 10_San%20Diego / wg11 / JVET-J0025-v4.zip> [Non-Patent Document 2] JVET-J0018, "Description of SDR video coding technology proposal by MediaTek," [Retrieved May 22, 2018], Internet<URL:http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 10_San%20Diego / wg11 / JVET-J0018-v2.zip> DISCLOSURE OF THEINVENTION [Problem to be solved by the invention]
[0008] However, the residual signal (prediction residual) of a block to which the CCIP_A mode or CCIP_L mode is applied is likely to have a biased energy distribution tendency.
[0009] For example, when CCIP_A mode is applied, the prediction accuracy of the upper edge region of the block is likely to be high because the decoded pixels of the upper luminance and chrominance components are used to calculate the linear model, whereas the prediction accuracy of the lower edge region far from the decoded pixels used to calculate the linear model is likely to be low.
[0010] Similarly, when the CCIP_L mode is applied, the decoded pixels of the luminance and chrominance components on the left side are used to calculate the linear model, so that the prediction accuracy of the left edge region of the chrominance components of the block is likely to be high, but the prediction accuracy of the right edge region, which is far from the decoded pixels used to calculate the linear model, is likely to be low.
[0011] In such an area with low prediction accuracy, the energy of the prediction residual becomes large, which causes a problem of a decrease in coding efficiency.
[0012] Therefore, an object of the present invention is to provide an intra prediction device, an image encoding device, an image decoding device, and a program that improve the encoding efficiency when inter-component intra prediction is used. [Means for solving the problem]
[0013] An intra prediction device according to a first feature is an intra prediction device that performs intra prediction on a block-by-block basis obtained by dividing an original image on a frame-by-frame basis, and includes a linear model calculation unit that calculates a linear model using decoded pixels of a first component and a second component that are in the periphery of a target block to be subjected to the intra prediction, a prediction unit that predicts pixels of a second component of the target block by applying the linear model calculated by the linear model calculation unit to decoded pixels of a first component of the target block, and a correction unit that corrects the predicted pixels of the second component obtained by the prediction unit based on the positions of the decoded pixels used by the linear model calculation unit to calculate the linear model.
[0014] According to such an intra prediction device, the linear model calculation unit corrects the predicted pixel of the second component obtained by the prediction unit based on the position of the decoded pixel used in calculating the linear model, thereby enabling correction to be made to improve the accuracy of the predicted pixel of the second component (i.e., prediction accuracy), thereby improving coding efficiency.
[0015] The second feature of the present invention relates to an image encoding device including the intra prediction device according to the first feature.
[0016] The third feature of the present invention relates to an image decoding device including the intra prediction device according to the first feature.
[0017] A fourth aspect of the present invention relates to a program for causing a computer to function as the intra prediction device according to the first aspect. Effect of the Invention
[0018] According to the present invention, it is possible to provide an intra prediction device, an image encoding device, an image decoding device, and a program that improve the encoding efficiency when inter-component intra prediction is used. [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 is a diagram showing a configuration of an image encoding device according to an embodiment. [Diagram 2] FIG. 1 illustrates a normal CCIP mode. [Diagram 3] FIG. 1 is a diagram showing CCIP_A mode. [Figure 4] FIG. 1 is a diagram illustrating CCIP_L mode. [Diagram 5] FIG. 2 is a diagram showing a configuration of an image decoding device according to an embodiment. [Figure 6] FIG. 2 is a diagram illustrating a configuration of an intra prediction unit according to the embodiment. [Figure 7] FIG. 11 is a diagram illustrating an example of a correction method when the CCIP_A mode according to the embodiment is applied. [Figure 8] FIG. 11 is a diagram illustrating an example of a correction method when the CCIP_L mode according to the embodiment is applied. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] An image encoding device and an image decoding device according to an embodiment will be described with reference to the drawings. The image encoding device and the image decoding device according to the present embodiment encode and decode moving images as represented by MPEG. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.
[0021] <1. Configuration of the image encoding device> FIG. 1 is a diagram showing the configuration of an image encoding device 1 according to this embodiment.
[0022] As shown in FIG. 1, the image encoding device 1 includes a block division unit 100, a subtraction unit 110, a transformation and quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, a synthesis unit 150, a loop filter 160, a memory 170, and a prediction unit 180.
[0023] The block division unit 100 divides an input image, which is a frame (or picture) unit that constitutes a moving image, into small block-shaped regions, and outputs the blocks obtained by division to the subtraction unit 110. Each pixel in the input image is divided into a luminance component (Y) and a color difference component (C b , C r ) The size of a block is, for example, 32×32 pixels, 16×16 pixels, 8×8 pixels, or 4×4 pixels. The shape of a block is not limited to a square and may be a rectangle. A block is a unit for encoding by the image encoding device 1 and a unit for decoding by the image decoding device 2.
[0024] In this embodiment, the block division unit 100 divides an input image into blocks called CUs (Coding Units). One CU consists of a luminance component block and a chrominance component block. The image encoding device 1 is capable of separately encoding the luminance component block and the chrominance component block that constitute one CU. Similarly, the image decoding device 2 is capable of separately encoding the luminance component block and the chrominance component block that constitute one CU.
[0025] The subtraction unit 110 calculates a prediction residual indicating a difference in pixel units between the block input from the block division unit 100 and a prediction image (prediction block) obtained by predicting the block by the prediction unit 180. Specifically, the subtraction unit 110 calculates the prediction residual by subtracting each pixel value of the prediction image from each pixel value of the block, and outputs the calculated prediction residual to the transformation / quantization unit 120.
[0026] The transform / quantization unit 120 performs orthogonal transform processing and quantization processing on a block-by-block basis. The transform / quantization unit 120 includes a transform unit 121 and a quantization unit 122.
[0027] The transform unit 121 performs an orthogonal transform on the prediction residual input from the subtraction unit 110 to calculate a transform coefficient, and outputs the calculated transform coefficient to the quantization unit 122. The orthogonal transform refers to, for example, a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeb transform (KLT), or the like.
[0028] The quantization unit 122 quantizes the transform coefficients input from the transform unit 121 using a quantization parameter (Qp) and a quantization matrix to generate quantized transform coefficients. The quantization parameter (Qp) is a parameter commonly applied to each transform coefficient in a block, and is a parameter that determines the coarseness of quantization. The quantization matrix is a matrix having, as elements, quantization values used when quantizing each transform coefficient. The quantization unit 122 outputs the generated quantized transform coefficient information and quantization control information to the entropy coding unit 130 and the inverse quantization and inverse transform unit 140.
[0029] The entropy coding unit 130 performs entropy coding on the quantized transform coefficients input from the quantization unit 122, performs data compression to generate coded data (bit stream), and outputs the coded data to the outside of the image coding device 1. For the entropy coding, Huffman codes, CABAC (Context-based Adaptive Binary Arithmetic Coding), etc. can be used. Note that the entropy coding unit 130 receives control information related to the filter process from the loop filter 160, and receives control information related to prediction from the prediction unit 180. The entropy coding unit 130 also performs entropy coding of the control information.
[0030] The inverse quantization and inverse transform unit 140 performs inverse quantization processing and inverse orthogonal transform processing on a block-by-block basis. The inverse quantization and inverse transform unit 140 includes an inverse quantization unit 141 and an inverse transform unit 142.
[0031] The inverse quantization unit 141 performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 122. Specifically, the inverse quantization unit 141 restores the transform coefficients by inverse quantizing the quantized transform coefficients input from the quantization unit 122 using a quantization parameter (Qp) and a quantization matrix, and outputs the restored transform coefficients to the inverse transform unit 142.
[0032] The inverse transform unit 142 performs an inverse orthogonal transform process corresponding to the orthogonal transform process performed by the transform unit 121. For example, when the transform unit 121 performs a discrete cosine transform, the inverse transform unit 142 performs an inverse discrete cosine transform. The inverse transform unit 142 performs an inverse orthogonal transform on the transform coefficients input from the inverse quantization unit 141 to restore the prediction residual, and outputs the restored prediction residual, which is the restored prediction residual, to the synthesis unit 150.
[0033] The synthesis unit 150 synthesizes, on a pixel-by-pixel basis, the reconstructed prediction residual input from the inverse transform unit 142 and the predicted image input from the prediction unit 180. The synthesis unit 150 adds each pixel value of the reconstructed prediction residual to each pixel value of the predicted image to reconstruct (decode) a block, and outputs the decoded image in block units to the loop filter 160. Such a decoded image may be referred to as a reconstructed image.
[0034] The loop filter 160 performs loop filtering, which is post-processing, on the decoded image input from the synthesis unit 150, and outputs the decoded image after the filtering to the memory 170. In addition, the loop filter 160 outputs control information related to the loop filtering to the entropy coding unit 130.
[0035] The memory 170 stores the decoded image input from the loop filter 160. The memory 170 stores the decoded image on a frame-by-frame basis. The memory 170 outputs the stored decoded image to the prediction unit 180.
[0036] The prediction unit 180 performs prediction on a block-by-block basis. The prediction unit 180 includes an intra prediction unit 181, an inter prediction unit 182, and a switching unit 183.
[0037] The intra prediction unit 181 corresponds to an intra prediction device that performs intra prediction on a block basis obtained by dividing an original image on a frame basis. The intra prediction unit 181 generates an intra prediction image by referring to decoded pixel values around a block to be predicted among decoded images stored in the memory 170, and outputs the generated intra prediction image to the switching unit 183. The decoded pixel values around a block refer to values of decoded pixels that can be referred to when intra prediction is performed on the block, and are not limited to values of decoded pixels adjacent to the block. In addition, the intra prediction unit 181 selects an optimal intra prediction mode to be applied to the target block from among a plurality of intra prediction modes, and performs intra prediction using the selected intra prediction mode. The intra prediction unit 181 outputs control information related to the selected intra prediction mode to the entropy coding unit 130. Note that the intra prediction modes include planar prediction, DC prediction, and directional prediction.
[0038] In this embodiment, the intra prediction unit 181 can select cross-component intra prediction (CCIP) as an intra prediction mode to be applied to the chrominance component of a CU (target block) to be predicted. In CCIP, a pixel value of the chrominance component of a CU is predicted using a decoded pixel value of the luminance component of the CU. Note that the intra prediction unit 181 performs intra prediction of the luminance component of the CU in advance, and the memory 170 stores the decoded pixel value of the luminance component of the CU.
[0039] In this embodiment, CCIP includes three modes: normal CCIP, CCIP_A, and CCIP_L. Figure 2 shows the normal CCIP mode, Figure 3 shows the CCIP_A mode, and Figure 4 shows the CCIP_L mode.
[0040] 2, in the case of the normal CCIP mode, the intra prediction unit 181 calculates a linear model of the luminance component and chrominance component of the CU using the decoded pixel values of the luminance component and chrominance component on the upper and left sides of the CU, and predicts the pixel value of the chrominance component of the CU using the calculated linear model. The normal CCIP mode can accurately predict the signal of the chrominance component by utilizing the fact that the relationship of the signal distribution of the decoded pixels of the luminance component and chrominance component on the upper and left sides of the CU can be approximated to the relationship of the signal distribution of the luminance component and chrominance component of the CU.
[0041] The intra prediction unit 181 calculates a predicted pixel value pred of a color difference component (Cb) of a CU by the following formula (1), as described in the above-mentioned non-patent documents and, for example, JVET-G1001-V1. c (i,j) is calculated, where equation (1) corresponds to the linear model.
[0042]
number
[0043] However, rec L (i, j) represents the decoded pixel values of the downsampled luma component of the CU (downsampled reconstructed luma samples).
[0044] In addition, α and β are calculated using the following formulas (2) and (3).
[0045]
number
[0046] where L(n) represents the decoded pixel values of the top and left neighbouring reconstructed luma samples, and C(n) represents the decoded pixel values of the top and left neighbouring reconstructed chroma samples.
[0047] In this way, since a normal CCIP always uses the decoded pixel values from the upper and left sides of a CU, if the relationship between the signal distribution of the luminance components and the chrominance components differs between the upper and left sides, a correct linear model cannot be calculated, resulting in a decrease in the prediction accuracy of the chrominance components.
[0048] The CCIP_A mode and the CCIP_L mode are suitable modes when the relationship of the signal distribution of the luminance component and the color difference component differs between the upper and left sides of a CU.
[0049] As shown in Fig. 3, in the case of CCIP_A mode, instead of using the decoded pixel values of the luminance component and the chrominance component on the upper and left sides of the CU, the intra prediction unit 181 calculates a linear model using the decoded pixel values of the luminance component and the chrominance component only on the upper side of the CU. When the CCIP_A mode is applied, the decoded pixel values of the luminance component and the chrominance component on the upper side of the CU are used to calculate the linear model, so that the prediction accuracy of the upper end region of the chrominance component of the CU is likely to be high. On the other hand, the prediction accuracy of the lower end region of the chrominance component far from the decoded pixel values used to calculate the linear model is likely to be low.
[0050] 4, in the case of CCIP_L mode, the intra prediction unit 181 calculates a linear model using decoded pixel values of the luminance component and chrominance component only on the left side of the CU, instead of using decoded pixel values of the luminance component and chrominance component on the upper and left sides of the CU. When the CCIP_L mode is applied, the decoded pixel values of the luminance component and chrominance component on the left side of the CU are used in the linear model calculation, so that the prediction accuracy of the left edge region of the chrominance component of the CU is likely to be high, but the prediction accuracy of the right edge region of the chrominance component far from the decoded pixel value used in the linear model calculation is likely to be low.
[0051] The inter prediction unit 182 uses the decoded image stored in the memory 170 as a reference image, calculates a motion vector by a method such as block matching, predicts a block to be predicted, generates an inter prediction image, and outputs the generated inter prediction image to the switching unit 183. The inter prediction unit 182 selects an optimal inter prediction method from inter prediction using multiple reference images (typically, bi-prediction) and inter prediction using one reference image (unidirectional prediction), and performs inter prediction using the selected inter prediction method.
[0052] The switching unit 183 switches between the intra-predicted image input from the intra-prediction unit 181 and the inter-predicted image input from the inter-prediction unit 182, and outputs either of the predicted images to the subtraction unit 110 and the synthesis unit 150.
[0053] <2. Configuration of the image decoding device> FIG. 5 is a diagram showing the configuration of an image decoding device 2 according to this embodiment.
[0054] As shown in FIG. 5, the image decoding device 2 includes an entropy code decoding unit 200, an inverse quantization and inverse transform unit 210, a synthesis unit 220, a loop filter 230, a memory 240, and a prediction unit 250.
[0055] The entropy code decoding unit 200 decodes the coded data generated by the image coding device 1, and outputs the quantized transform coefficients to the inverse quantization / inverse transform unit 210. The entropy code decoding unit 200 also obtains control information related to prediction (intra prediction and inter prediction), and outputs the obtained control information to the prediction unit 250. The entropy code decoding unit 200 also obtains control information related to loop filter processing, and outputs the obtained control information to the loop filter 230.
[0056] The inverse quantization and inverse transform unit 210 performs inverse quantization processing and inverse orthogonal transform processing on a block-by-block basis. The inverse quantization and inverse transform unit 210 includes an inverse quantization unit 211 and an inverse transform unit 212.
[0057] The inverse quantization unit 211 performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 122 of the image encoding device 1. The inverse quantization unit 211 restores the transform coefficients by inverse quantizing the quantized transform coefficients input from the entropy encoding / decoding unit 200 using a quantization parameter (Qp) and a quantization matrix, and outputs the restored transform coefficients to the inverse transform unit 212.
[0058] The inverse transform unit 212 performs inverse orthogonal transform processing corresponding to the orthogonal transform processing performed by the transform unit 121 of the image encoding device 1. The inverse transform unit 212 performs inverse orthogonal transform on the transform coefficients input from the inverse quantization unit 211 to restore the prediction residual, and outputs the restored prediction residual (restored prediction residual) to the synthesis unit 220.
[0059] The synthesis unit 220 reconstructs (decodes) the original block by synthesizing the prediction residual input from the inverse transform unit 212 and the prediction image input from the prediction unit 250 on a pixel-by-pixel basis, and outputs the decoded image on a block-by-block basis to the loop filter 230.
[0060] Based on the control information input from the entropy encoding / decoding unit 200, the loop filter 230 performs loop filter processing on the decoded image input from the synthesis unit 220 similar to the loop filter processing performed by the loop filter 160 of the image encoding device 1, and outputs the decoded image after the filter processing to the memory 240.
[0061] The memory 240 stores the decoded image input from the loop filter 230. The memory 240 stores the decoded image on a frame-by-frame basis. The memory 240 outputs the decoded image on a frame-by-frame basis to outside the image decoding device 2.
[0062] The prediction unit 250 performs prediction on a block-by-block basis. The prediction unit 250 includes an intra prediction unit 251, an inter prediction unit 252, and a switching unit 253.
[0063] The intra prediction unit 251 references the decoded image stored in the memory 240 and generates an intra prediction image by performing intra prediction according to the control information input from the entropy encoding / decoding unit 200, and outputs the generated intra prediction image to the switching unit 253.
[0064] The inter prediction unit 252 performs inter prediction to predict a block to be predicted by using a decoded image stored in the memory 240 as a reference image. The inter prediction unit 252 generates an inter prediction image by performing inter prediction according to control information (motion vector information, etc.) input from the entropy encoding / decoding unit 200, and outputs the generated inter prediction image to the switching unit 253.
[0065] The switching unit 253 switches between the intra-predicted image input from the intra-prediction unit 251 and the inter-predicted image input from the inter-prediction unit 252 , and outputs either of the predicted images to the synthesis unit 220 .
[0066] <3. Configuration of intra prediction unit> 6 is a diagram showing the configuration of the intra prediction unit 181 of the image encoding device 1 according to this embodiment. The intra prediction unit 251 of the image decoding device 2 has the same configuration as the intra prediction unit 181 of the image encoding device 1.
[0067] As shown in FIG. 6, the intra prediction unit 181 according to this embodiment includes an inter-component intra prediction unit 1811 that predicts pixel values of the chrominance component of a current block (CU) using decoded pixel values of the luminance component of the CU, and a chrominance component correction unit 1812 that corrects the predicted pixel value of the chrominance component obtained by the inter-component intra prediction unit 1811.
[0068] The inter-component intra prediction unit 1811 includes a linear model calculation unit 1811a and a color difference component prediction unit 1811b.
[0069] The linear model calculation unit 1811a calculates linear models of the luminance and chrominance components of a target block (CU) using decoded pixel values of the luminance component and decoded pixel values (reference pixel values) of the chrominance component in the periphery of the CU, and outputs the calculated linear model to the chrominance component prediction unit 1811b. In addition, the linear model calculation unit 1811a outputs decoded pixel values of the chrominance components in the periphery of the CU that were not used in the calculation of the linear model to the chrominance component correction unit 1812.
[0070] Specifically, when applying the normal CCIP mode, the linear model calculation unit 1811a uses the decoded pixel values of the luminance and chrominance components above the CU and the decoded pixel values of the luminance and chrominance components to the left of the CU to calculate the linear model (see FIG. 2).
[0071] When the CCIP_A mode is applied, the linear model calculation unit 1811a does not use decoded pixel values of the luminance component and chrominance component on the left side of the CU in the calculation of the linear model, but uses decoded pixel values of the luminance component and chrominance component on the upper side of the CU in the calculation of the linear model (see FIG. 3). In this case, the linear model calculation unit 1811a outputs decoded pixel values of the chrominance components in positions other than the upper side of the CU, among decoded pixel values of the chrominance components around the CU, to the chrominance component correction unit 1812. Note that, since the prediction accuracy of the lower edge region of the CU, which is far from the upper decoded pixel values used in the calculation of the linear model, is likely to be low, it is preferable to preferentially output the decoded pixel values of the chrominance components on the lower side of the CU to the chrominance component correction unit 1812 in order to enable correction of the chrominance components in the lower edge region.
[0072] When the CCIP_L mode is applied, the linear model calculation unit 1811a does not use decoded pixel values of the luminance component and chrominance component on the upper side of the CU in the calculation of the linear model, but uses decoded pixel values of the luminance component and chrominance component on the left side of the CU in the calculation of the linear model (see FIG. 4). In this case, the linear model calculation unit 1811a outputs decoded pixel values in positions other than the left side of the target block, among decoded pixel values around the CU, to the chrominance component correction unit 1812. Note that, in the CU, since the prediction accuracy of the right edge region far from the decoded pixel values on the left side used in the calculation of the linear model is likely to be low, it is preferable to preferentially output decoded pixel values of the chrominance components on the right side of the CU to the chrominance component correction unit 1812 in order to enable correction of the chrominance components in the right edge region.
[0073] The chrominance component prediction unit 1811b predicts the pixel value of the chrominance component of the CU by applying the linear model input from the linear model calculation unit 1811a to the decoded pixel value of the luminance component of the CU according to equation (1), and outputs the predicted pixel value of the chrominance component of the CU to the chrominance component correction unit 1812.
[0074] The chrominance component correction unit 1812 uses the decoded pixel values input from the linear model calculation unit 1811a (i.e., decoded pixel values that were not used in the calculation of the linear model) to correct the predicted pixel values of the chrominance components of the CU input from the chrominance component prediction unit 1811b, for example, by filtering.
[0075] Specifically, when the CCIP_A mode is applied, the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component in an edge region other than the upper edge region of the CU by using the decoded pixel value of the chrominance component in a position other than the upper side of the CU among the decoded pixel values around the CU. For example, the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component in the lower edge region of the CU by using the decoded pixel value of the chrominance component in the lower side of the CU.
[0076] FIG. 7 is a diagram showing an example of a correction method when the CCIP_A mode is applied.
[0077] 7, when the decoded pixel values of the chrominance components below a CU are available, the chrominance component correction unit 1812 performs correction by filtering the predicted pixel values of the chrominance components in the lower end region of the CU using the decoded pixel values of the chrominance components below the CU. Specifically, correction is performed using predicted pixel values q0, q1, and q2 of the chrominance components in the lower end region of the CU and decoded pixel values (reference pixel values) p0, p1, and p2 of the chrominance components below the CU according to the following equation (4), and outputs the corrected predicted pixel values q'0, q'1, and q'2.
[0078]
number
[0079] Here, clip(x, max, min) indicates a process of clipping at max when x exceeds max, and at min when x falls below min. Also, tc in equation (4) is an adjustment offset used in the clipping process, and a variable value can be calculated and set by a function using the quantization parameter (Qp).
[0080] In this way, when the CCIP_A mode is applied, the prediction accuracy of the lower edge region, which is far from the upper decoded pixel values used in the linear model calculation, is likely to be low. However, by correcting the predicted pixel values of the color difference components of the lower edge region of the CU to improve the accuracy, the energy of the prediction residual corresponding to the lower edge region can be suppressed, thereby improving the coding efficiency.
[0081] On the other hand, when the CCIP_L mode is applied, the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component in an edge region other than the left edge region of the CU by using the decoded pixel value of the chrominance component in a position other than the left edge region of the CU among the decoded pixel values in the periphery of the CU. For example, the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component in the right edge region of the CU by using the decoded pixel value of the chrominance component on the right side of the CU.
[0082] FIG. 8 is a diagram showing an example of a correction method when the CCIP_L mode is applied.
[0083] 8, when the decoded pixel values of the chrominance components on the right side of a CU are available, the chrominance component correction unit 1812 performs correction by filtering the predicted pixel values of the chrominance components in the right edge region of the CU using the decoded pixel values of the chrominance components on the right side. Specifically, correction is performed using the predicted pixel values q0, q1, and q2 of the chrominance components in the right edge region of the CU and the decoded pixel values (reference pixel values) p0, p1, and p2 of the chrominance components on the right side of the CU according to Equation (4), and outputs the corrected predicted pixel values q'0, q'1, and q'2.
[0084] In this way, when the CCIP_L mode is applied, the prediction accuracy of the right edge region, which is far from the decoded pixel value on the left side used in the linear model calculation, is likely to be low. However, by correcting the predicted pixel value of the chrominance component of the right edge region of the CU to improve the accuracy, the energy of the prediction residual corresponding to the right edge region can be suppressed, and the coding efficiency can be improved.
[0085] <4. Summary of the embodiment> As described above, the intra prediction unit 181 includes a chrominance component correction unit 1812 that corrects a predicted pixel value of a chrominance component obtained by the chrominance component prediction unit 1811b, using decoded pixel values not used in the calculation of a linear model by the linear model calculation unit 1811a, among decoded pixel values around a current block (CU). This enables correction to improve the accuracy (i.e., prediction accuracy) of the predicted pixel value of the chrominance component of the CU, thereby improving the coding efficiency.
[0086] In an embodiment, when the linear model calculation unit 1811a calculates a linear model using decoded pixel values on the upper side of a current block (CU), the chrominance component correction unit 1812 corrects predicted pixel values of chrominance components in edge regions other than the upper edge region of the CU by using decoded pixel values on the periphery of the CU other than the upper side of the CU. This can improve coding efficiency when the CCIP_A mode is applied.
[0087] In an embodiment, when the linear model calculation unit 1811a calculates a linear model using decoded pixel values on the left side of a current block (CU), the chrominance component correction unit 1812 corrects predicted pixel values of chrominance components in edge regions other than the left edge region of the current CU using decoded pixel values in the periphery of the current CU other than the left side of the current CU. This can improve coding efficiency when the CCIP_L mode is applied.
[0088] <5. Other embodiments> In the above-described embodiment, an example has been described in which the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component in the CCIP_A mode and the CCIP_L mode. However, the chrominance component correction unit 1812 may also correct the predicted pixel value of the chrominance component in the normal CCIP mode.
[0089] In the above embodiment, an example has been described in which the chrominance component correction unit 1812 corrects the predicted pixel value of the chrominance component by using the decoded pixel value of the chrominance component that was not used in the calculation of the linear model. However, the chrominance component correction unit 1812 may correct the predicted pixel value of the chrominance component by using the decoded pixel value of the luminance component that was not used in the calculation of the linear model.
[0090] In the above-described embodiment, an example has been described in which the components constituting the video signal are luminance and color difference components (YCbCr), but the components constituting the video signal may be three primary color components (RGB).
[0091] A program for causing a computer to execute each process performed by the image encoding device 1 and a program for causing a computer to execute each process performed by the image decoding device 2 may be provided. The program may be recorded in a computer-readable medium. Using the computer-readable medium, it is possible to install the program in a computer. Here, the computer-readable medium on which the program is recorded may be a non-transient recording medium. The non-transient recording medium is not particularly limited, and may be, for example, a recording medium such as a CD-ROM or a DVD-ROM. In addition, a circuit for executing each process performed by the image encoding device 1 may be integrated, and the image encoding device 1 may be configured as a semiconductor integrated circuit (chip set, SoC). Similarly, a circuit for executing each process performed by the image decoding device 2 may be integrated, and the image decoding device 2 may be configured as a semiconductor integrated circuit.
[0092] The above describes the embodiments in detail with reference to the drawings, but the specific configuration is not limited to that described above, and various design changes, etc. are possible without departing from the spirit of the invention.
[0093] This application claims priority from Japanese Patent No. 2018-152989 (filed August 15, 2018), the entire contents of which are incorporated herein by reference.
Claims
1. An intra prediction device that performs intra prediction on a block basis obtained by dividing an original image including a first component and a second component, a prediction unit that predicts pixels of the second component of the target block by applying a calculation model of a mode selected from a plurality of calculation model modes, the calculation model being calculated using decoded pixels of the first component and the second component in a periphery of a target block to be subjected to the intra prediction, to decoded pixels of the first component of the target block; a correction unit that corrects the predicted pixel of the second component obtained by the prediction unit based on a mode of the selected calculation model.
2. An intra prediction device that performs intra prediction on a block basis obtained by dividing an original image including a first component and a second component, a prediction unit that predicts pixels of the second component of the target block by applying a calculation model of a mode selected from a plurality of calculation model modes, the calculation model being calculated using decoded pixels of the first component and the second component in a periphery of a target block to be subjected to the intra prediction, to decoded pixels of the first component of the target block; a correction unit that corrects the predicted pixel of the second component obtained by the prediction unit, based on a position of a decoded pixel used in calculation of the selected calculation model.
3. An image encoding device comprising the intra prediction device according to claim 1 or 2.
4. An image decoding device comprising the intra prediction device according to claim 1 or 2.
5. A program for causing a computer to function as the intra prediction device according to claim 1 or 2.
Citation Information
Patent Citations
Intra-predictor, image coding device, image decoding device, and program
JP2018078409A
Boundary filtering and cross-component prediction in video coding
US20160105685A1
Intra prediction image generating device, image decoding device, and image coding device
WO2018116925A1
Image processing device and method
WO2019054200A1