Encoder, decoder and corresponding method of most probable mode list construction for block with multi-hypothesis prediction

By using display parameters to select intra prediction modes for video decoding, the method addresses the challenge of computational complexity, enhancing decoding efficiency and compression ratio while preserving picture quality.

JP2025096288AActive Publication Date: 2025-06-26HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025045582
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-12-20
Filing Date
2025-03-19
Publication Date
2025-06-26
Estimated Expiration
2039-11-29

AI Technical Summary

Technical Problem

Existing video decoding technologies face challenges in reducing computational complexity, which limits the efficiency of video decoding and the ability to achieve higher compression ratios without sacrificing picture quality.

Method used

The method involves obtaining display parameters from a bitstream to determine if multi-hypothesis prediction is applied to a current coding block, and then using these parameters to select an appropriate intra prediction mode from a default list, such as planar, DC, vertical, and horizontal modes, to decode the block efficiently.

Benefits of technology

This approach reduces the computational complexity of decoding, enabling higher video decoding efficiency and potentially improving the compression ratio while maintaining picture quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025096288000001_ABST
    Figure 2025096288000001_ABST
Patent Text Reader

Abstract

To improve a block of a picture in decoding or encoding.SOLUTION: An invention relates to a field of picture processing. A method of decoding a block of a picture comprises obtaining an indication parameter for a current encoding block. The indication parameter represents whether a multi-hypothesis prediction is applied to the current encoding block. When the indication parameter represents that the multi-hypothesis prediction is applied to the current coding block, the current coding block is decoded according to a planar mode.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications This application claims the benefit of U.S. Provisional Application No. 62 / 773,149, filed on November 29, 2018, entitled "AN ENCODER, A DECODER AND CORRESPONDING METHODS OF MPM LIST CONSTRUCTION FOR BLOCKS WITH MULTI - HYPOTHESIS PREDICTION", and U.S. Provisional Application No. 62 / 783,149, filed on December 20, 2018, entitled "AN ENCODER, A DECODER AND CORRESPONDING METHODS OF MPM LIST CONSTRUCTION FOR BLOCKS WITH MULTI - HYPOTHESIS PREDICTION", both of which are incorporated herein by reference.

[0002] Embodiments of the present application (disclosure) generally relate to the field of picture processing, and more particularly, to constructing a most - probable mode list.

Background Art

[0003] Video coding (video encoding and video decoding) is used in a wide range of digital video applications, such as broadcast digital TV, video transmission over the Internet and mobile networks, real - time conversational applications such as video chat and video conferencing, DVD and Blu - ray (registered trademark) disks, video content collection and editing systems, and camcorders for security applications.

[0004] The amount of video data required to depict relatively short videos can even be substantial, which can pose difficulties when data is to be streamed or otherwise communicated over a communication network with limited bandwidth capacity. Thus, video data is generally compressed before being communicated over modern telecommunications networks. Since memory resources can be limited, the size of the video can also be a problem when the video is stored on a storage device. Video compression devices often use software and / or hardware at the source to code the video data before transmission or storage, thereby reducing the amount of data required to represent digital video images. The compressed data is then received at the destination by a video decompression device that decodes the video data. As network resources are limited and the demand for higher video quality is constantly increasing, improved compression and decompression techniques that improve the compression ratio with little sacrifice in picture quality are desirable.

SUMMARY OF THE INVENTION

MEANS FOR SOLVING THE PROBLEM

[0005] It is an object of the present invention to provide an improved method and apparatus that reduce the computational complexity of decoding and thus enable higher video decoding efficiency.

[0006] The above and other objects are achieved by the subject matter of the independent claims. Further implementations are apparent from the dependent claims, the description, and the figures.

[0007] According to a first aspect, the present disclosure relates to a method of decoding a block of a picture (or frame) performed by a decoding device, the method comprising the step of obtaining display parameters for a current coding block according to a bitstream, the display parameters indicating whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameter, obtaining an intra prediction mode for the current coding block according to the index parameter and a default list, the default list correctly ordering the following intra prediction modes: planar mode, DC mode, vertical mode, horizontal mode; and decoding the current coding block according to the intra prediction mode for the current coding block.

[0008] According to a second aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device, the method comprising: obtaining display parameters for the current coding block according to the bitstream, the display parameter indicating whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameter, obtaining an intra prediction mode for the current coding block according to the index parameter and a default list, the default list correctly ordering the following intra prediction modes: planar mode, DC mode, vertical mode; and decoding the current coding block according to the intra prediction mode for the current coding block.

[0009] According to a third aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device, the method comprising: obtaining display parameters for the current coding block according to the bitstream, the display parameter indicating whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameter, Obtaining an intra prediction mode for the current coding block according to the index parameter and a default list, where the default list correctly orders the following intra prediction modes, namely, the planar mode and the DC mode; Decoding the current coding block according to the intra prediction mode for the current coding block.

[0010] According to a fourth aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) implemented by a decoding device, the method comprising: Obtaining display parameters for the current coding block according to the bitstream, where the display parameters indicate whether multi-hypothesis prediction is applied to the current coding block; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameter, Decoding the current coding block according to the planar mode.

[0011] According to a fifth aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) implemented by a decoding device, the method comprising: Obtaining display parameters for the current coding block according to the bitstream, where the display parameters indicate whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameter, Obtaining an intra prediction mode for the current coding block according to index parameters and a default list, where the default list correctly includes the following intra prediction modes, namely, the DC mode, the planar mode, the vertical mode, and the horizontal mode, in order; Decoding the current coding block according to the intra prediction mode for the current coding block.

[0012] According to a sixth aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device. The method includes: Obtaining display parameters for the current coding block according to a bitstream, where the display parameters indicate whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi-hypothesis prediction is applied to the current coding block according to the value of the display parameters, Obtaining an intra prediction mode for the current coding block according to index parameters and a default list, where the default list correctly includes the following intra prediction modes, namely, the DC mode, the planar mode, and the vertical mode, in order; Decoding the current coding block according to the intra prediction mode for the current coding block.

[0013] According to a seventh aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device. The method includes: Obtaining display parameters for the current coding block according to a bitstream, where the display parameters indicate whether multi-hypothesis prediction is applied to the current coding block; Obtaining index parameters for the current coding block according to the bitstream; When multi - hypothesis prediction is applied to the current coding block according to the value of the indication parameter, obtaining an intra - prediction mode for the current coding block according to an index parameter and a default list, where the default list properly orders the following intra - prediction modes, namely, the DC mode and the planar mode; decoding the current coding block according to the intra - prediction mode for the current coding block.

[0014] According to an eighth aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device. The method includes: obtaining display parameters for the current coding block according to a bitstream, where the display parameters indicate whether multi - hypothesis prediction is applied to the current coding block; when multi - hypothesis prediction is applied to the current coding block according to the value of the display parameters, decoding the current coding block according to the DC mode.

[0015] According to a ninth aspect, the present disclosure relates to a method for constructing a most - probable mode (MPM) list for intra - prediction. The method includes: determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra - prediction mode of the left block does not exist, the left block is not available; if the intra - prediction mode of the left block exists, the left block is available); when the block to the left of the current coding block is available and the value corresponding to the intra - prediction mode of the left block is within a first default range (in one example, the range can be from 2 to 34, including 2 and 34), adding the horizontal mode to the MPM list.

[0016] According to a tenth aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block is not present, the left block is not available; if the intra prediction mode of the left block is present, the left block is available), when the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a vertical mode to the MPM list.

[0017] According to an eleventh aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block is not present, the left block is not available; if the intra prediction mode of the left block is present, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the upper block is not present, the upper block is not available; if the intra prediction mode of the upper block is present, the upper block is available), when the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), adding a horizontal mode to the MPM list, When the block above the current coding block is available and the value corresponding to the intra prediction mode of the above block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the method includes the step of adding another horizontal mode to the MPM list.

[0018] According to a twelfth aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block is not present, the left block is not available; if the intra prediction mode of the left block is present, the left block is available), determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the above block is not present, the above block is not available; if the intra prediction mode of the above block is present, the above block is available), when the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), adding a horizontal mode to the MPM list, when the block above the current coding block is available and the value corresponding to the intra prediction mode of the above block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), adding a planar mode, a DC mode, and a vertical mode to the MPM list.

[0019] According to a thirteenth aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), adding a horizontal mode to the MPM list, When the block above the current coding block is available and the value corresponding to the intra prediction mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a vertical mode to the MPM list.

[0020] According to a fourteenth aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a vertical mode to the MPM list; When the block above the current coding block is available and the value corresponding to the intra prediction mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding another vertical mode to the MPM list.

[0021] According to a fifteenth aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), when the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a vertical mode to the MPM list; when the block above the current coding block is available and the value corresponding to the intra prediction mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a planar mode, a DC mode, and a horizontal mode to the MPM list.

[0022] According to a 16th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), when the block to the left of the current coding block is available and the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), adding a vertical mode to the MPM list; when the block above the current coding block is available and the value corresponding to the intra prediction mode of the upper block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), adding a horizontal mode to the MPM list.

[0023] According to a 17th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is not available and the block above the current coding block is not available, Adding a planar mode and a DC mode to the MPM list.

[0024] According to an 18th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is not available, the block above the current coding block is available, and the intra prediction mode of the upper block is the planar mode, Adding a planar mode and a DC mode to the MPM list.

[0025] According to a 19th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: A step of determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), A step of determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is not available, the block above the current coding block is available, and the intra prediction mode of the upper block is the DC mode, And a step of adding the DC mode and the planar mode to the MPM list.

[0026] According to a 20th aspect, the present disclosure relates to a method of constructing a most accurate mode MPM list for intra prediction, the method comprising: A step of determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), A step of determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is not available, the block above the current coding block is available, and the value corresponding to the intra prediction mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), Steps of adding a vertical mode, a DC mode, and a planar mode to the MPM list are provided.

[0027] According to a 21st aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block is not present, the left block is not available; if the intra prediction mode of the left block is present, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the upper block is not present, the upper block is not available; if the intra prediction mode of the upper block is present, the upper block is available), when the block to the left of the current coding block is not available, the block above the current coding block is available, and a value corresponding to the intra prediction mode of the upper block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), Steps of adding a horizontal mode and a DC mode to the MPM list are provided.

[0028] According to a 22nd aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block is not present, the left block is not available; if the intra prediction mode of the left block is present, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the planar mode, and the block above the current coding block is not available, Adding the planar mode and the DC mode to the MPM list.

[0029] According to a 23rd aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the planar mode, the block above the current coding block is available, and the intra prediction mode of the upper block is the planar mode, Adding the planar mode and the DC mode to the MPM list.

[0030] According to a 24th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the planar mode, the block above the current coding block is available, and the intra prediction mode of the upper block is the DC mode, Adding the planar mode and the DC mode to the MPM list.

[0031] According to a 25th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction. The method includes: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the planar mode, the block above the current coding block is available, and the value corresponding to the intra prediction mode of the above block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), comprising the step of adding the planar mode and the vertical mode to the MPM list.

[0032] According to a 26th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block does not exist, the left block is not available; if the intra prediction mode of the left block exists, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the above block does not exist, the above block is not available; if the intra prediction mode of the above block exists, the above block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the planar mode, the block above the current coding block is available, and the value corresponding to the intra prediction mode of the above block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), comprising the step of adding the planar mode and the horizontal mode to the MPM list.

[0033] According to a 27th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the DC mode, and the block above the current coding block is not available, Adding the DC mode and the planar mode to the MPM list.

[0034] According to a 28th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the DC mode, the block above the current coding block is available, and the intra prediction mode of the upper block is the planar mode, It includes the step of adding the DC mode and the planar mode to the MPM list.

[0035] According to a 29th aspect, the present disclosure relates to a method of constructing a most accurate mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block does not exist, the left block is not available; if the intra prediction mode of the left block exists, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the upper block does not exist, the upper block is not available; if the intra prediction mode of the upper block exists, the upper block is available), when the block to the left of the current coding block is available, the intra prediction mode of the left block is the DC mode, the block above the current coding block is available, and the intra prediction mode of the upper block is the DC mode, It includes the step of adding the DC mode and the planar mode to the MPM list.

[0036] According to a 30th aspect, the present disclosure relates to a method of constructing a most accurate mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block does not exist, the left block is not available; if the intra prediction mode of the left block exists, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the upper block does not exist, the upper block is not available; if the intra prediction mode of the upper block exists, the upper block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the DC mode, the block above the current coding block is available, and the value corresponding to the intra prediction mode of the above block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), comprising the step of adding the DC mode and the vertical mode to the MPM list.

[0037] According to a 31st aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the intra prediction mode of the left block does not exist, the left block is not available; if the intra prediction mode of the left block exists, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the intra prediction mode of the above block does not exist, the above block is not available; if the intra prediction mode of the above block exists, the above block is available), When the block to the left of the current coding block is available, the intra prediction mode of the left block is the DC mode, the block above the current coding block is available, and the value corresponding to the intra prediction mode of the above block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), comprising the step of adding the DC mode and the horizontal mode to the MPM list.

[0038] According to a 32nd aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), and the block above the current coding block is not available, adding the vertical mode and the planar mode to the MPM list.

[0039] According to a 33rd aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), the block above the current coding block is available, and when the intra prediction mode of the upper block is the planar mode, the method includes the step of adding the vertical mode and the planar mode to the MPM list.

[0040] According to a 34th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: determining whether a block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), when the block to the left of the current coding block is available, the value corresponding to the intra prediction mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), the block above the current coding block is available, and when the intra prediction mode of the upper block is the DC mode, the method includes the step of adding the vertical mode and the DC mode to the MPM list.

[0041] According to a 35th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), When the block to the left of the current coding block is available, the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), and the block above the current coding block is not available, Adding a horizontal mode and a planar mode to the MPM list.

[0042] According to a 36th aspect, the present disclosure relates to a method of constructing a most probable mode (MPM) list for intra prediction, the method comprising: Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), Determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), The block to the left of the current coding block is available, and the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the block above the current coding block is available, and when the intra prediction mode of the above block is the planar mode, including the step of adding the horizontal mode and the planar mode to the MPM list.

[0043] According to a 37th aspect, the present disclosure relates to a method of constructing a most probable mode MPM list for intra prediction, the method comprising: determining whether the block to the left of the current coding block (for example, block L in FIG. 6) is available (for example, if the left block has no intra prediction mode, the left block is not available, and if the left block has an intra prediction mode, the left block is available), determining whether the block above the current coding block (for example, block A in FIG. 6) is available (for example, if the above block has no intra prediction mode, the above block is not available, and if the above block has an intra prediction mode, the above block is available), the block to the left of the current coding block is available, the value corresponding to the intra prediction mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the block above the current coding block is available, and when the intra prediction mode of the above block is the DC mode, including the step of adding the horizontal mode and the DC mode to the MPM list.

[0044] According to a 38th aspect, the present disclosure relates to a method of processing a block according to a most probable mode MPM list, the method comprising: Configuring a first MPM list for the current block according to the intra mode of adjacent blocks of the current block (in one example, the MPM list of the current block includes 6 intra modes. In one example, that one MPM list includes one or more intra modes means that the MPM list includes one or more values corresponding to one or more intra modes, and one value corresponds to one intra mode), Configuring a second MPM list of the current block according to one or more intra modes of the first MPM list of the current block, Obtaining display parameters for the current block according to the bitstream, wherein the display parameters indicate whether multi-hypothesis prediction is applied to the current block, Using the first MPM list or the second MPM list to process the current block according to the value of the display parameters (for example, the MPM list can be used in the intra prediction of the current block).

[0045] In a possible implementation of the method according to any preceding implementation of the first aspect or the 38th aspect, the method further includes the step of configuring the second MPM list of the current block according to one or more intra modes of the first MPM list of the current block, When the second MPM list of the current block includes one intra mode, further including the step of configuring the second MPM list of the current block according to the first intra mode in the first MPM list of the current block.

[0046] In a possible implementation of the method according to any preceding implementation of the first aspect or the 38th aspect, the method further includes the step of configuring the second MPM list of the current block according to one or more intra modes of the first MPM list of the current block, When the second MPM list of the current block has two intra-modes, further comprising the step of configuring the second MPM list of the current block according to the first intra-mode and the second intra-mode in the first MPM list of the current block.

[0047] In a possible implementation of the method according to any preceding implementation of the first aspect or the 37th aspect, the method includes the step of configuring the second MPM list of the current block according to one or more intra-modes of the first MPM list of the current block, and When the second MPM list of the current block has three intra-modes, further comprising the step of configuring the second MPM list of the current block according to the first intra-mode, the second intra-mode, and the third intra-mode in the first MPM list of the current block.

[0048] In a possible implementation of the method according to any preceding implementation of the first aspect or the 38th aspect, the method includes the step of configuring the second MPM list of the current block according to one or more intra-modes of the first MPM list of the current block, where When the second MPM list of the current block has four intra-modes, further comprising the step of configuring the second MPM list of the current block according to the first intra-mode, the second intra-mode, the third intra-mode, and the fourth intra-mode in the first MPM list of the current block.

[0049] In a possible implementation of the method according to any preceding implementation of the first aspect or the 38th aspect, the method further includes adding a planar mode to the second MPM list when the first intra-mode in the first MPM list of the current block is the planar mode (in one example, the planar mode is the first intra-mode in the MPM list of the current block).

[0050] In one possible implementation of the method according to any of the preceding implementations of the first aspect or the 38th aspect, when the first intra mode in the first MPM list of the current block is the DC mode, the method further comprises adding the DC mode to the second MPM list (in one example, the DC mode is the first intra mode in the second MPM list of the current block).

[0051] In one possible implementation of the method according to any of the preceding implementations of the first aspect or the 38th aspect, when the value corresponding to the first intra prediction mode in the first MPM list of the current block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the method further comprises adding the horizontal mode to the second MPM list of the current block (in one example, the horizontal mode is the first intra mode in the second MPM list of the current block).

[0052] In one possible implementation of the method according to any of the preceding implementations of the first aspect or the 38th aspect, when the value corresponding to the first intra prediction mode in the first MPM list of the current block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), the method further comprises adding the vertical mode to the second MPM list of the current block (in one example, the vertical mode is the first intra mode in the second MPM list of the current block).

[0053] According to a 39th aspect, the present disclosure relates to a method of constructing a most accurate mode MPM list for intra prediction, the method comprising: obtaining display parameters for the current block according to the bitstream, wherein the display parameters indicate whether multi-hypothesis prediction is applied to the current coding block; when multi-hypothesis prediction is applied to the current coding block according to the value of the display parameters; Determining whether the block to the left of the current coding block (e.g., block L in FIG. 6) is available (e.g., if the left block has no intra prediction mode, the left block is not available; if the left block has an intra prediction mode, the left block is available), When the block to the left of the current coding block is not available, adding the planar mode to the MPM list of the current coding block (in one example, before this adding step, the MPM list of the current coding block may be an empty list).

[0054] In a possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method Further includes adding the planar mode to the MPM list of the current coding block when the block to the left of the current coding block is available and the intra mode of the left block is the planar mode (in one example, before this adding step, the MPM list of the current coding block may be an empty list).

[0055] In a possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method Further includes adding the DC mode to the MPM list of the current coding block when the block to the left of the current coding block is available and the intra mode of the left block is the DC mode (in one example, before this adding step, the MPM list of the current coding block may be an empty list).

[0056] In a possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method When the block to the left of the current coding block is available and the value corresponding to the intra mode of the left block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the method further comprises the step of adding a horizontal mode to the MPM list of the current coding block (in one example, before this adding step, the MPM list of the current coding block may be an empty list).

[0057] In one possible implementation of the method according to any preceding implementation of the 39th aspect as such, the method When the block to the left of the current coding block is available and the value corresponding to the intra mode of the left block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), the method further comprises the step of adding a vertical mode to the MPM list of the current coding block (in one example, before this adding step, the MPM list of the current coding block may be an empty list).

[0058] In one possible implementation of the method according to any preceding implementation of the 39th aspect as such, the method determining whether the block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if the upper block has no intra prediction mode, the upper block is not available; if the upper block has an intra prediction mode, the upper block is available), and when the block above the current coding block is not available, further comprising the step of adding a planar mode to the MPM list of the current coding block. (In one example, before this adding step, the MPM list of the current coding block includes one intra mode. After this adding process, the MPM list includes two intra modes. For example, the MPM list may include (0,0) or (1,0) or (50,0) or (18,0).)

[0059] In one possible implementation of the method according to any preceding implementation form of the 39th aspect as such, the method is, determining whether a block above the current coding block (e.g., block A in FIG. 6) is available (e.g., if there is no intra prediction mode for the upper block, the upper block is not available; if there is an intra prediction mode for the upper block, the upper block is available), when the block above the current coding block is not available and the planar mode is not provided in the MPM list of the current coding block (in one example, when the intra mode of the left block is the DC mode or the angular mode, after the first intra mode is added to the MPM list, the planar mode is not provided in the MPM list), further comprising the step of adding the planar mode to the MPM list of the current coding block. (In one example, before this addition step, the MPM list of the current coding block has one intra mode. After this addition process, the MPM list has two intra modes, and for example, the MPM list may have (1,0) or (50,0) or (18,0).)

[0060] In one possible implementation of the method according to any preceding implementation form of the 39th aspect as such, the method is, when the block above the current coding block is available and the intra mode of the upper block is the planar mode, further comprising the step of adding the planar mode to the MPM list of the current coding block. (In one example, before this addition step, the MPM list of the current coding block has one intra mode. After this addition process, the MPM list has two intra modes, and for example, the MPM list may have (0,0) or (1,0) or (50,0) or (18,0).)

[0061] In one possible implementation of the method according to any preceding implementation form of the 39th aspect as such, the method is, When the block above the current coding block is available, the intramode of the upper block is in the planar mode, and the planar mode is not provided in the MPM list of the current coding block (for example, when the intramode of the left block is in the DC mode or the angular mode, after the first intramode is added to the MPM list, the planar mode is not provided in the MPM list), the method further comprises the step of adding the planar mode to the MPM list of the current coding block. (For example, before this addition step, the MPM list of the current coding block has one intramode. After this addition process, the MPM list has two intramodes. For example, the MPM list may comprise (1,0) or (50,0) or (18,0).)

[0062] In one possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method When the block above the current coding block is available and the intramode of the upper block is in the DC mode, the method further comprises the step of adding the DC mode to the MPM list of the current coding block (for example, before this addition step, the MPM list of the current coding block has one intramode. After this addition process, the MPM list has two intramodes. For example, the MPM list may comprise (0,1) or (1,1) or (50,1) or (18,1).)

[0063] In one possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method When the block above the current coding block is available, the intramode of the above block is in DC mode, and the DC mode is not provided in the MPM list of the current coding block (in one example, when the intramode of the left block is not in DC mode, after the first intramode is added to the MPM list, the DC mode is not provided in the MPM list), the method further comprises the step of adding the DC mode to the MPM list of the current coding block. (In one example, before this adding step, the MPM list of the current coding block has one intramode. After this adding process, the MPM list has two intramodes. For example, the MPM list may have (0,1) or (50,1) or (18,1).)

[0064] In a possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method When the block above the current coding block is available and the value corresponding to the intramode of the above block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), the method further comprises the step of adding the horizontal mode to the MPM list of the current coding block. (In one example, before this adding step, the MPM list of the current coding block has one intramode. After this adding process, the MPM list has two intramodes. For example, the MPM list may have (0,18) or (1,18) or (50,18) or (18,18).)

[0065] In a possible implementation of the method according to any of the preceding implementations of the 39th aspect as such, the method The block above the current coding block is available, the value corresponding to the intra mode of the upper block is within a first predetermined range (in one example, the range can be from 2 to 34, including 2 and 34), and when the horizontal mode is not provided in the MPM list of the current coding block (in one example, when the intra mode of the left block is the DC mode or the planar mode, or when the value corresponding to the intra mode of the left block is not within the first predetermined range, after the first intra mode is added to the MPM list, the horizontal mode is not provided in the MPM list), the method further comprises the step of adding the horizontal mode to the MPM list of the current coding block. (In one example, before this adding step, the MPM list of the current coding block comprises one intra mode. After this adding process, the MPM list comprises two intra modes. For example, the MPM list may comprise (0,18) or (1,18) or (50,18).)

[0066] In one possible implementation of the method according to any of the preceding implementations of aspect 39 as such, the method When the block above the current coding block is available and the value corresponding to the intra mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), the method further comprises the step of adding the vertical mode to the MPM list of the current coding block. (In one example, before this adding step, the MPM list of the current coding block comprises one intra mode. After this adding process, the MPM list comprises two intra modes. For example, the MPM list may comprise (0,50) or (1,50) or (50,50) or (18,50).)

[0067] In one possible implementation of the method according to any of the preceding implementations of aspect 39 as such, the method The block above the current coding block is available, the value corresponding to the intra mode of the upper block is within a second predetermined range (in one example, the range can be from 35 to 66, including 35 and 66), and when the vertical mode is not provided in the MPM list of the current coding block (in one example, when the intra mode of the left block is the DC mode or the planar mode, or when the value corresponding to the intra mode of the left block is not within the second predetermined range, after the first intra mode is added to the MPM list, the vertical mode is not provided in the MPM list), the method further comprises the step of adding the vertical mode to the MPM list of the current coding block (in one example, before this addition step, the MPM list of the current coding block has one intra mode. After this addition process, the MPM list has two intra modes. For example, the MPM list may comprise (0,50) or (1,50) or (18,50).)

[0068] In a possible implementation of the method according to any preceding implementation of the 39th aspect, the method further comprises the step of adding the planar mode to the MPM list of the current coding block when the number of one or more intra modes in the MPM list of the current coding block is less than a predetermined value (for example, the value may be 2, 3, or 4) and the planar mode is not provided in the MPM list of the current coding block.

[0069] In a possible implementation of the method according to any preceding implementation of the 39th aspect, the method further comprises the step of adding the DC mode to the MPM list of the current coding block when the number of one or more intra modes in the MPM list of the current coding block is less than a predetermined value (for example, the value may be 2, 3, or 4) and the DC mode is not provided in the MPM list of the current coding block.

[0070] In one possible implementation of the method according to any preceding implementation of the 39th aspect as such, the method when the number of one or more intra modes in the MPM list of the current coding block is less than a predetermined value (for example, the value may be 2, 3, or 4), and the vertical mode is not provided in the MPM list of the current coding block, further includes the step of adding a vertical mode to the MPM list of the current coding block.

[0071] In one possible implementation of the method according to any preceding implementation of the 39th aspect as such, the method when the number of one or more intra modes in the MPM list of the current coding block is less than a predetermined value (for example, the value may be 2, 3, or 4), and the horizontal mode is not provided in the MPM list of the current coding block, further includes the step of adding a horizontal mode to the MPM list of the current coding block.

[0072] According to the 40th aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device, the method comprising the step of constructing a most probable mode MPM list for the current block according to the intra modes of the adjacent blocks of the current block (in one example, the MPM list of the current block comprises 6 intra modes. In one example, an MPM list comprising one or more intra modes means that the MPM list comprises one or more values corresponding to one or more intra modes, and one value corresponds to one intra mode), and the MPM list comprises one or more angular modes obtaining display parameters for the current block according to the bitstream, the display parameters indicating whether multiple hypothesis prediction is applied to the current block obtaining index parameters for the current block according to the bitstream When multi-hypothesis prediction is applied to the current block according to the value of the representation parameter, obtaining an intra prediction mode for the current block according to the index parameter and the MPM list of the current block, and when the value corresponding to the intra prediction mode of the current block is within a predetermined range (in one example, the range can be from 2 to 34 including 2 and 34, or the range can be from 35 to 66 including 35 and 66), decoding the current block according to a predetermined mode (for example, the predetermined mode may be a horizontal mode or a vertical mode).

[0073] In a possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that when the value corresponding to the intra prediction mode of the current block is within the range 2 to 34 (including 2 and 34), the predetermined mode is the horizontal mode, or when the value corresponding to the intra prediction mode of the current block is within the range 2 to 33 (including 2 and 33), the predetermined mode is the horizontal mode.

[0074] In a possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that when the value corresponding to the intra prediction mode of the current block is within the range 35 to 66 (including 35 and 66), the predetermined mode is the vertical mode, or when the value corresponding to the intra prediction mode of the current block is within the range 34 to 66 (including 34 and 66), the predetermined mode is the vertical mode.

[0075] In a possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that when the intra prediction mode of the current block is an angular mode (for example, the value corresponding to the intra prediction mode of the current block is within the range 2 to 66 including 2 and 66), the predetermined mode is a planar mode.

[0076] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the intra prediction mode of the current block is the angular mode (for example, the value corresponding to the intra prediction mode of the current block is within the range 2 to 66 including 2 and 66), the method further comprises that the default mode is the DC mode.

[0077] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the value corresponding to the intra prediction mode of the current block is within the range 2 to 66 (including 2 and 66), the method further comprises that the default mode is the vertical mode.

[0078] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the value corresponding to the intra prediction mode of the current block is within the range 2 to 66 (including 2 and 66), the method further comprises that the default mode is the horizontal mode.

[0079] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the intra prediction mode for the current block is the planar mode, the method further comprises decoding the current block according to the planar mode.

[0080] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the intra prediction mode for the current block is the DC mode, the method further comprises decoding the current block according to the DC mode.

[0081] In one possible implementation of the method according to any preceding implementation form of the 40th aspect as such, when the intra prediction mode for the current block is the DC mode, the method further comprises decoding the current block according to the planar mode.

[0082] In one possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that the index parameter has a maximum value of N, provided that N is less than the size of the MPM list and N is a positive integer.

[0083] In one possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that N is equal to 1 (the index parameter can have a value of either 0 or 1).

[0084] In one possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that N is equal to 3 (the index parameter can have a value of 0, 1, 2, or 3).

[0085] In one possible implementation of the method according to any preceding implementation of the 40th aspect as such, the method further comprises that the index parameter is predetermined and equal to 0, where 0 indicates the first candidate in the MPM list.

[0086] According to the 41st aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device, the method comprising: obtaining display parameters for a current coding block according to a bitstream, the display parameters indicating whether multiple hypothesis prediction is applied to the current coding block; obtaining an index parameter for the current coding block according to the bitstream; when multiple hypothesis prediction is applied to the current coding block according to the value of the display parameters, obtaining an intra prediction mode for the current coding block according to the index parameter and a default list, the default list correctly ordering the following intra prediction modes: planar mode, horizontal mode, and vertical mode; A step of decoding a current coding block according to an intra prediction mode for the current coding block is provided.

[0087] According to a 42nd aspect, the present disclosure relates to a method for decoding a block of a picture (or frame) performed by a decoding device, the method comprising: A step of obtaining display parameters for a current coding block according to a bitstream, wherein the display parameters indicate whether multiple hypothesis prediction is applied to the current coding block; A step of obtaining index parameters for the current coding block according to the bitstream; When multiple hypothesis prediction is applied to the current coding block according to the value of the display parameters, a step of obtaining an intra prediction mode for the current coding block according to the index parameters and a default list, wherein the default list correctly orders the following intra prediction modes, namely, the planar mode, the vertical mode, and the horizontal mode; A step of decoding the current coding block according to the intra prediction mode for the current coding block is provided.

[0088] According to a 43rd aspect, the present disclosure relates to a method for decoding a block of a picture, the method comprising: A step of obtaining display parameters for the current coding block, wherein the display parameters indicate whether multiple hypothesis prediction is applied to the current coding block; When the display parameters indicate that multiple hypothesis prediction is applied to the current coding block, a step of decoding the current coding block according to the planar mode is provided.

[0089] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the multiple hypothesis prediction is combined inter and intra prediction (CIIP).

[0090] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the display parameter is a CIIP flag.

[0091] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the display parameter is conveyed by a merge data syntax.

[0092] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the method further comprises the step of obtaining a planar mode for a current coding block according to a Most Probable Mode (MPM) list, and each of the intra prediction modes in the MPM list is indexed by a corresponding value of an MPM list index.

[0093] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the method further comprises the step of parsing a bitstream to obtain an MPM list index, where the MPM list index has a value between 0 and N - 1, N is the number of entries of the intra prediction modes in the MPM list, and the step of obtaining an intra prediction mode for the current coding block from the MPM list according to the value of the MPM list index.

[0094] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the MPM list comprises at least a planar mode.

[0095] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the MPM list comprises at least one of a planar mode, a DC mode, a vertical mode, and a horizontal mode.

[0096] In a possible implementation of the method according to any preceding implementation of the 43rd aspect, the MPM list consists of a planar mode.

[0097] In one possible implementation of the method according to any preceding implementation of aspect 43, the MPM list is composed of a predefined default list.

[0098] In one possible implementation of the method according to any preceding implementation of aspect 43, the MPM list index is coded in decimal or binary representation.

[0099] In one possible implementation of the method according to any preceding implementation of aspect 43, the decoder comprises a processing circuit configuration for executing the method according to any preceding implementation of aspect 43.

[0100] In one possible implementation of the method according to any preceding implementation of aspect 43, the decoder comprises a memory storage comprising instructions, and one or more processors communicating with the memory, the one or more processors executing the instructions to execute the method according to any preceding implementation of aspect 43.

[0101] According to aspect 44, the present disclosure relates to an apparatus for decoding, the apparatus comprising a determination unit configured to obtain display parameters for a current coding block, the display parameters indicating whether multi-hypothesis prediction is applied to the current coding block, a determination unit, and an intra prediction processing unit configured to perform intra prediction on the current coding block based on a planar mode when the display parameters indicate that multi-hypothesis prediction is applied to the current coding block.

[0102] In one possible implementation of the apparatus according to any preceding implementation of aspect 44, the apparatus further comprises a syntax analysis unit configured to parse a plurality of syntax elements from a bitstream of a video signal, and the determination unit is further configured to determine a planar mode based on one syntax element from the plurality of syntax elements.

[0103] According to a 45th aspect, the present disclosure relates to a method of encoding a block of a picture, the method comprising: an obtaining step of obtaining display parameters for a current block, the display parameters indicating whether multi-hypothesis prediction is applicable to the current block; and an encoding step of encoding the current block according to a planar mode when the display parameters indicate that multi-hypothesis prediction is applicable to the current block.

[0104] In a possible implementation of the method according to any preceding implementation of the 45th aspect, the multi-hypothesis prediction is combined inter and intra prediction (CIIP).

[0105] In a possible implementation of the method according to any preceding implementation of the 45th aspect, the display parameters are a CIIP flag.

[0106] In a possible implementation of the method according to any preceding implementation of the 45th aspect, the display parameters are conveyed by a merge data syntax.

[0107] In a possible implementation of the method according to any preceding implementation of the 45th aspect, the method further comprises: an obtaining step of obtaining a planar mode for a current coding block according to a most probable mode (MPM) list, wherein each intra prediction mode in the MPM list is indexed by a corresponding value of an MPM list index.

[0108] In a possible implementation of the method according to any preceding implementation of the 45th aspect, the method further comprises: an indexing step of indexing each intra prediction mode in the MPM list by a corresponding value of an MPM list index; a parsing step of parsing an MPM list index from a bitstream, the MPM list index having a value between 0 and N-1, where N is an entry of an intra prediction mode in the MPM list; and an obtaining step of obtaining an intra prediction mode of a current coding block from the MPM list according to a value of the MPM list index.

[0109] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the MPM list comprises at least a planar mode.

[0110] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the MPM list comprises a planar mode and at least one of a DC mode, a vertical mode, and a horizontal mode.

[0111] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the MPM list consists of a planar mode.

[0112] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the MPM list is composed of a predefined default list.

[0113] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the MPM list index is coded in decimal or binary representation.

[0114] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the encoder comprises a processing circuit configuration for executing the method according to any preceding implementation of the 45th aspect.

[0115] In one possible implementation of the method according to any preceding implementation of the 45th aspect, the encoder comprises a memory storage comprising instructions, and one or more processors in communication with the memory, the one or more processors executing the instructions to execute the method according to any preceding implementation of the 45th aspect.

[0116] In one possible implementation of the method according to any preceding implementation of the 45th aspect, a computer program product comprises program code for executing the method of any preceding implementation of the 45th aspect when executed on a computer or a processor.

[0117] According to the 46th aspect, the present disclosure relates to an apparatus for encoding a block of a picture, the apparatus comprising: a determination unit configured to obtain display parameters for a current block, the display parameters indicating whether multiple hypothesis prediction is applied to the current block; and an intra prediction processing unit configured to encode the current block according to a planar mode when the display parameters indicate that multiple hypothesis prediction is applied to the current block.

[0118] Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims.

[0119] Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings (figures) and drawings.

Brief Description of the Drawings

[0120]

Figure 1A

Figure 1B

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

[0121] Hereinafter, the same reference numerals refer to the same or at least functionally equivalent features, unless otherwise explicitly specified.

[0122] In the following description, reference is made to the accompanying drawings, which form a part hereof and illustrate specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present invention may be used. It is understood that embodiments of the present invention may be used in other aspects and may include structural or logical changes not shown in the figures. Accordingly, the following detailed description of the invention should not be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

[0123] For example, it is understood that the disclosure regarding a described method may also apply to a corresponding device or system configured to perform the method, and vice versa. For example, if one or more specific method steps are described, the corresponding device may include one or more units for performing the one or more method steps described (e.g., one unit for performing one or more steps, or multiple units each performing one or more of the multiple steps), e.g., functional units, even if such one or more units are not explicitly described or shown in the figures. On the other hand, for example, if a specific device is described based on one or more units, e.g., functional units, the corresponding method may include one step for performing the functions of the one or more units (e.g., one step for performing the functions of one or more units, or multiple steps each performing one or more of the functions of the multiple units), even if such one or more steps are not explicitly described or shown in the figures. Further, it is understood that the features of the various exemplary embodiments and / or aspects described herein may be combined with each other, unless otherwise specifically stated.

[0124] Video coding generally refers to the processing of a sequence of pictures that form a video or video sequence. In the field of video coding, the terms "frame" or "image" may be used synonymously with the term "picture". Video coding (or generally coding) consists of two parts, video encoding and video decoding. Video encoding is performed on the source side and generally involves processing the original video pictures (e.g., by compression) to reduce the amount of data required to represent the video pictures (for more efficient storage and / or transmission). Video decoding is performed on the destination side and generally involves performing the inverse process compared to the encoder to reconstruct the video pictures. Embodiments that refer to the "coding" of video pictures (or generally pictures) are understood to relate to the "encoding" or "decoding" of video pictures or respective video sequences. The combination of the encoding part and the decoding part is also called a codec (coding and decoding).

[0125] In the case of reversible video coding, the original video pictures can be reconstructed, i.e., assuming no transmission loss or other data loss during storage or transmission, the reconstructed video pictures have the same quality as the original video pictures. In the case of irreversible video coding, further compression is performed, e.g., by quantization, to reduce the amount of data representing the video pictures, and the video pictures may not be fully reconstructed at the decoder, i.e., the quality of the reconstructed video pictures is lower, i.e., worse, compared to the quality of the original video pictures.

[0126] Some video coding standards belong to the group of "irreversible hybrid video codecs" (i.e., they combine spatial prediction and temporal prediction in the sample domain with 2D transform coding for applying quantization in the transform domain). Each picture of a video sequence is typically partitioned into a set of non-overlapping blocks, and coding is typically performed at the block level. In other words, in the encoder, video is typically processed or encoded at the block (video block) level by, for example, using spatial (intra-picture) prediction and / or temporal (inter-picture) prediction to generate a prediction block, subtracting the prediction block from the current block (the block being processed / to be processed) to obtain a residual block, transforming the residual block, and quantizing the residual block in the transform domain to reduce (compress) the amount of data to be transmitted. On the other hand, in the decoder, the reverse process compared to the encoder is applied to the coded or compressed blocks to reconstruct the current block for presentation. Further, the encoder replicates the decoder processing loop so that both generate the same prediction (e.g., intra prediction and inter prediction) and / or reconstruction for processing or coding subsequent blocks.

[0127] Embodiments of a video coding system 10, a video encoder 20, and a video decoder 30 are described below with reference to FIGS. 1-3.

[0128] FIG. 1A is a schematic block diagram showing an exemplary coding system 10 that can utilize the techniques of this application, e.g., a video coding system 10 (or a short coding system 10). The video encoder 20 (or short encoder 20) and the video decoder 30 (or short decoder 30) of the video coding system 10 represent examples of devices that can be configured to perform the techniques according to the various examples described in this application.

[0129] As shown in FIG. 1A, the coding system 10 includes a source device 12 configured to provide encoded picture data 21 to a destination device 14, for example, to decode the encoded picture data 13.

[0130] The source device 12 includes an encoder 20 and may additionally, i.e., optionally, include a picture source 16, a preprocessor (or preprocessing unit) 18, for example, a picture preprocessor 18, and a communication interface or communication unit 22.

[0131] The picture source 16 may include any kind of picture capture device, for example, a camera for capturing real-world pictures, and / or any kind of picture generation device, for example, a computer graphics processor for generating computer-animated pictures, or any other device for acquiring and / or providing real-world pictures, computer-generated pictures (e.g., screen content, virtual reality (VR) pictures), and / or any combination thereof (e.g., augmented reality (AR) pictures), or it may be any of these. The picture source may be any kind of memory or storage for storing any of the above-described pictures.

[0132] Contrasted with the processing performed by the preprocessor 18 and the preprocessing unit 18, the picture or picture data 17 may also be referred to as raw picture or raw picture data 17.

[0133] The preprocessor 18 is configured to receive the (raw) picture data 17 and perform preprocessing on the picture data 17 to obtain the preprocessed picture 19 or the preprocessed picture data 19. The preprocessing executed by the preprocessor 18 may include, for example, trimming, color format conversion (e.g., from RGB to YCbCr), color correction, or noise removal. It can be understood that the preprocessing unit 18 may be an optional component.

[0134] The video encoder 20 is configured to receive the preprocessed picture data 19 and provide the encoded picture data 21 (further details will be described below, for example, based on FIG. 2).

[0135] The communication interface 22 of the source device 12 is configured to receive the encoded picture data 21 and transmit the encoded picture data 21 (or any further processed version thereof) via the communication channel 13 to another device, such as the destination device 14 or any other device, for storage or direct reconstruction.

[0136] The destination device 14 includes a decoder 30 (e.g., a video decoder 30), and additionally, i.e., optionally, may include a communication interface or communication unit 28, a postprocessor 32 (or postprocessing unit 32), and a display device 34.

[0137] The communication interface 28 of the destination device 14 is configured to receive the encoded picture data 21 (or any further processed version thereof), for example, directly from the source device 12 or from any other source, such as a storage device, e.g., an encoded picture data storage device, and provide the encoded picture data 21 to the decoder 30.

[0138] Communication interfaces 22 and 28 may be configured to transmit or receive encoded picture data 21 or encoded data 13 via a direct communication link between source device 12 and destination device 14, such as a direct wired connection or a direct wireless connection, or via any type of network, such as a wired network or a wireless network or any combination thereof, or any type of private network and public network, or any combination of any type thereof.

[0139] Communication interface 22 may be configured to package the encoded picture data 21, for example, in a suitable format, such as in a packet, and / or to process the encoded picture data using any type of transmission encoding or transmission processing for transmission via a communication link or communication network.

[0140] Communication interface 28, which forms the counterpart of communication interface 22, may be configured to receive the transmitted data and process the transmitted data using any type of corresponding transmission decoding or transmission processing and / or unpacking to obtain the encoded picture data 21.

[0141] Both communication interface 22 and communication interface 28 may be configured as a unidirectional communication interface, as indicated by the arrow for communication channel 13 in FIG. 1A, pointing from source device 12 to destination device 14, or as a bidirectional communication interface, for example, to recognize and exchange any other information related to the communication link and / or data transmission, for example, encoded picture data transmission, such as by sending and receiving messages for setting up a connection.

[0142] Decoder 30 is configured to receive the encoded picture data 21 and provide decoded picture data 31 or decoded picture 31 (further details will be described below, for example, based on FIG. 3 or FIG. 5).

[0143] The post-processor 32 of the destination device 14 is configured to post-process the decoded picture data 31 (also referred to as reconstructed picture data), for example, the decoded picture 31, to obtain post-processed picture data 33, for example, post-processed picture 33. The post-processing executed by the post-processing unit 32 may include, for example, color format conversion (e.g., from YCbCr to RGB), color correction, trimming, or resampling, or any other processing for preparing the decoded picture data 31 for display by the display device 34, for example, for a user or viewer to view the picture.

[0144] The display device 34 of the destination device 14 is configured to receive the post-processed picture data 33 for displaying the picture to, for example, a user or viewer. The display device 34 may be or include any type of display for representing the reconstructed picture, for example, an integrated or external display or monitor. The display may include, for example, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro LED display, a liquid crystal on silicon (LCoS), a digital light processor (DLP), or any other type of display.

[0145] FIG. 1A shows the source device 12 and the destination device 14 as separate devices, but embodiments of the device may also include both or either the source device 12 or corresponding functionality and the destination device 14 or corresponding functionality. In such embodiments, the source device 12 or corresponding functionality and the destination device 14 or corresponding functionality may be implemented using the same hardware and / or software, or by separate hardware and / or software or any combination thereof.

[0146] As will be apparent to those of ordinary skill in the art based on the description, the functionality of the different units or the presence and (exact) partitioning of functionality within the source device 12 and / or within the destination device 14 as shown in FIG. 1A may vary depending on the actual device and application.

[0147] The encoder 20 (e.g., video encoder 20) or decoder 30 (e.g., video decoder 30), or both the encoder 20 and decoder 30, may be implemented via a processing circuit configuration as shown in FIG. 1B, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, hardware, dedicated to video coding, or any combination thereof. The encoder 20 may be implemented via the processing circuit configuration 46 to embody various modules as described with respect to the encoder 20 of FIG. 2 and / or any other encoder system or subsystem described herein. The decoder 30 may be implemented via the processing circuit configuration 46 to embody various modules as described with respect to the decoder 30 of FIG. 3 and / or any other decoder system or subsystem described herein. The processing circuit configuration may be configured to perform various operations as described later. As shown in FIG. 5, if the technique is implemented partially in software, the device may store instructions for the software in a suitable non-transitory computer-readable storage medium and execute the instructions in hardware using one or more processors to perform the techniques of the present disclosure. Either the video encoder 20 or the video decoder 30 may be integrated into a single device, for example, as part of a combined encoder / decoder (codec) as shown in FIG. 1B.

[0148] Source device 12 and destination device 14 may comprise any of a wide variety of devices, such as any kind of handheld or fixed device, e.g., a notebook or laptop computer, mobile phone, smartphone, tablet or tablet computer, camera, desktop computer, set-top box, television, display device, digital media player, video game console, a video streaming device (such as a content service server or a content delivery server), a broadcast receiver device, a broadcast transmitter device, etc., and may not use an operating system or may use any kind of operating system. In some cases, source device 12 and destination device 14 may be equipped for wireless communication. Accordingly, source device 12 and destination device 14 may be wireless communication devices.

[0149] In some cases, the video coding system 10 shown in FIG. 1A is merely an example, and the techniques of the present application may be applicable to video coding settings (such as video encoding or video decoding) that do not necessarily involve any data communication between an encoding device and a decoding device. In other examples, data is retrieved from local memory, streamed over a network, etc. The video encoding device may encode data and store it in memory and / or the video decoding device may retrieve data from memory and decode it. In some examples, encoding and decoding are performed by devices that do not communicate with each other but merely encode data in memory and / or retrieve data from memory and decode it.

[0150] For the sake of convenience of explanation, for example, embodiments of the present invention are described herein by reference to high-efficiency video coding (HEVC), or to the reference software of the next-generation video coding standard, versatile video coding (VVC), that is, developed by the Joint Collaboration Team on Video Coding (JCT-VC) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Motion Picture Experts Group (MPEG). It will be understood by those skilled in the art that the embodiments of the present invention are not limited to HEVC or VVC.

[0151] Encoder and encoding method FIG. 2 shows a schematic block diagram of an exemplary video encoder 20 configured to implement the technique of the present application. In the example of FIG. 2, the video encoder 20 includes an input unit 201 (or input interface 201), a residual calculation unit 204, a conversion processing unit 206, a quantization unit 208, an inverse quantization unit 210, an inverse conversion processing unit 212, a reconstruction unit 214, a loop filter unit 220, a decoded picture buffer (DPB) 230, a mode selection unit 260, an entropy encoding unit 270, and an output unit 272 (or output interface 272). The mode selection unit 260 may include an inter prediction unit 244, an intra prediction unit 254, and a division unit 262. The inter prediction unit 244 may include a motion estimation unit and a motion compensation unit (not shown). The video encoder 20 as shown in FIG. 2 may also be referred to as a hybrid video encoder, that is, a video encoder by a hybrid video codec.

[0152] The residual calculation unit 204, the conversion processing unit 206, the quantization unit 208, and the mode selection unit 260 may be referred to as forming the forward signal path of the encoder 20. On the other hand, the inverse quantization unit 210, the inverse conversion processing unit 212, the reconstruction unit 214, the buffer 216, the loop filter 220, the decoded picture buffer (DPB) 230, the inter prediction unit 244, and the intra prediction unit 254 may be referred to as forming the reverse signal path of the video encoder 20. The reverse signal path of the video encoder 20 corresponds to the signal path of the decoder (see the video decoder 30 in FIG. 3). The inverse quantization unit 210, the inverse conversion processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded picture buffer (DPB) 230, the inter prediction unit 244, and the intra prediction unit 254 are also referred to as forming the "built-in decoder" of the video encoder 20.

[0153] Picture and picture partition (picture and block) The encoder 20 may be configured to receive a picture 17 (or picture data 17), for example, a sequence of pictures forming a video or a video sequence, via the input unit 201, for example. The received picture or picture data may also be the preprocessed picture 19 (or preprocessed picture data 19). For simplicity, the following description refers to picture 17. Picture 17 may also be referred to as the current picture or, in video coding in particular (to distinguish the current picture from other pictures of the same video sequence, i.e., also the video sequence comprising the current picture, for example, previously encoded and / or decoded pictures), the picture to be coded.

[0154] (Digital) pictures are or can be considered as two-dimensional arrays or matrices of samples having intensity values. Samples in the array are sometimes also called pixels (short for picture elements) or pels. The number of samples in the horizontal and vertical directions (or axes) of the array or picture defines the size and / or resolution of the picture. For color representation, usually three color components are employed, i.e., the picture may be represented by or may include three sample arrays. In the RGB format or color space, the picture comprises corresponding red, green, and blue sample arrays. However, in video coding, each pixel is usually represented in a luminance and chrominance format or color space, e.g., YCbCr, which comprises a luminance component indicated by Y (sometimes L is also used instead), and two chrominance components indicated by Cb and Cr. The luminance (or luma) component Y represents the brightness or gray level intensity (such as in a grayscale picture), and the two chrominance (or chroma) components Cb and Cr represent the chrominance or color information components. Thus, a picture in the YCbCr format comprises a luminance sample array of luminance sample values (Y), and two chrominance sample arrays of chrominance values (Cb and Cr). A picture in the RGB format may be converted or transformed to the YCbCr format, and vice versa, and the process is also called color transformation or color conversion. If the picture is monochrome, the picture may comprise only a luminance sample array. Thus, the picture may be, for example, an array of luma samples in a monochrome format, or an array of luma samples and two corresponding arrays of chroma samples in 4:2:0, 4:2:2, and 4:4:4 color formats.

[0155] An embodiment of the video encoder 20 may include a picture partitioning unit (not shown in FIG. 2) configured to partition picture 17 into a plurality of (usually non-overlapping) picture blocks 203. These blocks may be referred to as root blocks, macroblocks (H.264 / AVC), or coding tree blocks (CTB) or coding tree units (CTU) (H.265 / HEVC and VVC). The picture partitioning unit may use the same block size for all pictures in the video sequence and a corresponding grid that defines the block size, or may vary the block size between pictures or subsets or groups of pictures and be configured to partition each picture into corresponding blocks.

[0156] In a further embodiment, the video encoder may be configured to directly receive blocks 203 of picture 17, for example, one, a plurality, or all of the blocks that form picture 17. Picture blocks 203 may also be referred to as current picture blocks or picture blocks to be coded.

[0157] Similar to picture 17, picture blocks 203 may again be or may be regarded as two-dimensional arrays or matrices of samples having intensity values (sample values), but smaller in dimension than picture 17. In other words, block 203 may include, for example, one sample array (e.g., a luminance array in the case of a monochrome picture 17, or a luminance array or a chroma array in the case of a color picture), or three sample arrays (e.g., a luminance array and two chroma arrays in the case of a color picture 17), or any other number and / or type of arrays depending on the color format applied. The number of samples in the horizontal and vertical directions (or axes) of block 203 defines the size of block 203. Thus, the block may be, for example, an M×N (M columns × N rows) array of samples or an M×N array of transform coefficients.

[0158] An embodiment of the video encoder 20 as shown in FIG. 2 may be configured to encode picture 17 block by block. For example, encoding and prediction are performed in units of block 203.

[0159] Residual calculation The residual calculation unit 204 may be configured to calculate a residual block 205 (also referred to as residual 205) based on the picture block 203 and the prediction block 265 (further details about the prediction block 265 will be provided later) by subtracting the sample values of the prediction block 265 from the sample values of the picture block 203 for each sample (for each pixel), thereby obtaining the residual block 205 in the sample region.

[0160] Transformation The transformation processing unit 206 may be configured to apply a transformation, such as a discrete cosine transform (DCT) or a discrete sine transform (DST), to the sample values of the residual block 205 to obtain transformation coefficients 207 in the transform domain. The transformation coefficients 207 may also be referred to as transform residual coefficients and may represent the residual block 205 in the transform domain.

[0161] The conversion processing unit 206 may be configured to apply integer approximations of DCT / DST such as the conversion specified for H.265 / HEVC. Compared with the orthogonal DCT transform, such integer approximations are usually scaled by several coefficients. To preserve the norm of the residual blocks processed by the forward and inverse transforms, additional scaling coefficients are applied as part of the conversion process. The scaling coefficients are usually selected based on several constraints such as the scaling coefficients being powers of 2 for shift operations, the bit depth of the conversion coefficients, and the trade-off between accuracy and implementation cost. For example, for the inverse transform by the inverse transform processing unit 212 (and, for example, the corresponding inverse transform by the inverse transform processing unit 312 in the video decoder 30), specific scaling coefficients are specified, and the corresponding scaling coefficients for the forward transform by, for example, the conversion processing unit 206 in the encoder 20 may be specified accordingly.

[0162] Embodiments of the video encoder 20 (each, the conversion processing unit 206) may be configured to output conversion parameters, such as the type of one or more conversions, encoded or compressed, for example, directly or via the entropy encoding unit 270, such that, for example, the video decoder 30 may receive and use the conversion parameters for decoding.

[0163] Quantization The quantization unit 208 may be configured to quantize the conversion coefficients 207 to obtain quantization coefficients 209, for example, by applying scalar quantization or vector quantization. The quantization coefficients 209 may also be referred to as quantized conversion coefficients 209 or quantized residual coefficients 209.

[0164] The quantization process may reduce the bit depth associated with some or all of the conversion coefficient 207. For example, an n-bit conversion coefficient may be truncated to an m-bit conversion coefficient during quantization, provided that n is greater than m. The degree of quantization may be modified by adjusting the quantization parameter (QP: Quantization Parameter). For example, in the case of scalar quantization, various scalings may be applied to achieve finer or coarser quantization. A smaller quantization step size corresponds to finer quantization, while a larger quantization step size corresponds to coarser quantization. The applicable quantization step size may be indicated by the quantization parameter (QP). The quantization parameter may be, for example, an index to a default set of applicable quantization step sizes. For example, a small quantization parameter may correspond to finer quantization (small quantization step size), a large quantization parameter may correspond to coarser quantization (large quantization step size), or vice versa. Quantization may include division by the quantization step size. For example, the corresponding inverse quantization and / or inverse inverse quantization by the inverse quantization unit 210 may include multiplication by the quantization step size. Some standards, such as embodiments according to HEVC, may be configured to use the quantization parameter to determine the quantization step size. Generally, the quantization step size may be calculated based on the quantization parameter using a fixed-point approximation of an expression that includes division. Additional scaling factors may be introduced for quantization and inverse quantization to restore the norm of the residual block, which may be modified for the scaling used in the fixed-point approximation of the expression for the quantization step size and quantization parameter. In one exemplary implementation, the scaling of inverse transform and inverse quantization may be combined. Alternatively, a customized quantization table may be used, for example, signaled from the encoder to the decoder in the bitstream. Quantization is an irreversible operation, and the loss increases with increasing quantization step size.

[0165] Embodiments of the video encoder 20 (each, quantization unit 208) may be configured to output quantization parameters (QPs) encoded, for example, directly or via the entropy encoding unit 270, such that, for example, the video decoder 30 may receive and apply the quantization parameters for decoding.

[0166] Inverse quantization The inverse quantization unit 210 is configured to apply inverse quantization of the quantization unit 208 to the quantization coefficients to obtain inverse quantization coefficients 211, for example, based on or using the same quantization step size as the quantization unit 208, or by applying the inverse of the quantization method applied by the quantization unit 208. The inverse quantization coefficients 211 may also be referred to as inverse quantization residual coefficients 211 and - although usually not identical to the transform coefficients due to losses by quantization - may correspond to the transform coefficients 207.

[0167] Inverse transform The inverse transform processing unit 212 is configured to apply an inverse transform of the transform applied by the transform processing unit 206, for example, an inverse discrete cosine transform (DCT) or inverse discrete sine transform (DST), or another inverse transform, to obtain a reconstructed residual block 213 (or corresponding inverse quantization coefficients 213) in the sample domain. The reconstructed residual block 213 may also be referred to as the transform block 213.

[0168] Reconstruction The reconstruction unit 214 (e.g., adder or summer 214) is configured to add the transform block 213 (i.e., the reconstructed residual block 213) to the prediction block 265 by adding, for example, the sample values of the reconstructed residual block 213 and the sample values of the prediction block 265 - sample by sample - to obtain a reconstructed block 215 in the sample domain.

[0169] Filter processing The loop filter unit 220 (or the short “loop filter” 220) is configured to filter the reconstruction block 215 to obtain the filtered block 221, or generally, to filter the reconstructed samples to obtain the filtered samples. The loop filter unit is configured to, for example, smooth pixel transitions or improve video quality in another way. The loop filter unit 220 may comprise one or more loop filters, such as a deblocking filter, a sample adaptive offset (SAO) filter, or one or more other filters, such as a bidirectional filter, an adaptive loop filter (ALF), a sharpening filter, a smoothing filter, or a collaborative filter, or any combination thereof. The loop filter unit 220 is shown in FIG. 2 as being an in-loop filter, but in other configurations, the loop filter unit 220 may be implemented as an after-loop filter. The filtered block 221 may also be referred to as the filtered reconstruction block 221.

[0170] Embodiments of the video encoder 20 (each, the loop filter unit 220) may be configured to output loop filter parameters (such as sample adaptive offset information), for example, directly or via the entropy encoding unit 270, such that, for example, the decoder 30 may receive and apply the same loop filter parameters or respective loop filters for decoding.

[0171] Decoded picture buffer The decoded picture buffer (DPB) 230 may be a memory that stores reference pictures or generally reference picture data for encoding video data by the video encoder 20. The DPB 230 may be formed by any of various memory devices, such as a dynamic random access memory (DRAM) including synchronous DRAM (SDRAM), a magnetoresistive RAM (MRAM), a resistive RAM (RRAM), or other types of memory devices. The decoded picture buffer (DPB) 230 may be configured to store one or more filtered blocks 221. The decoded picture buffer 230 may be further configured to store other previously filtered blocks, such as blocks 221 that have been previously reconstructed and filtered of the same current picture or of different pictures, for example, for inter prediction, the previously reconstructed or decoded overall picture (as well as the corresponding reference blocks and samples), and / or the partially reconstructed current picture (as well as the corresponding reference blocks and samples) may be provided. For example, if the reconstructed block 215 has not been filtered by the loop filter unit 220 or is any other version of the reconstructed block or sample that has been further processed, the decoded picture buffer (DPB) 230 may also be configured to store one or more unfiltered reconstructed blocks 215, or generally, unfiltered reconstructed samples.

[0172] Mode Selection (Partitioning and Prediction) The mode selection unit 260 includes a segmentation unit 262, an inter prediction unit 244, and an intra prediction unit 254, and is configured to receive or obtain original picture data, for example, the original block 203 (the current block 203 of the current picture 17), and reconstructed picture data from the same (current) picture and / or from one or more previously decoded pictures, for example, from the decoded picture buffer 230 or other buffers (for example, a line buffer not shown), for example, filtered reconstructed samples or blocks, and / or unfiltered reconstructed samples or blocks. The reconstructed picture data is used as reference picture data for prediction, for example, inter prediction or intra prediction, to obtain the prediction block 265 or predictor 265.

[0173] The mode selection unit 260 may be configured to determine or select a segmentation for the current block prediction mode (excluding segmentation) and a prediction mode (for example, an intra or inter prediction mode), and generate a corresponding prediction block 265 that is used for the calculation of the residual block 205 and for the reconstruction of the reconstruction block 215.

[0174] Embodiments of the mode selection unit 260 may be configured to select partitioning and prediction modes (e.g., supported by the mode selection unit 260 or available to the mode selection unit 260) that give the best match, i.e., in other words, the minimum residual (where the minimum residual means better compression for transmission or storage), or the minimum signaling overhead (where the minimum signaling overhead means better compression for transmission or storage), or both, or to consider both or balance both. The mode selection unit 260 may be configured to determine the partitioning and prediction modes based on rate distortion optimization (RDO), i.e., to select the prediction mode that results in the minimum rate distortion. Terms such as "best," "minimum," "optimal," etc. in this context do not necessarily refer to the overall "best," "minimum," "optimal," etc., but may refer to the fulfillment of a termination or selection criterion, such as a value above or below a threshold or other constraint, which potentially leads to a "quasi-optimal selection" but reduces computational complexity and processing time.

[0175] In other words, the partitioning unit 262 may be configured to repeatedly use, for example, quadtree partitioning (QT), binary partitioning (BT), or ternary tree partitioning (TT), or any combination thereof, to partition the block 203 into smaller block partitions or sub-blocks (which form blocks again), and, for example, to perform prediction for each of the block partitions or sub-blocks. Mode selection may include selection of the tree structure of the block 203 to be partitioned, and the prediction mode is applied to each of the block partitions or sub-blocks.

[0176] The partitioning and prediction processing (e.g., by the partitioning unit 260) performed by the exemplary video encoder 20 is described in more detail below.

[0177] Partitioning The partitioning unit 262 can partition the current block 203 into smaller partitions, for example, smaller blocks of square or rectangular size. These smaller blocks (which may also be called sub-blocks) can be further partitioned into even smaller partitions. This is also called a tree partition or a hierarchical tree partition. For example, at the root tree level 0 (hierarchical level 0, depth 0), the root block may be recursively partitioned, for example, into two or more blocks at the next lower tree level, for example, nodes at tree level 1 (hierarchical level 1, depth 1). These blocks can again be partitioned, for example, into two or more blocks at the next lower level, for example, tree level 2 (hierarchical level 2, depth 2), until the partitioning terminates, for example, when a termination criterion is met, for example, the maximum tree depth or the minimum block size is reached. Blocks that are no longer partitioned are also called leaf blocks or leaf nodes of the tree. A tree that uses partitioning into two partitions is called a binary tree (BT), a tree that uses partitioning into three partitions is called a ternary tree (TT), and a tree that uses partitioning into four partitions is called a quaternary tree (QT).

[0178] As previously described, the term "block" as used herein may be a portion of a picture, particularly a square or rectangular portion. For example, referring to HEVC and VVC, a block may be a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU), and / or a corresponding block, for example, a coding tree block (CTB), a coding block (CB), a transform block (TB), or a prediction block (PB), or may correspond thereto.

[0179] For example, a coding tree unit (CTU) may be, or may comprise, a CTB of luma samples of a picture having three sample arrays, two corresponding CTBs of chroma samples, or a CTB of samples of a monochrome picture or a picture coded using three separate color planes, and a syntax structure used to code the samples. Correspondingly, a coding tree block (CTB) may be an N×N block of samples for some values of N such that the splitting of components into the CTB is in units. A coding unit (CU) may be, or may comprise, a coding block of luma samples of a picture having three sample arrays, two corresponding coding blocks of chroma samples, or a coding block of samples of a monochrome picture or a picture coded using three separate color planes, and a syntax structure used to code the samples. Correspondingly, a coding block (CB) may be an M×N block of samples for some values of M and N such that the splitting of the CTB into the coding block is in units.

[0180] For example, in an embodiment according to HEVC, a coding tree unit (CTU) may be split into CUs by using a quadtree structure shown as a coding tree. The decision as to whether a picture area should be coded using (temporal) inter-picture prediction or (spatial) intra-picture prediction is made at the CU level. Each CU may be further split into one, two, or four PUs according to the PU split type. Inside one PU, the same prediction process is applied and the relevant information is sent to the decoder in PU units. After obtaining a residual block by applying a prediction process based on the PU split type, the CU may be split into transform units (TUs) according to another quadtree structure similar to the coding tree for the CU.

[0181] In an embodiment, for example, according to the latest video coding standard currently being developed, called versatile video coding (VVC), a quadtree and binary tree (QTBT) partitioning is used to partition coding blocks. Among QTBT block structures, a CU can have either a square or rectangular shape. For example, a coding tree unit (CTU) is first partitioned by a quadtree structure. A quadtree leaf node is further partitioned by a binary tree or a ternary (or triple) tree structure. Partitioning a tree leaf node is called a coding unit (CU), and its segmentation is used for prediction processing and transformation processing without further partitioning. This means that the CU, PU, and TU have the same block size within the QTBT coding block structure. In parallel, a ternary tree partitioning has also been proposed for use together with multiple partitionings, for example, the QTBT block structure.

[0182] In one example, the mode selection unit 260 of the video encoder 20 can be configured to perform any combination of the partitioning techniques described herein.

[0183] As described above, the video encoder 20 is configured to determine or select the best or optimal prediction mode from a set of (predetermined) prediction modes. The set of prediction modes may include, for example, an intra prediction mode and / or an inter prediction mode.

[0184] Intra prediction The set of intra prediction modes may include, for example, 35 different intra prediction modes as defined in HEVC, such as all-directional modes like DC (or, average) mode and planar mode, or directional modes, or, for example, 67 different intra prediction modes as defined for VVC, such as all-directional modes like DC (or, average) mode and planar mode, or directional modes.

[0185] The intra prediction unit 254 is configured to use the reconstructed samples of adjacent blocks of the same current picture to generate an intra prediction block 265 according to an intra prediction mode of a set of intra prediction modes.

[0186] The intra prediction unit 254 (or generally, the mode selection unit 260) is further configured to output an intra prediction parameter (or generally, information indicating a selected intra prediction mode for a block) to the entropy coding unit 270 in the form of a syntax element 266 for inclusion in the coded picture data 21, such that, for example, the video decoder 30 may receive and use the prediction parameter for decoding.

[0187] Inter prediction A set of inter prediction modes (or possible inter prediction modes) depends on available reference pictures (i.e., for example, at least partially decoded previous pictures stored in the DBP 230), as well as other inter prediction parameters, for example, whether the entire reference picture is used to search for the best matching reference block or only a part, for example, a search window area around the area of the current block of the reference picture is used, and / or, for example, whether pixel interpolation, for example, half-pel interpolation / semi-pel interpolation and / or quarter-pel interpolation is applied.

[0188] In addition to the above prediction modes, a skip mode and / or a direct mode may be applied.

[0189] The inter prediction unit 244 may include a motion estimation (ME) unit and a motion compensation (MC) unit (both not shown in FIG. 2). The motion estimation unit may be configured to receive or obtain, for motion estimation, the picture block 203 (the current picture block 203 of the current picture 17) and the decoded picture 231, or at least one or a plurality of previously reconstructed blocks, for example, the reconstructed blocks of one or a plurality of other / different previously decoded pictures 231. For example, the video sequence may include the current picture and the previously decoded pictures 231, that is to say, in other words, the current picture and the previously decoded pictures 231 may be part of the sequence of pictures forming the video sequence, or may form them.

[0190] The encoder 20 may be configured to select a reference block from a plurality of reference blocks of the same or different pictures among a plurality of other pictures, and provide the reference picture (or the reference picture index), and / or the offset (spatial offset) between the position (x, y coordinates) of the reference block and the position of the current block to the motion estimation unit as inter prediction parameters. This offset is also called a motion vector (MV).

[0191] The motion compensation unit is configured to obtain, for example receive, an inter prediction parameter and perform an inter prediction to obtain an inter prediction block 265 based on or using the inter prediction parameter. The motion compensation performed by the motion compensation unit may involve fetching or generating a prediction block based on the motion / block vector determined by motion estimation and, optionally, performing interpolation to sub-pixel accuracy. The interpolation filtering may generate additional pixel samples from known pixel samples and thus potentially increase the number of candidate prediction blocks that can be used to code a picture block. Upon receiving a motion vector for the current picture block's PU, the motion compensation unit may identify the position of the prediction block pointed to by the motion vector within one of the reference picture lists.

[0192] The motion compensation unit may also generate syntax elements related to the block and video slice for use by the video decoder 30 when decoding the picture blocks of the video slice.

[0193] Entropy coding Entropy encoding unit 270 applies, for example, an entropy encoding algorithm or an entropy encoding method (e.g., variable length coding (VLC) method, context adaptive VLC (CAVLC) method, arithmetic coding method, binarization method, context adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) coding, or another entropy encoding method or technique), or bypass (no compression) to quantization coefficients 209, inter prediction parameters, intra prediction parameters, loop filter parameters, and / or other syntax elements, and is configured to obtain encoded picture data 21 that can be output via output unit 272, for example, in the form of encoded bitstream 21. As a result, for example, video decoder 30 can receive and use the parameters for decoding. Encoded bitstream 21 may be transmitted to video decoder 30 or may be stored in memory for later transmission or retrieval by video decoder 30.

[0194] Other structural variations of video encoder 20 can be used to encode a video stream. For example, a non-transform-based encoder 20 can directly quantize the residual signal without using transform processing unit 206 for some blocks or frames. In another implementation, encoder 20 can have a quantization unit 208 and an inverse quantization unit 210 combined in a single unit.

[0195] Decoder and Decoding Method Figure 3 shows an example of a video decoder 30 configured to implement the technique of this present application. The video decoder 30 is configured to receive, for example, encoded picture data 21 (e.g., an encoded bitstream 21) encoded by an encoder 20 and obtain a decoded picture 331. The encoded picture data or bitstream includes information for decoding the encoded picture data, for example, data representing picture blocks of an encoded video slice, and associated syntax elements.

[0196] In the example of Figure 3, the decoder 30 includes an entropy decoding unit 304, an inverse quantization unit 310, an inverse transform processing unit 312, a reconstruction unit 314 (e.g., an adder 314), a loop filter 320, a decoded picture buffer (DBP) 330, an inter prediction unit 344, and an intra prediction unit 354. The inter prediction unit 344 may be a motion compensation unit or may include a motion compensation unit. In some examples, the video decoder 30 may execute a decoding path generally opposite to the encoding path described with respect to the video encoder 100 from Figure 2.

[0197] As described with respect to the encoder 20, the inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded picture buffer (DPB) 230, the inter prediction unit 344, and the intra prediction unit 354 are also referred to as forming the "built-in decoder" of the video encoder 20. Thus, the inverse quantization unit 310 may have the same function as the inverse quantization unit 110, the inverse transform processing unit 312 may have the same function as the inverse transform processing unit 212, the reconstruction unit 314 may have the same function as the reconstruction unit 214, the loop filter 320 may have the same function as the loop filter 220, and the decoded picture buffer 330 may have the same function as the decoded picture buffer 230. Thus, the descriptions provided for each unit and function of the video 20 encoder apply correspondingly to each unit and function of the video decoder 30.

[0198] Entropy decoding The entropy decoding unit 304 parses the bitstream 21 (or generally, the encoded picture data 21), and for example, performs entropy decoding on the encoded picture data 21 to obtain, for example, quantization coefficients 309 and / or decoded coding parameters (not shown in FIG. 3), such as inter prediction parameters (e.g., reference picture index and motion vector), intra prediction parameters (e.g., intra prediction mode or index), transform parameters, quantization parameters, loop filter parameters, and / or any or all of other syntax elements. The entropy decoding unit 304 may be configured to apply a decoding algorithm or decoding method corresponding to the encoding method as described for the entropy encoding unit 270 of the encoder 20. The entropy decoding unit 304 may be further configured to provide inter prediction parameters, intra prediction parameters, and / or other syntax elements to the mode selection unit 360 and other parameters to other units of the decoder 30. The video decoder 30 may receive syntax elements at the video slice level and / or video block level.

[0199] Inverse quantization The inverse quantization unit 310 receives quantization parameters (QP) (or generally, information related to inverse quantization) and quantization coefficients from the encoded picture data 21 (e.g., by the entropy decoding unit 304, e.g., by parsing and / or decoding), and based on the quantization parameters, applies inverse quantization to the decoded quantization coefficients 309 to obtain inverse quantization coefficients 311, which may also be referred to as transform coefficients 311. The inverse quantization process may include the use of quantization parameters determined by the video encoder 20 for each video block in the video slice to determine the degree of quantization and, similarly, the degree of inverse quantization to be applied.

[0200] Inverse transformation The inverse transformation processing unit 312 may be configured to receive the inverse quantization coefficient 311, also referred to as the transformation coefficient 311, and apply a transformation to the inverse quantization coefficient 311 to obtain the reconstructed residual block 213 in the sample region. The reconstructed residual block 213 may also be referred to as the transformation block 313. The transformation may be an inverse transformation, such as an inverse DCT transformation, an inverse DST transformation, an inverse integer transformation, or a conceptually similar inverse transformation process. The inverse transformation processing unit 312 may be further configured to receive transformation parameters or corresponding information from the encoded picture data 21 (e.g., by the entropy decoding unit 304, e.g., by syntax analysis and / or decoding) to determine the transformation to be applied to the inverse quantization coefficient 311.

[0201] Reconstruction The reconstruction unit 314 (e.g., an adder or summer 314) may be configured to add the reconstructed residual block 313 to the prediction block 365, for example, by adding the sample values of the reconstructed residual block 313 and the sample values of the prediction block 365, to obtain the reconstructed block 315 in the sample region.

[0202] Filter processing (Either within or after the coding loop) The loop filter unit 320 is configured to filter the reconstructed block 315 to obtain a filtered block 321, for example, to smooth pixel transitions or improve video quality in another way. The loop filter unit 320 may comprise one or more loop filters, such as a deblocking filter, a sample adaptive offset (SAO) filter, or one or more other filters, for example, a bidirectional filter, an adaptive loop filter (ALF), a sharpening filter, a smoothing filter, or a collaborative filter, or any combination thereof. The loop filter unit 320 is shown in FIG. 3 as being an in-loop filter, but in other configurations, the loop filter unit 320 may be implemented as a post-loop filter.

[0203] Decoded picture buffer The decoded video block 321 of the picture is then stored in a decoded picture buffer 330 that stores the decoded picture 331 as a reference picture for subsequent motion compensation for other pictures and / or for each output for display.

[0204] The decoder 30 is configured to output the decoded picture 311, for example, via the output unit 312, for presentation or viewing by the user.

[0205] Prediction The inter prediction unit 344 may be the same as the inter prediction unit 244 (specifically, the motion compensation unit), and the intra prediction unit 354 may have the same function as the intra prediction unit 254. Based on the respective information received from the segmentation or prediction parameters, or the coded picture data 21 (for example, by the entropy decoding unit 304, for example, by syntax analysis and / or decoding), it performs segmentation or segmentation determination and prediction. The mode selection unit 360 may be configured to perform prediction (intra prediction or inter prediction) for each block based on the reconstructed picture, block, or each sample (whether filtered or not) to obtain the prediction block 365.

[0206] When the video slice is coded as an intra-coded (I) slice, the intra prediction unit 354 of the mode selection unit 360 is configured to generate a prediction block 365 for the picture block of the current video slice based on the signaled intra prediction mode and the data from the previously decoded blocks of the current picture. When the video picture is coded as an inter-coded (i.e., B or P) slice, the inter prediction unit 344 (e.g., the motion compensation unit) of the mode selection unit 360 is configured to create a prediction block 365 for the video block of the current video slice based on the motion vector and other syntax elements received from the entropy decoding unit 304. In the case of inter prediction, the prediction block may be created from one of the reference pictures in one of the reference picture lists. The video decoder 30 may use a default construction technique based on the reference pictures stored in the DPB 330 to construct the reference frame lists, i.e., list 0 and list 1.

[0207] The mode selection unit 360 is configured to determine prediction information for video blocks of the current video slice by parsing motion vectors and other syntax elements, and to create a prediction block for the currently decoded video block using the prediction information. For example, the mode selection unit 360 uses some of the received syntax elements to determine the prediction mode (e.g., intra prediction or inter prediction) used to code the video blocks of the video slice, the inter prediction slice type (e.g., B slice, P slice, or GPB slice), configuration information for one or more of the reference picture lists for the slice, the motion vector for each inter-coded video block of the slice, the inter prediction status for each inter-coded video block of the slice, and other information for decoding the video blocks in the current video slice.

[0208] Other variations of the video decoder 30 may be used to decode the encoded picture data 21. For example, the decoder 30 can create the output video stream without using the loop filter processing unit 320. For example, a non-transform-based decoder 30 can directly inverse quantize the residual signal without using the inverse transform processing unit 312 for some blocks or frames. In another implementation, the video decoder 30 can have an inverse quantization unit 310 and an inverse transform processing unit 312 combined in a single unit.

[0209] It should be understood that in the encoder 20 and the decoder 30, the processing result of the current step may be further processed and then output to the next step. For example, after interpolation filter processing, motion vector derivation, or loop filter processing, further operations such as clip or shift may be performed on the processing result of the interpolation filter processing, motion vector derivation, or loop filter processing.

[0210] Note that further operations may be applied to the derived motion vectors of the current block (including, but not limited to, the control point motion vectors in affine mode, the affine mode, the plane mode, the sub-block motion vectors in ATMVP mode, the temporal motion vectors, etc.). For example, the value of the motion vector is constrained to a predefined range according to its representation bits. When the representation bits of the motion vector is bitDepth, the range is -2^(bitDepth-1) to 2^(bitDepth-1)-1, where "^" means exponentiation. For example, when bitDepth is set to 16, the range is -32768 to 32767, and when bitDepth is set to 18, the range is -131072 to 131071. For example, the value of the derived motion vector (e.g., the MV of four 4×4 sub-blocks within one 8×8 block) is constrained such that the maximum difference between the integer parts of the four 4×4 sub-block MVs is no more than N pixels, such as no more than 1 pixel.

[0211] Here, two methods for constraining the motion vector according to bitDepth are provided.

[0212] Method 1: Remove the overflow MSB (Most Significant Bit) by flowing operation. ux=(mvx+2 bitDepth )%2 bitDepth (1) mvx=(ux>=2 bitDepth-1 )? (ux-2 bitDepth ) : ux (2) uy=(mvy+2 bitDepth )%2 bitDepth (3) mvy=(uy>=2 bitDepth-1 )? (uy-2 bitDepth ) : uy (4) Here, mvx is the horizontal component of the motion vector of the image block or sub-block, mvy is the vertical component of the motion vector of the image block or sub-block, and ux and uy represent intermediate values.

[0213] For example, when the value of mvx is -32769, after applying equations (1) and (2), the resulting value is 32767. In a computer system, decimal numbers are stored as two's complements. The two's complement of -32769 is 1,0111,1111,1111,1111 (17 bits), and then the MSB is discarded, so the resulting two's complement is 0111,1111,1111,1111 (decimal 32767), which is the same as the output by applying equations (1) and (2). ux=(mvpx+mvdx+2 bitDepth )%2 bitDepth (5) mvx=(ux>=2 bitDepth-1 ) ? (ux-2 bitDepth ) : ux (6) uy=(mvpy+mvdy+2 bitDepth )%2 bitDepth (7) mvy=(uy>=2 bitDepth-1 ) ? (uy-2 bitDepth ) : uy (8)

[0214] As shown in equations (5) to (8), the operation can be applied between the sum of mvp and mvd.

[0215] Method 2: Remove the overflow MSB by clipping the value. vx=Clip3(-2 bitDepth-1 ,2 bitDepth-1 -1,vx) vy=Clip3(-2 bitDepth-1 ,2 bitDepth-1 -1,vy) However, vx is the horizontal component of the motion vector of an image block or sub-block, vy is the vertical component of the motion vector of an image block or sub-block, x, y, and z respectively correspond to the three input values of the MV clipping process, and the definition of the function Clip3 is as follows.

[0216]

Number

[0217] Figure 4 is a schematic diagram of a video coding device 400 according to an embodiment of the present disclosure. The video coding device 400 is suitable for implementing the disclosed embodiments as described herein. In one embodiment, the video coding device 400 may be a decoder such as the video decoder 30 of FIG. 1A, or an encoder such as the video encoder 20 of FIG. 1A.

[0218] The video coding device 400 includes an inlet port 410 (or input port 410) and a receiver unit (Rx) 420 for receiving data, a processor, logic unit, or central processing unit (CPU) 430 for processing data, a transmitter unit (Tx) 440 and an outlet port 450 (or output port 450) for transmitting data, and a memory 460 for storing data. The video coding device 400 may also include optoelectrical (OE: Optical-to-Electrical) components and electro-optical (EO: Electrical-to-Optical) components coupled to the inlet port 410, the receiver unit 420, the transmitter unit 440, and the outlet port 450 for an outlet or inlet of optical or electrical signals.

[0219] Processor 430 is implemented by hardware and software. Processor 430 can be implemented as one or more CPU chips, cores (e.g., multi-core processors), FPGAs, ASICs, and DSPs. Processor 430 communicates with an input port 410, a receiver unit 420, a transmitter unit 440, an output port 450, and a memory 460. Processor 430 includes a coding module 470. The coding module 470 implements the disclosed embodiments described above. For example, the coding module 470 performs, processes, prepares, or provides various coding operations. Thus, including the coding module 470 brings a significant improvement to the functionality of the video coding device 400 and results in a transformation of the video coding device 400 to different states. Alternatively, the coding module 470 is implemented as instructions stored in the memory 460 and executed by the processor 430.

[0220] Memory 460 may include one or more disks, tape drives, and solid-state drives and be used as an overflow data storage device for storing programs when such a program is selected for execution and for storing instructions and data read during program execution. Memory 460 may be, for example, volatile and / or non-volatile and may be read-only memory (ROM), random access memory (RAM), ternary content-addressable memory (TCAM), and / or static random access memory (SRAM).

[0221] FIG. 5 is a simplified block diagram of an apparatus 500 that can be used as either or both of the source device 12 and the destination device 14 from FIG. 1 according to an exemplary embodiment.

[0222] The processor 502 in the device 500 can be a central processing unit. Alternatively, the processor 502 can be any other type of device or devices capable of manipulating or processing information, existing or to be developed in the future. The disclosed implementation can be practiced using a single processor, e.g., the processor 502, as illustrated, but the advantages in terms of speed and efficiency can be achieved using two or more processors.

[0223] The memory 504 in the device 500 can be, in one implementation, a read-only memory (ROM) device or a random access memory (RAM) device in one implementation. Any other suitable type of storage device can be used as the memory 504. The memory 504 can include code and data 506 that are accessed by the processor 502 using the bus 512. The memory 504 can further include an operating system 508 and an application program 510, and the application program 510 includes at least one program that enables the processor 502 to execute the methods described herein. For example, the application program 510 can include applications 1 to N, and the applications 1 to N further include a video coding application that executes the methods described herein.

[0224] The device 500 can also include one or more output devices such as a display 518. The display 518 can be, in one example, a touch-sensitive display that combines the display with a touch-sensitive element operable to sense touch input. The display 518 can be coupled to the processor 502 via the bus 512.

[0225] Although shown here as a single bus, the bus 512 of the apparatus 500 can consist of a plurality of buses. Further, the secondary storage 514 can be directly coupled to other components of the apparatus 500 or accessed via a network, and can comprise a single integrated unit such as a memory card, or multiple units such as multiple memory cards. Thus, the apparatus 500 can be implemented in a wide variety of configurations.

[0226] Intra prediction mode According to the HEVC / H.265 standard, 35 intra prediction modes are available. As shown in FIG. 6, this set includes the following modes, namely, the planar mode (intra prediction mode index is 0), the DC mode (intra prediction mode index is 1), and the directional (angular) modes having an intra prediction mode index value range of 2 to 34, which cover a range of 180° and are indicated by the black arrows in FIG. 6. To capture any edge direction present in natural video, the number of directional intra modes is extended from 33 to 65 as used in HEVC. Additional directional modes are shown as dashed arrows in FIG. 6, and the planar mode and the DC mode remain the same. It is worth noting that the range covered by the intra prediction modes can be wider than 180°. Specifically, 62 directional modes having index values of 3 to 64 cover a range of approximately 230°, that is, some pairs of modes have opposite directions. In the case of the HEVC reference model (HM) and the JEM platform, only one pair of angular modes (i.e., modes 2 and 66) has opposite directions as shown in FIG. 6. To construct the predictor, the conventional angular modes take reference samples and (if necessary) filter them to obtain a sample predictor. The number of reference samples required to construct the predictor depends on the length of the filter used for interpolation (e.g., the bilinear filter and the cubic filter have lengths of 2 and 4, respectively).

[0227] FIG. 4 shows an example of 67 intra prediction modes as proposed for VVC, for example. The plurality of intra prediction modes of the 67 intra prediction modes include a planar mode (index 0), a dc mode (index 1), and angular modes having indices 2 to 66. The lower left angular mode in FIG. 6 refers to index 2, and the index numbering is incremented until index 66 becomes the rightmost upper angular mode in FIG. 6.

[0228] Most Probable Mode List Construction To improve coding efficiency, a Most Probable Mode (MPM) list is used in intra mode coding. Due to a large number of intra modes (for example, 35 in ITU H.265 and 67 in VVC), the MPM list of the current CU (Coding Unit) or current CB (Coding Block) is constructed based on the intra prediction modes of its adjacent CUs or adjacent CBs. Since the intra mode of the current CU or current CB is related to the intra prediction modes of its adjacent CUs or adjacent CBs, the MPM list usually provides a good prediction, and the intra mode of the current CU or current CB is likely to be in the MPM list. In this way, the index of the MPM list is signaled to derive the intra mode of the current CU or current CB. Compared with the total number of intra modes, the length of the MPM list is much smaller (for example, a 3-MPM list is used in HEVC and a 6-MPM list is used in VVC), and thus, not many bits are required to code the intra mode. A flag (for example, mpm_flag) is used to indicate whether the intra mode of the current CU or current CB is in the MPM list. When the value of the flag is true (for example, the value is 1), the intra mode of the current CU or current CB is in the MPM list. When the value of the flag is false (for example, the value is 0), the intra mode of the current CU or current CB is not in the MPM list, and the intra mode of the current CU or current CB is signaled using a binary code.

[0229] MPM List Configuration in VVC and ITU H.265 In VVC and ITU H.265, the MPM list is configured based on the adjacent left and upper blocks of the current block. When the left and upper blocks of the current block are unavailable for intra prediction, the mode list is used.

[0230] In an example for the 6-MPM list configuration, the mode list may include the following intra prediction modes in sequence: (1) Planar mode, (2) DC mode, (3) Vertical mode, (4) Horizontal mode, (5) V-4 mode (i.e., Intra mode 46), (6) V+4 mode (i.e., Intra mode 54). In another example for the 3-MPM list configuration, the default mode list may include the following intra prediction modes in sequence: (1) Planar mode, (2) DC mode.

[0231] Binarization of the Index of the Current Block When the Intra Mode of the Current Block is in the MPM List Binarization is used to convert the decimal representation to the binary representation. In ITU-T H.265 and VVC, many binarization methods such as fixed-length codes, truncated unary codes, and truncated binary codes are used. The truncated unary code is used to code the index corresponding to the 6-MPM list. The truncated unary binarization represents mpm idx as having n 1s followed by a 0, excluding the maximum value where all n bits are 1, or alternatively, having n 0s followed by a 1, excluding the maximum value where all n bits are 0 (assuming mpm idx is n, the value of n ranges from 0 to 5 inclusive of the extreme values). The binarization codes for mpm indices with a maximum value of 5 are shown in Table 1.

[0232] [Table 1]

[0233] In the above example, each decimal value, except for the last decimal value corresponding to the maximum value of the index, is coded according to one more bit in the binary representation compared to the preceding decimal value (which is 1 less decimal value).

[0234] Multiple hypothesis prediction The coding block is either intra-predicted (i.e., using reference samples within the same picture) or inter-predicted (i.e., using reference samples within other pictures). Multiple hypothesis prediction combines these two prediction methods. Thus, it is sometimes called combined inter-intra prediction. When combined inter-intra prediction is possible, weights are applied to the intra-predicted and inter-predicted samples, and the final prediction for the coding block is derived as a weighted average sample.

[0235] In VTM3.0, when multiple hypothesis (MH) prediction is possible, 4 or 3 intra-modes based on the block shape are used. In the 4 intra-mode cases, the planar mode, DC mode, vertical mode (corresponding to value 50), and horizontal mode (corresponding to 18) are used. In the 3 intra-mode cases, when the CU width or CB width is greater than twice the CU height or CB height, the horizontal mode is removed from the intra-mode list, and when the CU height or CB height is greater than twice the CU width or CB width, the vertical mode is removed from the intra-mode list. For both the 3- and 4-intra-mode cases, only these 4 intra-modes (i.e., planar, DC, vertical, and horizontal) are allowed, and a 3-MPM list is defined.

[0236] MH block: The coding block of the luma component predicted by multiple hypothesis prediction.

[0237] Intra block: A coding block that is predicted by intra prediction but not by multiple hypothesis prediction. The construction of the MPM list for the MH block is different from the construction of the MPM list for the intra block in VTM3.0. In one example, a 6-MPM list is constructed, and 67 intra modes can be used for intra prediction. The construction of the MPM list for the intra block is based on the intra prediction modes of the left block and the upper block. If the intra prediction modes of the left block and the upper block are not available, a 6-entry default mode list {plane, DC, vertical, horizontal, vertical-4, vertical+4} can be used.

[0238] In another aspect, the binarization of the mpm list index for the MH block is different from the binarization of the mpm list index for the intra block. First, for the MH block, a 3-MPM list is defined and the maximum value of the mpm list index is 2, while for the intra block, a 6-MPM list is defined and the maximum value of the mpm list index is 5. Second, in three or four intra mode cases, the index binarization for the MH block is combined with the signaling of the mpm_flag. In the case of three intra mode cases, after excluding the horizontal mode or the vertical mode, since the intra mode should be in the 3-MPM list, the mpm_flag is not signaled but is assumed to be true. In the case of four intra mode cases, the mpm_flag is signaled. If the value of the mpm_flag is true (for example, the value of the mpm_flag is 1), the mpm_idx is coded using a truncated unary code, and the maximum value of the truncated unary code is 2. If the value of the mpm_flag is false (for example, the value of the mpm_flag is 0), the intra mode is obtained by excluding three intra modes in the 3-MPM list from four modes {plane, DC, vertical, and horizontal}.

[0239] The binarization of the MPM list index of the MH block and the mpm_flag signaling for three and four intra-mode cases are represented by Table 2.

[0240]

Table 2

[0241] The block-based approach in VTM for distinguishing three or four MPMs for the MH block increases the decoding computational complexity and may not be necessary for blocks to which multi-hypothesis prediction (i.e., combined inter-intra prediction) is applied.

[0242] Embodiments of the present application provide several alternatives for reducing the computational complexity of decoding blocks of a picture through MH prediction, which particularly benefit from simplification of the MPM list configuration for the MH block.

[0243] Embodiment 1: Determine whether multi-hypothesis prediction is applied to the coding block.

[0244] If multi-hypothesis prediction is applied to predict the coding block, · Use a first MPM list together with a pre-defined default list of modes for intra prediction, where the default list has a size of N (N is greater than 0). · Predict the block based on one of the entries in the first MPM list.

[0245] If multi-hypothesis prediction is not applied to predict the coding block and intra prediction is applied to predict the block, · Predict the block based on one of the entries in the second MPM list (in one example, the second MPM list is configured according to the method disclosed in JVET-L1001).

[0246] In one implementation form, the default mode list has a length of 4, and the list consists of subsequent entries with the specified order, namely, the planar mode, the DC mode, the vertical mode, and the horizontal mode.

[0247] In one implementation form, the default mode list has a length of 3, and the list consists of subsequent entries with the specified order, namely, the planar mode, the DC mode, and the vertical mode.

[0248] In one implementation form, the default mode list has a length of 2, and the list consists of subsequent entries with the specified order, namely, the planar mode and the DC mode.

[0249] In one implementation form, the default mode list has a length of 1, and the list consists of only the planar mode.

[0250] In one implementation form, the binarization of the mpm list index uses a shortened unary code. When the first MPM list has 4 intra-modes, the maximum value of the shortened unary code is 3, and the mpm_flag is always set to true (the value of mpm_flag is 1).

[0251] In another implementation form, to construct the first MPM list with 4 intra-modes, the first 4 candidates in the default mode list are used. The order of the 4 candidates in the default mode list is the same as the order of the candidates in the first MPM list. As an example, when the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode are provided, the first MPM list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode are provided in sequence.

[0252] In one implementation form, in order to configure a first MPM list having three intra modes, the first three candidates in the default mode list are used.

[0253] In one implementation form, the binarization of the mpm list index uses a shortened unary code. When the first MPM list has three intra modes, the maximum value of the shortened unary code is 2, and mpm_flag is always set to true (the value of mpm_flag is 1).

[0254] In another implementation form, in order to configure a first MPM list having three intra modes, the first three candidates in the default mode list are used. The order of the three candidates in the default mode list is the same as the order of the candidates in the first MPM list. As an example, if the default mode list has the following intra prediction modes, that is, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V - 4 mode, 6. V + 4 mode are provided, the first MPM list has the following intra prediction modes, that is, 1. Planar mode, 2. DC mode, 3. Vertical mode are provided in sequence.

[0255] In one implementation form, in order to configure a first MPM list having two intra modes, the first two candidates in the default mode list are used.

[0256] In one implementation form, when the first MPM list has two intra modes, the binarization of the mpm list index uses a shortened unary code with a maximum value of 1, and mpm_flag is always set to true (the value of mpm_flag is 1).

[0257] In another implementation, to form a first MPM list having two intra modes, the first two candidates in the default mode list are used. The order of the two candidates in the default mode list is the same as the order of the candidates in the first MPM list. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode then the first MPM list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode in that order.

[0258] In one implementation, to form a first MPM list having one intra mode, the first candidate in the default mode list is used. In one example, the mode inserted into the first MPM list is the planar mode.

[0259] In one implementation, if the first MPM list has one intra mode and is coded using a fixed intra mode, mpm_idx is not signaled and mpm_flag is always set to true (the value of mpm_flag is 1).

[0260] In another implementation, to form a first MPM list having one intra mode, the first candidate in the default mode list is used. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode When provided, the first MPM list includes the following intra prediction modes, namely, 1. Planar mode in this order.

[0261] The second MPM list may be configured according to the methods in ITU-T H.265 and VVC. See the above examples and the disclosure regarding the MPM list configuration process in ITU-T H.265 and VVC.

[0262] Embodiment 2: Construct the first MPM list (in one example, the first MPM list is constructed according to the method disclosed in JVET-L1001).

[0263] Determine whether multiple hypothesis prediction is applied to the coding block.

[0264] If multiple hypothesis prediction is applied to predict the coding block, · Predict the block based on one of the entries in the first MPM list.

[0265] If multiple hypothesis prediction is not applied to predict the coding block and intra prediction is applied to predict the block, · Predict the block based on one of the entries in the first MPM list.

[0266] In one implementation, the intra prediction based on one of the entries in the first MPM list is performed as follows. · Step 1: Configure all the entries in the first MPM list. · Step 2: Determine whether the block applies multiple hypothesis prediction. · Step 3: 〇 If multiple hypothesis prediction is applied to predict the coding block, Parse the index representation from the bitstream, whose maximum value is known as (N - 1), where N is greater than or equal to 1. When N is 1, the index representation is assumed to be 0 (without being parsed). *Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. *If the derived intra prediction mode is an angular mode having a mode index between 2 and 34 (including both end values) corresponding to the intra mode, the derived intra prediction is changed to the horizontal mode. *Otherwise, if the derived intra prediction is an angular mode having a mode index between 35 and 66 (including both end values), the derived intra prediction is changed to the vertical mode. 〇If multi - hypothesis prediction is not applied to predict the block and intra prediction is applied to the block, *Parse the index representation from the bitstream, whose maximum value is known as (M - 1), where M is greater than or equal to 1. *Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. · Step 4: Predict the block based on the derived intra mode.

[0267] In one implementation, the intra prediction based on one of the entries in the first MPM list is performed as follows. · Step 1: Construct all the entries of the first MPM list. · Step 2: Determine whether the block applies multi - hypothesis prediction. · Step 3: 〇If multi - hypothesis prediction is applied to predict the coding block, Parse the index representation from the bitstream, whose maximum value is known as (N - 1), where N is greater than or equal to 1. When N is 1, the index representation is assumed to be 0 (without parsing). *Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. *If the derived intra prediction mode is an angular mode having a mode index (corresponding value of the intra mode) between 2 and 33 including both end values, the derived intra prediction is changed to the horizontal mode. *Otherwise, if the derived intra prediction is an angular mode having a mode index between 34 and 66 including both end values, the derived intra prediction is changed to the vertical mode. 〇If multi - hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, *Parse the index representation from the bitstream, whose maximum value is known as (M - 1), where M is greater than or equal to 1. *Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. ·Step 4: Predict the block based on the derived intra mode.

[0268] In one implementation, the intra prediction based on one of the entries in the first MPM list is performed as follows. ·Step 1: Construct all the entries of the first MPM list. ·Step 2: Determine whether the block applies multi - hypothesis prediction. ·Step 3: 〇If multi - hypothesis prediction is applied to predict a coding block, *Parse the index representation from the bitstream, whose maximum value is known as (N - 1), where N is greater than or equal to 1. When N is 1, the index representation is assumed to be 0 (without being parsed). *Derive an intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is an entry in the first MPM list indexed by the index representation. *If the derived intra prediction mode is an angular mode having a mode index (corresponding value of the intra mode) between 2 and 66 including both end values, the derived intra prediction is changed to a planar mode. *Predict a block based on the derived intra mode. 〇If multi - hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, *Parse the index representation from the bitstream, whose maximum value is known as (M - 1), where M is greater than or equal to 1. *Derive an intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is an entry in the first MPM list indexed by the index representation. ·Step 4: Predict a block based on the derived intra mode.

[0269] Embodiment 3: Determine whether the block applies multi - hypothesis prediction.

[0270] If multi - hypothesis prediction is applied to predict the block, ·Construct the first N entries of the first MPM list (in one example, the first MPM list is constructed according to the method disclosed in JVET - L1001). ·Predict a block based on one of the entries in the first MPM list.

[0271] When multi-hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, · Comprise all entries of the first MPM list (in one example, the first MPM list is constructed according to the method disclosed in JVET-L1001). · Predict the block based on one of the entries of the first MPM list.

[0272] In one implementation form, the first MPM list only includes a planar intra prediction mode, a DC intra prediction mode, a vertical intra prediction mode, and a horizontal intra prediction mode.

[0273] In one implementation form, the intra prediction based on one of the entries in the first MPM list is performed as follows. · Step 1: Determine whether the block applies multi-hypothesis prediction. · Step 2: · When multi-hypothesis prediction is applied to predict a coding block, 〇 Construct the first N entries of the first MPM list, that is, construct the first N entries of the first MPM list according to the construction rules of the first MPM list. Once the first N entries are determined, stop constructing the other entries of the first MPM list. 〇 Parse the index representation from the bitstream whose maximum value is known as (N - 1), and N is greater than or equal to 1. When N is 1, the index representation is inferred as 0 (but not parsed). 〇 Derive the intra prediction mode according to the first N entries of the first MPM list and the derived index representation. The derived intra prediction mode is the entry among the first N entries in the first MPM list indexed by the index representation. 〇If the derived intra prediction mode is an angular mode having a mode index (the corresponding value of the intra mode) between 2 and 33 including both end values, the derived intra prediction is changed to the horizontal mode (corresponding to the value 18). 〇Otherwise, if the derived intra prediction is an angular mode having a mode index between 34 and 66 including both end values, the derived intra prediction is changed to the vertical mode (corresponding to the value 50). ·When multiple hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, 〇All M entries of the first MPM list are configured. 〇Parse the index representation from the bitstream whose maximum value is known as (M - 1), where M is greater than or equal to 1. 〇Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. ·Step 3: Predict the block based on the derived intra mode.

[0274] In one implementation, the intra prediction based on one of the entries in the first MPM list is performed as follows. ·Step 1: Determine whether the block applies multiple hypothesis prediction. ·Step 2: ·When multiple hypothesis prediction is applied to predict a coding block, 〇Configure the first N entries of the first MPM list, that is, configure the first N entries of the first MPM list according to the configuration rule of the first MPM list. Once the first N entries are determined, stop configuring the other entries of the first MPM list. 〇Parse the index representation from the bitstream whose maximum value is known as (N - 1), where N is greater than or equal to 1. When N is 1, the index representation is assumed to be 0 (without being parsed). 〇Derive an intra prediction mode according to the first N entries of the first MPM list and the derived index representation. The derived intra prediction mode is an entry among the first N entries in the first MPM list indexed by the index representation. 〇If the derived intra prediction mode is an angular mode having a mode index (corresponding value of the intra mode) between 2 and 34 including both end values, the derived intra prediction is changed to a horizontal mode (corresponding to value 18). 〇Otherwise, if the derived intra prediction is an angular mode having a mode index between 35 and 66 including both end values, the derived intra prediction is changed to a vertical mode (corresponding to value 50). ·When multi-hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, 〇All M entries of the first MPM list are constituted. 〇Parse an index representation from a bit stream whose maximum value is known as (M - 1), where M is 1 or more. 〇Derive an intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is an entry in the first MPM list indexed by the index representation. ·Step 3: Predict the block based on the derived intra mode.

[0275] In one implementation, the intra prediction based on one of the entries in the first MPM list is performed as follows. ·Step 1: Determine whether the block applies multi-hypothesis prediction. ·Step 2: ·When multi-hypothesis prediction is applied to predict a coding block, 〇Construct the first N entries of the first MPM list, that is, construct the first N entries of the first MPM list according to the construction rules of the first MPM list. Once the first N entries are determined, stop constructing the other entries of the first MPM list. 〇Parse the index representation from the bitstream whose maximum value is known as (N - 1), where N is greater than or equal to 1. When N is 1, the index representation is assumed to be 0 (without being parsed). 〇Derive the intra prediction mode according to the first N entries of the first MPM list and the derived index representation. The derived intra prediction mode is the entry among the first N entries in the first MPM list indexed by the index representation. 〇If the derived intra prediction mode is an angular mode having a mode index (corresponding value of the intra mode) between 2 and 66 including both end values, the derived intra prediction is changed to the planar mode (corresponding to the value 0). ·When multi - hypothesis prediction is not applied to predict a block and intra prediction is applied to the block, 〇Construct all M entries of the first MPM list. 〇Parse the index representation from the bitstream whose maximum value is known as (M - 1), where M is greater than or equal to 1. 〇Derive the intra prediction mode according to the first MPM list and the derived index representation. The derived intra prediction mode is the entry in the first MPM list indexed by the index representation. ·Step 3: Predict the block based on the derived intra mode.

[0276] In one implementation, the first MPM list is constructed as follows based on the first N entries of the second MPM list. ·Step 1: Proceed to the first entry of the second MPM list. · Step 2.1: If the entry is in planar mode or DC mode, insert the entry into the first MPM list. · Step 2.2: Otherwise, if the entry is in angular mode with a mode index between 2 and 33, inclusive, insert the horizontal mode into the first MPM list. · Step 2.3: Otherwise, if the entry is in angular mode with a mode index between 34 and 66, inclusive, insert the vertical mode into the first MPM list. · Step 3: Advance to the next entry in the second MPM list and resume from Step 2.1 until the number of entries in the first MPM list equals the specified maximum value.

[0277] In one implementation, the first MPM list is configured as follows based on the first N entries of the second MPM list. · Step 1: Advance to the first entry of the second MPM list. · Step 2.1: If the entry is in planar mode or DC mode, insert the entry into the first MPM list. · Step 2.2: Otherwise, if the entry is in angular mode with a mode index between 2 and 34, inclusive, and the horizontal mode has not been inserted, insert the horizontal mode into the first MPM list. · Step 2.3: Otherwise, if the entry is in angular mode with a mode index between 35 and 66, inclusive, and the vertical mode has not been inserted, insert the vertical mode into the first MPM list. · Step 3: Advance to the next entry in the second MPM list and resume from Step 2.1 until the number of entries in the first MPM list equals the specified maximum value or until all of the first N entries of the second MPM list have been iterated. · Step 4: Insert one or more default modes that have not been inserted into the first MPM list.

[0278] In one implementation form, the first MPM list is configured as follows based on the first N entries of the second MPM list. · Step 1: Proceed to the first entry of the second MPM list. · Step 2.1: If the entry is in planar mode or DC mode, insert the entry into the first MPM list. · Step 2.2: Otherwise, if the entry is in angular mode with a mode index between 2 and 33 including both end values and the horizontal mode has not been inserted, insert the horizontal mode into the first MPM list. · Step 2.3: Otherwise, if the entry is in angular mode with a mode index between 34 and 66 including both end values and the vertical mode has not been inserted, insert the vertical mode into the first MPM list. · Step 3: Proceed to the next entry in the second MPM list and resume from Step 2.1 until the number of entries in the first MPM list equals the specified maximum value or all of the first N entries of the second MPM list have been iterated. · Step 4: Insert one or more default modes that have not been inserted into the first MPM list.

[0279] In one implementation form, the first MPM list is configured as follows based on the first N entries of the second MPM list. · Step 1: Proceed to the first entry of the second MPM list. · Step 2.1: If the entry is in planar mode or DC mode, insert the entry into the first MPM list. · Step 2.2: Otherwise, if the entry is in angular mode with a mode index between 2 and 66 including both end values and the default mode has not been inserted, insert the default mode into the first MPM list. · Step 3: Proceed to the next entry in the second MPM list, resume from Step 2.1, and fill in different default modes until the number of entries in the first MPM list equals the specified maximum value.

[0280] Embodiment 4: Determine whether multiple hypothesis prediction is applied to the coding block.

[0281] If multiple hypothesis prediction is applied to predict the coding block, · Use the first MPM list together with a pre - defined default list of modes for intra - prediction (e.g., default_list[N]), where the default list has a size of N (N > 0). · Set mpm_flag to true, i.e., mpm_flag is inferred as 1. mpm_flag indicates whether the intra - mode of the current block is in the MPM list. When mpm_flag equals 1, the intra - mode of the current block is in the MPM list; when mpm_flag equals 0, the intra - mode of the current block is not in the MPM list. · Parse mpm_idx having a value between 0 and N - 1 (including 0 and N - 1). If N is 1, mpm_idx is not parsed but inferred as 0. · Obtain the intra - mode of the current block having default_list[mpm_idx]. · Predict the block based on the obtained intra - mode.

[0282] In one example, in this embodiment, there is no block - based binarization and MPM list construction.

[0283] In one implementation, the default mode list has a length of 4, and the list consists of subsequent entries in the specified order, i.e., planar mode, DC mode, vertical mode, and horizontal mode.

[0284] In one implementation form, the default mode list has a length of 3, and the list consists of subsequent entries with a specified order, namely, the planar mode, the DC mode, and the vertical mode.

[0285] In one implementation form, the default mode list has a length of 3, and the list consists of subsequent entries with a specified order, namely, the planar mode, the horizontal mode (i.e., 18), and the vertical mode (i.e., 50).

[0286] In one implementation form, the default mode list has a length of 3, and the list consists of subsequent entries with a specified order, namely, the planar mode, the vertical mode, and the horizontal mode.

[0287] In one implementation form, the default mode list has a length of 2, and the list consists of subsequent entries with a specified order, namely, the planar mode and the DC mode.

[0288] In one implementation form, the default mode list has a length of 1, and the list consists of only the planar mode.

[0289] In one implementation form, the binarization of the mpm list index uses a shortened unary code. When the first MPM list has 4 intra modes, the maximum value of the shortened unary code is 3, and the mpm_flag is always set to true (the value of the mpm_flag is 1).

[0290] In one implementation form, the mpm_flag is always set to true (the value of the mpm_flag is 1). The binarization of the mpm list index uses a shortened unary code, and all bins are CABAC bypass coded. The default MPM list has a size of 3. When the first MPM list has 3 intra modes in the following order, namely, the planar mode, the horizontal (i.e., 18) mode, and the vertical (i.e., 50) mode, the maximum value of the shortened unary code is 2.

[0291] In one implementation form, mpm_flag is always set to true (the value of mpm_flag is 1). The binarization of the mpm list index uses a shortened unary code, and all bins are CABAC bypass coded. The default MPM list has a size of 3. When the first MPM list has three intra modes, namely, the planar mode, the vertical (i.e., 50) mode, and the horizontal (i.e., 18) mode, in the following order, the maximum value of the shortened unary code is 2.

[0292] The second MPM list can be configured according to the methods in ITU-T H.265 and VVC. Please refer to the above examples and the disclosure regarding the MPM list configuration process in ITU-T H.265 and VVC.

[0293] Embodiment 5: As shown in FIG. 8, a method for decoding a block of a picture comprises the following.

[0294] Step 801: Obtain display parameters for the current coding block, where the display parameters indicate whether multiple hypothesis prediction is applicable to the current coding block.

[0295] Step 802: When the display parameters indicate that multiple hypothesis prediction is applicable to the current coding block.

[0296] Step 803: Decode the current coding block according to the planar mode.

[0297] In one implementation form, the multiple hypothesis prediction is combined inter and intra prediction (CIIP).

[0298] In one implementation form, the display parameters are the CIIP flag.

[0299] In one implementation form, merge data is used to carry the display parameters. This means that the display parameters are derived from the merge data syntax.

[0300] In one implementation, after applying multiple hypothesis prediction to the current coding block based on the value of the display parameter, the method further comprises obtaining an intra prediction mode for the current coding block according to the most probable mode (MPM) list and the MPM list index. Optionally, through the following steps, namely, indexing each of the intra prediction modes in the MPM list with the corresponding value of the MPM list index, parsing the MPM list index from the bitstream, where the MPM list index has a value between 0 and N - 1, and obtaining the intra prediction mode of the current block from the MPM list according to the value of the MPM list index, the intra prediction mode for the current coding block is obtained according to the MPM list and the MPM list index.

[0301] In one implementation, the MPM list comprises at least the planar mode.

[0302] In another implementation, the MPM list comprises the planar mode and at least one of the DC mode, the vertical mode, and the horizontal mode.

[0303] In another implementation, the MPM list consists of the planar mode.

[0304] In one implementation, the method further comprises selecting a planar mode for the current coding block from the MPM list according to the value of the MPM list index.

[0305] In one implementation, the MPM list is composed of a predefined default list of modes for intra prediction (e.g., a default mode list), and the default list has a size larger than N.

[0306] In one implementation, the MPM list index is coded in decimal or binary representation.

[0307] In one implementation, the binarization of the MPM list index uses a shortened unary code.

[0308] In one implementation, to construct an MPM list with four intra modes, the first four candidates in the default mode list are used. The order of the four candidates in the default mode list is the same as the order of the candidates in the MPM list. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode then the MPM list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode in that order.

[0309] In one implementation, to construct an MPM list with three intra modes, the first three candidates in the default mode list are used.

[0310] In one implementation, the binarization of the mpm list index uses a shortened unary code. When the MPM list has three intra modes, the maximum value of the shortened unary code is 2, and mpm_flag is always set to true (the value of mpm_flag is 1).

[0311] In another implementation, to construct an MPM list with three intra modes, the first three candidates in the default mode list are used. The order of the three candidates in the default mode list is the same as the order of the candidates in the MPM list. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode If it has, the MPM list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode in this order.

[0312] In one implementation form, in order to configure an MPM list having two intra modes, the first two candidates in the default mode list are used.

[0313] In one implementation form, when the MPM list has two intra modes, the binarization of the mpm list index uses a shortened unary code whose maximum value is 1, and the mpm_flag is always set to true (the value of the mpm_flag is 1).

[0314] In another implementation form, in order to configure an MPM list having two intra modes, the first two candidates in the default mode list are used. The order of the two candidates in the default mode list is the same as the order of the candidates in the MPM list. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode If it has, the MPM list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode in this order.

[0315] In one implementation form, in order to construct an MPM list having one intra mode, the first candidate in the default mode list is used. In one example, the mode inserted into the MPM list is the planar mode.

[0316] In another implementation form, in order to construct an MPM list having one intra mode, the first candidate in the default mode list is used. As an example, if the default mode list has the following intra prediction modes, namely, 1. Planar mode, 2. DC mode, 3. Vertical mode, 4. Horizontal mode, 5. V-4 mode, 6. V+4 mode then the MPM list has the following intra prediction modes, namely, 1. Planar mode and is provided with.

[0317] The above embodiments are also applicable to a method for encoding a block of a picture.

[0318] In one implementation form, the binarization of the mpm list index uses a shortened binary code. When the first MPM list has N intra modes, the maximum value of the shortened binary code is N-1, and the mpm_flag is always set to true. When N is equal to 1, the mpm_idx is not signaled.

[0319] Although embodiments of the present invention have been mainly described based on video coding, embodiments of the coding system 10, the encoder 20, and the decoder 30 (and correspondingly, the system 10), as well as other embodiments described herein, may also be configured for still image processing or still image coding, i.e., the processing or coding of individual pictures independent of any preceding or successive pictures as in video coding. Note that generally, if picture processing coding is limited to a single picture 17, only the inter prediction units 244 (encoder) and 344 (decoder) may not be available. All other functionality (also referred to as tools or techniques) of the video encoder 20 and the video decoder 30 may be equally used for still image processing, e.g., residual calculation 204 / 304, transformation 206, quantization 208, inverse quantization 210 / 310, (inverse) transformation 212 / 312, segmentation 262 / 362, intra prediction 254 / 354 and / or loop filter processing 220, 320, as well as entropy coding 270 and entropy decoding 304.

[0320] For example, in embodiments of the encoder 20 and decoder 30, and, for example, the functions described herein with reference to the encoder 20 and decoder 30 may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on a computer-readable medium as one or more instructions or code, or may be transmitted via a communication medium and executed by a hardware-based processing unit. The computer-readable medium may include a tangible medium such as a data storage medium, or a computer-readable storage medium corresponding to a communication medium that facilitates transfer of a computer program from one place to another, for example, in accordance with a communication protocol. In this way, the computer-readable medium may generally correspond to (1) a tangible non-transitory computer-readable storage medium, or (2) a communication medium such as a signal or carrier wave. The data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0321] By way of example, and not limitation, such a computer-readable storage medium can comprise RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store the desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. For example, if the instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. However, it should be understood that the computer-readable storage medium and data storage medium do not include connections, carrier waves, signals, or other transient media, but instead are directed to non-transient, tangible storage media. As used herein, disk and disc include compact disc (CD), laser disc (registered trademark), optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray (registered trademark) disc, where disk typically magnetically reproduces data and disc optically reproduces data using a laser. Combinations of the above should also be included within the scope of computer-readable media.

[0322] The commands may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated logic circuit configurations or discrete logic circuit configurations. Thus, the term "processor" as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within and / or by dedicated hardware and / or software modules configured to encode and decode, or may be incorporated within a combined codec. Also, the techniques may be implemented entirely within one or more circuits or logic elements.

[0323] The techniques of the present disclosure may be implemented in a variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chipset). Various components, modules, or units are described in the present disclosure to emphasize functional aspects of a device configured to execute the disclosed techniques, but do not necessarily require implementation by various hardware units. Rather, as described above, the various units may be combined within codec hardware units, or provided by a set of interoperable hardware units including one or more processors as described above, along with suitable software and / or firmware.

[0324] The following is an explanation of application examples of a coding method, a decoding method as shown in the above-described embodiments, and a system using them.

[0325] FIG. 9 is a block diagram showing a content supply system 3100 for realizing a content distribution service. This content supply system 3100 includes a capture device 3102 and a terminal device 3106, and optionally includes a display 3126. The capture device 3102 communicates with the terminal device 3106 via a communication link 3104. The communication link may include the communication channel 13 described above. The communication link 3104 includes, but is not limited to, WIFI, Ethernet, cable, wireless (3G / 4G / 5G), USB, or any combination of these types.

[0326] The capture device 3102 generates data and may code the data by a coding method as shown in the above embodiments. Alternatively, the capture device 3102 may deliver the data to a streaming server (not shown in the figure), and the server codes the data and transmits the coded data to the terminal device 3106. The capture device 3102 includes, but is not limited to, a camera, a smartphone or a tablet, a computer or a laptop, a video conferencing system, a PDA, an in-vehicle device, or any combination of these. For example, the capture device 3102 may include the source device 12 as described above. When the data includes video, a video encoder 20 included in the capture device 3102 may actually perform video coding processing. When the data includes audio (i.e., voice), an audio encoder included in the capture device 3102 may actually perform audio coding processing. In some practical scenarios, the capture device 3102 distributes the coded video and audio data by multiplexing them together. In other practical scenarios, for example, in a video conferencing system, the encoded audio data and the encoded video data are not multiplexed. The capture device 3102 distributes the encoded audio data and the encoded video data to the terminal device 3106 separately.

[0327] In the content supply system 3100, the terminal device 310 receives and plays back the coded data. The terminal device 3106 can be a device having data reception and restoration capabilities, such as a smartphone or a tablet 3108, a computer or a laptop 3110, a network video recorder (NVR) / digital video recorder (DVR) 3112, a TV 3114, a set-top box (STB) 3116, a video conferencing system 3118, a video surveillance system 3120, a personal digital assistant (PDA) 3122, an in-vehicle device 3124, or any combination thereof. For example, the terminal device 3106 may include the destination device 14 as described above. When the coded data includes video, the video decoder 30 included in the terminal device is prioritized to perform video decoding. When the coded data includes audio, the audio decoder included in the terminal device is prioritized to perform audio decoding processing.

[0328] In the case of a terminal device having the display, such as a smartphone or a tablet 3108, a computer or a laptop 3110, a network video recorder (NVR) / digital video recorder (DVR) 3112, a TV 3114, a personal digital assistant (PDA) 3122, or an in-vehicle device 3124, the terminal device can supply the decoded data to the display. In the case of a terminal device not equipped with a display, such as an STB 3116, a video conferencing system 3118, or a video surveillance system 3120, an external display 3126 is contacted to them to receive and display the decoded data.

[0329] When each device in this system performs coding or decoding, a picture coding device or a picture decoding device as shown in the above-described embodiment can be used.

[0330] FIG. 10 is a diagram showing the structure of an example of the terminal device 3106. After the terminal device 3106 receives a stream from the capture device 3102, the protocol progress unit 3202 analyzes the transmission protocol of the stream. The protocol includes, but is not limited to, Real-Time Streaming Protocol (RTSP), Hypertext Transfer Protocol (HTTP), HTTP Live Streaming Protocol (HLS), MPEG-DASH, Real-Time Transport Protocol (RTP), Real-Time Messaging Protocol (RTMP), or any combination of these types.

[0331] After the protocol progress unit 3202 processes the stream, a stream file is generated. The file is output to the demultiplexing unit 3204. The demultiplexing unit 3204 can separate the multiplexed data into coded audio data and coded video data. As described above, in some practical scenarios, for example, in a video conferencing system, the encoded audio data and the encoded video data are not multiplexed. In this situation, the encoded data is sent to the video decoder 3206 and the audio decoder 3208 without passing through the demultiplexing unit 3204.

[0332] Through the demultiplexing process, a video elementary stream (ES), an audio ES, and optionally subtitles are generated. The video decoder 3206 including the video decoder 30 as described in the above embodiment decodes the video ES by the decoding method shown in the above embodiment to generate a video frame, and supplies this data to the synchronization unit 3212. The audio decoder 3208 decodes the audio ES to generate an audio frame, and supplies this data to the synchronization unit 3212. Alternatively, the video frame can be stored in a buffer (not shown in FIG. 10) before supplying it to the synchronization unit 3212. Similarly, the audio frame can be stored in a buffer (not shown in FIG. 10) before supplying it to the synchronization unit 3212.

[0333] The synchronization unit 3212 synchronizes video frames and audio frames and optionally supplies video / audio to the video / audio display 3214 via a graphics processing unit (GPU). For example, the synchronization unit 3212 synchronizes video presentation with audio information while ensuring that the data buffer in the decoder does not overflow or underflow. The information can be coded in the syntax using timestamps related to the presentation of the coded audio data and visual data, as well as timestamps related to the delivery of the data stream itself. The timestamps are generally in units of 90 kHz, but the system clock reference (SCR), program clock reference (PCR), and optionally elementary stream clock reference (ESCR) have an extension with a resolution of 27 MHz.

[0334] If subtitles are included in the stream, the subtitle decoder 3210 decodes the subtitles, synchronizes them with the video frames and audio frames, and optionally supplies video / audio / subtitles to the video / audio / subtitle display 3216 via the GPU.

[0335] The present invention is not limited to the above-described system, and any of the picture coding devices or picture decoding devices in the above-described embodiments can be incorporated into other systems, for example, an automotive system.

Explanation of Reference Numerals

[0336] 10 Coding system, video coding system 12 Source device 13 Communication channel 14 Destination device 16 Picture source 17 Picture, picture data, raw picture, raw picture data 18 Preprocessor, picture preprocessor, preprocessing unit 19 Preprocessed picture, preprocessed picture data 20 Encoder, video encoder 21 Encoded picture data, bitstream 22 Communication interface, communication unit 28 Communication interface, communication unit 30 Decoder, video decoder 31 Decoded picture, decoded picture data 32 Postprocessor, postprocessing unit 33 Postprocessed picture, postprocessed picture data 34 Display device 46 Processing circuit configuration 201 Input section, input interface 203 Block, picture block 204 Residual calculation unit 205 Residual, residual block 206 Transformation processing unit 207 Transformation coefficient 208 Quantization unit 209 Quantization coefficient, quantized transformation coefficient, quantized residual coefficient 210 Inverse quantization unit 211 Inverse quantization coefficient, inverse quantization residual coefficient 212 Inverse transformation processing unit 213 Transformation block, reconstructed residual block 214 Reconstruction unit, adder 215 Reconstruction block 220 Loop filter unit 221 Filter-processed block, filter-processed reconstruction block 230 Decoded picture buffer (DPB) 231 Decoded picture 244 Inter-prediction unit 254 Intra-prediction unit 260 Mode selection unit 262 Partitioning unit 265 Prediction block, predictor, intra-prediction block, inter-prediction block 266 Syntax element 270 Entropy encoding unit 272 Output unit, output interface 304 Entropy decoding unit 309 Quantization coefficient 310 Inverse quantization unit 311 Transform coefficient, inverse quantization coefficient 312 Inverse transform processing unit 313 Transform block, reconstructed residual block 314 Reconstruction unit, adder 315 Reconstruction block 320 Loop filter, loop filter processing unit 321 Filtered block 330 Decoded picture buffer (DBP) 331 Decoded picture 344 Inter-prediction unit 354 Intra-prediction unit 365 Prediction block 400 Video coding device 410 Inlet port, input port 420 Receiver unit (Rx) 430 Processor, logic unit, central processing unit (CPU) 440 Transmitter unit (Tx) 450 Outlet port, output port 460 Memory 470 Coding module 500 Device 502 Processor 504 Memory 506 Data 508 Operating system 510 Application Program 512 Bus 518 Display 3100 Content Supply System 3102 Capture Device 3104 Communication Link 3106 Terminal Device 3108 Smart Phone, Tablet 3110 Computer, Laptop 3112 Network Video Recorder (NVR) / Digital Video Recorder (DVR) 3114 TV 3116 Set - Top Box (STB) 3118 Video Conference System 3120 Video Surveillance System 3122 Personal Digital Assistant (PDA) 3124 In - Vehicle Device 3126 Display 3202 Protocol Progress Unit 3204 Demultiplexing Unit 3206 Video Decoder 3208 Audio Decoder 3210 Subtitle Decoder 3212 Synchronization Unit 3214 Video / Audio Display 3216 Video / Audio / Subtitle Display

Claims

1. 1. A method for decoding a block of a picture, comprising the steps of: obtaining an indication parameter for a current coding block, the indication parameter indicating whether multi-hypothesis prediction is applied to the current coding block; decoding the current coding block according to a planar mode when the display parameter indicates that the multi-hypothesis prediction is applied to the current coding block; A method for providing the above.

2. The method of claim 1 , wherein the multi-hypothesis prediction is combined inter- and intra-prediction (CIIP).

3. The method of claim 2 , wherein the indication parameter is a CIIP flag.

4. The method of claim 1 , wherein the display parameters are conveyed by a merge data syntax.

5. and obtaining the planar mode for the current coding block according to a Most Probable Mode (MPM) list, each intra-prediction mode in the MPM list being indexed with a corresponding value of an MPM list index.

5. The method according to any one of claims 1 to 4.

6. parsing the bitstream to obtain an MPM list index, the MPM list index having a value between 0 and N-1, where N is an entry for the intra-prediction mode in the MPM list; obtaining the intra-prediction mode for the current coding block from the MPM list according to the value of the MPM list index; The method of claim 5 , further comprising:

7. The method of claim 5 or 6, wherein the MPM list comprises at least a planar mode.

8. The method of claim 5 or 6, wherein the MPM list comprises a planar mode and at least one of a DC mode, a vertical mode, and a horizontal mode.

9. The method of claim 5 or 6, wherein the MPM list is in planar mode.

10. 10. The method of claim 5, wherein the MPM list is comprised of a predefined default list.

11. The method of claim 6 , wherein the MPM list index is coded in a decimal or binary representation.

12. A decoder comprising processing circuitry for carrying out the method of any one of claims 1 to 11.

13. A decoder comprising: a memory storage having instructions; and one or more processors in communication with the memory, the one or more processors executing the instructions to perform the method of any one of claims 1 to 11. decoder.

14. 1. An apparatus for decoding a block of a picture, comprising: a determining unit configured to obtain an indication parameter for a current coding block, the indication parameter indicating whether multi-hypothesis prediction is applied to the current coding block; an intra-prediction processing unit configured to perform intra-prediction on the current coding block based on a planar mode when the display parameters indicate that the multi-hypothesis prediction is applied to the current coding block; An apparatus comprising:

15. a parsing unit configured to parse a plurality of syntax elements from a bitstream of the video signal; The determining unit is further configured to determine the planar mode based on a syntax element from the plurality of syntax elements.

15. The apparatus of claim 14.

16. 1. A method for encoding a block of a picture, comprising the steps of: obtaining a view parameter for a current block, the view parameter indicating whether multi-hypothesis prediction is applied to the current block; encoding the current block according to a planar mode when the display parameters indicate that the multi-hypothesis prediction is applied to the current block; A method for providing the above.

17. The method of claim 16 , wherein the multi-hypothesis prediction is combined inter- and intra-prediction (CIIP).

18. The method of claim 17 , wherein the indication parameter is a CIIP flag.

19. 19. The method of claim 16, wherein the display parameters are conveyed by a merge data syntax.

20. and obtaining the planar mode for the current coding block according to a Most Probable Mode (MPM) list, each intra-prediction mode in the MPM list being indexed with a corresponding value of an MPM list index.

20. The method according to any one of claims 16 to 19.

21. The method of claim 20 , wherein the MPM list comprises at least a planar mode.

22. The method of claim 20 , wherein the MPM list comprises a planar mode and at least one of a DC mode, a vertical mode, and a horizontal mode.

23. The method of claim 20 , wherein the MPM list is in planar mode.

24. The method of claim 20 to 23, wherein the MPM list is comprised of a predefined default list.

25. 25. The method of claim 20, wherein the MPM list index is coded in a decimal or binary representation.

26. An encoder comprising processing circuitry for carrying out a method according to any one of claims 16 to 25.

27. 1. An encoder comprising: a memory storage having instructions; and one or more processors in communication with the memory, the one or more processors executing the instructions to perform the method of any one of claims 16 to 25. Encoder.

28. A computer program product comprising a program code for performing the method according to claims 16 to 25, when the computer program product is executed on a computer or processor.

29. 1. An apparatus for encoding blocks of a picture, comprising: a determining unit configured to obtain a display parameter for a current block, the display parameter indicating whether multi-hypothesis prediction is applied to the current block; an intra-prediction processing unit configured to encode the current block according to a planar mode when the display parameters indicate that the multi-hypothesis prediction is applied to the current block; An apparatus comprising: