Intra-frame prediction method and device, electronic equipment and computer program product
Through local texture feature calculation and template matching operations, the problem of low accuracy of non-local block matching in intra prediction is solved, and the encoding performance and prediction accuracy are improved.
Patent Information
- Application Number
- CN202411515264.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-02-07
AI Technical Summary
In the prior art, the accuracy of non-local block matching in intra prediction is low, resulting in low encoding efficiency.
The local texture prediction block is obtained through local texture feature calculation, and the template matching operation is performed based on the reference template and the local texture prediction block in the reconstructed area, and the candidate matching block is obtained to determine the prediction result.
Improve the accuracy and coding performance of intra prediction, especially when dealing with complex texture structures, significantly improve the accuracy of non-local block matching prediction.
Smart Images

Figure CN119402643A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of video coding and decoding technology, and in particular to an intra-frame prediction method, an intra-frame prediction device, an electronic device and a computer program product. Background Art
[0002] In video coding, intra frames (I frames) are independent of neighboring reference frames and can be encoded and decoded independently. They are one of the most critical reference frames in each image group. Intra prediction is a key technology for encoding I frames and directly determines the compression efficiency of I frames. Intra prediction is a method of predicting unknown information based on texture correlation within the same image frame. It uses the encoded information in the image frame as a priori to remove spatial information redundancy in the image.
[0003] According to the knowledge of intra-frame prediction, it can be seen that reference pixels play a decisive role in the accuracy of intra-frame prediction. For example, an intra-frame prediction scheme only uses several adjacent rows of pixels as reference pixels in consideration of the continuity of textures, and performs predictions through a projection interpolation prediction model. This method is more effective when used for linear interpolation of simple textures, but when the texture structure and texture direction to be predicted are more complex, this point-to-point mapping is difficult to establish a stable prediction relationship. Assuming that the width and height to be predicted are W and H respectively, it becomes difficult to predict WxH pixels using only W+H pixels based on a linear projection relationship, and ultimately it is impossible to obtain an accurate prediction block, which cannot bring about effective coding performance improvement. Summary of the invention
[0004] The present disclosure provides an intra-frame prediction method, device, electronic device, computer-readable storage medium and computer program product to at least solve the problem of low accuracy of non-local block matching and low coding efficiency caused by display identification in the related art. The technical solution of the present disclosure is as follows:
[0005] According to a first aspect of an embodiment of the present disclosure, an intra-frame prediction method is provided, comprising: determining a current block to be predicted, performing local texture feature calculation on the current block to be predicted, and obtaining a local texture prediction block; determining a reference template and a reconstructed area of the current block to be predicted; performing a template matching operation on the reconstructed area based on the reference template and the local texture prediction block, and obtaining a matching result corresponding to the current block to be predicted, the matching result including a candidate matching block; and determining a prediction result of the current block to be predicted based on the candidate matching block.
[0006] In an exemplary embodiment of the present disclosure, the performing local texture feature calculation on the current block to be predicted to obtain a local texture prediction block includes: performing spatial domain local texture feature calculation on the current block to be predicted to obtain the gradient of each pixel in the texture template; determining a gradient histogram corresponding to the texture template based on the gradients of multiple pixels; and performing interpolation prediction processing on the current block to be predicted based on the gradient histogram to obtain the local texture prediction block.
[0007] In an exemplary embodiment of the present disclosure, the spatial domain local texture feature calculation is performed on the current block to be predicted to obtain the gradient of each pixel in the texture template, including: determining the current frame in which the current block to be predicted is located; determining the texture template of the current block to be predicted based on the current frame, the texture template being composed of designated rows and columns of pixel points adjacent to the current block to be predicted; obtaining a preconfigured sliding window and a gradient operator; and determining the gradient of each pixel based on the sliding window and the gradient operator, the gradient including a gradient strength and a gradient direction.
[0008] In an exemplary embodiment of the present disclosure, determining the gradient histogram corresponding to the texture template based on the gradients of the multiple pixel points includes: determining the intra-frame prediction mode of the current block to be predicted, the intra-frame prediction mode including multiple angle modes; based on the angle directions corresponding to each of the multiple angle modes, converting the gradient direction of each of the pixel points into a target angle direction; using a sliding window to calculate the gradient strength and gradient direction of each of the pixel points in the target angle direction; and accumulating the gradient strengths belonging to the same angle direction to obtain the gradient histogram.
[0009] In an exemplary embodiment of the present disclosure, the interpolation prediction processing is performed on the current block to be predicted based on the gradient histogram to obtain the local texture prediction block, including: determining the gradient amplitudes corresponding to each angle mode in the gradient histogram; selecting the maximum gradient amplitude from multiple gradient amplitudes, and taking the angle mode corresponding to the maximum gradient amplitude as the target angle mode; and performing interpolation prediction processing based on the target angle mode to obtain the local texture prediction block.
[0010] In an exemplary embodiment of the present disclosure, the reconstructed area includes a plurality of search sub-areas, and the template matching operation is performed in the reconstructed area based on the reference template and the local texture prediction block to obtain a matching result corresponding to the current block to be predicted, including: performing template matching operations in each of the search sub-areas based on the reference template to determine a similar template; determining a first matching distortion value between the reference template and each of the similar templates; determining a non-local prediction block candidate list based on the first matching distortion value, the non-local prediction block candidate list including a plurality of candidate matching positions; and performing a template matching operation on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain the matching result.
[0011] In an exemplary embodiment of the present disclosure, the matching result also includes a target matching position, and the performing a template matching operation on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain the matching result includes: constructing a merged template based on the reference template and the local texture prediction block; using the merged template to perform a template matching operation on multiple candidate matching positions to obtain a second matching distortion value; determining a target matching position from the multiple candidate matching positions based on the second matching distortion value; and determining the candidate matching block according to the target matching position.
[0012] In an exemplary embodiment of the present disclosure, determining a prediction result of the current block to be predicted based on the candidate matching blocks includes: obtaining a target matching position of the current block to be predicted, taking a search sub-region where the target matching position is located as a target matching region, and determining a region index of the target matching region; determining a third matching distortion value between each of the candidate matching blocks and a merged template in the target matching region; determining a specified number of target matching blocks from the target matching region based on the third matching distortion value; and determining the prediction result based on the specified number of target matching blocks.
[0013] In an exemplary embodiment of the present disclosure, determining the prediction result based on the specified number of target matching blocks includes: determining a target matching distortion value between each of the target matching blocks and a merged template; and performing weighted calculation on pixel values of the specified number of target matching blocks according to the target matching distortion value to obtain the prediction result.
[0014] According to a second aspect of an embodiment of the present disclosure, an intra-frame prediction device is provided, comprising: a local feature extraction module, used to determine a current block to be predicted, and perform local texture feature calculation on the current block to be predicted to obtain a local texture prediction block; a matching information determination module, used to determine a reference template and a reconstructed area of the current block to be predicted; a template matching module, used to perform a template matching operation in the reconstructed area based on the reference template and the local texture prediction block to obtain a matching result corresponding to the current block to be predicted, wherein the matching result includes a candidate matching block; and a result determination module, used to determine a prediction result of the current block to be predicted based on the candidate matching block.
[0015] In an exemplary embodiment of the present disclosure, the local feature extraction module includes a local feature extraction unit, which is used to: perform spatial domain local texture feature calculation on the current block to be predicted to obtain the gradient of each pixel in the texture template; determine the gradient histogram corresponding to the texture template based on the gradients of multiple pixels; and perform interpolation prediction processing on the current block to be predicted based on the gradient histogram to obtain the local texture prediction block.
[0016] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a gradient calculation subunit, which is used to: determine the current frame in which the current block to be predicted is located; determine the texture template of the current block to be predicted based on the current frame, and the texture template is composed of designated rows and columns of pixel points adjacent to the current block to be predicted; obtain a pre-configured sliding window and a gradient operator; based on the sliding window and the gradient operator, determine the gradient of each pixel point, and the gradient includes a gradient strength and a gradient direction.
[0017] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a histogram determination subunit, which is used to: determine the intra-frame prediction mode of the current block to be predicted, the intra-frame prediction mode includes multiple angle modes; based on the angle directions corresponding to each of the multiple angle modes, convert the gradient direction of each pixel point into a target angle direction; use a sliding window to calculate the gradient strength and gradient direction of each pixel point in the target angle direction; accumulate the gradient strengths belonging to the same angle direction to obtain the gradient histogram.
[0018] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a local feature extraction sub-unit, which is used to: determine the gradient amplitudes corresponding to each angle pattern in the gradient histogram; select the maximum gradient amplitude from the multiple gradient amplitudes, and use the angle pattern corresponding to the maximum gradient amplitude as the target angle pattern; perform interpolation prediction processing based on the target angle pattern to obtain the local texture prediction block.
[0019] In an exemplary embodiment of the present disclosure, the reconstructed area includes a plurality of search sub-areas, and the template matching module includes a template matching unit, which is used to: perform template matching operations in each of the search sub-areas based on the reference template to determine a similar template; determine a first matching distortion value between the reference template and each of the similar templates; determine a non-local prediction block candidate list based on the first matching distortion value, the non-local prediction block candidate list including a plurality of candidate matching positions; perform a template matching operation on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain the matching result.
[0020] In an exemplary embodiment of the present disclosure, the matching result also includes a target matching position, and the template matching unit includes a template matching sub-unit, which is used to: construct a merged template based on the reference template and the local texture prediction block; use the merged template to perform a template matching operation on multiple candidate matching positions to obtain a second matching distortion value; based on the second matching distortion value, determine a target matching position from the multiple candidate matching positions; and determine the candidate matching block according to the target matching position.
[0021] In an exemplary embodiment of the present disclosure, the result determination module includes a result determination unit, which is used to: obtain the target matching position of the current block to be predicted, take the search sub-region where the target matching position is located as the target matching region, and determine the region index of the target matching region; determine the third matching distortion value between each of the candidate matching blocks and the merged template in the target matching region; determine a specified number of target matching blocks from the target matching region according to the third matching distortion value; and determine the prediction result based on the specified number of target matching blocks.
[0022] In an exemplary embodiment of the present disclosure, the result determination unit includes a result determination subunit, which is used to: determine a target matching distortion value between each of the target matching blocks and the merged template; and perform weighted calculation on the pixel values of the specified number of target matching blocks according to the target matching distortion value to obtain the prediction result.
[0023] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement any one of the intra-frame prediction methods described above.
[0024] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform any of the intra-frame prediction methods described above.
[0025] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, which implements any one of the intra-frame prediction methods described above when executed by a processor.
[0026] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0027] On the one hand, this scheme takes into account both spatial local texture continuity and non-local structural similarity, and optimizes the intra-frame prediction model in video coding. On the other hand, it introduces long-distance non-local reference information as reference information, which improves the reference information amount of intra-frame prediction and the accuracy of non-local block matching prediction. On the other hand, it introduces local related information in the process of capturing non-local information, which improves the accuracy of intra-frame prediction.
[0028] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0030] Figure 1 It is a schematic diagram of the implementation process of intra-block copy prediction in the related scheme.
[0031] Figure 2 It is a schematic diagram of the implementation process of intra-frame template matching prediction in the related scheme.
[0032] Figure 3 The figure is a flowchart of an intra-frame prediction method according to an exemplary embodiment.
[0033] Figure 4 The figure is a diagram showing a process of deriving a gradient histogram based on neighborhood pixels according to an exemplary embodiment.
[0034] Figure 5 The invention is a flowchart showing an intra-frame prediction based on interpolation prediction according to an exemplary embodiment.
[0035] Figure 6 The diagram is a schematic diagram of a region-adaptive non-local template region definition and template matching prediction process according to an exemplary embodiment.
[0036] Figure 7 The figure is a block diagram of an intra-frame prediction device according to an exemplary embodiment.
[0037] Figure 8 A block diagram of an electronic device according to an exemplary embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0038] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0039] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0040] The intra-frame prediction widely used in current video coding standards can be summarized as linear interpolation prediction based on directional patterns. When the texture structure and texture direction to be predicted are complex, the point-to-point mapping in the linear interpolation prediction scheme is difficult to establish a stable prediction relationship, and ultimately it is impossible to obtain an accurate prediction block, which cannot bring about effective coding performance improvement.
[0041] Inter-frame prediction in video coding is to obtain the prediction block after searching for similar content on the reference frame and performing motion compensation. In intra-frame prediction, there is no probability of reference frame, but in fact, similar content also exists in the reconstructed area in the same frame. Similar to inter-frame prediction, in order to enrich the reference information and not be limited to local reference pixels, block copy prediction (Intra Block Copy, IBC) can use the current frame to be predicted as the reference frame and search for the most similar reconstructed block in the reconstructed area as the intra-frame prediction block. Reference Figure 1 , Figure 1 It is a schematic diagram of the implementation process of intra-block copy prediction in the related scheme.
[0042] This technology uses the current frame as the reference frame, matches the most similar blocks in the reconstructed area, and directly performs block-to-block copy prediction. Compared with linear interpolation prediction, this method has a more stable prediction effect for complex structural textures. However, the biggest problem with this technology is that it needs to explicitly identify block vectors. The identification cost of the prediction mode in intra-frame prediction has a great impact on the prediction performance. The prediction mode usually occupies 1 to 6 bits. If the block vector is identified, there are vectors in two directions, and the mode encoding cost usually requires more than 6 bits. Although the reference information is enriched, the encoding cost increases significantly, resulting in a decrease in encoding efficiency.
[0043] In response to the problems in the above scheme, in order to introduce long-distance reference information and reduce the identification cost of block vectors, the related technical scheme 2 considers transferring the matching object to implicitly derive the optimal matching block position. The logic of implicit derivation is that the decoding end can obtain the corresponding result without the relevant syntax elements. This requires that the decoding end and the encoding end have consistent information, and the information is strongly correlated with the predicted mode. Obviously, the consistency-related information that the codec end can obtain is the reconstructed pixels in the neighborhood. Therefore, the matching target can be transferred to the reconstructed information, so that the same matching process can be performed on the codec end and a consistent matching distortion can be obtained, so that the optimal matching block position can be determined without the identification of the block vector. This method is called intra-frame template matching prediction.
[0044] refer to Figure 2 , Figure 2 It is a schematic diagram of the implementation process of intra-frame template matching prediction in the related scheme. Figure 2 The entire matching process of is based on the reference pixel template of the neighborhood. Compared with IBC, which uses the original block corresponding to the block to be predicted for matching, this technology focuses on matching similar templates. For the block to be predicted, the matching accuracy is reduced. The main reason is that the matching template lacks the information in the current block to be predicted. Relying only on the neighboring template cannot effectively guarantee the texture continuity between the matching result and the current content to be predicted.
[0045] Based on this, according to an embodiment of the present disclosure, an intra-frame prediction method, an intra-frame prediction device, an electronic device, a computer-readable storage medium, and a computer program product are proposed.
[0046] Figure 3 is a flowchart of an intra-frame prediction method according to an exemplary embodiment. Figure 3 As shown, the intra-frame prediction method can be used in a computer device, wherein the computer device described in the present disclosure may include mobile terminal devices such as mobile phones, tablet computers, laptop computers, PDAs, and fixed terminal devices such as desktop computers. This exemplary embodiment uses the method applied to a computer device as an example, and it can be understood that the method can also be applied to a server, and can also be applied to a system including a computer device and a server, and is implemented through the interaction between the computer device and the server. Specifically, the following steps are included.
[0047] In step S310, a current block to be predicted is determined, and local texture features are calculated for the current block to be predicted to obtain a local texture prediction block.
[0048] In an exemplary embodiment of the present disclosure, the block to be predicted may be an image block that has not been predicted and needs to be encoded in video encoding. The current block to be predicted may be an image block that is currently waiting for encoding prediction. Local texture features may be features that describe the characteristics of the surface of an object in an image, especially the texture of the image. The local texture prediction block may be an image block obtained by predicting and filling the pixel values of the current block to be predicted based on the extracted local texture features of the current block to be predicted.
[0049] In video coding, when performing intra-frame prediction on a video frame, the current block to be predicted can be determined first, for example, the current block to be predicted can be a coding tree unit (CTU) in the video frame. Local texture features are calculated for the current block to be predicted, and the local features of the current block to be predicted are used as reference information for intra-frame prediction to obtain a local texture prediction block, which can be used for non-local feature search matching prediction later.
[0050] In step S320, a reference template and a reconstructed area of the current block to be predicted are determined.
[0051] In an exemplary embodiment of the present disclosure, the reference template may be a predefined pixel matching template of the current block to be predicted. The reconstructed area may be an image area that has completed the reconstruction operation during the intra prediction process, that is, an image area that can be referenced by the current block to be predicted for intra prediction.
[0052] After the current block to be predicted is determined, a reference template can be defined in the image frame where the current block to be predicted is located, and the reference template can be used for the non-local feature search and matching process of the current block to be predicted. At the same time, the reconstructed area of the current block to be predicted is determined, and the non-local feature search and matching process will be performed in the reconstructed area later.
[0053] In step S330, a template matching operation is performed in the reconstructed area based on the reference template and the local texture prediction block to obtain a matching result corresponding to the current block to be predicted, and the matching result includes a candidate matching block.
[0054] In an exemplary embodiment of the present disclosure, the template matching operation may be an operation process of performing pixel matching using a reference template and a local texture prediction block as template matching information. The matching result may be a result of the degree of matching between a template composed of the reference template and the local texture prediction block and a pixel template in the reconstructed region. The candidate matching block may be a matching block whose matching distortion value determined from the reconstructed region meets a specified condition after the template matching operation.
[0055] After defining the reference template of the current block to be predicted, a template matching operation can be performed in the reconstructed area based on the reference template and the local texture prediction block. The template matching operation uses the local texture prediction block, which can introduce local related information in the process of capturing non-local information. Through the above template matching operation, the candidate matching block determined introduces long-distance non-local reference information, enriching the amount of reference information. The template matching operation based on the reference template and the local texture prediction block enables the intra-frame prediction to combine local features and non-local features. It no longer uses a single linear interpolation prediction or a block copy prediction based on template matching, but instead comprehensively considers the advantages of both.
[0056] In step S340, a prediction result of the current block to be predicted is determined according to the candidate matching blocks.
[0057] In an exemplary embodiment of the present disclosure, the prediction result may be a result determined after predicting the pixel value of the current block to be predicted.
[0058] After the candidate matching block is determined, the pixel value of each pixel point in the current block to be predicted is predicted according to the pixel information contained in the candidate matching block to obtain the corresponding pixel value prediction result, and the pixel value of each pixel point in the entire current block to be predicted is used as the prediction result.
[0059] According to the intra-frame prediction method in this example embodiment, on the one hand, this solution takes into account both spatial local texture continuity and non-local structural similarity, and optimizes the intra-frame prediction model in video coding. On the other hand, long-distance non-local reference information is introduced as reference information, which improves the reference information amount of intra-frame prediction and the accuracy of non-local block matching prediction. On the other hand, local related information is introduced in the process of capturing non-local information, which improves the accuracy of intra-frame prediction.
[0060] The intra-frame prediction method in this exemplary embodiment will be further described below.
[0061] In an exemplary embodiment of the present disclosure, for step 310, local texture features are calculated on the current block to be predicted to obtain a local texture prediction block, including: performing spatial domain local texture feature calculation on the current block to be predicted to obtain the gradient of each pixel in the texture template; determining a gradient histogram corresponding to the texture template based on the gradients of multiple pixels; and performing interpolation prediction processing on the current block to be predicted based on the gradient histogram to obtain a local texture prediction block.
[0062] When calculating the spatial local texture features of the current block to be predicted, the pixels within the specified range of the adjacent area are used as the pixel template (i.e., texture template) for texture feature extraction, and the gradient corresponding to each pixel position in the texture template is calculated. The gradients of the calculated multiple pixel points are directional-converted to derive the gradient histogram (Histogram of Gradient, HoG) of the texture template.
[0063] Then, the constructed gradient histogram is used to perform interpolation prediction processing on the current block to be predicted to obtain a local texture prediction block. For example, the interpolation prediction process can be performed using an intra-frame prediction process with a specified angle mode to predict the pixel value of each pixel position in the current block to be predicted to obtain a local texture prediction block, which contains texture features in the adjacent area of the current block to be predicted. In the local feature extraction process, the gradient histogram is used to perform local texture feature analysis and derive relevant intra-block information.
[0064] In an exemplary embodiment of the present disclosure, a spatial domain local texture feature calculation is performed on a current block to be predicted to obtain a gradient of each pixel in a texture template, including: determining a current frame in which the current block to be predicted is located; determining a texture template of the current block to be predicted based on the current frame, the texture template being composed of designated row and column pixel points adjacent to the current block to be predicted; obtaining a preconfigured sliding window and a gradient operator; and determining a gradient of each pixel based on the sliding window and the gradient operator, the gradient including a gradient strength and a gradient direction.
[0065] The current frame may be an image frame where the current block to be predicted is located. The texture template may be a pixel template used to extract local texture features of the current block to be predicted. The sliding window may be used to process continuous pixels in this solution. The gradient intensity may be the magnitude of the gradient value corresponding to a certain pixel point. The gradient direction may be the direction of the gradient corresponding to a certain pixel point.
[0066] In the process of extracting local texture features, the image frame where the current block to be predicted is located can be first determined as the current frame, and a texture template can be defined in the current frame. Figure 4 , Figure 4 FIG. 1 is a diagram showing a process of deriving a gradient histogram based on neighborhood pixels according to an exemplary embodiment. Figure 4 As shown, three rows and three columns of pixels adjacent to the block to be predicted are used as texture templates.
[0067] In order to achieve efficient texture analysis, the Sobel gradient operator is used in this embodiment to calculate spatial texture features. In the process of local feature extraction, a 3x3 sliding window is defined and slides along the center line of the texture template. The 3x3 Sobel operator is used to solve the horizontal gradient Gx and the vertical gradient Gy for each pixel position. The corresponding gradient intensity I and gradient direction D are derived according to the following formula 1. The Sobel operator is used to extract local features, and the local edge features of the current block to be detected can be extracted.
[0068] I=|Gx| + |Gy|, D=arctan(Gy / Gx) (Formula 1)
[0069] Among them, Gx can represent the horizontal gradient of a certain pixel; Gy can represent the vertical gradient of a certain pixel; I can represent the gradient intensity of a certain pixel; and D can represent the gradient direction of a certain pixel. Figure 4 The specific value of the Sobel operator is shown in Figure 4 The two Sobel operators in are used to calculate the horizontal gradient Gx and the vertical gradient Gy, which are used to detect vertical edges and horizontal edges respectively.
[0070] It is easy for those skilled in the art to understand that in some other exemplary embodiments of the present disclosure, other gradient operators or sliding windows of other sizes may be used to extract local features, and the present disclosure does not make any special limitation on this.
[0071] In an exemplary embodiment of the present disclosure, a gradient histogram corresponding to a texture template is determined based on the gradients of multiple pixel points, including: determining an intra-frame prediction mode of a current block to be predicted, the intra-frame prediction mode including multiple angle modes; based on the angle directions corresponding to each of the multiple angle modes, converting the gradient direction of each pixel point into a target angle direction; using a sliding window, calculating the gradient strength and gradient direction of each pixel point in the target angle direction; and accumulating the gradient strengths belonging to the same angle direction to obtain a gradient histogram.
[0072] The intra prediction mode may be a prediction mode used for intra prediction. For example, the intra prediction mode may include but is not limited to a Planar mode, a DC mode, and an angle mode, etc. The angle direction may be a specific direction of various angle modes. The target angle direction may be an angle direction closest to the gradient direction.
[0073] In the process of local feature extraction, the intra-frame prediction mode of the current block to be predicted can be determined first. Usually, the intra-frame prediction mode can include multiple angle modes, and each angle mode corresponds to an angle direction. Therefore, the gradient direction D is further converted to the angle direction closest to it (the angle direction corresponds to an angle mode). After the direction conversion is completed, the gradient intensity I and gradient direction D of all pixel points are calculated by sliding, and then the gradient amplitude corresponding to the same angle direction is accumulated to form HoG. Continue to refer to Figure 4 Through the above processing, the gradient histogram of the texture template is derived, so that the gradient histogram can be used to perform local texture feature analysis and derive the intra-block information related to the current block to be predicted.
[0074] In an exemplary embodiment of the present disclosure, an interpolation prediction process is performed on the current block to be predicted based on a gradient histogram to obtain a local texture prediction block, including: determining the gradient amplitudes corresponding to each angle mode in the gradient histogram; selecting the maximum gradient amplitude from multiple gradient amplitudes, and taking the angle mode corresponding to the maximum gradient amplitude as the target angle mode; and performing an interpolation prediction process based on the target angle mode to obtain a local texture prediction block.
[0075] The gradient amplitude may be the gradient value of each angle mode in the gradient histogram. The maximum gradient amplitude may be the maximum value of all gradient amplitudes in multiple angle modes. The target angle mode may be the angle mode corresponding to the maximum gradient amplitude in the gradient histogram.
[0076] After obtaining the gradient histogram, determine the gradient amplitudes corresponding to each angle mode in HoG, sort according to the gradient amplitudes in HoG, and obtain the angle mode corresponding to the maximum gradient amplitude, which is used as the target angle mode. Use the target angle mode and perform interpolation prediction in a directional interpolation prediction manner to obtain the local texture prediction block P L .
[0077] refer to Figure 5 , Figure 5 This is a flowchart of an intra-frame prediction based on interpolation prediction according to an exemplary embodiment. When predicting the pixels in the current block to be predicted, the reconstructed pixels to its left and above are used as reference pixels, and the pixels to be predicted are projected to the reference boundary along a given angle direction to obtain a reference position. If the projected position falls on an integer pixel point, the integer pixel reference pixel is directly taken as the prediction value. If the projected position is between two integer pixels, the prediction value is obtained by weighting multiple consecutive reference pixels according to the distance.
[0078] The density of the angle direction and the accuracy of the reference pixels determine the accuracy of intra-frame prediction. In the highly compressed digital video codec standard (H.264 standard) / Advanced Video Coding (AVC) standard, a total of 8 angle prediction modes and one special prediction mode are supported. In High Efficiency Video Coding (H.265 / HEVC), the angle prediction direction has been expanded to 33, and two special prediction modes, DC and Planar, have been added. In the latest video compression coding (Versatile Video Coding, H.266 / VVC), it has been expanded to 65 angle modes, and three rows and three columns of pixels in the neighborhood are introduced as reference pixels. The local texture prediction block is obtained by interpolation prediction, and the information within the current block is generated. The information within the current block contains local features.
[0079] It should be noted that in other exemplary embodiments of the present disclosure, other methods are also used to generate local texture prediction blocks, such as using a mode in a most probable mode (MPM) list to generate the prediction block, and then explicitly identifying the intra-frame prediction mode index.
[0080] In an exemplary embodiment of the present disclosure, for step S330, based on the reference template and the local texture prediction block, a template matching operation is performed in the reconstructed area to obtain a matching result corresponding to the current block to be predicted, including: performing template matching operations in each search sub-area based on the reference template to determine a similar template; determining a first matching distortion value between the reference template and each similar template; determining a non-local prediction block candidate list based on the first matching distortion value, the non-local prediction block candidate list including multiple candidate matching positions; performing a template matching operation on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain a matching result.
[0081] The search sub-region may be a sub-region formed after the reconstructed region is divided. The template matching operation (TM) may be an operation of similarly matching a predefined pixel template with pixels in the reconstructed region. The similar template may be a pixel template in the reconstructed region that has the same shape and size as the reference template. The first matching distortion value may be a matching distortion value between the reference template and each similar template in the reconstructed region. The non-local prediction block candidate list may be a list composed of information of similar templates that meet the conditions determined according to the matching distortion values. The candidate matching position may be a pixel position of a similar template in the non-local prediction block candidate list in the reconstructed region.
[0082] After completing the local texture feature analysis of the current block to be predicted, continue to perform the non-local search matching prediction step to define the reconstructed area of the current block to be predicted. Figure 6 , Figure 6 The diagram is a schematic diagram of a region-adaptive non-local template region definition and template matching prediction process according to an exemplary embodiment. Figure 6 A 40x40 non-local reference area can be defined in, which is the reconstructed area within the upper left range of the current block to be predicted. Further, the reconstructed area can be divided into 4 sub-areas as search sub-areas. In this embodiment, the area division widths are 12, 10, 10, and 8 respectively.
[0083] Next, define the reference template of the current block to be predicted. For example, a row and a column of pixels in the neighborhood of the current block to be predicted are used as the reference template P T , a template matching operation is performed in each search sub-region to match a similar template corresponding to the reference template, and the sum of squared errors (SSE) between the reference template and the matching template is calculated as the matching distortion value between the two, that is, the first matching distortion value.
[0084] After determining the first matching distortion value, the template positions in the search sub-area are sorted according to SSE, and the top 20 positions with the smallest SSE distortion are taken to form a non-local prediction block candidate list (NBCL). For example, one NBCL can be determined for each search sub-area. Then, the local texture prediction block generated by local feature extraction is combined with the reference template to form a new template, and the new template is used to perform a template matching operation on the non-local prediction block candidate list to obtain a matching result. Performing a template matching operation based on the reference template and the local texture prediction block is equivalent to introducing a new matching template based on the traditional template matching, corresponding to the information in the current block, modifying the matching criteria of the original template matching, and enriching the reference information.
[0085] In an exemplary embodiment of the present disclosure, a template matching operation is performed on a non-local prediction block candidate list based on a reference template and a local texture prediction block to obtain a matching result, including: constructing a merged template based on the reference template and the local texture prediction block; performing a template matching operation on multiple candidate matching positions using the merged template to obtain a second matching distortion value; determining a target matching position from multiple candidate matching positions based on the second matching distortion value; and determining a candidate matching block according to the target matching position.
[0086] The merged template may be a pixel template obtained by combining the reference template with the local texture prediction block. The second matching distortion value may be a matching distortion value between the merged template and the pixel templates corresponding to the plurality of candidate matching positions. The target matching position may be a matching position among the plurality of candidate matching positions that has the minimum matching distortion value with the merged template.
[0087] Before performing the template matching operation on the non-local prediction block candidate list of each search sub-region, the generated local texture prediction block P L and reference template P T Combine to form a new template, that is, merge template P W . Use the merged template to perform template matching operations on multiple candidate matching positions in NBCL to obtain a second matching distortion value between the merged template and similar templates in each candidate matching position. Based on the second matching distortion value, determine the target matching position from the multiple candidate matching positions. For example, the matching distortion value between the matching block in the target matching position and the merged template is the smallest. The specific calculation process is shown in Formula 2.
[0088]
[0089] Among them, P W Can represent merge templates; It can represent the matching block corresponding to a candidate matching position in NBCL; Can represent candidate matching positions. Perform template matching operation in each search sub-region based on the merged template, and can guide the second prediction based on the information generated in the local feature prediction process.
[0090] In an exemplary embodiment of the present disclosure, for step S340, a prediction result of the current block to be predicted is determined based on the candidate matching blocks, including: obtaining a target matching position of the current block to be predicted, taking the search sub-region where the target matching position is located as the target matching region, and determining the region index of the target matching region; determining a third matching distortion value between each candidate matching block and the merged template in the target matching region; determining a specified number of target matching blocks from the target matching region based on the third matching distortion value; and determining a prediction result based on the specified number of target matching blocks.
[0091] The target matching area may be a search sub-area where the target matching position is located. The area index may be an index number of the target matching area. The third matching distortion value may be a matching distortion value between each candidate matching block and the merged template. The target matching block may be the first N matching blocks with the smallest third matching distortion value among the candidate matching blocks.
[0092] After performing the above template matching process in each search sub-region, the target matching position of the current block to be predicted is determined through the template matching operation, the search sub-region where the target matching position is located is used as the target matching region, and the region index of the target matching region is obtained, and the index number i corresponding to the target matching region is identified in the bitstream. For example, if the target matching position is located in the search sub-region numbered 2, the region index is determined to be 2.
[0093] Obtain candidate matching blocks determined based on the template matching operation in the target matching area, and calculate the third matching distortion value between the candidate matching blocks and the merged template. According to the third matching distortion value, determine a specified number of target matching blocks from the candidate matching blocks, such as taking the merged template P W The first three candidate matching blocks with the smallest matching distortion are used as target matching blocks. Based on the above three target matching blocks, the final prediction result of the current block to be predicted is determined. In the process of capturing non-local information, local related information is introduced, the optimal non-local related information is implicitly determined, and the explicit identification of the non-local block position is avoided, thereby improving the accuracy of intra-frame prediction at a very low bit rate cost.
[0094] In an exemplary embodiment of the present disclosure, a prediction result is determined based on a specified number of target matching blocks, including: determining a target matching distortion value between each target matching block and a merged template; and performing weighted calculation on pixel values of a specified number of target matching blocks according to the target matching distortion value to obtain a prediction result.
[0095] The target matching distortion value may be a matching distortion value between the target matching block and the merged template.
[0096] After determining the merge template P W After matching the first three matching blocks with the smallest distortion, i.e., the target matching blocks, weighted processing is performed on the target matching blocks to obtain the final prediction block. By performing weighted calculation on multiple target matching blocks to obtain the final prediction block, the accuracy of the prediction result can be further improved. The specific weighting process is shown in Formula 3.
[0097]
[0098] Among them, i can represent the region index, P i It can represent the target matching block in the i-th sub-region, that is, the predicted block ranked first in the i-th sub-region; P i , 1. P i , 2. P i , 3 represent the target matching blocks ranked 1, 2, and 3 respectively; P f,i It can represent the final prediction block corresponding to the sub-region i, E i is the corresponding matching distortion value of each prediction block in the i-th sub-region.
[0099] In summary, the intra-frame prediction method disclosed in the present invention determines the current block to be predicted, calculates the local texture features of the current block to be predicted, and obtains the local texture prediction block; determines the reference template and the reconstructed area of the current block to be predicted; based on the reference template and the local texture prediction block, performs template matching operation in the reconstructed area to obtain the matching result corresponding to the current block to be predicted, and the matching result includes the candidate matching block; according to the candidate matching block, determines the prediction result of the current block to be predicted. On the one hand, this scheme takes into account the continuity of local texture in the spatial domain and the similarity of non-local structure at the same time, and optimizes the intra-frame prediction model in video coding. On the other hand, the long-distance non-local reference information is introduced as reference information, which improves the reference information amount of intra-frame prediction and the accuracy of non-local block matching prediction. On the other hand, local related information is introduced in the process of capturing non-local information, and the non-local related information is implicitly determined to avoid the explicit identification of the non-local block position, thereby improving the accuracy of intra-frame prediction at a very low bit rate cost, and can bring an average 0.5% coding performance improvement for game video sequences with high non-local similarity.
[0100] Figure 7 FIG. 1 is a block diagram of an intra-frame prediction device according to an exemplary embodiment. Figure 7 The intra-frame prediction device 700 includes: a local feature extraction module 710, a matching information determination module 720, a template matching module 730 and a result determination module 740.
[0101] Specifically, the local feature extraction module 710 is used to determine the current block to be predicted, calculate the local texture features of the current block to be predicted, and obtain the local texture prediction block; the matching information determination module 720 is used to determine the reference template and the reconstructed area of the current block to be predicted; the template matching module 730 is used to perform a template matching operation in the reconstructed area based on the reference template and the local texture prediction block to obtain the matching result corresponding to the current block to be predicted, and the matching result includes a candidate matching block; the result determination module 740 is used to determine the prediction result of the current block to be predicted based on the candidate matching block.
[0102] In an exemplary embodiment of the present disclosure, the local feature extraction module 710 includes a local feature extraction unit, which is used to: perform spatial domain local texture feature calculation on the current block to be predicted to obtain the gradient of each pixel in the texture template; determine the gradient histogram corresponding to the texture template based on the gradients of multiple pixels; and perform interpolation prediction processing on the current block to be predicted based on the gradient histogram to obtain a local texture prediction block.
[0103] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a gradient calculation subunit, which is used to: determine the current frame in which the current block to be predicted is located; determine the texture template of the current block to be predicted based on the current frame, and the texture template is composed of designated rows and columns of pixel points adjacent to the current block to be predicted; obtain a pre-configured sliding window and gradient operator; based on the sliding window and the gradient operator, determine the gradient of each pixel point, and the gradient includes a gradient strength and a gradient direction.
[0104] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a histogram determination subunit, which is used to: determine the intra-frame prediction mode of the current block to be predicted, the intra-frame prediction mode includes multiple angle modes; based on the angle directions corresponding to the multiple angle modes, convert the gradient direction of each pixel point into a target angle direction; use a sliding window to calculate the gradient strength and gradient direction of each pixel point in the target angle direction; accumulate the gradient strengths belonging to the same angle direction to obtain a gradient histogram.
[0105] In an exemplary embodiment of the present disclosure, the local feature extraction unit includes a local feature extraction sub-unit, which is used to: determine the gradient amplitudes corresponding to each angle pattern in the gradient histogram; select the maximum gradient amplitude from multiple gradient amplitudes, and use the angle pattern corresponding to the maximum gradient amplitude as the target angle pattern; perform interpolation prediction processing based on the target angle pattern to obtain a local texture prediction block.
[0106] In an exemplary embodiment of the present disclosure, the reconstructed area includes multiple search sub-areas, and the template matching module 730 includes a template matching unit, which is used to: perform template matching operations in each search sub-area based on a reference template to determine a similar template; determine a first matching distortion value between the reference template and each similar template; determine a non-local prediction block candidate list based on the first matching distortion value, the non-local prediction block candidate list including multiple candidate matching positions; perform a template matching operation on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain a matching result.
[0107] In an exemplary embodiment of the present disclosure, the matching result also includes a target matching position, and the template matching unit includes a template matching sub-unit, which is used to: construct a merged template based on a reference template and a local texture prediction block; use the merged template to perform a template matching operation on multiple candidate matching positions to obtain a second matching distortion value; based on the second matching distortion value, determine the target matching position from the multiple candidate matching positions; and determine the candidate matching block according to the target matching position.
[0108] In an exemplary embodiment of the present disclosure, the result determination module 740 includes a result determination unit, which is used to: obtain the target matching position of the current block to be predicted, take the search sub-area where the target matching position is located as the target matching area, and determine the area index of the target matching area; determine the third matching distortion value between each candidate matching block and the merged template in the target matching area; determine a specified number of target matching blocks from the target matching area according to the third matching distortion value; and determine the prediction result based on the specified number of target matching blocks.
[0109] In an exemplary embodiment of the present disclosure, the result determination unit includes a result determination subunit, which is used to: determine the target matching distortion value between each target matching block and the merged template; and perform weighted calculation on the pixel values of a specified number of target matching blocks according to the target matching distortion value to obtain a prediction result.
[0110] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0111] Reference below Figure 8 800 according to this embodiment of the present disclosure is described. Figure 8 The electronic device 800 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0112] like Figure 8 As shown, the electronic device 800 is in the form of a general computing device. The components of the electronic device 800 may include, but are not limited to: the at least one processing unit 810, the at least one storage unit 820, a bus 830 connecting different system components (including the storage unit 820 and the processing unit 810), and a display unit 840.
[0113] The storage unit stores program codes, which can be executed by the processing unit 810, so that the processing unit 810 executes the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification.
[0114] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 821 and / or a cache memory unit 822 , and may further include a read-only memory unit (ROM) 823 .
[0115] The storage unit 820 may include a program / utility 824 having a set (at least one) of program modules 825, such program modules 825 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0116] Bus 830 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0117] The electronic device 800 may also communicate with one or more external devices 870 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 800, and / or communicate with any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 850. Furthermore, the electronic device 800 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 860. As shown, the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 800, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0118] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory including instructions, and the above instructions can be executed by a processor of the device to complete the above intra-frame prediction method. Optionally, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0119] In an exemplary embodiment, a computer program product is further provided, comprising a computer program, and when the computer program is executed by a processor, the intra-frame prediction method described above is implemented.
[0120] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0121] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. An intra-frame prediction method, characterized in that: include: Determine a current block to be predicted, and calculate local texture features of the current block to be predicted to obtain a local texture prediction block; Determining a reference template and a reconstructed area of the current block to be predicted; Based on the reference template and the local texture prediction block, a template matching operation is performed in the reconstructed area to obtain a matching result corresponding to the current block to be predicted, wherein the matching result includes a candidate matching block; A prediction result of the current block to be predicted is determined according to the candidate matching block.
2. The method according to claim 1, characterized in that The step of calculating local texture features of the current block to be predicted to obtain a local texture prediction block includes: Calculating the spatial local texture features of the current block to be predicted to obtain the gradient of each pixel in the texture template; Determining a gradient histogram corresponding to the texture template according to the gradients of the plurality of pixel points; The current block to be predicted is subjected to interpolation prediction processing based on the gradient histogram to obtain the local texture prediction block.
3. The method according to claim 2, characterized in that The step of calculating the spatial local texture feature of the current block to be predicted to obtain the gradient of each pixel in the texture template includes: Determining a current frame in which the current block to be predicted is located; Determine a texture template of the current block to be predicted based on the current frame, wherein the texture template is composed of designated rows and columns of pixels adjacent to the current block to be predicted; Get pre-configured sliding window and gradient operators; Based on the sliding window and the gradient operator, a gradient of each pixel point is determined, where the gradient includes a gradient intensity and a gradient direction.
4. The method according to claim 2, characterized in that: Determining the gradient histogram corresponding to the texture template according to the gradients of the plurality of pixel points comprises: Determine an intra-frame prediction mode of the current block to be predicted, wherein the intra-frame prediction mode includes multiple angle modes; Based on the angular directions corresponding to the multiple angular modes, the gradient direction of each pixel point is converted into a target angular direction; Using a sliding window, the gradient intensity and gradient direction of each pixel point in the target angle direction are calculated; The gradient intensities belonging to the same angle direction are accumulated to obtain the gradient histogram.
5. The method according to claim 2, characterized in that: The step of performing interpolation prediction processing on the current block to be predicted based on the gradient histogram to obtain the local texture prediction block includes: Determine the gradient amplitudes corresponding to the respective angle modes in the gradient histogram; Selecting a maximum gradient amplitude from the plurality of gradient amplitudes, and taking the angle mode corresponding to the maximum gradient amplitude as the target angle mode; Interpolation prediction processing is performed based on the target angle mode to obtain the local texture prediction block.
6. The method according to claim 1, characterized in that The reconstructed area includes a plurality of search sub-areas, and the template matching operation is performed in the reconstructed area based on the reference template and the local texture prediction block to obtain a matching result corresponding to the current block to be predicted, including: Performing template matching operations in each of the search sub-areas based on the reference template to determine similar templates; Determining a first matching distortion value between the reference template and each of the similar templates; Determine a non-local prediction block candidate list based on the first matching distortion value, wherein the non-local prediction block candidate list includes a plurality of candidate matching positions; Based on the reference template and the local texture prediction block, a template matching operation is performed on the non-local prediction block candidate list to obtain the matching result.
7. The method according to claim 6, characterized in that The matching result also includes a target matching position. The template matching operation is performed on the non-local prediction block candidate list based on the reference template and the local texture prediction block to obtain the matching result, including: Constructing a merged template based on the reference template and the local texture prediction block; Using the merged template to perform a template matching operation on the plurality of candidate matching positions to obtain a second matching distortion value; Based on the second matching distortion value, determining a target matching position from a plurality of the candidate matching positions; The candidate matching block is determined according to the target matching position.
8. The method according to claim 1, characterized in that The step of determining a prediction result of the current block to be predicted according to the candidate matching block includes: Acquire the target matching position of the current block to be predicted, take the search sub-region where the target matching position is located as the target matching region, and determine the region index of the target matching region; Determine a third matching distortion value between each of the candidate matching blocks in the target matching area and the merged template; Determining a specified number of target matching blocks from the target matching area according to the third matching distortion value; The prediction result is determined based on the specified number of target matching blocks.
9. The method according to claim 8, characterized in that The determining the prediction result based on the specified number of target matching blocks includes: Determining a target matching distortion value between each of the target matching blocks and the merged template; According to the target matching distortion value, weighted calculation is performed on the pixel values of the specified number of target matching blocks to obtain the prediction result.
10. An intra-frame prediction device, characterized in that: include: A local feature extraction module is used to determine a current block to be predicted, calculate local texture features of the current block to be predicted, and obtain a local texture prediction block; A matching information determination module, used to determine the reference template and the reconstructed area of the current block to be predicted; A template matching module, configured to perform a template matching operation in the reconstructed area based on the reference template and the local texture prediction block, to obtain a matching result corresponding to the current block to be predicted, wherein the matching result includes a candidate matching block; The result determination module is used to determine the prediction result of the current block to be predicted according to the candidate matching block.
11. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the intra-frame prediction method as claimed in any one of claims 1 to 9.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the intra-frame prediction method according to any one of claims 1 to 9 is implemented.