Image decoding device, image decoding method and program

By generating the motion compensation pixels of the target block and performing brightness mapping and overlapping block motion compensation, combining geometric block segmentation mode and chromatic aberration scaling, the problem of improving encoding performance in the prior art is solved, and more efficient prediction performance is achieved.

JP7628484B2Active Publication Date: 2025-02-10KDDI CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021188193
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-18
Publication Date
2025-02-10
Estimated Expiration
2041-11-18

AI Technical Summary

Technical Problem

There is room for improvement in the encoding performance of existing GPMs, especially when combining OBMC and LMCS, the prior art has failed to effectively improve the predictive performance.

Method used

By generating the motion compensation pixels of the target block, brightness mapping and overlapping block motion compensation are performed, and combined with geometric block segmentation mode, overlapping block motion compensation, brightness mapping and chromatic aberration scaling, the final predicted pixel is generated to achieve the improvement of the prediction performance of brightness components.

Benefits of technology

When GPM, OBMC and LMCS are all effective, prediction performance is improved by combining motion compensation pixels, overlapping block motion compensation pixels, and intra prediction pixels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007628484000009
    Figure 0007628484000009
  • Figure 0007628484000010
    Figure 0007628484000010
  • Figure 0007628484000011
    Figure 0007628484000011
Patent Text Reader

Abstract

To generate a predicted pixel for a luminance component of each target block.SOLUTION: In an image decoding device 200 according to the present invention, when all of the GPM, OBMC, and LMCS are valid for a target block, and the GPM is composed of inter prediction and intra prediction, a synthesizing unit 243 is configured to synthesize the luminance-mapped MC and OBMC and each luminance component of the intra-prediction pixel to generate a prediction pixel for the luminance component of the target block.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image decoding device, an image decoding method, and a program. [Background technology]

[0002] Non-Patent Document 1 discloses GPM (Geometric Partitioning Mode).

[0003] GPM divides a rectangular block diagonally into two and motion compensates each of them. Specifically, in GPM, the two divided regions are motion compensated using merge mode motion vectors and then combined using weighted averaging. There are 64 diagonal division patterns available, depending on the angle and position.

[0004] Furthermore, Non-Patent Document 1 discloses Luma Mapping with Chroma Scaling (LMCS). LMCS is a technique for performing transformation and quantization in a coding processing technique in a signal space different from that of an input image signal.

[0005] Furthermore, Non-Patent Document 2 discloses Overlapped Block Motion Compensation (OBMC), which is a technique for weighting and averaging motion compensation (MC) pixels of a target block using motion vectors of adjacent blocks (OBMC pixels) according to the distances from the boundaries of both blocks. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] ITU-T H.266 / VVC [Non-Patent Document 2] JVET-U0100, “Compression efficiency methods beyond VVC” Summary of the Invention [Problem to be solved by the invention]

[0007] However, since the GPM disclosed in Non-Patent Document 1 is limited to inter prediction, there is a problem that there is room for improvement in coding performance. Therefore, the present invention has been made in consideration of the above-mentioned problems, and aims to provide an image decoding device, an image decoding method, and a program that can be expected to improve prediction performance by generating a predicted pixel in the luminance component of a target block by synthesizing a luminance-mapped MC pixel, an OBMC pixel, and an intra-predicted pixel when all of GPM, OBMC, and LMCS are valid in the target block and the GPM is composed of inter prediction and intra prediction, that is, by aligning the signal space of the three predicted pixels with the luminance-mapped space and then generating a final predicted pixel when the GPM, OBMC, and LMCS are all valid in the target block and the GPM is composed of inter prediction and intra prediction. [Means for solving the problem]

[0008] A first feature of the present invention is summarized as an image decoding device comprising: a motion compensation unit configured to generate motion compensation pixels for a current block; an overlapping block motion compensation unit configured to generate overlapping block motion compensation pixels for the current block; a luma mapping unit configured to perform luma mapping on luma components of the motion compensation pixels for the current block and the overlapping block motion compensation pixels; an intra prediction unit configured to generate intra predicted pixels for the current block; and a synthesis unit configured to synthesize the motion compensation pixels, the overlapping block motion compensation pixels, and the intra predicted pixels for the current block, wherein when a geometric block partition mode, overlapping block motion compensation, and luma mapping / chroma scaling are all enabled for the current block, and the geometric block partition mode is configured as inter prediction and intra prediction, the synthesis unit is configured to synthesize the luma components of the motion compensation pixels, the overlapping block motion compensation pixels, and the intra predicted pixels that have been subjected to luma mapping, and generate a predicted pixel for the luma component of the current block.

[0009] A second feature of the present invention is summarized as an image decoding device comprising: a motion compensation unit configured to generate motion compensation pixels for a current block; an intra prediction unit configured to generate intra predicted pixels for the current block; an inverse chrominance scaling unit configured to inverse chrominance scale chrominance components of predicted residual pixels for the current block; a synthesis unit configured to synthesize the motion compensation pixels and the intra predicted pixels for the current block; and an inverse chrominance scaling unit configured to apply inverse chrominance scaling independently to each of the division regions in the geometric block division mode when a geometric block division mode and luma mapping / chrominance scaling are enabled for the current block.

[0010] A third aspect of the present invention is an image decoding method comprising: a step A of generating motion compensation pixels for a current block; a step B of generating overlapping block motion compensation pixels for the current block; a step C of performing luminance mapping on luminance components of the motion compensation pixels and the overlapping block motion compensation pixels for the current block; a step D of generating intra-predicted pixels for the current block; and a step E of combining the motion compensation pixels, the overlapping block motion compensation pixels, and the intra-predicted pixels for the current block, wherein in the step E, when a geometric block partition mode, overlapping block motion compensation, and luminance mapping / chrominance scaling are all enabled for the current block, and the geometric block partition mode is configured with inter prediction and intra prediction, the gist is that the motion compensation pixels, the overlapping block motion compensation pixels, and the intra-predicted pixels that have been subjected to luminance mapping are combined to generate a predicted pixel for the luminance component of the current block.

[0011] A fourth aspect of the present invention is summarized as a program for causing a computer to function as an image decoding device, the image decoding device including: a motion compensation unit configured to generate motion compensation pixels for a current block; an overlapping block motion compensation unit configured to generate overlapping block motion compensation pixels for the current block; a luma mapping unit configured to perform luma mapping on luma components of the motion compensation pixels for the current block and the overlapping block motion compensation pixels; an intra prediction unit configured to generate intra predicted pixels for the current block; and a synthesis unit configured to synthesize the motion compensation pixels, the overlapping block motion compensation pixels, and the intra predicted pixels for the current block, wherein when a geometric block partition mode, an overlapping block motion compensation mode, and luma mapping / chroma scaling are all enabled for the current block, and the geometric block partition mode is configured as inter prediction and intra prediction, the synthesis unit is configured to synthesize the luma components of the motion compensation pixels, the overlapping block motion compensation pixels, and the intra predicted pixels that have been subjected to luma mapping, to generate a predicted pixel for the luma component of the current block. Effect of the Invention

[0012] According to the present invention, when GPM, OBMC, and LMCS are all valid for a target block and the GPM is composed of inter prediction and intra prediction, a predicted pixel for the luminance component of the target block is generated by combining a luminance-mapped MC pixel, an OBMC pixel, and an intra prediction pixel. In other words, the signal space of the three predicted pixels is aligned with the luminance-mapped space, and then the final predicted pixel is generated. This makes it possible to provide an image decoding device, an image decoding method, and a program that can be expected to improve prediction performance. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of an image processing system 1 according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of functional blocks of the image encoding device 100 according to an embodiment. [Diagram 3] FIG. 3 is a diagram showing an example of functional blocks of an image decoding device 200 according to an embodiment. [Figure 4] FIG. 4 is a diagram showing an example of a case in which a rectangular block to be decoded is divided into two geometrically shaped division areas A and B by a division line in the geometric division mode using the geometric division mode disclosed in non-patent document 1. [Diagram 5] FIG. 5 illustrates an example of application of intra prediction modes to the GPM according to the present embodiment. [Figure 6] FIG. 6 illustrates an example of application of intra prediction modes to the GPM according to this embodiment. [Figure 7] FIG. 7 is a diagram showing an example of an intra prediction mode candidate list according to this embodiment. [Figure 8] FIG. 8 is a diagram showing a method for constructing a merge candidate list disclosed in Non-Patent Document 1. [Figure 9A] FIG. 9A is a diagram showing an example of a rectangular block to be decoded that is motion compensated by OBMC disclosed in Non-Patent Document 2. As shown in FIG. [Figure 9B] FIG. 9B is a diagram showing an example of a rectangular block to be decoded that is motion compensated by OBMC disclosed in Non-Patent Document 2. In FIG. [Figure 10] FIG. 10 is a flowchart showing an example of the operation of the inter prediction unit 241. [Figure 11] FIG. 11 shows an example of application of OBMC to a block to which GPM is applied in this embodiment. [Figure 12] Figure 12 is a diagram showing an example in which bi-prediction is applied to an inter-prediction region of Intra / Inter-GPM in this embodiment, DMVR is applied to the region, and the motion vectors of certain block sizes that make up the region are different, in which OBMC is applied to the block boundaries above, below, left, and right of those blocks. [Figure 13]FIG. 13 is a diagram showing an example of values ​​of weighting coefficients w for predicted pixels in each divided area A / B of the GPM according to Non-Patent Document 1 and this embodiment. [Figure 14] FIG. 14 is a diagram showing an example of angleIdx that defines the angle of the division line of the GPM. [Figure 15] FIG. 15 is a diagram showing an example of disLut. [Figure 16] FIG. 16 is a diagram showing an example of an inverse chrominance scaling method taking into account the division shape of the GPM according to the present embodiment. [Figure 17] FIG. 17 is a diagram showing an example of a table in which the reference areas of the divided areas A and B are set based on the angle of the division line L of the GPM. [Figure 18] FIG. 18 is a diagram for explaining an example of a method for limiting the luminance components of reconstruction pixels used in calculating the scaling coefficients. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, the embodiments of the present invention will be described with reference to the drawings. Note that the components in the following embodiments can be appropriately replaced with existing components, and various variations including combinations with other existing components are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.

[0015] First Embodiment An image processing system 10 according to a first embodiment of the present invention will be described below with reference to Figures 1 to 16. Figure 1 is a diagram showing an image processing system 10 according to this embodiment.

[0016] (Image Processing System 10) As shown in FIG. 1, an image processing system 10 according to this embodiment includes an image encoding device 100 and an image decoding device 200.

[0017] The image coding device 100 is configured to generate coded data by coding an input image signal (picture). The image decoding device 200 is configured to generate an output image signal by decoding the coded data.

[0018] Here, the encoded data may be transmitted from the image encoding device 100 to the image decoding device 200 via a transmission path. Alternatively, the encoded data may be provided from the image encoding device 100 to the image decoding device 200 after being stored in a storage medium.

[0019] (Image encoding device 100) The image encoding device 100 according to this embodiment will be described below with reference to Fig. 2. Fig. 2 is a diagram showing an example of functional blocks of the image encoding device 100 according to this embodiment.

[0020] As shown in FIG. 2, the image encoding device 100 includes an MC unit 111A, an OBMC unit 111B, an intra prediction unit 112, a synthesis unit 113, a subtractor 121, an adder 122, a transform / quantization unit 131, an inverse transform / inverse quantization unit 132, an encoding unit 140, a frame buffer 160, a first luminance mapping unit 170A, a second luminance mapping unit 170B, an in-loop filter processing unit 170, an inverse luminance mapping unit 171, a chrominance scaling unit 180, and an inverse chrominance scaling unit 181.

[0021] The MC unit 111A is configured to generate an MC pixel signal for a current block by motion compensation (MC), which is also called inter-frame prediction or inter-prediction.

[0022] Specifically, the MC unit 111A is configured to identify a reference block included in the reference frame by comparing a frame to be coded (target frame) with a reference frame stored in the frame buffer 160, and to determine a motion vector (MV) for the identified reference block. Here, the reference frame is a frame different from the target frame.

[0023] Furthermore, the MC prediction unit 111A is configured to generate, for each encoding target block (hereinafter, target block), an MC pixel signal (hereinafter, MC pixel) included in the target block, based on a reference block and a motion vector.

[0024] Moreover, the MC unit 111A is configured to output the MC pixels to the second luminance mapping unit 170B.

[0025] In addition, although not shown in FIG. 2, the MC unit 111A is configured to output information regarding MC control (specifically, information such as inter prediction mode, motion vector, reference frame list, reference frame number, etc.) to the encoding unit 140.

[0026] The OBMC unit 111B is configured to generate an OBMC pixel signal (hereinafter, OBMC pixel) for a current block by overlapped block motion compensation (OBMC), which is a type of inter prediction.

[0027] Specifically, the OBMC unit 111B is configured to generate MC pixel signals (hereinafter, OBMC pixels) for a predetermined pixel area that overlaps from the boundary between the target block and the adjacent block toward the target block, in a similar procedure to that of the MC unit 111A, but based on a reference block and a motion vector for a block adjacent to the target block (hereinafter, adjacent block) rather than the target block.

[0028] Moreover, the OBMC unit 111B is configured to output the OBMC pixels to a second luminance mapping unit 170B.

[0029] Furthermore, although not shown in FIG. 2, the OBMC unit 111B is configured to output information relating to the control of the OBMC (specifically, information such as motion vectors, reference frame lists, and reference frame numbers) to the encoding unit 140.

[0030] The intra prediction unit 112 is configured to generate an intra-predicted pixel signal (hereinafter, referred to as an intra-predicted pixel) for a current block by intra prediction (intra-frame prediction).

[0031] Specifically, the intra prediction unit 112 is configured to identify a reference block included in the current frame, and generate intra-predicted pixels for each current block based on the identified reference block.

[0032] Here, the reference block is a block that is referenced for the current block, for example, a block adjacent to the current block.

[0033] Moreover, the intra prediction unit 112 is configured to output the intra predicted pixels to the synthesis unit 113 .

[0034] Furthermore, although not shown in FIG. 2, the intra prediction unit 112 is configured to output information relating to control of intra prediction (specifically, information such as the intra prediction mode) to the encoding unit 140.

[0035] When Luma Mapping with Chroma Scaling (LMCS) disclosed in Non-Patent Document 1 is effective for a target block, the first luminance mapping unit 170A is configured to divide the maximum and minimum pixel values ​​of the luminance component in the input image signal into 16 equal parts for each target block, and further convert (hereinafter referred to as luminance mapping) the values ​​of the input image signal included in each division using a divisional line model designed in advance.

[0036] As for the luminance mapping method using this piecewise linear model, a method similar to that described in Non-Patent Document 1 can be applied to this embodiment, so a detailed description thereof will be omitted.

[0037] Furthermore, the first luminance mapping unit 170A is configured to output the luminance-mapped value of the input image signal of the current block (hereinafter, referred to as an input pixel) to the subtractor 121 and the intra prediction unit 112 at the subsequent stage.

[0038] In addition, when LMCS is disabled for the target block, the first luminance mapping unit 170A is configured to output an input pixel of a luminance component that is not luminance mapped to the downstream subtractor 121 and intra prediction unit 112 without applying the above-mentioned luminance mapping to the luminance component of the input pixel.

[0039] Furthermore, the first luminance mapping unit 170A is configured to output input pixels of chrominance components that are not luminance mapped to the downstream subtractor 121 and intra prediction unit 112 without applying the above-mentioned luminance mapping process to the chrominance components of the input pixels, regardless of whether LMCS is enabled or disabled for the target block.

[0040] The second luminance mapping unit 170B is configured to, when LMCS is valid for the target block, luminance map each luminance component of the MC pixels output from the MC unit 111A and the OBMC pixels output from the OBMC unit 111B in a manner similar to that of the first luminance mapping unit 170A described above.

[0041] Moreover, the second luminance mapping unit 170B is configured to output each of the luminance-mapped MC pixels and OBMC pixels to the synthesis unit 113 at the subsequent stage.

[0042] In addition, when LMCS is disabled for the target block, the second luminance mapping unit 170B is configured to output the MC pixels and OBMC pixels of each luminance component that have not been luminance mapped to the downstream synthesis unit 113 without applying the above-mentioned luminance mapping to the luminance components of the MC pixels and OBMC pixels.

[0043] In addition, the second luminance mapping unit 170B is configured to output the MC pixels and OBMC pixels of each chrominance component that are not luminance mapped to the downstream synthesis unit 113 without applying the above-mentioned luminance mapping process to the chrominance components of the MC pixels and OBMC pixels, regardless of whether LMCS is enabled or disabled for the target block.

[0044] The synthesis unit 113 is configured to perform weighted averaging (synthesis) of the MC pixels and OBMC pixels from the second luminance mapping unit 170B and the intra-predicted pixels from the intra-prediction unit 112 using preset weighting coefficients, respectively, and output the synthesized predicted signal (hereinafter, predicted pixel) to the subtractor 121 and the adder 122. Details of the weighting coefficients and the weighted averaging method will be described later.

[0045] The subtractor 121 is configured to output a difference obtained by subtracting the predicted pixel from the synthesis unit 113 from the input pixel, that is, a prediction residual signal (hereinafter, predicted residual pixel), to the chrominance scaling unit 180.

[0046] When the LMCS is valid for the current block, the chrominance scaling unit 180 is configured to convert (hereinafter, chrominance scaling) pixel values ​​of chrominance components in the prediction residual pixels based on a chrominance scaling coefficient calculated using an average value of the decoded reconstructed pixels adjacent to the current block. The chrominance scaling method will be described in detail later.

[0047] Moreover, the chrominance scaling unit 180 is configured to output the chrominance-scaled prediction residual pixels of the current block to the downstream transform / quantization unit 131.

[0048] In addition, when LMCS is disabled for the target block, the chrominance scaling unit 180 is configured to output the prediction residual pixels that have not been chrominance scaled to the downstream subtractor 121 and intra prediction unit 112 without applying the above-mentioned chrominance scaling to the chrominance components of the prediction residual pixels.

[0049] Furthermore, the chrominance scaling unit 180 is configured to output the luminance components of the prediction residual pixels that have not been chrominance scaled to the downstream subtractor 121 and intra prediction unit 112 without applying the above-mentioned chrominance scaling to the luminance components of the prediction residual pixels, regardless of whether LMCS is enabled or disabled for the current block.

[0050] The adder 122 is configured to add the prediction pixels output from the synthesis unit 113 to the prediction residual pixels output from the inverse chrominance scaling unit 181 to generate an unfiltered decoded signal (hereinafter, unfiltered reconstructed pixels), and to output the unfiltered reconstructed pixels to the intra prediction unit 112 and the inverse luminance mapping unit 171.

[0051] Here, the unfiltered reconstructed pixels form a reference block used by the intra prediction unit 112 .

[0052] The transform / quantization unit 131 is configured to perform a transform process on the prediction residual signal and to obtain a coefficient level value. Furthermore, the transform / quantization unit 131 may be configured to quantize the coefficient level value.

[0053] Here, the transform process is a process of transforming a prediction residual signal into a frequency component signal. For such a transform process, a basis pattern (transformation matrix) corresponding to a discrete cosine transform (hereinafter, abbreviated as DCT) may be used, or a basis pattern (transformation matrix) corresponding to a discrete sine transform (hereinafter, abbreviated as DST) may be used.

[0054] As a transform process, MTS (Multiple Transform Selection), which is disclosed in Non-Patent Document 1 and enables selection of a transform base suitable for the bias of coefficients of a prediction residual signal from among a plurality of transform bases for each horizontal and vertical direction, or LFNST (Low Frequency Non-Separable Transform), which improves coding performance by concentrating transform coefficients after a primary transform in a further low frequency region, may be used.

[0055] The inverse transform / inverse quantization unit 132 is configured to perform an inverse transform process on the coefficient level values ​​output from the transform / quantization unit 131. Here, the inverse transform / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level values ​​prior to the inverse transform process.

[0056] Here, the inverse transformation process and inverse quantization are performed in the reverse order to the transformation process and quantization performed by the transformation and quantization unit 131 .

[0057] The encoding unit 140 is configured to encode the coefficient level value output from the transform / quantization unit 131 and output encoded data.

[0058] Here, for example, the coding is entropy coding, which assigns codes of different lengths based on the probability of occurrence of coefficient level values.

[0059] The encoding unit 140 is also configured to encode control data for use in the decoding process in addition to the coefficient level values.

[0060] Here, the control data may include information (flags and indexes) regarding block sizes such as an encoding block size, a prediction block size, and a transform block size.

[0061] The control data may also include information (flags and indexes) necessary for controlling the inverse transform / inverse quantization process of the inverse transform / inverse quantization unit 220 in the image decoding device 200 described later, the MC pixel generation process of the MC unit 241A, the OBMC pixel generation process of the OBMC unit 241B, the intra prediction pixel generation process of the intra prediction unit 242, the final prediction pixel generation process of the synthesis unit 243, the filtering process of the in-loop filtering unit 250, the luminance mapping process of the luminance mapping unit 270, the inverse luminance mapping process of the inverse luminance mapping unit 271, the inverse chrominance scaling process of the inverse chrominance scaling unit 281, and the like.

[0062] In Non-Patent Document 1, this control data is called syntax, and its definition is called semantics.

[0063] The control data may also include header information such as a sequence parameter set (SPS), a picture parameter set (PPS), a picture header (PH), and a slice header (SH), which will be described later.

[0064] The inverse chrominance scaling unit 181 is configured to perform inverse chrominance scaling on the chrominance components of the prediction residual pixels output from the inverse transform / quantization unit 131 when the LMCS is valid for the current block.

[0065] Here, the inverse chrominance scaling is performed in a procedure that is the reverse of the chrominance scaling performed by the chrominance scaling unit 180 on the chrominance components of the prediction residual pixels of the current block.

[0066] Moreover, the inverse chrominance scaling unit 181 is configured to output the inverse chrominance scaled prediction residual pixels of the target block to the adder 122 at the subsequent stage.

[0067] Furthermore, when LMCS is disabled for the target block, the inverse chrominance scaling unit 181 is configured to output the prediction residual pixels that have not been inverse chrominance scaled to the downstream adder 122 without applying the above-mentioned inverse chrominance scaling to the chrominance components of the prediction residual pixels.

[0068] Furthermore, the inverse chrominance scaling unit 181 is configured to output prediction residual pixels that have not been inversely chrominance scaled to the downstream adder 122 without applying the above-mentioned inverse chrominance scaling to the luminance components of the prediction residual pixels, regardless of whether LMCS is enabled or disabled for the current block.

[0069] The inverse luminance mapping unit 171 is configured to perform inverse luminance mapping on the luminance components of the unfiltered reconstructed pixels output from the adder 122 when the LMCS is valid for the current block.

[0070] Here, the inverse luminance mapping is performed in a reverse procedure to the luminance mapping of the luminance components of the predicted pixels in the current block in the first luminance mapping unit 170A or the first luminance mapping unit 170B described above.

[0071] Moreover, the inverse luminance mapping unit 171 is configured to output the inverse luminance mapped unfiltered reconstructed pixels of the target block to the in-loop filter unit 170 at the subsequent stage.

[0072] Furthermore, when LMCS is disabled for the target block, the inverse luminance mapping unit 171 is configured to output the luminance components of the prediction residual pixels that have not been inverse luminance mapped to the downstream in-loop filter unit 170 without applying the above-mentioned inverse luminance mapping to the luminance components of the unfiltered reconstructed pixels.

[0073] Furthermore, the inverse luminance mapping unit 171 is configured to output the chrominance components of the unfiltered reconstructed pixels that have not been inverse luminance mapped to the in-loop filter unit 170, without applying the above-mentioned inverse luminance mapping to the chrominance components of the unfiltered reconstructed pixels, regardless of whether LMCS is enabled or disabled for the target block.

[0074] The in-loop filtering unit 170 is configured to perform filtering on the unfiltered reconstructed pixels output from the inverse luminance mapping unit 271 , and to output the filtered decoded signal to the frame buffer 160 .

[0075] Here, for example, the filter processing is a deblocking filter processing that reduces distortion occurring at the boundary portions of blocks (encoding blocks, prediction blocks, or transformation blocks), or an adaptive loop filter processing that switches filters based on filter coefficients and filter selection information transmitted from the image encoding device 100, local properties of the image pattern, etc.

[0076] The frame buffer 160 is configured to accumulate the filtered decoded signal (hereinafter, referred to as a reference frame) input from the in-loop filtering unit 170.

[0077] Moreover, the frame buffer 160 is configured to output the stored reference frames as reference frames to be used in the MC section 111A or the OBMC section 111B.

[0078] (Image Decoding Device 200) Hereinafter, the image decoding device 200 according to this embodiment will be described with reference to Fig. 3. Fig. 3 is a diagram showing an example of functional blocks of the image decoding device 200 according to this embodiment.

[0079] As shown in FIG. 3, the image decoding device 200 includes a decoding unit 210, an inverse transform / inverse quantization unit 220, an inverse chrominance scaling unit 281, an adder 230, an MC unit 241A, an OBMC unit 241B, a luminance mapping unit 270, an intra prediction unit 242, a synthesis unit 243, an inverse luminance mapping unit 271, an in-loop filter processing unit 250, and a frame buffer 260.

[0080] The decoding unit 210 is configured to decode the coded data generated by the image coding device 100, and to decode the coefficient level values.

[0081] Here, the decoding is, for example, entropy decoding that is the reverse procedure of the entropy encoding performed by the encoding unit 140.

[0082] The decoding unit 210 may also be configured to obtain the control data by decoding the encoded data.

[0083] Here, the control data may include information regarding the block size of the above-mentioned decoded block (synonymous with the encoding target block in the above-mentioned image encoding device 100; hereinafter, collectively referred to as the target block).

[0084] Furthermore, as described above, the control data may include information (flags and indexes) necessary for controlling the inverse transform / inverse quantization process of the inverse transform / inverse quantization unit 220 in the image decoding device 200, the MC pixel generation process of the MC unit 241A, the OBMC pixel generation process of the OBMC unit 241B, the intra prediction pixel generation process of the intra prediction unit 242, the final prediction pixel generation process of the synthesis unit 243, the filtering process of the in-loop filtering unit 250, the luminance mapping process of the luminance mapping unit 270, the inverse luminance mapping process of the inverse luminance mapping unit 271, the inverse chrominance scaling process of the inverse chrominance scaling unit 281, and the like.

[0085] The control data may also include header information such as the above-mentioned sequence parameter set (SPS: Sequence Parameter Set), picture parameter set (PPS: Picture Parameter Set), picture header (PH: Picture Header), and slice header (SH: Slice Header).

[0086] The inverse transform / inverse quantization unit 220 is configured to perform an inverse transform process on the coefficient level values ​​output from the decoding unit 210. Here, the inverse transform / inverse quantization unit 220 may be configured to perform an inverse quantization process on the coefficient level values ​​prior to the inverse transform process.

[0087] Here, the inverse transformation process and inverse quantization are performed in the reverse order to the transformation process and quantization performed by the transformation and quantization unit 131 .

[0088] Similar to the inverse chrominance scaling unit 181, the inverse chrominance scaling unit 281 is configured to perform inverse chrominance scaling on the chrominance components of the prediction residual pixels output from the inverse transform / quantization unit 220 when LMCS is valid for the current block.

[0089] Here, the inverse chrominance scaling is performed in a procedure that is the reverse of the chrominance scaling performed by the chrominance scaling unit 180 on the chrominance components of the prediction residual pixels of the current block.

[0090] Moreover, the inverse chrominance scaling unit 281 is configured to output the inverse chrominance scaled prediction residual pixels of the target block to the adder 230 at the subsequent stage.

[0091] Furthermore, when LMCS is disabled for the target block, the inverse chrominance scaling unit 281 is configured to output the chrominance components of the prediction residual pixels that have not been inverse chrominance scaled to the downstream adder 230 without applying the above-mentioned inverse chrominance scaling to the chrominance components of the prediction residual pixels.

[0092] Furthermore, the inverse chrominance scaling unit 281 is configured to output the luminance components of the prediction residual pixels that have not been inverse chrominance scaled to the downstream adder 230, without applying the above-mentioned inverse chrominance scaling to the luminance components of the prediction residual pixels, regardless of whether LMCS is enabled or disabled for the current block.

[0093] The adder 230, like the adder 222, is configured to add the prediction pixels output from the synthesis unit 243 to the prediction residual pixels output from the inverse chrominance scaling unit 281 to generate a pre-filtered decoded signal (hereinafter, pre-filtered reconstructed pixels), and output the pre-filtered reconstructed pixels to the intra prediction unit 42 and the inverse luminance mapping unit 271.

[0094] Here, the unfiltered reconstructed pixels form a reference block used by the intra prediction unit 112 .

[0095] Similar to the inverse luminance mapping unit 171, the inverse luminance mapping unit 271 is configured to perform inverse luminance mapping on the luminance components of the unfiltered reconstructed pixels output from the adder 230 when LMCS is valid for the current block.

[0096] Here, the inverse luminance mapping is performed in a reverse procedure to the luminance mapping of the luminance components of the predicted pixels in the current block in the first luminance mapping unit 170A or the second luminance mapping unit 170B described above.

[0097] Moreover, the inverse luminance mapping unit 271 is configured to output the unfiltered reconstructed pixels of the inverse luminance mapped target block to the in-loop filter unit 280 at the subsequent stage.

[0098] Furthermore, when LMCS is disabled for the target block, the inverse luminance mapping unit 271 is configured to output the luminance components of the prediction residual pixels that have not been inverse luminance mapped to the downstream in-loop filter unit 280, without applying the above-mentioned inverse luminance mapping to the luminance components of the unfiltered reconstructed pixels.

[0099] Furthermore, the inverse luminance mapping unit 271 is configured to output unfiltered reconstructed pixels that have not been inverse luminance mapped to the in-loop filter unit 280, without applying the above-mentioned inverse luminance mapping to the chrominance components of the unfiltered reconstructed pixels, regardless of whether LMCS is enabled or disabled for the target block.

[0100] Similar to in-loop filter processing unit 150, in-loop filter processing unit 250 is configured to perform filtering on the unfiltered decoded signal output from adder 230, and to output the filtered decoded signal to frame buffer 260.

[0101] Here, for example, the filter processing is a deblocking filter processing that reduces distortion occurring at the boundary parts of blocks (encoding blocks, prediction blocks, transformation blocks, or subblocks obtained by dividing them), or an adaptive loop filter processing that switches filters based on filter coefficients, filter selection information, and local properties of the image pattern transmitted from the image encoding device 100.

[0102] Similar to the frame buffer 160, the frame buffer 260 is configured to store reference frames used by the inter prediction unit 241.

[0103] Here, the filtered decoded signal forms a reference frame used by the inter prediction unit 241.

[0104] The MC unit 241A is configured to generate MC pixels for a current block by motion compensation (MC), similar to the MC unit 111A. Here, motion compensation is also called inter-frame prediction or inter prediction.

[0105] Specifically, the MC unit 241A is configured to identify a reference block included in a reference frame by comparing a frame to be decoded (target frame) with a reference frame stored in the frame buffer 260, and to determine an MV for the identified reference block. Here, the reference frame is a frame different from the target frame.

[0106] Moreover, the MC unit 241A is configured to generate, for each target block, MC pixels included in the target block based on the reference block and the motion vector.

[0107] Furthermore, the MC unit 241A is configured to output the MC pixels to the luminance mapping unit 270.

[0108] The OBMC unit 241B is configured to generate OBMC pixels for the current block by OBMC.

[0109] Specifically, the OBMC unit 241B is configured to generate MC pixels (OBMC pixels) for a predetermined pixel region that overlaps from the boundary between the target block and the adjacent block toward the target block, in a procedure similar to that of the OBMC unit 111B.

[0110] Furthermore, the OBMC unit 241B is configured to output the OBMC pixels to the luminance mapping unit 270.

[0111] The luminance mapping unit 270, like the second luminance mapping unit 170B, is configured to luminance map each luminance component of the MC pixels output from the MC unit 241A and the OBMC pixels output from the OBMC unit 241B in a manner similar to that of the first luminance mapping unit 170A and the second luminance mapping unit 170B described above when LMCS is valid for the target block.

[0112] Furthermore, the luminance mapping unit 270 is configured to output each of the MC pixels and OBMC pixels that have been subjected to luminance mapping to the subsequent synthesis unit 243.

[0113] In addition, when LMCS is disabled for the target block, the luminance mapping unit 270 is configured to output the MC pixels and OBMC pixels of each luminance component that have not been luminance mapped to the downstream synthesis unit 243 without applying the above-mentioned luminance mapping to the luminance components of the MC pixels and OBMC pixels.

[0114] Furthermore, the luminance mapping unit 270 is configured to output the MC pixels and OBMC pixels of each chrominance component that are not luminance mapped to the downstream synthesis unit 243 without applying the above-mentioned luminance mapping process to the chrominance components of the MC pixels and OBMC pixels, regardless of whether LMCS is enabled or disabled for the target block.

[0115] Similar to the intra prediction unit 112, the intra prediction unit 242 is configured to generate intra-predicted pixels for a current block by intra prediction.

[0116] Specifically, the intra prediction unit 242 is configured to identify a reference block included in a target frame, and generate intra prediction pixels for each target block based on the identified reference block. Here, the reference block is a block referenced for the target block. For example, the reference block is a block adjacent to the target block.

[0117] Moreover, the intra prediction unit 242 is configured to output the intra predicted pixels to the synthesis unit 243 .

[0118] The synthesis unit 243 is configured to perform weighted averaging (synthesis) of the MC pixels and OBMC pixels from the luminance mapping unit 270 and the intra-predicted pixels from the intra-prediction unit 242 using preset weighting coefficients, similar to the synthesis unit 113, and output the synthesized predicted pixels to the adder 230. Details of the weighting coefficients and the weighted averaging method will be described later.

[0119] (Geometry division mode) Hereinafter, the geometric partitioning mode (GPM) disclosed in Non-Patent Document 1 related to the decoding unit 210, the MC prediction unit 241A, the intra prediction unit 242, and the synthesis unit 243 will be described with reference to FIG.

[0120] FIG. 4 shows an example of a case in which a rectangular block to be decoded is divided into two geometrically shaped division areas A and B by a division line L in the geometric division mode disclosed in Non-Patent Document 1.

[0121] Here, the division line L in the geometric division mode disclosed in Non-Patent Document 1 has 64 patterns prepared depending on the angle and position.

[0122] Moreover, in the GPM according to Non-Patent Document 1, motion compensation (MC) is applied using one different motion vector derived for each of the divided regions A and B, and MC pixels are generated.

[0123] Specifically, in this GPM, a merge candidate list disclosed in Non-Patent Document 1 is constructed, and motion compensation pixels are generated by deriving the motion vectors (mvA, mvB) and reference frames of each of the divided regions A / B based on the merge candidate list and two merge indexes (merge_gpm_idx0, merge_gpm_idx1) for each of the divided regions A / B transmitted from the image encoding device 100. Then, the MC pixels of each of the divided regions A / B are weighted (combined) using a preset weighting coefficient (to be described later) to generate a final predicted pixel by the GPM.

[0124] (Application of intra-prediction to GPM) Below, using Figures 5 and 6, we will explain the application of the geometric partitioning mode (GPM) disclosed in non-patent document 1 relating to the decoding unit 210, MC unit 241A, intra prediction unit 242, and synthesis unit 243 to intra prediction modes, and the first geometric partitioning mode (GPM) according to this embodiment.

[0125] 5 and 6 show an example of application of intra prediction modes to the GPM according to this embodiment.

[0126] Specifically, Fig. 5 shows a configuration example of the GPM according to the present embodiment when intra prediction (modeX) and inter prediction are applied to each divided region A / B. Fig. 6 shows a configuration example of the GPM according to the present embodiment when two different intra predictions (modeX, modeY) are applied to each divided region A / B.

[0127] Here, in the first GPM according to the present embodiment, either inter prediction or intra prediction can be applied to each divided region A / B. Furthermore, the type of intra prediction mode applied in intra prediction is limited based on the division shape (division line) of the GPM applied to the target block. That is, the applicable intra prediction mode is derived based on the division shape (division line) of the GPM applied to the target block.

[0128] In addition, the second GPM according to this embodiment specifies whether or not a GPM that additionally applies an intra prediction mode to a block to be decoded can be applied, and a method for identifying the prediction mode type in each divided area A / B when the GPM is applied.

[0129] As a result, the GPM to which an intra prediction mode is additionally applied is appropriately applied to the block to be decoded, and the optimal prediction mode is identified, thereby achieving room for further improvement in encoding performance.

[0130] In the following, the GPM consisting of two different inter predictions as shown in Figure 4 above, the GPM consisting of intra prediction and inter prediction as shown in Figure 5, and the GPM consisting of intra prediction and intra prediction as shown in Figure 6 will be referred to as Inter / Inter-GPM, Intra / Inter-GPM, and Intra / Intra-GPM, respectively.

[0131] Furthermore, when GPM, OBMC, and LMCS are all valid for a target block and the GPM is composed of inter prediction and intra prediction, the MC pixels and intra predicted pixels from the luminance-mapped GPM and the OBMC pixels from OBMC are combined to generate predicted pixels for the luminance component of the target block. In other words, the above-mentioned three signal spaces used to generate predicted pixels are aligned with the luminance-mapped space, which is expected to improve prediction performance.

[0132] [Method of deriving and selecting intra prediction mode in the intra prediction unit 242] Hereinafter, a method of deriving and selecting an intra prediction mode for Intra / Inter-GPM and Intra / Intra-GPM among application patterns of intra prediction to GPM proposed in this embodiment in the intra prediction unit 242 will be described.

[0133] (Intra prediction mode candidate list) A method for constructing an intra prediction mode candidate list for GPM (hereinafter, referred to as an intra prediction mode candidate list) in the intra prediction unit 242 according to this embodiment will be described below with reference to Fig. 7. Fig. 7 is a diagram showing an example of the intra prediction mode candidate list according to this embodiment.

[0134] In this embodiment, the list size of the intra-prediction mode candidate list may be a fixed value. For example, the list size may be "3", "4", or "5", or "6", which is the maximum size of an intra-prediction mode candidate list for intra-prediction blocks not using GPM as disclosed in Non-Patent Document 1, or "22", which is the maximum size of an intra-prediction mode candidate list for intra-prediction blocks not using GPM as disclosed in Non-Patent Document 3.

[0135] Alternatively, the list size of the intra prediction mode candidate list may be a variable value. For example, an index that specifies the maximum value of the list size is included in the control data for each sequence, picture, or slice, and the control data is decoded by the decoding unit 210, thereby making it possible to specify the maximum value of the list size for each sequence, picture, or slice.

[0136] In the intra prediction mode candidate list, a plurality of intra prediction modes derived based on the division shape of the GPM described later or adjacent reference pixels or adjacent reference blocks adjacent to the block to be decoded are registered. A method of deriving the intra prediction mode will be described later in detail.

[0137] After completing the derivation of the above-mentioned intra prediction mode (constructing the intra prediction mode candidate list), the intra prediction unit 242 may select which of the intra prediction modes in the intra prediction mode candidate list to use for generating intra prediction pixels for each of the divided areas A / B based on the values ​​of the two intra prediction mode indexes (intra_gpm_idx0 and intra_gpm_idx1) for each of the divided areas A / B decoded or estimated by the decoding unit 210.

[0138] Note that for Intra / Intra-GPM, if the two intra-prediction mode indices have the same value, this will be the same as intra-prediction without GPM being applied, and therefore the two intra-prediction mode indices are configured to always have different values.

[0139] In addition, the decoding unit 210 may determine whether or not to decode an intra-prediction mode index for selecting an intra-prediction mode to be used to generate intra-predicted pixels from the intra-prediction mode candidate list, depending on the total number of applications of intra-prediction that constitute the GPM.

[0140] Here, as a modification of the above, the intra prediction section 242 may select multiple intra prediction modes in the intra prediction mode candidate list according to the value of the above-mentioned intra prediction mode index, and generate intra predicted pixels.

[0141] As a result, in the hardware-implemented image decoding device 200, the circuit scale required to generate intra-predicted pixels increases; however, since intra-predicted pixels can be generated using multiple intra-prediction modes, intra-prediction performance is improved, and as a result, improved coding performance can be expected.

[0142] When generating (combining) intra-predicted pixels using a plurality of intra-prediction modes, the intra-predicted pixels may be combined by averaging the intra-predicted pixels. Alternatively, the intra-predicted pixels may be combined by weighted averaging using a predetermined weight value.

[0143] As a method of setting such weight values, for example, a larger weight value may be set for an intra prediction mode that is registered earlier in the intra prediction mode candidate list (has a smaller list number).

[0144] Conversely, the weighting value may be set smaller for an intra-prediction mode that is registered later in the intra-prediction mode candidate list (having a larger list number). Since an intra-prediction mode with a smaller intra-prediction mode candidate list number has a higher improvement rate in intra-prediction performance applied to the GPM, setting the weighting value in this manner is expected to result in improved coding performance.

[0145] (Method of deriving intra prediction mode based on partition shape) In this embodiment, the intra prediction unit 242 derives an intra prediction mode based on the division shape (division line) of the GPM, and registers the intra prediction mode in the above-mentioned intra prediction mode candidate list.

[0146] Here, the derived intra prediction mode may be configured to be, for example, an angular prediction that is parallel to the division shape (division line) of the GPM from among the 65 types of angular prediction provided for intra prediction without applying GPM (hereinafter, normal intra prediction) disclosed in Non-Patent Document 1.

[0147] Alternatively, as a modified example, the derived intra prediction mode may be configured to be an angular prediction that is perpendicular to the division shape (division line L) of the GPM from among the 65 types of angular prediction provided for normal intra prediction disclosed in non-patent document 1.

[0148] The intra prediction unit 242 may register the derived angular prediction at the top of the above-mentioned intra prediction mode candidate list, even after completion of derivation of other intra prediction modes described below.

[0149] Since the intra prediction mode derived based on the partition shape of the GPM can generate intra prediction pixels while reflecting textures such as edges according to the partition shape of the GPM, a high improvement in intra prediction performance can be expected. Therefore, since the selection rate of the intra prediction mode for the intra prediction region of the GPM can be expected to be high, if it is linked to the smallest list number in the intra prediction mode candidate list, the total code length of the required intra prediction mode index can be shortened, and as a result, an improvement in coding performance can be expected.

[0150] (Method of deriving intra prediction mode based on adjacent pixels or adjacent blocks of a block to be decoded) In this embodiment, in addition to or as a modification to the derivation of the intra prediction mode based on the above-described partition shape, the intra prediction mode may be derived based on neighboring pixels or neighboring blocks of the block to be decoded.

[0151] Here, the adjacent reference pixels or adjacent reference blocks adjacent to the block to be decoded refer to reference pixels or reference blocks adjacent to the block to be decoded and for which the decoding process has been completed at the start of the decoding process of the block to be decoded.

[0152] (Other methods of deriving intra prediction modes) In this embodiment, in addition to or as a modification to the derivation of the above-mentioned two types of intra prediction modes, an intra prediction mode other than the above may be derived. Specifically, a DC mode or a planar mode may be derived.

[0153] [Motion information derivation and selection methods in MC unit 241A] Hereinafter, using Figure 8, we will explain the method of deriving and selecting motion information for Intra / Inter-GPM and Inter / Inter-GPM, among the application patterns of motion compensation (inter prediction) to GPM proposed in this embodiment in the MC unit 241A.

[0154] (Merge candidate list) In this embodiment, the MC unit 241A may derive motion information from the merge candidate list for GPM disclosed in Non-Patent Document 1.

[0155] Here, regarding the method of constructing a merge candidate list, the configuration disclosed in Non-Patent Document 1 can be applied to this embodiment, so a detailed description will be omitted.

[0156] After completing the derivation of the above-mentioned motion information (construction of the merge candidate list), the MC unit 241A may select which motion information in the merge candidate list to use for generating inter-predicted pixels based on the values ​​of two merge indices (merge_gpm_idx0 / merge_gpm_idx1) for each of the divided areas A / B decoded or estimated by the decoding unit 210.

[0157] Note that the decoding unit 210 may determine whether or not it is necessary to decode a merge index for selecting motion information to be used to generate inter-predicted pixels from the merge candidate list, depending on the total number of applications of inter prediction that constitutes the GPM.

[0158] In non-patent document 1, inter-prediction motion information for divided regions A / B is derived from the values ​​of two merge indices (merge_gpm_idx0 / merge_gpm_idx1) decoded or estimated by decoding unit 210 and the merge candidate list for GPM (MergeCandList[m,n]) shown in Figure 8.

[0159] Here, in order to minimize overlap of motion information derived based on merge_gpm_idx0 and merge_gpm_idx1, the list numbers from which motion information selected by merge_gpm_idx0 and merge_gpm_idx1 is derived have a nested structure with even and odd numbers of MergeCandList, as shown by X in Figure 8.

[0160] Specifically, the following m and n are calculated based on merge_gpm_idx0 and merge_gpm_idx1.

[0161] m=merge_gpm_idx0[xCb][yCb] n=merge_gpm_idx1[xCb][yCb]+((merge_gpm_idx1[xCb][yCb]>=m)?1:0) Based on the value of m calculated in this manner, the motion vector, reference image index, and prediction list flag constituting the motion information of the divided area A are derived as follows.

[0162] First, calculate the value of X from m&0x01 (determine whether the value of m is even or not) and n&0x01 (determine whether the value of n is even or not). If the calculated value of X is 0, set the value of X to (1-X).

[0163] Finally, the motion vector mvA, reference image index refIdxA, and prediction list flag preListFlagA of the divisional area A, and the motion vector mvB, reference image index refIdxB, and prediction list flag preListFlagB of the divisional area B are derived as follows.

[0164] mvA=mvLXM refIdxA=refIdxLXM preListFlagA=X mvB=mvLXN refIdxB=refIdxLXN preListFlagB=X Here, M and N are the numbers of the merge candidates indicated by m and n in the merge candidate list, respectively, i.e., M = MergeCandList[m] N = MergeCandList[n] It is.

[0165] As a modification, in this embodiment, the merge candidate list for GPM disclosed in Non-Patent Document 2 may be used instead of the merge candidate list for GPM disclosed in Non-Patent Document 1.

[0166] Specifically, a more powerful pruning process (hereinafter, merge candidate pruning process for GPM) has been introduced into the merge candidate list for the above-mentioned normal merge mode disclosed in non-patent document 1 (hereinafter, merge candidate pruning process for normal merge mode).

[0167] Specifically, unlike the pruning process for the normal merge mode disclosed in non-patent document 1, the determination of whether or not to prune motion information is made by determining whether the reference frame held by the motion information is a perfect match, as in non-patent document 1. However, the motion vector held by the motion information is not a perfect match, and is instead determined by a threshold value based on the block size of the block to be decoded.

[0168] Specifically, when the size of the block to be decoded is less than 64 pixels, the threshold is set to 1 / 4 pixel, when the size of the block to be decoded is 64 pixels or more and less than 256 pixels, the threshold is set to 1 / 2 pixel, and when the size of the block to be decoded is 256 pixels or more, the threshold is set to 1 pixel.

[0169] The specific flow of the merge candidate pruning process for GPM is similar to the pruning process for normal merge mode in that first, the reference frames are compared to see if they are a perfect match, and if they are a perfect match, then it is determined whether the motion vectors are a perfect match.

[0170] If the reference frames are not perfectly matched, the motion vector is not considered as a pruning target even if it is less than the threshold. In such a case, the motion information of the comparison target that is not in the merge candidate list is added to the merge candidate list as a new merge candidate.

[0171] Next, if the reference frames are perfectly matched and the motion vector is less than the threshold, it is considered to be a pruning target. Otherwise, the motion information of the comparison target that is not in the merge candidate list is added to the merge candidate list as a new merge candidate.

[0172] With this configuration, motion information in cases where motion vectors are similar that would not be pruned in the normal merge mode pruning process are also included in the pruning target, so that the similarity in the motion information derived by the two merge indexes of the GPM can be eliminated, and improved coding performance can be expected.

[0173] In addition, in the merge candidate pruning process for GPM disclosed in Non-Patent Document 2, if the motion information is bi-predictive (i.e., if there is one motion vector and one reference frame each for L0 and L1), it is considered to be a pruning target if it completely matches each of the L0 and L1 reference frames of the merge candidate being compared.

[0174] In this embodiment, the MC unit 241A may derive motion information by using the merge candidate list of the GPM to which the merge candidate pruning process for GPM has been added as a substitute for the normal merge mode.

[0175] According to this configuration, motion information can be derived from a merge candidate list that is made up of motion information with a lower degree of similarity, which is expected to result in improved coding performance.

[0176] As a further modification, the MC unit 241A may use a flag to switch between a merge candidate list for normal merge mode and a merge candidate list for GPM to be used as a merge candidate list for use in deriving a motion vector.

[0177] Specifically, this switching can be achieved by configuring the control data to include, for example, a 1-bit flag that is decoded by the decoding unit 210, and having the decoding unit 210 decode or estimate the value of the flag and transmit it to the MC unit 241A.

[0178] According to this configuration, the MC unit 241A can derive motion information from a greater variety of variations, and therefore prediction performance is improved, and as a result, improvement in coding performance can be expected.

[0179] (overlapping block motion compensation and decoder motion vector correction) Hereinafter, overlapped block motion compensation (OBMC) disclosed in Non-Patent Document 2 related to the decoding unit 210 and the OBMC unit 241B will be described with reference to FIGS.

[0180] FIG. 9 shows two examples of rectangular blocks to be decoded to which OBMC disclosed in Non-Patent Document 2 is applied.

[0181] FIG. 9A shows an example in which OBMC is applied to block boundaries facing the upper and left sides of a block to be decoded when the motion vector (MV) of the block to be decoded is uniform for the block to be decoded.

[0182] On the other hand, Figure 9B shows an example in which OBMC is applied to the top, bottom, left and right block boundaries of each block when the MV of the block to be decoded is not uniform for the block to be decoded, for example, when the block to be decoded has different MVs for each predetermined block size, as shown in Figure 9B.

[0183] The example shown in FIG. 9B occurs when, for example, Affine prediction or Decoder Motion Vector Refinement (DMVR) disclosed in Non-Patent Document 1 is enabled.

[0184] Here, DMVR is a technique for correcting a derived motion vector by re-searching in units of 16×16 pixels after the motion vector is derived by the OBMC unit 241B.

[0185] In the GPM disclosed in Non-Patent Document 1, the application of DMVR and BDOF was restricted during inter-prediction of each divided region, but since bi-prediction can be applied to the inter-prediction region of Intra / Inter-GPM in this embodiment, the OBMC unit 241B may apply DMVR or BODF to the inter-prediction region of Intra / Inter-GPM.

[0186] This improves the accuracy of predicted pixel values ​​generated by bi-prediction in the Intra / Inter-GPM inter prediction region, and is expected to further improve coding performance.

[0187] In addition, since the method of determining whether DMVR or BODF is applicable can be the same as that in Non-Patent Document 1 in this embodiment, a detailed description thereof will be omitted.

[0188] On the other hand, the OBMC unit 241B may always restrict (prohibit) application of DMVR or BODF even when bi-prediction is applicable to the inter prediction region of Intra / Inter-GPM in this embodiment.

[0189] That is, even if the conditions for determining whether or not DMVR or BODF can be applied, which are disclosed in the above-mentioned Non-Patent Document 1, are satisfied, application of DMVR or BODF to inter bi-prediction regions of Intra / Inter-GPM is restricted.

[0190] Specifically, this can be achieved by adding a judgment condition based on a flag indicating whether or not the GPM disclosed in non-patent document 1 is applied to the DMVR or BODF application condition disclosed in non-patent document 1 that the block to be decoded has.

[0191] Although further improvement in encoding performance cannot be expected from this, it is possible to avoid an increase in the amount of processing in the OBMC unit 241B associated with re-searching due to additional application of DMVR or BDOF to the inter prediction region of Intra / Inter-GPM.

[0192] (Method of controlling application of overlapped block motion compensation) Hereinafter, a method of controlling application of OBMC by the OBMC unit 241B will be described with reference to Fig. 10. Fig. 10 shows a flowchart of a method of controlling application of OBMC by the OBMC unit 241B.

[0193] First, the OBMC unit 241B performs the process of determining whether or not OBMC is applicable, similar to the process disclosed in Non-Patent Document 2, for each 4×4 pixel sub-block (hereinafter, target sub-block) which is the application unit of the above-mentioned OBMC.

[0194] As shown in FIG. 10, in step S241-01, the OBMC unit 241B determines whether or not the prediction type of the current sub-block is Inter prediction.

[0195] If it is determined that the condition is satisfied, the operation proceeds to step S241-02; if it is determined that the condition is not satisfied, i.e., if it is determined that the prediction type of the target subblock is Intra prediction, the operation proceeds to step S241-03.

[0196] In step S241-03, the OBMC unit 241B determines that OBMC is not applied to the target sub-block, and this operation ends.

[0197] In step S241-02, the OBMC unit 241B determines whether or not the obmc_flag of the target sub-block is 1.

[0198] If it is determined that this condition is satisfied, the operation proceeds to step S241-04, and if it is determined that this condition is not satisfied, that is, if it is determined that obmc_flag is 1, the operation proceeds to step S241-05.

[0199] In step S241-05, the OBMC unit 241B determines that OBMC is not applied to the target sub-block, and this operation ends.

[0200] Here, obmc_flag is a syntax element indicating whether OBMC is applicable to each block to be decoded. When the value of obmc_flag is 0, this indicates that OBMC is not applied, and when the value of obmc_flag is 1, this indicates that OBMC is applied.

[0201] Whether the value of obmc_flag is 0 or 1 is determined by the decoder 210 through decoding, or the value is estimated without decoding.

[0202] The method of decoding obmc_flag and the method of identifying and estimating the value of obmc_flag can be configured in the same manner as in Non-Patent Document 2, and therefore detailed description thereof will be omitted.

[0203] In step S241-04, the OBMC unit 241B determines whether or not an adjacent block across a block boundary with respect to the current sub-block has a motion vector (MV).

[0204] If it is determined that this condition is satisfied, the operation proceeds to step S241-06, and if it is determined that this condition is not satisfied, the operation proceeds to step S241-07.

[0205] In step S241-07, the OBMC unit 241B determines that OBMC is not applied to the target sub-block, and this operation ends.

[0206] In step S241-06, the OBMC unit 241B determines whether or not the difference between the MV of the current sub-block and the MV of the adjacent block is equal to or greater than a predetermined threshold value.

[0207] If it is determined that this condition is satisfied, the operation proceeds to step S241-08, and if it is determined that this condition is not satisfied, the operation proceeds to step S241-09.

[0208] In step S241-08, the OBMC unit 241B determines that OBMC is applied to the target sub-block, and this operation ends. On the other hand, in step S241-09, the OBMC unit 241B determines that OBMC is not applied to the target sub-block, and this operation ends.

[0209] Here, the predetermined threshold may be a fixed value. For example, the predetermined threshold may be 1 pixel. Alternatively, it may be 0 pixel (i.e., it is determined that OBMC is applied only when there is no perfect match).

[0210] Alternatively, the predetermined threshold may be a variable value according to the number of MVs in the target sub-block. For example, if the target sub-block has one MV, the predetermined threshold may be 1 pixel, and if the target sub-block has two MVs, the predetermined threshold may be 0.5 pixel.

[0211] With the above configuration, in Non-Patent Document 2, OBMC is applied to a target sub-block having an MV only when the difference in MV between the target sub-block and adjacent blocks is large, thereby eliminating discontinuity in the block boundary between the target sub-block and adjacent blocks (hereinafter, block boundary distortion), and as a result, improvement in prediction performance can be expected.

[0212] (Application examples and control methods of OBMC for GPM) Hereinafter, an application example and application control method of OBMC to the GPM related to the decoding unit 210, the MC unit 241A, the OBMC unit 241B, and the synthesis unit 243 will be described with reference to Figs.

[0213] FIG. 11 shows an example of application of OBMC to the upper and left block boundaries of a block to be decoded for a block to which GPM is applied in this embodiment.

[0214] As shown in FIG. 11, depending on the division shape (division line L) of the GPM, there are a maximum of three patterns for the target sub-blocks to which OBMC is applied.

[0215] Specifically, the first pattern is a target sub-block that belongs to division area A, the second pattern is a target sub-block that belongs to division area B, and the third pattern is a target sub-block that belongs to both division areas A and B.

[0216] The three patterns of target sub-blocks are further divided depending on whether the prediction type applied to the divided region A and the divided region B is inter prediction or intra prediction.

[0217] Specifically, the target sub-blocks in the first and second patterns are divided into two cases: inter prediction and intra prediction.

[0218] On the other hand, the target sub-blocks in the third pattern are divided into a total of three cases: two different inter prediction cases, an inter prediction and intra prediction case, and two different intra prediction cases.

[0219] In this embodiment, the prediction type of the target subblock is only one. Therefore, in the target subblock of the third pattern, the prediction type of the target subblock is determined by the combination of two predictions that constitute the target subblock. Specifically, the prediction type that is composed of two different inter predictions is treated as inter prediction, the prediction type that is composed of inter prediction and intra prediction is treated as inter prediction, and the prediction type that is composed of two different intra predictions is treated as intra prediction.

[0220] Here, among the target subblocks to which the above-mentioned OBMC is applied, for the target subblocks whose prediction type is intra prediction, OBMC should be determined to be inapplicable for the following reasons.Because, the predicted pixel of the target subblock under the same condition is generated by intra prediction using the reconstructed pixel adjacent to the target subblock, the block boundary between the reconstructed pixel and the generated predicted pixel is qualitatively unlikely to generate block boundary distortion like inter prediction.

[0221] For the above reasons, in this embodiment, among the target sub-blocks to which the above-mentioned OBMC is applied, application of OBMC is restricted (OBMC is not applicable) to target sub-blocks whose prediction type is intra prediction.

[0222] On the other hand, in this embodiment, among the target sub-blocks to which the above-mentioned OBMC is applied, OBMC is applicable to target sub-blocks whose prediction type is inter prediction.

[0223] Figure 12 shows an example in which bi-prediction is applied to an inter-prediction region of Intra / Inter-GPM in this embodiment, DMVR is applied to the region, and the motion vectors of certain block sizes that make up the region are different, in which case OBMC is applied to the block boundaries above, below, left, and right of those blocks.

[0224] In the case of FIG. 12, application of OBMC may be restricted (prohibited) in the intra region, similarly to the above-mentioned cases.

[0225] Furthermore, in the case of Figure 12, for the OBMC applied to the top, bottom, left and right block boundaries for each specified block size that constitutes the block to be decoded, it may be determined again whether or not the OBMC can be applied based on the block-by-block OBMC application control method shown in Figure 10.

[0226] Specifically, as shown in FIG. 12, by controlling not to apply OBMC to a block boundary where an intra region is adjacent in a target sub-block, it is possible to avoid applying OBMC unnecessarily.

[0227] Hereinafter, a method for generating a final predicted pixel taking into consideration whether or not OBMC can be applied to GPM according to this embodiment will be described.

[0228] (How to generate final predicted pixels taking into account GPM, LMCS, and OBMC) Hereinafter, a method for generating a final predicted pixel taking into account GPM, LMCS, and OBMC related to the MC unit 241A, OBMC unit 241B, intra prediction unit 242, luminance mapping unit 270, and synthesis unit 243 of this embodiment will be described.

[0229] (OBMC weighting factor) First, we will explain the definition of the first weighting coefficient w_1 of OBMC in Non-Patent Document 2 and this embodiment related to the MC unit 241A, OBMC unit 241B and synthesis unit 243, and the method of generating the final inter-predicted pixel using the first weighting coefficient w_1, MC pixels and OBMC pixels.

[0230] The synthesis unit 243 weightedly averages (synthesizes) the MC pixels and OBMC pixels output from the luminance mapping unit 270 using a first weighting coefficient w_1 set based on the distance from the boundary of the target block or target sub-block to generate the final inter-predicted pixel.

[0231] In Non-Patent Document 2, the first weighting coefficient is set to a different number of application lines and a different weighting coefficient for the OBMC for the target block and the OBMC for the target sub-block.

[0232] Specifically, in the OBMC for the target block, the application area of ​​the OBMC is four lines from the boundary of the target block, and the first weighting coefficient w_1 is set as follows according to the application line number (i = 0, 1, 2, 3, 0 is closest to the block boundary):

[0233] w_1[0,1,2,3]=[6,4,2,1] At this time, the luminance component (Inter_Y) of the final inter predicted pixel is calculated as follows using the first weighting coefficient w_1, the MC pixel (MC_Y), and the OBMC pixel (OBMC_Y).

[0234]

number

[0235]

number

[0236] On the other hand, the MC pixel (MC_Y) in Equation 2 is the Inter / Intra-GPM GPM. In this case, it indicates the MC pixels of either of the divided areas A / B that are inter prediction.

[0237] In addition, when the GPM is Intra / Intra-GPM, since it is composed of intra-predicted pixels of the divided areas A / B, the MC pixels and OBM pixels shown in Equation 2 are In the inter prediction pixel generation method using this technique, the final prediction pixel is not generated by GPM.

[0238] (GPM weighting factor) Hereinafter, the second weighting coefficient w_2 of the GPM according to Non-Patent Document 1 and this embodiment related to the decoding unit 210, the MC unit 241A, the intra prediction unit 242, and the synthesis unit 243 will be described with reference to FIGS.

[0239] FIG. 13 is a diagram showing an example of the value of the second weighting coefficient w_2 for the predicted pixels of each divided area A / B of the GPM according to Non-Patent Document 1 and this embodiment.

[0240] Based on the combination of prediction types that make up the GPM for each divided area A / B (Inter / Inter-GPM, Intra / Inter-GPM, Intra / Intra-GPM) and whether OBMC can be applied or not, the inter-predicted pixels generated by the MC unit 241A and the OBMC unit 241B or the intra-predicted pixels generated by the intra-prediction unit 242 are weighted-averaged (synthesized) by the synthesis unit 243 using the second weighting coefficient w_2.

[0241] In Non-Patent Document 1, the second weighting coefficient w_2 has a value of 0 to 8, and such a value of the second weighting coefficient w_2 may be used in this embodiment as well. Here, the values ​​0 and 8 of the second weighting coefficient w_2 indicate a non-blending region, and the values ​​1 to 7 of the second weighting coefficient w_2 indicate a blending region.

[0242] In this embodiment, the calculation method of the second weighting coefficient w_2 is the same as that of Non-Patent Document 1, and can be configured to calculate as follows from an offset value (offsetX, offsetY) calculated from the pixel position (xL, yL) and the target block size, a displacement (diplacementX, diplacementY) calculated from angleIdx that specifies the angle of the division line of the geometric division mode (GPM) shown in FIG. 14, and a table value disLut calculated from diplacementX and diplacementY shown in FIG. 15.

[0243] weightIdx=(((xL+offsetX)<<1)+1)×disLut[diplacementX]+(((yL+offsetY)<<1)+1)×disLut[diplacementY] weightIdxL=partFlip?32+weightIdx:32-weightIdx w_2=Clip3(0,8,(weightIdxL+4)>>3) Using the second weighting coefficient w_2 described above, the final predicted pixel by GPM is generated according to the prediction type of the divided area A / B. First, in the case of Inter / Inter-GPM, an MC pixel (MC_Y) by GPM is generated using the second weighting coefficient w_2, the luminance component (MC_AY) of the MC pixel of divided region A (i.e., the MC pixel based on the motion information possessed by region A), and each luminance component (MC_BY) of the MC pixel of divided region B (i.e., the MC pixel based on the motion information possessed by region B) as follows:

[0244]

number

[0245] Next, in the case of Intra / Intra-GPM, an intra-predicted pixel (Intra_Y) by GPM is generated using the second weighting coefficient w_2, the luminance component (Intra_AY) of the intra-predicted pixel of divided area A (i.e., the intra-prediction mode based on area A's intra-prediction mode), and each luminance component (Intra_BY) of the intra-predicted pixel of divided area B (i.e., the intra-prediction mode based on area A's intra-prediction mode), as follows:

[0246]

number

[0247]

number

[0248]

number

[0249]

number

[0250] In the synthesis unit 243, when LMCS is enabled, the final predicted pixels in the luminance component of the current block are generated by the luminance mapped MC pixels and OBMC pixels output from the luminance mapping unit 270, or the luminance mapped intra predicted pixels output from the intra prediction unit 242.

[0251] In particular, in the case of Intra / Inter-GPM among the calculation examples shown above, the synthesis unit 243 needs to appropriately perform the order of weighted averaging of luminance-mapped MC pixels, OBMC pixels, and intra-predicted pixels.

[0252] Specifically, the synthesis unit 243 generates a luminance-mapped inter-predicted pixel (FwdMap(Inter_Y)) that is weighted-averaged based on the MC pixels (FwdMap(MC_Y)) and OBMC pixels (FwdMap(OBMC_Y)) of the luminance-mapped divided area A or B output from the luminance mapping unit 270 and the first weighting coefficient w_1, as shown in the following equation.

[0253] Then, the synthesis unit 243 generates a final predicted pixel (Pred_Y) by GPM based on this inter-predicted pixel, the intra-predicted pixel (Intra_Y) of the luminance-mapped divided region B or A output from the intra prediction unit 242, and the second weighting coefficient w_2. The following calculation formula shows an example in which the divided region A is inter-predicted (MC) and the divided region B is intra-predicted. Here, the method of generating the inter-predicted pixel (Inter_AY) is the same as the above-mentioned equation 5 or equation 6.

[0254]

number

[0255] This means that the signal spaces of the three predicted pixels mentioned above (1. MC pixels by GPM, 2. OBMC pixels, 3. Intra predicted pixels by GPM) are aligned to a luminance-mapped space before the final predicted pixel of Intra / Inter-GPM is generated, which is expected to result in improved prediction performance.

[0256] Even if the first weighting coefficient w_1 and the second weighting coefficient w_2 shown above are values ​​different from the examples described above, the same concept can be applied to the method of generating predicted pixels when GPM, OBMC, and LMCS described in this embodiment are effective.

[0257] As a modification of the above configuration, the synthesis unit 243 may include a function of performing luminance mapping on the MC pixels and the OBMC pixels in the second luminance mapping unit 270.

[0258] Specifically, the synthesis unit 243 generates an inter-predicted pixel configured by GPM or OBMC from the MC pixel output from the MC unit 241A, the OBMC pixel output from the OMBC unit, the first weighting coefficient, and the second weighting coefficient.

[0259] After that, the synthesis unit 243 performs luminance mapping on the generated inter-predicted pixels. Then, when the GPM is, for example, Intra / Inter-GPM, the synthesis unit 243 may perform weighted averaging of the intra-predicted pixels output from the intra-prediction unit 242 based on the second weighting coefficient for the inter-predicted pixels, and generate and output a final predicted pixel.

[0260] As a result, in the above-mentioned configuration example, luminance mapping processing is required for each of the MC pixels and OBMC pixels, but in the modified example, luminance mapping only needs to be performed on the inter-predicted pixels, which is expected to reduce the number of luminance mapping processes.

[0261] (Inverse chrominance scaling taking into account GPM division shape) Hereinafter, an inverse chrominance scaling method that takes into account the division shape of the GPM according to this embodiment will be described with reference to Figs. 16 to 18. Note that the chrominance scaling method according to this embodiment is the reverse of the procedure of the inverse chrominance scaling method described here, and therefore the division shapes shown below are common to both methods. Therefore, even the parts described as the inverse chrominance scaling method can be read as the chrominance scaling method.

[0262] FIG. 16 is a diagram showing an example of an inverse chrominance scaling method taking into account the division shape of the GPM according to the present embodiment. First, the inverse chrominance scaling method for GPM disclosed in Non-Patent Document 1 is applied to prediction residual pixels in units of a target block, not for each divided region A / B.

[0263] Therefore, the scaling coefficient used at this time is calculated using the average value of the luminance components of the reconstructed blocks adjacent to the target block (specifically, the reconstructed pixels adjacent to the top line and the left line). This method of calculating the scaling coefficient is the same even when GPM is enabled.

[0264] In contrast to this, in this embodiment, as shown in FIG. 16, inverse chrominance scaling may be applied separately to divided regions A / B of the GPM.

[0265] This can be realized by configuring the inverse chrominance scaling unit 281 (or the inverse chrominance scaling unit 181) so that information (internal parameters) related to the division shape of the GPM is stored until the processing by the inverse chrominance scaling unit 281 (or the inverse chrominance scaling unit 181) is completed.

[0266] Furthermore, the method of calculating the scaling coefficients used at this time may be applied (replaced) as an alternative to the method described below, which takes into account the division shape of the GPM.

[0267] Specifically, this method uses a table in which the reference areas of the divided areas A / B are set based on the angle of the dividing line L of the GPM as shown in Fig. 17. Here, A and L in Fig. 17 indicate the top and left parts of the target block, respectively.

[0268] By using this table to limit the reconstructed pixels of the luminance component used when calculating scaling coefficients in the inverse chrominance scaling method, it is possible to calculate the scaling coefficients of each of the divided regions A / B using only reconstructed pixels that conform to the division shape, thereby improving the accuracy of the predicted residual pixels of the chrominance component and, as a result, the prediction performance.

[0269] In the above, a method for calculating the scaling coefficients in the inverse chrominance scaling method using a restriction table of a reference area based on the division shape of the GPM has been described, but as another method, the luminance components of the reconstructed pixels used for calculating the scaling coefficients may be restricted by the intersection of the division line L of the GPM and the luminance components of the reconstructed pixels adjacent to the target block, as shown in Fig. 18. Here, the pixel located at the intersection may be used in only one of the divided areas A / B, or in both.

[0270] In the above, we have referred to an example in which the GPM divides a rectangular block into two geometric shapes, and explained the signaling method when applying an intra prediction mode to the GPM in that case. However, in cases in which the GPM divides a rectangular block into three or more geometric shapes, the same concept can be applied to the application of intra prediction to the GPM, derivation of the intra prediction mode, application of OBMC to the GPM, and methods related to generating predicted pixels when the GPM, OBMC, and LMCS are enabled, described in this embodiment.

[0271] The above-described image encoding device 100 and image decoding device 200 may be realized as a program that causes a computer to execute each function (each process).

[0272] In each of the above-described embodiments, the present invention has been described by taking as an example its application to the image encoding device 100 and the image decoding device 200. However, the present invention is not limited to this, and can be similarly applied to an image encoding system and an image decoding system having the functions of the image encoding device 100 and the image decoding device 200. [Industrial Applicability]

[0273] According to this embodiment, for example, it is possible to improve the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]

[0274] 10. Image processing system 100...Image encoding device 111A, 241A...MC prediction section 111B, 241B…OBMC Department 112, 242...Intra prediction section 113, 243…synthetic section 121…Subtractor 122, 230…Adder 131...Transformation and quantization section 132, 220...Inverse transform and inverse quantization unit 140...encoding section 160, 260... frame buffer 170, 250...In-loop filter processing section 170A…First brightness mapping section 170B…Second luminance mapping section 171, 271…Inverse luminance mapping section 180…Color difference scaling section 181, 281...Inverse chrominance scaling section 200...Image decoding device 210…Decoding section 270…Luminance mapping section

Claims

1. An image decoding device, a motion compensation unit configured to generate motion compensated pixels for a current block; an overlapped block motion compensation unit configured to generate overlapped block motion compensation pixels for the current block; a luminance mapping unit configured to perform luminance mapping on luminance components of the motion compensation pixels and the overlap block motion compensation pixels for the current block; an intra prediction unit configured to generate intra predicted pixels for the current block; a synthesis unit configured to synthesize the motion compensation pixels, the overlap block motion compensation pixels, and the intra-predicted pixels for the current block; an image decoding device configured to generate a predicted pixel for the luminance component of the target block by synthesizing the luminance components of the motion compensation pixel, the overlapping block motion compensation pixel, and the intra-prediction pixel, when a geometric block partitioning mode, an overlapping block motion compensation mode, and a luminance mapping / chrominance scaling mode are all valid for the target block, and when the geometric block partitioning mode is configured to include inter prediction and intra prediction;

2. The synthesis unit is performing a weighted average of the luminance components of the motion compensation pixels subjected to the luminance mapping and the luminance components of the overlap block motion compensation pixels using a first weighting factor to generate a luminance component of the luminance mapped inter predicted pixel for the current block; 2. The image decoding device according to claim 1, characterized in that it is configured to generate a predicted pixel for the luminance component of the current block by performing a weighted average of the luminance component of the inter-predicted pixel subjected to the luminance mapping and the luminance component of the intra-predicted pixel using a second weighting coefficient.

3. An image decoding device, comprising: a motion compensation unit configured to generate motion compensated pixels for a current block; an intra prediction unit configured to generate intra predicted pixels for the current block; an inverse chrominance scaling unit configured to inversely scale chrominance components of prediction residual pixels for the current block; a combiner configured to combine the motion compensation pixels and the intra-predicted pixels for the current block; An image decoding device characterized by having an inverse chrominance scaling unit configured to apply inverse chrominance scaling independently to each of the divided areas in the geometric block partitioning mode when a geometric block partitioning mode and luminance mapping / chrominance scaling are effective for a target block.

4. 4. The image decoding device according to claim 3, wherein the inverse chrominance scaling unit is configured to control the range of reconstructed pixels of the luminance component adjacent to the target block used to calculate the scaling coefficients based on the partition shape of the geometric block partition mode.

5. 5. The image decoding device according to claim 4 , wherein the inverse chrominance scaling unit controls the range of the reconstructed pixels using a table indicating a reference direction of the reconstructed pixels defined based on a division angle of the geometric block division mode.

6. 1. An image decoding method, comprising: A step A of generating motion compensation pixels for a current block; A step B of generating overlapped block motion compensation pixels for the current block; C. performing luminance mapping on luminance components of the motion compensation pixels and the overlap block motion compensation pixels for the current block; A step D of generating intra-predicted pixels for the current block; E. combining the motion compensation pixels for the current block, the overlap block motion compensation pixels, and the intra-predicted pixels; In the step E, when the geometric block partitioning mode, the overlapping block motion compensation mode, and the luminance mapping / chrominance scaling are all valid for the target block, and the geometric block partitioning mode is composed of inter prediction and intra prediction, the motion compensation pixels that have been luminance mapped, the overlapping block motion compensation pixels, and the intra prediction pixels are combined to generate a prediction pixel for the luminance component of the target block.

7. A program for causing a computer to function as an image decoding device, The image decoding device comprises: a motion compensation unit configured to generate motion compensated pixels for a current block; an overlapped block motion compensation unit configured to generate overlapped block motion compensation pixels for the current block; a luminance mapping unit configured to perform luminance mapping on luminance components of the motion compensation pixels and the overlap block motion compensation pixels for the current block; an intra prediction unit configured to generate intra predicted pixels for the current block; a synthesis unit configured to synthesize the motion compensation pixels, the overlap block motion compensation pixels, and the intra-predicted pixels for the current block; a synthesis unit that synthesizes the luminance components of the motion compensation pixels that have been subjected to luminance mapping, the overlapping block motion compensation pixels, and the intra-prediction pixels, when a geometric block partitioning mode, overlapping block motion compensation, and luminance mapping / chrominance scaling are all valid for the target block, and when the geometric block partitioning mode is configured to include inter prediction and intra prediction, to generate a prediction pixel for the luminance component of the target block.

Citation Information

Patent Citations

  • ITTH.266/

  • Image decoder, image encoder, image decoding method and program

    JP2020108055A

  • Image decoding device, image decoding method, and program

    JP2022162484A