Intra prediction coding method, intra prediction decoding method, communication apparatus, and storage medium

By introducing higher-order intra prediction and nonlinear projection functions into intra prediction technology, the problem of low prediction accuracy of nonlinear texture images in the prior art is solved, and efficient encoding and decoding of video image frames is realized.

WO2025007603A1PCT designated stage expired Publication Date: 2025-01-09ZTE CORP

Patent Information

Application Number
PCT/CN2024/084729
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-03
Filing Date
2024-03-29
Publication Date
2025-01-09

AI Technical Summary

Technical Problem

The existing intra prediction technology has low accuracy in predicting nonlinear texture images, especially using one-dimensional projection prediction method, which cannot effectively predict the pixel values ​​of nonlinear texture images.

Method used

Using advanced intra prediction (HOIP) technology, the reference pixel is predicted through nonlinear projection function to generate code stream information of video image frames, including the target main angle prediction mode and the target extended angle prediction mode, which is used to perform high-level results at the decoding end. Order intra prediction.

Benefits of technology

The prediction accuracy of nonlinear texture images is improved, the high-order intra prediction of video image frames is realized, the complexity of encoding and decoding is reduced, and the encoding performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024084729_09012025_PF_FP_ABST
    Figure CN2024084729_09012025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of video coding, and disclosed thereby are an intra prediction coding method, an intra prediction decoding method, a communication apparatus, and a storage medium. Coding and decoding of high order intra prediction on a video image frame can be performed. The method comprises: generating bitstream information of a video image frame, the bitstream information of the video image frame comprising first indication information corresponding to a target primary angle prediction mode and second indication information corresponding to a target extended angle prediction mode, and the target primary angle prediction mode and the target extended angle prediction mode being angle prediction modes used to perform high order intra prediction on pixels to be predicted in a prediction unit in the video image frame; and sending the bitstream information of the video image frame to a decoding end.
Need to check novelty before this filing date? Find Prior Art

Description

Intra-frame prediction encoding method, decoding method, communication device and storage medium

[0001] This disclosure claims priority to Chinese patent application No. 202310807774.4, filed on July 3, 2023, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present application relates to the field of video coding technology, and in particular to an intra-frame prediction encoding method, decoding method, communication device and storage medium. Background Art

[0003] In the current intra-frame prediction process, when predicting the pixel value of the pixel to be predicted in the prediction unit by one-dimensional projection prediction, since the projection path of the reference pixel is a straight line, the prediction accuracy is high when predicting linear texture images, but the prediction accuracy is low when predicting nonlinear texture images.

[0004] To address the low accuracy of one-dimensional projection prediction for nonlinear texture images, high-order intra prediction (HOIP) has been proposed. This technique predicts reference pixels using a nonlinear projection function. The projection path of the reference pixels is a nonlinear projection function curve, enabling accurate prediction of pixel values ​​in nonlinear texture images. Therefore, how to encode and decode video frames using HOIP has become a pressing technical challenge.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide an intra-frame prediction encoding method, a decoding method, a communication device, and a storage medium, which can perform high-order intra-frame prediction encoding and decoding on video image frames.

[0007] On the one hand, a coding method for intra-frame prediction is provided, comprising:

[0008] generating bitstream information of a video image frame, the bitstream information of the video image frame including first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, the target main angle prediction mode and the target extended angle prediction mode being angle prediction modes for performing high-order intra-frame prediction on pixels to be predicted in a prediction unit in the video image frame;

[0009] The code stream information of the video image frame is sent to the decoding end.

[0010] On the other hand, a decoding method for intra-frame prediction is provided, comprising:

[0011] receiving code stream information of the video image frame, the code stream information of the video image frame including first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, the target main angle prediction mode and the target extended angle prediction mode being angle prediction modes for performing high-order intra-frame prediction on to-be-predicted pixels in a prediction unit in the video image frame;

[0012] determining the target main angle prediction mode based on the first indication information;

[0013] Based on the second indication information, the target extended angle prediction mode is determined.

[0014] In another aspect, an intra-frame prediction encoding apparatus is provided, comprising: a processing unit and a communication unit;

[0015] a processing unit, configured to generate code stream information of a video image frame, the code stream information of the video image frame including first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, the target main angle prediction mode and the target extended angle prediction mode being angle prediction modes used to perform high-order intra-frame prediction on to-be-predicted pixels in a prediction unit in the video image frame;

[0016] The communication unit is used to send the code stream information of the video image frame to the decoding end.

[0017] In yet another aspect, a decoding apparatus for intra-frame prediction is provided, comprising: a processing unit and a communication unit;

[0018] a communication unit, configured to receive code stream information of the video image frame, the code stream information of the video image frame including first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, the target main angle prediction mode and the target extended angle prediction mode being angle prediction modes for performing high-order intra-frame prediction on to-be-predicted pixels in a prediction unit in the video image frame;

[0019] a processing unit, configured to determine the target main angle prediction mode based on the first indication information;

[0020] The processing unit is further configured to determine the target extended angle prediction mode based on the second indication information.

[0021] On the other hand, a communication device is provided, comprising: a memory and a processor; the memory and the processor are coupled; the memory is used to store a computer program; and the processor implements the method described in any one of the above aspects when executing the computer program.

[0022] On the other hand, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method described in any one of the above aspects is implemented.

[0023] In yet another aspect, a computer program product is provided. The computer program product comprises computer program instructions, and when the computer program instructions are executed by a processor, the method according to any one of the above aspects is implemented.

[0024] In this embodiment of the present application, when generating bitstream information for a video image frame, the encoder encodes the target main angle prediction mode and target extended angle prediction mode used for high-order intra-frame prediction, and transmits the bitstream containing the encoded information of the target main angle prediction mode and the target extended angle prediction mode to the decoder. Thus, after receiving the bitstream, the decoder can decode the encoded information of the target main angle prediction mode and the target extended angle prediction mode, thereby implementing high-order intra-frame prediction for the video image. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the present application, the following briefly introduces the drawings required for use in some embodiments of the present application. Obviously, the drawings described below are only drawings of some embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0026] FIG1 is a schematic diagram of a projection path of a reference pixel in a one-dimensional projection prediction process provided by some embodiments of the present application;

[0027] FIG2 is a schematic diagram of a projection path of a reference pixel in a quadratic function projection prediction process provided by some embodiments of the present application;

[0028] FIG3 is a schematic flow chart of an intra-frame prediction encoding method provided in some embodiments of the present application;

[0029] FIG4 is a schematic flow chart of another intra-frame prediction encoding method provided in some embodiments of the present application;

[0030] FIG5 is a schematic flow chart of another intra-frame prediction encoding method provided in some embodiments of the present application;

[0031] FIG6 is a schematic flow chart of another intra-frame prediction encoding method provided in some embodiments of the present application;

[0032] FIG7 is a schematic flow chart of another intra-frame prediction encoding method provided in some embodiments of the present application;

[0033] FIG8 is a schematic flow chart of a decoding method for intra-frame prediction provided in some embodiments of the present application;

[0034] FIG9 is a schematic flow chart of another intra-frame prediction decoding method provided in some embodiments of the present application;

[0035] FIG10 is a schematic structural diagram of a communication device provided in some embodiments of the present application;

[0036] FIG11 is a schematic structural diagram of another communication device provided in some embodiments of the present application;

[0037] FIG12 is a schematic structural diagram of another communication device provided in some embodiments of the present application. DETAILED DESCRIPTION

[0038] The following will be combined with the accompanying drawings to clearly and completely describe the technical solutions in this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0039] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0040] In the following, the terms "first," "second," etc. are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the quantity of the technical features indicated. Therefore, a feature specified as "first," "second," etc. may explicitly or implicitly include one or more of the features.

[0041] In the description of this application, unless otherwise specified, " / " means "or." For example, A / B can mean A or B. "And / or" in this document is simply a description of an association between related objects, indicating that three relationships can exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, "at least one" means one or more, and "a plurality" means two or more.

[0042] Intra-frame prediction is the process of predicting the pixel values ​​of the pixels to be predicted in prediction units that are spatially adjacent to the reference pixels in a video frame using the pixel values ​​of the reference pixels in the frame. Intra-frame prediction effectively reduces spatial redundancy in video frames, improving transmission and encoding / decoding efficiency.

[0043] It should be noted that the pixels recorded in this application may be pixel points, pixel blocks, or other forms of pixels, and this application does not limit this.

[0044] During intra-frame prediction, a one-dimensional projection prediction method is usually used to predict the pixel value of each pixel in the prediction unit. This process can be implemented by following steps 1 to 3.

[0045] Step 1: The encoder determines the position of the pixel to be predicted in the prediction unit and the angle prediction mode.

[0046] In the versatile video coding (VVC) method, intra-frame prediction includes 67 angular prediction modes, including planar, direct current (DC), and 65 other angular prediction modes. Every pixel to be predicted in the same prediction unit uses the same angular prediction mode. Each mode corresponds to an angle in the intra-frame prediction mode.

[0047] Step 2: The encoder calculates the position and angle prediction mode of any pixel to be predicted in the prediction unit based on a linear function to determine the position of the reference pixel corresponding to the pixel to be predicted.

[0048] In some embodiments, in vertical prediction mode, the encoder may determine the position of the reference pixel based on the following formula 1: c1 = x0 - tanα*y0 Formula 1

[0049] Wherein, c1 is the horizontal coordinate of the reference pixel, x0 is the horizontal coordinate of the pixel to be predicted, y0 is the vertical coordinate of the pixel to be predicted, and α is the value of the angle prediction mode.

[0050] In the vertical prediction mode, the vertical coordinate of the reference pixel is 0. That is, the coordinates of the reference pixel are (c1, 0).

[0051] In the horizontal prediction mode, the encoder can determine the position of the reference pixel based on the following formula 2: c2 = y0 - tanα * x0 Formula 2

[0052] Wherein, c2 is the horizontal coordinate of the reference pixel.

[0053] In the horizontal prediction mode, the horizontal coordinate of the reference pixel is 0. That is, the coordinates of the reference pixel are (0, c2).

[0054] Step 3: The encoder determines the predicted pixel value of the pixel to be predicted based on the pixel value of the reference pixel.

[0055] The pixel value of the reference pixel is the pixel value corresponding to the position of the reference pixel calculated in step 2. The pixel value of the reference pixel and the position of the reference pixel mentioned in the subsequent description all satisfy this relationship.

[0056] As an example, the encoder may calculate the predicted pixel value of the pixel to be predicted by using a 4-tap cubic interpolation filter.

[0057] In this case, the encoder can determine the predicted pixel value of the pixel to be predicted based on the following formula 3. p[x0][y0]=f[0]*p[c][0]+f[1]*p[c+1][0]+f[2]*p[c+2][0]+f[3]*p[c+3][0] Formula 3

[0058] Among them, p[x0][y0] is the predicted pixel value of the pixel to be predicted at the coordinate position (x0, y0), p[c][0] is the pixel value of the reference pixel at the pixel position (c, 0), p[c+1][0] is the pixel value of the pixel at the pixel position (c+1, 0), p[c+2][0] is the pixel value of the pixel at the pixel position (c+2, 0), and p[c+3][0] is the pixel value of the pixel at the pixel position (c+3, 0). f[0], f[1], f[2], and f[3] are the filter coefficients in the interpolation filter, which are pre-set fixed values.

[0059] As an example, as shown in Figure 1, during one-dimensional projection prediction, the projection path of a reference pixel is a linear line, and the pixels along this line are assumed to have the same pixel value. Because one-dimensional projection prediction typically predicts pixels along a line to have the same pixel value, it is more accurate for linear texture images, but less accurate for nonlinear texture images.

[0060] To address the problem that one-dimensional projection prediction cannot accurately predict nonlinear texture images, a HOIP technique is proposed. In this technique, the pixel value of the pixel to be predicted is predicted using a nonlinear projection function (e.g., a quadratic function). The projection path of the reference pixel calculated based on the quadratic function is a quadratic function curve, which can accurately predict the pixel value of the nonlinear texture image. This solves the problem that the projection path of the reference pixel in the one-dimensional projection function is a straight line, which makes it difficult to predict nonlinear texture images.

[0061] The process of predicting the pixel value of the pixel to be predicted based on HOIP technology is as follows:

[0062] Step a: The encoder determines the position of the pixel to be predicted in the prediction unit and determines the angle prediction mode group.

[0063] The angle prediction mode group includes: angle prediction mode α and angle prediction mode β. Both angle prediction mode α and angle prediction mode β are angle prediction modes in the vertical prediction angle prediction mode; or both angle prediction mode α and angle prediction mode β are angle prediction modes in the horizontal prediction angle prediction mode.

[0064] Step b: The encoding end calculates the position of the pixel to be predicted and the angle prediction mode based on the quadratic function to determine the position of the reference pixel corresponding to the pixel to be predicted.

[0065] In the case where both the angular prediction mode α and the angular prediction mode β are angular prediction modes in the vertical prediction angular prediction mode, the position of the reference pixel is calculated based on Formula 4.

[0066] Where c3 is the horizontal coordinate of the reference pixel, and h is the height of the coding unit. In vertical prediction mode, the vertical coordinate of the reference pixel is 0. In other words, the coordinates of the reference pixel are (c3, 0).

[0067] In the case where both the angular prediction mode α and the angular prediction mode β are angular prediction modes in the horizontal prediction angular prediction mode, the position of the reference pixel is calculated based on Formula 5.

[0068] Where c4 is the vertical coordinate of the reference pixel, and w is the width of the coding unit. In horizontal prediction mode, the horizontal coordinate of the reference pixel is 0. In other words, the coordinates of the reference pixel are (0, c4).

[0069] Step c: The encoder predicts the pixel value of the pixel to be predicted in the prediction unit according to the pixel value of the reference pixel.

[0070] The specific implementation process of step c is similar to that of step 3 above and will not be repeated here.

[0071] As an example, as shown in Figure 2, the projection curve of the projection path of the reference pixel in the HOIP prediction process is a nonlinear quadratic function curve. Based on this, the HOIP technology can well predict the pixel values ​​of the to-be-predicted pixels in the prediction unit of the nonlinear texture image.

[0072] To address the low accuracy of one-dimensional projection prediction for nonlinear texture images, high-order intra-frame prediction (HOIP) has been proposed. This technique uses a nonlinear projection function to find the reference pixel position corresponding to the pixel to be predicted. The projection path of the reference pixel is a nonlinear projection function curve, which accurately predicts the pixel value of the nonlinear texture image. Therefore, how to encode and decode video image frames using HOIP technology has become a pressing technical challenge.

[0073] To address the technical issue in related technologies where high-order intra-frame prediction cannot be encoded, an embodiment of the present application provides an intra-frame prediction encoding method. When generating bitstream information for a video image frame, an encoder encodes the target main angle prediction mode and target extended angle prediction mode used for high-order intra-frame prediction, and transmits the bitstream containing the encoded information of the target main angle prediction mode and the target extended angle prediction mode to a decoder. Thus, upon receiving the bitstream, the decoder can decode the encoded information of the target main angle prediction mode and the target extended angle prediction mode, thereby accurately performing high-order intra-frame prediction on the video image.

[0074] As shown in FIG3 , the present application provides an intra-frame prediction encoding method as shown in FIG3 , which can be implemented by the following steps 301 and 302:

[0075] Step 301: The encoding end generates code stream information of the video image frame.

[0076] Among them, the code stream information of the video image frame includes first indication information corresponding to the target main angle prediction mode and second indication information corresponding to the target extended angle prediction mode. The target main angle prediction mode and the target extended angle prediction mode are angle prediction modes used to perform high-order intra-frame prediction on the pixels to be predicted in the prediction unit in the video image frame.

[0077] In some embodiments, the first indication information is used to indicate the index value of the target main angle prediction mode. The implementation method of encoding the index value of the target main angle prediction mode as the first indication information can refer to related technologies and will not be described in detail here.

[0078] In some embodiments, the second indication information is used to indicate an index value of the target extended angle prediction mode.

[0079] As a specific implementation method, the encoding end first determines multiple candidate angle prediction mode groups, each candidate angle prediction mode group includes a candidate main angle prediction mode and a candidate extended angle prediction mode. Then the encoding end determines the candidate angle prediction mode group with the best cost value as the target angle prediction mode group based on the HOIP technology, and the target angle prediction mode group includes the above-mentioned target main angle prediction mode and target extended angle prediction mode. The encoding end encodes the target main angle prediction mode to determine the first indication information, encodes the target extended angle prediction mode to determine the second indication information, and adds the first indication information and the second indication information to the code stream information of the generated video image frame.

[0080] Step 302: The encoder sends code stream information of the video image frame to the decoder.

[0081] In this embodiment of the present application, when generating bitstream information for a video image frame, the encoder encodes the target main angle prediction mode and target extended angle prediction mode used for high-order intra-frame prediction, and transmits the bitstream containing the encoded information of the target main angle prediction mode and the target extended angle prediction mode to the decoder. Thus, upon receiving the bitstream, the decoder can decode the encoded information of the target main angle prediction mode and the target extended angle prediction mode, thereby accurately performing high-order intra-frame prediction on the video image.

[0082] In some embodiments, the code stream information of the video image frame includes at least one of the following:

[0083] The first identification information is used to indicate whether high-order intra-frame prediction is enabled for the video image frame.

[0084] The second identification information is used to indicate an index value of an extended angle prediction mode of high-order intra prediction.

[0085] The third identification information is used to indicate whether high-order intra-frame prediction is disabled for all video image frames.

[0086] The fourth identification information is used to indicate whether the prediction unit enables high-order intra prediction.

[0087] Prediction residual information, where the prediction residual information is used to indicate a prediction residual between a predicted pixel value and an original pixel value of a pixel to be predicted in the prediction unit.

[0088] The prediction residual information may be information obtained by entropy encoding the difference or the prediction residual. The prediction residual may be the difference between the predicted pixel value and the original pixel value of the pixel to be predicted, or may be the value of the difference between the predicted pixel value and the original pixel value of the pixel to be predicted after transformation and quantization.

[0089] As an example, the encoding end may identify at least one of the first identification information, the second identification information, the third identification information, and the fourth identification information by adding a corresponding field in the code stream information of the video image frame, which is described in detail below.

[0090] For the first identification information, the encoder adds a new sps_hoip_enabled_flag field in the sequence parameter set (SPS) as the first identification information. That is, the encoder indicates whether high-order intra prediction is enabled for the video image frame through the sps_hoip_enabled_flag field in the SPS.

[0091] When the value of the sps_hoip_enabled_flag field is 1, it indicates that high-order intra prediction is enabled in the coded layer video sequence (CLVS). When the value of the sps_hoip_enabled_flag field is 0, it indicates that high-order intra prediction is not enabled in the CLVS.

[0092] For example, part of the content of the SPS with the newly added sps_hoip_enabled_flag field is shown in Table 1 below:

[0093] Table 1. Adding the sps_hoip_enabled_flag field in SPS

[0094] For the second identification information, the encoder adds an appendIntraDir field to the intra prediction data structure (Struct IntraPredictionData for prediction unit) of the prediction unit (PU) as the second identification information. That is, the encoder adds the appendIntraDir field (i.e., the second identification information) to the intra prediction data structure of the PU to indicate the index value of the extended angular prediction mode for high-order intra prediction.

[0095] It should be noted that, when the PU does not enable HOIP, the value of the appendIntraDir (ie, the second identification information) field is 0 or does not exist.

[0096] In response to the third identification information, the encoder adds a new gci_no_hoip_constraint_flag field in the General Constraints Information Syntax. That is, the encoder indicates whether to disable high-order intra prediction for all video frames in the video by adding the new gci_no_hoip_constraint_flag field in the General Constraints Information Syntax.

[0097] When the value of the gci_no_hoip_constraint_flag (i.e., the third identification information) field is 1, it means that high-order intra-frame prediction is disabled for all video image frames in the video, that is, high-order intra-frame prediction is not allowed to be enabled. At this time, the value of the sps_hoip_enabled_flag (i.e., the first identification information field) of all video image frames in the video should be 0.

[0098] When the value of the gci_no_hoip_constraint_flag (i.e., the third identification information) field is 0, high-order intra-frame prediction is not disabled for the image frames in the video, that is, high-order intra-frame prediction is allowed to be enabled. At this time, the value of the sps_hoip_enabled_flag (i.e., the first identification information) of each video image frame in the video can be based on whether the HOIP technology is used in this video image frame.

[0099] All of the above identification information is exemplary, and the location of all the newly added identification information is not limited in actual applications. For example, when the first identification information is in a sequence parameter set, it can be represented as sps_hoip_enabled_flag (i.e., the first identification information). The first identification information can also be included in a video parameter set (VPS), in which case it can be represented as vps_hoip_enabled_flag.

[0100] Exemplarily, part of the content of the general information constraint syntax message of the newly added gci_no_hoip_constraint_flag (ie, the third identification information) field is shown in Table 2 below:

[0101] Table 2. Added gci_no_hoip_constraint_flag field in the general information constraint syntax message

[0102] In response to the fourth identification information, the encoder adds an extendIntraPredFlag field to the intra prediction data structure of the PU. That is, the encoder indicates whether the prediction unit enables high-order intra prediction by adding the extendIntraPredFlag field to the intra prediction data structure of the PU.

[0103] When the value of the extendIntraPredFlag field (ie, the fourth identification information) is 1, it indicates that the prediction unit enables high-order intra prediction.

[0104] When the value of the extendIntraPredFlag (ie, the fourth identification information) field is 0, it indicates that the prediction unit does not enable high-order intra prediction.

[0105] Regarding the fifth flag, the encoding end may refer to the prior art to indicate the residual value of the pixel to be predicted in the prediction unit, which will not be elaborated in this application.

[0106] The identification information included in the code stream information is described in detail above.

[0107] The following describes in detail the process of generating bitstream information at the encoding end in step 301 in combination with specific implementations.

[0108] First, the process of generating the second indication information in the bitstream information by the encoding end is described.

[0109] In the process of generating the second indication information at the encoding end, the encoding end needs to first determine the index value of the target extended angle prediction mode, and then perform encoding based on the index value of the target extended angle prediction mode to generate the second indication information.

[0110] It should be pointed out that in the embodiment of the present application, the high-order intra-frame prediction technology includes a first version and a second version, and the number of candidate angle prediction mode groups determined by the high-order intra-frame prediction of the first version is greater than the number of candidate angle prediction mode groups determined by the high-order intra-frame prediction of the second version.

[0111] As an example, the first version is a high-efficiency (HE) version, and the second version is a low complexity (LC) version.

[0112] In the first version and the second version, the encoder selects the candidate angular prediction mode group in different ways, which results in different ways for the encoder to determine the index value of the target extended angular prediction mode in different versions.

[0113] Generally speaking, in the first version, when selecting the extended angular prediction mode, the encoder selects all angular prediction modes or all angular prediction modes in the same horizontal or vertical mode as the main angular prediction mode.

[0114] In the second version, when selecting an extended angle prediction mode, the encoder selects, for each candidate main angle prediction mode, a plurality of most commonly used extended angle prediction modes corresponding to the candidate main angle prediction mode. The plurality of most commonly used extended angle prediction modes must satisfy the requirement that the angle difference between the extended angle prediction mode and the candidate main angle prediction mode is greater than a set threshold.

[0115] Therefore, for the first version, the index value of the target extended angular prediction mode determined by the encoder satisfies case 1: the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in the set containing all angular prediction modes.

[0116] For the second version, the index value of the target extended angle prediction mode determined by the encoding end satisfies situation 2, and the index value of the target extended angle prediction mode is the index value of the target extended angle prediction mode in the set of multiple most commonly used extended angle prediction modes corresponding to the target main angle prediction mode.

[0117] The following describes the process in which the encoder encodes the index value of the target extended angle prediction mode to generate the second indication information in Case 1 and Case 2, respectively.

[0118] Case 1: The index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in the set including all angular prediction modes.

[0119] In case 1, in combination with FIG3 , as shown in FIG4 , the process of the encoder encoding the index value of the target extended angle prediction mode to generate the second indication information can be specifically implemented by the following steps 401 to 403:

[0120] Step 401: The encoder determines a number to be encoded according to the index value of the target extended angle prediction mode.

[0121] In some embodiments, the encoder uses the remaining 65 angular prediction modes (excluding Planar and DC) of the 67 VVC angular prediction modes as candidate extended angular prediction modes. Each of the 67 angular prediction modes has a fixed index: Planar has an index of 1, DC has an index of 2, and the remaining 65 angular prediction modes have indices from 2 to 66. The target extended angular prediction mode has an index value from 2 to 66.

[0122] It can be understood that, among the above 65 angle prediction modes, the indexes of the horizontal angle prediction modes are 2-34, and the indexes of the vertical angle prediction modes are 35-66.

[0123] The encoding end encodes the index value of the target extended angle prediction mode to indicate the target extended angle prediction mode to the decoding end.

[0124] In some embodiments, in order to reduce the number of coding bits, the coding end may subtract a fixed value from the index value of the target extended angle prediction mode to determine the number to be coded.

[0125] For example, the number to be encoded is equal to the index value of the target extended angular prediction mode minus the first value.

[0126] Alternatively, when the target extended angle prediction mode belongs to the vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of horizontal angle prediction modes.

[0127] As an example, the first value is equal to 2, and the second value is equal to 35.

[0128] Specifically, since the index value of the target extended angular prediction mode ranges from 2 to 66, in order to reduce the number of coding bits for the index value of the target extended angular prediction mode, the index value of the target extended angular prediction mode may be subtracted by 2, so that the coding number ranges from 0 to 64. 0-64 uses fewer coding bits than 2-66.

[0129] Step 402: The encoding end performs binarization processing on the number to be encoded to obtain a binary value corresponding to the number to be encoded.

[0130] In some embodiments, the encoding end may use any one of the binarization methods of truncated rice binarization, K-th order exp-Golomb binarization, or fixed-length binarization to binarize the coded number idx to obtain the binarized coded number idx binary The specific implementation method is not described in detail in the embodiment of this application.

[0131] Step 403: The encoding end encodes the binary value to obtain second indication information.

[0132] In some embodiments, the encoding end may encode the binary data of the index value of the target extended angle prediction mode by bypass encoding or the like, which is not described in detail in this application.

[0133] In scenario 1, the encoder first processes the index value of the target extended angle prediction mode to obtain a number to be encoded. The encoder then binarizes the number to be encoded and encodes it to obtain second indication information. This allows the code stream information sent by the encoder to the decoder to accurately indicate the index value of the target extended angle prediction mode. This allows the decoder to perform intra-frame prediction based on the index value of the target extended angle prediction mode and determine the pixel value of the pixel to be predicted in the prediction unit. Furthermore, the number to be encoded determined by the encoder can be smaller than the index value of the target extended angle prediction mode, thereby reducing the number of encoded bits.

[0134] The following describes a process in which the encoder encodes the index value of the target extended angular prediction mode to generate the second indication information in case 2.

[0135] Case 2: The index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set of multiple most commonly used extended angular prediction modes corresponding to the target main angular prediction mode.

[0136] In case 2, as shown in FIG5 in combination with FIG3 , the process in case 2 where the encoder encodes the index value of the target extended angle prediction mode to generate the second indication information can be specifically implemented by the following steps 501 and 502:

[0137] Step 501: The encoding end binarizes the index value of the target extended angle prediction mode to obtain a binary value corresponding to the number to be encoded.

[0138] Step 502: The encoding end encodes the binary value to obtain second indication information.

[0139] The specific implementation process of step 501 and step 502 can refer to the above-mentioned step 402 and step 403, and this application will not elaborate on this.

[0140] It should be noted that in case 2, when determining candidate extended angle prediction modes, the encoder typically selects the four most commonly used extended angle prediction modes for each candidate main angle prediction mode. Thus, when determining the index value of the target extended angle prediction mode, the encoder first determines the target main angle prediction mode corresponding to the target extended angle prediction mode index value. Then, the target extended angle prediction mode index value is determined to be an index value within the set of multiple most commonly used extended angle prediction modes corresponding to the target main angle prediction mode. In this case, the target extended angle prediction mode index value ranges from 0 to 3.

[0141] In case 2, the encoding end directly binarizes the index value of the target extended angle prediction mode and encodes it to obtain the second indication information, so that the code stream information sent by the encoding end to the decoding end can accurately indicate the index value of the target extended angle prediction mode, and then the decoding end can perform intra-frame prediction based on the index value of the target extended angle prediction mode to determine the pixel value of the pixel to be predicted in the prediction unit.

[0142] Before the encoder generates the second indication information in the bitstream information, the encoder needs to determine multiple candidate angle prediction modes, then select a target angle prediction mode group from the multiple candidate angle prediction mode groups, and then determine a target main angle prediction mode and a target extended angle prediction mode. This is described in detail below.

[0143] Second, the encoding end determines multiple candidate angle prediction modes.

[0144] 3 , as shown in FIG6 , the process of selecting the target main angle prediction mode and the target extended angle prediction mode at the encoder can be specifically implemented by following steps 601 to 603 , which are described in detail below:

[0145] Step 601: The encoder determines a plurality of candidate main angle prediction modes corresponding to a prediction unit.

[0146] In the high-order intra prediction technology, different encoding ends based on different versions determine multiple candidate main-angle prediction modes corresponding to a prediction unit in different ways.

[0147] Scenario 1: First version

[0148] In the first version, the multiple candidate main angular prediction modes corresponding to the prediction unit include: multiple most probable modes (MPMs) corresponding to the prediction unit and the first P angular prediction modes in the rate-distortion optimization (RDO) list, where P is a positive integer.

[0149] In some embodiments, if there may be duplicate angular prediction modes among the multiple most probable modes corresponding to the prediction unit and the first P angular prediction modes in the RDO list, the encoder removes duplicates from the obtained multiple most probable modes corresponding to the prediction unit and the first P angular prediction modes in the RDO list to determine multiple candidate primary angular prediction modes corresponding to the prediction unit.

[0150] As an example, the number of multiple most likely modes corresponding to the prediction unit is Q, and there are R repeated angle prediction modes among the multiple most likely modes corresponding to the prediction unit and the first P angle prediction modes in the RDO list, then the number of multiple candidate main angle prediction modes corresponding to the prediction unit determined by the encoding end is (Q+PR), where R is an integer less than Q and less than P.

[0151] Scenario 2, second version

[0152] In the second version, the multiple candidate main-angle prediction modes corresponding to the prediction unit include: multiple most likely modes corresponding to the prediction unit.

[0153] As an example, the number of the multiple most likely modes corresponding to the prediction unit is Q. In this case, the multiple candidate main-angle prediction modes corresponding to the prediction unit are the Q most likely modes.

[0154] In the above process, as an example, the value of Q is 22, and the value of P is a value that can be flexibly set.

[0155] Step 602: The encoder determines multiple candidate extended angular prediction modes corresponding to the candidate main angular prediction mode.

[0156] It should be noted that, in conjunction with the above step 601, the encoding end selects the candidate extended angle prediction mode in different ways in different versions, which will be described in detail below in conjunction with the above first version and the above second version respectively.

[0157] In combination with the first version, the encoder determines that the multiple candidate extended angular prediction modes corresponding to the candidate main angular prediction mode include angular prediction modes of the same type as the candidate main angular prediction mode in all angular prediction modes.

[0158] The same type mentioned above means that both the main angle prediction mode and the extended angle prediction mode are angle prediction modes in the vertical prediction mode; or both the main angle prediction mode and the extended angle prediction mode are angle prediction modes in the horizontal prediction mode.

[0159] Specifically, in the first version, step 602 can be implemented through the following process:

[0160] After the encoder determines the (Q+PR) candidate main-angle prediction modes, it determines the type of the candidate main-angle prediction mode.

[0161] When the type of the candidate main angular prediction mode is a candidate main angular prediction mode in the horizontal prediction mode, the encoder selects all angular prediction modes from the horizontal prediction mode as candidate extended angular prediction modes.

[0162] When the type of the candidate main angular prediction mode is a candidate main angular prediction mode in the vertical prediction mode, the encoder selects all angular prediction modes from the vertical prediction mode as multiple candidate extended angular prediction modes.

[0163] As an example, in the first version, the number of candidate extended angular prediction modes may be 64. That is, the encoder selects 64 extended angular prediction modes as candidate extended angular prediction modes for each candidate main angular prediction mode.

[0164] In combination with the above-mentioned second version, the encoder determines that the multiple candidate extended angle prediction modes corresponding to the candidate main angle prediction mode include: multiple most commonly used extended angle prediction modes corresponding to the candidate main angle prediction mode.

[0165] Specifically, in the second version, step 602 can be implemented through the following process:

[0166] After the encoding end determines Q candidate main angle prediction modes, for each candidate main angle prediction mode, a plurality of most commonly used extended angle prediction modes corresponding to the main angle prediction mode are selected as candidate extended angle prediction modes.

[0167] In some embodiments, the multiple most frequently used extended angular prediction modes corresponding to the candidate main angular prediction modes are related to the size of the coding unit.

[0168] Step 603: The encoder determines M candidate angular prediction mode groups based on the multiple candidate main angular prediction modes and the multiple candidate extended angular prediction modes corresponding to each of the multiple candidate main angular prediction modes.

[0169] The candidate angle prediction mode group includes a candidate main angle prediction mode and a candidate extended angle prediction mode corresponding to the candidate main angle prediction mode; M is an integer greater than 1.

[0170] In combination with the example in the first version above, the encoder determines a total of (22+PR)×64 candidate angular prediction mode groups. In this case, M=(22+PR)×64.

[0171] In combination with the example in the second version above, each main angular prediction mode corresponds to the four most commonly used extended angular prediction modes. When the value of Q is 22, a total of 22×4=88 candidate angular prediction mode groups are selected in the second version. In this case, M=88.

[0172] The above describes in detail the process of determining multiple candidate angle prediction modes at the encoding end.

[0173] After the encoder determines multiple candidate angular prediction mode groups, the encoder needs to select a target angular prediction mode group from the multiple candidate angular prediction mode groups, which is described in detail below.

[0174] Third, the encoding end determines multiple candidate angle prediction modes.

[0175] As shown in FIG6 , after calculating M candidate angle prediction mode groups, the encoding end selects the target angle prediction mode group from the M candidate angle prediction mode groups through the following steps 604 to 605 , which are described in detail below.

[0176] Step 604: The encoder calculates the first generation value of each of the M candidate angle prediction mode groups, and adds the first N candidate angle prediction mode groups with the smallest first generation value to the RDO list.

[0177] N is a positive integer smaller than M.

[0178] In some embodiments, the encoder performs calculations on each candidate angle prediction mode group using a rough mode decision (RMD) algorithm to determine their respective first generation values.

[0179] Specifically, the encoder determines a candidate angular prediction mode group, predicts the pixel value of the prediction unit, and then performs a Hadamard transform on the residual value between the predicted pixel value and the original pixel value of the prediction unit to determine the sum of absolute transformed difference (SATD) distortion of the prediction unit, thereby determining the first-generation value of the candidate angular prediction mode group. Finally, the top N candidate angular prediction mode groups with the smallest first-generation values ​​are added to the RDO list.

[0180] In some embodiments, in combination with the first version, the encoder adds the three candidate angle prediction mode groups with the smallest first-generation values ​​to the RDO list.

[0181] In combination with the above second version, the encoder adds the candidate angle prediction mode group with the smallest value in the first generation to the RDO list.

[0182] In some embodiments, before calculating the first-generation value, the encoder pre-determines whether the angle difference between the candidate main angular prediction mode and the extended angular prediction mode in the candidate angular prediction mode group is greater than a preset threshold. If the angle difference is greater than the preset threshold, the encoder calculates the first-generation value for the candidate angular prediction mode group.

[0183] Since the distortion calculated for the candidate angle prediction mode group with large angle difference is usually high, the probability of it being selected as the target angle prediction mode group is very small. Therefore, by pre-screening the candidate angle prediction mode group with large angle difference, the computational complexity of encoding can be further reduced.

[0184] Step 605: The encoder calculates the second generation value of each candidate angle prediction mode group in the RDO list, and selects the candidate angle prediction mode group with the smallest second generation value as the target angle prediction mode group.

[0185] The target angle prediction mode group includes a target main angle prediction mode and a target extended angle prediction mode.

[0186] In some embodiments, the encoder traverses all candidate angular prediction mode groups in the full RDO list, performs transformation, quantization, inverse transformation, and inverse quantization, and determines a second-generation value for each candidate angular prediction mode group. The candidate angular prediction mode group with the smallest second-generation value is selected as the target angular prediction mode group.

[0187] It should be pointed out that in addition to the top N candidate angle prediction mode groups with the smallest first cost value screened out based on HOIP, the RDO list also includes parameters obtained through prediction methods. For example, parameters obtained through intra-frame prediction using methods such as multi-reference lines (MRL) intra-frame prediction and matrix weighted intra-frame prediction (MIP). During the RDO calculation process, the encoder calculates the prediction method with the smallest RD cost value among all parameters as the final prediction method. When the RD cost value of the top N candidate angle prediction mode groups screened out based on HOIP is the smallest, the encoder determines to use HOIP as the final intra-frame prediction method.

[0188] In the embodiment of the present application, the encoding end finally selects the candidate angle prediction mode group with the smallest cost as the target angle prediction mode group, which can ensure that the encoding cost is minimized when encoding the video image frame, thereby improving the encoding performance of the encoding end.

[0189] It is understood that after the encoder determines the target angle prediction mode group for the RD cost value, it calculates the predicted pixel value of the to-be-predicted pixel in the prediction unit based on the target angle prediction mode group, and then calculates the residual value between the predicted pixel value and the original pixel value. The encoder determines the prediction residual information in the bitstream information based on the residual value.

[0190] In some embodiments, the encoding end determines the second pixel position of the reference pixel corresponding to the pixel to be predicted in the prediction unit based on the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, the target extended angle prediction mode and the nonlinear projection function; and determines the predicted pixel value of the pixel to be predicted in the prediction unit based on the second pixel position of the reference pixel, the target main angle prediction mode, and the target extended angle prediction mode.

[0191] Although high-order intra-frame prediction can accurately predict linear texture images, the calculation process of the nonlinear projection function is relatively complicated, resulting in high computational complexity when the encoder uses high-order intra-frame prediction technology for intra-frame prediction.

[0192] To reduce the computational complexity of intra-frame prediction, in embodiments of the present application, the positional deviation between the position of the reference pixel determined by the linear projection function and the position of the reference pixel in the high-order intra-frame prediction can be pre-calculated, and then the accurate position of the reference pixel can be calculated based on the linear projection function and the positional deviation. In this way, the computational complexity of high-order intra-frame prediction is greatly reduced without affecting the accurate prediction of the linear texture image.

[0193] As shown in FIG. 7 , the process of calculating the position of the reference pixel according to the linear projection function and the position deviation value can be specifically implemented through the following steps 701 to 704 .

[0194] Step 701: The encoder determines the first pixel position of a reference pixel corresponding to the pixel to be predicted according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, and the linear projection function.

[0195] The linear projection function is a linear function, and can refer to the above formula 1 or formula 2.

[0196] Step 702: The encoder determines a position deviation value of a reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset correspondence relationship.

[0197] The preset corresponding relationship is a corresponding relationship among the main angle prediction mode, the extended angle prediction mode and the position deviation value.

[0198] For example, the above-mentioned preset corresponding relationship can be implemented in the form of a table. In this way, the position deviation value can be simply determined by looking up the table, thereby reducing the amount of calculation.

[0199] Step 703: The encoder determines the second pixel position of the reference pixel according to the first pixel position of the reference pixel and the position deviation value of the reference pixel.

[0200] In some embodiments, the second pixel position of the reference pixel is a pixel position determined based on the pixel position of the pixel to be predicted in the prediction unit, the target main angular prediction mode, the target extended angular prediction mode, and a nonlinear function.

[0201] As an example, the nonlinear functions involved in the embodiments of the present application include but are not limited to: quadratic functions, logarithmic functions, exponential functions, trigonometric functions, and inverse proportional functions.

[0202] In this way, based on the first pixel position of the reference pixel and the position deviation value of the reference pixel, the pixel position calculated by the nonlinear function can be accurately obtained, which greatly reduces the computational complexity of the intra-frame prediction.

[0203] Step 704: The encoder determines a predicted pixel value of a pixel to be predicted in the prediction unit according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

[0204] The details of this process may refer to the method described in Formula 3 in the above intra-frame prediction to determine the predicted pixel value of the pixel to be predicted in the prediction unit, which will not be described in detail here.

[0205] The above describes the position of the reference pixel determined by the encoder through a pre-calculated projection method and the position deviation value of the reference pixel predicted by the high-order intra frame, and then calculates the accurate position of the reference pixel based on the linear projection function and the position deviation value.

[0206] In some embodiments, the preset correspondence can be determined in the following manner: determining a position deviation value calculation function based on the nonlinear projection function and the linear projection function; for each angle prediction mode group, determining the position deviation value corresponding to the angle prediction mode group based on the pixel position of the pixel to be predicted, the angle prediction mode group and the position deviation value calculation function, each of the angle prediction mode groups includes a main angle prediction mode and an extended angle prediction mode; establishing the preset correspondence based on each of the angle prediction mode groups and the position deviation value corresponding to each of the angle prediction mode groups.

[0207] Taking the quadratic function shown in Formula 3 above as an example, when the main angle prediction mode and the extended angle prediction mode are both in the vertical prediction mode set, the encoder performs a difference between Formula 4 and Formula 1 above to obtain the position deviation calculation formula:

[0208] Among them, error vertical is the position deviation value.

[0209] When both the main angle prediction mode and the extended angle prediction mode are horizontal prediction mode sets, the deviation value calculation formula is obtained by subtracting the above formula 5 from formula 2:

[0210] Afterwards, when the angular prediction mode group is a vertical prediction mode, the encoder may substitute the angular prediction mode in the candidate angular prediction mode group into Formula 6 to determine the position deviation value of each candidate angular prediction mode group.

[0211] In the case that the angular prediction mode group is a horizontal prediction mode, the encoder may substitute the angular prediction mode in the candidate angular prediction mode group into Formula 7 to determine the position deviation value of each candidate angular prediction mode group.

[0212] Furthermore, the encoder can establish a correspondence table between angular prediction mode groups and position deviation values ​​based on the position deviation value of each angular prediction mode group. In the subsequent high-order intra prediction process, the position deviation value corresponding to the angular prediction mode group can be directly determined by table lookup.

[0213] As an example, the encoding end establishes a 93×93×64 position deviation value lookup table, where 93 identifies the 65 angle prediction modes + 28 wide angle prediction modes in VVC, and 64 is the width or height of the PU (specifically, in the vertical prediction mode, 64 is the height of the PU, and in the horizontal prediction mode, 64 is the width of the PU).

[0214] Taking the main angle prediction mode as 50 and the extended angle prediction mode as 49 as an example, bring them into the above formula 6 or formula 7 to determine the set of position deviation values: [0,0,0,0,0,0,-1,-1,-2,-2,-3,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-15,-16,-18,-19,-21,-22,-24, -26,-28,-30,-32,-34,-36,-38,-40,-42,-45,-47,-50,-52,-55,-57,-60,-63,-66,-69,-72,-75,-78,-81,-84,-87,-91,-94,-98,-101,-105,-108,-112,-116,-120,-124].

[0215] Afterwards, for the angle prediction mode set with the main angle prediction mode being 50 and the extended angle prediction mode being 49, the encoder can directly select the corresponding position deviation value from the above set according to the width or height of the PU.

[0216] In this embodiment of the present application, the encoder can pre-calculate the positional deviation between the reference pixel position determined by the nonlinear projection function and the reference pixel position determined by the high-order intra prediction, and then calculate the accurate position of the reference pixel based on the linear projection function and the positional deviation. This significantly reduces the computational complexity of the high-order intra prediction without affecting the accurate prediction of the linear texture image.

[0217] The encoding process in the first and second versions is described in detail below with reference to specific examples.

[0218] First version

[0219] a) The encoder determines the size of the coding unit (CU). In the first version, the CU size is limited to w×h≥16.

[0220] b) The encoder selects the Q most likely modes corresponding to the prediction unit and the first P angular prediction modes in the RDO list, and removes R duplicate angular prediction modes as candidate primary angular prediction modes. As an example, the value of Q is 22, and the value of P can be flexibly set according to needs.

[0221] The specific implementation process can refer to the description of the first version in step 601 above, which will not be repeated here.

[0222] c) The encoder selects T angular prediction modes corresponding to each candidate main angular prediction mode as candidate extended angular prediction modes. In one example, the value of T is 64.

[0223] The specific implementation process can refer to the description of the first version in step 602 above, which will not be repeated here.

[0224] d) The encoding end generates ((Q+PR)×T) candidate angle prediction mode groups based on the candidate main angle prediction mode and the candidate extended angle prediction mode.

[0225] The specific implementation process can refer to the description of the first version in step 603 above, which will not be repeated here.

[0226] e) The encoding end performs HOIP calculation on each candidate angle prediction mode group to determine the cost value of each candidate angle prediction mode group.

[0227] The specific implementation process can refer to the description in the above step 604 and will not be repeated here.

[0228] f) The encoding end adds the candidate angle prediction mode group with the smallest cost value to the RDO list, performs full RDO calculation, and determines the target angle prediction mode group.

[0229] The specific implementation process can refer to the description in the above step 605 and will not be repeated here.

[0230] As an example, in the first version, the specific encoding process of the encoding end includes:

[0231] The encoding end first encodes the sps_hoip_enabled_flag field (i.e., the first identification information). If the video image frame uses the HOIP technology, the sps_hoip_enabled_flag (i.e., the first identification information) field is encoded as 1. If the HOIP technology is not used, the sps_hoip_enabled_flag (i.e., the first identification information) field is encoded as 0, and the encoding end skips the relevant calculation process of the HOIP technology.

[0232] It should be noted that, in the subsequent encoding process, the encoding process of the target main angle prediction mode can refer to the existing technology and will not be described in detail here. The following only describes the encoding process of the target extended angle prediction mode.

[0233] When pu.extendIntraPredFlag (i.e., the fourth identification information) is true, the encoding end encodes the field as 1; when pu.extendIntraPredFlag (i.e., the fourth identification information) is false, the field is encoded as 0; when the pu.extendIntraPredFlag (i.e., the fourth identification information) field is encoded as 0, the encoding end skips the relevant calculation process of the HOIP technology.

[0234] When pu.extendIntraPredFlag (ie, the fourth identification information) is encoded as 1, the encoder determines whether the target extended angular prediction mode is among the four candidate extended angular prediction modes corresponding to the target main angular prediction mode.

[0235] When the target extended angle prediction mode is one of the four candidate extended angle prediction modes corresponding to the target main angle prediction mode, the encoder encodes the first bit of the appendIntraDir (ie, the second identification information) field as 1.

[0236] At this time, the encoder determines the index value idx∈{0, 1, 2, 3} of the target extended angle prediction mode in the four candidate extended angle prediction modes corresponding to the target main angle prediction mode.

[0237] The encoding end uses any of the binarization methods, such as truncated Rice binarization, K-order exponential Columbus binarization, or fixed-length binarization, to perform binarization calculation on idx to obtain the binary code number idx. binary .

[0238] The encoding end uses bypass coding (equal probability) to binarize the number idx binary Encoding is performed to obtain second indication information.

[0239] When the target extended angle prediction mode is not one of the four candidate extended angle prediction modes corresponding to the target main angle prediction mode, the encoder encodes the first bit of the appendIntraDir (ie, the second identification information) field as 0.

[0240] At this time, the encoding end subtracts the first value from the target extended angle prediction mode (for example, using the formula (idx=β-2) to determine the encoding number idx).

[0241] The encoding end uses any of the binarization methods, such as truncated Rice binarization, K-order exponential Columbus binarization, or fixed-length binarization, to perform binarization calculation on idx to obtain the binary code number idx. binary .

[0242] The encoding end uses bypass coding (equal probability) to binarize the number idxbinary Encoding is performed to obtain second indication information.

[0243] Second version

[0244] a) The encoding end determines the size of the CU. In the second version, the CU size is limited to w×h≥128.

[0245] b) The encoder selects the Q most likely modes corresponding to the prediction unit as candidate main angle prediction modes. As an example, the value of Q is 22.

[0246] The specific implementation process can refer to the description of the second version in the above step 601, which will not be repeated here.

[0247] c) The encoder selects T angular prediction modes corresponding to each candidate main angular prediction mode as candidate extended angular prediction modes. In one example, the value of T is 4.

[0248] The specific implementation process can refer to the description of the second version in step 602 above, which will not be repeated here.

[0249] d) The encoding end generates (Q×T) candidate angle prediction mode groups based on the candidate main angle prediction mode and the candidate extended angle prediction mode.

[0250] The specific implementation process can refer to the description of the second version in step 603 above, which will not be repeated here.

[0251] e) The encoding end performs HOIP calculation on each candidate angle prediction mode group to determine the cost value of each candidate angle prediction mode group.

[0252] The specific implementation process can refer to the description in the above step 604 and will not be repeated here.

[0253] f) The encoding end adds the candidate angle prediction mode group with the smallest cost value to the RDO list, performs full RDO calculation, and determines the target angle prediction mode group.

[0254] The specific implementation process can refer to the description in the above step 605 and will not be repeated here.

[0255] As an example, in the second version, the specific encoding process of the encoding end includes:

[0256] The encoding end first encodes the sps_hoip_enabled_flag (i.e., the first identification information) field. If the video image frame uses the HOIP technology, the sps_hoip_enabled_flag (i.e., the first identification information) field is encoded as 1. If the HOIP technology is not used, the sps_hoip_enabled_flag (i.e., the first identification information) field is encoded as 0, and the encoding end skips the relevant calculation process of the HOIP technology.

[0257] It should be noted that, in the subsequent encoding process, the encoding process of the target main angle prediction mode can refer to the existing technology and will not be described in detail here. The following only describes the encoding process of the target extended angle prediction mode.

[0258] When pu.extendIntraPredFlag (i.e., the fourth identification information) is true, the encoding end encodes the field as 1; when pu.extendIntraPredFlag (i.e., the fourth identification information) is false, the field is encoded as 0; when the pu.extendIntraPredFlag (i.e., the fourth identification information) field is encoded as 0, the encoding end skips the relevant calculation process of the HOIP technology.

[0259] When pu.extendIntraPredFlag (ie, the fourth identification information) is encoded as 1, the encoder determines the index value idx∈{0,1,2,3} of the target extended angle prediction mode in the four candidate extended angle prediction modes corresponding to the target main angle prediction mode.

[0260] The encoding end uses any of the binarization methods, such as truncated Rice binarization, K-order exponential Columbus binarization, or fixed-length binarization, to perform binarization calculation on idx to obtain the binary code number idx. binary .

[0261] The encoding end uses bypass coding (equal probability) to binarize the number idx binary Encoding is performed to obtain second indication information.

[0262] After the encoder generates the bitstream information for the video image frame, it sends the bitstream information to the decoder, so that the decoder decodes the bitstream information and determines the image information of the video image frame. The following describes the process of decoding the video image frame at the decoder.

[0263] As shown in FIG8 , the process of decoding the video image frame at the decoding end may be specifically implemented by following steps 801 to 803:

[0264] Step 801: The decoding end receives code stream information of a video image frame.

[0265] Among them, the code stream information of the video image frame includes first indication information corresponding to the target main angle prediction mode and second indication information corresponding to the target extended angle prediction mode. The target main angle prediction mode and the target extended angle prediction mode are angle prediction modes used to perform high-order intra-frame prediction on the prediction unit in the video image frame.

[0266] Among them, the specific understanding of the code stream information can refer to the timely processing of the code stream information by the aforementioned decoding end, and this application will not elaborate on this.

[0267] Step 802: The decoding end determines a target main angle prediction mode based on the first indication information.

[0268] In some embodiments, the first indication information is used to indicate the index value of the target main angle prediction mode. The implementation method of encoding the index value of the target main angle prediction mode as the first indication information can refer to related technologies and will not be described in detail here.

[0269] Step 803: The decoding end determines a target extended angle prediction mode based on the second indication information.

[0270] In some embodiments, the second indication information is used to indicate an index value of the target extended angle prediction mode.

[0271] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including all angular prediction modes.

[0272] For understanding of the second indication information, reference may be made to the description of the second indication information in the encoding process of the encoding end, which will not be elaborated here.

[0273] In the embodiment of the present application, after receiving the bitstream, the decoding end can determine the target main angle prediction mode based on the first indication information in the bitstream, and determine the target extended angle prediction mode based on the second indication information in the bitstream, thereby accurately performing high-order intra-frame prediction on the video image frame, obtaining the predicted pixel value of each pixel, and further determining the original pixel value of each pixel based on the prediction residual information contained in the bitstream, thereby completing the decoding of the video image frame.

[0274] In some embodiments, in combination with FIG8 , as shown in FIG9 , the process of determining the target extended angle prediction mode based on the second indication information by the decoding end in step 803 may be specifically implemented by the following steps 901 to 904 , which are described in detail below:

[0275] Step 901: The decoding end decodes the second indication information to obtain a binary value.

[0276] Step 902: The decoding end decimalizes the binary value to obtain a number to be encoded.

[0277] In some embodiments, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a first value; or, when the target extended angle prediction mode belongs to a vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of horizontal angle prediction modes.

[0278] As an example, the first value is equal to 2, and the second value is equal to 35.

[0279] Step 903: The decoding end determines the index value of the target extended angle prediction mode based on the number to be encoded.

[0280] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including a plurality of most frequently used extended angular prediction modes corresponding to the target main angular prediction mode.

[0281] Step 904: The decoding end determines a target extended angular prediction mode from a set including all angular prediction modes based on the index value of the target extended angular prediction mode.

[0282] It should be noted that the implementation method of decoding the target main angle prediction mode by the decoding end according to the first indication information can refer to the existing technology and will not be described in detail here.

[0283] After the target main angle prediction mode and the target extended angle prediction mode are decoded at the decoding end, the predicted pixel value of the to-be-predicted pixel in the prediction unit can be determined according to the target main angle prediction mode and the target extended angle prediction mode, as described in detail below.

[0284] In some embodiments, the decoding end determines the second pixel position of the reference pixel corresponding to the pixel to be predicted in the prediction unit based on the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, the target extended angle prediction mode and the nonlinear projection function; and determines the predicted pixel value of the pixel to be predicted in the prediction unit based on the second pixel position of the reference pixel, the target main angle prediction mode, and the target extended angle prediction mode.

[0285] As shown in FIG9 , after the decoding end determines the target extended angle prediction mode in step 904 , the decoding end may specifically determine the predicted pixel value of the to-be-predicted pixel in the prediction unit through the following steps 905 to 908 .

[0286] Step 905: The decoding end determines the first pixel position of the reference pixel corresponding to the pixel to be predicted according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, and the linear projection function.

[0287] The specific implementation of step 905 may refer to the above step 701 and will not be described in detail here.

[0288] Step 906: The decoding end determines a position deviation value of a reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset correspondence relationship.

[0289] The preset corresponding relationship is a corresponding relationship among the main angle prediction mode, the extended angle prediction mode and the position deviation value.

[0290] The specific implementation of step 906 may refer to the above step 702 and will not be described in detail here.

[0291] Step 907: The decoding end determines the second pixel position of the reference pixel according to the first pixel position of the reference pixel and the position deviation value of the reference pixel.

[0292] The specific implementation of step 907 may refer to the above step 703 and will not be described in detail here.

[0293] Step 908: The decoding end determines a predicted pixel value of the pixel to be predicted in the prediction unit according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

[0294] The specific implementation of step 908 may refer to the above step 704 and will not be described in detail here.

[0295] After the predicted pixel value of the pixel to be predicted in the prediction unit is determined at the decoding end, the original pixel value of the pixel to be predicted in the prediction unit can be further determined based on the residual value between the predicted pixel value decoded from the bitstream information and the original pixel value, thereby making the decoded image more accurate.

[0296] As shown in FIG9 , after the decoding end determines the predicted pixel value of the pixel to be predicted in the prediction unit in step 908, the decoding end can determine the original pixel value of the video image frame through the following steps 909 and 910. The following is a detailed description:

[0297] Step 909: The decoding end determines the residual value in the code stream information of the video image frame.

[0298] In a possible implementation, the decoding end parses the prediction residual information in the code stream information of the video image frame to determine the residual value.

[0299] The specific calculation process of the residual value can refer to the description in the above step 605 and will not be repeated here.

[0300] Step 910: The decoding end determines the original pixel value of the video image frame according to the predicted pixel value and the residual value of the pixel to be predicted.

[0301] It should be noted that, in this application, descriptions of residual, prediction residual, and transform quantization residual can all be understood as residual unless otherwise specified.

[0302] In an embodiment of the present application, after receiving the code stream information of the video image frame, the decoding end decodes the code stream information and determines the target angle prediction mode group based on the first indication information and the second indication information in the code stream information. The decoding end uses HOIP to calculate the target angle prediction mode group to determine the predicted pixel value of the pixel to be predicted in the prediction unit. After that, the decoding end calculates the original pixel value of each pixel to be predicted based on the residual value between the predicted pixel value and the original pixel value in the code stream information, and the predicted pixel value, thereby reconstructing and restoring the video image frame. In this way, the decoding end decodes the video image frame based on the HOIP technology, which can make the prediction accuracy of the decoded image higher, and the residual between the predicted pixel value of the pixel to be predicted determined based on HOIP and the original pixel value is smaller, and the amount of data transmitted between the encoding and decoding ends will also be smaller.

[0303] Furthermore, when decoding video frames using HOIP technology, the decoder can pre-calculate the position of the reference pixel determined by a single projection and the position deviation of the reference pixel used in the high-order intra prediction. The accurate position of the reference pixel can then be calculated using the linear projection function and the position deviation. This significantly reduces the computational complexity of high-order intra prediction without affecting the accurate prediction of linear texture images.

[0304] The following describes the decoding process of the decoding end in the first version and the second version with reference to specific examples.

[0305] First version

[0306] After receiving the bitstream information, the decoder decodes the bitstream information. The decoder first decodes the SPS in the bitstream information and determines whether the decoded value of the sps_hoip_enabled_flag field (i.e., the first identification information) in the SPS is 1. If the decoded value of this field is 1, the subsequent decoding and calculation process of the video image frame based on the high-order intra-frame prediction method is performed in the subsequent process. If the decoded value of this field is 0, the decoding and calculation process of the high-order intra-frame prediction is skipped in the subsequent process.

[0307] It should be noted that, in the subsequent decoding process, the decoding process of the target main angle prediction mode can refer to the existing technology and will not be described in detail here. The following only describes the decoding process of the target extended angle prediction mode.

[0308] When the decoded value of the sps_hoip_enabled_flag field (i.e., the first identification information) is 1, the position of the pu.extendIntraPredFlag field (i.e., the fourth identification information) is decoded. If the decoded value of this field is 1, it indicates that the prediction unit uses high-order intra-frame prediction to encode the image. Accordingly, the decoding end enables high-order intra-frame prediction to decode the image. If the decoded value of this field is 0, it indicates that the prediction unit does not enable high-order intra-frame prediction to encode the image. Accordingly, the decoding end does not enable high-order intra-frame prediction to decode the image.

[0309] When the value of the decoded pu.extendIntraPredFlag (ie, the fourth identification information) field is 1, the position of the appendIntraDir (ie, the second identification information) field is decoded to determine whether the first binary digit obtained by decoding is 1.

[0310] If the first binary digit obtained by decoding is 1, the encoder sets its own pu.extendIntraPredReadMFEMsFlag to true. The encoder then reads a two-digit binary value from the bitstream and performs a decimal conversion on the two-digit binary value to determine the index value of the target extended angle prediction mode. The encoder then performs a table lookup based on the index value to determine the target extended angle prediction mode corresponding to the index value in the extended angle prediction mode corresponding to the target main angle prediction mode. The encoder writes the value of the target extended angle prediction mode to the pu.appendIntraDir field (i.e., the second identification information).

[0311] If the first binary digit obtained by decoding is 0, the encoder sets pu.extendIntraPredReadMFEMsFlag to false. The encoder then reads the encoding method from the bitstream and decodes it according to the encoding method to obtain the index value of the target extended angular prediction mode. The encoder then adds 2 (or 35, depending on the encoding method) to this index value to obtain the target extended angular prediction mode. The encoder writes the value of the target extended angular prediction mode to the pu.appendIntraDir field (i.e., the second identification information).

[0312] Second version

[0313] After receiving the bitstream information, the decoder decodes the bitstream information. The decoder first decodes the SPS in the bitstream information and determines whether the decoded value of the sps_hoip_enabled_flag field (i.e., the first identification information) in the SPS is 1. If the decoded value of this field is 1, subsequent decoding and calculation processes are performed on the video image frame based on high-order intra-frame prediction. If the decoded value of this field is 0, the decoding and calculation processes for high-order intra-frame prediction are skipped in subsequent processes.

[0314] It should be noted that, in the subsequent decoding process, the decoding process of the target main angle prediction mode can refer to the existing technology and will not be described in detail here. The following only describes the decoding process of the target extended angle prediction mode.

[0315] When the value of the decoded sps_hoip_enabled_flag (i.e., the first identification information) field is 1, the position of the pu.extendIntraPredFlag (i.e., the fourth identification information) field is decoded. If the decoded value of this field is 1, it indicates that the prediction unit uses high-order intra-frame prediction to encode the image. Accordingly, the decoding end enables high-order intra-frame prediction to decode the image. If the decoded value of this field is 0, it indicates that the prediction unit does not enable high-order intra-frame prediction to encode the image. Accordingly, the decoding end does not enable high-order intra-frame prediction to decode the image.

[0316] The encoder reads a two-bit binary value from the bitstream and performs a decimal conversion on the two-bit binary value to determine the index value of the target extended angle prediction mode. The encoder then performs a table lookup based on the index value to determine the target extended angle prediction mode corresponding to the index value in the extended angle prediction mode corresponding to the target main angle prediction mode. The encoder writes the value of the target extended angle prediction mode to the pu.appendIntraDir field (i.e., the second identification information).

[0317] As an example, taking the case where the encoding end adopts truncated binary code encoding, the table when the encoding end looks up the table according to the index value is shown in Table 3 below:

[0318] Table 3

[0319] In some embodiments, if the extendIntraPredReadFlag field is configured in the decoding end, if the decoding end does not read a valid target extended angular prediction mode, the extendIntraPredReadFlag field is set to false, and the field is initialized to false.

[0320] It should be pointed out that the implementation process of the decoding end is similar to that of the encoding end. For the specific implementation and terminology of the decoding end, please refer to the above-mentioned encoding end, and this application will not go into details.

[0321] It is understandable that, in order to realize the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in conjunction with the algorithm steps of each example described in the embodiments of the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0322] In the embodiment of the present application, the communication device can be divided into functional modules according to the above method embodiment. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one functional module. The above-mentioned integrated module can be implemented in the form of hardware or software. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.

[0323] FIG10 is a schematic diagram of a communication device structure provided in an embodiment of the present application, which can execute the intra-frame prediction encoding method provided in the above method embodiment. As shown in FIG10 , the communication device includes: a communication unit 1002 and a processing unit 1001.

[0324] Processing unit 1001 is used to generate code stream information of a video image frame, where the code stream information of the video image frame includes first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode. The target main angle prediction mode and the target extended angle prediction mode are angle prediction modes used to perform high-order intra-frame prediction on a prediction unit in a video image frame.

[0325] The communication unit 1002 is configured to send code stream information of the video image frame to the decoding end.

[0326] In some embodiments, the second indication information is used to indicate an index value of the target extended angle prediction mode.

[0327] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including all angular prediction modes.

[0328] In some embodiments, the processing unit 1001 is specifically used to: determine the number to be encoded according to the index value of the target extended angle prediction mode; binarize the number to be encoded to obtain a binary value corresponding to the number to be encoded; and encode the binary value to obtain second indication information.

[0329] In some embodiments, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a first value; or, when the target extended angle prediction mode belongs to a vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of horizontal angle prediction modes.

[0330] In some embodiments, the first value is equal to 2 and the second value is equal to 35.

[0331] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including a plurality of most frequently used extended angular prediction modes corresponding to the target main angular prediction mode.

[0332] In some embodiments, the processing unit 1001 is specifically used to: determine the second indication information by: binarizing the index value of the target extended angle prediction mode to obtain a binary value corresponding to the number to be encoded; encoding the binary value to obtain the second indication information.

[0333] In some embodiments, the code stream information of the video image frame also includes at least one of the following: first identification information, the first identification information is used to indicate whether the video image frame enables high-order intra-frame prediction; second identification information, the second identification information is used to indicate the index value of the extended angle prediction mode of high-order intra-frame prediction; third identification information, the third identification information is used to indicate whether high-order intra-frame prediction is disabled for all video image frames; fourth identification information, the fourth identification information is used to indicate whether the prediction unit enables high-order intra-frame prediction; prediction residual information, the prediction residual information is used to indicate the residual value between the predicted pixel value and the original pixel value of the prediction unit.

[0334] In some embodiments, the processing unit 1001 is further used to: determine multiple candidate main angle prediction modes corresponding to the prediction unit; determine multiple candidate extended angle prediction modes corresponding to the candidate main angle prediction modes; determine M candidate angle prediction mode groups based on the multiple candidate main angle prediction modes and the multiple candidate extended angle prediction modes corresponding to each candidate main angle prediction mode in the multiple candidate main angle prediction modes; wherein the candidate angle prediction mode group includes a candidate main angle prediction mode and a candidate extended angle prediction mode corresponding to the candidate main angle prediction mode; M is an integer greater than 1.

[0335] In some embodiments, the multiple candidate main angular prediction modes corresponding to the prediction unit include: multiple most likely modes corresponding to the prediction unit and the first P angular prediction modes in the RDO list, where P is a positive integer.

[0336] In some embodiments, the multiple candidate extended angular prediction modes corresponding to the candidate main angular prediction mode include angular prediction modes of the same type as the candidate main angular prediction mode among all angular prediction modes.

[0337] In some embodiments, the multiple candidate main-angle prediction modes corresponding to the prediction unit include: multiple most likely modes corresponding to the prediction unit.

[0338] In some embodiments, the multiple candidate extended angular prediction modes corresponding to the candidate main angular prediction mode include: multiple most frequently used extended angular prediction modes corresponding to the candidate main angular prediction mode.

[0339] In some embodiments, the multiple most frequently used extended angular prediction modes corresponding to the candidate main angular prediction modes are related to the size of the coding unit.

[0340] In some embodiments, the high-order intra prediction includes a first version and a second version, and the number of candidate angular prediction mode groups determined by the first version of the high-order intra prediction is greater than the number of candidate angular prediction mode groups determined by the second version of the high-order intra prediction.

[0341] In some embodiments, the processing unit 1001 is also used to: calculate the first-generation value of each of the M candidate angle prediction mode groups, and add the first N candidate angle prediction mode groups with the smallest first-generation values ​​to the rate-distortion optimization RDO list, where N is a positive integer less than M; calculate the second-generation value of each candidate angle prediction mode group in the RDO list, and select the candidate angle prediction mode group with the smallest second-generation value as the target angle prediction mode group, where the target angle prediction mode group includes a target main angle prediction mode and a target extended angle prediction mode.

[0342] In some embodiments, the processing unit 1001 is specifically used to: determine whether the angle difference between the candidate main angle prediction mode and the extended angle prediction mode in the candidate angle prediction mode group is greater than a preset threshold; when the angle difference is greater than the preset threshold, calculate the first generation value of the candidate angle prediction mode group.

[0343] In some embodiments, the processing unit 1001 is further used to: determine a first pixel position of a reference pixel corresponding to the pixel to be predicted in the prediction unit according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, and the linear projection function; determine a position deviation value of the reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset correspondence, where the preset correspondence is a correspondence between the main angle prediction mode, the extended angle prediction mode, and the position deviation value; determine a second pixel position of the reference pixel according to the first pixel position of the reference pixel and the position deviation value of the reference pixel; and determine a predicted pixel value of the pixel to be predicted in the prediction unit according to the second pixel position of the reference pixel, the target main angle prediction mode, and the target extended angle prediction mode.

[0344] In some embodiments, the second pixel position of the reference pixel is a pixel position determined based on the pixel position of the pixel to be predicted in the prediction unit, the target main angular prediction mode, the target extended angular prediction mode, and a nonlinear projection function.

[0345] FIG11 is a schematic diagram of the structure of another communication device provided in an embodiment of the present application, which can execute the intra-frame prediction decoding method provided in the above method embodiment. As shown in FIG11 , the communication device includes: a communication unit 1102 and a processing unit 1101.

[0346] Communication unit 1102 is used to receive code stream information of a video image frame, where the code stream information of the video image frame includes first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode. The target main angle prediction mode and the target extended angle prediction mode are angle prediction modes used to perform high-order intra-frame prediction on a prediction unit in a video image frame.

[0347] The processing unit 1101 is configured to determine a target main angle prediction mode based on the first indication information.

[0348] The processing unit 1101 is further configured to determine a target extended angle prediction mode based on the second indication information.

[0349] In some embodiments, the second indication information is used to indicate an index value of the target extended angle prediction mode.

[0350] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including all angular prediction modes.

[0351] In some embodiments, the processing unit 1101 is further used to: decode the second indication information to obtain a binary value; decimalize the binary value to obtain a number to be encoded; determine the index value of the target extended angle prediction mode based on the number to be encoded; and determine the target extended angle prediction mode from a set containing all angle prediction modes based on the index value of the target extended angle prediction mode.

[0352] In some embodiments, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a first value; or, when the target extended angle prediction mode belongs to a vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of horizontal angle prediction modes.

[0353] In some embodiments, the first value is equal to 2 and the second value is equal to 35.

[0354] In some embodiments, the index value of the target extended angular prediction mode is the index value of the target extended angular prediction mode in a set including a plurality of most frequently used extended angular prediction modes corresponding to the target main angular prediction mode.

[0355] In some embodiments, the code stream information of the video image frame also includes at least one of the following: first identification information, the first identification information is used to indicate whether the video image frame enables high-order intra-frame prediction; second identification information, the second identification information is used to indicate the index value of the extended angle prediction mode of high-order intra-frame prediction; third identification information, the third identification information is used to indicate whether high-order intra-frame prediction is disabled for all video image frames; fourth identification information, the fourth identification information is used to indicate whether the prediction unit enables high-order intra-frame prediction; prediction residual information, the prediction residual information is used to indicate the residual value between the predicted pixel value and the original pixel value of the prediction unit.

[0356] In some embodiments, the processing unit 1101 is further used to: determine the first pixel position of the reference pixel corresponding to the prediction unit according to the pixel position of the prediction unit, the target main angle prediction mode and the linear projection function; determine the position deviation value of the reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset correspondence, where the preset correspondence is the correspondence between the main angle prediction mode, the extended angle prediction mode and the position deviation value; determine the second pixel position of the reference pixel according to the first pixel position of the reference pixel and the position deviation value of the reference pixel; determine the predicted pixel value of the prediction unit according to the second pixel position of the reference pixel, the target main angle prediction mode, and the target extended angle prediction mode.

[0357] In some embodiments, the processing unit 1101 is further configured to: determine a residual value in the code stream information of the video image frame; and determine the original pixel value of the video image frame using the predicted pixel value of the prediction unit and the residual value.

[0358] In the case of implementing the functions of the above-mentioned integrated modules in hardware, the embodiments of the present application provide another possible structure of the communication device involved in the above-mentioned embodiments. As shown in Figure 12, the communication device 120 includes: a processor 1202 and a bus 1204. Optionally, the communication device may also include a memory 1201; optionally, the communication device may also include a communication interface 1203.

[0359] Processor 1202 may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. Processor 1202 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. Processor 1202 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0360] The communication interface 1203 is used to connect to other devices via a communication network, such as Ethernet, wireless access network, or wireless local area network (WLAN).

[0361] The memory 1201 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.

[0362] As a possible implementation, the memory 1201 may exist independently of the processor 1202. The memory 1201 may be connected to the processor 1202 via a bus 1204 for storing instructions or program codes. When the processor 1202 calls and executes the instructions or program codes stored in the memory 1201, the intra-frame prediction encoding method or intra-frame prediction decoding method provided in the embodiments of the present application can be implemented.

[0363] In another possible implementation, the memory 1201 may also be integrated with the processor 1202 .

[0364] Bus 1204 can be an Extended Industry Standard Architecture (EISA) bus, etc. Bus 1204 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, FIG12 shows only one thick line, but this does not mean that there is only one bus or only one type of bus.

[0365] Some embodiments of the present application provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium), which stores computer program instructions. When the computer program instructions are executed on a computer, the computer executes the intra-frame prediction encoding method or the intra-frame prediction decoding method as described in any of the above embodiments.

[0366] Exemplarily, the above-mentioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described herein may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.

[0367] An embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a computer, the computer is enabled to execute the intra-frame prediction encoding method or intra-frame prediction decoding method described in any one of the above embodiments.

[0368] The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. An intra-frame prediction encoding method, characterized in that: Applied to the encoding end, the method includes: Generate bitstream information of a video image frame, wherein the bitstream information of the video image frame includes first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, wherein the target main angle prediction mode and the target extended angle prediction mode are angle prediction modes for performing high-order intra-frame prediction on pixels to be predicted in a prediction unit in the video image frame; The code stream information of the video image frame is sent to a decoding end.

2. The method according to claim 1, characterized in that The second indication information is used to indicate an index value of the target extended angle prediction mode.

3. The method according to claim 2, characterized in that The index value of the target extended angular prediction mode is an index value of the target extended angular prediction mode in a set including all angular prediction modes.

4. The method according to claim 3, characterized in that The second indication information is determined by: Determining a number to be encoded according to the index value of the target extended angle prediction mode; Binarize the number to be encoded to obtain a binary value corresponding to the number to be encoded; The binary value is encoded to obtain the second indication information.

5. The method according to claim 4, characterized in that The number to be encoded is equal to the index value of the target extended angle prediction mode minus a first value; or, when the target extended angle prediction mode belongs to a vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of the horizontal angle prediction modes.

6. The method according to claim 5, characterized in that The first value is equal to 2, and the second value is equal to 35.

7. The method according to claim 2, characterized in that The index value of the target extended angular prediction mode is an index value of the target extended angular prediction mode in a set of multiple most frequently used extended angular prediction modes corresponding to the target main angular prediction mode.

8. The method according to claim 7, characterized in that The second indication information is determined by: Binarizing the index value of the target extended angle prediction mode to obtain a binary value corresponding to the number to be encoded; The binary value is encoded to obtain the second indication information.

9. The method according to claim 1, characterized in that: The code stream information of the video image frame also includes at least one of the following: first identification information, where the first identification information is used to indicate whether high-order intra-frame prediction is enabled for the video image frame; Second identification information, where the second identification information is used to indicate an index value of an extended angle prediction mode of a high-order intra prediction; third identification information, where the third identification information is used to indicate whether high-order intra-frame prediction is disabled for all video image frames; Fourth identification information, the fourth identification information is used to indicate whether the prediction unit enables high-order intra prediction; Prediction residual information, where the prediction residual information is used to indicate a residual value between a predicted pixel value and an original pixel value of a pixel to be predicted in the prediction unit.

10. The method according to claim 1, characterized in that The method further comprises: Determining a plurality of candidate main angle prediction modes corresponding to the prediction unit; Determine a plurality of candidate extended angle prediction modes corresponding to the candidate main angle prediction mode; According to the multiple candidate main angle prediction modes and the multiple candidate extended angle prediction modes corresponding to each of the multiple candidate main angle prediction modes, M candidate angle prediction mode groups are determined; wherein the candidate angle prediction mode groups include one candidate main angle prediction mode and the candidate extended angle prediction mode corresponding to the candidate main angle prediction mode; M is an integer greater than 1.

11. The method according to claim 10, characterized in that The multiple candidate main angle prediction modes corresponding to the prediction unit include: multiple most likely modes corresponding to the prediction unit and first P angle prediction modes in a rate-distortion optimization (RDO) list, where P is a positive integer.

12. The method according to claim 11, characterized in that The multiple candidate extended angular prediction modes corresponding to the candidate main angular prediction mode include angular prediction modes of the same type as the candidate main angular prediction mode among all angular prediction modes.

13. The method according to claim 10, characterized in that The multiple candidate main-angle prediction modes corresponding to the prediction unit include: multiple most likely modes corresponding to the prediction unit.

14. The method according to claim 13, characterized in that The multiple candidate extended angle prediction modes corresponding to the candidate main angle prediction mode include: multiple most commonly used extended angle prediction modes corresponding to the candidate main angle prediction mode.

15. The method according to claim 14, characterized in that The multiple most frequently used extended angular prediction modes corresponding to the candidate main angular prediction modes are related to the size of the coding unit.

16. The method according to claim 10, characterized in that The high-order intra prediction includes a first version and a second version, and the number of the candidate angular prediction mode groups determined by the high-order intra prediction of the first version is greater than the number of the candidate angular prediction mode groups determined by the high-order intra prediction of the second version.

17. The method according to claim 10, characterized in that The method further comprises: Calculate the first generation value of each of the M candidate angle prediction mode groups, and add the first N candidate angle prediction mode groups with the smallest first generation values ​​to the RDO list, where N is a positive integer less than M; Calculate the second generation value of each candidate angle prediction mode group in the RDO list, select the candidate angle prediction mode group with the smallest second generation value as the target angle prediction mode group, and the target angle prediction mode group includes the target main angle prediction mode and the target extended angle prediction mode.

18. The method according to claim 17, characterized in that The calculating of the first generation value of each of the M candidate angle prediction mode groups comprises: Determine whether an angle difference between the candidate main angle prediction mode and the extended angle prediction mode in the candidate angle prediction mode group is greater than a preset threshold; When the angle difference is greater than a preset threshold, a first generation value of the candidate angle prediction mode group is calculated.

19. The method according to claim 1, characterized in that The method further comprises: Determine, according to the pixel position of the prediction unit, the target main angle prediction mode and the linear projection function, a first pixel position of a reference pixel corresponding to the pixel to be predicted in the prediction unit; Determining the position deviation value of the reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset corresponding relationship, wherein the preset corresponding relationship is a corresponding relationship between the main angle prediction mode, the extended angle prediction mode, and the position deviation value; Determining a second pixel position of the reference pixel according to a first pixel position of the reference pixel and a position deviation value of the reference pixel; A predicted pixel value of a pixel to be predicted in the prediction unit is determined according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

20. The method according to claim 19, characterized in that The preset corresponding relationship is established in the following manner: Determine a position deviation value calculation function according to the nonlinear projection function and the linear projection function; For each angular prediction mode group, determining a position deviation value corresponding to the angular prediction mode group according to a pixel position of a pixel to be predicted in the prediction unit, the angular prediction mode group, and the position deviation value calculation function, wherein each angular prediction mode group includes one main angular prediction mode and one extended angular prediction mode; The preset corresponding relationship is established according to each of the angle prediction mode groups and the position deviation value corresponding to each of the angle prediction mode groups.

21. The method according to claim 1, characterized in that The method further comprises: Determine a second pixel position of a reference pixel corresponding to the pixel to be predicted in the prediction unit according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, the target extended angle prediction mode and a nonlinear projection function; A predicted pixel value of a pixel to be predicted in the prediction unit is determined according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

22. A decoding method for intra-frame prediction, characterized in that: Applied to a decoding end, the method comprises: Receive code stream information of a video image frame, wherein the code stream information of the video image frame includes first indication information corresponding to a target main angle prediction mode and second indication information corresponding to a target extended angle prediction mode, wherein the target main angle prediction mode and the target extended angle prediction mode are angle prediction modes for performing high-order intra-frame prediction on pixels to be predicted in a prediction unit in the video image frame; Determining the target main angle prediction mode based on the first indication information; Based on the second indication information, the target extended angle prediction mode is determined.

23. The method according to claim 22, characterized in that The second indication information is used to indicate an index value of the target extended angle prediction mode.

24. The method according to claim 23, characterized in that The index value of the target extended angular prediction mode is an index value of the target extended angular prediction mode in a set including all angular prediction modes.

25. The method according to claim 24, characterized in that The determining the target extended angle prediction mode based on the second indication information includes: Decoding the second indication information to obtain a binary value; Performing decimal processing on the binary value to obtain a number to be encoded; Based on the to-be-encoded number, determining an index value of the target extended angle prediction mode; The target extended angular prediction mode is determined from a set including all angular prediction modes based on the index value of the target extended angular prediction mode.

26. The method according to claim 25, characterized in that The number to be encoded is equal to the index value of the target extended angle prediction mode minus a first value; or, when the target extended angle prediction mode belongs to a vertical angle prediction mode, the number to be encoded is equal to the index value of the target extended angle prediction mode minus a second value; wherein the second value is greater than the first value, and the difference between the second value and the first value is equal to the total number of the horizontal angle prediction modes.

27. The method according to claim 23, characterized in that The index value of the target extended angular prediction mode is an index value of the target extended angular prediction mode in a set of multiple most frequently used extended angular prediction modes corresponding to the target main angular prediction mode.

28. The method according to claim 22, characterized in that The code stream information of the video image frame also includes at least one of the following: first identification information, where the first identification information is used to indicate whether high-order intra-frame prediction is enabled for the video image frame; Second identification information, where the second identification information is used to indicate an index value of an extended angle prediction mode of a high-order intra prediction; third identification information, where the third identification information is used to indicate whether high-order intra-frame prediction is disabled for all video image frames; Fourth identification information, the fourth identification information is used to indicate whether the prediction unit enables high-order intra prediction; Prediction residual information, where the prediction residual information is used to indicate a residual value between a predicted pixel value and an original pixel value of a pixel to be predicted in the prediction unit.

29. The method according to claim 28, characterized in that The method further comprises: Determine, according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode and the linear projection function, a first pixel position of a reference pixel corresponding to the pixel to be predicted in the prediction unit; Determining the position deviation value of the reference pixel according to the target main angle prediction mode, the target extended angle prediction mode, and a preset corresponding relationship, wherein the preset corresponding relationship is a corresponding relationship between the main angle prediction mode, the extended angle prediction mode, and the position deviation value; Determining a second pixel position of the reference pixel according to a first pixel position of the reference pixel and a position deviation value of the reference pixel; A predicted pixel value of a pixel to be predicted in the prediction unit is determined according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

30. The method according to claim 28, characterized in that The method further comprises: Determine a second pixel position of a reference pixel corresponding to the pixel to be predicted in the prediction unit according to the pixel position of the pixel to be predicted in the prediction unit, the target main angle prediction mode, the target extended angle prediction mode and a nonlinear projection function; A predicted pixel value of a pixel to be predicted in the prediction unit is determined according to the second pixel position of the reference pixel, the target main angular prediction mode, and the target extended angular prediction mode.

31. The method according to claim 29 or 30, characterized in that The method further comprises: Determining a residual value in the bitstream information of the video image frame; The predicted pixel value of the pixel to be predicted in the prediction unit and the residual value determine the original pixel value of the video image frame.

32. A communication device, characterized in that: include: Memory and processor; Memory and processor coupling; The memory is used to store instructions executable by the processor; When the processor executes the instructions, the method according to any one of claims 1 to 31 is performed.

33. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 31.

Citation Information

Patent Citations

  • Encoding method and decoding method for intra prediction, communication device and storage medium

    CN119254973A

  • Intra-frame prediction method and device for nonlinear texture and medium

    CN113473135A

  • Intra-frame prediction method and device, electronic equipment and storage medium

    CN115834882A

  • Frame coding method of inter-frame coding frame for two stage predicting coding of macro block group structure

    CN1492688A

  • Image and video coding using machine learning prediction coding models

    US20200186796A1

Cited By

  • Method and apparatus for video encoding and decoding

    WO2026145895A1