Coding method, coder, chip and storage medium
By dynamically determining the index value by generating pixel information from multiple candidate reconstruction regions, the problem of bit imbalance caused by fixed index values in intra-prediction modes is solved, thus improving the selection accuracy and performance of intra-prediction modes.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-07
- Publication Date
- 2026-07-07
AI Technical Summary
In existing video coding technologies, the fixed index value of intra-frame prediction modes leads to uneven bit overhead, affecting the accuracy of prediction mode selection.
By adjusting the list corresponding to the intra-frame prediction mode, pixel information of multiple candidate reconstruction regions is generated, and the index value is dynamically determined to match image characteristics, thereby improving the selection accuracy of the intra-frame prediction mode.
This reduces the number of bits transmitted in the intra-prediction mode, thus improving intra-prediction performance.
Smart Images

Figure CN122349009A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video encoding and decoding, and in particular to an encoding and decoding method, an encoder and decoder, a chip, and a storage medium. Background Technology
[0002] Intra-frame prediction refers to using the boundary pixels of neighboring and reconstructed image blocks as reference pixels to predict the pixels of the current image block, in order to remove spatial redundancy in the video signal.
[0003] In related technologies, various intra-frame prediction modes each correspond to a fixed index value. By estimating the rate-distortion (RD) cost of using each mode for prediction, and arranging them according to the estimated RD cost from smallest to largest, the intra-frame prediction mode with the smaller RD cost is selected to predict the image patch. Intra-frame prediction is achieved by transmitting the corresponding index value during the prediction process.
[0004] However, the intra-prediction mode selected by the above method will be different for different images. Since the index value is the same, the bit overhead of the index value will affect the RD overhead of the intra-prediction mode and reduce the accuracy of the intra-prediction mode selection. Summary of the Invention
[0005] This application provides an encoding / decoding method, an encoding / decoding codec, a chip, and a storage medium, which can adjust the index value by adjusting the list corresponding to the intra-frame prediction mode, thereby improving the accuracy of intra-frame prediction mode selection.
[0006] In a first aspect, a decoding method is provided, which is applied to a decoder. The decoding method includes: obtaining a first index value through a bitstream; obtaining a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, wherein the prediction mode list includes multiple intra-frame prediction modes, and the intra-frame prediction modes correspond to the candidate reconstruction regions; determining a first intra-frame prediction mode from the prediction mode list based on the first index value; and predicting the current block based on the first intra-frame prediction mode to obtain the predicted pixel value corresponding to the current block.
[0007] Secondly, an encoding method is provided, which is applied to an encoder. The encoding method includes: obtaining a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, wherein the prediction mode list includes multiple intra-frame prediction modes, and the intra-frame prediction modes correspond to the candidate reconstruction regions; determining a first intra-frame prediction mode from the prediction mode list; determining a first index value corresponding to the first intra-frame prediction mode based on the prediction mode list, wherein the first intra-frame prediction mode is used to predict the current block to obtain the predicted pixel value corresponding to the current block; and outputting the first index value through a bitstream.
[0008] Thirdly, a decoder is provided, comprising: an acquisition unit configured to acquire a first index value through a bitstream; obtain a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, the prediction mode list including multiple intra-frame prediction modes, the intra-frame prediction modes corresponding to the candidate reconstruction regions; a determination unit configured to determine a first intra-frame prediction mode from the prediction mode list based on the first index value; and a prediction unit configured to predict the current block based on the first intra-frame prediction mode to obtain the predicted pixel value corresponding to the current block.
[0009] Fourthly, a decoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method of the first aspect when running the computer program.
[0010] Fifthly, an encoder is provided, comprising: an acquisition unit configured to obtain a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, the prediction mode list including multiple intra-frame prediction modes, the intra-frame prediction modes corresponding to the candidate reconstruction regions; a determination unit configured to determine a first intra-frame prediction mode from the prediction mode list; and determine a first index value corresponding to the first intra-frame prediction mode based on the prediction mode list, the first intra-frame prediction mode being used to predict a current block to obtain a predicted pixel value corresponding to the current block; and an output unit configured to output the first index value through a bitstream.
[0011] In a sixth aspect, an encoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method of the second aspect when running the computer program.
[0012] In a seventh aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program that, when executed, implements the method as described in the first or second aspect.
[0013] Eighthly, a computer program product is provided, including a computer program that, when executed, implements the method as described in the first or second aspect.
[0014] A ninth aspect provides a non-volatile computer-readable storage medium for storing bit streams, the bit streams being generated by an encoding method using an encoder, or the bit streams being decoded by a decoding method using a decoder, wherein the decoding method is the method described in the first aspect and the encoding method is the method described in the second aspect.
[0015] A tenth aspect is provided: a computer-readable storage medium storing a computer program that, when executed, implements the method as described in the first aspect or the second aspect.
[0016] In an eleventh aspect, a bitstream is provided, including a bitstream generated according to the method described in the second aspect.
[0017] In a twelfth aspect, a decoding chip is provided, the chip including a memory and a processor, the processor being configured to retrieve and execute a program or instructions from the memory to implement some or all of the steps described in the first aspect above.
[0018] In a thirteenth aspect, an encoding chip is provided, the chip including a memory and a processor, the processor being used to call and run a program or instructions from the memory to implement some or all of the steps described in the second aspect above.
[0019] Some embodiments of this application generate a prediction mode list using pixel information of the reconstructed region in the intra-prediction mode, and then determine the intra-prediction mode to be used from the prediction mode list based on the first index value obtained through the bitstream. That is, the prediction mode list is different for different characteristics of the image, so that the index value corresponding to the same intra-prediction mode is different in different lists. When the mode is selected to predict image blocks, the number of bits transmitted corresponding to its index value is small, thereby improving the intra-prediction performance. Attached Figure Description
[0020] Figure 1 Here are some structural example diagrams of video encoders that can be applied to some embodiments of this application;
[0021] Figure 2 Here are some structural example diagrams of video decoders that can be applied to some embodiments of this application;
[0022] Figure 3 A flowchart illustrating the EIP mode during the encoding process is provided for some embodiments of this application;
[0023] Figure 4 A schematic diagram of filter types provided for some embodiments of this application;
[0024] Figure 5ASchematic diagram of reconstruction region types provided for some embodiments of this application;
[0025] Figure 5B Schematic diagram of reconstruction region types provided for some embodiments of this application;
[0026] Figure 5C Schematic diagram of reconstruction region types provided for some embodiments of this application;
[0027] Figure 6 This is a schematic diagram illustrating the method for obtaining the reconstructed region provided in some embodiments of this application;
[0028] Figure 7 Flowcharts illustrating the filter coefficient acquisition method provided in some embodiments of this application;
[0029] Figure 8 Schematic diagrams of the reconstructed regions provided for some embodiments of this application;
[0030] Figure 9 This is a schematic diagram of the pixel prediction process provided in some embodiments of this application;
[0031] Figure 10 Flowchart of the encoding stage list intra-prediction mode determination method provided in some embodiments of this application;
[0032] Figure 11 Flowchart of the method for determining the intra-prediction mode in the decoding stage list provided in some embodiments of this application;
[0033] Figure 12 This is a schematic diagram of the decoder structure provided in one embodiment of this application;
[0034] Figure 13 A schematic diagram of the decoder provided in another embodiment of this application;
[0035] Figure 14 This is a schematic diagram of the encoder structure provided in one embodiment of this application;
[0036] Figure 15 This is a schematic diagram of the encoder provided in another embodiment of this application. Detailed Implementation
[0037] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0038] Figure 1 This is a schematic block diagram of a video encoder involved in some embodiments of this application.
[0039] It should be understood that the video encoder 100 can be used for lossy compression of images, or for lossless compression of images. The lossless compression can be visually lossless compression or mathematically lossless compression.
[0040] This video encoder 100 can be applied to image data in luminance / chrominance (YCbCr, YUV) format. For example, the YUV ratio can be 4:2:0, 4:2:2, or 4:4:4, where Y represents luminance (Luma), Cb (U) represents blue chrominance, Cr (V) represents red chrominance, and U and V represent chrominance (Chroma) used to describe color and saturation. For example, in color format, 4:2:0 means that there are 4 luminance components and 2 chrominance components (YYYYCbCr) per 4 pixels; 4:2:2 means that there are 4 luminance components and 4 chrominance components (YYYYCbCrCbCr) per 4 pixels; and 4:4:4 means full pixel display (YYYYCbCrCbCrCbCrCbCr).
[0041] For example, the video encoder 100 reads video data and, for each image in the video data, divides the image into several coding tree units (CTUs). In some examples, CTUs may be called "tree blocks," "largest coding units" (LCUs), or "coding tree blocks" (CTBs). Each CTU can be associated with a pixel block of equal size within the image. Each pixel can correspond to one luminance (luma) sample and two chrominance (chroma) samples. Therefore, each CTU can be associated with one luminance sample block and two chrominance sample blocks. The size of a CTU is, for example, 128×128, 64×64, 32×32, etc. A CTU can be further divided into several coding units (CUs) for encoding. CUs can be rectangular or square blocks. CUs can correspond to prediction units (PUs) and transform units (TUs).
[0042] In some embodiments, in this application, the current block may be referred to as the current image block or the current coding unit (CU). A prediction block may also be referred to as a prediction image block or an image prediction block, and a reconstructed image block may also be referred to as a reconstruction block or an image reconstruction block. For the purpose of parallel processing, an image can be divided into slices. Slices within the same image can be processed in parallel, meaning they have no data dependency on each other. A "frame" is a commonly used term, generally understood as one image. In this document, "frame" can also be replaced with "image" or "slice," etc.
[0043] The following is combined with Figure 1 The video encoder 100 in some embodiments of this application will be described.
[0044] In some embodiments, the video encoder 100 may include a prediction module 110. The prediction module 110 includes an inter-frame prediction module 111 and an intra-frame prediction module 112. Intra-frame prediction eliminates spatial redundancy between adjacent pixels by utilizing the strong correlation between adjacent pixels in an image of the video. Inter-frame prediction eliminates temporal redundancy between adjacent images by utilizing the strong similarity between adjacent images in the video, thereby improving coding efficiency.
[0045] The inter-frame prediction module 111 can be used for inter-frame prediction, which can include motion estimation and motion compensation. It can reference image information from different images. Inter-frame prediction uses motion information to find reference blocks in the reference images and generates prediction blocks based on these reference blocks to eliminate temporal redundancy. The motion information includes a list of reference images, the reference image index, and motion vectors. Motion vectors can be integer-pixel or fractional-pixel. If the motion vector is fractional-pixel, interpolation filtering needs to be used in the reference image to create the required fractional-pixel blocks. Here, the integer-pixel or fractional-pixel blocks in the reference image found based on the motion vectors are called reference blocks. Some techniques use reference blocks as prediction blocks, while others process the reference blocks further to generate prediction blocks. Processing the reference blocks further to generate prediction blocks can also be understood as using the reference blocks as prediction blocks and then processing them to generate new prediction blocks.
[0046] The intra-frame prediction module 112 refers only to information from the same image to predict pixel information within the current image block, thereby eliminating spatial redundancy.
[0047] Intra-frame prediction has multiple prediction modes. Taking the international digital video coding standards H-series as an example, the H.264 / AVC standard has 8 angular prediction modes and 1 non-angular prediction mode, while H.265 / HEVC extends this to 33 angular prediction modes and 2 non-angular prediction modes. High Efficiency Video Coding (HEVC) uses Planar, DC, and 33 angular modes, for a total of 35 prediction modes. Versatile Video Coding (VVC) uses Planar, DC, and 65 angular modes, for a total of 67 prediction modes. In addition, it includes Extrapolation Filter-based Intra Prediction (EIP) mode and EIP-based Merge mode.
[0048] It should be noted that with the increase in angle modes, intra-frame prediction will be more accurate and better meet the needs of the development of high-definition and ultra-high-definition digital video.
[0049] In some embodiments, the video encoder 100 may include a residual module 120. The residual module 120 may generate a residual block of the CU based on pixel blocks of the CU and prediction blocks of the CU. For example, the residual module 120 may generate a residual block of the CU such that each sample in the residual block has a value equal to the difference between the sample in the pixel block of the CU and the corresponding sample in the prediction block of the CU. The residual block can also be understood as residual information.
[0050] In some embodiments, the video encoder 100 may include a transformation module 125. The transformation module 125 can transform the residual information generated by the residual module 120 to obtain transformation coefficients.
[0051] In some embodiments, the video encoder 100 may include a quantization module 130. The quantization module 130 quantizes transform coefficients. The quantization module 130 quantizes the transform coefficients associated with the CU based on a quantization parameter (QP) value associated with the CU. The video encoder 100 can adjust the degree of quantization applied to the transform coefficients associated with the CU by adjusting the QP value associated with the CU.
[0052] In some embodiments, the video encoder 100 may include an inverse quantization module 135. The inverse quantization module 135 can apply inverse quantization to the quantized transform coefficients to obtain the transform coefficients.
[0053] In some embodiments, the video encoder 100 may include an inverse transform module 140. The inverse transform module 140 applies an inverse transform to the transform coefficients, which can be used to reconstruct the residual block.
[0054] In some embodiments, the video encoder 100 may include a reconstruction module 150. The reconstruction module 150 may add samples of the reconstructed residual block to corresponding samples of one or more prediction blocks generated by the prediction module 110 to generate reconstructed image blocks associated with the CU. By reconstructing each sample block of the CU in this manner, the video encoder 100 can reconstruct the pixel blocks of the CU.
[0055] In some embodiments, the video encoder 100 may include a loop filter module 160. The loop filter module 160 is used to process the pixels after inverse transform and inverse quantization to compensate for distortion information and provide a better reference for subsequent encoded pixels. For example, it may perform deblocking filtering operations to reduce the block effect of pixel blocks associated with the CU.
[0056] In some embodiments, the loop filtering module 160 includes a deblocking filtering module. The deblocking filtering module is used to remove block artifacts. Block artifacts refer to the discontinuities at the boundaries of coded blocks in an image. The deblocking filtering module can smooth the block boundaries to effectively reduce or remove block artifacts.
[0057] In some embodiments, the loop filtering module 160 includes a sample adaptive offset (SAO) module. The SAO module can be used to remove ringing effects. For strong edges in an image, quantization distortion due to high-frequency AC coefficients can produce a ripple effect around the edges after decoding; this distortion can be called ringing. The SAO module can suppress ringing effects from a pixel-domain perspective.
[0058] In some embodiments, the loop filtering module 160 includes an adaptive loop filter (ALF) module, which is used to remove ringing effects. ALF technology can include luma ALF, chroma ALF, and inter-component ALF. ALF can be based on the Wiener filtering principle, using the original image information and reconstructed image information to establish the Wiener-Hough equation and solve for a series of filter coefficients with the minimum mean square error to remove ringing effects.
[0059] In some embodiments, the video encoder 100 may include a decoded image buffer 170. The decoded image buffer 170 may store reconstructed pixel blocks. The inter-frame prediction module 111 may use a reference image containing the reconstructed pixel blocks to perform inter-frame prediction on PUs of other images. In addition, the intra-frame prediction module 112 may use the reconstructed pixel blocks in the decoded image buffer 170 to perform intra-frame prediction on other PUs in the same image as the CU.
[0060] In some embodiments, the video encoder 100 may include an entropy coding module 180. The entropy coding module 180 may receive quantized transform coefficients from the quantization module 130. The entropy coding module 180 may perform one or more entropy coding operations on the quantized transform coefficients to produce entropy-coded data.
[0061] Figure 2 This is a schematic block diagram of a video decoder involved in some embodiments of this application.
[0062] Video decoder 200 can receive a bitstream. In some embodiments, video decoder 200 may include an entropy decoding module 210. Entropy decoding module 210 can parse the bitstream to extract syntax elements from it. As part of parsing the bitstream, entropy decoding module 210 can parse the entropy-encoded syntax elements in the bitstream. Prediction module 220, inverse quantization module 230, inverse transform module 235, reconstruction module 240, and loop filtering module 250 can decode video data based on the syntax elements extracted from the bitstream, i.e., generate decoded video data.
[0063] In some embodiments, the video decoder 200 may include a prediction module 220. The prediction module 220 includes an intra-frame prediction module 222 and an inter-frame prediction module 221.
[0064] Intra-prediction module 222 can perform intra-prediction to generate prediction blocks for PUs. Intra-prediction module 222 can use intra-prediction modes to generate prediction blocks for PUs based on pixel blocks of spatially adjacent PUs. Intra-prediction module 222 can also determine the intra-prediction mode of PUs based on one or more syntax elements parsed from the bitstream.
[0065] Inter-frame prediction module 221 can construct a first reference image list (list 0) and a second reference image list (list 1) based on the syntax elements parsed from the bitstream. Furthermore, if the PU uses inter-frame prediction coding, entropy decoding module 210 can parse the motion information of the PU. Inter-frame prediction module 221 can determine one or more reference blocks of the PU based on the motion information of the PU. Inter-frame prediction module 221 can generate prediction blocks for the PU based on one or more reference blocks of the PU.
[0066] In some embodiments, the video decoder 200 may include an inverse quantization module 230. The inverse quantization module 230 applies inverse quantization to the quantized transform coefficients to obtain the transform coefficients. The inverse quantization module 230 may use the QP value associated with the CU of the TU to determine the degree of quantization.
[0067] In some embodiments, the video decoder 200 may include an inverse transform module 235. The inverse transform module 235 can inversely transform the transform coefficients associated with the TU. After performing the inverse transform on the transform coefficients, the inverse transform module 235 can generate a residual block associated with the TU.
[0068] In some embodiments, the video decoder 200 may include a reconstruction module 240. The reconstruction module 240 uses a residual block associated with the TU of the CU and a prediction block of the PU of the CU to reconstruct pixel blocks of the CU. For example, the reconstruction module 240 may add samples of the residual block to the corresponding samples of the prediction block to reconstruct pixel blocks of the CU, thereby obtaining reconstructed image blocks.
[0069] In some embodiments, the video decoder 200 may include a loop filter module 250. The loop filter module 250 may perform deblocking filtering operations to reduce the block artifacts of pixel blocks associated with the CU.
[0070] In some embodiments, the video decoder 200 may include a decoded image buffer 260. The video decoder 200 may store the reconstructed image of the CU in the decoded image buffer 260. The video decoder 200 may use the reconstructed image in the decoded image buffer 260 as a reference image for subsequent prediction, or transmit the reconstructed image to a display device for presentation.
[0071] The basic process of video encoding and decoding is as follows: At the encoding end, an image is divided into blocks by acquiring the data transmitted from the encoding end (e.g., index values) through the bitstream. For the current block, the prediction module 110 uses intra-frame prediction or inter-frame prediction to generate a prediction block for the current block. The residual module 120 can calculate a residual block based on the prediction block and the original block of the current block, that is, the difference between the prediction block and the original block of the current block. This residual block can also be called residual information. This residual block can remove information that is not sensitive to the human eye through the transformation process of the transformation module 125 and the quantization process of the quantization module 130, thereby eliminating visual redundancy. In some embodiments, the residual block before transformation by the transformation module 125 can be called a temporal residual block, and the temporal residual block after quantization by the quantization module 130 can be called a frequency residual block or a frequency domain residual block. The entropy coding module 180 receives the quantized transformation coefficients output by the quantization module 130 and can perform entropy coding on the quantized transformation coefficients to output the bitstream. For example, the entropy coding module 180 can eliminate character redundancy based on the target context model and the probability information of the binary bitstream.
[0072] At the decoding end, the entropy decoding module 210 parses the bitstream to obtain the prediction information and quantization coefficient matrix of the current block. The prediction module 220 uses the prediction information to generate a prediction block for the current block using intra-frame prediction or inter-frame prediction. The inverse quantization module 230 uses the quantization coefficient matrix obtained from the bitstream to inverse quantize the quantization coefficient matrix to obtain transform coefficients; the inverse transform module 235 performs an inverse transform on the transform coefficients to obtain a residual block. The reconstruction module 240 adds the prediction block and the residual block to obtain a reconstructed block. The reconstructed blocks form a reconstructed image. The loop filtering module 250 performs loop filtering on the reconstructed image based on the image or based on the blocks to obtain a decoded image. The encoding end also requires similar operations to the decoding end to obtain a decoded image. This decoded image can also be called a reconstructed image, which can be used as a reference image for inter-frame prediction of subsequent images.
[0073] It should be noted that the block partitioning information determined at the encoding end, as well as mode information or parameter information such as prediction, transform, quantization, entropy coding, and loop filtering, are carried in the bitstream when necessary. The decoding end determines the same block partitioning information, prediction, transform, quantization, entropy coding, and loop filtering mode information or parameter information as the encoding end by parsing the bitstream and analyzing existing information, thereby ensuring that the decoded image obtained by the encoding end is the same as the decoded image obtained by the decoding end.
[0074] It is understandable that the "inverse transformation" of the transform coefficients at the decoding end can also be referred to as "transformation" in the standard text. In some embodiments of this application, "transformation" and "inverse transformation" correspond to two opposite processes. For example, "transformation" converts the spatial domain values to frequency domain coefficients, while "inverse transformation" converts the frequency domain coefficients back to spatial domain values. If the standard only specifies decoding, then "transformation" in the standard text refers to the decoding part, specifically the "inverse transformation" in this document. The "inverse transformation" of the transform coefficients at the decoding end can also be referred to as "transformation" in the standard text.
[0075] The above describes the basic flow of a video codec under a block-based hybrid coding framework. With the development of technology, some modules or steps of this framework or flow may be optimized. This application is applicable to the basic flow of a video codec under this block-based hybrid coding framework, but is not limited to this framework and flow.
[0076] The preceding text has described in detail the encoding and decoding frameworks provided by some embodiments of this application. The following section introduces the encoding and decoding technologies involved in some embodiments of this application.
[0077] In today's digital age, the generation and transmission of video content has become a crucial means of information exchange. With the rapid development of social media, online education, and remote work, the demand for high-quality video coding technologies is growing daily. However, while existing video coding standards (such as H.265 / HEVC and H.266 / VVC) perform excellently in high-bitrate environments, they often struggle to achieve satisfactory video quality and compression efficiency at extremely low bitrates. The importance of low-bitrate video coding is becoming increasingly apparent, especially in scenarios such as mobile devices, the Internet of Things (IoT), and emergency communications.
[0078] Against this backdrop, research and standardization of the EIP model are particularly urgent. The EIP model obtains extrapolated filter coefficients from the reconstructed pixels adjacent to the current block using a predefined template, and then extrapolates them position by position from the top left corner to the bottom right corner to form a prediction block.
[0079] At the Joint Video Experts Team (JEVT) AD meeting, proposal JVET-AD0081, an intra-prediction mode based on extrapolation filters, was presented. EIP is a method for intra-prediction in video coding that obtains extrapolation filter coefficients from neighboring reconstructed pixels of the current block using a predefined template, and then extrapolates positionally from the top left to the bottom right to form the prediction block. This method provides an efficient way to handle complex textures and transition bands in intra-prediction of video coding, thus improving performance.
[0080] Next, we will introduce the intra-frame prediction process in the encoding and decoding process.
[0081] Figure 3 A flowchart of an EIP mode during the encoding process is shown, such as... Figure 3 As shown, the method includes the following steps.
[0082] Step 301: Obtain the EIP filter combination.
[0083] Indicatively, the filter combination in EIP mode consists of a filter and a reconstruction region, where the reconstruction region can also be called the reconstruction region reference pixel template.
[0084] In some embodiments, during intra-frame prediction, the filter can reduce noise and abrupt changes by filtering the reference pixel, making the reference pixel smoother, which is beneficial to the subsequent prediction process.
[0085] In some embodiments, there are multiple different filter shapes for the filter. Different filter shapes determine the arrangement of reference pixels in the EIP mode. The reference pixels are used to predict the pixels in the current block (or the current image block) to obtain the corresponding pixel prediction values.
[0086] This is illustrative; please refer to it. Figure 4 This illustrates a schematic diagram of a filter type provided in an exemplary embodiment of this application, such as... Figure 4 As shown, three different filter shapes are currently displayed: 4×4, 2×8, and 8×2 filters. The 2×8 and 8×2 filters represent two different aspect ratios.
[0087] The above description of filter types is merely illustrative and an example only. The shape of the filter is not limited in some embodiments of this application.
[0088] In some embodiments, the reconstruction region refers to the image blocks that have been reconstructed at specified locations around the current block after the current block has been determined, which are used as a reference to predict the pixels in the current block.
[0089] In some embodiments, the shape of the reconstructed region may also include various types. For illustration, please refer to Figure 5, which shows a schematic diagram of the reconstructed region types provided in an exemplary embodiment of this application. Figures 5A to 5C As shown, three reconstructed region shapes are currently displayed, including Figure 5A Left-side + top-side area type (also known as L-shaped area type), and the top-side area type of 5B. Figure 5C The three types of reconstructed regions correspond to three different sizes. In some embodiments of this application, the shape of the reconstructed regions is not limited.
[0090] The reconstruction region contains multiple reconstruction pixels. Due to the different size of the reconstruction region, the arrangement of the reconstruction pixels in the reconstruction region is also different. Therefore, the results obtained by performing intra-frame prediction on the current block through the reconstruction region will also be different.
[0091] Based on the above, considering the three filters and three reconstruction regions, combining a single filter with the three reconstruction regions forms a filter combination, also known as an EIP filter combination, or an intra-frame prediction mode. Therefore, there are nine different combination methods, including the following:
[0092] • Filter combination 1 is obtained by combining a 4×4 type filter with a reconstruction region of the left + top region type;
[0093] • Filter combination 2 is obtained by combining a 4×4 type filter with a reconstruction region of the upper region type;
[0094] • Filter combination 3 is obtained by combining a 4×4 type filter with a reconstruction region of the left region type;
[0095] • Filter combination 4 is obtained by combining a 2×8 type filter with a reconstruction region of the left + top region type;
[0096] • Filter combination 5 is obtained by combining a 2×8 type filter with a reconstruction region of the upper region type;
[0097] • The filter combination 6 is obtained by combining a 2×8 type filter with a reconstructed region of the left region type;
[0098] • The filter combination 7 is obtained by combining an 8×2 type filter with a reconstruction region of the left + top region type;
[0099] • The filter combination 8 is obtained by combining the 8×2 type filter with the reconstruction region of the upper region type;
[0100] The filter combination 9 is obtained by combining an 8×2 type filter with a reconstruction region of the left region type.
[0101] Referring to Figure 5, which illustrates filter combinations 1, 2, and 3 consisting of a 4×4 filter and three different reconstruction regions, we will focus on filter combination 3. For filter combination 3, the filter has a block width and a block height, while the reconstruction region has a left size and an above size. Therefore, the size of the reconstruction region is determined by the minimum side (min(block width, block height)) of the filter and the filter shape. When the filter shape is 4×4, its width and height are equal. In one example: if the current block is 8×16 and the selected filter shape is 4×4, the above size of the reconstruction region is min(8,16) + 4 - 1 = 11, and the left size of the reconstruction region is also min(8,16) + 4 - 1 = 11. That is, the left size of the reconstruction region is 11, and the above size is also 11. The "-1" is because there is a predicted pixel position in the filter, so the row and column where the predicted pixel position is located are subtracted from the left and top dimensions.
[0102] Combination Figure 4As can be seen, for the three different types of filters, each filter has a predicted pixel position (represented by white squares). That is, in the EIP prediction process, the placement of the filter in the reconstruction area determines 15 reference pixels (represented by gray squares) and one predicted pixel. The predicted pixel is predicted using the pixel values corresponding to the 15 reference pixels, and the predicted value corresponding to the predicted pixel is obtained. In other words, the 15 reference pixels in the filter are the EIP input pixels, and the pixel in the lower right corner of the filter is the EIP output pixel.
[0103] Indicatively, the current block also has different sizes, such as any one of the following in some embodiments: 4×4, 4×8, 4×16, 4×32, 8×4, 8×8, 8×16, 8×32, 16×4, 16×8, 16×16, 16×32, 32×4, 32×8, 32×16, and 32×32.
[0104] For each of the aforementioned block sizes, any one of the nine filter combinations can be selected for prediction. Therefore, the combination results between different block sizes and filter combinations can be found in Table 1 below. Table 1 describes multiple results for the current block and filter combinations.
[0105] Table 1
[0106]
[0107]
[0108]
[0109] The contents of Table 1 will be described in detail below.
[0110] Table 1 shows the combination of different block sizes with nine filter combinations. Taking a 4×4 block as an example, there are three filter combinations to choose from when the current block size is 4×4. Each cell in the table is divided into two smaller cells: the upper cell indicates the region type of the reconstruction area, and the lower cell indicates the shape of the filter.
[0111] Therefore, EIP_AL_A_L represents the left and top reconstruction regions, EIP_AL_L represents the left reconstruction region, and EIP_AL_A represents the top reconstruction region.
[0112] Therefore, EIP_FILTER_S represents a square filter (i.e., a filter with equal length and width), EIP_FILTER_V represents a horizontal filter (e.g., an 8×2 type filter), and EIP_FILTER_H represents a vertical filter (e.g., a 2×8 type filter).
[0113] In some embodiments, during the process of obtaining the filter combination, firstly, the reconstructed region needs to be loaded and the reference pixel range needs to be determined; secondly, the filter combination selected for the current block is determined according to the list mentioned above.
[0114] To illustrate, taking the current block as located in the first image as an example, the reconstruction region corresponding to the current block is determined based on the current block's position in the first image and its corresponding size. For illustrative purposes, please refer to [reference needed]. Figure 6 It illustrates a schematic diagram of a reconstruction region acquisition method provided in an exemplary embodiment of this application, such as... Figure 6 As shown, two different reconstruction region sizes are currently provided.
[0115] For the first scenario, please refer to reconstruction region 610. If the distance from the top-left corner of the current block to the boundary of the first image is greater than min(block width, block height) + EIP_FILTER_SIZE (EIP_FILTER_SIZE = 7), then the width of the left reconstruction region and the height of the top reconstruction region are min(block width, block height) + EIP_FILTER_SIZE, respectively. Here, block width represents the width of the current block, block height represents the height of the current block, and EIP_FILTER_SIZE represents the activation condition for EIP mode.
[0116] The width of the current block is equal to the width of the current block plus the EIP mode start condition EIP_FILTER_SIZE. In one case, EIP_FILTER_SIZE = 7, which means that the current block is at least 7 pixels away from the boundary of the first image. In this case, the width and height of the current block are both greater than 7.
[0117] Regarding the second scenario, please refer to reconstruction region 620. If the distance from the top-left corner of the current block to the boundary of the first image is less than min(block width, block height) + EIP_FILTER_SIZE (EIP_FILTER_SIZE = 7), then the width of the left reconstruction region and the height of the top reconstruction region are the block width and block height of the current block, respectively. In this case, EIP_FILTER_SIZE = 7, indicating that the current block is more than 7 pixels from the boundary of the first image. Therefore, both the block width and block height of the current block are greater than 7.
[0118] To illustrate, during the process of determining the reference pixel range, the predicted sample is cropped from the first image to the range corresponding to the reference sample. After loading the reconstructed region, all pixels in the reference sample are traversed to determine the maximum and minimum values among all pixels, which are then used to adjust the range values of the predicted pixels.
[0119] The prediction sample refers to the portion of the first image used for pixel prediction of the current block, while the reference sample refers to the reconstructed region adjacent to the current block.
[0120] Step 302: Obtain the EIP filter coefficients.
[0121] To illustrate, after determining multiple filter combinations, taking a single filter combination as an example, the filter coefficients corresponding to the filter combination are obtained and used to predict the pixels in the current block.
[0122] There are two methods for obtaining the filter coefficients, which will be described in detail below.
[0123] Please refer to Figure 7 The diagram illustrates a flowchart of a filter coefficient acquisition method provided in an exemplary embodiment of this application.
[0124] Step 710, Derivation of EIP coefficients.
[0125] In some embodiments, the EIP coefficients may also be referred to as filter coefficients in EIP mode, which can be derived from the reconstructed pixels adjacent to the current block.
[0126] Indicatively, the decoder decodes the flag corresponding to EIP Merge. If the decoded EIP Merge flag is false, the derivation process is executed. If the decoded EIP Merge flag is true, step 720 is executed. The EIP Merge flag is used to determine whether EIP Merge mode is used when the current block executes EIP mode. True indicates that EIP Merge mode is used, and false indicates that EIP mode is used.
[0127] If the EIP Merge flag is false after decoding, the EIP coefficients corresponding to the current block are derived based on the Convolutional Cross-Component Model (CCCM).
[0128] Indicatively, the CCCM model uses the correlation between luminance and chrominance to predict chrominance pixels. Before predicting chrominance pixels, the luminance corresponding to the reconstructed pixel is typically downsampled to match the size of the chrominance block. Then, a convolutional filter is used to compute the chrominance of the predicted pixel.
[0129] In some embodiments of this application, please refer to the illustrative examples. Figure 8 It illustrates a schematic diagram of the reconstructed region provided in an exemplary embodiment of this application, such as... Figure 8 As shown, the L-shaped reconstruction region corresponding to the current block is currently displayed. The selected filter is a 4×4 type filter. Therefore, after aligning the filter with the upper left corner of the reconstruction region, the left region of the L-shaped reconstruction region is divided according to the three columns on the left side of the filter, and the upper region of the L-shaped reconstruction region is divided according to the three columns on the top side of the filter, thereby dividing the L-shaped reconstruction region into a first region 810 and a second region 820. The first region 810 can also be called the reference region, and the second region 820 can be called the prediction region.
[0130] At this point, the pixel corresponding to the bottom right corner of the filter is located within the second region 820, while the other 15 pixels in the filter are located within the first region 810. Therefore, the reconstructed pixel values corresponding to the 15 pixels in the first region 810 are used to predict the pixel in the second region 820, obtaining the prediction result for that pixel. That is, the bottom right corner pixel is used as the EIP output pixel, and the reconstructed pixel values corresponding to the other 15 pixels are used as the 15 EIP input pixels. Furthermore, using a one-pixel step size as the sliding reference, the filter is moved within the reconstruction region. During this movement, the CCCM model continuously performs chromaticity prediction on the pixel located in the bottom right corner of the filter, thereby constructing an autocorrelation matrix and a cross-correlation vector.
[0131] Finally, the linear relationships between multiple EIP input pixels and EIP output pixels are calculated based on the autocorrelation matrix and cross-correlation vector. The difference between the reconstructed value of the EIP output pixel and the corresponding pixel in the second region is calculated using the Mean Squared Error (MSE) criterion. The EIP output pixel with the minimum MSE is selected. Based on the linear relationships between this EIP output pixel and the 15 EIP output pixels in the filter, the coefficients corresponding to the 15 EIP output pixels are obtained.
[0132] Step 720, inheritance of the EIP filter.
[0133] If the EIP Merge flag is true when the current block is executed in EIP mode, the Merge mode will be used. Therefore, the decoder further decodes the Merge index, which is used to indicate that the EIP Merge mode is used during the decoding of the current block.
[0134] In EIP Merge mode, during the prediction of the current block, the pixel prediction of the current block is directly performed using the pixel blocks adjacent to the current block to obtain the pixel prediction result of the current block.
[0135] In some embodiments, the EIP Merge list stores multiple candidate EIP coefficients, and the EIP coefficient corresponding to the current block is determined from the multiple candidate EIP coefficients.
[0136] In some embodiments, candidate EIP coefficients are EIP coefficients used when predicting pixels in the reconstruction region adjacent to the current block during historical periods. That is, candidate EIP coefficients directly inherit the EIP coefficients corresponding to other pixels in the reconstruction region.
[0137] In some embodiments, candidate EIP coefficients include at least one of spatially adjacent options, non-adjacent options, temporal candidate options, or historical candidate options.
[0138] Among them, the spatially adjacent option refers to the EIP coefficient used when predicting pixels that are adjacent to the current block in the reconstructed region; the non-adjacent option refers to the EIP coefficient used when predicting pixels that are not adjacent to the current block in the reconstructed region; the temporal candidate option refers to the EIP coefficient used when performing intra-frame prediction in the previous frame; and the historical candidate option is the EIP coefficient that is added to the EIP Merge mode as a candidate if it was used when performing intra-frame prediction at a historical time.
[0139] In some embodiments, the EIP Merge mode may include one or more candidates, wherein a maximum of 12 candidates may be included at the same time.
[0140] To illustrate, when there are 12 candidate options, the candidate options are substituted into the second region corresponding to the above-mentioned reconstruction region to calculate the Sum of Absolute Differences (SAD) cost corresponding to the candidate options. The 12 candidate options are sorted according to their SAD costs, and at least two candidate options with higher costs are eliminated, reducing the list to a maximum of 6 candidate options.
[0141] According to the JVET-AG0058 definition, the spatial adjacency, temporal, non-adjacency, shift time, and historical candidate positions and inclusion order are the same as those defined for CCP merging prediction candidates in ECM-10.0.
[0142] In some embodiments of this application, after the filter coefficients are determined, an intra-frame prediction mode list is generated for the filter coefficients, filter shape, and reconstruction region, as shown in Table 1 above.
[0143] Step 303: Make a prediction for the current block.
[0144] After obtaining the EIP coefficients corresponding to different EIP modes through the above steps, the current block is predicted by using one or more or all EIP modes through a filter in a diagonal zigzag scanning order from the upper left corner to the lower right corner of the current block, so as to obtain the pixel prediction value corresponding to each pixel in the current block.
[0145] In some embodiments, the filter input may differ for different positions within the current block, including the following cases:
[0146] The first method involves using the reconstructed pixel as the input to the filter for the position located at the top left corner of the current block. For example, with a 4×4 filter, the bottom right pixel of the filter is aligned with the top left pixel of the current block and used as the EIP output pixel. The other 15 pixels in the filter are within the reconstruction area, and the reconstructed pixel values within the reconstruction area are used as the EIP input pixels.
[0147] The second approach involves using a filter whose input is partly the reconstructed pixel and partly the previously predicted pixel value. For example, with a 4×4 filter, when the filter predicts the pixel at the top edge of the current block, it still predicts the pixel at the bottom right corner of the filter based on 15 pixels. After aligning the pixel in the fourth row of the filter with the pixel in the first row of the current block, the pixel values corresponding to the three pixels in the fourth row (excluding the bottom right corner) are the pixel values predicted during the previous pixel prediction. The pixels corresponding to the other three rows of the filter are within the reconstruction area, so the pixels corresponding to these three rows are the reconstructed pixel values within the reconstruction area.
[0148] The third method involves using previously predicted samples as input to other positions within the current block. For example, with a 4×4 filter, when the filter is completely in the center, the other 15 pixels are used to predict the pixel in the lower right corner of the filter. Since the other 15 pixels are all within the current block, the pixel value corresponding to these 15 pixels is the predicted pixel value obtained from the previous prediction of the pixel at that position.
[0149] This is illustrative; please refer to it. Figure 9 It illustrates a pixel prediction process provided in an exemplary embodiment of this application, such as... Figure 9 As shown, the current block corresponds to the first reconstruction region. After selecting the corresponding EIP mode, the filter corresponding to the EIP mode is used to perform a zigzag scan starting from the upper left corner of the current block to predict the pixels in the current block one by one, until the pixel in the lower right corner of the current block is predicted for the last time. The prediction process can be referred to as Formula 1 below.
[0150] Formula 1:
[0151] Among them, pred (x,y) It is the predicted pixel value at the current position in the block, c i It is the i-th coefficient of the selected EIP filter, with coefficient indices ranging from 0 to 14, for a total of 15 coefficients. This is the reconstructed or predicted pixel value used for prediction at the current location. offsetX i and offsetY i It refers to the offset relative to the current position.
[0152] Step 304: Map the pixel prediction values to the transform set.
[0153] To illustrate, during the process of traversing all EIP modes, the current block is predicted based on all EIP modes, resulting in prediction results corresponding to various EIP modes.
[0154] To illustrate, after obtaining the prediction result in EIP mode, three columns of regions are constructed to the left of the current block and three rows of regions are constructed above the current block through the decoder-side Intra Mode Derivation (DIMD) method, forming the reference region for the current block in the current process. This region can also be called the third region. It is worth noting that this region is a different concept from the reference region in the reconstruction region mentioned above.
[0155] Indicatively, after constructing the reference region, the horizontal and vertical gradients corresponding to the pixels in the current block are calculated using the reference region. Based on the angle formed between the horizontal and vertical gradients, the number of times different angles are generated is calculated, a gradient histogram is constructed, and the angle with the most occurrences in the gradient histogram is selected as the angle prediction mode corresponding to the EIP mode.
[0156] In some embodiments, after determining the angle prediction mode, the EIP mode is determined to correspond to at least one of three types: Low Frequency Non-Transformable (LFNST), Non-Separable Transformable (NSPT), or Multiple Selection Transform (MTS).
[0157] LFNST is a secondary transform technique introduced in the H.266 video coding standard. It is used to further process low-frequency coefficients after the main transform, thereby improving coding efficiency. LFNST supports two transform sizes: 4x4 and 8x8. Each size has four transform sets, and each transform set contains two different transform kernels. The selection of the transform set is implicitly determined by the encoder's TU size and intra-frame prediction mode. During the encoding process, LFNST is applied between the main transform and quantization, further reducing residual energy to improve compression efficiency.
[0158] Among them, NSPT is a technique that performs transformations directly in two-dimensional space, without relying on separation processing in the horizontal and vertical directions.
[0159] MTS, introduced in the VVC (Versatile Video Coding) standard, is a technique that allows for the selection of different transform kernels in intra-frame and inter-frame residual coding. By selecting the transform kernel best suited to the current residual characteristics, coding efficiency is improved, thereby enhancing video compression performance.
[0160] Step 305, Fast Encoder Algorithm.
[0161] The encoder updates the complete RDO list by calculating and comparing the SATD costs between EIP, EIP Merge, and non-EIP patterns. When an EIP or EIP Merge pattern is added to the current complete RDO list, the encoder conditionally reduces the pattern with the worst SATD cost in the complete RDO cost.
[0162] Finally, the intra-prediction mode used is determined based on the RDO results, and the index value corresponding to the intra-prediction mode is transmitted during the encoding and decoding process. Table 2 below shows the relevant EIP syntax.
[0163] Table 2
[0164]
[0165]
[0166] The semantics of the syntactic elements involved in the EIP pattern and EIP Merge pattern in Table 3 are explained below.
[0167] coding_unit(x0,y0,cbWidth,cbHeight,cqtDepth,treeType,modeType) contains all the relevant parameters for the current block.
[0168] cu_eip_flag[x0][y0] is used to identify whether the current mode is EIP (including EIP mode and EIP Merge mode).
[0169] if(cu_eip_flag[x0][y0]){ indicates that the current block is executed in EIP mode.
[0170] eip_merge_flag[x0][y0] indicates whether to execute EIP Merge mode in the current block if it is determined that EIP mode will be executed in the current block.
[0171] if(eip_merge_flag[x0][y0]){ indicates that the current block is executed in EIP Merge mode.
[0172] eip_merge_idx[x0][y0] represents the index value (idx) corresponding to the EIP Merge transmitted when the current block is in EIP Merge mode.
[0173] eip_mode_idx[x0][y0] represents the index value (idx) corresponding to the EIP mode when the current block does not execute the EIP Merge mode.
[0174] Because EIP's three filters and three types of reconstructed region reference pixel templates can be combined to create nine filter combinations, EIP selects the portion of these nine combinations to use for different block sizes. The encoding and decoding ends construct the same list to specify the mode idx values.
[0175] Therefore, the idx is fixed for all modes. When a certain EIP filter combination is selected, the EIP transmits its idx in truncated binary code (in ECM 13.0). This method does not consider that the selection probability of different EIP filter combinations varies for different video sequences. If a more probable EIP filter combination is located later in the list, then we need to allocate more bits to represent the idx.
[0176] Therefore, in some embodiments of this application, the order of the modes in this intra-frame prediction list has been adjusted. For illustrative purposes, please refer to... Figure 10 It illustrates a flowchart of an intra-frame prediction mode determination method for an encoding stage list provided in an exemplary embodiment of this application. Figure 10 This method can be applied to encoders. For example... Figure 10 As shown, the method includes the following steps.
[0177] Step 1010: Obtain a list of prediction modes based on the pixel information corresponding to the multiple candidate reconstruction regions.
[0178] The prediction mode list includes multiple intra-frame prediction modes, and each intra-frame prediction mode corresponds to a candidate reconstruction region.
[0179] In some embodiments, the intra-frame prediction mode includes one or more of the following: EIP mode, EIP Merge mode, angle prediction mode, plane mode, or DC mode.
[0180] For illustration, if the intra-frame prediction mode is EIP mode or EIP Merge mode, the first list is determined based on the filter shape and the reconstructed region shape, as shown in Table 1 above. In this case, the first list is implemented as the initial list; that is, if there are no subsequent steps, the first list is used as the prediction mode list.
[0181] In the first list, since multiple intra-prediction modes are arranged in a specified order, each intra-prediction mode has a corresponding index value according to its position. After determining the intra-prediction mode to be used, its index value is transmitted to realize the prediction process. For details, please refer to Table 2 above.
[0182] In some embodiments, each intra-frame prediction mode has a corresponding candidate reconstruction region.
[0183] In a schematic way, the positions of at least two intra-frame prediction modes in the first list are adjusted using pixel information corresponding to different candidate reconstruction regions, thereby generating a prediction mode list.
[0184] In a schematic way, multiple intra-frame prediction modes are directly sorted by the pixel information corresponding to different candidate reconstruction regions to generate a prediction mode list.
[0185] In some embodiments, when the prediction mode list is obtained by adjusting the first list, the first list and the prediction mode list contain the same intra-prediction modes, but the order of the multiple intra-prediction modes in the prediction mode list is different from that in the first list; or, the intra-prediction modes contained in the first list are different from those contained in the prediction mode list, for example, the number of intra-prediction modes contained in the prediction mode list is less than the number of intra-prediction modes contained in the first list; or, the intra-prediction modes contained in the first list are different from those contained in the prediction mode list, and for the same intra-prediction modes in the first list and the prediction mode list, the order of these intra-prediction modes in the first list is also different from their order in the prediction mode list.
[0186] In some embodiments of this application, a second region is predicted based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; a first parameter is determined based on the difference between the first predicted pixel value and the first reconstructed pixel value; the arrangement position of the i-th intra-frame prediction mode among multiple intra-frame prediction modes is determined based on the first parameter; and a prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0187] In some embodiments of this application, the multiple intra-frame prediction modes include an nth intra-frame prediction mode, which corresponds to an nth candidate reconstruction region. The nth candidate reconstruction region includes a first region and a second region. The first region includes a first sub-region, which is adjacent to the second region. The first sub-region corresponds to a second reconstructed pixel value, where n is a positive integer. The second region is predicted based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region. A second parameter is obtained based on the difference between the first predicted pixel value and the second reconstructed pixel value. The arrangement position of the nth intra-frame prediction mode among the multiple intra-frame prediction modes is determined based on the second parameter. A prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0188] In some embodiments of this application, the multiple intra-frame prediction modes include the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer; the horizontal gradient and vertical gradient corresponding to the third reconstructed pixel value are obtained, and the horizontal gradient and vertical gradient form a candidate angle; a gradient histogram corresponding to the third region is generated based on the horizontal gradient and vertical gradient, and the gradient histogram includes the counting results corresponding to multiple candidate angles respectively;
[0189] The third parameter corresponding to the third reconstructed pixel value is determined based on the gradient histogram; the position of the m-th intra-prediction mode in the arrangement of multiple intra-prediction modes is determined based on the second parameter; and a prediction mode list is generated based on the arrangement positions of the multiple intra-prediction modes.
[0190] In some embodiments of this application, the intra-frame prediction mode includes filter shape; obtaining a first priority corresponding to multiple candidate reconstruction regions respectively; sorting multiple intra-frame prediction modes based on the first priority to obtain a first sorting result; obtaining a second priority corresponding to multiple filter shapes respectively; and rearranging the first sorting result based on the second priority to obtain a prediction mode list.
[0191] In some embodiments, the candidate reconstruction region is divided into a first region and a second region according to the filter shape, and a third region is generated based on the current block according to the filter shape. The third region may be the same as or different from the second region. The first and second regions are illustrated schematically. Figure 8 As shown, the third area can be referenced. Figure 9 As shown in the first reference region.
[0192] In some embodiments, the first region further includes a first sub-region, which is implemented as a region that is adjacent to the second region, that is, the first sub-region is the boundary position in the first region.
[0193] In some embodiments of this application, the second region includes a plurality of prediction units (PUs); the first reconstructed pixel value and the first predicted pixel value include one or more of the following: the first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; the first reconstructed pixel value is the reconstructed pixel value corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel values corresponding to at least two PUs; the first reconstructed pixel value is the average value of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the average value of the reconstructed pixel values corresponding to at least two PUs; the first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs.
[0194] In some embodiments, the first reconstructed pixel value can be the first reconstructed pixel value corresponding to a single pixel in the second region, that is, in this case, the filter only performs one prediction process on the second region; or, the first reconstructed pixel value is the reconstructed pixel value corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the sum of the pixel values corresponding to the reconstructed pixel values corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the pixel average of the reconstructed pixel values corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the weighted average of the reconstructed pixel values corresponding to multiple pixels in the second region respectively, wherein the weights can be adjusted according to the actual situation.
[0195] In some embodiments, the first predicted pixel value can be the first predicted pixel value corresponding to a single pixel in the second region, that is, in this case, the filter only performs a prediction process for the second region once; or, the first predicted pixel value is the predicted pixel value corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the sum of the pixel values corresponding to the predicted pixel values corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the pixel average of the predicted pixel values corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the weighted average of the predicted pixel values corresponding to multiple pixels in the second region respectively, wherein the weights can be adjusted according to the actual situation.
[0196] In some embodiments, the first predicted pixel value and the first reconstructed pixel value are parameters in the same intra-frame prediction mode, that is, the first predicted pixel value and the first reconstructed pixel value correspond to each other.
[0197] In some embodiments, when the pixel information includes a first parameter, the pixel corresponding to the position of the filter in the first region determines the first reconstructed pixel value, and the pixel corresponding to the position of the filter in the second region determines the first pixel prediction value. For example, taking a 4×4 type filter as an example, the filter is used to predict the pixels in the second region based on the first region to obtain the first predicted pixel value corresponding to the pixel in the second region. Since the second region is a pixel in the candidate reconstruction region, the pixel also includes the previously predicted first reconstructed pixel value.
[0198] In some embodiments, the cost corresponding to the intra-frame prediction mode is determined by calculating the difference between the first reconstructed pixel value and the first predicted pixel value.
[0199] In some embodiments of this application, the pixel information includes a first parameter; the first parameter includes one or more of the following: obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the mean square error (MSE) criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute error and SAD criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute value summation (SATD) criterion.
[0200] In some embodiments, the difference between the first reconstructed pixel value and the first predicted pixel value is calculated using the MSE criterion, the SAD criterion, or the SATD criterion.
[0201] Since the cost of the intra-prediction mode has already been calculated using the SAD or SATD criteria, if the calculated cost reaches a pre-set cost threshold, the intra-prediction mode can be directly removed from the first list, thus achieving a coarse screening process for multiple intra-prediction modes.
[0202] In some embodiments of this application, the first reconstructed pixel value is obtained by predicting a second image block, which includes a second region.
[0203] In some embodiments, the first reconstructed pixel value is a pixel value that was previously calculated for that pixel using other intra-frame prediction modes.
[0204] In some embodiments, other intra-frame modes may be EIP mode, EIP Merge mode, angle prediction mode, plane mode, or DC mode.
[0205] In some embodiments, when the pixel information includes a second parameter, the pixel corresponding to the position of the filter in the first region determines the first reconstructed pixel value, and the pixel corresponding to the position of the filter in the second region determines the first pixel prediction value. For example, taking a 4×4 type filter as an example, the filter is used to predict the pixels in the second region based on the first region to obtain the first predicted pixel value corresponding to the pixel in the second region. The difference between the first predicted pixel value and the second reconstructed pixel value corresponding to the pixel in the first sub-region is calculated to determine the boundary continuity between the first region and the second region.
[0206] In some embodiments, when the pixel information includes a third parameter, taking the third region as an example, an angle prediction mode histogram is calculated using the pixels in the third region based on the DIMD method. The angle corresponding to the pixel is then calculated based on the angle prediction histogram and used as the predicted angle of the third region. When EIP predicts textures with angles, it can be equivalent to extending the texture of the reference region. Since the three filter types of EIP (4x4, 2x8, 8x2) have different texture capture capabilities, the EIP modes can be reordered according to the angle mode of the reference region.
[0207] In some embodiments, when the pixel information includes a fourth parameter, the L-shaped template has a higher selection probability in the reconstructed region. Therefore, the EIP filter combination is divided into three categories according to the region type of the reconstructed region. First, the reconstructed regions are sorted according to information such as the shape of the current block, and then reordered according to the different filter shapes in the region.
[0208] In some embodiments of this application, the intra-frame prediction mode includes the filter shape corresponding to the filter; the third region is determined by the filter shape.
[0209] In some embodiments, for different parameter types, multiple intra-prediction modes in the first list are reordered in ascending order of parameter results to generate a prediction mode list. At this time, since the position of the intra-prediction mode in the prediction mode list has changed compared to the first list, the index values corresponding to the multiple intra-prediction modes in the prediction mode list are updated respectively. For example, if the position of the same intra-prediction mode in the first list is earlier than its position in the prediction mode list, then the number of bits corresponding to the index value of the intra-prediction mode in the prediction mode list is greater than the number of bits corresponding to the index value in the first list.
[0210] In some embodiments of this application, a third intra-frame prediction mode is included among multiple intra-frame prediction modes. The third intra-frame prediction mode is located at a first position in a first list and at a second position in a prediction mode list. The first position and the second position are different.
[0211] In some embodiments of this application, the multiple intra-frame prediction modes further include a fourth intra-frame prediction mode; the third intra-frame prediction mode corresponds to the second index value at the first position, and the third intra-frame prediction mode corresponds to the third index value at the second position, wherein the number of bits corresponding to the second index value is different from the number of bits corresponding to the third index value.
[0212] Step 1020: Determine the first intra-frame prediction mode from the prediction mode list.
[0213] In some embodiments, after a prediction mode list is generated, the first intra-frame prediction mode to be used is determined from the prediction mode list by calculating RD, and the first index value corresponding to the first intra-frame prediction mode is transmitted to the encoding process.
[0214] Step 1030: Determine the first index value corresponding to the first intra-frame prediction mode based on the prediction mode list. The first intra-frame prediction mode is used to predict the current block and obtain the predicted pixel value corresponding to the current block.
[0215] In some embodiments of this application, based on the pixel information corresponding to multiple candidate reconstruction regions, the EIP Merge modes in the first list are filtered out to obtain a prediction mode list, and the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
[0216] In some embodiments, when the pixel information includes a fourth parameter, as can be seen from the above embodiments, after filtering the EIP Merge mode to obtain up to six candidate options, these are then used as the first list corresponding to the EIP Merge mode. The EIP Merge mode is then filtered and sorted a second time according to the above-mentioned methods of calculating cost, calculating boundary continuity, and angle prediction mode to obtain the prediction mode list corresponding to the EIP Merge mode.
[0217] Step 1040: Output the first index value through the bitstream.
[0218] The first index value is used to transmit the bitstream to the decoder for decoding.
[0219] In some embodiments of this application, the order of the modes in the intra-frame prediction list is also adjusted during the decoding stage. For illustrative examples, please refer to... Figure 11 It illustrates a flowchart of the decoding stage list intra-prediction mode determination method provided in an exemplary embodiment of this application. Figure 11 This method can be applied to decoders. For example... Figure 11 As shown, the method includes the following steps.
[0220] Step 1110: Obtain the first index value through the bitstream.
[0221] To illustrate, the data rate refers to the number of times a communication port changes between high and low voltage levels per second while transmitting data.
[0222] In some embodiments, the intra-frame prediction mode includes one or more of the following: EIP mode, EIP Merge mode, angle prediction mode, plane mode, or DC mode.
[0223] For illustration, if the intra-frame prediction mode is EIP mode or EIP Merge mode, the first list is determined based on the filter shape and the reconstructed region shape, as shown in Table 1 above. In this case, the first list is implemented as the initial list; that is, if there are no subsequent steps, the first list is used as the prediction mode list.
[0224] In the first list, since multiple intra-prediction modes are arranged in a specified order, each intra-prediction mode has a corresponding index value according to its position. After determining the intra-prediction mode to be used, its index value is transmitted to realize the prediction process. For details, please refer to Table 2 above.
[0225] In some embodiments, each intra-frame prediction mode has a corresponding candidate reconstruction region.
[0226] Step 1120: Obtain a list of prediction modes based on the pixel information corresponding to multiple candidate reconstruction regions.
[0227] The prediction mode list includes multiple intra-frame prediction modes, and each intra-frame prediction mode corresponds to a candidate reconstruction region.
[0228] In a schematic way, the positions of at least two intra-frame prediction modes in the first list are adjusted using pixel information corresponding to different candidate reconstruction regions, thereby generating a prediction mode list.
[0229] In a schematic way, multiple intra-frame prediction modes are directly sorted by the pixel information corresponding to different candidate reconstruction regions to generate a prediction mode list.
[0230] In some embodiments, when the prediction mode list is obtained by adjusting the first list, the first list and the prediction mode list contain the same intra-prediction modes, but the order of the multiple intra-prediction modes in the prediction mode list is different from that in the first list; or, the intra-prediction modes contained in the first list are different from those contained in the prediction mode list, for example, the number of intra-prediction modes contained in the prediction mode list is less than the number of intra-prediction modes contained in the first list; or, the intra-prediction modes contained in the first list are different from those contained in the prediction mode list, and for the same intra-prediction modes in the first list and the prediction mode list, the order of these intra-prediction modes in the first list is also different from their order in the prediction mode list.
[0231] In some embodiments of this application, a second region is predicted based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; a first parameter is determined based on the difference between the first predicted pixel value and the first reconstructed pixel value; the arrangement position of the i-th intra-frame prediction mode among multiple intra-frame prediction modes is determined based on the first parameter; and a prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0232] In some embodiments of this application, the multiple intra-frame prediction modes include an nth intra-frame prediction mode, which corresponds to an nth candidate reconstruction region. The nth candidate reconstruction region includes a first region and a second region. The first region includes a first sub-region, which is adjacent to the second region. The first sub-region corresponds to a second reconstructed pixel value, where n is a positive integer. The second region is predicted based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region. A second parameter is obtained based on the difference between the first predicted pixel value and the second reconstructed pixel value. The arrangement position of the nth intra-frame prediction mode among the multiple intra-frame prediction modes is determined based on the second parameter. A prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0233] In some embodiments of this application, the multiple intra-frame prediction modes include the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer; the horizontal gradient and vertical gradient corresponding to the third reconstructed pixel value are obtained, and the horizontal gradient and vertical gradient form a candidate angle; a gradient histogram corresponding to the third region is generated based on the horizontal gradient and vertical gradient, and the gradient histogram includes the counting results corresponding to multiple candidate angles respectively;
[0234] The third parameter corresponding to the third reconstructed pixel value is determined based on the gradient histogram; the position of the m-th intra-prediction mode in the arrangement of multiple intra-prediction modes is determined based on the second parameter; and a prediction mode list is generated based on the arrangement positions of the multiple intra-prediction modes.
[0235] In some embodiments of this application, the intra-frame prediction mode includes filter shape; obtaining a first priority corresponding to multiple candidate reconstruction regions respectively; sorting multiple intra-frame prediction modes based on the first priority to obtain a first sorting result; obtaining a second priority corresponding to multiple filter shapes respectively; and rearranging the first sorting result based on the second priority to obtain a prediction mode list.
[0236] In some embodiments, the candidate reconstruction region is divided into a first region and a second region according to the filter shape, and a third region is generated based on the current block according to the filter shape. The third region may be the same as or different from the second region. The first and second regions are illustrated schematically. Figure 8 As shown, the third area can be referenced. Figure 9 As shown in the first reference region.
[0237] In some embodiments, the first region further includes a first sub-region, which is implemented as a region that is adjacent to the second region, that is, the first sub-region is the boundary position in the first region.
[0238] In some embodiments of this application, the second region includes a plurality of prediction units (PUs); the first reconstructed pixel value and the first predicted pixel value include one or more of the following: the first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; the first reconstructed pixel value is the reconstructed pixel value corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel values corresponding to at least two PUs; the first reconstructed pixel value is the average value of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the average value of the reconstructed pixel values corresponding to at least two PUs; the first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs.
[0239] In some embodiments, the first reconstructed pixel value can be the first reconstructed pixel value corresponding to a single pixel in the second region, that is, in this case, the filter only performs one prediction process on the second region; or, the first reconstructed pixel value is the reconstructed pixel value corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the sum of the pixel values corresponding to the reconstructed pixel values corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the pixel average of the reconstructed pixel values corresponding to multiple pixels in the second region respectively; or, the first reconstructed pixel value is the weighted average of the reconstructed pixel values corresponding to multiple pixels in the second region respectively, wherein the weights can be adjusted according to the actual situation.
[0240] In some embodiments, the first predicted pixel value can be the first predicted pixel value corresponding to a single pixel in the second region, that is, in this case, the filter only performs a prediction process for the second region once; or, the first predicted pixel value is the predicted pixel value corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the sum of the pixel values corresponding to the predicted pixel values corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the pixel average of the predicted pixel values corresponding to multiple pixels in the second region respectively; or, the first predicted pixel value is the weighted average of the predicted pixel values corresponding to multiple pixels in the second region respectively, wherein the weights can be adjusted according to the actual situation.
[0241] In some embodiments, the first predicted pixel value and the first reconstructed pixel value are parameters in the same intra-frame prediction mode, that is, the first predicted pixel value and the first reconstructed pixel value correspond to each other.
[0242] In some embodiments, when the pixel information includes a first parameter, the pixel corresponding to the position of the filter in the first region determines the first reconstructed pixel value, and the pixel corresponding to the position of the filter in the second region determines the first pixel prediction value. For example, taking a 4×4 type filter as an example, the filter is used to predict the pixels in the second region based on the first region to obtain the first predicted pixel value corresponding to the pixel in the second region. Since the second region is a pixel in the candidate reconstruction region, the pixel also includes the previously predicted first reconstructed pixel value.
[0243] In some embodiments, the cost corresponding to the intra-frame prediction mode is determined by calculating the difference between the first reconstructed pixel value and the first predicted pixel value.
[0244] In some embodiments of this application, the pixel information includes a first parameter; the first parameter includes one or more of the following: obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the mean square error (MSE) criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute error and SAD criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute value summation (SATD) criterion.
[0245] In some embodiments, the difference between the first reconstructed pixel value and the first predicted pixel value is calculated using the MSE criterion, the SAD criterion, or the SATD criterion.
[0246] Since the cost of the intra-prediction mode has already been calculated using the SAD or SATD criteria, if the calculated cost reaches a pre-set cost threshold, the intra-prediction mode can be directly removed from the first list, thus achieving a coarse screening process for multiple intra-prediction modes.
[0247] In some embodiments of this application, the first reconstructed pixel value is obtained by predicting a second image block, which includes a second region.
[0248] In some embodiments, the first reconstructed pixel value is a pixel value that was previously calculated for that pixel using other intra-frame prediction modes.
[0249] In some embodiments, other intra-frame modes may be EIP mode, EIP Merge mode, angle prediction mode, plane mode, or DC mode.
[0250] In some embodiments, when the pixel information includes a second parameter, the pixel corresponding to the position of the filter in the first region determines the first reconstructed pixel value, and the pixel corresponding to the position of the filter in the second region determines the first pixel prediction value. For example, taking a 4×4 type filter as an example, the filter is used to predict the pixels in the second region based on the first region to obtain the first predicted pixel value corresponding to the pixel in the second region. The difference between the first predicted pixel value and the second reconstructed pixel value corresponding to the pixel in the first sub-region is calculated to determine the boundary continuity between the first region and the second region.
[0251] In some embodiments, when the pixel information includes a third parameter, taking the third region as an example, an angle prediction mode histogram is calculated using the pixels in the third region based on the DIMD method. The angle corresponding to the pixel is then calculated based on the angle prediction histogram and used as the predicted angle of the third region. When EIP predicts textures with angles, it can be equivalent to extending the texture of the reference region. Since the three filter types of EIP (4x4, 2x8, 8x2) have different texture capture capabilities, the EIP modes can be reordered according to the angle mode of the reference region.
[0252] In some embodiments, when the pixel information includes a fourth parameter, the L-shaped template has a higher selection probability in the reconstructed region. Therefore, the EIP filter combination is divided into three categories according to the region type of the reconstructed region. First, the reconstructed regions are sorted according to information such as the shape of the current block, and then reordered according to the different filter shapes in the region.
[0253] In some embodiments of this application, the intra-frame prediction mode includes the filter shape corresponding to the filter; the third region is determined by the filter shape.
[0254] In some embodiments, for different parameter types, multiple intra-prediction modes in the first list are reordered in ascending order of parameter results to generate a prediction mode list. At this time, since the position of the intra-prediction mode in the prediction mode list has changed compared to the first list, the index values corresponding to the multiple intra-prediction modes in the prediction mode list are updated respectively. For example, if the position of the same intra-prediction mode in the first list is earlier than its position in the prediction mode list, then the number of bits corresponding to the index value of the intra-prediction mode in the prediction mode list is greater than the number of bits corresponding to the index value in the first list.
[0255] In some embodiments of this application, a third intra-frame prediction mode is included among multiple intra-frame prediction modes. The third intra-frame prediction mode is located at a first position in a first list and at a second position in a prediction mode list. The first position and the second position are different.
[0256] In some embodiments of this application, the multiple intra-frame prediction modes further include a fourth intra-frame prediction mode; the third intra-frame prediction mode corresponds to the second index value at the first position, and the third intra-frame prediction mode corresponds to the third index value at the second position, wherein the number of bits corresponding to the second index value is different from the number of bits corresponding to the third index value.
[0257] Step 1130: Determine the first intra-frame prediction mode from the prediction mode list based on the first index value.
[0258] In some embodiments, after a prediction mode list is generated, the first intra-frame prediction mode to be used is determined from the prediction mode list by calculating RD, and the first index value corresponding to the first intra-frame prediction mode is transmitted to the encoding process.
[0259] Step 1140: Based on the first intra-frame prediction mode, predict the first image block to obtain the pixel prediction result corresponding to the first image block.
[0260] In some embodiments of this application, based on the pixel information corresponding to multiple candidate reconstruction regions, the EIP Merge modes in the first list are filtered out to obtain a prediction mode list, and the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
[0261] In some embodiments, when the pixel information includes a fourth parameter, as can be seen from the above embodiments, after filtering the EIP Merge mode to obtain up to six candidate options, these are then used as the first list corresponding to the EIP Merge mode. The EIP Merge mode is then filtered and sorted a second time according to the above-mentioned methods of calculating cost, calculating boundary continuity, and angle prediction mode to obtain the prediction mode list corresponding to the EIP Merge mode.
[0262] To facilitate understanding, the EIP mode in some embodiments of this application will be described in detail below with reference to three examples.
[0263] The above text combined Figures 1 to 11 The method embodiments of this application are described in detail below, in conjunction with... Figures 12 to 15 The present application provides a detailed description of the apparatus embodiments. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments; therefore, any parts not described in detail can be found in the foregoing method embodiments.
[0264] Figure 12 This is a schematic diagram of the decoder structure provided in one embodiment of this application. Figure 12As shown, the decoder 700 includes: an acquisition unit 710, a determination unit 720, and a prediction unit 730. The acquisition unit 710 is configured to acquire a first index value through the bitstream; and obtain a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, wherein the prediction mode list includes multiple intra-frame prediction modes, and the intra-frame prediction modes correspond to the candidate reconstruction regions. The determination unit 720 is configured to determine a first intra-frame prediction mode from the prediction mode list based on the first index value. The prediction unit 730 is configured to predict the current block based on the first intra-frame prediction mode to obtain the predicted pixel value corresponding to the current block.
[0265] In some implementations, the plurality of intra-frame prediction modes include an i-th intra-frame prediction mode, the i-th intra-frame prediction mode corresponds to an i-th candidate reconstruction region, the i-th candidate reconstruction region includes a first region and a second region, the second region corresponds to a first reconstructed pixel value, and i is a positive integer;
[0266] The acquisition unit 710 is further configured to predict the second region based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; determine a first parameter based on the difference between the first predicted pixel value and the first reconstructed pixel value; determine the arrangement position of the i-th intra-frame prediction mode among the plurality of intra-frame prediction modes based on the first parameter; and generate the prediction mode list based on the arrangement positions corresponding to the plurality of intra-frame prediction modes respectively.
[0267] In some implementations, the first reconstructed pixel value is obtained by predicting a second image block, which includes the second region.
[0268] In some implementations, the second region includes a plurality of prediction units (PUs); the first reconstructed pixel value and the first predicted pixel value include one or more of the following: the first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; the first reconstructed pixel value is the reconstructed pixel value corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the average of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the average of the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to the at least two PUs.
[0269] In some implementations, the pixel information includes the first parameter; the first parameter includes one or more of the following: obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the mean square error (MSE) criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute error and SAD criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute summation (SATD) criterion.
[0270] In some implementations, the plurality of intra-frame prediction modes include an nth intra-frame prediction mode, the nth intra-frame prediction mode corresponds to an nth candidate reconstruction region, the nth candidate reconstruction region includes a first region and a second region, the first region includes a first sub-region, the first sub-region is connected to the second region, the first sub-region corresponds to a second reconstructed pixel value, and n is a positive integer;
[0271] The acquisition unit 710 is further configured to predict the second region based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; obtain a second parameter based on the difference between the first predicted pixel value and the second reconstructed pixel value; determine the arrangement position of the nth intra-frame prediction mode among the plurality of intra-frame prediction modes based on the second parameter; and generate the prediction mode list based on the arrangement positions corresponding to the plurality of intra-frame prediction modes respectively.
[0272] In some implementations, the plurality of intra-frame prediction modes includes the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer;
[0273] The acquisition unit 710 is further configured to acquire the horizontal gradient and vertical gradient corresponding to the third reconstructed pixel value, wherein the horizontal gradient and the vertical gradient form a candidate angle; generate a gradient histogram corresponding to the third region based on the horizontal gradient and the vertical gradient, wherein the gradient histogram includes counting results corresponding to multiple candidate angles; determine a third parameter corresponding to the third reconstructed pixel value based on the gradient histogram; determine the arrangement position of the m-th intra-frame prediction mode among the multiple intra-frame prediction modes based on the second parameter; and generate the prediction mode list based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0274] In some implementations, the intra-frame prediction mode includes a filter shape;
[0275] The acquisition unit 710 is further configured to acquire a first priority corresponding to each of the plurality of candidate reconstruction regions; sort the plurality of intra-frame prediction modes based on the first priority to obtain a first sorting result; acquire a second priority corresponding to each of the plurality of filter shapes; and rearrange the first sorting result based on the second priority to obtain the prediction mode list.
[0276] In some implementations, the intra-frame prediction mode includes at least one of the following: intra-frame prediction EIP mode based on extrapolation filter; EIP merging mode; angle prediction mode; plane mode; DC mode.
[0277] In some implementations, the first list includes multiple EIP Merge modes; the method further includes: based on the pixel information corresponding to the multiple candidate reconstruction regions, filtering out the EIP Merge modes in the first list to obtain the prediction mode list, wherein the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
[0278] Understandably, in some embodiments of this application, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular component. Furthermore, the components in this embodiment can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit. The integrated unit described above can be implemented in hardware or as a software functional module.
[0279] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0280] Therefore, some embodiments of this application provide a computer-readable storage medium applied to a decoder 700, the computer-readable storage medium storing a computer program that, when executed by a processor, implements the aforementioned decoding method.
[0281] Based on the composition of the decoder 700 and the computer-readable storage medium described above, see [link to documentation]. Figure 13 This illustrates a schematic diagram of the specific hardware structure of the decoder provided in some embodiments of this application. For example... Figure 13 As shown, the decoder 800 may include a communication interface 810, a memory 820, and a processor 830; the various components are coupled together via a bus system 840. It is understood that the bus system 840 is used to implement communication between these components. In addition to a data bus, the bus system 840 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 13 The general designated all buses as Bus System 840. Among them,
[0282] The communication interface 810 is used for receiving and sending signals during the process of sending and receiving information with other external network elements.
[0283] The memory 820 is used to store computer programs.
[0284] Processor 830, when running the computer program, performs the following:
[0285] Decode the SEI message corresponding to the current image to obtain the position information of the pupil contained in the current image;
[0286] Based on the pupil position information, the eye motion information contained in the current image is determined.
[0287] It is understood that the memory 820 in some embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous DRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 820 of the systems and methods described in this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0288] The processor 830 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 830 or by instructions in software form. The processor 830 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in some embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in some embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 820. Processor 830 reads the information in memory 820 and, in conjunction with its hardware, completes the steps of the above method.
[0289] It is understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), DSP devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof. For software implementation, the technology described in this application can be implemented through modules (e.g., procedures, functions, etc.) that perform the functions described in this application. Software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
[0290] In some embodiments, as another example, the processor 830 is also configured to execute the decoding method described in the foregoing embodiments when running the computer program.
[0291] In some embodiments of this application, a decoding chip is also provided, which includes a processor and a memory. The processor is configured to call and run a computer program from the memory, enabling a device equipped with the decoding chip to perform any of the decoding methods described above.
[0292] Figure 14 This is a schematic diagram of the encoder provided in one embodiment of this application. Figure 14 As shown, the encoder 1400 includes: an acquisition unit 1410, a determination unit 1420, and an adjustment unit 1430. The acquisition unit 1410 is configured to obtain a prediction mode list based on pixel information corresponding to multiple candidate reconstruction regions, the prediction mode list including multiple intra-frame prediction modes, each corresponding to a candidate reconstruction region; the determination unit 1420 is configured to determine a first intra-frame prediction mode from the prediction mode list; and determine a first index value corresponding to the first intra-frame prediction mode based on the prediction mode list, the first intra-frame prediction mode being used to predict the current block to obtain the predicted pixel value corresponding to the current block; the output unit 1430 is configured to output the first index value through a bitstream.
[0293] In some implementations, the plurality of intra-frame prediction modes include an i-th intra-frame prediction mode, the i-th intra-frame prediction mode corresponds to an i-th candidate reconstruction region, the i-th candidate reconstruction region includes a first region and a second region, the second region corresponds to a first reconstructed pixel value, and i is a positive integer;
[0294] The acquisition unit 1410 is further configured to predict the second region based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; determine a first parameter based on the difference between the first predicted pixel value and the first reconstructed pixel value; determine the arrangement position of the i-th intra-frame prediction mode among the plurality of intra-frame prediction modes based on the first parameter; and generate the prediction mode list based on the arrangement positions corresponding to the plurality of intra-frame prediction modes respectively.
[0295] In some implementations, the first reconstructed pixel value is obtained by predicting a second image block, which includes the second region.
[0296] In some implementations, the second region includes a plurality of prediction units (PUs); the first reconstructed pixel value and the first predicted pixel value include one or more of the following: the first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; the first reconstructed pixel value is the reconstructed pixel value corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the average of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the average of the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to the at least two PUs.
[0297] In some implementations, the pixel information includes the first parameter; the first parameter includes one or more of the following: obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the mean square error (MSE) criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute error and SAD criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute summation (SATD) criterion.
[0298] In some implementations, the plurality of intra-frame prediction modes include an nth intra-frame prediction mode, the nth intra-frame prediction mode corresponds to an nth candidate reconstruction region, the nth candidate reconstruction region includes a first region and a second region, the first region includes a first sub-region, the first sub-region is connected to the second region, the first sub-region corresponds to a second reconstructed pixel value, and n is a positive integer;
[0299] The acquisition unit 710 is further configured to predict the second region based on the reconstructed pixels in the first region to obtain a first predicted pixel value corresponding to the second region; obtain a second parameter based on the difference between the first predicted pixel value and the second reconstructed pixel value; determine the arrangement position of the nth intra-frame prediction mode among the plurality of intra-frame prediction modes based on the second parameter; and generate the prediction mode list based on the arrangement positions corresponding to the plurality of intra-frame prediction modes respectively.
[0300] In some implementations, the plurality of intra-frame prediction modes includes the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer;
[0301] The acquisition unit 1410 is further configured to acquire the horizontal gradient and vertical gradient corresponding to the third reconstructed pixel value, wherein the horizontal gradient and the vertical gradient form a candidate angle; generate a gradient histogram corresponding to the third region based on the horizontal gradient and the vertical gradient, wherein the gradient histogram includes counting results corresponding to multiple candidate angles; determine a third parameter corresponding to the third reconstructed pixel value based on the gradient histogram; determine the arrangement position of the m-th intra-frame prediction mode among the multiple intra-frame prediction modes based on the second parameter; and generate the prediction mode list based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
[0302] In some implementations, the intra-frame prediction mode includes a filter shape;
[0303] The acquisition unit 1410 is further configured to acquire a first priority corresponding to each of the plurality of candidate reconstruction regions; sort the plurality of intra-frame prediction modes based on the first priority to obtain a first sorting result; acquire a second priority corresponding to each of the plurality of filter shapes; and rearrange the first sorting result based on the second priority to obtain the prediction mode list.
[0304] In some implementations, the first reconstructed pixel value is obtained by predicting a second image block, which includes the second region.
[0305] In some implementations, the second region includes a plurality of prediction units (PUs); the first reconstructed pixel value and the first predicted pixel value include one or more of the following: the first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; the first reconstructed pixel value is the reconstructed pixel value corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the average of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the average of the reconstructed pixel values corresponding to the at least two PUs; the first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two PUs among the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to the at least two PUs.
[0306] In some implementations, the pixel information includes the first parameter; the first parameter includes one or more of the following: obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the mean square error (MSE) criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute error and SAD criterion; obtained by calculating the difference between the first reconstructed pixel value and the first predicted pixel value using the absolute summation (SATD) criterion.
[0307] In some implementations, the intra-frame prediction mode includes at least one of the following: intra-frame prediction EIP mode based on extrapolation filter; EIP merging mode; angle prediction mode; plane mode; DC mode.
[0308] In some implementations, the first list includes multiple EIP Merge modes; the method further includes: based on the pixel information corresponding to the multiple candidate reconstruction regions, filtering out the EIP Merge modes in the first list to obtain the prediction mode list, wherein the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
[0309] Understandably, in some embodiments of this application, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular component. Furthermore, the components in this embodiment can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit. The integrated unit described above can be implemented in hardware or as a software functional module.
[0310] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0311] Therefore, some embodiments of this application provide a computer-readable storage medium applied to an encoder 1400, the computer-readable storage medium storing a computer program that, when executed by a processor, implements the encoding method in the foregoing embodiments.
[0312] Based on the composition of the encoder 1400 and the computer-readable storage medium described above, see [link to documentation]. Figure 15 This illustrates a schematic diagram of the specific hardware structure of the encoder provided in some embodiments of this application. For example... Figure 15 As shown, encoder 1500 may include: communication interface 1510, memory 1520, and processor 1530; the various components are coupled together via bus system 1540. It is understood that bus system 1540 is used to implement communication between these components. In addition to a data bus, bus system 1540 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 15 The general designated all buses as Bus System 1540. Among them,
[0313] The communication interface 1510 is used for receiving and sending signals during the process of sending and receiving information with other external network elements.
[0314] Memory 1520 is used to store computer programs.
[0315] Processor 1530, when running the computer program, performs the following:
[0316] Determine the positional information of the pupils contained in the current image;
[0317] Based on the pupil position information, the parameters in the SEI message corresponding to the current image are encoded, and the pupil position information is used to determine the eye motion information contained in the current image.
[0318] It is understood that the memory 1520 in some embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous DRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 1520 of the systems and methods described in this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0319] The processor 1530 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1530 or by instructions in software form. The processor 1530 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in some embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in some embodiments of this application can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 1520. Processor 1530 reads the information in memory 1520 and completes the steps of the above method in conjunction with its hardware.
[0320] It is understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), DSP devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof. For software implementation, the technology described in this application can be implemented through modules (e.g., procedures, functions, etc.) that perform the functions described in this application. Software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
[0321] In some embodiments, as another example, the processor 1530 is also configured to execute the encoding method described in the foregoing embodiments when running the computer program.
[0322] In some embodiments of this application, an encoding chip is also provided, which includes a processor and a memory, the processor being configured to call and run a computer program from the memory, enabling a device equipped with the encoding chip to perform any of the decoding methods described above.
[0323] It should be noted that, in this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0324] The serial numbers in some embodiments of this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0325] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0326] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0327] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0328] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A decoding method, characterized in that, Applied to a decoder, the method includes: Obtain the first index value from the bitstream; A prediction mode list is obtained based on the pixel information corresponding to multiple candidate reconstruction regions. The prediction mode list includes multiple intra-frame prediction modes, and the intra-frame prediction modes correspond to the candidate reconstruction regions. A first intra-frame prediction mode is determined from the prediction mode list based on the first index value; Based on the first intra-frame prediction mode, the current block is predicted to obtain the predicted pixel value corresponding to the current block.
2. The method according to claim 1, characterized in that, The plurality of intra-frame prediction modes include the i-th intra-frame prediction mode, the i-th intra-frame prediction mode corresponds to the i-th candidate reconstruction region, the i-th candidate reconstruction region includes a first region and a second region, the second region corresponds to a first reconstructed pixel value, and i is a positive integer; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Based on the reconstructed pixels in the first region, the second region is predicted to obtain the first predicted pixel value corresponding to the second region; The first parameter is determined based on the difference between the first predicted pixel value and the first reconstructed pixel value; The i-th intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the first parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
3. The method according to claim 2, characterized in that, The first reconstructed pixel value is obtained by predicting a second image block, which includes the second region.
4. The method according to claim 2, characterized in that, The second region includes multiple prediction units (PUs); The first reconstructed pixel value and the first predicted pixel value include one or more of the following: The first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; The first reconstructed pixel value is the reconstructed pixel value corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel value corresponding to the at least two PUs. The first reconstructed pixel value is the average of the reconstructed pixel values corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the average of the reconstructed pixel values corresponding to the at least two PUs. The first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to the at least two PUs.
5. The method according to claim 2, characterized in that, The first parameter includes one or more of the following: The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the mean square error (MSE) criterion. The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the absolute error and the SAD criterion. The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the difference using the SATD (Sum of Absolute Values) criterion.
6. The method according to any one of claims 1 to 5, characterized in that, The plurality of intra-frame prediction modes include an nth intra-frame prediction mode, which corresponds to an nth candidate reconstruction region. The nth candidate reconstruction region includes a first region and a second region. The first region includes a first sub-region, which is connected to the second region. The first sub-region corresponds to a second reconstructed pixel value, where n is a positive integer. The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Based on the reconstructed pixels in the first region, the second region is predicted to obtain the first predicted pixel value corresponding to the second region; The second parameter is obtained based on the difference between the first predicted pixel value and the second reconstructed pixel value; The nth intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the second parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
7. The method according to any one of claims 1 to 5, characterized in that, The plurality of intra-frame prediction modes include the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Obtain the horizontal and vertical gradients corresponding to the third reconstructed pixel value, wherein the horizontal and vertical gradients form a candidate angle. A gradient histogram corresponding to the third region is generated based on the horizontal and vertical gradients. The gradient histogram includes the counting results corresponding to multiple candidate angles. The third parameter corresponding to the third reconstructed pixel value is determined based on the gradient histogram; The m-th intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the second parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
8. The method according to any one of claims 1 to 5, characterized in that, The intra-frame prediction mode includes filter shape; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Obtain the first priority corresponding to each of the multiple candidate reconstruction regions; The multiple intra-frame prediction modes are sorted based on the first priority to obtain a first sorting result; Obtain the second priority corresponding to various filter shapes; The first sorting result is rearranged based on the second priority to obtain the prediction mode list.
9. The method according to any one of claims 1 to 5, characterized in that, The intra-frame prediction mode includes at least one of the following: Intra-frame prediction EIP mode based on extrapolation filter; EIP Merge mode; Angle prediction mode; Plane mode; DC mode.
10. The method according to claim 9, characterized in that, The first list includes multiple EIP Merge patterns; The method further includes: Based on the pixel information corresponding to the multiple candidate reconstruction regions, the EIP Merge modes in the first list are filtered out to obtain the prediction mode list, wherein the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
11. An encoding method, characterized in that, Applied to encoders, including: A prediction mode list is obtained based on the pixel information corresponding to multiple candidate reconstruction regions. The prediction mode list includes multiple intra-frame prediction modes, and the intra-frame prediction modes correspond to the candidate reconstruction regions. Determine the first intra-frame prediction mode from the list of prediction modes; Based on the prediction mode list, a first index value corresponding to the first intra-frame prediction mode is determined. The first intra-frame prediction mode is used to predict the current block and obtain the predicted pixel value corresponding to the current block. The first index value is output through the bitstream.
12. The method according to claim 11, characterized in that, The plurality of intra-frame prediction modes include the i-th intra-frame prediction mode, the i-th intra-frame prediction mode corresponds to the i-th candidate reconstruction region, the i-th candidate reconstruction region includes a first region and a second region, the second region corresponds to a first reconstructed pixel value, and i is a positive integer; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Based on the reconstructed pixels in the first region, the second region is predicted to obtain the first predicted pixel value corresponding to the second region; The first parameter is determined based on the difference between the first predicted pixel value and the first reconstructed pixel value; The i-th intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the first parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
13. The method according to claim 12, characterized in that, The first reconstructed pixel value is obtained by predicting a second image block, which includes the second region.
14. The method according to claim 12, characterized in that, The second region includes multiple prediction units (PUs); The first reconstructed pixel value and the first predicted pixel value include one or more of the following: The first reconstructed pixel value is the reconstructed pixel value corresponding to the first PU among the plurality of PUs, and the first predicted pixel value is the predicted pixel value corresponding to the first PU; The first reconstructed pixel value is the reconstructed pixel value corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the reconstructed pixel value corresponding to the at least two PUs. The first reconstructed pixel value is the average of the reconstructed pixel values corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the average of the reconstructed pixel values corresponding to the at least two PUs. The first reconstructed pixel value is the sum of the pixel values of the reconstructed pixel values corresponding to at least two of the plurality of PUs, and the first predicted pixel value includes the sum of the pixel values of the reconstructed pixel values corresponding to the at least two PUs.
15. The method according to claim 12, characterized in that, The first parameter includes one or more of the following: The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the mean square error (MSE) criterion. The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the absolute error and the SAD criterion. The difference between the first reconstructed pixel value and the first predicted pixel value is obtained by calculating the difference using the SATD (Sum of Absolute Values) criterion.
16. The method according to any one of claims 11 to 15, characterized in that, The plurality of intra-frame prediction modes include an nth intra-frame prediction mode, which corresponds to an nth candidate reconstruction region. The nth candidate reconstruction region includes a first region and a second region. The first region includes a first sub-region, which is connected to the second region. The first sub-region corresponds to a second reconstructed pixel value, where n is a positive integer. The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Based on the reconstructed pixels in the first region, the second region is predicted to obtain the first predicted pixel value corresponding to the second region; The second parameter is obtained based on the difference between the first predicted pixel value and the second reconstructed pixel value; The nth intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the second parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
17. The method according to any one of claims 11 to 15, characterized in that, The plurality of intra-frame prediction modes include the m-th intra-frame prediction mode, the m-th intra-frame prediction mode corresponds to the m-th candidate reconstruction region, the m-th candidate reconstruction region includes a third region, the third region corresponds to a third reconstructed pixel value, and m is a positive integer; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Obtain the horizontal and vertical gradients corresponding to the third reconstructed pixel value, wherein the horizontal and vertical gradients form a candidate angle. A gradient histogram corresponding to the third region is generated based on the horizontal and vertical gradients. The gradient histogram includes the counting results corresponding to multiple candidate angles. The third parameter corresponding to the third reconstructed pixel value is determined based on the gradient histogram; The m-th intra-frame prediction mode is determined in the order of the multiple intra-frame prediction modes based on the second parameter. The prediction mode list is generated based on the arrangement positions corresponding to the multiple intra-frame prediction modes.
18. The method according to any one of claims 11 to 15, characterized in that, The intra-frame prediction mode includes filter shape; The prediction mode list obtained based on the pixel information corresponding to multiple candidate reconstruction regions includes: Obtain the first priority corresponding to each of the multiple candidate reconstruction regions; The multiple intra-frame prediction modes are sorted based on the first priority to obtain a first sorting result; Obtain the second priority corresponding to various filter shapes; The first sorting result is rearranged based on the second priority to obtain the prediction mode list.
19. The method according to any one of claims 11 to 15, characterized in that, The intra-frame prediction mode includes at least one of the following: Intra-frame prediction EIP mode based on extrapolation filter; EIP Merge mode; Angle prediction mode; Plane mode; DC mode.
20. The method according to claim 19, characterized in that, The first list includes multiple EIP Merge patterns; The method further includes: Based on the pixel information corresponding to the multiple candidate reconstruction regions, the EIP Merge modes in the first list are filtered out to obtain the prediction mode list, wherein the number of EIP Merge modes in the prediction mode list is less than the number of EIP Merge modes in the first list.
21. A decoder, characterized in that, include: Memory, used to store computer programs; A processor, configured to perform the method as described in any one of claims 1-10 when running the computer program.
22. An encoding chip, characterized in that, It includes a processor and a memory, the processor being configured to invoke a program or instructions from the memory to cause the method as described in any one of claims 11-20 to be executed.
23. A non-volatile computer-readable storage medium for storing bit streams, characterized in that, The bitstream is generated by using an encoder's encoding method, or the bitstream is decoded by using a decoder's decoding method, wherein the decoding method is the method as described in any one of claims 1-17, and the encoding method is the method as described in any one of claims 11-20.