Picture prediction method, encoder, decoder, and storage medium

By using a syntax unit to indicate MIP mode in the bitstream, the image prediction method simplifies and enhances the encoding/decoding process, reducing complexity and time while maintaining performance in video coding.

JP2025106816AActive Publication Date: 2025-07-16GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025049967
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-07-07
Filing Date
2025-03-25
Publication Date
2025-07-16
Estimated Expiration
2040-05-15

AI Technical Summary

Technical Problem

The complexity and increased storage space and time requirements of Matrix-based Intra Prediction (MIP) technology in video encoding/decoding processes hinder efficient encoding/decoding performance in Versatile Video Coding (VVC).

Method used

An image prediction method that uses a syntax unit to indicate the use of MIP mode in the bitstream, allowing the encoder to set and write MIP mode parameters, and the decoder to analyze and determine MIP mode parameters for luminance and chrominance components, thereby simplifying the process and reducing complexity.

Benefits of technology

This approach reduces complexity and overall time while improving encoding/decoding efficiency without compromising performance by explicitly indicating MIP mode usage in the bitstream.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025106816000001_ABST
    Figure 2025106816000001_ABST
Patent Text Reader

Abstract

To provide a picture prediction method, encoder, decoder and storage medium that use a Matrix-based Intra Prediction (MIP) mode.SOLUTION: An encoder sets a value of an MIP mode parameter as indicating the use of the MIP mode and writes it into a bitstream; determines the MIP mode of a current block; determines, based on the MIP mode, prediction values for luma and chroma components corresponding to the current block; and writes the MIP mode of the current block into the bitstream. The decoder parses the bitstream and determines an MIP mode parameter of the current block; if the MIP mode parameter value indicates that the current block uses the MIP mode to determine an intra prediction value of the current block, parses the bitstream, determines the MIP mode of the current block and prediction values of luma and chroma components corresponding to the current block based on the MIP mode; and decodes the current block based on the prediction values.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] [Cross - Reference to Related Applications] This application is filed based on and claims priority to a U.S. Provisional Patent Application with Application No. 62 / 871,177, filed on July 7, 2019, and titled "Method, Apparatus, and System for Encoding and Decoding Video Data", the entire contents of which are incorporated herein by reference. Embodiments of this application relate to the field of video encoding / decoding technologies, and particularly to image prediction methods, encoders, decoders, and storage media.

Background Art

[0002] In the reference software test platform for Versatile Video Coding (VVC), a new intra - coding technology, namely Matrix - based Intra Prediction (MIP), has been proposed. MIP is an intra - prediction technology based on neural networks, that is, it uses a multi - layer neural network to predict the luminance value of the current block based on adjacent reconstructed luminance blocks. Specifically, similar to the conventional intra - mode, when performing intra - prediction using the MIP mode, the input predicted by MIP is also the data of the adjacent luminance blocks in the upper 1 row and the left 1 column of the current block, and the output is the predicted value of the luminance component of the current block. The specific prediction process can be divided into three steps: downsampling, matrix - vector multiplication, and interpolation.

[0003] However, due to the higher complexity of the MIP mode, the MIP technology improves the encoding / decoding performance while significantly increasing the storage space and overall time required for the encoding / decoding process, thereby reducing the encoding / decoding efficiency.

Summary of the Invention

Problems to be Solved by the Invention

[0004] Embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium, which can reduce complexity, reduce the storage space and overall time required for the encoding / decoding process, and effectively improve the encoding / decoding efficiency while ensuring the encoding / decoding performance.

Means for Solving the Problem

[0005] The technical solution of the embodiments of the present application is realized as follows.

[0006] In a first aspect, embodiments of the present application provide an image prediction method, which is applied to an encoder. The method includes: When the current block uses the MIP mode to determine the intra prediction value of the current block, setting the value of the MIP mode parameter to indicate the use of the MIP mode and writing it into the bitstream; Determining the MIP mode of the current block, and determining prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode; Writing the MIP mode of the current block into the bitstream.

[0007] In a second aspect, embodiments of the present application provide an image prediction method, which is applied to a decoder. The method includes: Analyzing the bitstream to determine the MIP mode parameter of the current block; When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, analyzing the bitstream to determine the MIP mode of the current block, and determining prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode; Decoding the current block based on the prediction value.

[0008] In a third aspect, an embodiment of the present application provides an encoder, the encoder comprising a setting unit, a first determination unit, and an encoding unit, When the current block uses the MIP mode to determine the intra prediction value of the current block, the setting unit is configured to set the value of the MIP mode parameter to indicate the use of the MIP mode and write it into the bitstream. The first determination unit is configured to determine the MIP mode of the current block and determine prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode. The encoding unit is configured to write the MIP mode of the current block into the bitstream.

[0009] In a fourth aspect, an embodiment of the present application provides an encoder, the encoder comprising a first processor and a first memory in which instructions executable by the first processor are stored. When the instructions are executed by the first processor, the image prediction method described above is realized.

[0010] In a fifth aspect, an embodiment of the present application provides a decoder, the decoder comprising a decoding unit and a second determination unit, The decoding unit is configured to analyze the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoding unit is configured to analyze the bitstream to determine the MIP mode of the current block. The second determination unit is configured to determine prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode. The decoding unit is further configured to decode the current block based on the prediction values.

[0011] In the sixth aspect, an embodiment of the present application provides a decoder, the decoder including a second processor and a second memory storing instructions executable by the second processor, and when the instructions are executed by the second processor, the image prediction method described above is realized.

[0012] In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium storing a program applicable to an encoder and a decoder, and when the computer program is executed by a first processor or a second processor, the image prediction method described above is realized.

Advantages of the Invention

[0013] Embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium. When a current block uses the MIP mode to determine an intra prediction value of the current block, the encoder sets the value of the MIP mode parameter to indicate that the MIP mode is used and writes it into the bitstream, determines the MIP mode of the current block, and determines prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and writes the MIP mode of the current block into the bitstream. The decoder analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, determines prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decodes the current block based on the prediction values. That is, in the embodiments of the present application, when performing intra prediction on a current block, if it is determined that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can use a syntax unit to indicate whether the current block uses the MIP mode in the bitstream, thereby simplifying the image prediction process, reducing complexity in ensuring encoding / decoding performance, reducing the storage space and overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

Brief Description of the Drawings

[0014]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

DETAILED DESCRIPTION OF THE INVENTION

[0015] Hereinafter, the technical solutions of the embodiments of the present application will be clearly and completely described with reference to the drawings of the embodiments of the present application. As can be understood, the specific embodiments described here are only for interpreting the related application and do not limit the said application. Further, as will be further described, for the convenience of explanation, only the parts related to the related application are shown in the drawings.

[0016] Currently, the ITU-T Recommendations and ISO / IEC International Standards for the communication version have launched a standardization project called Versatile Video Coding (VVC) to develop a new generation of video coding standards. The aim is to improve the VVC performance by about 50% compared to the latest H.265 / HEVC standard when encoding high-quality video with one or more of the features of high resolution, high frame rate, high bit depth, high dynamic range, wide color gamut, and omnidirectional viewing angle. JVET is in charge of this standardization project and has been verified to achieve high compression efficiency when encoding high-quality video in various intra prediction modes and inter prediction modes. Therefore, it is adopted in the VVC working draft.

[0017] In video images, VVC accepts the Affine Linear Weighted Intra Prediction technology proposed in Joint Video Experts Team (JVET)-N0217 and renames it as Matrix-based Intra Prediction, i.e., MIP technology. This technology adds different numbers of matrix-based intra prediction modes to the intra luminance prediction process according to the differences in intra luminance coding block sizes.

[0018] To capture finer edge directions in natural videos, VVC expands the 33 intra luminance prediction angle modes defined in the High Efficiency Video Coding (HEVC) video compression standard to 65. Figure 1 is a distribution schematic diagram of 67 prediction modes in intra prediction. As shown in Figure 1, arrow numbers 2 to 66 indicate 65 intra angle prediction modes. Additionally, there are two non-angle modes, namely the gradually changing Planar mode numbered 0 and the DC mode numbered 1. Therefore, the intra prediction process in VVC includes two non-angle modes and 65 angle modes. Here, these 67 prediction modes are called the conventional modes of intra prediction.

[0019] MIP is an intra prediction technique based on neural networks, that is, it uses a multi-layer neural network to predict the luminance value of the current block based on adjacent reconstructed pixels. Specifically, the MIP technique divides luminance coding blocks into three types based on the size of the intra luminance coding block. The size of the luminance coding block is set as W×H, where W is the width parameter and H is the height parameter. Based on the size of the luminance coding block, the luminance coding block can be divided into three types. The luminance coding block with a size of 4×4 is regarded as the first type of luminance block, the luminance coding blocks with sizes of 8×4, 4×8, and 8×8 are regarded as the second type of luminance block, and the luminance coding blocks of other sizes are regarded as the third type of luminance block.

[0020] For these three types of intra luminance coding blocks, the MIP technique adds M types of MIP modes to 67 types of conventional intra prediction modes. M = 16 in the case of the first type of luminance block, M = 8 in the case of the second type of luminance block, and M = 6 in the case of the third type of luminance block.

[0021] Specifically, the MIP technique is only applied to intra luminance prediction. Similar to the conventional mode, the input of MIP prediction is also the data of the upper row and the left column of the current block, and the output is the predicted value of the current block. The specific prediction process can be divided into three steps: averaging, matrix-vector multiplication, and interpolation. That is, by performing the operations of these three steps on the reconstructed luminance values of the adjacent pixel points in the upper row and the left column of the input, the predicted value of the luminance component of the current block can be obtained.

[0022] Figure 2 is a schematic flowchart for encoding in the MIP mode. As shown in Figure 2, performing luminance prediction in the MIP mode is specifically realized as follows.

[0023] In the first step, an averaging operation is performed on the upper adjacent reference point of the current block to obtain the vector bdry topis obtained, and there are a total of N values. An averaging operation is performed on the left adjacent reference point of the current block to obtain the vector bdry left is obtained, and there are a total of N values. When the current luminance number is of the first type, N = 2; when the current luminance number is of the second or third type, N = 4. The vector bdry top and the vector bdry left and are used to form a new vector bdry red which is then used for subsequent operations.

[0024] In the second step, according to the mode number k of the MIP mode, the corresponding matrix A k and the offset amount b k are obtained, and the predicted value of a part of the current block indicated by the intersection line in FIG. 2 is calculated and obtained according to the following formula (1).

Equation

[0025] In the third step, the remaining predicted value Predred in the current block is obtained by linear interpolation.

[0026] Note that in the realization process of encoding the current block, it is necessary to write into the compressed bit stream which specific encoding mode is used for intra prediction. Thus, the decoding side can determine which specific mode is used, whether it is a conventional mode or an MIP mode, which specific conventional mode in the case of a conventional mode, and which specific MIP mode in the case of an MIP mode by analyzing the mode information.

[0027] In the intra prediction of VVC, for each luminance coding block, the rate-distortion cost (RDcost) of 67 conventional modes and M MIP modes is compared, and the optimal mode is selected from the 67 conventional modes and M MIP modes for coding. In order to save bit overhead, an intra mode coding technique based on the most probable modes list (MPM) is used in VVC. Note that since the extended reference line technique and the intra sub-block partitioning technique (ISP) are only used for the modes in the MPM list, both the extendrefflag and the ispflag are 0. That is, when using the 0 reference line and not performing sub-block partitioning, there is no need to code the mpmflag, and the position of the optimal mode in the MPM list is directly coded.

[0028] Furthermore, regarding the construction of the MPM list and the MIPMPM list, in the VVC luminance intra prediction, when the selected optimal mode of the current block is a conventional mode, it is necessary to construct an MPM list including six most probable conventional modes. When the selected optimal mode of the current block is an MIP mode, it is necessary to construct an MIPMPM list including three most probable MIP modes.

[0029] Figure 3 is a distribution schematic diagram of the upper adjacent luminance block and the left adjacent luminance block of the current block. As shown in Figure 3, both of the above two lists are derived based on the optimal modes of the upper adjacent luminance block (A) and the left adjacent luminance block (L) of the current block shown in Figure 3.

[0030] Specifically, regarding the construction of the MPM list, in the VVC intra prediction, when the optimal mode of the current block is a conventional mode, it is necessary to construct an MPM list. In the process of constructing the MPM list, first, it is necessary to obtain the conventional mode ABOVE corresponding to the optimal mode of the upper adjacent luminance block and the conventional mode LEFT corresponding to the optimal mode of the left adjacent luminance block.

[0031] Furthermore, regarding the construction of the MIPMPM list, in VVC intra prediction, when the optimal mode of the current block is the MIP mode, it is necessary to construct the MIPMPM list. In the process of constructing the MIPMPM list, first, it is necessary to obtain the MIP mode ABOVE_MIP corresponding to the optimal mode of the upper adjacent luminance block and the MIP mode LEFT_MIP mode corresponding to the optimal mode of the left adjacent luminance block.

[0032] Furthermore, after obtaining LEFT_MIP and ABOVE_MIP, construct the MIPMPM list including three most likely MIPMPM modes based on the following method. The numbers in MIPMPM are the numbers of MIP modes, the number range is 0 to (M - 1), the numbers of the first type of luminance block are 0 to 15, the numbers of the second type of luminance block are 0 to 7, and the numbers of the third type of luminance block are 0 to 5. If LEFT_MIP is available (not -1), put LEFT_MIP into the MIPMPMlist. If ABOVE_MIP is available (not -1), put ABOVE_MIP into the MIPMPMlist after passing the redundancy check. If LEFT_MIP is unavailable (-1) and ABOVE_MIP is unavailable (-1), add the default list to the MIPMPMlist after passing the redundancy check based on the type of the current block until the MIPMPMlist is full. Furthermore, there is a Direct Mode (DM) that utilizes the correlation between components in the chrominance intra prediction process of VVC. The Direct Mode performs intra prediction of the current chrominance block using the intra prediction mode at the center position of the luminance coding block at the same position corresponding to the current block. FIG. 4 is a distribution schematic diagram for determining the DM mode. As shown in FIG. 4, since the MIP technology is applied only to the luminance coding block, when the intra prediction mode at the CR position in FIG. 4 is the MIP mode, it is necessary to map the MIP mode to the conventional mode by the "MIP - conventional mapping table" to perform intra prediction of the current chrominance block.

[0033] Due to the computational load and memory cost required for the MIP technology, it is difficult to implement the MIP mode with a device having a lower computing power or a lower memory capacity. Therefore, it is impossible to effectively transmit and control the MIP mode in the latest VVC working draft design. For this reason, it is difficult to implement in the realization of flexible coding / decoding and dynamic video streams.

[0034] To solve the above problems, in the embodiments of the present application, when the encoder performs intra prediction on the current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameters, write them into the bitstream, and transmit them to the decoding side. The decoder can analyze the bitstream to obtain the MIP mode parameters. When the MIP mode parameters indicate that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. That is, in the present application, the VVC bitstream transmits one or more syntax elements to enable or disable the MIP mode. The syntax elements may be located in data units in the video sequence layer, picture layer and / or sub-picture layer, slice / tile / brick layer. The sub-picture refers to a region covering a part of the picture. As can be seen from the above, the image prediction method according to the present application can use the syntax unit to indicate whether the current block uses the MIP mode in the bitstream, thereby simplifying the image prediction process of the MIP mode, reducing the complexity, reducing the storage space and overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency while ensuring the encoding / decoding performance.

[0035] FIG. 5 is a structural schematic diagram of a video encoding system. As shown in FIG. 5, the video encoding system 100 includes components such as a transform and quantization module 101, an intra prediction module 102, an intra prediction module 103, a motion compensation module 104, a motion estimation module 105, an inverse transform and inverse quantization module 106, a filter control 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 decoded image cache module 110. FIG. 6 is a structural schematic diagram of a video decoding system. As shown in FIG. 6, 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 prediction module 203, a motion compensation module 204, a deblocking filtering and SAO filtering module 205, and a decoded image cache module 206. The video image undergoes processing by components such as the transform and quantization module 101, the intra prediction module 102, the intra prediction module 103, the motion compensation module 104, the motion estimation module 105, the deblocking filtering and SAO filtering module 108, and the header information encoding and CABAC module 109 in the video encoding system 100, and then outputs the bitstream of the video image. The bitstream is input into the video decoding system 200, and after undergoing processing by components such as the header information decoding and CABAC decoding module 201, the inverse transform and inverse quantization module 202, the intra prediction module 203, and the motion compensation module 204 in the video decoding system 200, the original video image is finally restored.

[0036] The image prediction method according to the present application can affect the entropy encoding process and the entropy decoding process in the encoding / decoding process. Exemplarily, the image prediction method according to the present application can be applied to the position 109 in the structure of the video encoding system shown in FIG. 5, and can also be applied to the position 201 in the structure of the video decoding system shown in FIG. 6.

[0037] Hereinafter, the technical solution of the embodiments of the present application will be clearly and completely described with reference to the drawings of the embodiments of the present application.

[0038] One embodiment of the present application provides an image prediction method, which is applied to an encoder. FIG. 7 is a schematic implementation flowchart 1 of the image prediction method. As shown in FIG. 7, in the present application, the method for the encoder to perform image prediction may include the following steps.

[0039] In step 101, when the current block uses the MIP mode to determine the intra prediction value of the current block, the value of the MIP mode parameter is set to indicate the use of the MIP mode and written into the bitstream.

[0040] In the embodiment of the present application, when the current block uses the MIP mode to determine the intra prediction value of the current block, 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. The current block can indicate the current encoding target block or the current decoding target block. Specifically, in the present application, when the encoder encodes, the current block is the encoding target block.

[0041] Furthermore, in the embodiment of the present application, when the encoder encodes the current block, it can first select the optimal encoding method in the conventional mode and the MIP mode.

[0042] In the embodiments of the present application, in the intra prediction process of VVC, for any one luminance coding block, one optimal mode can be selected from the conventional modes and the MIP mode for encoding. The conventional modes are 67 intra prediction modes including the Planar mode with number 0, the DC mode with number 1, and 65 angular modes.

[0043] Furthermore, in the embodiments of the present application, when the encoder selects the optimal mode, it can compare the Rdcost of 67 conventional modes and M MIP modes for the current block, and thus select and encode the optimal mode based on the comparison result. The value of M also varies depending on the size type of the current block. Specifically, when the current block is the first type of luminance block, that is, when the size of the current block is 4×4, M = 16; when the current block is the second type of luminance block, that is, when the size of the current block is 8×4, 4×8, or 8×8, M = 8; when the current block is the third type of luminance block, that is, when the current block has other sizes, M = 6.

[0044] As can be understood, in the embodiments of the present application, when the encoder determines to use the MIP mode to determine the intra prediction value of the current block, 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. That is, the encoder can use the syntax unit to indicate whether the current block uses the MIP mode, that is, the MIP mode parameter is used to indicate whether the current block uses the MIP mode.

[0045] Exemplarily, in the embodiments of the present application, after the encoder determines to use the MIP mode to determine the intra prediction value of the current block, 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 the MIP mode.

[0046] Furthermore, in the embodiments of the present application, when the encoder determines not to use the MIP mode to determine the intra prediction value of the current block, the encoder can set the value of the MIP mode parameter to indicate not using the MIP mode and write it into the bitstream.

[0047] Exemplarily, in the embodiments of the present application, after the encoder determines not to use the MIP mode to determine the intra prediction value of the current block, the encoder can set the value of the MIP mode parameter to 0 and write it into the bitstream, thereby indicating that the current block does not use the MIP mode.

[0048] Furthermore, in the embodiments of the present application, after the encoder completes setting the value of the MIP mode parameter, the MIP mode parameter can be indicated in one or more syntax units in the bitstream. That is, after the encoder completes setting the MIP mode parameter according to whether the current block uses the MIP mode, the MIP mode parameter can be indicated in one or more syntax units in the bitstream.

[0049] As can be understood, in the embodiments of the present application, the syntax unit indicating the MIP mode parameter may be included in one or more data units in the following bitstream. The data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set.

[0050] It should be noted that in the embodiments of the present application, one or more data units in the data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set in the bitstream can indicate the MIP mode parameter. Therefore, the MIP mode parameter set by the encoder can be adapted to them.

[0051] Exemplarily, in the present application, when 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 analyzing the data unit of the sequence parameter set in the bitstream, the decoder can determine the MIP mode parameter sps_mip_enable_flag.

[0052] Exemplarily, in the present application, when the encoder writes the MIP mode parameter into the picture parameter set (PPS), the MIP mode parameter can be indicated by pps_mip_enable_flag. Therefore, after analyzing the data unit of the picture parameter set in the bitstream, the decoder can determine the MIP mode parameter pps_mip_enable_flag.

[0053] Exemplarily, in the present application, when the encoder writes the MIP mode parameter into the adaptive parameter set (APS), the MIP mode parameter can be indicated by aps_mip_enable_flag. Therefore, after analyzing the data unit of the adaptive parameter set in the bitstream, the decoder can determine the MIP mode parameter aps_mip_enable_flag.

[0054] Exemplarily, in the present application, when 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 analyzing the data unit of the slice header information data unit in the bitstream, the decoder can determine the MIP mode parameter slice_mip_enable_flag.

[0055] In step 102, determine the MIP mode of the current block, and based on the MIP mode, determine the predicted values of the luminance component and the chrominance component corresponding to the current block.

[0056] In the embodiments of the present application, when using the MIP mode for the current block to determine the intra prediction value of the current block, the encoder can further determine the MIP mode of the current block and then determine the predicted values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode.

[0057] As can be understood, in the embodiments of the present application, when the encoder determines the MIP mode corresponding to the current block, it can 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.

[0058] Furthermore, in the embodiments of the present application, the current block can be divided into three types of size types based on the size of the current block. If the size of the current block is W×H, where W is the width parameter and H is the height parameter, the current block of size 4×4 can be determined as the first type of luminance block, that is, it is determined that the size type of the current block is the first type. Further, the current blocks of sizes 8×4, 4×8, and 8×8 can be determined as the second type of luminance block, that is, it is determined that the size type of the current block is the second type. Further, the current blocks of other sizes can be determined as the third type of luminance block, that is, it can be determined that the size type of the current block is the third type.

[0059] As can be understood, in this application, the current block may have 25 types of sizes according to the height parameter and the width parameter. Specifically, in the standard, it is stipulated that the maximum size of the luminance block is 128×128. However, the maximum size of the conversion unit is 64×64. That is, when the luminance block is of the size 128×128, it is necessary to first perform a quadtree division. Therefore, the maximum size of the luminance block is 64×64. Table 1 is a table showing the sizes of the luminance blocks, as shown in Table 1.

[0060]

Table 1

[0061] Currently, the MIP mode is restricted based on the height parameter and the width parameter of the current block. Specifically, when the ratio of the width to the height of the current block is greater than 4, or the ratio of the height to the width is greater than 4, the current block is not encoded using the MIP mode. Table 2 shows the restrictions on the sizes of the luminance blocks in the MIP mode, as shown in Table 2.

[0062]

Table 2

[0063] That is, in the present application, when the encoder determines the size type of the current block, if both the width and height of the current block are equal to 4, that is, when the size of the current block is 4×4, the size type of the current block can be set as the first type; if both the width and height of the current block are equal to 8, that is, when the size of the current block is 8×8, or if the width of the current block is equal to 8 and the height is equal to 4, that is, when the size of the current block is 8×4, or if the width of the current block is equal to 4 and the height is equal to 8, that is, when the size of the current block is 4×8, the size type of the current block can be set as the second type; if the width and height of the current block do not satisfy the above conditions, that is, when 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 as the third type.

[0064] Furthermore, in the embodiment of the present application, based on the size type division method proposed in the current standard, when the encoder determines the size type of the current block, if both the width and height of the current block are equal to 4, the size type of the current block can be set as the first type; if both the width and height of the current block are 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 as the second type; if the width and height of the current block do not satisfy the above conditions, that is, if the width and height of the current block are not simultaneously equal to 4 or 8, or if both the width and height of the current block are not equal to 4, the size type of the current block can be set as the third type.

[0065] Note that in the embodiment of the present application, for different size types, the encoder can construct different candidate MIP mode lists. Specifically, the MIP technology adds M types of MIP modes to 67 types of conventional intra prediction modes, and the value of M is also different for different size types. The value of M may include 16, 8, and 6.

[0066] Exemplarily, in the present application, when the size type of the current block is the first type, the value of M is 16, that is, a candidate MIP mode list can be constructed based on 16 types of MIP modes. When the size type of the current block is the second type, the value of M is 8, that is, a candidate MIP mode list can be constructed based on 8 types of MIP modes. When the size type of the current block is the third type, the value of M is 6, that is, a candidate MIP mode list can be constructed based on 6 types of MIP modes.

[0067] Furthermore, in the embodiments of the present application, after the encoder completes the construction of the candidate MIP mode list based on the size type of the current block, the encoder can determine the MIP mode used by the current block from the candidate MIP mode list. Thereby, image prediction processing can be performed on the current block using the MIP mode to obtain the intra prediction value of the current block.

[0068] As can be understood, in the embodiments of the present application, after the encoder constructs the candidate MIP mode list corresponding to the current block, the encoder selects one MIP mode from the candidate MIP mode list, and then can determine the prediction values of the luminance component and the chrominance component corresponding to the current block using the MIP mode.

[0069] Specifically, in the embodiments of the present 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 amount bk. Thereby, matrix-vector multiplication can be performed based on the above formula (1) to obtain the prediction value of the luminance component corresponding to the current block.

[0070] Note that in the embodiments of the present application, after the encoder determines the MIP mode of the current block from the candidate MIP mode list, the encoder further sets the MIP mode index number of the current block based on the MIP mode of the current block, and can write the MIP mode index number into the bit stream.

[0071] As can be understood, in the present application, the MIP mode index number of the current block may 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 transmits it to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode index number of the current block, and thereby can determine the MIP mode indicated by the MIP mode index number from the candidate MIP mode list of the current block.

[0072] In step 103, write the MIP mode of the current block into the bitstream.

[0073] In the embodiment of the present application, after the encoder determines the MIP mode of the current block and determines the predicted values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, the encoder can write the MIP mode of the current block into the bitstream.

[0074] That is, in the present application, in the process of encoding the current block, the encoder not only needs to write into the compressed bitstream whether the current block uses the MIP mode, but also needs to write into the bitstream which specific mode is used, for example, which specific MIP mode is used when performing intra prediction using the MIP mode.

[0075] Embodiments of the present application provide an image prediction method. When a current block uses the MIP mode to determine an intra prediction value of the current block, an encoder sets a value of an MIP mode parameter to indicate that the MIP mode is used and writes it into a bitstream, determines the MIP mode of the current block, and determines prediction values of a luminance component and a chrominance component corresponding to the current block based on the MIP mode, and writes the MIP mode of the current block into the bitstream. That is, in the embodiments of the present application, when the encoder performs intra prediction on a current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder can analyze the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using a syntax unit, thereby simplifying the image prediction process, reducing complexity, reducing the storage space and overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency while ensuring the encoding / decoding performance.

[0076] Based on the above embodiments, further embodiments of the present application provide an image prediction method. When the encoder determines to predict the intra prediction value of the current block using the MIP mode, the encoder can write an MIP mode parameter for indicating whether the current block uses the MIP mode into one or more syntax elements in the bitstream. That is, in the present application, the VVC bitstream transmits one or more syntax elements to enable or disable the MIP mode. The syntax elements may be located in data units in a video sequence layer, a picture layer and / or a sub-picture layer, a slice / tile / brick layer, and the sub-picture refers to an area covering a part of the picture.

[0077] Exemplarily, in the present application, the encoder can determine whether to use the MIP mode when encoding a video sequence. The entropy encoding unit can encode a flag in a parameter set that may be related to all slices in the video sequence. Table 3 shows an example of implementation in the sequence parameter set (SPS) of the grammar structure, and u(1) represents the entropy encoding method described in detail in the VVC working draft.

[0078]

Table 3

[0079] According to Table 3 above, when the encoder determines not to use the MIP mode when encoding the input video sequence, the entropy encoding unit can set sps_mip_enable_flag to be equal to 0 and write the value to the SPS (indirectly) related to the slices in the video sequence. When the encoder determines to use the MIP mode when encoding one or more slices in the input video sequence, the entropy encoding unit can set sps_mip_enable_flag to be equal to 1 and write the value to the SPS (indirectly) related to the slices in the video sequence.

[0080] That is, in the present application, after the encoder completes setting the value of the MIP mode parameter sps_mip_enable_flag, it can indicate the MIP mode parameter in one or more grammar units in the bitstream. That is, according to whether the current block uses the MIP mode, after the encoder completes setting the MIP mode parameter sps_mip_enable_flag, it can write the MIP mode parameter sps_mip_enable_flag to the sequence parameter set in the bitstream.

[0081] Exemplarily, in the present application, the encoder can determine whether to use the MIP mode when encoding a picture in a video sequence or a sub-picture in a picture. The entropy encoding unit can encode a flag in a parameter set that may be related to all slices in the picture or sub-picture. Table 4 shows an example of implementation in the picture parameter set (PPS) of the syntax structure, and u(1) indicates the entropy encoding method described in detail in the VVC working draft.

[0082]

Table 4

[0083] According to Table 4 above, when the encoder determines not to use the MIP mode when encoding a picture or sub-picture, the entropy encoding unit can set pps_mip_enable_flag to be equal to 0 and write this value to the PPS related to the slice in the picture or sub-picture. When the encoder determines to use the MIP mode when encoding one or more slices in the picture or sub-picture, the entropy encoding unit can set pps_mip_enable_flag to be equal to 1 and write this value to the PPS (indirectly) related to the slice in the picture or sub-picture.

[0084] That is, in the present application, after the encoder completes setting the value 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, according to whether the current block uses the MIP mode, after the encoder completes setting the MIP mode parameter pps_mip_enable_flag, it can write the MIP mode parameter pps_mip_enable_flag to the picture parameter set in the bitstream.

[0085] Exemplarily, in the present application, the encoder can determine whether to use the MIP mode when encoding a picture in a video sequence or a sub-picture in a picture. The entropy encoding unit can encode a flag in a parameter set that may be related to all slices in the picture or sub-picture. Table 5 shows an example of implementation in an Adaptive Parameter Set (APS) of a grammar structure, and u(1) represents an entropy encoding method described in detail in the VVC working draft.

[0086]

Table 5

[0087] According to Table 5 above, when the encoder determines not to use the MIP mode when encoding a picture or sub-picture, the entropy encoding unit can set aps_mip_enable_flag to be equal to 0 and write this value to the APS related to the slices in the picture or sub-picture. When the encoder determines to use the MIP mode when encoding one or more slices in a picture or sub-picture, the entropy encoding unit can set aps_mip_enable_flag to be equal to 1 and write this value to the APS (indirectly) related to the slices in the picture or sub-picture.

[0088] That is, in the present application, after the encoder completes setting the value of the MIP mode parameter aps_mip_enable_flag, it can indicate the MIP mode parameter in one or more grammar units in the bitstream. That is, depending on whether the current block uses the MIP mode, after the encoder completes setting the MIP mode parameter aps_mip_enable_flag, it can write the MIP mode parameter aps_mip_enable_flag to the adaptive parameter set in the bitstream.

[0089]

Table 6

[0090] Exemplarily, in the present application, the encoder can determine whether to use the MIP mode when encoding a slice. The entropy encoding unit can encode the flag in the slice header. Table 6 shows an example of the implementation in the slice header of the grammar structure, and u(1) represents the entropy encoding method described in detail in the VVC working draft.

[0091] According to Table 6 above, when the encoder determines not to use the MIP mode when encoding a slice, the entropy encoding unit can set slice_mip_enable_flag to be equal to 0 and write the value to the slice header. When the encoder determines to use the MIP mode when encoding a slice, the entropy encoding unit can set slice_mip_enable_flag to be equal to 1 and write the value to the slice header.

[0092] That is, in the present application, after the encoder completes setting the value of the MIP mode parameter slice_mip_enable_flag, it can indicate the MIP mode parameter in one or more grammar units in the bitstream. That is, the encoder can write the MIP mode parameter slice_mip_enable_flag to the slice header information data unit in the bitstream after completing the setting of the MIP mode parameter slice_mip_enable_flag according to whether the current block uses the MIP mode.

[0093] Exemplarily, in the present application, when encoding a tile or a brick, the encoder determines whether to use the MIP mode, and the entropy encoding unit can write similar MIP mode parameters thereto as part of a parameter set indicating the division of the tile or brick of the picture or sub-picture. As an option, the entropy encoding unit can further write similar MIP mode parameters to the slice data related to the tile or brick in the slice to indicate whether to use the MIP mode when encoding the tile or brick.

[0094] Exemplarily, in the present application, the encoder can determine to use the MIP mode when encoding a part of a picture or sub-picture in a video sequence. The entropy encoding unit encodes the sps_mip_enable_flag in the SPS to 1, encodes the pps_mip_enable_flag in the PPS or the aps_mip_enable_flag in the APS related to the slice in the picture or sub-picture to 1, and can encode the pps_mip_enable_flag in the PPS or the aps_mip_enable_flag in the APS related to other pictures or sub-pictures in the video sequence to 0. As an option, the entropy encoding unit can encode the slice_mip_enable_flag of the slice in the picture or sub-picture (or similar MIP mode parameters of the tile or brick in the slice data) to 1, and can encode the slice_mip_enable_flag of the slice in the picture or sub-picture (or similar MIP mode parameters of the tile or brick in the slice data) to 0.

[0095] Exemplarily, in the present application, the encoder can further implicitly convey whether the MIP mode is used to encode a video sequence in other syntax elements (e.g., syntax elements indicating rank / grade / level (PTL) in one or more parameter sets of a bitstream or sub-bitstream). For example, the encoder sets the MIP mode to be invalid in one or more PTLs and sets the MIP mode to be valid in other PTLs.

[0096] As understood, in the present application, when the encoder transmits an instruction to encode the current block using the MIP mode to the bitstream, correspondingly, the decoder can decode the bitstream using the MIP mode.

[0097] The embodiments of the present application provide an image prediction method. When a current block uses the MIP mode to determine the intra prediction value of the current block, the encoder sets the value of the MIP mode parameter to indicate the use of the MIP mode and writes it into the bitstream, determines the MIP mode of the current block, and determines the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and writes the MIP mode of the current block into the bitstream. That is, in the embodiments of the present application, when the encoder performs intra prediction on a current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder can analyze the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using a syntax unit, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

[0098] Based on the above embodiments, an embodiment of the present application provides an image prediction method, which is applied to a decoder. FIG. 8 is a schematic implementation flowchart 2 of the image prediction method. As shown in FIG. 8, in the present application, the method for the decoder to perform image prediction may include the following steps.

[0099] In step 201, analyze the bitstream to determine the MIP mode parameter of the current block.

[0100] In the embodiments of the present application, the decoder analyzes the bitstream to determine the MIP mode parameters of the current block. The current block can indicate the current block to be encoded or the current block to be decoded. Specifically, in the present application, when the decoder decodes, the current block is the block to be decoded.

[0101] As can be understood, in the embodiments of the present application, the decoder can analyze one or more syntax units in the bitstream, thereby determining the MIP mode parameters of the current block. That is, in the present application, the MIP mode parameters can be indicated by one or more syntax units in the bitstream.

[0102] Furthermore, in the embodiments of the present application, the syntax unit indicating the MIP mode parameters may be included in one or more data units in the following bitstream. The data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set.

[0103] Note that in the embodiments of the present application, the MIP mode parameters are used to indicate whether the current block uses the MIP mode. Specifically, when the MIP mode parameters indicate that the MIP mode is used, the decoder can determine the intra prediction value of the current block using the MIP mode. When the MIP mode parameters indicate that the MIP mode is not used, the decoder cannot determine the intra prediction value of the current block using the MIP mode.

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

[0105] Exemplarily, in the embodiments of the present application, after the decoder determines the MIP mode parameter, if the value of the MIP mode parameter is 1, it can indicate that the current block uses the MIP mode. Then, the decoder can use the MIP mode to determine the intra prediction value of the current block.

[0106] Exemplarily, in the embodiments of the present 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. Then, the decoder cannot use the MIP mode to determine the intra prediction value of the current block.

[0107] In addition, in the embodiments of the present application, one or more data units in the data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set in the bitstream can indicate the MIP mode parameter. Therefore, the MIP mode parameter obtained by the decoder through analysis can be adapted to them.

[0108] Exemplarily, in the present application, when the encoder writes the MIP mode parameter into the sequence parameter set, the MIP mode parameter can be indicated by sps_mip_enable_flag. Therefore, after the decoder analyzes the data unit of the sequence parameter set in the bitstream, it can determine the MIP mode parameter sps_mip_enable_flag.

[0109] Exemplarily, in the present application, when the encoder writes the MIP mode parameter into the picture parameter set, the MIP mode parameter can be indicated by pps_mip_enable_flag. Therefore, after the decoder analyzes the data unit of the picture parameter set in the bitstream, it can determine the MIP mode parameter pps_mip_enable_flag.

[0110] Exemplarily, in the present application, when 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 analyzing the data unit of the adaptive parameter set in the bitstream, the decoder can determine the MIP mode parameter aps_mip_enable_flag.

[0111] Exemplarily, in the present application, when the encoder writes the MIP mode parameters into the slice header information data unit, the MIP mode parameters can be indicated by slice_mip_enable_flag. Therefore, after analyzing the data unit of the slice header information data unit in the bitstream, the decoder can determine the MIP mode parameter slice_mip_enable_flag.

[0112] In step 202, when the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, and determines the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode.

[0113] In the embodiment of the present application, after the decoder analyzes the bitstream to determine the MIP mode parameter of the current block, when the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder can continue to analyze the bitstream to determine the MIP mode of the current block, and then determine the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode.

[0114] As can be understood, in the embodiments of the present application, after the decoder analyzes the bitstream to determine the MIP mode parameters of the current block, if the value of the MIP mode parameter indicates that the intra prediction value of the current block is not determined using the MIP mode, the decoder will not use the MIP mode for the current block.

[0115] That is, in the present application, in the process of realizing the decoding of the current block, the decoder analyzes the bitstream. The decoder can not only obtain the MIP mode parameter indicating whether the current block uses the MIP mode, but also determine specifically which mode the current block written in the bitstream uses, for example, which specific MIP mode is used when performing intra prediction using the MIP mode.

[0116] Furthermore, in the embodiments of the present application, in the intra prediction process of VVC, for any one of the luminance coding blocks, one optimal mode can be selected from the conventional mode and the MIP mode for encoding. The conventional mode is 67 intra prediction modes including the Planar mode numbered 0, the DC mode numbered 1, and 65 angular modes.

[0117] It should be noted that in the embodiments of the present application, when the decoder determines the intra prediction value of the current block using the MIP mode, the decoder analyzes the bitstream to further determine the MIP mode of the current block, and then can determine the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode.

[0118] As can be understood, in the embodiments of the present application, when the decoder analyzes the bitstream to determine the MIP mode of the current block, first, the decoder analyzes the bitstream to obtain the MIP mode index number of the current block, and then after determining the size type of the current block, the MIP mode indicated by the MIP mode index number can be determined as the MIP mode of the current block from the candidate MIP mode list corresponding to the size type.

[0119] Furthermore, in the embodiments of the present application, the MIP mode index number of the current block may 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 transmits it to the decoding side. The decoder can determine the MIP mode indicated by the MIP mode index number from the candidate MIP mode list of the current block according to the MIP mode index number of the current block obtained by analyzing the bitstream.

[0120] In addition, in the embodiments of the present application, when determining the MIP mode of the current block, the decoder can first determine the size type of the current block. Specifically, according to Table 2 above, when determining the size type of the current block, if both the width and height of the current block are equal to 4, that is, when the size of the current block is 4×4, the size type of the current block can be set as the first type; if both the width and height of the current block are equal to 8, that is, when the size of the current block is 8×8, or if the width of the current block is equal to 8 and the height is equal to 4, that is, when the size of the current block is 8×4, or if the width of the current block is equal to 4 and the height is equal to 8, that is, when the size of the current block is 4×8, the size type of the current block can be set as the second type; if the width and height of the current block do not meet the above conditions, that is, when 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 as the third type.

[0121] Furthermore, in the embodiments of the present application, based on the splitting method of the size type proposed in the current standard, when determining the size type of the current block, if both the width and height of the current block are equal to 4, the size type of the current block can be set as the first type; if both the width and height of the current block are 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 as the second type; if the width and height of the current block do not satisfy the above conditions, that is, if the width and height of the current block are not simultaneously equal to 4 or 8, or if both the width and height of the current block are not equal to 4, the size type of the current block can be set as the third type.

[0122] As can be understood, in the embodiments of the present application, for different size types, the decoder can construct different candidate MIP mode lists. Specifically, the MIP technology adds M types of MIP modes to 67 types of conventional intra prediction modes, and the value of M also varies depending on different size types. The value of M may include 16, 8, and 6.

[0123] Exemplarily, in the present application, when the size type of the current block is the first type, the value of M is 16, that is, a candidate MIP mode list can be constructed based on 16 types of MIP modes; when the size type of the current block is the second type, the value of M is 8, that is, a candidate MIP mode list can be constructed based on 8 types of MIP modes; when the size type of the current block is the third type, the value of M is 6, that is, a candidate MIP mode list can be constructed based on 6 types of MIP modes.

[0124] Exemplarily, in the embodiments of the present 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 amount bk, and thereby performing matrix-vector multiplication based on the above formula (1) to obtain the luminance component prediction value corresponding to the current block.

[0125] In step 203, the current block is decoded based on the predicted value.

[0126] In the embodiments of the present application, after the decoder analyzes the bitstream to determine the MIP mode of the current block and determines the predicted values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, the current block can be decoded based on the predicted values of the luminance component and the chrominance component.

[0127] The embodiments of the present application provide an image prediction method. The decoder analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, and determines the predicted values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decodes the current block based on the predicted values. That is, in the embodiments of the present application, when the encoder performs intra prediction on the current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using the syntax unit, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

[0128] Based on the above embodiments, other embodiments of the present application provide an image prediction method. The decoder can analyze the bitstream to obtain one or more syntax elements for indicating whether the current block uses the MIP mode to determine the predicted value of the current block. Further, in the present application, the decoder can analyze the obtained one or more syntax elements to indicate whether to use the MIP mode when decoding a video sequence, one or more pictures, a slice, a tile, or a block. That is, in the present application, the VVC bitstream transmits one or more syntax elements to enable or disable the MIP mode. The syntax elements may be located in data units in the video sequence layer, picture layer, and / or sub-picture layer, slice / tile / block layer, and the sub-picture refers to an area covering a part of the picture.

[0129] Exemplarily, in the present application, the decoder can obtain the MIP mode parameter from the parameter set related to all slices in the video sequence. Specifically, the decoder can obtain the MIP mode parameter from the SPS. Table 3 above shows an example of the implementation in the SPS of the syntax structure, and u(1) indicates the entropy decoding method described in detail in the VVC working draft.

[0130] When the decoder determines that the value of the MIP mode parameter sps_mip_enable_flag is equal to 0, the decoder does not use the MIP mode when decoding the slice (indirectly) related to the SPS. When the decoder determines that the value of the MIP mode parameter sps_mip_enable_flag is equal to 1, the decoder uses the MIP mode when decoding the slice (indirectly) related to the SPS.

[0131] That is, in the present application, after analyzing the sequence parameter set in the bitstream, the decoder can determine the MIP mode parameter sps_mip_enable_flag, and then, based on the value of the MIP mode parameter sps_mip_enable_flag, it can determine whether the current block is to be decoded using the MIP mode.

[0132] Exemplarily, in the present application, the decoder can obtain the MIP mode parameter from the parameter set related to all slices in a picture or a sub-picture in the video sequence. Specifically, the decoder can obtain the MIP mode parameter from the PPS. Table 4 above shows an example of the implementation in the PPS of the grammar structure, and u(1) indicates the entropy decoding method described in detail in the VVC working draft.

[0133] When the decoder determines that the value of the MIP mode parameter pps_mip_enable_flag is equal to 0, the decoder does not use the MIP mode when decoding the slice related to the PPS. When the decoder determines that the value of the MIP mode parameter pps_mip_enable_flag is equal to 1, the decoder uses the MIP mode when decoding the slice related to the PPS.

[0134] That is, in the present application, after analyzing the picture parameter set in the bitstream, the decoder can determine the MIP mode parameter pps_mip_enable_flag, and then, based on the value of the MIP mode parameter pps_mip_enable_flag, it can determine whether the current block is to be decoded using the MIP mode.

[0135] Exemplarily, in the present application, the decoder can obtain MIP mode parameters from a parameter set related to all slices in a picture or sub-picture in a video sequence. Specifically, the decoder can obtain MIP mode parameters from the APS. Table 5 above shows an example of the implementation in the sequence parameter set APS of the grammar structure, and u(1) represents the entropy decoding method described in detail in the VVC working draft.

[0136] When the decoder determines that the value of the MIP mode parameter aps_mip_enable_flag is equal to 0, the decoder does not use the MIP mode when decoding the slice related to the APS. When the decoder determines that the value of the MIP mode parameter aps_mip_enable_flag is equal to 1, the decoder uses the MIP mode when decoding the slice related to the APS.

[0137] That is, in the present application, after analyzing the adaptive parameter set in the bitstream, the decoder can determine the MIP mode parameter aps_mip_enable_flag, and then, based on the value of the MIP mode parameter aps_mip_enable_flag, determine whether the current block is to be decoded using the MIP mode.

[0138] Exemplarily, in the present application, the decoder can obtain MIP mode parameters from the slice header. Table 6 above shows an example of the implementation in the slice header of the grammar structure, and u(1) represents the entropy decoding method described in detail in the VVC working draft.

[0139] When the decoder determines that the value of the MIP mode parameter slice_mip_enable_flag is equal to 0, the decoder does not use the 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 uses the MIP mode when decoding the slice.

[0140] That is, in the present application, after analyzing the slice header information data unit in the bitstream, the decoder can determine the MIP mode parameter slice_mip_enable_flag, and then, based on the value of the MIP mode parameter slice_mip_enable_flag, can determine whether to decode the current block using the MIP mode.

[0141] Exemplarily, in the present application, when decoding a tile or a block, the decoder can obtain a similar MIP mode parameter, and the similar MIP mode parameter indicates whether to use the MIP mode when encoding the tile or block of the picture or sub-picture as part of a parameter set indicating the division of the tile or block of the picture or sub-picture. As an option, the decoder can further obtain a similar MIP mode parameter from the slice data related to the tile or block in the slice, thereby indicating whether to use the MIP mode when encoding the tile or block.

[0142] Exemplarily, in the present application, the decoder can obtain various MIP mode parameters from different data units in the input bitstream. The decoder can obtain that the sps_mip_enable_flag in the SPS is equal to 1, and the pps_mip_enable_flag in the PPS or the aps_mip_enable_flag in the APS related to the slice in the picture or sub-picture is equal to 1, and the pps_mip_enable_flag in the PPS or the aps_mip_enable_flag in the APS related to other pictures or sub-pictures is equal to 0. In such a case, the decoder can use the MIP mode when decoding some pictures or sub-pictures in the input bitstream and not use the MIP mode when decoding other pictures or sub-pictures. As an option, the decoder can obtain that the slice_mip_enable_flag (or a similar MIP mode parameter of the tile or block in the slice data) in the slice header of the picture or sub-picture is equal to 1, and the decoder can use the MIP mode when decoding the slice. The decoder can further obtain that the slice_mip_enable_flag (or a similar MIP mode parameter of the tile or block in the slice data) in the slice header of other slices in the picture or sub-picture is equal to 0, and the decoder does not use the MIP mode when decoding the slice.

[0143] Exemplarily, in the present application, whether the MIP mode is used to decode the input bitstream from other syntax elements (for example, the syntax elements of PTL in one or more parameter sets indicating the bitstream or sub-bitstream) can be implicitly notified to the decoder. For example, the MIP mode is set to be invalid when decoding in one or more PTLs, but the MIP mode is set to be valid when decoding in other PTLs.

[0144] Embodiments of the present application provide an image prediction method. The decoder analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, and determines the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decodes the current block based on the prediction values. That is, in the embodiments of the present application, when the encoder performs intra prediction on the current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, and set the MIP mode parameter and write it into the bitstream for transmission to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using a syntax unit, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

[0145] Based on the above embodiments, in a further embodiment of the present application, in the embodiments of the encoder and the decoder described by the above embodiments, for example, the MIP mode can be set to be executable in the session negotiation process.

[0146] Exemplarily, in the first exemplary system, a transmitter comprising an encoder generates a bitstream for a receiver based on the processing capabilities of the receiver. For example, when performing session negotiation, if the transmitter determines that the receiver cannot smoothly enable the MIP mode to process the bitstream (or if the receiver notifies the transmitter that the receiver cannot smoothly enable the MIP mode to decode the bitstream), the transmitter disables the MIP mode and generates the bitstream, for example, by setting sps_mip_enable_flag equal to 0.

[0147] Exemplarily, the second exemplary system comprises a transmitter, and the transmitter stores a plurality of bitstreams that use the MIP mode when decoding all or different parts of the bitstream. When performing session negotiation, if the transmitter determines that the receiver cannot smoothly enable the MIP mode to process the bitstream (or if the receiver notifies the transmitter that the receiver cannot smoothly enable the MIP mode to decode the bitstream), the transmitter transmits, at its option, a bitstream that disables the MIP mode, for example, a bitstream for which sps_mip_enable_flag is equal to 0.

[0148] Exemplarily, the third exemplary system is a real-time communication system, such as a video conference, a video phone, a live video bitstream, etc. Different from the first exemplary system, the receiver is not necessarily unable to process the bitstream encoded using the MIP mode at all times. For example, the receiver may have a battery. When the energy in the battery is lower than a threshold (e.g., 20% of the total power), due to the low energy, the receiver notifies the transmitter that it cannot process the bitstream encoded using the MIP mode. When receiving a request from the receiver, the transmitter can disable the MIP mode, for example, start a new encoded video sequence (CVS, Encoding video sequence) by a new SPS including that the sps_mip_enable_flag is equal to 0, or generate a new PPS or APS including that the MIP enable flag (MIP mode parameter) is equal to 0, or set the MIP enable flag in the slice header (or other similar syntax elements of tiles or blocks) to be equal to 0, so as to generate a bitstream. When the receiver charges its battery, the receiver can notify the transmitter that it can process the bitstream encoded using the MIP mode. In such a case, the transmitter can generate a bitstream using the MIP mode and set the corresponding flag in the SPS, PPS, APS or slice header. Alternatively, the transmitter can switch different rails including different bitstreams generated by different MIP mode settings to satisfy the request from the receiver.

[0149] The embodiments of the present application provide an image prediction method. When the encoder performs intra prediction on the current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder can analyze the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using a syntax unit, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

[0150] Based on the above embodiments, in a further embodiment of the present application, FIG. 9 is a schematic structural diagram 1 of an encoder according to an embodiment of the present application. As shown in FIG. 9, the encoder 300 according to the embodiment of the present application may include a setting unit 301, a first determination unit 302, and an encoding unit 303. When the current block uses the MIP mode to determine the intra prediction value of the current block, the setting unit 301 is configured to set the value of the MIP mode parameter to indicate the use of the MIP mode and write it into the bitstream. The first determination unit 302 is configured to determine the MIP mode of the current block and determine the prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode. The encoding unit 303 is configured to write the MIP mode of the current block into the bitstream.

[0151] Furthermore, in the embodiment of the present application, when the current block does not use the MIP mode to determine the intra prediction value of the current block, the setting unit 301 is further configured to set the value of the MIP mode parameter to indicate that the MIP mode is not used and write it into the bitstream.

[0152] Furthermore, in the embodiment of the present application, the MIP mode parameter is indicated by one or more syntax units in the bitstream.

[0153] Furthermore, in the embodiment of the present application, the syntax unit is included in one or more data units in the following bitstream: the data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set.

[0154] Furthermore, in the embodiment of the present application, the first determination unit 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.

[0155] Furthermore, in the embodiment of the present application, when the size type of the current block is the first type, the first determination unit 302 is further specifically configured to construct the candidate MIP mode list based on 16 types of MIP modes; when the size type of the current block is the second type, construct the candidate MIP mode list based on 8 types of MIP modes; and when the size type of the current block is the third type, construct the candidate MIP mode list based on 6 types of MIP modes.

[0156] Furthermore, in the embodiment of the present application, the first determination unit 302 is more specifically configured to set the size type of the current block as the first type when both the width and height of the current block are equal to 4; set the size type of the current block as the second type when both the width and height of the current block are 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 as the third type when the width and height of the current block do not satisfy the above conditions.

[0157] Furthermore, in the embodiment of the present application, the first determination unit 302 is more specifically configured to set the size type of the current block as the first type when both the width and height of the current block are equal to 4; set the size type of the current block as the second type when both the width and height of the current block are 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 as the third type when the width and height of the current block do not satisfy the above conditions.

[0158] FIG. 10 is a schematic configuration diagram 2 of an encoder according to an embodiment of the present application. As shown in FIG. 10, the encoder 300 according to the embodiment of the present application may further include a first processor 304, a first memory 305 in which executable instructions of the first processor 304 are stored, 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.

[0159] Furthermore, in the embodiment of the present application, when the first processor 304 determines the intra prediction value of the current block using the MIP mode, the value of the MIP mode parameter is set to indicate the use of the MIP mode and written into the bitstream, the MIP mode of the current block is determined, and prediction values of the luminance component and the chrominance component corresponding to the current block are determined based on the MIP mode, and the MIP mode of the current block is written into the bitstream.

[0160] Also, in this embodiment, each functional module may be integrated into one processing unit, each unit may physically exist independently, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional module.

[0161] When the integrated unit is implemented in the form of a software functional module and is sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on such an understanding, the essential part of the technical solution of this embodiment that contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product. The computer software product includes several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method of this embodiment and is stored in a storage medium. The storage medium includes various media that can store program codes, such as a USB memory, a portable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0162] Embodiments of the present application provide an image encoder. When a current block uses the MIP mode to determine an intra prediction value of the current block, the encoder sets a value of an MIP mode parameter to indicate that the MIP mode is used and writes it into a bitstream, determines the MIP mode of the current block, determines prediction values of a luminance component and a chrominance component corresponding to the current block based on the MIP mode, and writes the MIP mode of the current block into the bitstream. The decoder analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, determines prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decodes the current block based on the prediction values. That is, in the embodiments of the present application, when performing intra prediction on a current block, if it is determined that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can use a syntax unit to indicate whether the current block uses the MIP mode in the bitstream, thereby simplifying the image prediction process, reducing the complexity, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency while ensuring the encoding / decoding performance.

[0163] Based on the above embodiments, in other embodiments of the present application, FIG. 11 is a schematic configuration diagram 1 of a decoder according to an embodiment of the present application. As shown in FIG. 11, the decoder 400 according to the embodiment of the present application may include a decoding unit 401 and a second determination unit 402. The decoding unit 401 analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, it is configured to analyze the bitstream to determine the MIP mode of the current block. The second determination unit 402 is configured to determine prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode. The decoding unit 401 is further configured to decode the current block based on the prediction value.

[0164] Furthermore, in the embodiment of the present application, after the second determination unit 402 analyzes the bitstream to determine the MIP mode parameter of the current block, when the value of the MIP mode parameter indicates that the current block does not use the MIP mode to determine the intra prediction value of the current block, it is configured to determine that the current block does not use the MIP mode.

[0165] Furthermore, in the embodiment of the present application, the MIP mode parameter is indicated by one or more syntax units in the bitstream.

[0166] Furthermore, in the embodiment of the present application, the syntax unit is included in one or more data units in the following bitstream. The data unit including the current block, the slice header information data unit, the picture header information data unit, the picture layer parameter set, the sequence parameter set, and the adaptive parameter set.

[0167] Furthermore, in the embodiments of the present application, specifically, the decoding unit 401 analyzes the bitstream to obtain the MIP mode index number of the current block, determines the size type of the current block, and determines, from the candidate MIP mode list corresponding to the size type, the MIP mode indicated by the MIP mode index number as the MIP mode of the current block.

[0168] Furthermore, in the embodiments of the present application, when the size type of the current block is the first type, a candidate MIP mode list is constructed based on 16 types of MIP modes; when the size type of the current block is the second type, a candidate MIP mode list is constructed based on 8 types of MIP modes; and when the size type of the current block is the third type, a candidate MIP mode list is constructed based on 6 types of MIP modes.

[0169] Furthermore, in the embodiments of the present application, more specifically, when both the width and height of the current block are equal to 4, the size type of the current block is set as the first type; when both the width and height of the current block are 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, the size type of the current block is set as the second type; and when the width and height of the current block do not satisfy the above conditions, the size type of the current block is set as the third type.

[0170] Furthermore, in the embodiments of the present application, more specifically, when both the width and height of the current block are equal to 4, the size type of the current block is set as the first type; when both the width and height of the current block are equal to 8, or when one of the width and height of the current block is equal to 4, the size type of the current block is set as the second type; and when the width and height of the current block do not satisfy the above conditions, the size type of the current block is set as the third type.

[0171] FIG. 12 is a schematic configuration diagram 2 of a decoder according to an embodiment of the present application. As shown in FIG. 12, the decoder 400 according to the embodiment of the present application may further include a second processor 403, a second memory 404 in which executable instructions of the second processor 403 are stored, 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.

[0172] Furthermore, in the embodiment of the present application, the second processor 403 is used to analyze a bitstream to determine the MIP mode parameter of the current block, and when the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, analyze the bitstream to determine the MIP mode of the current block, and determine prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decode the current block based on the prediction values.

[0173] Also, in this embodiment, each functional module may be integrated into one processing unit, each unit may physically exist independently, and two or more units may be integrated into one unit. The above integrated unit may be realized in the form of hardware or in the form of a software functional module.

[0174] The integrated unit is implemented in the form of software function modules and may be stored in a computer-readable storage medium when sold or used as an independent product. Based on such an understanding, the essence of the technical solution of this embodiment or the part that contributes to the prior art, or all or part of the technical solution may be embodied in the form of a software product. The computer software product includes a storage medium containing instructions for causing a computer device (which may be a personal computer, server, network device, etc.) or a processor to execute all or part of the steps of the method of this embodiment. And the above storage medium includes various media capable of storing program codes such as a USB memory, a portable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0175] Embodiments of the present application provide an image decoder, which analyzes a bitstream to determine the MIP mode parameters of the current block. When the value of the MIP mode parameters indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the bitstream is analyzed to determine the MIP mode of the current block, and prediction values of the luminance component and the chrominance component corresponding to the current block are determined based on the MIP mode, and the current block is decoded based on the prediction values. That is, in the embodiments of the present application, when the encoder performs intra prediction on the current block and determines that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameters, write them into the bitstream, and transmit them to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameters. When the MIP mode parameters indicate that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can use a syntax unit to indicate whether the current block uses the MIP mode in the bitstream, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

[0176] Embodiments of the present application provide a computer-readable storage medium and a computer-readable storage medium, in which a program is stored. When the program is executed by a processor, the method described in the above embodiments is realized.

[0177] Specifically, the program instructions corresponding to the image prediction method of this embodiment may be stored in a storage medium such as an optical disc, a hard disk, or a USB memory. When the program instructions corresponding to the image prediction method in the storage medium are read or executed by an electronic device, When the current block uses the MIP mode to determine the intra prediction value of the current block, setting the value of the MIP mode parameter to indicate the use of the MIP mode and writing it to the bitstream; Determining the MIP mode of the current block and determining prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode; Writing the MIP mode of the current block to the bitstream, and including.

[0178] Specifically, the program instructions corresponding to the image prediction method of this embodiment may be stored in a storage medium such as an optical disk, a hard disk, a USB memory, etc. When the program instructions corresponding to the image prediction method in the storage medium are read or executed by an electronic device, Analyzing the bitstream to determine the MIP mode parameter of the current block; When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, analyzing the bitstream to determine the MIP mode of the current block and determining prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode; Further including decoding the current block based on the prediction value.

[0179] As can be understood by those skilled in the art, the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application may use the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. And the present application may also use the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to magnetic disk memories and optical memories, etc.) containing computer-usable program codes.

[0180] This application is described with reference to schematic implementation flowcharts and / or block diagrams of a method, an apparatus (system), and a computer program product according to embodiments of the present application. As can be understood, each process and / or block in the schematic implementation flowchart and / or block diagram, and combinations of processes and / or blocks in the schematic implementation flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a dedicated computer, an embedded processor, or other programmable data processing devices so as to generate a machine for realizing the functions specified in one or more processes in the schematic implementation flowchart and / or one or more blocks in the block diagram by the instructions executed by the processor of the computer or other programmable data processing devices.

[0181] These computer program instructions may be stored in a computer-readable memory that can guide a computer or other programmable data processing device to operate in a specific manner, thereby generating a manufactured product equipped with an instruction device based on the instructions stored in the computer-readable memory. The instruction device realizes the functions specified in one or more processes in the schematic implementation flowchart and / or one or more blocks in the block diagram.

[0182] These computer program instructions may also be installed in a computer or other programmable data processing device. Thereby, by executing a series of operation steps in the computer or other programmable device, a process realized by the computer is generated. As a result, the instructions executed in the computer or other programmable device provide steps for realizing the functions specified in one or more processes in the schematic implementation flowchart and / or one or more blocks in the block diagram.

[0183] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Industrial Applicability

[0184] The embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium. When a current block uses the MIP mode to determine an intra prediction value of the current block, the encoder sets the value of the MIP mode parameter to indicate that the MIP mode is used and writes it into the bitstream, determines the MIP mode of the current block, and determines prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and writes the MIP mode of the current block into the bitstream. The decoder analyzes the bitstream to determine the MIP mode parameter of the current block. When the value of the MIP mode parameter indicates that the current block uses the MIP mode to determine the intra prediction value of the current block, the decoder analyzes the bitstream to determine the MIP mode of the current block, determines prediction values of the luminance component and the chrominance component corresponding to the current block based on the MIP mode, and decodes the current block based on the prediction values. That is, in the embodiments of the present application, when performing intra prediction on a current block, if it is determined that the current block uses the MIP mode, the encoder can obtain the intra prediction value of the current block using the MIP mode, set the MIP mode parameter, write it into the bitstream, and transmit it to the decoding side. The decoder analyzes the bitstream to obtain the MIP mode parameter. When the MIP mode parameter indicates that the current block uses the MIP mode, the decoder can determine the intra prediction value of the current block using the MIP mode. As can be seen from the above, the image prediction method according to the present application can indicate whether the current block uses the MIP mode in the bitstream by using a syntax unit, thereby simplifying the image prediction process, reducing the complexity in ensuring the encoding / decoding performance, reducing the storage space and the overall time required for the encoding / decoding process, and effectively improving the encoding / decoding efficiency.

Claims

1. An image prediction method applied to a decoder, comprising: analyzing a bitstream to determine a MIP mode parameter of a current block; when the value of the MIP mode parameter indicates that an intra prediction value of the current block is determined using the MIP mode for the current block, determining the MIP mode of the current block and determining a prediction value corresponding to the current block based on the MIP mode; Determining the MIP mode of the current block includes: determining a size type of the current block; determining, from a candidate MIP mode list corresponding to the size type, the MIP mode of the current block indicated by a MIP mode index as the MIP mode of the current block; the MIP mode parameter is indicated by a first syntax unit, and the first syntax unit is included in a data unit in the current block; the MIP mode index is indicated by a second syntax unit, and the second syntax unit is included in a data unit in the current block; analysis of the MIP mode index of the MIP mode is independent of the value of the MIP mode index; An image prediction method.

2. The image prediction method further includes: when the value of the MIP mode parameter indicates that the MIP mode is not used to determine the intra prediction value of the current block for the current block, determining not to use the MIP mode for the current block. The image prediction method according to claim 1.

3. When the size type of the current block is a first type, the candidate MIP mode list includes 16 types of MIP modes; When the size type of the current block is a second type, the candidate MIP mode list includes 8 types of MIP modes; When the size type of the current block is a third type, the candidate MIP mode list includes 6 types of MIP modes. The image prediction method according to claim 1.

4. Determining the size type of the current block includes: when both the width and height of the current block are equal to 4, setting the size type of the current block as the first type; When both the width and height of the current block are equal to 8, or when one of the width and height of the current block is equal to 4, setting the size type of the current block as the second type; When the width and height of the current block do not satisfy the above conditions, setting the size type of the current block as the third type, the image prediction method according to claim 2, comprising:

5. An image prediction method applied to an encoder, When determining the intra prediction value of the current block using the MIP mode for the current block, setting the value of the MIP mode parameter so as to indicate using the MIP mode; Determining the MIP mode of the current block, determining the MIP mode index of the current block based on the MIP mode, and writing it into the bitstream, comprising: Determining the MIP mode of the current block includes: Determining the size type of the current block; Constructing the candidate MIP mode list based on the size type, wherein in the candidate MIP mode list, the MIP mode index and the candidate MIP mode are corresponding; Determining the MIP mode of the current block from the candidate MIP mode list; The MIP mode parameter is indicated by a first syntax unit, and the first syntax unit is included in the data unit in the current block; The MIP mode index is indicated by a second syntax unit, and the second syntax unit is included in the data unit in the current block; Writing the MIP mode index of the MIP mode is independent of the value of the MIP mode index; Image prediction method.

6. The image prediction method further includes: When not using the MIP mode to determine the intra prediction value of the current block for the current block, setting the value of the MIP mode parameter so as to indicate not using the MIP mode and writing it into the bitstream. The image prediction method according to claim 5.

7. When the size type of the current block is the first type, the candidate MIP mode list includes 16 types of MIP modes; When the size type of the current block is the second type, the candidate MIP mode list includes 8 types of MIP modes; When the size type of the current block is the third type, six types of MIP modes are included in the candidate MIP mode list. The image prediction method according to claim 5.

8. Determining the size type of the current block includes: When both the width and height of the current block are equal to 4, setting the size type of the current block as the first type; When both the width and height of the current block are equal to 8, or when one of the width and height of the current block is equal to 4, setting the size type of the current block as the second type; When the width and height of the current block do not satisfy the above conditions, setting the size type of the current block as the third type. The image prediction method according to claim 6.

9. A decoder comprising: A processor and a memory storing instructions executable by the processor. When the instructions are executed by the processor, the processor executes the image prediction method according to any one of claims 1 to 4.

10. An encoder comprising: A processor and a memory storing instructions executable by the processor. When the instructions are executed by the processor, the processor executes the image prediction method according to any one of claims 5 to 8.

11. A non - volatile computer - readable medium storing a bitstream obtained by the image prediction method according to any one of claims 5 to 8, which is executed by one or more processors.