Prediction device, image encoding device, image decoding device, and program
The intra prediction device enhances prediction accuracy by combining directional and non-directional images with block size and shape-dependent weighting, addressing the accuracy decline in existing methods.
Patent Information
- Application Number
- JP2024133213
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-02-12
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2040-02-10
AI Technical Summary
Existing intra prediction methods, such as those used in VVC, suffer from decreased prediction accuracy as pixels move away from reference pixels, particularly in directional prediction, and existing image synthesis techniques do not adequately address these issues.
An intra prediction device that combines directional and non-directional prediction images using weighting coefficients determined by the block size and shape, enhancing prediction accuracy by adjusting the contribution of each image type based on the block characteristics.
Improves intra prediction accuracy by dynamically weighting and combining directional and planar prediction images, leading to better pixel prediction, especially for pixels farther from reference pixels.
Smart Images

Figure 0007812892000001 
Figure 0007812892000002 
Figure 0007812892000003
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] Research into video coding methods is being conducted to compress the amount of data required for transmitting and storing still and moving images. 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 video data.
[0003] The evaluation software (VTM) for VVC, a next-generation video coding standard jointly standardized by MPEG and ITU, uses intra-prediction, which takes advantage of spatial correlation within a frame (see Non-Patent Document 1). Using decoded reference pixels around the image block to be coded, the encoder selects the optimal mode from a total of 67 prediction modes, including planar prediction, DC prediction, and 65 directional predictions, and sends this information to the decoder.
[0004] As a method for improving the prediction accuracy of intra prediction, a prediction image synthesis method has been proposed in which a prediction image is generated using two intra prediction modes and each pixel of the two prediction images is added together to generate a new prediction image (see Non-Patent Document 2). Specifically, a prediction image is generated by adding a directional prediction image, which is a prediction image generated using one of the above-mentioned 65 directional prediction modes, and a planar prediction image, which is a prediction image generated using the planar mode. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] JVET-L1001 “Versatile Video Coding (Draft 3)” [Non-patent document 2] JVET-M0458 “Non-CE3: Combined-Hypothesis Intra-Prediction” Summary of the Invention [Problem to be solved by the invention]
[0006] Meanwhile, directional prediction has a drawback in that, although the prediction accuracy is high for pixels located close to the reference pixel, the prediction accuracy may decrease as the pixel moves away from the reference pixel.
[0007] However, the predicted image synthesis method described in Non-Patent Document 2 merely averages a directional predicted image and a planar predicted image on a pixel-by-pixel basis, and does not take into account the drawbacks of directional prediction, leaving room for improvement in terms of further improving the prediction accuracy of intra prediction.
[0008] 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 further improve the prediction accuracy of intra prediction using a predicted image synthesis technique. [Means for solving the problem]
[0009] An intra prediction device according to a first aspect performs intra prediction on image blocks obtained by dividing an original image. The intra prediction device includes: a first predicted image generation unit that predicts the image block in a first intra prediction mode, which is directional prediction, to generate a first predicted image; a second predicted image generation unit that predicts the image block in a second intra prediction mode, which is non-directional prediction, to generate a second predicted image; a weighting coefficient determination unit that determines a weighting coefficient to be used when weighting and combining the first predicted image and the second predicted image based on at least one of the block size and block shape of the image block; and an image synthesis unit that weights and combines the first predicted image and the second predicted image using the weighting coefficient determined by the weighting coefficient determination unit.
[0010] An image encoding device according to a second aspect includes the intra prediction device according to the first aspect.
[0011] An image decoding device according to a third aspect includes the intra prediction device according to the first aspect.
[0012] A program according to a fourth aspect causes a computer to function as the intra prediction device according to the first aspect. [Effects of the Invention]
[0013] 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 further improve the prediction accuracy of intra prediction by using a predicted image synthesis technique. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 is a diagram illustrating a configuration of an image encoding device according to an embodiment. [Figure 2] FIG. 10 is a diagram illustrating prediction modes of intra prediction according to the embodiment. [Figure 3] FIG. 2 is a diagram illustrating a configuration of an intra prediction unit of an image encoding device according to an embodiment. [Figure 4] FIG. 10 is a diagram illustrating an example of the operation of an intra prediction unit according to the embodiment. [Figure 5] FIG. 10 is a diagram illustrating a first example of the operation of a weighting coefficient determination unit according to the embodiment. [Figure 6] FIG. 10 is a diagram illustrating a second example of the operation of the weighting coefficient determination unit according to the embodiment. [Figure 7] FIG. 1 is a diagram illustrating a configuration of an image decoding device according to an embodiment. [Figure 8] FIG. 2 is a diagram illustrating a configuration of an intra prediction unit of an image decoding device according to an embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of an operation flow of an intra prediction unit according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0015] 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 embodiment encode and decode moving images, respectively, as typified by MPEG. In the following description of the drawings, identical or similar parts are denoted by identical or similar reference numerals.
[0016] <Configuration of the image encoding device> First, an image encoding device according to this embodiment will be described. Fig. 1 is a diagram showing the configuration of an image encoding device 1 according to this embodiment.
[0017] As shown in FIG. 1, the image coding device 1 includes a block division unit 100, a subtraction unit 110, a transformation and quantization unit 120, an entropy coding unit 130, an inverse quantization and inverse transformation unit 140, a synthesis unit 150, a memory 160, and a prediction unit 170.
[0018] 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 (rectangular). An image block is a unit (block to be coded) for coding by the image coding device 1, and is a unit (block to be coded) for decoding by the image decoding device. Such an image block is sometimes called a CU (Coding Unit).
[0019] The subtraction unit 110 calculates a prediction residual that represents a difference (error) between the current block to be coded input from the block division unit 100 and a predicted image obtained by predicting the current block to be coded by the prediction unit 170. Specifically, the subtraction unit 110 calculates the prediction residual by subtracting each pixel value of the predicted image from each pixel value of the block, and outputs the calculated prediction residual to the transformation and quantization unit 120.
[0020] 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.
[0021] The transform unit 121 performs an orthogonal transform process on the prediction residual input from the subtraction unit 110 to calculate orthogonal transform coefficients, and outputs the calculated orthogonal transform coefficients to the quantization unit 122. Examples of orthogonal transform include a discrete cosine transform (DCT), a discrete sine transform (DST), and a Karhunen-Loeve transform (KLT).
[0022] The quantization unit 122 quantizes the orthogonal transform coefficients input from the transform unit 121 using a quantization parameter (Qp) and a quantization matrix, and outputs the quantized orthogonal transform coefficients to the entropy coding unit 130 and the inverse quantization and inverse transform unit 140. The quantization parameter (Qp) is a parameter that is commonly applied to each orthogonal 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 orthogonal transform coefficient.
[0023] The entropy coding unit 130 performs entropy coding on the orthogonal transform coefficients input from the quantization unit 122, compresses the data, generates coded data (bit stream), and outputs the coded data to the outside of the image coding device 1. For entropy coding, Huffman coding, CABAC (Context-based Adaptive Binary Arithmetic Coding), etc. may be used. Note that information such as syntax related to prediction is input from the prediction unit 170 to the entropy coding unit 130, and the entropy coding unit 130 also performs entropy coding on the input information.
[0024] 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.
[0025] 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 restores the orthogonal transform coefficients by inverse quantizing the orthogonal transform coefficients input from the quantization unit 122 using a quantization parameter (Qp) and a quantization matrix, and outputs the restored orthogonal transform coefficients to the inverse transform unit 142.
[0026] The inverse transform unit 142 performs inverse orthogonal transform processing corresponding to the orthogonal 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 orthogonal transform processing on the orthogonal transform coefficients input from the inverse quantization unit 141 to restore prediction residuals, and outputs restored prediction residuals, which are the restored prediction residuals, to the synthesis unit 150.
[0027] The synthesis unit 150 synthesizes, on a pixel-by-pixel basis, the reconstructed prediction residual input from the inverse transform unit 142 with the predicted image input 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 image to reconstruct (decode) the block to be coded, and outputs the decoded image on a block-by-block basis to the memory 160. Such a decoded image may be called a reconstructed image.
[0028] The memory 160 stores the decoded image input from the synthesis unit 150. The memory 160 stores the decoded image on a frame-by-frame basis. The memory 160 outputs the stored decoded image to the prediction unit 170. A loop filter may be provided between the synthesis unit 150 and the memory 160. A part of the memory 160 may be included in the prediction unit 170.
[0029] The prediction unit 170 performs prediction in units of blocks. The prediction unit 170 includes an inter prediction unit 171, an intra prediction unit 172, and a switching unit 173.
[0030] The inter prediction unit 171 uses the decoded image stored in the memory 160 as a reference image, calculates a motion vector using a technique such as block matching, predicts the block to be coded, generates an inter prediction image, and outputs the generated inter prediction image to the switching unit 173.
[0031] 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 vectors, etc.) to the entropy coding unit 130.
[0032] The intra prediction unit 172 generates an intra prediction image by referring to decoded pixel values in the periphery of the block to be coded among the decoded images stored in the memory 160, and outputs the generated intra prediction image to the switching unit 173. The intra prediction unit 172 also outputs syntax related to the selected prediction mode to the entropy coding unit 130. Hereinafter, the block to be intra prediction is referred to as the intra prediction target block.
[0033] The intra prediction unit 172 selects an optimal prediction mode to be applied to the block to be intra-predicted from among a plurality of prediction modes, and predicts the block to be intra-predicted using the selected prediction mode.
[0034] FIG. 2 is a diagram showing prediction modes of intra prediction 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 the prediction 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. Modes "2" to "33" are prediction modes that primarily refer to reference pixels on the left side of a block to be intra predicted. On the other hand, modes "35" to "66" are prediction modes that primarily refer to reference pixels on the upper side of a block to be intra predicted.
[0035] The switching unit 173 switches between the inter predicted image input from the inter prediction unit 171 and the intra predicted image input from the intra prediction unit 172, and outputs either the predicted image to the subtraction unit 110 and the synthesis unit 150.
[0036] 3 is a diagram showing the configuration of the intra prediction unit 172 according to this embodiment. The intra prediction unit 172 corresponds to the intra prediction device provided in the image encoding device 1.
[0037] As shown in FIG. 3, the intra prediction unit 172 includes a memory 160a, a first predicted image generation unit 172a, a second predicted image generation unit 172b, a weighting coefficient determination unit 172c, and an image synthesis unit 172d.
[0038] The memory 160a is part of the memory 160 shown in Fig. 1. The memory 160a stores reference pixels, which are decoded pixels that are referenced during intra prediction.
[0039] The first predicted image generation unit 172a predicts the intra-prediction target block in a first intra-prediction mode, which is directional prediction, to generate a directional predicted image (first predicted image), and outputs the generated directional predicted image to the image synthesis unit 172d. Specifically, the first predicted image generation unit 172a references reference pixels stored in the memory 160a and generates the directional predicted image in one of 65 directional prediction modes.
[0040] The second predicted image generation unit 172b predicts the intra-prediction target block in a second intra-prediction mode, which is non-directional prediction, to generate a predicted image (second predicted image), and outputs the generated predicted image to the image synthesis unit 172d. Specifically, the second predicted image generation unit 172b references reference pixels stored in the memory 160a and generates a directional predicted image in a predetermined non-directional second intra-prediction mode.
[0041] The second intra prediction mode may be any prediction mode as long as it is a non-directional prediction mode. In this embodiment, an example in which the second intra prediction mode is planar prediction will be described.
[0042] The weighting coefficient determination unit 172c determines a weighting coefficient based on at least one of the block size and block shape of the block to be intra-predicted, and outputs the determined weighting coefficient to the image synthesis unit 172d. The weighting coefficient output by the weighting coefficient determination unit 172c is used when weighting and synthesizing the directional predicted image generated by the first predicted image generation unit 172a and the planar predicted image generated by the second predicted image generation unit 172b.
[0043] The image synthesis unit 172d uses the weighting coefficients input from the weighting coefficient determination unit 172c to weight-synthesize the directional prediction image input from the first prediction image generation unit 172a and the planar prediction image input from the second prediction image generation unit 172b, and outputs the prediction image after weighting synthesis as an intra-prediction image.
[0044] Fig. 4 is a diagram showing an example of the operation of the intra prediction unit 172 according to this embodiment. Fig. 4 illustrates an example in which the intra prediction target block has a square shape of 8x8 pixels, but the intra prediction target block does not have to be square. Furthermore, the black circles in Fig. 4 represent reference pixels.
[0045] As shown in Fig. 4(a), the second predicted image generation unit 172b predicts the intra-prediction target block by planar prediction to generate a planar predicted image. Specifically, planar prediction generates a predicted pixel value by interpolation prediction using the four reference pixels shown in Fig. 4(a).
[0046] 4(b), the first predicted image generation unit 172a predicts the intra-prediction target block in a directional prediction mode to generate a directional predicted image. Directional prediction generates predicted pixel values by extrapolating reference pixels along the prediction direction, and therefore has the disadvantage that, although the prediction accuracy is high for pixels located close to the reference pixels, the prediction accuracy may decrease as pixels move farther away from the reference pixels.
[0047] The weighting coefficient determination unit 172c determines a weighting coefficient based on at least one of the block size and block shape of the intra-prediction target block. In this embodiment, the weighting coefficient determination unit 172c determines a weighting coefficient α (second weighting coefficient) to be applied to the planar predicted image and a weighting coefficient β (first weighting coefficient) to be applied to the directional predicted image.
[0048] As shown in FIG. 4(c), the image synthesis unit 172d applies a weighting factor β to each pixel of the directional predicted image generated by the first predicted image generation unit 172a, and applies a weighting factor α to each pixel of the planar predicted image generated by the second predicted image generation unit 172b, synthesizes the directional predicted image and the planar predicted image on a pixel-by-pixel basis, and outputs the synthesized predicted image as an intra predicted image.
[0049] Fig. 5 is a diagram showing a first operation example of the weighting coefficient determination unit 172c according to this embodiment. In Fig. 5, the "length of the shortest side" is the length of the shortest side of a rectangular block to be intra-predicted, expressed in number of pixels. In other words, the "length of the shortest side" represents the block size of the block to be intra-predicted. Meanwhile, "α:β" in Fig. 5 represents the ratio of weighting coefficient α to weighting coefficient β.
[0050] Here, the "length of the smallest side" is presented as an example of the block size of the intra-prediction target block, but other examples such as "block width + block height" or "block width x block height" may also be used.
[0051] As shown in FIG. 5, the weighting coefficient determination unit 172c determines the weighting coefficients α and β so as to increase the ratio of the weight (α) of the planar predicted image to the weight (β) of the directional predicted image as the block size of the intra-prediction target block increases.
[0052] In the example shown in Fig. 5, when the block size is "8", the weight (α) of the planar predicted image is equal to the weight (β) of the directional predicted image. In this case, the image synthesis unit 172d outputs a predicted image obtained by averaging the planar predicted image and the directional predicted image as an intra-predicted image. Hereinafter, the block size "8" will be referred to as the reference block size.
[0053] When the block size is "4" which is smaller than the reference block size, the weighting coefficient determination unit 172c determines the weighting coefficients α and β so that the weight of the planar predicted image (α=1) is smaller than the weight of the directional predicted image (β=2). In this case, the proportion of the planar predicted image in the intra predicted images output by the image synthesis unit 172d decreases.
[0054] On the other hand, as the block size becomes larger than the reference block size, the weighting coefficient determination unit 172c determines the weighting coefficients α and β so that the weight (α) of the planar predicted image becomes larger than the weight (β) of the directional predicted image. In this case, the proportion of the planar predicted image in the intra predicted images output by the image synthesis unit 172d increases.
[0055] Here, in directional prediction, the larger the block size of the intra-prediction target block, the lower the prediction accuracy of pixels farther from the reference pixel. Therefore, by determining the weighting factors α and β so as to increase the proportion of the planar predicted image and decrease the proportion of the directional predicted image, it is possible to improve the prediction accuracy.
[0056] It should be noted that the method of determining the weighting factors α and β shown in FIG. 5 is one example, and the specific values of the weighting factors α and β are not limited to the example shown in FIG.
[0057] Fig. 6 is a diagram showing a second operation example of the weighting coefficient determination unit 172c according to this embodiment. In Fig. 6, "the larger of width / height or height / width" refers to the larger of the width / height or height / width values for the intra-prediction target block. That is, the "larger of width / height or height / width" is a value that increases as the shape of the intra-prediction target block becomes more elongated. Meanwhile, "α:β" in Fig. 6 represents the ratio of weighting coefficient α to weighting coefficient β.
[0058] 6, the weighting coefficient determination unit 172c determines the weighting coefficients α and β so that the ratio of the weight (α) of the planar predicted image to the weight (β) of the directional predicted image decreases as the ratio of the long side to the short side of the rectangular intra-prediction target block increases. Note that the short side refers to the shorter side of the rectangle, and the long side refers to the longer side of the rectangle.
[0059] In other words, the weighting coefficient determination unit 172c determines the weighting coefficients α and β so that the ratio of the weight (α) of the planar predicted image to the weight (β) of the directional predicted image becomes smaller as the shape of the intra-prediction target block becomes more elongated.
[0060] In the example shown in Fig. 6, when "the larger of width / height or height / width" is "1", that is, when the intra-prediction target block is square, the weight (α) of the planar predicted image and the weight (β) of the directional predicted image are equal. In this case, the image synthesis unit 172d outputs a predicted image obtained by averaging the planar predicted image and the directional predicted image as the intra-prediction image. Hereinafter, the square intra-prediction target block will be referred to as a reference shape.
[0061] The weighting coefficient determination unit 172c determines the weighting coefficients α and β so that the weight (α) of the planar predicted image is smaller than the weight (β) of the directional predicted image as the intra-prediction target block changes from the reference shape (square) to an elongated shape. In this case, the proportion of the planar predicted image in the intra-predicted images output by the image synthesis unit 172d decreases.
[0062] Here, in directional prediction, the more elongated the shape of the intra-prediction target block is, the less likely it is that a pixel farther away from the reference pixel will be predicted, and the higher the prediction accuracy may be. Therefore, by determining the weighting factors α and β so as to reduce the proportion of the planar prediction image and increase the proportion of the directional prediction image, the prediction accuracy can be improved.
[0063] It should be noted that the method of determining the weighting factors α and β shown in FIG. 6 is an example, and the specific values of the weighting factors α and β are not limited to the example shown in FIG.
[0064] Furthermore, the weighting coefficient determination unit 172c may combine operation example 1 and operation example 2. For example, a table such as that shown in Fig. 6 may be defined separately for each value of the "length of the smallest side" (i.e., block size). Alternatively, a table such as that shown in Fig. 5 may be defined separately for each value of the "larger of width / height or height / width."
[0065] <Configuration of an image decoding device> Next, an image decoding device according to this embodiment will be described. Fig. 7 is a diagram showing the configuration of an image decoding device 2 according to this embodiment.
[0066] As shown in FIG. 7, the image 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.
[0067] The entropy decoding unit 200 decodes the coded data generated by the image coding device 1, and outputs the quantized orthogonal transform coefficients to the inverse quantization and inverse transform unit 210. The entropy decoding unit 200 also acquires syntax related to prediction (intra prediction and inter prediction), and outputs the acquired syntax to the prediction unit 240.
[0068] 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.
[0069] The inverse quantization unit 211 performs inverse quantization processing corresponding to the quantization processing performed by the quantization unit 122 of the image encoding device 1. The inverse quantization unit 211 inverse quantizes the quantized orthogonal transform coefficients input from the entropy decoding unit 200 using a quantization parameter (Qp) and a quantization matrix to restore the orthogonal transform coefficients of the block to be decoded, and outputs the restored orthogonal transform coefficients to the inverse transform unit 212.
[0070] 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 processing on the orthogonal transform coefficients input from the inverse quantization unit 211 to restore prediction residuals, and outputs the restored prediction residuals (restored prediction residuals) to the synthesis unit 220.
[0071] 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 240 on a pixel-by-pixel basis, and outputs the decoded image on a block-by-block basis to the memory 230.
[0072] The memory 230 stores the decoded image input from the synthesis unit 220. The memory 230 stores the decoded image in units of frames. The memory 230 outputs the decoded image in units of frames to the outside of the image decoding device 2. Note that a loop filter may be provided between the synthesis unit 220 and the memory 230. Also, a part of the memory 230 may be included in the prediction unit 240.
[0073] The prediction unit 240 performs prediction on a block-by-block basis and includes an inter prediction unit 241, an intra prediction unit 242, and a switching unit 243.
[0074] 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 image by performing inter prediction in accordance with the syntax, motion vectors, etc. input from the entropy decoding unit 200, and outputs the generated inter prediction image to the switching unit 243.
[0075] The intra prediction unit 242 refers to the decoded image stored in the memory 230 and generates an intra prediction image by predicting the block to be decoded using intra prediction based on the syntax input from the entropy decoding unit 200, and outputs the generated intra prediction image to the switching unit 243.
[0076] The switching unit 243 switches between the inter-predicted image input from the inter-prediction unit 241 and the intra-predicted image input from the intra-prediction unit 242 and outputs either of the predicted images to the synthesis unit 220.
[0077] 8 is a diagram showing the configuration of the intra prediction unit 242 according to this embodiment. The intra prediction unit 242 corresponds to the intra prediction device provided in the image decoding device 2. The intra prediction unit 242 performs the same operation as the intra prediction unit 172 provided in the image encoding device 1.
[0078] As shown in FIG. 8, the intra prediction unit 242 includes a memory 230a, a first predicted image generation unit 242a, a second predicted image generation unit 242b, a weighting coefficient determination unit 242c, and an image synthesis unit 242d.
[0079] The memory 230a is part of the memory 230 shown in Fig. 7. The memory 230a stores reference pixels, which are decoded pixels that are referenced during intra prediction.
[0080] The first predicted image generation unit 242a predicts the intra-prediction target block in a first intra-prediction mode, which is directional prediction, to generate a directional predicted image (first predicted image), and outputs the generated directional predicted image to the image synthesis unit 242d. Specifically, the first predicted image generation unit 242a references reference pixels stored in the memory 230a and generates a directional predicted image in a directional prediction mode indicated by the syntax input from the entropy decoding unit 200.
[0081] The second predicted image generation unit 242b predicts the intra prediction target block using a second intra prediction mode, which is non-directional prediction, to generate a predicted image (second predicted image), and outputs the generated predicted image to the image synthesis unit 242d. Specifically, the second predicted image generation unit 242b references reference pixels stored in the memory 230a and generates a directional predicted image using a predetermined non-directional second intra prediction mode. In this embodiment, the second intra prediction mode is planar prediction.
[0082] The weighting coefficient determination unit 242c determines a weighting coefficient based on at least one of the block size and block shape of the intra-prediction target block, and outputs the determined weighting coefficient to the image synthesis unit 242d. The block size and block shape of the intra-prediction target block are input to the weighting coefficient determination unit 242c from the entropy decoding unit 200. The operation of the weighting coefficient determination unit 242c is the same as the operation in operation examples 1 and 2 described above.
[0083] The image synthesis unit 242d uses the weighting coefficients input from the weighting coefficient determination unit 242c to weight-synthesize the directional prediction image input from the first prediction image generation unit 242a and the planar prediction image input from the second prediction image generation unit 242b, and outputs the prediction image after weighting synthesis as an intra-prediction image.
[0084] <Example of intra prediction operation flow> Next, an example of an operation flow of intra prediction according to this embodiment will be described. The operation of intra prediction is the same in the image encoding device 1 and the image decoding device 2, but here, the operation of intra prediction (intra prediction unit 242) in the image decoding device 2 will be described. Fig. 9 is a diagram showing an example of the operation flow of the intra prediction unit 242.
[0085] First, the entropy decoding unit 200 decodes syntax indicating the intra prediction mode selected by the image encoding device 1. If this syntax indicates a mode other than the directional prediction mode (DC prediction or planar prediction) (step S1: NO), the intra prediction unit 242 performs intra prediction similar to conventional methods (step S7).
[0086] Second, the entropy decoding unit 200 decodes syntax indicating whether or not to apply a predictive image synthesis method. If this syntax indicates that a predictive image synthesis method is not to be applied (step S2: NO), the intra prediction unit 242 performs intra prediction similar to conventional methods (step S7). However, if the intra prediction mode selected by the image encoding device 1 is a directional prediction mode, the predictive image synthesis method may always be applied. In this case, signaling of syntax indicating whether or not to apply a predictive image synthesis method is not required.
[0087] Third, when the intra prediction mode selected by the image encoding device 1 is directional prediction (step S1: YES) and a prediction image synthesis method is applied (step S2: YES), the weighting coefficient determination unit 242c determines the weighting coefficients α and β based on at least one of the block size and block shape of the intra prediction target block (step S3).
[0088] Fourth, the first predicted image generation unit 242a predicts the block to be intra-predicted using the directional prediction mode selected by the image encoding device 1 to generate a directional predicted image (step S4). Furthermore, the second predicted image generation unit 242b predicts the block to be intra-predicted using planar prediction to generate a planar predicted image (step S5).
[0089] Fifth, the image synthesis unit 242d uses the weighting coefficients α and β determined in step S3 to weight-synthesize the directional predicted image generated in step S4 and the planar predicted image generated in step S5, and outputs the weighted-synthesized predicted image as an intra-predicted image (step S6).
[0090] <Summary of the embodiment> The image encoding device 1 and the image decoding device 2 according to this embodiment determine weighting factors based on at least one of the block size and block shape of a block to be intra-predicted, and weight-combine a directional predicted image and a planar predicted image using the determined weighting factors. This allows for higher prediction accuracy of intra-prediction than when the directional predicted image and the planar predicted image are simply averaged in a predicted image combining method.
[0091] <Other embodiments> In the above-described embodiment, an example in which the second intra prediction mode is planar prediction has been mainly described. However, the second intra prediction mode may be planar prediction. When the second intra prediction mode is planar prediction, the "planar prediction" in the above-described embodiment may be read as "planar prediction."
[0092] Alternatively, the second intra prediction mode may be DC prediction. When the second intra prediction mode is DC prediction, the "planar prediction" in the above-described embodiment may be read as "DC prediction."
[0093] A program may be provided that causes a computer to execute each process performed by the image encoding device 1. A program may be provided that causes a computer to execute each process performed by the image decoding device 2. The program may be recorded on a computer-readable medium. Using the 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.
[0094] The image encoding device 1 may be configured as a semiconductor integrated circuit (chip set, SoC) by integrating circuits that execute the processes performed by the image encoding device 1. The image decoding device 2 may be configured as a semiconductor integrated circuit (chip set, SoC) by integrating circuits that execute the processes performed by the image decoding device 2.
[0095] 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]
[0096] 1: Image encoding device 2: Image decoding 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 160a: Memory 170: Prediction Department 171: Inter prediction unit 172: Intra prediction unit 172a: First predicted image generation unit 172b: second predicted image generation unit 172c: Weighting coefficient determination unit 172d: Image synthesis 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 230a: Memory 240: Prediction section 241: Inter prediction unit 242: Intra prediction unit 242a: First predicted image generation unit 242b: Second predicted image generation unit 242c: Weighting coefficient determination unit 242d: Image synthesis unit 243: Switching section
Claims
1. A decoding device that performs intra prediction on image blocks obtained by dividing an original image, an entropy decoding unit for obtaining an intra-prediction mode; a first predicted image generation unit that predicts the image block using directional prediction to generate a first intra predicted image; a second predicted image generation unit that predicts the image block using non-directional prediction to generate a second intra predicted image; an image synthesis unit that weights and synthesizes the first intra-predicted image and the second intra-predicted image based on the block shape of the image block, The entropy decoding unit does not acquire information that specifies the non-directional prediction. Decryption device.
2. A program for causing a computer to function as the decoding device according to claim 1.
Citation Information
Patent Citations
Method and device for encoding / decoding image, and recording medium storing bit stream
WO2018066849A1