Intra prediction device, decoding device, and program
The intra prediction device improves chrominance block prediction accuracy by using non-adjacent chroma reference pixels, enhancing the efficiency of cross-component linear model (CCLM) in video coding.
Patent Information
- Application Number
- JP2021200884
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-10
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2041-12-10
AI Technical Summary
Conventional cross-component linear model (CCLM) for chrominance prediction in video coding fixes chrominance reference pixels to adjacent pixel lines, leading to variable prediction accuracy based on pixel distance, with accuracy decreasing for pixels further from the reference.
An intra prediction device that acquires chroma reference pixels from non-adjacent pixel lines for improved prediction accuracy, using linear prediction parameters derived from both chroma and luma reference pixels.
Enhances the average prediction accuracy of chrominance blocks by utilizing chrominance-decoded pixels from non-adjacent pixel lines, improving the overall prediction efficiency.
Smart Images

Figure 0007768746000003 
Figure 0007768746000004 
Figure 0007768746000005
Abstract
Description
[Technical Field]
[0001] The present invention relates to an intra prediction device, a decoding device, and a program. [Background technology]
[0002] Research has been conducted into video coding methods to compress the data volume of still images and moving images during transmission and storage. In recent years, the spread of ultra-high resolution video, such as 8K-SHV, has progressed in video coding technology, and coding methods such as AVC / H.264 and HEVC / H.265 are known as methods for transmitting huge amounts of moving image data.
[0003] Versatile Video Coding (VVC), a next-generation coding method, uses intra-prediction, which takes advantage of spatial correlation within a frame. In intra-prediction, the coding device selects the most appropriate intra-prediction mode from among planar prediction, DC prediction, and multiple directional predictions, using decoded pixels surrounding the target block of intra-prediction, and transmits information indicating the selected intra-prediction mode to the decoding device.
[0004] It is generally known that the luminance and chrominance components of an image have similar spatial characteristics. Under this premise, a cross-component linear model (CCLM) prediction for predicting chrominance blocks has been introduced into VVC (see Non-Patent Document 1).
[0005] CCLM predicts a chrominance block from a decoded luminance block located at a position corresponding to the chrominance block, using linear prediction parameters calculated from luminance and chrominance reference pixels surrounding the chrominance block. When CCLM is applied to a chrominance block, one of three CCLM modes can be selected, each of which uses different positions of luminance and chrominance reference pixels to calculate the linear prediction parameters. The encoding device transmits a CCLM mode index, indicating which of the three CCLM modes has been selected, to the decoding device. [Prior art documents] [Non-patent literature]
[0006] [Non-Patent Document 1] JVET-S2001 Versatile Video Coding (Draft 10) DISCLOSURE OF THE INVENTION [Problem to be solved by the invention]
[0007] When the conventional CCLM is applied, the chrominance reference pixels used to calculate the linear prediction parameters are always selected from the adjacent pixel lines adjacent to the chrominance block to be predicted. Specifically, for chrominance intra prediction, the chrominance reference pixels are fixed to the adjacent pixel lines adjacent to the chrominance block to be predicted.
[0008] However, it is believed that there are cases where the prediction accuracy of intra prediction using CCLM can be improved by using chrominance reference pixels that belong to non-adjacent pixel lines that are not adjacent to the chrominance block to be predicted in calculating linear prediction parameters.
[0009] For example, when predicting each pixel in a chrominance block using chrominance-decoded pixels adjacent to the chrominance block as chrominance reference pixels, the prediction accuracy for pixels to be predicted adjacent to the chrominance reference pixels in the chrominance block is high, but the prediction efficiency for pixels to be predicted that are further away from the chrominance reference pixels gradually decreases, resulting in a drawback that, on average, the prediction accuracy of pixels in the chrominance block is not necessarily high depending on the picture. Therefore, it is considered possible to improve the average prediction accuracy of the chrominance block by performing intra prediction using chrominance-decoded pixels in a pixel line several lines away from the chrominance block as chrominance reference pixels, rather than chrominance-decoded pixels adjacent to the chrominance block.
[0010] Therefore, an object of the present invention is to provide an intra prediction device, a decoding device, and a program that can improve the prediction accuracy of intra prediction. [Means for solving the problem]
[0011] An intra prediction device according to a first aspect is an intra prediction device that performs intra prediction on a block-by-block basis obtained by dividing an image composed of a luma component and a chroma component, and includes: a reference pixel acquisition unit that acquires chroma reference pixels from chroma-decoded pixels surrounding a current chroma block to be subjected to the intra prediction and acquires luma reference pixels corresponding to the chroma reference pixels, a prediction parameter derivation unit that derives prediction parameters for predicting the current chroma block from the chroma reference pixels and the luma reference pixels, and a chroma predicted image generation unit that generates a predicted image of the current chroma block from a decoded luma block corresponding to the current chroma block and the prediction parameters, when a predetermined condition is satisfied, the reference pixel acquisition unit acquires the chroma reference pixels from a chroma pixel line that is not adjacent to the current chroma block.
[0012] A decoding device according to a second aspect includes the intra prediction device according to the first aspect.
[0013] A program according to a third aspect causes a computer to function as the intra prediction device according to the first aspect. [Effects of the Invention]
[0014] According to the present invention, it is possible to provide an intra prediction device, a decoding device, and a program that can improve the prediction accuracy of intra prediction. [Brief explanation of the drawings]
[0015] [Figure 1] FIG. 1 is a diagram illustrating a configuration of an encoding device according to an embodiment. [Figure 2] FIG. 10 is a diagram showing candidates for intra prediction modes for a luminance block according to the embodiment. [Figure 3] 1A and 1B are diagrams illustrating three CCLM modes according to an embodiment. [Figure 4] FIG. 2 is a diagram illustrating a configuration of a CCLM prediction unit of the encoding device according to the embodiment. [Figure 5] 3A to 3D are diagrams illustrating first to third modes according to an embodiment. [Figure 6] FIG. 1 is a diagram illustrating a configuration of a decoding device according to an embodiment. [Figure 7] FIG. 2 is a diagram illustrating a configuration of a CCLM prediction unit of a decoding device according to an embodiment. [Figure 8] 1 is a diagram illustrating the operation of an encoding device and a decoding device related to CCLM according to an embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of an MRL in a modified example of the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0016] An encoding device and a decoding device according to an embodiment will be described with reference to the drawings. The encoding device and the decoding device according to the embodiment encode and decode moving images, respectively, as typified by MPEG. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.
[0017] (1) Encoding device First, the encoding device according to this embodiment will be described.
[0018] (1.1) Configuration of the encoding device Fig. 1 is a diagram showing the configuration of an encoding device 1 according to this embodiment. As shown in Fig. 1, the encoding device 1 includes a block division unit 100, a subtraction unit 110, a transform / quantization unit 120, an entropy encoding unit 130, an inverse quantization / inverse transform unit 140, a synthesis unit 150, a memory 160, and a prediction unit 170.
[0019] The block division unit 100 divides an original image, which is an input image in units of frames (or pictures) constituting a moving image, into a plurality of image blocks, and outputs the image blocks obtained by division to the subtraction unit 110. The size of the image blocks is, for example, 32×32 pixels, 16×16 pixels, 8×8 pixels, or 4×4 pixels. The shape of the image blocks is not limited to squares and may be rectangular (non-square). An image block is a unit for encoding by the encoding device 1 (i.e., a block to be encoded) and a unit for decoding by the decoding device (i.e., a block to be decoded). Such an image block is sometimes called a CU (Coding Unit).
[0020] The input image is a luminance signal (Y) and a color difference signal (C b , C r ), and each pixel in the input image is composed of a luminance component (Y) and a color difference component (C b , C r ). The encoding device 1 supports three chroma formats, for example, 4:4:4, 4:2:2, and 4:2:0. The block division unit 100 performs block division on the luminance signal to output luminance blocks, and performs block division on the chrominance signal to output chrominance blocks. In the following, we will mainly explain the case where the shape of the block division is the same for the luminance signal and the chrominance signal, but it is also possible to control the division shape independently for the luminance signal and the chrominance signal. When there is no particular distinction between the luminance block and the chrominance block, they are simply called blocks or target blocks.
[0021] The subtraction unit 110 calculates a prediction residual representing the difference (error) between a current block output from the block division unit 100 and a predicted block obtained by predicting the current block by the prediction unit 170. Specifically, the subtraction unit 110 calculates the prediction residual by subtracting each pixel value of the predicted block from each pixel value of the block, and outputs the calculated prediction residual to the transformation and quantization unit 120.
[0022] The transform / quantization unit 120 performs 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.
[0023] The transform unit 121 performs a transform process on the prediction residual output from the subtraction unit 110 to calculate transform coefficients, and outputs the calculated transform coefficients to the quantization unit 122. The transform refers to, for example, a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen Loeve transform (KLT), or the like.
[0024] The quantization unit 122 quantizes the transform coefficients output from the transform unit 121 using a quantization parameter (Qp) and a quantization matrix, and outputs the quantized transform coefficients to the entropy coding unit 130 and the inverse quantization and inverse transform unit 140. The quantization parameter (Qp) is a parameter commonly applied to each transform coefficient in a block and determines the coarseness of quantization. The quantization matrix is a matrix whose elements are quantization values used when quantizing each transform coefficient.
[0025] The entropy coding unit 130 performs entropy coding on the transform coefficients output from the quantization unit 122, compresses the data, generates coded data (bitstream), and outputs the coded data to the outside of the coding device 1. For entropy coding, Huffman coding, CABAC (Context-based Adaptive Binary Arithmetic Coding), etc. may be used. Note that the entropy coding unit 130 receives input of prediction-related information (flags and indexes) from the prediction unit 170, and also codes the input information and outputs the bitstream.
[0026] The inverse quantization and inverse transform unit 140 performs inverse quantization processing and inverse 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.
[0027] The inverse quantization unit 141 performs inverse quantization processing corresponding to the quantization processing performed by the quantization unit 122. Specifically, the inverse quantization unit 141 reconstructs the transform coefficients by inverse quantizing the transform coefficients output from the quantization unit 122 using a quantization parameter (Qp) and a quantization matrix, and outputs the reconstructed transform coefficients to the inverse transform unit 142.
[0028] The inverse transform unit 142 performs inverse transform processing corresponding to the transform processing performed by the transform unit 121. For example, if the transform unit 121 performs discrete cosine transform, the inverse transform unit 142 performs inverse discrete cosine transform. The inverse transform unit 142 performs inverse transform processing on the transform coefficients output from the inverse quantization unit 141 to reconstruct prediction residuals, and outputs the reconstructed prediction residuals to the synthesis unit 150.
[0029] The synthesis unit 150 synthesizes, on a pixel-by-pixel basis, the reconstructed prediction residual output from the inverse transform unit 142 with the predicted block output from the prediction unit 170. The synthesis unit 150 adds each pixel value of the reconstructed prediction residual to each pixel value of the predicted block to decode (reconstruct) the block, and outputs the reconstructed block to the memory 160. Hereinafter, the reconstructed block will also be referred to as a decoded block.
[0030] The memory 160 stores the reconstructed blocks output from the synthesis unit 150 and accumulates the reconstructed blocks as decoded images on a frame-by-frame basis. The memory 160 outputs the stored reconstructed blocks or decoded images to the prediction unit 170. Note that a loop filter may be provided between the synthesis unit 150 and the memory 160.
[0031] The prediction unit 170 performs prediction on a block-by-block basis. The prediction unit 170 includes an inter prediction unit 171, an intra prediction unit 172, and a switching unit 173. In this embodiment, the intra prediction unit 172 corresponds to an intra prediction device provided in the encoding device 1.
[0032] The inter prediction unit 171 uses a decoded image stored in the memory 160 as a reference image to calculate a motion vector by a technique such as block matching, predicts a current block to generate an inter prediction block, and outputs the generated inter prediction block to the switching unit 173. Here, the inter prediction unit 171 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. The inter prediction unit 171 outputs information related to the inter prediction (motion vector, etc.) to the entropy coding unit 130.
[0033] The intra prediction unit 172 generates an intra prediction block by referring to decoded pixels surrounding a block in the decoded image stored in the memory 160, and outputs the generated intra prediction block to the switching unit 173. Generally, the intra prediction unit 172 selects an intra prediction mode to be applied to a block to be predicted for intra prediction from among multiple intra prediction modes, and predicts the block to be predicted for intra prediction using the selected intra prediction mode. The intra prediction unit 172 outputs information related to the selected intra prediction mode to the entropy coding unit 130.
[0034] The switching unit 173 switches between the inter-predicted block output from the inter-prediction unit 171 and the intra-predicted block output from the intra-prediction unit 172, and outputs either the predicted block to the subtraction unit 110 and the synthesis unit 150.
[0035] (1.2) Intra prediction mode The intra prediction mode according to this embodiment will be described. The intra prediction unit 172 performs intra prediction on a luminance block and a chrominance block. Here, the candidates for the intra prediction mode of the luminance block are planar prediction, DC prediction, and 65 types of directional prediction, for a total of 67 types of intra prediction modes.
[0036] FIG. 2 is a diagram showing candidate intra-prediction modes for a luminance block according to this embodiment. As shown in FIG. 2, there are 67 prediction modes, from 0 to 66. Prediction mode mode "0" is planar prediction, prediction mode mode "1" is DC prediction, and prediction modes "2" to "66" are directional prediction. In directional prediction, the direction of an arrow indicates a reference direction, the starting point of the arrow indicates the position of a pixel to be predicted, and the end point of the arrow indicates the position of a reference pixel used in predicting this pixel to be predicted. As reference directions parallel to a diagonal line passing through the upper right and lower left vertices of the block, there are mode "2," which is a prediction mode that references the lower left direction, and mode "66," which is a prediction mode that references the upper right direction. Mode numbers are assigned clockwise from mode "2" to mode "66" at predetermined angle intervals.
[0037] On the other hand, the number of candidate intra-prediction modes for chrominance blocks is smaller than the number of candidate intra-prediction modes for luma blocks. Specifically, in intra-prediction of chrominance blocks, the intra-prediction unit 172 determines the intra-prediction mode used for intra-prediction of a luma block located at a position corresponding to the position of the chrominance block as a first candidate mode, determines a second candidate mode that does not overlap with the first candidate mode, and selects an intra-prediction mode to be used for intra-prediction of the chrominance block from among these candidate modes. Such a first candidate mode is called DM (Direct Mode or Derived Mode).
[0038] Furthermore, if any of the default modes predetermined as second candidate modes overlaps with the first candidate mode (DM), the intra prediction unit 172 determines an alternative mode to be used as the second candidate mode in place of the overlapping default mode. Here, the default modes are planar mode (mode 0), vertical mode (mode 50), horizontal mode (mode 18), and DC mode (mode 1). As the alternative mode, a fixed intra prediction mode other than the default mode, for example, mode 66, is used.
[0039] Note that a luminance block located at a position corresponding to a chrominance block (also referred to as a "luminance block corresponding to a chrominance block") refers to a luminance block located at the same position as a chrominance block when the luminance block and the chrominance block have the same block division shapes. However, when the block division shapes of luminance and chrominance can be controlled independently, a luminance block located at a position corresponding to a chrominance block refers to a luminance block that includes coordinates corresponding to a predetermined pixel position within the chrominance block (e.g., the coordinates of the upper left corner of the chrominance block). Here, the coordinates corresponding to the predetermined pixel position within the chrominance block are not necessarily the same because the sizes of luminance and chrominance may differ in a chrominance format such as 4:2:0.
[0040] (1.3) Overview of CCLM predictions An overview of CCLM prediction according to this embodiment will be described. The intra prediction unit 172 according to this embodiment includes a CCLM prediction unit 1721 that predicts a chrominance block to be predicted using CCLM.
[0041] CCLM prediction is an intra-prediction mode specific to chrominance blocks, in which a chrominance block is predicted from a decoded luminance block corresponding to the chrominance block using linear prediction parameters calculated from luminance and chrominance reference pixels surrounding the chrominance block to be predicted.
[0042] CCLM is a prediction method that exploits the correlation between luma and chroma components, and the positional relationship between luma and chroma pixels is important. CCLM subsamples the corresponding decoded luma block based on information about the chroma pixel positions and uses it to predict the chroma block. Therefore, CCLM waits for the intra prediction process for the luma block to be completed before starting the intra prediction process for the chroma block.
[0043] The CCLM prediction unit 1721 predicts each pixel of the chrominance block to be predicted from the corresponding decoded luminance block using the following equation (1).
[0044]
number
[0045] Here, i and j indicate the coordinate positions in the horizontal and vertical directions, respectively. L '(i,j) is a decoded luminance block (specifically, a decoded luminance block before the loop filter / deblocking filter) corresponding to the chrominance block to be predicted, downsampled to the chrominance resolution and filtered. α and β are linear prediction parameters derived from the chrominance reference pixels and luminance reference pixels.
[0046] The arrangement of chrominance and luma reference pixels used to derive the linear prediction parameters (α and β) can be selected from three CCLM modes. In conventional CCLM, chrominance reference pixels are fixed to adjacent pixel lines adjacent to the chrominance block to be predicted. The luma reference pixels are downsampled using a filter according to the chrominance format, etc., so that they correspond to the chrominance reference pixels.
[0047] As will be described in detail later, in CCLM according to this embodiment, the chrominance reference pixels are not fixed to adjacent pixel lines adjacent to the chrominance block to be predicted. In other words, the CCLM prediction unit 1721 can obtain chrominance reference pixels from non-adjacent pixel lines that are not adjacent to the chrominance block to be predicted.
[0048] Fig. 3 is a diagram showing three CCLM modes according to this embodiment. Fig. 3 shows an example in which each block has eight reference pixels, but this is not limited to this and may have, for example, four reference pixels.
[0049] The LM mode shown in FIG. 3(a) is a mode in which chrominance reference pixels are selected from both the pixel line adjacent to the upper side and the pixel line adjacent to the left side of the chrominance block to be predicted. The LM mode is also called LT_CCLM. The LM-L mode shown in FIG. 3(b) is a mode in which chrominance reference pixels are selected from the pixel line adjacent to the left side of the chrominance block to be predicted. The LM-L mode is also called L_CCLM. The LM-A mode shown in FIG. 3(c) is a mode in which chrominance reference pixels are selected from the pixel line adjacent to the upper side of the chrominance block to be predicted. The LM-A mode is also called T_CCLM.
[0050] For example, assuming that the size of the chrominance block to be predicted is W×H, the CCLM prediction unit 1721 may obtain four chrominance reference pixels and corresponding downsampled luma reference pixels. The CCLM prediction unit 1721 may determine the positions of the four reference pixels using the following equation (2):
[0051] When LM mode is applied: S[W' / 4,-1], S[3W' / 4,-1], S[-1,H' / 4], S[-1,3H' / 4] When LM-L mode is applied: S[-1,H' / 8], S[-1,3H' / 8], S[-1,5H' / 8], S[-1,7H' / 8] When LM-A mode is applied: S[W' / 8,-1], S[3W' / 8,-1], S[5W' / 8,-1], S[7W' / 8,-1] ···(2)
[0052] However, when the LM mode is applied, W'=W and H'=H, when the LM-A mode is applied, W'=W+H, and when the LM-L mode is applied, H'=H+W.
[0053] Then, the CCLM prediction unit 1721 derives linear prediction parameters using each reference pixel (specifically, four chrominance reference pixels and four corresponding luminance reference pixels). For example, the CCLM prediction unit 1721 compares the four luminance reference pixels with each other and finds the two smallest values (x 0 A ,x 1 A ) and two large values (x 0 B ,x 1 B ) and the corresponding chrominance reference pixels are defined as y 0 A , y 1 A , y 0 B , and y 1 B and x is calculated by the following formula (3): A , x B , y A , y B Calculate.
[0054] X a =(x 0 A + x1 A +1)>>1 X b =(x 0 B + x 1 B +1)>>1 Y a =(y 0 A + y 1 A +1)>>1 Y b =(y 0 B + y 1 B +1)>>1 ···(3)
[0055] Furthermore, the CCLM prediction unit 1721 calculates the linear prediction parameters α and β according to the following equation (4).
[0056]
number
[0057] It should be noted that Equations (1) to (4) are merely examples, and other methods and calculation formulas may be used. Furthermore, although an example using linear prediction has been described, prediction other than linear prediction (for example, nonlinear prediction) may also be used.
[0058] (1.4) Configuration of CCLM prediction unit of encoding device Fig. 4 is a diagram showing the configuration of the CCLM prediction unit 1721 according to this embodiment. As shown in Fig. 4, the CCLM prediction unit 1721 includes a reference pixel acquisition unit 1721a, a linear prediction parameter derivation unit 1721b, and a chrominance predicted image generation unit 1721c. The linear prediction parameter derivation unit 1721b is an example of a prediction parameter derivation unit that derives prediction parameters for predicting a target chrominance block.
[0059] The reference pixel acquisition unit 1721a acquires chrominance reference pixels from chrominance-decoded pixels surrounding a target chrominance block to be subjected to intra prediction, and acquires luma reference pixels corresponding to the chrominance reference pixels. The decoded pixels are assumed to be stored in the memory 160.
[0060] In this embodiment, the reference pixel acquisition unit 1721a can acquire chrominance reference pixels from chrominance pixel lines that are not adjacent to the target chrominance block (non-adjacent chrominance pixel lines). Here, "acquiring chrominance reference pixels from non-adjacent chrominance pixel lines" is not limited to selecting chrominance reference pixels from non-adjacent chrominance pixel lines, but may also mean calculating chrominance reference pixels from chrominance-decoded pixels of the non-adjacent chrominance pixel lines and adjacent chrominance pixel lines. In this case, the reference pixel acquisition unit 1721a may acquire chrominance reference pixels by calculating a weighted average of chrominance-decoded pixels of the non-adjacent chrominance pixel line and chrominance-decoded pixels of the adjacent chrominance pixel line. Here, the weight used for the weighted average may be variable.
[0061] For example, when CCLM is applied to the chrominance block to be predicted and one of the three CCLM modes described above is selected, the reference pixel acquisition unit 1721a selects one of the first to third modes regarding the reference pixel positions. Note that although three modes, the first to third modes, regarding the reference pixel positions are illustrated, the number of modes regarding the reference pixel positions may be two, or four or more.
[0062] 5 is a diagram showing the first to third modes according to this embodiment, in which the case where the LM mode is selected will be described as an example.
[0063] The first mode shown in Fig. 5(a) is a conventional mode, in which the chrominance reference pixels are fixed to adjacent pixel lines adjacent to the chrominance block to be predicted.
[0064] In contrast, the second and third modes, as shown in Figures 5(b) and 5(c), are modes in which chrominance reference pixels are obtained from non-adjacent chrominance pixel lines. Specifically, the second mode shown in Figure 5(b) is a mode in which chrominance reference pixels are calculated from chrominance-decoded pixels of each of the non-adjacent chrominance pixel lines and adjacent chrominance pixel lines. For example, the reference pixel acquisition unit 1721a calculates chrominance reference pixels by performing a filter process on chrominance-decoded pixels of each of the non-adjacent chrominance pixel lines and adjacent chrominance pixel lines. The third mode shown in Figure 5(c) is a mode in which chrominance reference pixels are selected from non-adjacent chrominance pixel lines.
[0065] 5(b) and 5(c) show an example in which chrominance reference pixels are obtained from a non-adjacent chrominance pixel line that is one line away from the target chrominance block, a mode in which chrominance reference pixels are obtained from a non-adjacent chrominance pixel line that is two lines away from the target chrominance block may be added. Alternatively, the second mode may be a mode in which chrominance reference pixels are selected from a non-adjacent chrominance pixel line that is one line away from the target chrominance block, and the third mode may be a mode in which chrominance reference pixels are selected from a non-adjacent chrominance pixel line that is two lines away from the target chrominance block.
[0066] The reference pixel acquisition unit 1721a outputs a CCLM mode index indicating a selected mode from among the three CCLM modes and reference pixel position information indicating a selected mode from among the first to third modes to the entropy encoding unit 130. The entropy encoding unit 130 outputs the CCLM mode index and the reference pixel position information as a bitstream. For example, the reference pixel position information may be set to “0” when the first mode is selected, to “10” when the second mode is selected, and to “11” when the third mode is selected. In this manner, the reference pixel position information indicating a selected mode from the first to third modes is signaled from the encoding device 1 to the decoding device 2. Note that the reference pixel position information can be considered to be information specifying the distance between the current chrominance block and the chrominance reference pixels.
[0067] The reference pixel acquisition unit 1721a outputs the acquired chrominance reference pixels and luminance reference pixels to the linear prediction parameter derivation unit 1721b. For example, the reference pixel acquisition unit 1721a may identify four chrominance reference pixels and four corresponding luminance reference pixels by the above-described method (e.g., equation (2)).
[0068] The linear prediction parameter derivation unit 1721b derives the linear prediction parameters (α and β) by the above-described method (for example, equations (3) and (4)), and outputs the derived linear prediction parameters to the color difference predicted image generation unit 1721c.
[0069] The chrominance predicted image generation unit 1721c generates a predicted image of the target chrominance block from the decoded luminance block corresponding to the target chrominance block and the linear prediction parameters using the above-mentioned method (e.g., equation (1)), and outputs the generated predicted image (chrominance predicted block). It is assumed that the decoded luminance block corresponding to the target chrominance block is stored in the memory 160.
[0070] When applying CCLM to a current block, the intra prediction unit 172 outputs a CCLM flag indicating that CCLM is applied to the block (i.e., CCLM is on) to the entropy coding unit 130. The entropy coding unit 130 outputs the CCLM flag together with the CCLM mode index and reference pixel position information in a bitstream.
[0071] (2) Decoding device Next, the decoding device according to this embodiment will be described.
[0072] (2.1) Configuration of the decoding device Fig. 6 is a diagram showing the configuration of a decoding device 2 according to this embodiment. As shown in Fig. 6, the decoding device 2 includes an entropy decoding unit 200, an inverse quantization and inverse transform unit 210, a synthesis unit 220, a memory 230, and a prediction unit 240.
[0073] The entropy decoding unit 200 decodes the bitstream generated by the encoding device 1 and outputs the quantized transform coefficients to the inverse quantization and inverse transform unit 210. The entropy decoding unit 200 also obtains information related to prediction (intra prediction and inter prediction) and outputs the obtained information to the prediction unit 240. In this embodiment, the entropy decoding unit 200 obtains, from the bitstream, a CCLM mode index indicating a mode selected by the encoding device 1 from among three CCLM modes and reference pixel position information indicating a mode selected by the encoding device 1 from among first to third modes, and outputs the obtained CCLM mode index and reference pixel position information to the prediction unit 240.
[0074] The inverse quantization and inverse transform unit 210 performs inverse quantization processing and inverse 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.
[0075] The inverse quantization unit 211 performs inverse quantization processing corresponding to the quantization processing performed by the quantization unit 122 of the encoding device 1. The inverse quantization unit 211 inverse quantizes the quantized transform coefficients output from the entropy decoding unit 200 using a quantization parameter (Qp) and a quantization matrix to reconstruct the transform coefficients of the block to be decoded, and outputs the reconstructed transform coefficients to the inverse transform unit 212.
[0076] The inverse transform unit 212 performs inverse transform processing corresponding to the transform processing performed by the transform unit 121 of the encoding device 1. The inverse transform unit 212 performs inverse transform processing on the transform coefficients output from the inverse quantization unit 211 to reconstruct prediction residuals, and outputs the reconstructed prediction residuals (reconstructed prediction residuals) to the synthesis unit 220.
[0077] The synthesis unit 220 decodes (reconstructs) the original block by synthesizing the prediction residual output from the inverse transform unit 212 and the prediction block output from the prediction unit 240 on a pixel-by-pixel basis, and outputs the reconstructed block to the memory 230.
[0078] The memory 230 stores the reconstructed blocks output from the synthesis unit 220 and accumulates the reconstructed blocks as decoded images on a frame-by-frame basis. The memory 230 outputs the reconstructed blocks or the decoded images to the prediction unit 240. The memory 230 also outputs the decoded images on a frame-by-frame basis to the outside of the decoding device 2. Note that a loop filter may be provided between the synthesis unit 220 and the memory 230.
[0079] The prediction unit 240 performs prediction on a block-by-block basis. The prediction unit 240 includes an inter prediction unit 241, an intra prediction unit 242, and a switching unit 243. In this embodiment, the intra prediction unit 242 corresponds to an intra prediction device provided in the decoding device 2.
[0080] The inter prediction unit 241 predicts the current block to be decoded by inter prediction using the decoded image stored in the memory 230 as a reference image. The inter prediction unit 241 generates an inter prediction block by performing inter prediction in accordance with the motion vector information output from the entropy decoding unit 200, and outputs the generated inter prediction block to the switching unit 243.
[0081] The intra prediction unit 242 generates an intra prediction block by referring to decoded pixels surrounding a block to be predicted (a current block to be decoded) among decoded images stored in the memory 230, and outputs the generated intra prediction block to the switching unit 243. The intra prediction unit 242 corresponds to an intra prediction device provided in the decoding device 2. The intra prediction unit 242 includes a CCLM prediction unit 2421.
[0082] The switching unit 243 switches between the inter-predicted block output from the inter-prediction unit 241 and the intra-predicted block output from the intra-prediction unit 242 and outputs either the predicted block to the synthesis unit 220.
[0083] (2.2) Configuration of CCLM prediction unit of decoder 7 is a diagram showing the configuration of the CCLM prediction unit 2421 according to this embodiment. As shown in Fig. 7, the CCLM prediction unit 2421 includes a reference pixel acquisition unit 2421a, a linear prediction parameter derivation unit 2421b, and a chrominance predicted image generation unit 2421c. The linear prediction parameter derivation unit 2421b is an example of a prediction parameter derivation unit that derives prediction parameters for predicting a target chrominance block.
[0084] The reference pixel acquisition unit 2421a acquires chrominance reference pixels from chrominance-decoded pixels surrounding a target chrominance block to be intra-predicted, and acquires luma reference pixels corresponding to the chrominance reference pixels, based on the CCLM mode index and reference pixel position information acquired by the entropy decoding unit 200. It is assumed that the decoded pixels are stored in the memory 230.
[0085] First, the reference pixel acquisition unit 2421a determines the CCLM mode to be applied to the target chrominance block from among the LM mode, LM-L mode, and LM-A mode based on the CCLM mode index. Second, the reference pixel acquisition unit 2421a determines the positions of the reference pixels from among the first to third modes based on the reference pixel position information.
[0086] In this embodiment, the reference pixel acquisition unit 2421a is capable of acquiring chrominance reference pixels from chrominance pixel lines (non-adjacent chrominance pixel lines) that are not adjacent to the target chrominance block, based on signaling from the encoding side (specifically, reference pixel position information). For example, when the encoding side signals reference pixel position information indicating that chrominance-decoded pixels belonging to a non-adjacent chrominance pixel line are to be selected as chrominance reference pixels, the reference pixel acquisition unit 2421a acquires chrominance reference pixels from the non-adjacent chrominance pixel line. When the reference pixel position information indicates the second mode (see FIG. 5(b)) or the third mode (see FIG. 5(c)), the reference pixel acquisition unit 2421a acquires chrominance reference pixels from the non-adjacent chrominance pixel line. Note that when the reference pixel position information indicates the first mode (see FIG. 5(a)), the reference pixel acquisition unit 2421a acquires chrominance reference pixels from the adjacent chrominance pixel line.
[0087] As described above, the first mode is a conventional mode. That is, the chrominance reference pixels are fixed to adjacent pixel lines adjacent to the chrominance block to be predicted. In contrast, the second and third modes are modes in which the chrominance reference pixels are obtained from non-adjacent chrominance pixel lines. Specifically, the second mode is a mode in which the chrominance reference pixels are calculated from the chrominance-decoded pixels of the non-adjacent chrominance pixel line and the adjacent chrominance pixel line. The third mode is a mode in which the chrominance reference pixels are selected from the non-adjacent chrominance pixel line.
[0088] The reference pixel acquisition unit 2421a outputs the acquired chrominance reference pixels and luminance reference pixels to the linear prediction parameter derivation unit 2421b. For example, the reference pixel acquisition unit 2421a may identify four chrominance reference pixels and four corresponding luminance reference pixels by the above-described method (e.g., equation (2)).
[0089] The linear prediction parameter derivation unit 2421b derives the linear prediction parameters (α and β) by the above-described method (for example, equations (3) and (4)), and outputs the derived linear prediction parameters to the color difference predicted image generation unit 2421c.
[0090] The chrominance predicted image generation unit 2421c generates a predicted image of the target chrominance block from the decoded luminance block corresponding to the target chrominance block and the linear prediction parameters using the above-mentioned method (e.g., equation (1)), and outputs the generated predicted image (chrominance predicted block). It is assumed that the decoded luminance block corresponding to the target chrominance block is stored in the memory 230.
[0091] (3) Operation of the Encoding Device and the Decoding Device 8 is a diagram showing the operation of the encoding device 1 and the decoding device 2 regarding CCLM according to this embodiment. Here, the signaling from the encoding device 1 to the decoding device 2 will be mainly explained. Note that the signaling from the encoding device 1 to the decoding device 2 is not limited to signaling via a transmission path, and may be signaling via a storage medium.
[0092] In step S1, the encoding device 1 (entropy encoding unit 130) signals a CCLM flag indicating whether or not CCLM is applied to the current block to the decoding device 2 (entropy decoding unit 200). For example, if CCLM is applied to the current block, the CCLM flag is set to "1," and if CCLM is not applied to the current block, the CCLM flag is set to "0." Note that the CCLM flag may be a flag that is signaled on a block-by-block basis.
[0093] In steps S2 and S3, when applying CCLM to the current block, the encoding device 1 (entropy encoding unit 130) signals to the decoding device 2 (entropy decoding unit 200) a CCLM mode index indicating the CCLM mode (LM mode, LM-L mode, or LM-A mode) to be applied to the current block and reference pixel position information indicating the reference pixel position mode (first mode, second mode, or third mode) to be applied to the current block. Note that when not applying CCLM to the current block, the encoding device 1 (entropy encoding unit 130) does not need to signal the CCLM mode index and the reference pixel position information to the decoding device 2 (entropy decoding unit 200).
[0094] As described above, according to this embodiment, chrominance reference pixels belonging to non-adjacent chrominance pixel lines that are not adjacent to the chrominance block to be predicted can be used to calculate linear prediction parameters by signaling from the encoding device 1 to the decoding device 2. This improves the prediction accuracy of intra prediction using CCLM.
[0095] (4) Example of change Next, a modification of the above embodiment will be described.
[0096] In this modified example, it is mainly assumed that MRL (Multi Reference Line) intra prediction is applied to luminance blocks. MRL is an intra prediction method applied to luminance blocks. Fig. 9 is a diagram showing an example of MRL.
[0097] As shown in Fig. 9, in MRL intra prediction, a pixel line selected by the encoding device 1 from among a plurality of pixel lines is used for intra prediction to generate a luminance prediction block, and an MRL index indicating the selected pixel line is signaled from the encoding device 1 to the decoding device 2. Fig. 9 illustrates an adjacent pixel line adjacent to the luminance block to be predicted, a first non-adjacent pixel line located outside the adjacent pixel line, a second non-adjacent pixel line located outside the first non-adjacent pixel line, and a third non-adjacent pixel line located outside the second non-adjacent pixel line.
[0098] Under such assumptions, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) of the encoding device 1 acquires chrominance reference pixels from non-adjacent chrominance pixel lines in CCLM prediction of the target chrominance block, based on the positions of the reference pixels referenced during intra-prediction of the luminance block corresponding to the target chrominance block.
[0099] For example, if the reference pixels referenced during intra prediction of the luminance block belong to a non-adjacent pixel line that is not adjacent to the luminance block, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) of the encoding device 1 acquires chrominance reference pixels from the non-adjacent chrominance pixel line. On the other hand, if the reference pixels referenced during intra prediction of the luminance block belong to an adjacent pixel line that is adjacent to the luminance block, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) of the encoding device 1 acquires chrominance reference pixels from the adjacent chrominance pixel line.
[0100] For example, assume that the intra prediction unit 172 of the encoding device 1 performs intra prediction of a target luminance block using luminance reference pixels belonging to an adjacent pixel line shown in Fig. 9. In this case, when performing CCLM prediction of a chrominance block corresponding to the target luminance block, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) acquires chrominance reference pixels from an adjacent chrominance pixel line adjacent to the target chrominance block.
[0101] On the other hand, assume that the intra prediction unit 172 of the encoding device 1 performs intra prediction of a target luminance block using luminance reference pixels belonging to the first non-adjacent pixel line shown in Fig. 9. In this case, when performing CCLM prediction of a chrominance block corresponding to the target luminance block, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) acquires chrominance reference pixels from a non-adjacent chrominance pixel line that is not adjacent to the target chrominance block. For example, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) may select the above-mentioned mode 2 to perform CCLM prediction.
[0102] When the intra prediction unit 172 of the encoding device 1 performs intra prediction of a target luminance block using luminance reference pixels belonging to the second non-adjacent pixel line or the third non-adjacent pixel line shown in Figure 9, the CCLM prediction unit 1721 (reference pixel acquisition unit 1721a) may select the above-mentioned mode 3 to perform CCLM prediction when performing CCLM prediction of a chrominance block corresponding to the luminance block.
[0103] In this manner, in this modified example, the MRL applied to a luminance block is linked to the positions of the chrominance reference pixels of the CCLM. The CCLM prediction unit 2421 (reference pixel acquisition unit 2421a) of the decoding device 2 acquires the chrominance reference pixels of the CCLM in a manner similar to that of the encoding device 1, based on the MRL index signaled from the encoding device 1. That is, according to this modified example, the positions of the chrominance reference pixels of the CCLM can be implicitly indicated to the decoding device 2 by the MRL index signaled from the encoding device 1 to the decoding device 2. This makes it possible to eliminate the need to signal reference pixel position information as in the above-described embodiment.
[0104] For example, if the reference pixels referenced during intra-prediction of a luminance block belong to a non-adjacent pixel line that is not adjacent to the luminance block, the CCLM prediction unit 2421 (reference pixel acquisition unit 2421a) of the decoding device 2 acquires chrominance reference pixels from the non-adjacent chrominance pixel line. On the other hand, if the reference pixels referenced during intra-prediction of a luminance block belong to an adjacent pixel line that is adjacent to the luminance block, the CCLM prediction unit 2421 (reference pixel acquisition unit 2421a) of the decoding device 2 acquires chrominance reference pixels from the adjacent chrominance pixel line.
[0105] (5) Other embodiments A program may be provided that causes a computer to execute each process performed by the encoding device 1. A program may be provided that causes a computer to execute each process performed by the decoding device 2. The program may be recorded on a computer-readable medium. Using a computer-readable medium makes it possible to install the program on a computer. Here, the computer-readable medium on which the program is recorded may be a non-transitory recording medium. The non-transitory recording medium is not particularly limited, and may be, for example, a recording medium such as a CD-ROM or a DVD-ROM.
[0106] The circuits that execute the processes performed by the encoding device 1 may be integrated, and the encoding device 1 may be configured as a semiconductor integrated circuit (chip set, SoC). The circuits that execute the processes performed by the decoding device 2 may be integrated, and the decoding device 2 may be configured as a semiconductor integrated circuit (chip set, SoC).
[0107] 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 can be made within the scope that does not deviate from the gist of the invention. [Explanation of symbols]
[0108] 1: Encoding device 2: Decryption device 100: Block division section 110: Subtraction section 120: Transformation and quantization unit 121: Conversion section 122: Quantization section 130: Entropy coding unit 140: Inverse quantization and inverse transformation unit 141: Inverse quantization section 142: Inverse conversion unit 150: Synthesis section 160: Memory 170: Prediction Department 171: Inter prediction unit 172: Intra prediction unit 173: Switching section 200: Entropy decoding unit 210: Inverse quantization and inverse transformation unit 211: Inverse quantization section 212: Inverse conversion unit 220: Synthesis section 230: Memory 240: Prediction section 241: Inter prediction unit 242: Intra prediction unit 243: Switching section 1721: CCLM Forecasting Department 1721a: Reference pixel acquisition unit 1721b: Linear prediction parameter derivation unit 1721c: Color difference prediction image generation unit 2421: CCLM Prediction Department 2421a: Reference pixel acquisition unit 2421b: Linear prediction parameter derivation unit 2421c: Color difference predicted image generation unit
Claims
1. An intra prediction device provided in a decoding device, which performs intra prediction on a block-by-block basis obtained by dividing an image composed of a luminance component and a chrominance component, a reference pixel acquisition unit that acquires chrominance reference pixels from chrominance-decoded pixels surrounding a target chrominance block to be subjected to intra prediction, and acquires luminance reference pixels corresponding to the chrominance reference pixels; a prediction parameter derivation unit that derives prediction parameters for predicting the target chrominance block from the chrominance reference pixels and the luminance reference pixels; a chrominance predicted image generation unit that generates a predicted image of the target chrominance block from a decoded luminance block corresponding to the target chrominance block and the prediction parameters, The reference pixel acquisition unit an intra prediction device, characterized in that the chrominance reference pixels are obtained from chrominance decoded pixels that are not adjacent to the target chrominance block, based on information signaled from an encoding side indicating that chrominance decoded pixels that are not adjacent to the target chrominance block are selected as the chrominance reference pixels.
2. The intra prediction device according to claim 1 , wherein the information specifies a distance between the current chrominance block and the chrominance reference pixels.
3. An intra prediction device that performs intra prediction on a block-by-block basis obtained by dividing an image composed of a luminance component and a chrominance component, a reference pixel acquisition unit that acquires chrominance reference pixels from chrominance-decoded pixels surrounding a target chrominance block to be subjected to intra prediction, and acquires luminance reference pixels corresponding to the chrominance reference pixels; a prediction parameter derivation unit that derives prediction parameters for predicting the target chrominance block from the chrominance reference pixels and the luminance reference pixels; a chrominance predicted image generation unit that generates a predicted image of the target chrominance block from a decoded luminance block corresponding to the target chrominance block and the prediction parameters, The reference pixel acquisition unit An intra prediction device characterized by obtaining the chrominance reference pixels from chrominance decoded pixels that are not adjacent to the target chrominance block, based on the fact that the reference pixels referenced during intra prediction of the luminance block are pixels that are not adjacent to the luminance block.
4. A decoding device comprising the intra prediction device according to any one of claims 1 to 3.
5. A program that causes a computer to function as the intra prediction device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Image encoding device, image decoding device, and program
CN112567743A
Video signal processing method and apparatus using multi-assumption prediction
WO2020076143A1