Image prediction method, encoder, decoder, and storage medium

By using syntax units to indicate MIP modes in the encoder and decoder, the problem of high complexity of MIP technology is solved, and simplified image prediction is achieved in video encoding, reducing storage space and time, and improving encoding and decoding efficiency.

CN119629366BActive Publication Date: 2026-06-09GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
Filing Date
2020-05-15
Publication Date
2026-06-09

Smart Images

  • Figure CN119629366B_ABST
    Figure CN119629366B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a kind of image prediction method, encoder, decoder and storage medium, if current block uses MIP mode to determine the intra prediction value of current block, then the value of MIP mode parameter is set to indicate using MIP mode and write in code stream by encoder;Determine the MIP mode of current block, and determine the prediction value of the luminance component and chrominance component corresponding to current block according to MIP mode;The MIP mode of current block is written in code stream.The MIP mode parameter of decoder is parsed from code stream;If the value of MIP mode parameter indicates that current block uses MIP mode to determine the intra prediction value of current block, parse code stream, determine the MIP mode of current block, and determine the prediction value of the luminance component and chrominance component corresponding to current block according to MIP mode;According to prediction value, current block is decoded.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This divisional application is a divisional application of the invention patent application filed on May 15, 2020, with application number 202080044380.2 and invention title "Image Prediction Method, Encoder, Decoder and Storage Medium".

[0002] This patent application is based on and claims priority to an earlier U.S. provisional patent application, application number 62 / 871,177, filed on July 7, 2019, entitled "Method, Apparatus, and System for Encoding and Decoding Video Data," the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of video encoding and decoding technology, and in particular to an image prediction method, encoder, decoder, and storage medium. Background Technology

[0004] In the reference software testbed for Versatile Video Coding (VVC), a novel intra-frame coding technique, Matrix-based Intra Prediction (MIP), was proposed. MIP is a neural network-based intra-frame prediction technique that uses a multi-layer neural network to predict the luminance value of the current block based on adjacent reconstructed luminance blocks. Specifically, similar to traditional intra-frame modes, when using MIP for intra-frame prediction, the input is the data from the previous row and left column of the adjacent luminance blocks, and the output is the predicted value of the luminance component of the current block. The prediction process consists of three steps: downsampling, matrix-vector multiplication, and interpolation.

[0005] However, due to the high complexity of the MIP mode, while improving encoding and decoding performance, the MIP technology also significantly increases the storage space and overall time required during the encoding and decoding process, thereby reducing encoding and decoding efficiency. Summary of the Invention

[0006] This application provides an image prediction method, encoder, decoder, and storage medium, which can reduce complexity, reduce storage space and overall time required in the decoding process, and effectively improve encoding and decoding efficiency while ensuring encoding and decoding performance.

[0007] The technical solution of this application embodiment is implemented as follows:

[0008] In a first aspect, embodiments of this application provide an image prediction method applied to an encoder, the method comprising:

[0009] If the intra-prediction value of the current block is determined using MIP mode, then the value of the MIP mode parameter is set to indicate the use of MIP mode and written to the bitstream;

[0010] Determine the MIP mode of the current block, and determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block based on the MIP mode;

[0011] Write the MIP mode of the current block into the bitstream.

[0012] Secondly, embodiments of this application provide an image prediction method applied to a decoder, the method comprising:

[0013] Parse the bitstream to determine the MIP mode parameters of the current block;

[0014] If the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, the bitstream is parsed, the MIP mode of the current block is determined, and the prediction values ​​of the luma component and chroma component corresponding to the current block are determined according to the MIP mode.

[0015] The current block is decoded based on the predicted value.

[0016] Thirdly, embodiments of this application provide an encoder, the encoder comprising: a setting part, a first determining part, and an encoding part.

[0017] The setting section is configured such that if the intra-prediction value of the current block is determined using MIP mode, the value of the MIP mode parameter is set to indicate the use of MIP mode and written to the bitstream.

[0018] The first determining part is configured to determine the MIP mode of the current block, and determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode;

[0019] The encoding portion is configured to write the current block in MIP mode into the bitstream.

[0020] Fourthly, embodiments of this application provide an encoder, which includes a first processor and a first memory storing instructions executable by the first processor. When the instructions are executed by the first processor, the image prediction method described above is implemented.

[0021] Fifthly, embodiments of this application provide a decoder, the decoder comprising: a decoding part, a second determining part,

[0022] The decoding section is configured to parse the bitstream, determine the MIP mode parameters of the current block; and if the value of the MIP mode parameters indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, parse the bitstream and determine the MIP mode of the current block.

[0023] The second determining part is configured to determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode;

[0024] The decoding section is further configured to decode the current block based on the predicted value.

[0025] In a sixth aspect, embodiments of this application provide a decoder, the decoder including a second processor and a second memory storing instructions executable by the second processor, wherein when the instructions are executed by the second processor, the image prediction method described above is implemented.

[0026] In a seventh aspect, embodiments of this application provide a computer-readable storage medium having a program stored thereon, which is applied in an encoder and a decoder. When the computer program is executed by a first processor, it implements the image prediction method as described above; or, when it is executed by a second processor, it implements the image prediction method as described above.

[0027] This application provides an image prediction method, an encoder, a decoder, and a storage medium. If the intra-frame prediction value of the current block is determined using MIP mode, the encoder sets the value of the MIP mode parameter to indicate the use of MIP mode and writes it into the bitstream; determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and writes the MIP mode of the current block into the bitstream. The decoder parses the bitstream and determines the MIP mode parameter of the current block; if the value of the MIP mode parameter indicates that the current block uses MIP mode to determine the intra-frame prediction value of the current block, it parses the bitstream, determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and decodes the current block according to the predicted values. In other words, in the embodiments of this application, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set the MIP mode parameters, and write them into the bitstream for transmission to the decoder. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity while ensuring encoding and decoding performance, reduce the storage space and overall time required during the decoding process, and effectively improve encoding and decoding efficiency. Attached Figure Description

[0028] Figure 1 This is a schematic diagram showing the arrangement of the 67 prediction modes in intra-frame prediction.

[0029] Figure 2 A flowchart illustrating the encoding process for MIP mode;

[0030] Figure 3 This is a schematic diagram showing the arrangement of the upper and left adjacent brightness blocks of the current block;

[0031] Figure 4 To determine the layout diagram of the DM pattern;

[0032] Figure 5 This is a schematic diagram of the structure of a video encoding system;

[0033] Figure 6 This is a schematic diagram of the structure of a video decoding system;

[0034] Figure 7 A schematic diagram of the implementation process of the image prediction method. Figure 1 ;

[0035] Figure 8 A schematic diagram of the implementation process of the image prediction method. Figure 2 ;

[0036] Figure 9 This is a schematic diagram of the encoder structure proposed in the embodiments of this application. Figure 1 ;

[0037] Figure 10 This is a schematic diagram of the encoder structure proposed in the embodiments of this application. Figure 2 ;

[0038] Figure 11 A schematic diagram of the decoder structure proposed in the embodiments of this application. Figure 1 ;

[0039] Figure 12 A schematic diagram of the decoder structure proposed in the embodiments of this application. Figure 2 . Detailed Implementation

[0040] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It is understood that the specific embodiments described herein are merely for explaining the relevant application and not for limiting the application. Furthermore, it should be noted that, for ease of description, only the parts relevant to the application are shown in the accompanying drawings.

[0041] Currently, the ITU-T recommendations and the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) have launched a standardization project called Universal Video Coding (VVC) to develop a new generation of video coding standards. The goal of VVC is to improve performance by approximately 50% compared to the latest H.265 / HEVC standard when encoding high-quality video with one or more of the following characteristics: high resolution, high frame rate, high bit depth, high dynamic range, wide color gamut, and omnidirectional viewpoint. JVET is responsible for this standardization project, and various intra-frame prediction modes and inter-frame prediction modes have been verified to achieve high compression efficiency when encoding high-quality video, and therefore have been adopted in the VVC working draft.

[0042] In video images, VVC adopted the Affine Linear Weighted IntraPrediction technique proposed by the Joint Video Experts Team (JVET)-N0217 and renamed it Matrix-based IntraPrediction, or MIP. This technique adds different numbers of matrix-based intraprediction modes to the intraluminance prediction process depending on the size of the intraluminance coding block.

[0043] To capture finer edge directions in natural video, VVC expands the 33 intra-frame luminance prediction angle modes defined in the High Efficiency Video Coding (HEVC) standard to 65. Figure 1 This is a schematic diagram showing the arrangement of the 67 prediction modes in intra-frame prediction, as follows: Figure 1 As shown, arrows numbered 2-66 represent 65 intra-frame angular prediction modes. There are also two non-angular modes: the Planar mode (numbered 0) and the DC mode (numbered 1). Therefore, the intra-frame prediction process in VVC includes two non-angular modes and 65 angular modes. Here, these 67 prediction modes are referred to as the traditional intra-frame prediction modes.

[0044] MIP (Monthly In-Frame Prediction) is a neural network-based intra-frame prediction technique that uses a multi-layer neural network to predict the luminance value of the current block based on neighboring reconstructed pixels. Specifically, MIP categorizes luminance coding blocks into three types based on their size. Let the size of the luminance coding block be W×H, where W is the width parameter and H is the height parameter. According to the size of the luminance coding block, it can be divided into three categories:

[0045] A luminance coding block of size 4×4 is classified as a first-class luminance block, luminance coding blocks of sizes 8×4, 4×8 and 8×8 are classified as second-class luminance blocks, and luminance coding blocks of other sizes are classified as third-class luminance blocks.

[0046] For these three types of intra-luminance coded blocks, the MIP technology adds M MIP modes to the 67 traditional intra-prediction modes. Specifically, for the first type of luminance block, M=16; for the second type of luminance block, M=8; and for the third type of luminance block, M=6.

[0047] Specifically, MIP technology is only applied to intra-frame luminance prediction. Similar to traditional modes, the input to MIP prediction is the data from the row above and column to the left of the current block, and the output is the predicted value of the current block. The prediction process consists of three steps: averaging, matrix-vector multiplication, and interpolation. In other words, by performing these three operations on the reconstructed luminance values ​​of the adjacent pixels in the row above and column to the left of the input, the predicted value of the luminance component of the current block can be obtained.

[0048] Figure 2 A flowchart illustrating the encoding process for MIP mode, as shown below. Figure 2 As shown, the specific implementation of brightness prediction in MIP mode is as follows:

[0049] Step 1: Perform an averaging operation on the upper adjacent reference points of the current block to obtain the vector bdry. top There are N values ​​in total; the vector bdry is obtained by averaging the left-side adjacent reference points of the current block.left There are N values ​​in total. When the current luminance code is of type 1, N = 2; when the current luminance code is of type 2 or 3, N = 4. Vector bdry top and vector bdry left Form a new vector bdry red And proceed with subsequent operations;

[0050] Step 2: Obtain the corresponding matrix A using the mode number k of the MIP mode. k and offset b k The following formula (1) is used to calculate the result as follows: Figure 2 The partial predicted values ​​of the current block, indicated by cross lines:

[0051] Pred red =A k ·bdry red +b k (1)

[0052] Step 3: Obtain the remaining predicted values ​​Pred in the current block through linear interpolation. red .

[0053] It should be noted that the encoding process for the current block requires writing the specific encoding mode used for intra-frame prediction into the compressed bitstream. This allows the decoder to determine which mode is being used—whether it's a traditional mode or a MIP mode—by parsing the mode information. If it's a traditional mode, the specific traditional mode is specified; if it's a MIP mode, the specific MIP mode is specified.

[0054] In VVC's intra-frame prediction, the rate-distortion cost (RDcost) of 67 conventional modes and M MIP modes is compared for each luma coding block. The optimal mode is selected from the 67 conventional modes and M MIP modes and encoded. To save bit overhead, VVC uses intra-frame mode coding based on the Most Probable Modes List (MPM).

[0055] It is important to note that since the multiple reference line technique and the intra sub-patterning technique (ISP) are only used for modes in the MPM list, when both extendrefflag and ispflag are 0, that is, when 0 reference lines are used and no sub-patterning is performed, there is no need to encode mpmflag; instead, the position of the optimal mode in the MPM list is directly encoded.

[0056] Furthermore, regarding the construction of the MPM list and MIPMPM list, in VVC luminance intra-frame prediction, if the optimal mode selected for the current block is the traditional mode, then an MPM list containing 6 most likely traditional modes needs to be constructed; if the optimal mode selected for the current block is the MIP mode, then an MIPMPM list containing 3 most likely MIP modes needs to be constructed.

[0057] Figure 3 This is a schematic diagram showing the arrangement of the upper and left adjacent brightness blocks of the current block, as shown below. Figure 3 As shown, both lists above are based on... Figure 3 The optimal mode is derived from the upper adjacent luminance block (A) and the left adjacent luminance block (L) of the current block shown.

[0058] Specifically, regarding the construction of the MPM list, in VVC intra-frame prediction, if the optimal mode for the current block is the traditional mode, then an MPM list needs to be constructed. During the construction of the MPM list, it is first necessary to obtain the traditional mode ABOVE corresponding to the optimal mode of the upper adjacent luma block and the traditional mode LEFT corresponding to the optimal mode of the left adjacent luma block.

[0059] Furthermore, regarding the construction of the MIPMPM list, in VVC intra-frame prediction, if the optimal mode of the current block is MIP mode, then the MIPMPM list needs to be constructed. During the construction of the MIPMPM list, it is first necessary to obtain the MIP mode ABOVE_MIP corresponding to the optimal mode of the upper adjacent luma block and the MIP mode LEFT_MIP corresponding to the optimal mode of the left adjacent luma block.

[0060] Furthermore, after obtaining LEFT_MIP and ABOVE_MIP, a MIPMPM list containing the three most likely MIPMPM modes is constructed as follows: The numbers in the MIPMPM list are the numbers of the MIP modes, ranging from 0 to (M-1). For the first type of luma block, the numbers are 0-15; for the second type of luma block, the numbers are 0-7; and for the third type of luma block, the numbers are 0-5.

[0061] If LEFT_MIP is available (not -1), add LEFT_MIP to MIPMPMlist;

[0062] If ABOVE_MIP is available (not -1), add ABOVE_MIP to MIPMPMlist after passing the redundancy check;

[0063] If LEFT_MIP is unavailable (-1) and ABOVE_MIP is unavailable (-1), the default list is added to the list after redundancy checks based on the type of the current block until MIPMPMlist is full.

[0064] Furthermore, it should be added that in the intra-chroma prediction process of VVC, there is a Direct Mode (DM) that utilizes inter-component correlation. This mode uses the intra-prediction mode based on the center position of the corresponding luma coding block to perform intra-prediction of the current chroma block. Figure 4 To determine the layout diagram of the DM pattern, as follows: Figure 4 As shown, since MIP technology is only applied to luma-coded blocks, when Figure 4 When the intra-prediction mode at the CR position is MIP mode, the MIP mode needs to be mapped to traditional mode through the "MIP-Traditional Mapping Table" to perform intra-prediction of the current chroma block.

[0065] Due to the computational and storage costs required by MIP technology, it is difficult to implement MIP mode on devices with relatively low computing or storage capabilities. Therefore, the latest VVC working draft design cannot effectively transfer and control MIP mode, making it difficult to implement in flexible encoding / decoding and dynamic video streaming.

[0066] To overcome the aforementioned shortcomings, in the embodiments of this application, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously set the MIP mode parameters and write them into the bitstream for transmission to the decoder while obtaining the intra-frame prediction value of the current block using MIP mode. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. That is, in this application, the VVC bitstream transmits one or more syntax elements to enable or disable MIP mode. The syntax elements can be located in data units in the video sequence layer, picture layer and / or sub-picture layer, slice / tile / brick layer, where a sub-picture refers to a region covering a portion of the picture. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process in MIP mode. It can reduce complexity, decrease storage space and overall time required during decoding, and effectively improve encoding and decoding efficiency while ensuring encoding and decoding performance.

[0067] Figure 5 This is a schematic diagram of the structure of a video encoding system, such as... Figure 5As shown, the video coding system 100 includes components such as a transform and quantization module 101, an intra-frame estimation module 102, an intra-frame prediction module 103, a motion compensation module 104, a motion estimation module 105, an inverse transform and inverse quantization module 106, a filter control and analysis module 107, a deblocking filtering and sample adaptive offset (SAO) filtering module 108, a header information encoding and context-based adaptive binary arithmetic coding (CABAC) encoding module 109, and a decoding image buffer module 110. Figure 6 This is a schematic diagram of the structure of a video decoding system, such as... Figure 6 As shown, the video decoding system 200 includes components such as a header information decoding and CABAC decoding module 201, an inverse transform and inverse quantization module 202, an intra-frame prediction module 203, a motion compensation module 204, a deblocking and SAO filtering module 205, and a decoded image buffer module 206. After the video image is processed by the transform and quantization module 101, the intra-frame estimation module 102, the intra-frame prediction module 103, the motion compensation module 104, the motion estimation module 105, the deblocking and SAO filtering module 108, and the header information encoding and CABAC module 109 in the video encoding system 100, the bitstream of the video image is output. This bitstream is input into the video decoding system 200, and after being processed by the header information decoding and CABAC decoding module 201, the inverse transform and inverse quantization module 202, the intra-frame prediction module 203, and the motion compensation module 204 in the video decoding system 200, the original video image is finally recovered.

[0068] The image prediction method proposed in this application can influence the entropy encoding and entropy decoding processes during encoding and decoding. For example, the image prediction method proposed in this application can... Figure 5 The 109-position application in the structure of the video coding system shown can also be used in... Figure 6 The application of position 201 in the structure of the video decoding system shown.

[0069] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0070] One embodiment of this application proposes an image prediction method applied in an encoder. Figure 7 A schematic diagram of the implementation process of the image prediction method. Figure 1 ,like Figure 7 As shown, in this application, the method for image prediction by the encoder may include the following steps:

[0071] Step 101: If the intra-prediction value of the current block is determined using MIP mode, then set the value of the MIP mode parameter to indicate the use of MIP mode and write it into the bitstream.

[0072] In the embodiments of this application, if the intra-frame prediction value of the current block is determined using the MIP mode, then the encoder can set the value of the MIP mode parameter to indicate the use of the MIP mode and write it into the bitstream. Here, the current block can represent the current block to be encoded or the current block to be decoded. Specifically, in this application, the current block is the block to be encoded when the encoder performs encoding.

[0073] Furthermore, in the embodiments of this application, when the encoder encodes the current block, it can first select the optimal encoding method between the traditional mode and the MIP mode.

[0074] It should be noted that, in the embodiments of this application, during the intra-frame prediction process of VVC, for any luma coding block, an optimal mode can be selected from the conventional mode and the MIP mode for encoding processing. The conventional mode includes 67 intra-frame prediction modes, including Planar mode (numbered 0), DC mode (numbered 1), and 65 angle modes.

[0075] Furthermore, in the embodiments of this application, when selecting the optimal mode, the encoder can compare the Rdcost of 67 traditional modes and M MIP modes for the current block, thereby selecting the optimal mode and encoding it based on the comparison results. The value of M varies depending on the size type of the current block. Specifically, when the current block is a first-type luma block (i.e., the block size is 4×4), M = 16; when the current block is a second-type luma block (i.e., the block size is 8×4, 4×8, or 8×8), M = 8; and when the current block is a third-type luma block (i.e., the block size is any other size), M = 6.

[0076] It is understood that, in the embodiments of this application, if the encoder determines that the intra-prediction value of the current block is determined using MIP mode, then the encoder can set the value of the MIP mode parameter to indicate the use of MIP mode and write it into the bitstream. That is, the encoder can use syntax units to indicate whether the current block uses MIP mode, i.e., the MIP mode parameter is used to indicate whether the current block uses MIP mode.

[0077] For example, in an embodiment of this application, after the encoder determines that the intra-prediction value of the current block is determined using MIP mode, it can set the value of the MIP mode parameter to 1 and write it into the bitstream, thereby indicating that the current block uses MIP mode.

[0078] Furthermore, in the embodiments of this application, if the encoder determines that it will not use MIP mode to determine the intra-prediction value of the current block, then the encoder can set the value of the MIP mode parameter to indicate that MIP mode is not used and write it into the bitstream.

[0079] For example, in an embodiment of this application, after the encoder determines that it will not use MIP mode to determine the intra-prediction value of the current block, it can set the value of the MIP mode parameter to 0 and write it into the bitstream, thereby indicating that the current block will not use MIP mode.

[0080] Furthermore, in the embodiments of this application, after the encoder completes the setting of the MIP mode parameter values, it can indicate the MIP mode parameter in the bitstream using one or more syntax units. That is, after the encoder completes the setting of the MIP mode parameter according to whether the current block uses MIP mode, it can indicate the MIP mode parameter in the bitstream using one or more syntax units.

[0081] It is understood that, in the embodiments of this application, the syntax unit indicating the MIP mode parameters may be included in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

[0082] It should be noted that, in the embodiments of this application, since one or more data units in the bitstream, including the current block data unit, the slice header information data unit, the image header information data unit, the image layer parameter set, the sequence layer parameter set, and the adaptive parameter set, can indicate the MIP mode parameters, the MIP mode parameters set by the encoder can be adapted to it.

[0083] For example, in this application, if the encoder writes the MIP mode parameter into the Sequence Parameter Set (SPS), the MIP mode parameter can be indicated by sps_mip_enable_flag. Therefore, after the decoder parses the data unit of the Sequence Parameter Set in the bitstream, it can determine the MIP mode parameter sps_mip_enable_flag.

[0084] For example, in this application, if the encoder writes the MIP mode parameters into the Picture Parameter Set (PPS), the MIP mode parameters can be indicated by pps_mip_enable_flag. Therefore, after the decoder parses the data units of the Picture Parameter Set in the bitstream, it can determine the MIP mode parameter pps_mip_enable_flag.

[0085] For example, in this application, if the encoder writes the MIP mode parameters into the Adaptive parameter set (APS), the MIP mode parameters can be indicated by aps_mip_enable_flag. Therefore, after the decoder parses the data units of the Adaptive parameter set in the bitstream, it can determine the MIP mode parameter aps_mip_enable_flag.

[0086] For example, in this application, if the encoder writes the MIP mode parameter into the slice header information data unit, the MIP mode parameter can be indicated by slice_mip_enable_flag. Therefore, after the decoder parses the data unit of the slice header information data unit in the bitstream, it can determine the MIP mode parameter slice_mip_enable_flag.

[0087] Step 102: Determine the MIP mode of the current block, and determine the predicted values ​​of the luminance and chrominance components corresponding to the current block based on the MIP mode.

[0088] In the embodiments of this application, if the intra-frame prediction value of the current block is determined using the MIP mode, then the encoder can further determine the MIP mode of the current block, and then determine the prediction values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode.

[0089] It is understood that, in the embodiments of this application, when the encoder determines the MIP mode corresponding to the current block, it can first determine the size type of the current block; then construct a candidate MIP mode list based on the size type; and finally determine the MIP mode of the current block from the candidate MIP mode list.

[0090] Furthermore, in the embodiments of this application, the current block can be divided into three size types according to its size. If the size of the current block is W×H, where W is the width parameter and H is the height parameter, then a current block with a size of 4×4 can be identified as a first type of brightness block, that is, the size type of the current block is identified as the first type. The current blocks with sizes of 8×4, 4×8 and 8×8 can also be identified as a second type of brightness block, that is, the size type of the current block is identified as the second type. The current blocks of other sizes can also be identified as a third type of brightness block, that is, the size type of the current block is identified as the third type.

[0091] Understandably, in this application, based on the height and width parameters, the current block can have 25 different sizes. Specifically, the standard specifies that the maximum size of the luminance block is 128×128. However, since the maximum size of the transformation unit is 64×64, a luminance block of 128×128 size must first undergo quadtree partitioning. Therefore, the maximum luminance block size is 64×64. Table 1 shows a schematic diagram of the luminance block sizes.

[0092] Table 1

[0093] (4×4) (4×8) (4×16) (4×32) (4×64) (8×4) (8×8) (8×16) (8×32) (8×64) (16×4) (16×8) (16×16) (16×32) (16×64) (32×4) (32×8) (32×16) (32×32) (32×64) (64×4) (64×8) (64×16) (64×32) (64×64)

[0094] Currently, the MIP mode is restricted based on the height and width parameters of the current block. Specifically, if the aspect ratio of the current block is greater than 4, or the height-to-width ratio is greater than 4, then the MIP mode is not used to encode the current block. Table 2 shows the restrictions on the luma block size under the MIP mode.

[0095] Table 2

[0096] (4×4) (4×8) (4×16) (4×32) (4×64) (8×4) (8×8) (8×16) (8×32) (8×64) (16×4) (16×8) (16×16) (16×32) (16×64) (32×4) (32×8) (32×16) (32×32) (32×64) (64×4) (64×8) (64×16) (64×32) (64×64)

[0097] In other words, in this application, when the encoder determines the size type of the current block, if the width and height of the current block are both equal to 4, that is, the size of the current block is 4×4, the size type of the current block can be set to the first type; if the width and height of the current block are both equal to 8, that is, the size of the current block is 8×8, or the width of the current block is equal to 8 and the height is equal to 4, that is, the size of the current block is 8×4, or the width of the current block is equal to 4 and the height is equal to 8, that is, the size of the current block is 4×8, the size type of the current block can be set to the second type; if the width and height of the current block do not meet the aforementioned conditions, that is, the size of the current block is not 4×4, 8×8, 8×4, or 4×8, the size type of the current block can be set to the third type.

[0098] Furthermore, in the embodiments of this application, according to the size type classification method proposed in the current standard, when the encoder determines the size type of the current block, if the width and height of the current block are both equal to 4, the size type of the current block can be set to the first type; if the width and height of the current block are both equal to 8, or if one of the width and height of the current block is equal to 4, the size type of the current block can be set to the second type; if the width and height of the current block do not meet the aforementioned conditions, that is, the width and height of the current block are not both equal to 4 or 8, or if the width and height of the current block are not both equal to 4, the size type of the current block can be set to the third type.

[0099] It should be noted that, in the embodiments of this application, the encoder can construct different candidate MIP mode lists for different size types. Specifically, the MIP technology adds M MIP modes to the 67 traditional intra-frame prediction modes, where the value of M is different for different size types. The value of M can include 16, 8, or 6.

[0100] For example, in this application, when the size type of the current block is the first type, M is 16, that is, a candidate MIP pattern list can be constructed according to 16 MIP patterns; when the size type of the current block is the second type, M is 8, that is, a candidate MIP pattern list can be constructed according to 8 MIP patterns; when the size type of the current block is the third type, M is 6, that is, a candidate MIP pattern list can be constructed according to 6 MIP patterns.

[0101] Furthermore, in the embodiments of this application, after the encoder completes the construction of the candidate MIP mode list according to the size type of the current block, it can determine the MIP mode used by the current block from the candidate MIP mode list, so that the MIP mode can be used to perform image prediction processing on the current block to obtain the intra-frame prediction value of the current block.

[0102] It is understood that, in the embodiments of this application, after the encoder constructs a list of candidate MIP modes corresponding to the current block, it can select a MIP mode from the list of candidate MIP modes and then use the MIP mode to determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block.

[0103] Specifically, in the embodiments of this application, the encoder can first read the mode number k of the MIP mode from the candidate MIP mode list, thereby obtaining the corresponding matrix Ak and offset bk, and perform matrix-vector multiplication according to the above formula (1), thereby obtaining the luminance component prediction value corresponding to the current block.

[0104] It should be noted that, in the embodiments of this application, after the encoder determines the MIP mode of the current block from the candidate MIP mode list, it can further set the MIP mode index number of the current block according to the MIP mode of the current block, and write the MIP mode index number into the bit stream.

[0105] It is understood that, in this application, the MIP mode index number of the current block can be used to indicate the specific MIP mode used by the current block. That is, on the encoding side, after the encoder sets the MIP mode index number of the current block and writes it into the bitstream, it is transmitted to the decoding side. The decoder obtains the MIP mode index number of the current block by parsing the bitstream, and can then determine the MIP mode indicated by the MIP mode index number from the candidate MIP mode list of the current block.

[0106] Step 103: Write the MIP mode of the current block into the bitstream.

[0107] In the embodiments of this application, after the encoder determines the MIP mode of the current block and determines the predicted values ​​of the luminance component and chrominance component corresponding to the current block based on the MIP mode, it can write the MIP mode of the current block into the bit stream.

[0108] In other words, in the implementation of encoding the current block in this application, the encoder not only needs to write whether the current block uses MIP mode into the compressed bitstream, but also needs to write which specific mode is used into the bitstream. For example, when using MIP mode for intra-frame prediction, it is necessary to specify which MIP mode is used.

[0109] This application proposes an image prediction method. If the intra-frame prediction value of the current block is determined using MIP mode, the encoder sets the value of the MIP mode parameter to indicate the use of MIP mode and writes it into the bitstream; determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block based on the MIP mode; and writes the MIP mode of the current block into the bitstream. In other words, in this embodiment, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set the MIP mode parameter, and write it into the bitstream for transmission to the decoding side; the decoder parses the bitstream to obtain the MIP mode parameter. If the MIP mode parameter indicates that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity, decrease the storage space and overall time required during the decoding process, and effectively improve encoding and decoding efficiency while ensuring encoding and decoding performance.

[0110] Based on the above embodiments, another embodiment of this application proposes an image prediction method. When the encoder determines to use MIP mode to predict the intra-frame prediction value of the current block, it can write a MIP mode parameter, indicating whether the current block uses MIP mode, into one or more syntax elements in the bitstream. That is, in this application, the VVC bitstream transmits one or more syntax elements to enable or disable MIP mode. The syntax elements can be located in data units in video sequence layers, picture layers and / or sub-picture layers, slice / tile / brick layers, where a sub-picture refers to a region covering a portion of a picture.

[0111] For example, in this application, the encoder can determine whether to use MIP mode when encoding a video sequence. The entropy coding unit can encode the flags in the parameter set associated with all slices in the video sequence. Table 3 shows an embodiment of the syntax structure implemented in the Sequence Parameter Set (SPS), where u(1) represents the entropy coding method detailed in the VVC working draft.

[0112] Table 3

[0113] …… Descriptor sps_mip_enable_flag u(1) ……

[0114] Based on Table 3 above, when the encoder determines that MIP mode should not be applied when encoding the input video sequence, the entropy coding unit can set sps_mip_enable_flag to 0 and write the value into the SPS (indirectly) associated with the slice in the video sequence; when the encoder determines that MIP mode should be applied when encoding one or more slices in the input video sequence, the entropy coding unit can set sps_mip_enable_flag to 1 and write the value into the SPS (indirectly) associated with the slice in the video sequence.

[0115] In other words, in this application, after the encoder completes the setting of the MIP mode parameter sps_mip_enable_flag, it can indicate the MIP mode parameter in one or more syntax units in the bitstream. That is, after the encoder completes the setting of the MIP mode parameter sps_mip_enable_flag according to whether the current block uses MIP mode, it can write the MIP mode parameter sps_mip_enable_flag into the sequence layer parameter set in the bitstream.

[0116] For example, in this application, the encoder can determine whether to use the MIP mode when encoding a picture or a subpicture of a picture in a video sequence. The entropy coding unit can encode the flags in the parameter set associated with all slices in the picture or subpicture. Table 4 shows an embodiment of the implementation of the syntax structure in the Picture Layer Parameter Set (PPS), where u(1) represents the entropy coding method detailed in the VVC working draft.

[0117] Table 4

[0118] …… Descriptor pps_mip_enable_flag u(1) ……

[0119] Based on Table 4 above, when the encoder determines that MIP mode should not be applied when encoding an image or sub-image, the entropy coding unit can set pps_mip_enable_flag to 0 and write this value into the PPS associated with the slice in the image or sub-image; when the encoder determines that MIP mode should be applied when encoding one or more slices in an image or sub-image, the entropy coding unit can set pps_mip_enable_flag to 1 and write this value into the PPS (indirectly) associated with the slice in the image or sub-image.

[0120] In other words, in this application, after the encoder completes the setting of the MIP mode parameter pps_mip_enable_flag, it can indicate the MIP mode parameter in one or more syntax units in the bitstream. That is, after the encoder completes the setting of the MIP mode parameter pps_mip_enable_flag according to whether the current block uses MIP mode, it can write the MIP mode parameter pps_mip_enable_flag into the image layer parameter set in the bitstream.

[0121] For example, in this application, the encoder can determine whether to use the MIP mode when encoding a picture or a subpicture in a picture within a video sequence. The entropy coding unit can encode a set of flags associated with all slices in the picture or subpicture. Table 5 shows an example of the implementation of the syntax structure in the Adaptive Parameter Set (APS), where u(1) represents the entropy coding method detailed in the VVC working draft.

[0122] Table 5

[0123] …… Descriptor aps_mip_enable_flag u(1) ……

[0124] Based on Table 5 above, when the encoder determines that MIP mode should not be applied when encoding an image or sub-image, the entropy coding unit can set aps_mip_enable_flag to 0 and write this value into the APS associated with the slice in the image or sub-image; when the encoder determines that MIP mode should be applied when encoding one or more slices in an image or sub-image, the entropy coding unit can set aps_mip_enable_flag to 1 and write this value into the APS (indirectly) associated with the slice in the image or sub-image.

[0125] In other words, in this application, after the encoder completes the setting of the MIP mode parameter aps_mip_enable_flag, it can indicate the MIP mode parameter in one or more syntax units in the bitstream. That is, after the encoder completes the setting of the MIP mode parameter aps_mip_enable_flag according to whether the current block uses MIP mode, it can write the MIP mode parameter aps_mip_enable_flag into the adaptive parameter set in the bitstream.

[0126] Table 6

[0127] …… Descriptor slice_mip_enable_flag u(1) ……

[0128] For example, in this application, the encoder can determine whether to use MIP mode when encoding a slice. The entropy coding unit can encode the flags in the slice header. Table 6 shows an example of the implementation of the syntax structure in the slice header, where u(1) represents the entropy coding method detailed in the VVC working draft.

[0129] Based on Table 6 above, when the encoder determines that MIP mode is not applied when encoding slices, the entropy encoding unit can set slice_mip_enable_flag to 0 and write this value into the slice header; when the encoder determines that MIP mode is applied when encoding slices, the entropy encoding unit can set slice_mip_enable_flag to 1 and write this value into the slice header.

[0130] In other words, in this application, after the encoder completes the setting of the MIP mode parameter slice_mip_enable_flag, it can indicate the MIP mode parameter in one or more syntax units in the bitstream. That is, after the encoder completes the setting of the MIP mode parameter slice_mip_enable_flag according to whether the current block uses MIP mode, it can write the MIP mode parameter slice_mip_enable_flag into the slice header information data unit in the bitstream.

[0131] For example, in this application, when encoding tiles or bricks, the entropy encoding unit can write similar MIP mode parameters into the parameter set representing the segmentation of tiles or bricks in an image or sub-image as part of the encoder's determination of whether to use the MIP mode. Optionally, the entropy encoding unit can also write similar MIP mode parameters into the slice data associated with the tiles or bricks in the slice to indicate whether to use the MIP mode when encoding the tiles or bricks.

[0132] For example, in this application, the encoder can determine the application of MIP mode when encoding a portion of an image or sub-image in a video sequence. The entropy coding unit can encode sps_mip_enable_flag in SPS as 1, pps_mip_enable_flag in PPS or aps_mip_enable_flag in APS related to slices in an image or sub-image as 1, and pps_mip_enable_flag in PPS or aps_mip_enable_flag in APS related to other images or sub-images in the video sequence as 0. Optionally, the entropy coding unit can encode slice_mip_enable_flag (or similar MIP mode parameters for tiles or bricks in slice data) in slices in an image or sub-image as 1, and slice_mip_enable_flag (or similar MIP mode parameters for tiles or bricks in slice data) in slices in other images or sub-images as 0.

[0133] For example, in this application, the encoder may also implicitly convey whether the MIP mode is used to encode video sequences in other syntax elements (e.g., syntax elements indicating the grade / level / level (PTL) of one or more parameter sets of a bitstream or sub-bitstream). For example, the encoder may set the MIP mode to disabled in one or more PTLs and to enabled in other PTLs.

[0134] It is understood that in this application, when the encoder passes an instruction to the bitstream that the current block is encoded using MIP mode, the decoder can correspondingly use MIP mode to decode the bitstream.

[0135] This application proposes an image prediction method. If the intra-frame prediction value of the current block is determined using MIP mode, the encoder sets the value of the MIP mode parameter to indicate the use of MIP mode and writes it into the bitstream; determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block based on the MIP mode; and writes the MIP mode of the current block into the bitstream. In other words, in this embodiment, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set the MIP mode parameter, and write it into the bitstream for transmission to the decoding side; the decoder parses the bitstream to obtain the MIP mode parameter. If the MIP mode parameter indicates that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity, decrease the storage space and overall time required during the decoding process, and effectively improve encoding and decoding efficiency while ensuring encoding and decoding performance.

[0136] Based on the above embodiments, one embodiment of this application proposes an image prediction method, applied in a decoder. Figure 8 A schematic diagram of the implementation process of the image prediction method. Figure 2 ,like Figure 8 As shown, in this application, the method for image prediction by the decoder may include the following steps:

[0137] Step 201: Parse the bitstream and determine the MIP mode parameters of the current block.

[0138] In the embodiments of this application, the decoder parses the bitstream to determine the MIP mode parameters of the current block. The current block can represent the current block to be encoded or the current block to be decoded. Specifically, in this application, the current block is the block to be decoded when the decoder performs decoding.

[0139] It is understood that, in the embodiments of this application, the decoder can parse one or more syntax units in the bitstream to determine the MIP mode parameters of the current block. That is, in this application, the MIP mode parameters can be indicated in one or more syntax units in the bitstream.

[0140] Furthermore, in embodiments of this application, the syntax unit indicating MIP mode parameters may be included in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

[0141] It should be noted that, in the embodiments of this application, the MIP mode parameter is used to indicate whether the current block uses MIP mode. Specifically, if the MIP mode parameter indicates that MIP mode is used, the decoder can use MIP mode to determine the intra-prediction value of the current block; if the MIP mode parameter indicates that MIP mode is not used, the decoder will not use MIP mode to determine the intra-prediction value of the current block.

[0142] Furthermore, in the embodiments of this application, after the decoder parses the bitstream to determine the MIP mode parameters, it can determine whether the current block uses MIP mode based on the value of the MIP mode parameters.

[0143] For example, in an embodiment of this application, after the decoder determines the MIP mode parameter, if the value of the MIP mode parameter is 1, it can instruct the current block to use the MIP mode, and then the decoder can use the MIP mode to determine the intra-frame prediction value of the current block.

[0144] For example, in an embodiment of this application, after the decoder determines the MIP mode parameter, if the value of the MIP mode parameter is 0, it can indicate that the current block does not use the MIP mode, and then the decoder will not use the MIP mode to determine the intra-prediction value of the current block.

[0145] It should be noted that, in the embodiments of this application, since one or more data units in the bitstream, including the current block data unit, the slice header information data unit, the image header information data unit, the image layer parameter set, the sequence layer parameter set, and the adaptive parameter set, can indicate the MIP mode parameters, the MIP mode parameters obtained by the decoder can be adapted to it.

[0146] For example, in this application, if the encoder writes the MIP mode parameter into the sequence layer parameter set, the MIP mode parameter can be indicated by sps_mip_enable_flag. Therefore, after the decoder parses the data unit of the sequence layer parameter set in the bitstream, it can determine the MIP mode parameter sps_mip_enable_flag.

[0147] For example, in this application, if the encoder writes the MIP mode parameter into the image layer parameter set, the MIP mode parameter can be indicated by pps_mip_enable_flag. Therefore, after the decoder parses the data unit of the image layer parameter set in the bitstream, it can determine the MIP mode parameter pps_mip_enable_flag.

[0148] For example, in this application, if the encoder writes the MIP mode parameters into the adaptive parameter set, the MIP mode parameters can be indicated by aps_mip_enable_flag. Therefore, after the decoder parses the data units of the adaptive parameter set in the bitstream, it can determine the MIP mode parameter aps_mip_enable_flag.

[0149] For example, in this application, if the encoder writes the MIP mode parameter into the slice header information data unit, the MIP mode parameter can be indicated by slice_mip_enable_flag. Therefore, after the decoder parses the data unit of the slice header information data unit in the bitstream, it can determine the MIP mode parameter slice_mip_enable_flag.

[0150] Step 202: If the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, parse the bit stream, determine the MIP mode of the current block, and determine the prediction values ​​of the luma component and chroma component corresponding to the current block according to the MIP mode.

[0151] In the embodiments of this application, after the decoder parses the bitstream and determines the MIP mode parameters of the current block, if the value of the MIP mode parameters indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, the decoder can continue to parse the bitstream, determine the MIP mode of the current block, and then determine the prediction values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode.

[0152] It is understood that, in the embodiments of this application, after the decoder parses the bitstream and determines the MIP mode parameters of the current block, if the value of the MIP mode parameters indicates that the MIP mode is not used to determine the intra-prediction value of the current block, the decoder will not use the MIP mode for the current block.

[0153] In other words, in the implementation of decoding the current block in this application, the decoder parses the bitstream and can not only obtain the MIP mode parameter indicating whether the current block uses the MIP mode, but also determine which mode the current block uses for intra-frame prediction. For example, when using the MIP mode for intra-frame prediction, it determines which MIP mode is used.

[0154] Furthermore, in the embodiments of this application, during the intra-frame prediction process of VVC, for any luma coding block, an optimal mode can be selected from the conventional mode and the MIP mode for encoding processing. The conventional mode includes 67 intra-frame prediction modes, including the Planar mode (numbered 0), the DC mode (numbered 1), and 65 angle modes.

[0155] It should be noted that, in the embodiments of this application, when the decoder uses the MIP mode to determine the intra-frame prediction value of the current block, it can further determine the MIP mode of the current block by parsing the bitstream, and then determine the prediction values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode.

[0156] It is understood that, in the embodiments of this application, when the decoder parses the bitstream and determines the MIP mode of the current block, it can first obtain the MIP mode index number of the current block by parsing the bitstream, and then, after determining the size type of the current block, determine the MIP mode indicated by the MIP mode index number from the candidate MIP mode list corresponding to the size type as the MIP mode of the current block.

[0157] Furthermore, in the embodiments of this application, the MIP mode index number of the current block can be used to indicate the specific MIP mode used by the current block. That is, on the encoding side, after the encoder sets the MIP mode index number of the current block and writes it into the bitstream, it is transmitted to the decoding side. The decoder obtains the MIP mode index number of the current block by parsing the bitstream, and can then determine the MIP mode indicated by the MIP mode index number from the candidate MIP mode list of the current block.

[0158] It should be noted that, in the embodiments of this application, when the decoder determines the MIP mode of the current block, it can first determine the size type of the current block. Specifically, based on Table 2 above, when the decoder determines the size type of the current block, if the width and height of the current block are both equal to 4, that is, the size of the current block is 4×4, the size type of the current block can be set to the first type; if the width and height of the current block are both equal to 8, that is, the size of the current block is 8×8, or the width of the current block is equal to 8 and the height is equal to 4, that is, the size of the current block is 8×4, or the width of the current block is equal to 4 and the height is equal to 8, that is, the size of the current block is 4×8, the size type of the current block can be set to the second type; if the width and height of the current block do not meet the aforementioned conditions, that is, the size of the current block is not 4×4, 8×8, 8×4, or 4×8, the size type of the current block can be set to the third type.

[0159] Furthermore, in the embodiments of this application, according to the size type classification method proposed in the current standard, when the encoder determines the size type of the current block, if the width and height of the current block are both equal to 4, the size type of the current block can be set to the first type; if the width and height of the current block are both equal to 8, or if one of the width and height of the current block is equal to 4, the size type of the current block can be set to the second type; if the width and height of the current block do not meet the aforementioned conditions, that is, the width and height of the current block are not both equal to 4 or 8, or if the width and height of the current block are not both equal to 4, the size type of the current block can be set to the third type.

[0160] It is understood that, in the embodiments of this application, the decoder can construct different candidate MIP mode lists for different size types. Specifically, the MIP technology adds M MIP modes to the 67 traditional intra-frame prediction modes, where the value of M is different for different size types. The value of M can include 16, 8, or 6.

[0161] For example, in this application, when the size type of the current block is the first type, M is 16, that is, a candidate MIP pattern list can be constructed according to 16 MIP patterns; when the size type of the current block is the second type, M is 8, that is, a candidate MIP pattern list can be constructed according to 8 MIP patterns; when the size type of the current block is the third type, M is 6, that is, a candidate MIP pattern list can be constructed according to 6 MIP patterns.

[0162] For example, in an embodiment of this application, the decoder can first read the mode number k of the MIP mode from the candidate MIP mode list, thereby obtaining the corresponding matrix Ak and offset bk, and perform matrix-vector multiplication according to the above formula (1), thereby obtaining the luminance component prediction value corresponding to the current block.

[0163] Step 203: Decode the current block based on the predicted value.

[0164] In the embodiments of this application, after the decoder parses the bitstream to determine the MIP mode of the current block and determines the predicted values ​​of the luminance and chrominance components corresponding to the current block according to the MIP mode, it can decode the current block according to the predicted values ​​of the luminance and chrominance components.

[0165] This application proposes an image prediction method. A decoder parses the bitstream to determine the MIP mode parameters for the current block. If the MIP mode parameter value indicates that the current block uses MIP mode to determine its intra-frame prediction value, the decoder parses the bitstream again to determine the MIP mode for the current block and determines the predicted values ​​of the luma and chroma components corresponding to the current block based on the MIP mode. The current block is then decoded based on the predicted values. In other words, in this application's embodiment, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously set the MIP mode parameters and write them into the bitstream for transmission to the decoder while obtaining the intra-frame prediction value of the current block using MIP mode. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity, reduce the storage space and overall time required in the decoding process while ensuring encoding and decoding performance, and effectively improve encoding and decoding efficiency.

[0166] Based on the above embodiments, another embodiment of this application proposes an image prediction method. The decoder parses the bitstream and can obtain one or more syntax elements used to indicate whether the current block uses MIP mode to determine the predicted value of the current block. Further, in this application, the one or more syntax elements obtained by the decoder can indicate whether MIP mode is used when decoding a video sequence, one or more pictures, slices, tiles, or bricks. That is, in this application, the VVC bitstream transmits one or more syntax elements to enable or disable MIP mode. The syntax elements can be located in data units in the video sequence layer, picture layer and / or sub-picture layer, slice / tile / brick layer, where a sub-picture refers to a region covering a portion of a picture.

[0167] For example, in this application, the decoder can obtain MIP mode parameters from a set of parameters associated with all slices in the video sequence. Specifically, the decoder can obtain MIP mode parameters from SPS. As shown in Table 3 above, an embodiment of the syntax structure implemented in SPS is illustrated, where u(1) represents the entropy decoding method detailed in the VVC working draft.

[0168] When the decoder determines that the value of the MIP mode parameter sps_mip_enable_flag is equal to 0, the decoder will not use MIP mode when decoding slices (indirectly) associated with that SPS; when the decoder determines that the value of the MIP mode parameter sps_mip_enable_flag is equal to 1, the decoder will apply MIP mode when decoding slices (indirectly) associated with that SPS.

[0169] In other words, in this application, after the decoder parses the sequence layer parameter set in the bitstream, it can determine the MIP mode parameter sps_mip_enable_flag, and then determine whether the current block should be decoded using MIP mode based on the value of the MIP mode parameter sps_mip_enable_flag.

[0170] For example, in this application, the decoder can obtain MIP mode parameters from a set of parameters associated with all slices of a picture or subpicture in a video sequence. Specifically, the decoder can obtain MIP mode parameters from the PPS. An example of the implementation of the syntax structure in the PPS is shown in Table 4 above, where u(1) represents the entropy decoding method detailed in the VVC working draft.

[0171] When the decoder determines that the value of the MIP mode parameter pps_mip_enable_flag is equal to 0, the decoder will not use MIP mode when decoding the slice associated with that PPS; when the decoder determines that the value of the MIP mode parameter pps_mip_enable_flag is equal to 1, the decoder will apply MIP mode when decoding the slice associated with that PPS.

[0172] In other words, in this application, after the decoder parses the image layer parameter set in the bitstream, it can determine the MIP mode parameter pps_mip_enable_flag, and then determine whether the current block should be decoded using MIP mode based on the value of the MIP mode parameter pps_mip_enable_flag.

[0173] For example, in this application, the decoder can obtain MIP mode parameters from a set of parameters associated with all slices of a picture or subpicture in a video sequence. Specifically, the decoder can obtain MIP mode parameters from the APS. An example of the implementation of the syntax structure in the adaptive parameter set APS is shown in Table 5 above, where u(1) represents the entropy decoding method detailed in the VVC working draft.

[0174] When the decoder determines that the value of the MIP mode parameter aps_mip_enable_flag is equal to 0, the decoder will not use MIP mode when decoding the slice associated with that APS; when the decoder determines that the value of the MIP mode parameter aps_mip_enable_flag is equal to 1, the decoder will apply MIP mode when decoding the slice associated with that APS.

[0175] In other words, in this application, after the decoder parses the adaptive parameter set in the bitstream, it can determine the MIP mode parameter aps_mip_enable_flag, and then determine whether the current block should be decoded using MIP mode based on the value of the MIP mode parameter aps_mip_enable_flag.

[0176] For example, in this application, the decoder can obtain MIP mode parameters from the slice header. As shown in Table 6 above, an embodiment of the syntax structure is implemented in the slice header, where u(1) represents the entropy decoding method detailed in the VVC working draft.

[0177] When the decoder determines that the value of the MIP mode parameter slice_mip_enable_flag is equal to 0, the decoder will not use MIP mode when decoding the slice; when the decoder determines that the value of the MIP mode parameter slice_mip_enable_flag is equal to 1, the decoder will apply MIP mode when decoding the slice.

[0178] In other words, in this application, after the decoder parses the slice header information data unit in the bitstream, it can determine the MIP mode parameter slice_mip_enable_flag, and then determine whether the current block should be decoded using MIP mode based on the value of the MIP mode parameter slice_mip_enable_flag.

[0179] For example, in this application, when decoding a tile or brick, the decoder can obtain similar MIP mode parameters as part of a parameter set for tile or brick segmentation of an image or sub-image, used to indicate whether the tiles or bricks of the image or sub-image use MIP mode. Optionally, the decoder can also obtain similar MIP mode parameters from slice data associated with the tiles or bricks in the slice to indicate whether MIP mode is used when encoding the tiles or bricks.

[0180] For example, in this application, the decoder can obtain various MIP mode parameters from different data units in the input bitstream. The decoder can obtain that `sps_mip_enable_flag` in the SPS is equal to 1, `pps_mip_enable_flag` in the PPS or `aps_mip_enable_flag` in the APS, which are related to slices in an image or sub-image, are equal to 1, while `pps_mip_enable_flag` in the PPS or `aps_mip_enable_flag` in the APS, which are related to other images or sub-images, are equal to 0. In this case, the decoder can apply the MIP mode when decoding a portion of the images or sub-images in the input bitstream, while not applying the MIP mode when decoding other images or sub-images. Alternatively, the decoder can obtain `slice_mip_enable_flag` (or a similar MIP mode parameter for tiles or bricks in the slice data) equal to 1 from the header of a slice in an image or sub-image, and the decoder can apply the MIP mode when decoding that slice. The decoder can also obtain a slice_mip_enable_flag (or a similar MIP mode parameter for tiles or bricks in the slice data) equal to 0 from the slice header of another slice in the image or sub-image. If the decoder does not apply MIP mode when decoding that slice, the decoder will not apply MIP mode.

[0181] For example, in this application, the decoder may be implicitly informed whether the MIP mode is used to decode input bitstreams from other syntax elements (e.g., syntax elements of a PTL in one or more parameter sets indicating bitstreams or sub-bitstreams). For instance, the MIP mode may be set to disabled when decoding in one or more PTLs, and set to enabled when decoding in other PTLs.

[0182] This application proposes an image prediction method. A decoder parses the bitstream to determine the MIP mode parameters for the current block. If the MIP mode parameter value indicates that the current block uses MIP mode to determine its intra-frame prediction value, the decoder parses the bitstream again to determine the MIP mode for the current block and determines the predicted values ​​of the luma and chroma components corresponding to the current block based on the MIP mode. The current block is then decoded based on the predicted values. In other words, in this application's embodiment, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously set the MIP mode parameters and write them into the bitstream for transmission to the decoder while obtaining the intra-frame prediction value of the current block using MIP mode. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity, reduce the storage space and overall time required in the decoding process while ensuring encoding and decoding performance, and effectively improve encoding and decoding efficiency.

[0183] Based on the above embodiments, in another embodiment of this application, the implementation of the encoder and decoder described in the above embodiments can, for example, allow for the feasible configuration of MIP mode during session negotiation.

[0184] For example, in a first exemplary system, the transmitter, which includes an encoder, generates a bitstream for the receiver based on the receiver's processing capabilities. For instance, during session negotiation, when the transmitter determines that the receiver cannot successfully enable MIP mode to process the bitstream (or when the receiver notifies the transmitter that it cannot successfully enable MIP mode to decode the bitstream), the transmitter will generate the bitstream by disabling MIP mode, for example, by setting sps_mip_enable_flag to 0.

[0185] For example, a second exemplary system includes a transmitter that stores multiple bitstreams for which MIP mode is applied when decoding all or different portions of the bitstream. During session negotiation, when the transmitter determines that the receiver cannot successfully enable MIP mode to process the bitstream (or when the receiver notifies the transmitter that it cannot successfully enable MIP mode to decode the bitstream), the transmitter will select to send a bitstream with MIP mode disabled, such as a bitstream where sps_mip_enable_flag equals 0.

[0186] For example, the third exemplary system is a real-time communication system, such as video conferencing, video telephony, live video streaming, etc. Unlike the first exemplary system, the receiver is not always unable to process the bitstream encoded using MIP mode. For example, the receiver may have a battery. When the battery power falls below a threshold (e.g., 20% of the total power), the receiver notifies the transmitter that it cannot process the bitstream encoded using MIP mode due to the low power. Upon receiving a request from the receiver, the transmitter generates the bitstream by disabling MIP mode, for example by starting a new encoded video sequence (CVS) with a new SPS containing sps_mip_enable_flag equal to 0, or by generating a new PPS or APS containing the MIP enable flag (MIP mode parameter) equal to 0, or by setting the MIP enable flag in the slice header (or other similar syntax elements of tiles or bricks) to equal to 0. When the receiver recharges its battery, the receiver may notify the transmitter that it is capable of processing the bitstream encoded using MIP mode. In this scenario, the transmitter can use MIP mode to generate a bitstream and set the corresponding flags in the SPS, PPS, APS, or slice header. Alternatively, the transmitter can switch between different tracks containing different bitstreams generated through different MIP mode configurations to meet the requirements of the receiver.

[0187] This application proposes an image prediction method. When the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set MIP mode parameters, and write them into the bitstream for transmission to the decoder. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity while maintaining encoding and decoding performance, reducing the storage space and overall time required during decoding, and effectively improving encoding and decoding efficiency.

[0188] Based on the above embodiments, in another embodiment of this application, Figure 9 This is a schematic diagram of the encoder structure proposed in the embodiments of this application. Figure 1 ,like Figure 9 As shown, the encoder 300 proposed in this application embodiment may include a setting part 301, a first determining part 302, and an encoding part 303.

[0189] The setting part 301 is configured to, if the current block uses MIP mode to determine the intra-prediction value of the current block, set the value of the MIP mode parameter to indicate the use of MIP mode and write it into the bitstream.

[0190] The first determining part 302 is configured to determine the MIP mode of the current block and determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode;

[0191] The encoding section 303 is configured to write the MIP mode of the current block into the bitstream.

[0192] Furthermore, in an embodiment of this application, the setting portion 301 is further configured to, if the current block does not use MIP mode to determine the intra-prediction value of the current block, set the value of the MIP mode parameter to indicate that MIP mode is not used and write it into the bitstream.

[0193] Furthermore, in embodiments of this application, the MIP mode parameters are indicated in one or more syntax units in the bitstream.

[0194] Furthermore, in embodiments of this application, the syntax unit is included in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

[0195] Furthermore, in an embodiment of this application, the first determining part 302 is specifically configured to: determine the size type of the current block; construct the candidate MIP mode list based on the size type; and determine the MIP mode of the current block from the candidate MIP mode list.

[0196] Furthermore, in the embodiments of this application, the first determining part 302 is specifically configured to construct the candidate MIP pattern list according to 16 MIP patterns when the size type of the current block is a first type; construct the candidate MIP pattern list according to 8 MIP patterns when the size type of the current block is a second type; and construct the candidate MIP pattern list according to 6 MIP patterns when the size type of the current block is a third type.

[0197] Furthermore, in an embodiment of this application, the first determining part 302 is specifically configured to set the size type of the current block to the first type when the width and height of the current block are both equal to 4; set the size type of the current block to the second type when the width and height of the current block are both equal to 8, or when the width of the current block is equal to 8 and the height is equal to 4, or when the width of the current block is equal to 4 and the height is equal to 8; and set the size type of the current block to the third type when the width and height of the current block do not meet the aforementioned conditions.

[0198] Furthermore, in an embodiment of this application, the first determining part 302 is specifically configured to set the size type of the current block to the first type when the width and height of the current block are both equal to 4; set the size type of the current block to the second type when the width and height of the current block are both equal to 8, or when one of the width and height of the current block is equal to 4; and set the size type of the current block to the third type when the width and height of the current block do not meet the aforementioned conditions.

[0199] Figure 10 This is a schematic diagram of the encoder structure proposed in the embodiments of this application. Figure 2 ,like Figure 10 As shown, the encoder 300 proposed in this application embodiment may further include a first processor 304, a first memory 305 storing executable instructions of the first processor 304, a first communication interface 306, and a first bus 307 for connecting the first processor 304, the first memory 305, and the first communication interface 306.

[0200] Furthermore, in the embodiments of this application, the first processor 304 is configured to, if the intra-frame prediction value of the current block is determined using the MIP mode, set the value of the MIP mode parameter to indicate the use of the MIP mode and write it into the bitstream; determine the MIP mode of the current block, and determine the prediction values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode; and write the MIP mode of the current block into the bitstream.

[0201] Furthermore, in this embodiment, the functional modules can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional module.

[0202] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method of this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0203] This application provides an image encoder. If the intra-frame prediction value of the current block is determined using MIP mode, the encoder sets the value of the MIP mode parameter to indicate the use of MIP mode and writes it into the bitstream; determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and writes the MIP mode of the current block into the bitstream. The decoder parses the bitstream and determines the MIP mode parameter of the current block; if the value of the MIP mode parameter indicates that the current block uses MIP mode to determine the intra-frame prediction value of the current block, it parses the bitstream, determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and decodes the current block according to the predicted values. In other words, in the embodiments of this application, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set the MIP mode parameters, and write them into the bitstream for transmission to the decoder. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity while ensuring encoding and decoding performance, reduce the storage space and overall time required during the decoding process, and effectively improve encoding and decoding efficiency.

[0204] Based on the above embodiments, in another embodiment of this application... Figure 11 A schematic diagram of the decoder structure proposed in the embodiments of this application. Figure 1 ,like Figure 11As shown, the decoder 400 proposed in this application embodiment may include a decoding part 401 and a second determining part 402.

[0205] The decoding section 401 is configured to parse the bitstream, determine the MIP mode parameters of the current block; and if the value of the MIP mode parameters indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, parse the bitstream and determine the MIP mode of the current block.

[0206] The second determining part 402 is configured to determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode;

[0207] The decoding section 401 is further configured to decode the current block based on the predicted value.

[0208] Furthermore, in an embodiment of this application, the second determining part 402 is also configured to, after parsing the bitstream and determining the MIP mode parameter of the current block, if the value of the MIP mode parameter indicates that the current block does not use the MIP mode to determine the intra-frame prediction value of the current block, determine that the current block does not use the MIP mode.

[0209] Furthermore, in embodiments of this application, the MIP mode parameters are indicated in one or more syntax units in the bitstream.

[0210] Furthermore, in embodiments of this application, the syntax unit is included in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

[0211] Further, in an embodiment of this application, the decoding part 401 is specifically configured to parse the bitstream to obtain the MIP mode index number of the current block; determine the size type of the current block; and determine the MIP mode indicated by the MIP mode index number as the MIP mode of the current block from the candidate MIP mode list corresponding to the size type.

[0212] Furthermore, in the embodiments of this application, when the size type of the current block is a first type, the candidate MIP pattern list is constructed according to 16 MIP patterns; when the size type of the current block is a second type, the candidate MIP pattern list is constructed according to 8 MIP patterns; and when the size type of the current block is a third type, the candidate MIP pattern list is constructed according to 6 MIP patterns.

[0213] Furthermore, in an embodiment of this application, the decoding part 401 is specifically configured to set the size type of the current block to the first type when the width and height of the current block are both equal to 4; set the size type of the current block to the second type when the width and height of the current block are both equal to 8, or when the width of the current block is equal to 8 and the height is equal to 4, or when the width of the current block is equal to 4 and the height is equal to 8; and set the size type of the current block to the third type when the width and height of the current block do not meet the aforementioned conditions.

[0214] Furthermore, in an embodiment of this application, the decoding part 401 is specifically configured to set the size type of the current block to the first type when the width and height of the current block are both equal to 4; set the size type of the current block to the second type when the width and height of the current block are both equal to 8, or when one of the width and height of the current block is equal to 4; and set the size type of the current block to the third type when the width and height of the current block do not meet the aforementioned conditions.

[0215] Figure 12 A schematic diagram of the decoder structure proposed in the embodiments of this application. Figure 2 ,like Figure 12 As shown, the decoder 400 proposed in this application embodiment may further include a second processor 403, a second memory 404 storing executable instructions of the second processor 403, a second communication interface 405, and a second bus 406 for connecting the second processor 403, the second memory 404, and the second communication interface 405.

[0216] Further, in the embodiments of this application, the second processor 403 is configured to parse the bitstream and determine the MIP mode parameters of the current block; if the value of the MIP mode parameters indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, the processor parses the bitstream, determines the MIP mode of the current block, and determines the prediction values ​​of the luminance component and chrominance component corresponding to the current block according to the MIP mode; and decodes the current block according to the prediction values.

[0217] Furthermore, in this embodiment, the functional modules can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional module.

[0218] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method of this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0219] This application provides an image decoder that parses the bitstream to determine the MIP mode parameters of the current block. If the value of the MIP mode parameters indicates that the current block uses MIP mode to determine the intra-frame prediction value of the current block, the decoder parses the bitstream to determine the MIP mode of the current block and determines the prediction values ​​of the luma and chroma components corresponding to the current block based on the MIP mode. Based on the prediction values, the current block is decoded. In other words, in this application's embodiment, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously set the MIP mode parameters and write them into the bitstream for transmission to the decoder while obtaining the intra-frame prediction value of the current block using MIP mode. The decoder parses the bitstream to obtain the MIP mode parameters; if the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity, reduce the storage space and overall time required in the decoding process while ensuring encoding and decoding performance, and effectively improve encoding and decoding efficiency.

[0220] This application provides a computer-readable storage medium having a program stored thereon that, when executed by a processor, implements the methods described in the above embodiments.

[0221] Specifically, the program instructions corresponding to an image prediction method in this embodiment can be stored on storage media such as optical discs, hard disks, and USB flash drives. When the program instructions corresponding to an image prediction method in the storage media are read or executed by an electronic device, the following steps are included:

[0222] If the intra-prediction value of the current block is determined using MIP mode, then the value of the MIP mode parameter is set to indicate the use of MIP mode and written to the bitstream;

[0223] Determine the MIP mode of the current block, and determine the predicted values ​​of the luminance component and chrominance component corresponding to the current block based on the MIP mode;

[0224] Write the MIP mode of the current block into the bitstream.

[0225] Specifically, the program instructions corresponding to an image prediction method in this embodiment can be stored on storage media such as optical discs, hard disks, and USB flash drives. When the program instructions corresponding to an image prediction method in the storage media are read or executed by an electronic device, the following steps are also included:

[0226] Parse the bitstream to determine the MIP mode parameters of the current block;

[0227] If the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra-frame prediction value of the current block, the bitstream is parsed, the MIP mode of the current block is determined, and the prediction values ​​of the luma component and chroma component corresponding to the current block are determined according to the MIP mode.

[0228] The current block is decoded based on the predicted value.

[0229] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0230] This application is described with reference to schematic and / or block diagrams of implementations of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the schematic and / or block diagrams can be implemented by computer program instructions, and combinations of blocks in the schematic and / or block diagrams can be implemented. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the schematic and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0231] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the implementation flow diagram. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0232] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0233] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.

[0234] Industrial applicability

[0235] This application provides an image prediction method, an encoder, a decoder, and a storage medium. If the intra-frame prediction value of the current block is determined using MIP mode, the encoder sets the value of the MIP mode parameter to indicate the use of MIP mode and writes it into the bitstream; determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and writes the MIP mode of the current block into the bitstream. The decoder parses the bitstream and determines the MIP mode parameter of the current block; if the value of the MIP mode parameter indicates that the current block uses MIP mode to determine the intra-frame prediction value of the current block, it parses the bitstream, determines the MIP mode of the current block, and determines the predicted values ​​of the luma and chroma components corresponding to the current block according to the MIP mode; and decodes the current block according to the predicted values. In other words, in the embodiments of this application, when the encoder performs intra-frame prediction on the current block, if it determines that the current block uses MIP mode, it can simultaneously obtain the intra-frame prediction value of the current block using MIP mode, set the MIP mode parameters, and write them into the bitstream for transmission to the decoder. The decoder parses the bitstream to obtain the MIP mode parameters. If the MIP mode parameters indicate that the current block uses MIP mode, then the decoder can use MIP mode to determine the intra-frame prediction value of the current block. Therefore, the image prediction method proposed in this application can use syntax units to indicate whether the current block uses MIP mode in the bitstream, thereby simplifying the image prediction process. It can reduce complexity while ensuring encoding and decoding performance, reduce the storage space and overall time required during the decoding process, and effectively improve encoding and decoding efficiency.

Claims

1. An image prediction method applied to an encoder, the method comprising: If the current block uses matrix-based intra-frame prediction (MIP) to determine the predicted value of the luma component of the current block, then the value of the MIP parameter is set to indicate the use of MIP and written to the bitstream; Determine the MIP mode of the current block, and determine the predicted value of the luminance component of the current block based on the MIP mode; wherein, determining the MIP mode of the current block includes: Determine the size type of the current block; The MIP mode of the current block is determined from the list of candidate MIP modes corresponding to the size type of the current block; Write the MIP mode index number corresponding to the MIP mode of the current block into the code stream; If the current block does not use MIP to determine the predicted value of the luminance component of the current block, then the value of the MIP parameter is set to indicate that MIP is not used and written to the bitstream; When the size type of the current block is the first type, the candidate MIP pattern list includes 16 MIP patterns; When the size type of the current block is the second type, the candidate MIP pattern list includes 8 MIP patterns; When the size type of the current block is the third type, the candidate MIP pattern list includes 6 MIP patterns.

2. The method according to claim 1, wherein, The method further includes indicating the MIP parameters in one or more syntax units in the bitstream. The syntax unit is contained in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

3. The method according to claim 1, wherein, The MIP mode index number is indicated by a syntax unit, wherein the syntax unit is contained in a data unit that includes the current block.

4. An image prediction method applied to a decoder, the method comprising: Parse the bitstream to determine the MIP parameters of the current block; If the value of the MIP parameter indicates that the current block uses MIP to determine the predicted value of the luminance component of the current block, the MIP mode of the current block is determined, and the predicted value of the luminance component of the current block is determined according to the MIP mode; wherein, determining the MIP mode of the current block includes: Parse the bitstream to obtain the MIP mode index number of the current block; Determine the size type of the current block; From the list of candidate MIP modes corresponding to the size type, the MIP mode indicated by the MIP mode index number is determined as the MIP mode of the current block; If the value of the MIP parameter indicates that the current block does not use the MIP to determine the predicted value of the luminance component of the current block, then it is determined that the current block does not use the MIP. When the size type of the current block is the first type, the candidate MIP pattern list includes 16 MIP patterns; When the size type of the current block is the second type, the candidate MIP pattern list includes 8 MIP patterns; When the size type of the current block is the third type, the candidate MIP pattern list includes 6 MIP patterns.

5. The method according to claim 4, wherein, The method further includes: The MIP parameters are indicated in one or more syntax units in the bitstream. The syntax unit is contained in one or more data units in the following bitstream: a data unit containing the current block, a slice header information data unit, an image header information data unit, an image layer parameter set, a sequence layer parameter set, and an adaptive parameter set.

6. The method according to claim 4, wherein, The process of obtaining the MIP mode index number of the current block includes: The MIP pattern index number is obtained by parsing the syntax unit, wherein the syntax unit is contained in the data unit including the current block.

7. An encoder, the encoder comprising a first processor and a first memory storing instructions executable by the first processor, wherein when the instructions are executed by the first processor, the encoder implements the method as described in any one of claims 1-3.

8. A decoder, the decoder comprising a second processor and a second memory storing instructions executable by the second processor, wherein when the instructions are executed by the second processor, the decoder implements the method as described in any one of claims 4-6.

9. A computer storage medium, wherein, The computer storage medium stores a computer program, which, when executed by the first processor, implements the method as described in any one of claims 1-3.

10. A computer storage medium, wherein, The computer storage medium stores a computer program, which, when executed by a second processor, implements the method as described in any one of claims 4-6.

11. A method for transmitting a code stream, characterized in that, Generate a bitstream by performing the method according to any one of claims 1-3; and transmit the bitstream.