Prediction block generation device, image encoding device, image decoding device, and program

By identifying intra prediction modes of neighboring blocks and adjusting weighting coefficients, the prediction block generation device improves prediction accuracy in CIIP by accounting for varying correlations between blocks.

JP7733083B2Active Publication Date: 2025-09-02NIPPON HOSO KYOKAI
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023172326
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-10-03
Publication Date
2025-09-02
Estimated Expiration
2039-08-05

AI Technical Summary

Technical Problem

The weighting coefficients in Combined Inter and Intra Prediction (CIIP) are determined based on whether intra prediction is applied to surrounding blocks, which can lead to reduced prediction accuracy when there is no correlation between the prediction target block and surrounding blocks due to differing image patterns or textures.

Method used

A prediction block generation device that identifies the intra prediction mode of neighboring blocks and determines weighting coefficients based on these modes to improve prediction accuracy by adjusting the weight of intra and inter prediction blocks accordingly.

Benefits of technology

Enhances prediction accuracy in CIIP by ensuring appropriate weighting coefficients are used, even when intra prediction modes of surrounding blocks do not match, thereby maintaining or improving prediction quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007733083000004
    Figure 0007733083000004
  • Figure 0007733083000005
    Figure 0007733083000005
  • Figure 0007733083000006
    Figure 0007733083000006
Patent Text Reader

Abstract

To improve prediction accuracy by properly deciding the weighting coefficient in CIIP.SOLUTION: A prediction block generation device which generates an intra prediction signal and a prescribed prediction signal by predicting a prediction object block obtained by dividing an image by intra prediction and prescribed prediction different from the intra prediction and outputs a prediction signal in the prediction object block by synthesizing the intra prediction signal and the prescribed prediction signal by weighting synthesis, comprises: a mode specification part which specifies an intra prediction mode of intra prediction applied to a peripheral block when there is the peripheral block applied with the intra prediction in the periphery of the prediction object block; and a weighting coefficient decision part which decides a weighting coefficient used for the weighting synthesis on the basis of the intra prediction mode specified by the mode specification part.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a prediction block generating device, an image encoding device, an image 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] VVC, a next-generation coding standard jointly standardized by MPEG and ITU, uses intra-prediction, which utilizes spatial correlation within a frame, and inter-prediction, which utilizes correlation between frames (see, for example, Non-Patent Document 1). These predictions are performed in units of blocks obtained by dividing an image.

[0004] Additionally, VVC is expected to adopt a technology called Combined Inter and Intra Prediction (CIIP). CIIP predicts a block to be predicted using inter prediction and intra prediction, respectively, to generate an inter prediction block and an intra prediction block, and then outputs a predicted block by combining the inter prediction block and the intra prediction block using weighted combining. Note that the intra prediction mode for intra prediction in CIIP is fixed to Planar mode.

[0005] Information on the weighting coefficients used for weighted synthesis in CIIP is not sent from the image encoding device to the image decoding device, but is implicitly determined depending on whether intra-prediction or inter-prediction is applied to the blocks above and to the left of the block to be predicted.

[0006] The specific weighting coefficients are as follows: (a) If intra prediction is used in both, Intra:Inter=3:1 (b) If intra prediction is used in either one, Intra:Inter=2:2 (c) When inter prediction is used in both, Intra:Inter=1:3 In other words, it is designed so that when intra prediction is applied to the surrounding blocks, the weight of the intra prediction block is large, and when inter prediction is applied to the surrounding blocks, the weight of the inter prediction block is large. [Prior art documents] [Non-patent literature]

[0007] [Non-Patent Document 1] JVET-N1001 Versatile Video Coding (Draft 5) DISCLOSURE OF THE INVENTION [Problem to be solved by the invention]

[0008] As described above, the weighting coefficients in CIIP are determined depending on whether intra prediction is applied to the surrounding blocks.

[0009] However, even if intra prediction is applied to the surrounding blocks, if the intra prediction mode of the surrounding blocks is not planar prediction, there is a possibility that there is no correlation between the prediction target block and the surrounding blocks, and the image pattern or texture may be significantly different. In such a case, there is a problem that increasing the weight of the intra prediction block may have the opposite effect, and the prediction accuracy for the prediction target block may be reduced.

[0010] Therefore, an object of the present invention is to provide a prediction block generation device, an image encoding device, an image decoding device, and a program that improve prediction accuracy by appropriately determining weighting coefficients in CIIP. [Means for solving the problem]

[0011] A prediction block generation device according to a first aspect predicts a block to be predicted obtained by dividing an image using intra prediction and a predetermined prediction different from the intra prediction, respectively, to generate an intra prediction signal and a predetermined prediction signal, and outputs a prediction signal for the block to be predicted by combining the intra prediction signal and the predetermined prediction signal using weighted combining, and includes: a mode identification unit that, when there are neighboring blocks to which intra prediction has been applied around the block to be predicted, identifies an intra prediction mode of the intra prediction applied to the neighboring blocks, and a weight coefficient determination unit that determines a weight coefficient to be used for the weighted combining based on the intra prediction mode identified by the mode identification unit. The prediction block generation device according to the embodiment predicts a block to be predicted obtained by dividing an image using inter prediction and intra prediction, respectively, to generate an inter prediction block and an intra prediction block, and outputs a prediction block for the block to be predicted by combining the inter prediction block and the intra prediction block using weighted combining. The prediction block generation device includes a mode identification unit that, when there is a surrounding block to which intra prediction has been applied around the block to be predicted, identifies the intra prediction mode of the intra prediction applied to the surrounding block, and a weighting coefficient determination unit that determines a weighting coefficient to be used for the weighted synthesis based on the intra prediction mode identified by the mode identification unit.

[0012] An image encoding device according to a second aspect includes the prediction block generation device according to the first aspect.

[0013] An image decoding device according to a third aspect includes the prediction block generation device according to the first aspect.

[0014] A program according to a fourth aspect causes a computer to function as the predicted block generating device according to the first aspect. [Effects of the Invention]

[0015] According to the present invention, it is possible to provide a predicted block generation device, an image encoding device, an image decoding device, and a program that improve prediction accuracy by appropriately determining weighting coefficients in CIIP. [Brief explanation of the drawings]

[0016] [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 showing intra prediction mode candidates according to the embodiment. [Figure 3] FIG. 10 is a diagram illustrating a planar mode as an intra prediction mode of intra prediction. [Figure 4] FIG. 2 is a diagram illustrating a configuration of a synthesis processing unit of an image encoding device according to an embodiment. [Figure 5] 10A and 10B are diagrams illustrating a top block and a left block according to an embodiment. [Figure 6] FIG. 1 is a diagram illustrating a configuration of an image decoding device according to an embodiment. [Figure 7] FIG. 2 is a diagram illustrating a configuration of a synthesis processing unit of an image decoding device according to an embodiment. [Figure 8] FIG. 10 is a diagram showing an example of an operation flow for generating a prediction block in the image decoding device according to the embodiment. [Figure 9] FIG. 10 is a diagram illustrating a configuration of a synthesis processing unit according to another embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0017] 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, the same or similar parts are designated by the same or similar parts. are similarly numbered.

[0018] <Configuration of the image encoding device> First, the configuration of an image coding device according to this embodiment will be described. Fig. 1 is a diagram showing the configuration of an image coding device 1 according to this embodiment.

[0019] 1 , the image coding device 1 includes a block division unit 100, a subtraction unit 110, a transform / quantization unit 120, an entropy coding unit 130, an inverse quantization / inverse transform unit 140, a synthesis unit 150, a memory 160, and a prediction unit 170. In this embodiment, the prediction unit 170 corresponds to a prediction block generation device provided in the image coding device 1.

[0020] 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 of coding performed by the image coding device 1 (i.e., a block to be coded) and a unit of decoding performed by the image decoding device (i.e., a block to be coded). Such an image block is sometimes called a CU (Coding Unit).

[0021] The subtraction unit 110 calculates a prediction residual representing the difference (error) between the current block to be coded output from the block division unit 100 and a prediction block 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 prediction 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 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.

[0023] The transform unit 121 performs an orthogonal transform process on the prediction residual output 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).

[0024] The quantization unit 122 quantizes the orthogonal transform coefficients output 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.

[0025] The entropy coding unit 130 performs entropy coding on the orthogonal transform coefficients output 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 the entropy coding unit 130 also receives input of information related to prediction from the prediction unit 170 and performs entropy coding on the input information.

[0026] 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.

[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 restores the orthogonal transform coefficients by inverse quantizing the orthogonal transform coefficients output 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.

[0028] 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 output from the inverse quantization unit 141 to restore prediction residuals, and outputs restored 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 to be coded, and outputs the decoded block to the memory 160. Note that the decoded block may also be called a reconstructed block.

[0030] The memory 160 stores the decoded blocks output from the synthesis unit 150 and accumulates the decoded blocks as decoded images on a frame-by-frame basis. The memory 160 outputs the stored decoded blocks or decoded images to the prediction unit 170. A loop filter may be provided between the synthesis unit 150 and the memory 160. In this embodiment, the memory 160 further stores information related to the prediction applied to each decoded block (hereinafter referred to as "block prediction information").

[0031] The prediction unit 170 performs prediction on a block-by-block basis. A current block to be coded that the prediction unit 170 handles is called a “current block to be predicted.” The prediction unit 170 includes an intra prediction unit 171, an inter prediction unit 172, a synthesis processing unit 173, and a switching unit 174.

[0032] The intra prediction unit 171 performs intra prediction using spatial correlation within a frame. Specifically, the intra prediction unit 171 generates an intra prediction block by referring to decoded pixels surrounding a block to be predicted for intra prediction among decoded images stored in the memory 160, and outputs the generated intra prediction block to the switching unit 174. Generally, the intra prediction unit 171 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 current block using the selected intra prediction mode. The intra prediction unit 171 outputs information related to the selected intra prediction mode to the entropy coding unit 130.

[0033] FIG. 2 is a diagram showing candidate intra prediction modes according to this embodiment. As shown in FIG. 2, there are 67 candidate intra prediction modes, ranging from 0 to 66. Intra prediction mode mode "0" is planar prediction, intra prediction mode mode "1" is DC prediction, and intra prediction modes "2" to "66" are directional prediction. In directional prediction, the direction of an arrow indicates a reference direction, with the starting point of the arrow indicating the position of a pixel to be predicted and the end point of the arrow indicating 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 a block, there are mode "2," which is an intra prediction mode that references the lower left direction, and mode "66," which is an intra prediction mode that references the upper right direction. Mode numbers are assigned clockwise from mode "2" to mode "66" at predetermined angle intervals.

[0034] The inter prediction unit 172 performs inter prediction using correlation between frames. Specifically, the inter prediction unit 172 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 block to be predicted for inter prediction, generates an inter prediction block, and outputs the generated inter prediction block to the switching unit 174. Here, the inter prediction unit 172 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 172 outputs information related to the inter prediction (motion vector, etc.) to the entropy coding unit 130.

[0035] In this embodiment, the prediction unit 170 has a CIIP function. Hereinafter, CIIP is considered to be a function belonging to inter prediction. When applying CIIP to a block to be predicted, the prediction unit 170 predicts the block to be predicted using CIIP by inter prediction and intra prediction, respectively, to generate an inter prediction block and an intra prediction block, and outputs a prediction block by combining the inter prediction block and the intra prediction block using weighted combining. When applying CIIP to a block to be predicted, the prediction unit 170 outputs information indicating that CIIP is to be applied to this block to the entropy coding unit 130.

[0036] Specifically, when CIIP is applied to a block to be predicted, the intra prediction unit 171 and the inter prediction unit 172 perform intra prediction and inter prediction, respectively, on the same block to be predicted. Then, the intra prediction unit 171 outputs the intra-predicted block to the synthesis processing unit 173, and the inter prediction unit 172 outputs the inter-predicted block to the synthesis processing unit 173.

[0037] In the CIIP, the intra prediction unit 171 applies the planar mode as the intra prediction mode for intra prediction. As shown in Fig. 3, the planar prediction is an intra prediction mode that generates a predicted pixel value by interpolation prediction using four reference pixels above, below, left, and right at the starting points of the four arrows. Alternatively, in the CIIP, the intra prediction unit 171 may apply an intra prediction mode other than the planar mode.

[0038] The synthesis processing unit 173 generates a predicted block by synthesizing the intra-predicted block output from the intra-prediction unit 171 and the inter-prediction block output from the inter-prediction unit 172 using weighted synthesis, and outputs the generated predicted block to the switching unit 174. In this embodiment, the predicted block output by the synthesis processing unit 173 is assumed to be a type of inter-predicted block. Details of the synthesis processing unit 173 will be described later.

[0039] The switching unit 174 switches between the inter-prediction block output from the inter-prediction unit 172 or the synthesis processing unit 173 and the intra-prediction block output from the intra-prediction unit 171, and outputs either the prediction block to the subtraction unit 110 and the synthesis unit 150.

[0040] FIG. 4 is a diagram showing the configuration of the synthesis processing unit 173 of the image encoding device 1 according to this embodiment.

[0041] As shown in FIG. 4, the synthesis processing unit 173 includes a mode specifying unit 173a, a weighting coefficient determining unit 173b, and a weighting synthesis unit 173c.

[0042] The mode specifying unit 173a performs block prediction for each decoded block stored in the memory 160. When there are neighboring blocks (decoded blocks) to which intra prediction has been applied around the block to be predicted based on the measurement information, the mode specifying unit 173a specifies the intra prediction mode of the intra prediction applied to the neighboring blocks. Furthermore, when there are neighboring blocks to which intra prediction has been applied around the block to be predicted, the mode specifying unit 173a specifies the intra prediction mode of the intra prediction applied to each of the neighboring blocks.

[0043] In this embodiment, the upper block, which is the adjacent block above the block to be predicted, and the left block, which is the adjacent block to the left of the block to be predicted, are used as peripheral blocks. The block to be predicted and the peripheral blocks may have different block shapes and block sizes. Therefore, as shown in FIG. 5, the upper block is the adjacent block including the pixel adjacent to the upper side of the pixel at the top right of the block to be predicted. The left block is the adjacent block including the pixel adjacent to the left side of the pixel at the bottom left of the block to be predicted.

[0044] The mode identification unit 173a compares the intra prediction mode applied to the intra prediction of the prediction target block with the intra prediction modes of each of the multiple surrounding blocks (the block above and the block to the left). Specifically, the mode identification unit 173a identifies a mode matching number, which is the number of intra prediction modes of each of the multiple surrounding blocks that match the intra prediction mode applied to the intra prediction of the prediction target block, and outputs the identified mode matching number to the weighting coefficient determination unit 173b.

[0045] When the intra prediction mode applied to the block to be predicted in the CIIP is fixed to the planar mode, the mode identification unit 173a reads information on the intra prediction modes of the peripheral blocks from the memory 160, and identifies the number of planar modes among the intra prediction modes of the peripheral blocks as the mode matching number. In this embodiment, the peripheral blocks are the top block and the left block, so the mode matching number is 0, 1, or 2.

[0046] On the other hand, when the intra prediction mode applied to the block to be predicted in the CIIP is variable, the mode identification unit 173a reads information on the intra prediction modes of the surrounding blocks from the memory 160, and also acquires information on the intra prediction mode applied to the block to be predicted from the intra prediction unit 171. Then, the mode identification unit 173a identifies the number of intra prediction modes applied to the block to be predicted, among the intra prediction modes of the surrounding blocks, as the mode matching number. In this embodiment, the surrounding blocks are the top block and the left block, so the mode matching number is 0, 1, or 2.

[0047] The weighting coefficient determination unit 173b determines weighting coefficients to be used for weighting synthesis in CIIP based on the intra prediction modes of the surrounding blocks identified by the mode identification unit 173a, and outputs the determined weighting coefficients to the weighting synthesis unit 173c. In this embodiment, the weighting coefficient determination unit 173b determines weighting coefficients based on the mode matching numbers output by the mode identification unit 173a.

[0048] For example, as shown in Table 1, the weighting coefficient determination unit 173b determines weighting coefficients such that the ratio of the weight of an intra-predicted block to that of an inter-predicted block increases as the number of mode matches increases.

[0049] [Table 1]

[0050] Here, the sum of the weight of the intra-predicted block and the weight of the inter-predicted block is set to 4. For example, the weighting coefficient determination unit 173b outputs the weight of the intra-predicted block as a weighting coefficient wt to the weighting synthesis unit 173c.

[0051] The weighting synthesis unit 173c generates a prediction block by weighting synthesis of the intra prediction block output from the intra prediction unit 171 and the inter prediction block output from the inter prediction unit 172 based on the weighting coefficient wt output from the weighting coefficient determination unit 173b, and outputs the generated prediction block to the switching unit 174.

[0052] Specifically, the weighting synthesis unit 173c synthesizes the intra-predicted block and the inter-predicted block by weighting synthesis on a pixel-by-pixel basis. For example, the pixel value of the intra-predicted block is P intra , the pixel values ​​of the inter-predicted block are P inter In this case, the weighting synthesis unit 173c calculates the pixel value P CIIP is calculated using the following formula (1).

[0053]

number

[0054] <Configuration of an image decoding device> Next, the configuration of an image decoding device according to this embodiment will be described. Fig. 6 is a diagram showing the configuration of an image decoding device 2 according to this embodiment.

[0055] 6 , 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. In this embodiment, the prediction unit 240 corresponds to a prediction block generation device provided in the image decoding device 2.

[0056] 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 information related to prediction (intra prediction and inter prediction), and outputs the acquired information to the prediction unit 240. In this embodiment, when CIIP is applied to the block to be decoded, the entropy decoding unit 200 acquires information indicating that CIIP is applied to the block to be decoded, and outputs the acquired information to the prediction unit 240.

[0057] 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.

[0058] 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 output 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.

[0059] 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 output from the inverse quantization unit 211 to restore prediction residuals, and outputs the restored prediction residuals (restored prediction residuals) to the synthesis unit 220.

[0060] 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 decoded block to the memory 230.

[0061] The memory 230 stores the decoded blocks output from the synthesis unit 220 and accumulates the decoded blocks as decoded images on a frame-by-frame basis. The memory 230 outputs the decoded 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 image decoding device 2. Note that a loop filter may be provided between the synthesis unit 220 and the memory 230. In this embodiment, the memory 230 further stores block prediction information regarding the prediction applied to each decoded block.

[0062] The prediction unit 240 performs prediction on a block-by-block basis and includes an intra prediction unit 241, an inter prediction unit 242, a synthesis processing unit 243, and a switching unit 244.

[0063] The intra prediction unit 241 performs intra prediction using spatial correlation within a frame. Specifically, the intra prediction unit 241 generates an intra prediction block by referring to decoded pixels around a prediction target block of the intra prediction among the decoded images stored in the memory 230, based on information related to the intra prediction (for example, information on the intra prediction mode) output from the entropy decoding unit 200, and outputs the generated intra prediction block to the switching unit 244.

[0064] The inter prediction unit 242 performs inter prediction using correlation between frames. Specifically, the inter prediction unit 242 predicts a block to be predicted for inter prediction using a decoded image stored in the memory 230 as a reference image based on information related to inter prediction (e.g., motion vector information) output from the entropy decoding unit 200, to generate an inter prediction block, and outputs the generated inter prediction block to the switching unit 244.

[0065] In this embodiment, the prediction unit 240 has a CIIP function. When the information output from the entropy decoding unit 200 includes information indicating that the CIIP is applied to the block to be predicted, the prediction unit 240 predicts the block to be predicted using the CIIP by inter prediction and intra prediction, respectively, to generate an inter prediction block and an intra prediction block, and outputs a prediction block by combining the inter prediction block and the intra prediction block using weighted combining.

[0066] Specifically, when CIIP is applied to a block to be predicted, the intra prediction unit 241 and the inter prediction unit 242 perform intra prediction and inter prediction, respectively, on the same block to be predicted. Then, the intra prediction unit 241 outputs the intra prediction block to the synthesis processing unit 243, and the inter prediction unit 242 outputs the inter prediction block to the synthesis processing unit 243. In CIIP, the intra prediction unit 241 applies planar mode as the intra prediction mode for intra prediction. Alternatively, in CIIP, the intra prediction unit 241 may apply an intra prediction mode other than planar mode.

[0067] The synthesis processing unit 243 generates a prediction block by synthesizing the intra-prediction block output from the intra-prediction unit 241 and the inter-prediction block output from the inter-prediction unit 242 using weighted synthesis, and outputs the generated prediction block to the switching unit 244.

[0068] The switching unit 244 switches between the inter-predicted block output from the inter-prediction unit 242 or the synthesis processing unit 243 and the intra-predicted block output from the intra-prediction unit 241, and outputs either the predicted block to the synthesis unit 220.

[0069] FIG. 7 is a diagram showing the configuration of the synthesis processing unit 243 of the image decoding device 2 according to this embodiment.

[0070] 7, the synthesis processing unit 243 has a mode identification unit 243a, a weighting coefficient determination unit 243b, and a weighting synthesis unit 243c. The mode identification unit 243a, the weighting coefficient determination unit 243b, and the weighting synthesis unit 243c perform the same operations as the mode identification unit 173a, the weighting coefficient determination unit 173b, and the weighting synthesis unit 173c shown in FIG.

[0071] <Example of prediction block generation> Next, an example of an operation flow for generating a predicted block according to this embodiment will be described. The operation for generating a predicted block is the same in the image encoding device 1 and the image decoding device 2, but here, the operation for generating a predicted block (prediction unit 240) in the image decoding device 2 will be described.

[0072] FIG. 8 is a diagram showing an example of an operation flow for generating a predicted block (prediction unit 240) in the image decoding device 2 according to this embodiment.

[0073] As shown in FIG. 8, in step S1, the prediction unit 240 determines, based on the information output from the entropy decoding unit 200, whether or not to apply CIIP to the block to be predicted.

[0074] When CIIP is applied to the block to be predicted (step S1: YES), in step S2, the intra prediction unit 241 and the inter prediction unit 242 predict the block to be predicted by inter prediction and intra prediction, respectively, to generate an inter prediction block and an intra prediction block.

[0075] In step S3, the mode specifying unit 243a obtains information on the intra prediction mode of intra prediction applied to the peripheral blocks around the block to be predicted from the memory 230. In this embodiment, an upper block that is an adjacent block above the block to be predicted and a left block that is an adjacent block to the left of the block to be predicted are used as the peripheral blocks.

[0076] In step S4, the mode specifying unit 243a specifies the number of mode matches, which is the number of intra prediction modes of the multiple surrounding blocks that match the intra prediction mode applied to the intra prediction of the current block.

[0077] As described above, when the intra prediction mode applied to the block to be predicted in the CIIP is fixed to Planar mode, the mode identification unit 243a reads information on the intra prediction modes of the surrounding blocks from the memory 230, and identifies the number of Planar modes among the intra prediction modes of the surrounding blocks as the mode match number.

[0078] On the other hand, when the intra prediction mode applied to the block to be predicted in the CIIP is variable, the mode identification unit 243a reads information on the intra prediction modes of the surrounding blocks from the memory 230, and acquires information on the intra prediction mode applied to the block to be predicted from the intra prediction unit 241. Then, the mode identification unit 243a identifies, as the mode matching number, the number of intra prediction modes applied to the block to be predicted, among the intra prediction modes of the surrounding blocks.

[0079] In step S5, the weighting coefficient determination unit 243b determines the weighting coefficient to be used for weighting synthesis in the CIIP from Table 1 based on the number of mode matches output by the mode identification unit 243a, and outputs the determined weighting coefficient to the weighting synthesis unit 243c.

[0080] In step S6, the weighting synthesis unit 243c generates a prediction block by weighting synthesis of the intra prediction block output from the intra prediction unit 241 and the inter prediction block output from the inter prediction unit 242 based on the weighting coefficient output from the weighting coefficient determination unit 243b, and outputs the generated prediction block.

[0081] <Summary of the embodiment> As described above, when applying CIIP to a block to be predicted, the synthesis processing unit 173 and the synthesis processing unit 243 according to this embodiment determine the weighting coefficients to be used for weighted synthesis in CIIP based on the intra prediction modes of the surrounding blocks.

[0082] This means that even if intra prediction is applied to surrounding blocks, if the intra prediction modes of the block to be predicted and the surrounding blocks do not match, the weight of the intra prediction block is not increased, thereby preventing a decrease in prediction accuracy in CIIP.

[0083] Furthermore, if the intra prediction modes of the block to be predicted and the surrounding blocks are the same, it can be said that there is a high correlation between the block to be predicted and the surrounding blocks, and therefore, by increasing the weight of the intra prediction block, the prediction accuracy in CIIP can be improved.

[0084] <Other embodiments> In the above-described embodiment, when applying CIIP to a block to be predicted, the synthesis processing unit 173 and the synthesis processing unit 243 determine weighting factors to be used for weighted synthesis in CIIP based on the intra prediction modes of the surrounding blocks. However, when determining the weighting factors, it is also possible to take into consideration not only the intra prediction modes of the surrounding blocks but also whether the prediction method applied to the surrounding blocks is intra prediction or inter prediction.

[0085] 9 is a diagram showing the configuration of a synthesis processing unit 173 according to another embodiment. Here, the configuration of the synthesis processing unit 173 will be described as an example, but the synthesis processing unit 243 is also configured in the same way.

[0086] 9, the synthesis processing unit 173 further includes a prediction method identification unit 173d that identifies whether the prediction method applied to the peripheral blocks is intra prediction or inter prediction. For example, the prediction method identification unit 173d obtains prediction method information indicating whether the applied prediction method is intra prediction or inter prediction for each of the top block and the left block (see FIG. 5), and outputs the obtained prediction method information to the weighting coefficient determination unit 173b.

[0087] The weighting coefficient determination unit 173b determines weighting coefficients to be used for weighted synthesis in the CIIP based on the prediction methods of the surrounding blocks identified by the prediction method identification unit 173d and the intra prediction modes of the surrounding blocks identified by the mode identification unit 173a. For example, the weighting coefficient determination unit 173b determines weighting coefficients as shown in Table 2.

[0088] [Table 2]

[0089] Here, the sum of the weight of the intra-predicted block and the weight of the inter-predicted block is set to 8. For example, the weighting factor determination unit 173b outputs the weight of the intra-predicted block as a weighting factor wt to the weighting synthesis unit 173c.

[0090] Note that 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.

[0091] 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.

[0092] The above describes the embodiments in detail with reference to the drawings, but the specific configuration is not limited to that described above, and various design changes can be made within the scope that does not deviate from the gist of the invention. [Explanation of symbols]

[0093] 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 170: Prediction Department 171: Intra prediction unit 172: Inter prediction unit 173: Composition processing unit 173a: Mode identification section 173b: Weighting coefficient determination unit 173c: Weighting synthesis unit 173d: Prediction method specification unit 174: 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: Intra prediction unit 242: Inter prediction unit 243: Composition processing unit 243a: Mode identification section 243b: Weighting coefficient determination unit 243c: Weighting synthesis unit 243d: Prediction method specification unit 244: Switching section

Claims

1. A prediction block generation device that predicts a prediction target block obtained by dividing an image by intra prediction and inter prediction, respectively, to generate an intra prediction signal and an inter prediction signal, and outputs a prediction signal within the prediction target block by combining the intra prediction signal and the inter prediction signal by weighted combining, a mode identification unit that, when a peripheral block to which intra prediction has been applied is present around the block to be predicted, identifies an intra prediction mode of the intra prediction applied to the peripheral block; a weighting coefficient determination unit that determines a weighting coefficient to be applied on a pixel-by-pixel basis when weighting and synthesizing the intra-prediction signal and the inter-prediction signal on a pixel-by-pixel basis, based on the intra-prediction mode identified by the mode identification unit.

2. An image coding device comprising the prediction block generation device according to claim 1.

3. An image decoding device comprising the prediction block generation device according to claim 1.

4. A program that causes a computer to function as the predicted block generation device according to claim 1.

Citation Information

Patent Citations

  • JPP7361522B

  • Image signal encoding / decoding method and apparatus therefor

    WO2020096389A1

  • Extended application of combined intra-inter prediction

    WO2020156537A1