Image prediction method, encoder, decoder, and storage medium
By utilizing prediction models and filtering techniques in video coding to balance the statistical characteristics of image components, the problem of low efficiency in cross-component prediction is solved, achieving more efficient video encoding and decoding.
Patent Information
- Application Number
- CN202310354072.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-25
- Filing Date
- 2019-10-12
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2039-10-12
AI Technical Summary
Existing cross-component prediction techniques fail to adequately consider the statistical differences among image components in video coding, resulting in low prediction efficiency.
The initial predicted values of the image components are obtained through a prediction model, and then filtered to balance the statistical characteristics of each image component to obtain the target predicted value.
It improves prediction efficiency and video image encoding/decoding efficiency, and reduces the bit rate during the encoding/decoding process.
Smart Images

Figure CN116320472B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of video encoding and decoding, and in particular to an image prediction method, encoder, decoder, and storage medium. Background Technology
[0002] The latest video coding standard, H.266 / Versatile Video Coding (VVC), allows for cross-component prediction; among them, Cross-component Linear Model Prediction (CCLM) is one of the typical cross-component prediction techniques. Using cross-component prediction techniques, it is possible to predict one component (or its residual) from another, such as predicting the chroma component from the luma component, or vice versa.
[0003] Different components have different statistical properties, resulting in differences in statistical properties between components. However, existing cross-component prediction techniques do not take all factors into account when making component predictions, leading to low prediction efficiency. Summary of the Invention
[0004] This application provides an image prediction method, encoder, decoder, and storage medium. By balancing the statistical characteristics of each image component after cross-component prediction, it can not only improve prediction efficiency but also improve the encoding and decoding efficiency of video images.
[0005] The technical solution of this application embodiment can be implemented as follows:
[0006] In a first aspect, embodiments of this application provide an image prediction method applied to an encoder or decoder, the method comprising:
[0007] The prediction model is used to obtain the initial predicted values of the image components to be predicted in the current block of the image.
[0008] The initial predicted value is filtered to obtain the target predicted value of the image component to be predicted in the current block.
[0009] Secondly, embodiments of this application provide an encoder, which includes a first prediction unit and a first processing unit, wherein...
[0010] The first prediction unit is configured to obtain the initial prediction value of the image component to be predicted in the current block of the image through a prediction model.
[0011] The first processing unit is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block.
[0012] Thirdly, embodiments of this application provide an encoder, which includes a first memory and a first processor, wherein,
[0013] A first memory is used to store computer programs that can run on the first processor;
[0014] A first processor is configured to execute the method described in the first aspect when running the computer program.
[0015] Fourthly, embodiments of this application provide a decoder, which includes a second prediction unit and a second processing unit, wherein...
[0016] The second prediction unit is configured to obtain the initial prediction value of the image component to be predicted in the current block of the image through a prediction model.
[0017] The second processing unit is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block.
[0018] Fifthly, embodiments of this application provide a decoder, which includes a second memory and a second processor, wherein...
[0019] The second memory is used to store computer programs that can run on the second processor;
[0020] A second processor is configured to execute the method described in the first aspect when running the computer program.
[0021] In a sixth aspect, embodiments of this application provide a computer storage medium storing an image prediction program, which, when executed by a first processor or a second processor, implements the method described in the first aspect.
[0022] This application provides an image prediction method, encoder, decoder, and storage medium. First, an initial predicted value for the image component to be predicted in the current block of an image is obtained through a prediction model. Then, the initial predicted value is filtered to obtain the target predicted value for the image component to be predicted in the current block. Thus, by continuing to filter at least one image component after predicting it in the current block, the statistical characteristics of each image component after cross-component prediction can be balanced. This not only improves prediction efficiency but also reduces the prediction residual of the image component because the obtained target predicted value is closer to the true value. This results in a lower bit rate transmitted during encoding and decoding, while also improving the encoding and decoding efficiency of video images. Attached Figure Description
[0023] Figure 1 A schematic diagram of the composition structure of a traditional cross-component prediction architecture provided for related technical solutions;
[0024] Figure 2 This application provides a schematic block diagram of a video encoding system.
[0025] Figure 3 This application provides a schematic block diagram of a video decoding system according to an embodiment of the present application.
[0026] Figure 4 A flowchart illustrating an image prediction method provided in an embodiment of this application;
[0027] Figure 5 A schematic diagram illustrating the composition of an improved cross-component prediction architecture provided in an embodiment of this application;
[0028] Figure 6 A schematic diagram of the composition structure of an encoder provided in an embodiment of this application;
[0029] Figure 7 This is a schematic diagram of the specific hardware structure of an encoder provided in an embodiment of this application;
[0030] Figure 8 A schematic diagram of the composition structure of a decoder provided in an embodiment of this application;
[0031] Figure 9 This is a schematic diagram of the specific hardware structure of a decoder provided in an embodiment of this application. Detailed Implementation
[0032] In order to gain a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for reference and illustration only and are not intended to limit the embodiments of this application.
[0033] In video images, a first image component, a second image component, and a third image component are generally used to represent a coded block. These three image components are a luminance component, a blue chrominance component, and a red chrominance component, respectively. Specifically, the luminance component is usually represented by the symbol Y, the blue chrominance component is usually represented by the symbol Cb or U, and the red chrominance component is usually represented by the symbol Cr or V. Thus, video images can be represented in YCbCr format or YUV format.
[0034] In the embodiments of this application, the first image component can be a luminance component, the second image component can be a blue chroma component, and the third image component can be a red chroma component, but the embodiments of this application do not impose specific limitations.
[0035] To further improve encoding and decoding performance, H.266 / VCC proposed the CCLM cross-component prediction technique. This CCLM-based cross-component prediction technique can not only predict from luma component to chroma component (i.e., from first image component to second image component, or from first image component to third image component), but also from chroma component to luma component (i.e., from second image component to first image component, or from third image component to first image component), and even between chroma components (i.e., from second image component to third image component, or from third image component to second image component). In this application embodiment, the following description will use the prediction from first image component to second image component as an example; however, the technical solution of this application embodiment can also be applied to the prediction of other image components.
[0036] See Figure 1 This illustrates a schematic diagram of the composition structure of a traditional cross-component prediction architecture provided by a related technical solution. For example... Figure 1 As shown, a second image component (e.g., represented by the U component) is predicted using a first image component (e.g., represented by the Y component). Assuming the video image uses a 4:2:0 YUV format, the Y component and the U component have different resolutions. Therefore, it is necessary to downsample the Y component or upsample the U component to achieve the target resolution of the component to be predicted, thus enabling prediction of the components at the same resolution. In this example, the method for predicting a third image component (e.g., represented by the V component) using the Y component is the same.
[0037] exist Figure 1 In the traditional cross-component prediction architecture 10, the Y component coding block 110, the resolution adjustment unit 120, and the Y component coding block 110 may be included. 1 The system comprises a component coding block 130, a U component coding block 140, a prediction model 150, and a cross-component prediction unit 160. The Y component of the video image is represented by a 2N×2N Y component coding block 110, with a larger, bolded box highlighting the Y component coding block 110 and surrounding solid gray circles indicating the adjacent reference values Y(n). The U component of the video image is represented by an N×N U component coding block 140, with a larger, bolded box highlighting the U component coding block 140 and surrounding solid gray circles indicating the adjacent reference values C(n). Since the Y and U components have different resolutions, the Y component needs to be adjusted by a resolution adjustment unit 120 to obtain an N×N Y component coding block. 1 Component coding block 130; for Y 1 Component coding block 130, the larger, bolded box here is used to highlight the indicator Y. 1Component encoding block 130, with the surrounding gray solid circle indicating Y. 1 Adjacent reference value Y of component coding block 130 1 (n); then through Y 1 Adjacent reference value Y of component coding block 130 1 A prediction model 150 can be constructed from the adjacent reference values C(n) of the U component coding block 140 and Y(n); 1 The Y component reconstructed pixel value of component coding block 130 and prediction model 150 can perform component prediction across component prediction unit 160, and finally output U component prediction value.
[0038] Traditional cross-component prediction architecture 10 does not comprehensively consider the differences in statistical characteristics between image components, resulting in low prediction efficiency. To improve prediction efficiency, this application provides an image prediction method. First, an initial prediction value of the image component to be predicted in the current block of the image is obtained through a prediction model. Then, the initial prediction value is filtered to obtain the target prediction value of the image component to be predicted in the current block. In this way, after predicting at least one image component of the current block, filtering is performed on that at least one image component, which can balance the statistical characteristics of each image component after cross-component prediction, thereby improving not only prediction efficiency but also the encoding and decoding efficiency of video images.
[0039] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0040] See Figure 2 It illustrates an example block diagram of a video encoding system provided in an embodiment of this application; as shown Figure 2As shown, the video coding system 20 includes a transform and quantization unit 201, an intra-frame estimation unit 202, an intra-frame prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control and analysis unit 207, a filtering unit 208, an encoding unit 209, and a decoded image buffer unit 210. The filtering unit 208 can implement deblocking filtering and Sample Adaptive Offset (SAO) filtering, while the encoding unit 209 can implement header information encoding and Context-based Adaptive Binary Arithmetic Coding (CABAC). For the input raw video signal, the system uses coding tree blocks (Coding Tree Blocks) to perform the encoding of the raw video signal. The partitioning of a TreeUnit (CTU) yields a coding block. The residual pixel information obtained after intra- or inter-frame prediction is then transformed by the transform and quantization unit 201. This transformation involves converting the residual information from the pixel domain to the transform domain and quantizing the resulting transform coefficients to further reduce the bit rate. Intra-frame estimation unit 202 and intra-frame prediction unit 203 perform intra-frame prediction on the coding block. Specifically, they determine the intra-frame prediction mode to be used to encode the coding block. Motion compensation unit 204 and motion estimation unit 205 perform inter-frame prediction coding of the received coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by motion estimation unit 205 is a process of generating motion vectors, which can estimate the motion of the coding block. Then, motion compensation unit 204 uses the motion vectors determined by motion estimation unit 205 to generate motion vectors. The system performs motion compensation; after determining the intra-prediction mode, the intra-prediction unit 203 also provides the selected intra-prediction data to the coding unit 209, and the motion estimation unit 205 also sends the calculated motion vector data to the coding unit 209; in addition, the inverse transform and inverse quantization unit 206 is used to reconstruct the coded block, reconstructing the residual block in the pixel domain. The reconstructed residual block is processed by the filter control analysis unit 207 and the filtering unit 208 to remove block artifacts, and then the reconstructed residual block is added to a predictive block in the frame of the decoding image buffer unit 210 to generate a reconstructed video block; the coding unit 209 is used to encode various coding parameters and quantized transform coefficients. In the CABAC-based coding algorithm, the context content can be based on adjacent coded blocks and can be used to encode information indicating the determined intra-prediction mode, outputting the bitstream of the video signal; while the decoding image buffer unit 210 is used to store the reconstructed video block for prediction reference.As video image encoding proceeds, new reconstructed video blocks are continuously generated, and these reconstructed video blocks are stored in the decoding image buffer unit 210.
[0041] See Figure 3 It illustrates an example block diagram of a video decoding system provided in an embodiment of this application; as shown Figure 3 As shown, the video decoding system 30 includes a decoding unit 301, an inverse transform and inverse quantization unit 302, an intra-frame prediction unit 303, a motion compensation unit 304, a filtering unit 305, and a decoding image buffer unit 306. The decoding unit 301 can perform header information decoding and CABAC decoding, while the filtering unit 305 can perform deblocking filtering and SAO filtering. The input video signal is processed... Figure 2 After encoding, the video signal bitstream is output. This bitstream is input into the video decoding system 30, first passing through the decoding unit 301 to obtain the decoded transform coefficients. These transform coefficients are then processed by the inverse transform and inverse quantization unit 302 to generate residual blocks in the pixel domain. The intra-frame prediction unit 303 can generate prediction data for the current video block to be decoded based on the determined intra-frame prediction mode and data from previously decoded blocks in the current frame or image. The motion compensation unit 304 determines the prediction information for the video block to be decoded by analyzing motion vectors and other associated syntax elements, and uses this information... Predictive information is used to generate predictive blocks of the video block being decoded; the decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding predictive block generated by the intra-prediction unit 303 or the motion compensation unit 304; the decoded video block is filtered by the filtering unit 305 to remove block artifacts, which can improve video quality; then the decoded video block is stored in the decoding image buffer unit 306, which stores reference images for subsequent intra-prediction or motion compensation, and is also used for the output of the video signal, thus obtaining the recovered original video signal.
[0042] The embodiments of this application are mainly applied in, for example... Figure 2 The intra-prediction unit 203 shown and as follows Figure 3 The intra-frame prediction unit 303 shown is an example of this application. In other words, the embodiments of this application can be applied to both video coding systems and video decoding systems, and the embodiments of this application are not specifically limited.
[0043] Based on the above Figure 2 or Figure 3 For application scenario examples, see Figure 4 The diagram illustrates a flowchart of an image prediction method provided in an embodiment of this application. The method may include:
[0044] S401: Obtain the initial predicted value of the image component to be predicted in the current block of the image through the prediction model;
[0045] S402: Filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block.
[0046] It should be noted that a video image can be divided into multiple image blocks, and each image block to be encoded can be called a coding block. Each coding block may include a first image component, a second image component, and a third image component, and the current block is the coding block in the video image for which the prediction of the first image component, the second image component, or the third image component is currently to be performed.
[0047] It should also be noted that the image prediction method of this application embodiment can be applied to video encoding systems, video decoding systems, or even simultaneously to both video encoding and video decoding systems. This application embodiment does not impose any specific limitations.
[0048] In this embodiment, the initial predicted value of the image component to be predicted in the current block of the image is first obtained through a prediction model; then the initial predicted value is filtered to obtain the target predicted value of the image component to be predicted in the current block; thus, after predicting at least one image component, filtering is continued on the at least one image component, which can balance the statistical characteristics of each image component after cross-component prediction, thereby not only improving the prediction efficiency, but also improving the encoding and decoding efficiency of the video image.
[0049] Furthermore, since different image components have different statistical characteristics, and the statistical characteristics of each image component differ—for example, the luminance component has rich texture characteristics, while the chrominance component tends to be more uniform and flat—in order to better balance the statistical characteristics of each image component after cross-component prediction, it is also necessary to perform characteristic statistics on at least one image component of the current block. Therefore, in some embodiments, for S402, before filtering the initial predicted value, the method may further include:
[0050] Perform feature statistics on at least one image component of the current block; wherein, the at least one image component includes an image component to be predicted and / or an image component to be referenced, and the image component to be predicted is different from the image component to be referenced;
[0051] Based on the results of characteristic statistics, obtain the reference value of the image component to be predicted in the current block and / or the reference value of the image component to be referenced in the current block; wherein, the image component to be predicted is the component predicted when constructing the prediction model, and the image component to be referenced is the component used for prediction when constructing the prediction model.
[0052] It should be noted that at least one image component in the current block can be a component to be predicted, a component to be referenced, or even both. Assuming that the prediction of the second image component from the first image component is achieved through a prediction model, then the component to be predicted is the second image component, and the component to be referenced is the first image component; or, assuming that the prediction of the third image component from the first image component is achieved through a prediction model, then the component to be predicted is the third image component, and the component to be referenced is still the first image component.
[0053] In this way, by performing feature statistics on at least one image component of the current block, the reference value of the image component to be predicted and / or the reference value of the image component to be referenced in the current block can be obtained based on the results of the feature statistics.
[0054] Furthermore, in order to improve prediction efficiency, the initial prediction value of the image component to be predicted in the current block can be filtered based on the reference value of the image component to be predicted in the current block and / or the reference value of the image component to be referenced in the current block.
[0055] In some embodiments, processing the initial prediction value corresponding to the at least one image component based on the reference value of the at least one image component may include:
[0056] Based on the reference value of the image component to be predicted in the current block and / or the reference value of the image component to be referenced in the current block, the initial prediction value is filtered using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering, grouping, value correction, quantization, and dequantization.
[0057] Based on the results of the processing, the target predicted value is obtained.
[0058] It should be noted that, based on the statistical results of the characteristics of at least one image component of the current block, after obtaining the reference value of the image component to be predicted and / or the reference value of the image component to be referenced in the current block, the initial prediction value can be filtered using a preset processing mode. Specifically, the initial prediction value can be filtered using filtering, or it can be filtered using grouping, or it can be filtered using value correction, or it can be filtered using quantization, or it can be filtered using inverse quantization (also known as dequantization), etc., and the embodiments of this application do not impose specific limitations.
[0059] For example, to improve prediction efficiency, i.e., to improve the accuracy of predicted values, assuming that the luminance component is used to predict the chrominance component, for the initial predicted value of the chrominance component obtained by the prediction model, if the preset processing mode adopts value correction processing, since the luminance component and the chrominance component have different statistical characteristics, a deviation factor can be obtained based on the difference in the statistical characteristics of the two image components; then, the initial predicted value is corrected using this deviation factor (for example, by adding the initial predicted value to the deviation factor) to balance the statistical characteristics between the image components after cross-component prediction, thereby obtaining the target predicted value of the chrominance component. When the target predicted value of the chrominance component is closer to the true value of the chrominance component, the luminance component and the chrominance component have different statistical characteristics. Based on the difference in statistical characteristics between the two image components, the initial predicted value can be filtered to balance the statistical characteristics between the image components after cross-component prediction, thus obtaining the target predicted value corresponding to the chrominance component. In this case, the target predicted value of the chrominance component is closer to the true value of the chrominance component. If the preset processing mode uses grouping, the luminance component and the chrominance component have different statistical characteristics. Based on the difference in statistical characteristics between the two image components... If there are differences, the initial predicted values can be grouped to balance the statistical characteristics of each image component after cross-component prediction. Based on the grouped initial predicted values, the target predicted value corresponding to the chroma component can be obtained. At this point, the target predicted value of the chroma component is closer to the true value of the chroma component. Furthermore, since determining the initial predicted values involves quantization and dequantization of the luminance and chroma components, and since the luminance and chroma components have different statistical characteristics, the differences in the statistical characteristics of the two image components may lead to differences in the quantization and dequantization processes. In this case, if a preset processing mode is used... If quantization is used, the initial predicted value can be quantized to balance the statistical characteristics between image components after cross-component prediction, thus obtaining the target predicted value corresponding to the chrominance component. At this time, the target predicted value of the chrominance component is closer to the true value of the chrominance component. If the preset processing mode is dequantized, the initial predicted value can be dequantized to balance the statistical characteristics between image components after cross-component prediction, thus obtaining the target predicted value corresponding to the chrominance component. At this time, the target predicted value of the chrominance component is closer to the true value of the chrominance component. This improves the accuracy of the predicted value and thus improves the prediction efficiency.
[0060] Furthermore, to improve prediction efficiency, the initial prediction residual of the image component to be predicted in the current block can be filtered based on the reference value of the image component to be predicted in the current block and / or the reference value of the image component to be referenced in the current block.
[0061] In some embodiments, for S401, after obtaining the initial predicted value of the image component to be predicted for the current block in the image through the prediction model, the method may further include:
[0062] Based on the initial predicted component values, the initial prediction residuals of the image components to be predicted for the current block are calculated.
[0063] Based on the reference values of the image components to be predicted in the current block and / or the reference values of the image components to be referenced in the current block, the initial prediction residual is filtered using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering, grouping, value correction, quantization, and dequantization.
[0064] Based on the results of the processing, the target prediction residual is obtained.
[0065] Furthermore, in some embodiments, for S402, obtaining the target prediction value of the image component to be predicted of the current block may include:
[0066] Based on the target prediction residual, the target prediction value of the image component to be predicted in the current block is calculated.
[0067] It should be noted that the prediction residual is obtained by the difference between the predicted value of the image component and the true value of the image component; in order to improve the encoding and decoding efficiency of video images, it is necessary to ensure that the prediction residual transmitted in the current block is as small as possible.
[0068] To minimize the prediction residual, one approach is to filter the initial predicted value of the image component after obtaining it through the prediction model, using a preset processing mode to obtain the target predicted value. Since the target predicted value is as close as possible to the true value of the image component, the prediction residual between them is minimized. Alternatively, after obtaining the initial predicted value, the initial prediction residual can be determined based on the difference between the initial and true values. Then, this initial prediction residual is filtered using a preset processing mode to obtain the target prediction residual. The target predicted value can be obtained from this target prediction residual. Since this target prediction residual is minimized, the target predicted value is as close as possible to the true value of the image component. In other words, the embodiments of this application can be applied not only to filtering the initial prediction value of the image component to be predicted in the current block, but also to filtering the initial prediction residual of the image component to be predicted in the current block. After filtering, the statistical characteristics of each image component after cross-component prediction can be balanced, thereby not only improving the prediction efficiency, but also making the prediction residual of the image component to be predicted smaller because the obtained target prediction value is closer to the true value. This results in a lower bit rate transmitted during the encoding and decoding process, and also improves the encoding and decoding efficiency of video images.
[0069] Furthermore, before obtaining the initial predicted values of the image components to be predicted in the current block, it is also necessary to determine the model parameters of the prediction model in order to construct the prediction model. Therefore, in some embodiments, for S401, before obtaining the initial predicted values of the image components to be predicted in the current block of the image through the prediction model, the method may further include:
[0070] Determine the reference value of the image component to be predicted in the current block, wherein the reference value of the image component to be predicted in the current block is the image component value to be predicted of the neighboring pixels of the current block;
[0071] Determine the reference value of the reference image component of the current block, wherein the reference image component of the current block is different from the image component to be predicted, and the reference value of the reference image component of the current block is the reference image component value of the adjacent pixels of the current block;
[0072] The model parameters of the prediction model are calculated based on the reference values of the image components to be predicted in the current block and the reference values of the reference image components to be referenced in the current block.
[0073] Based on the calculated model parameters, the prediction model is constructed, wherein the prediction model is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the reference image component of the current block.
[0074] It should be noted that the prediction model in the embodiments of this application can be a linear model, such as the cross-component prediction technique of CCLM; the prediction model can also be a nonlinear model, such as the cross-component prediction technique of Multiple Model CCLM (MMLM), which is composed of multiple linear models. The embodiments of this application will be described below with the prediction model as a linear model as an example, but the image prediction method of the embodiments of this application can also be applied to nonlinear models.
[0075] The model parameters include a first model parameter (denoted by α) and a second model parameter (denoted by β). There are various ways to calculate α and β. It can be a preset factor calculation model constructed using the least squares method, a preset factor calculation model constructed using the maximum and minimum values, or even a preset factor calculation model constructed in other ways. This application does not make specific limitations on the embodiments.
[0076] Taking the preset factor calculation model constructed by the least squares method as an example, it is first necessary to determine the reference value of the image component to be predicted in the current block and the reference value of the reference image component to be referenced in the current block. The reference value of the reference image component to be referenced in the current block can be the reference image component value of the adjacent pixels of the current block (such as the reference value of the first image component), and the reference value of the image component to be predicted in the current block can be the reference image component value of the adjacent pixels of the current block (such as the reference value of the second image component). The model parameters of the prediction model are derived by minimizing the regression error of the reference pixel values of the first image component and the reference pixel values of the second image component. Specifically, as shown in Equation (1):
[0077]
[0078] Where L(n) represents the adjacent reference values of the first image component corresponding to the left and top edges of the current block after downsampling, C(n) represents the adjacent reference values of the second image component corresponding to the left and top edges of the current block, N is the side length of the current block of the second image component, and n = 1, 2, ..., 2N. The first model parameter α and the second model parameter β can be obtained through the calculation of equation (1). Based on α and β, assuming that the second image component is predicted according to the first image component, the constructed prediction model is shown in equation (2).
[0079] Pred C [i,j]=α·Rec L [i,j]+β (2)
[0080] Where i and j represent the position coordinates of the pixel in the current block, i represents the horizontal direction, j represents the vertical direction, and Pred C [i,j] represents the predicted value of the second image component corresponding to the pixel with position coordinates [i,j] in the current block, Rec L [i,j] represents the reconstructed value of the first image component corresponding to the pixel with position coordinates [i,j] in the same current block (after downsampling).
[0081] Taking the preset factor calculation model constructed from the maximum and minimum values as an example, it provides a simplified method for deriving model parameters. Specifically, the model parameters of the prediction model can be derived by searching for the largest and smallest adjacent reference values of the first image component and according to the principle of "two points determine a line", as shown in equation (3):
[0082]
[0083] Among them, L max and L min C represents the maximum and minimum values found among the adjacent reference values of the first image component corresponding to the left and top edges of the current block after downsampling. max and C min L represents max and L min The adjacent reference value of the second image component corresponding to the reference pixel at the corresponding position. According to L max and L min And C max and C min The first model parameter α and the second model parameter β can also be obtained by calculation using equation (3). Based on α and β, assuming that the second image component is predicted according to the first image component, the constructed prediction model is still as shown in equation (2) above.
[0084] After constructing the prediction model, image components can be predicted based on the prediction model. For example, according to the prediction model shown in Equation (2), the first image component can be used to predict the second image component, such as using the luminance component to predict the chrominance component, thereby obtaining the initial prediction value of the chrominance component. Subsequently, the initial prediction value can be filtered using a preset processing mode based on the reference value of the luminance component and / or the reference value of the chrominance component, thereby obtaining the target prediction value of the chrominance component. Alternatively, the second image component can be used to predict the first image component, such as using the chrominance component to predict the luminance component, thereby obtaining the initial prediction value of the luminance component. Subsequently, the initial prediction value can be filtered using a preset processing mode based on the reference value of the luminance component and / or the reference value of the chrominance component, thereby obtaining the target prediction value corresponding to the luminance component. Even the second image component can be used to predict the third image component, such as using the blue chrominance component to predict the red chrominance component, thereby obtaining the initial prediction value of the red chrominance component. Subsequently, the initial prediction value can be filtered using a preset processing mode based on the reference value of the blue chrominance component and / or the reference value of the red chrominance component, thereby obtaining the target prediction value of the red chrominance component. This can achieve the purpose of improving prediction efficiency.
[0085] Furthermore, the resolutions of each image component are not the same. In order to facilitate the construction of the prediction model, it is necessary to adjust the resolution of the image components (including upsampling or downsampling the image components) to achieve the target resolution of the image components to be predicted.
[0086] Optionally, in some embodiments, before calculating the model parameters of the prediction model, the method may further include:
[0087] When the resolution of the image component to be predicted in the current block is different from the resolution of the image component to be referenced in the current block, the resolution of the image component to be referenced is adjusted; wherein, the resolution adjustment includes upsampling adjustment or downsampling adjustment;
[0088] Based on the adjusted resolution of the reference image component, the reference value of the reference image component of the current block is updated to obtain the first reference value of the reference image component of the current block; wherein, the adjusted resolution of the reference image component is the same as the resolution of the image component to be predicted.
[0089] Optionally, in some embodiments, before calculating the model parameters of the prediction model, the method may further include:
[0090] When the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, the reference value of the reference image component in the current block is adjusted to obtain a first reference value of the reference image component in the current block. The adjustment process includes one of the following: downsampling filtering, upsampling filtering, cascaded filtering of downsampling filtering and low-pass filtering, and cascaded filtering of upsampling filtering and low-pass filtering.
[0091] It should be noted that if the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, the resolution of the reference image component can be adjusted so that the adjusted resolution of the reference image component is the same as the resolution of the image component to be predicted. This resolution adjustment includes upsampling adjustment or downsampling adjustment. And according to the adjusted resolution of the reference image component, the reference value of the reference image component in the current block is updated to obtain the first reference value of the reference image component in the current block.
[0092] In addition, if the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, the reference value of the reference image component in the current block can be adjusted to obtain the first reference value of the reference image component in the current block. The adjustment process here includes one of the following: downsampling filtering, upsampling filtering, cascaded filtering of downsampling filtering and low-pass filtering, and cascaded filtering of upsampling filtering and low-pass filtering.
[0093] Further, in some embodiments, calculating the model parameters of the prediction model based on the reference values of the image components to be predicted in the current block and the reference values of the reference image components to be referenced in the current block may include:
[0094] The model parameters of the prediction model are calculated based on the reference values of the image components to be predicted in the current block and the first reference values of the image components to be referenced in the current block.
[0095] It should be noted that if the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, then after obtaining the updated first reference value of the reference image component in the current block, the model parameters of the prediction model can be calculated based on the first reference value of the reference image component in the current block and the first reference value of the reference image component in the current block.
[0096] For example, suppose we use the luma component to predict the chroma component. The image component to be used is the luma component, while the image component to be predicted is the chroma component. Since the luma and chroma components have different resolutions, after obtaining the target resolution for the chroma component, the resolution of the luma component may not match the target resolution. Therefore, the resolution of the luma component needs to be adjusted, for example, by downsampling it. This can make the adjusted luma component's resolution match the target resolution. Conversely, if we use the chroma component to predict the luma component, after obtaining the target resolution for the luma component, the resolution of the chroma component may not match the target resolution. At this point, the resolution of the chroma components needs to be adjusted. For example, upsampling the chroma components can make the adjusted resolution of the chroma components match the target resolution. In addition, if the blue chroma components are used to predict the red chroma components, after obtaining the target resolution of the red chroma components, since the resolution of the blue chroma components matches the target resolution, there is no need to adjust the resolution of the blue chroma components, as the resolution of the blue chroma components already matches the target resolution. In this way, the first reference value of the updated reference image components of the current block can be obtained based on the same resolution, and a prediction model can be built to predict the image components.
[0097] In addition, to improve prediction efficiency, the initial prediction value of the image component to be predicted in the current block can be filtered simply based on the reference value of the image component to be predicted in the current block.
[0098] In some embodiments, for S402, the filtering process on the initial predicted value may include:
[0099] The initial prediction value is filtered based on the reference value of the image component to be predicted in the current block to obtain the target prediction value; wherein, the reference value of the image component to be predicted in the current block is obtained by performing characteristic statistics on the image component to be predicted or the image component to be predicted in the current block.
[0100] Further, the filtering process of the initial predicted value based on the reference value of the image component to be predicted in the current block may include:
[0101] Based on the reference values of the image components to be predicted in the current block, the initial predicted values are filtered using a preset processing mode; wherein the preset processing mode includes at least one of the following: filtering, grouping, value correction, quantization, inverse quantization, low-pass filtering, and adaptive filtering.
[0102] In some embodiments, for S402, the filtering process on the initial predicted value includes:
[0103] Using the initial prediction value, the initial prediction residual of the image component to be predicted in the current block is calculated;
[0104] Based on the reference values of the image components to be predicted in the current block, the initial prediction residual is filtered using a preset processing mode; wherein the preset processing mode includes at least one of the following: filtering, grouping, value correction, quantization, inverse quantization, low-pass filtering, and adaptive filtering.
[0105] It should be noted that the preset processing mode can be filtering, grouping, value correction, quantization, inverse quantization, low-pass filtering, or adaptive filtering, etc. Furthermore, the reference value for the image component to be predicted in the current block can be obtained by performing characteristic statistics on the image component to be predicted or the image component to be predicted in the current block. These characteristic statistics are not limited to the image component to be predicted in the current block, but can also be extended to the image component to be predicted in the image to which the current block belongs.
[0106] Thus, regarding the filtering process, after obtaining the initial predicted value of the image component to be predicted in the current block, the initial predicted value can be filtered using a preset processing mode based on the reference value of the image component to be predicted in the current block to obtain the target predicted value; alternatively, the initial predicted value can be used to calculate the initial prediction residual of the image component to be predicted in the current block, and then the initial prediction residual can be filtered using a preset processing mode based on the reference value of the image component to be predicted in the current block to obtain the target prediction residual, and the target predicted value can also be obtained based on the target prediction residual.
[0107] To improve prediction efficiency, the initial prediction value of the image component to be predicted in the current block can also be filtered based on the reference value of the image component to be predicted in the current block and the reference value of the image component to be referenced in the current block.
[0108] In some embodiments, for S401, before obtaining the initial predicted value of the image component to be predicted for the current block in the image through the prediction model, the method may further include:
[0109] Perform characteristic statistics on the image components to be predicted in the image;
[0110] Based on the results of the characteristic statistics, a reference value for the image component to be predicted and a reference value for the image component to be referenced in the current block are determined; wherein, the image component to be referenced is different from the image component to be predicted.
[0111] The model parameters of the prediction model are calculated based on the reference values of the image components to be predicted in the current block and the reference values of the image components to be referenced in the current block.
[0112] Furthermore, in some embodiments, the method may further include:
[0113] Based on the reference values of the image components to be predicted in the current block and the reference values of the image components to be referenced in the current block, the initial predicted value is filtered using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering, grouping, value correction, quantization, inverse quantization, low-pass filtering, and adaptive filtering.
[0114] It should be noted that different image components have different statistical characteristics, and these characteristics vary among the components. For example, the luminance component has rich texture characteristics, while the chrominance component tends to be more uniform and flat. To better balance the statistical characteristics of each image component after cross-component prediction, it is necessary to perform characteristic statistics on at least one image component of the current block, such as performing characteristic statistics on the image component to be predicted. Then, based on the results of the characteristic statistics, reference values for the image component to be predicted and reference values for the image component to be referenced in the current block are determined. Based on the reference values for the image component to be predicted and reference values for the image component to be referenced in the current block, in addition to calculating the model parameters of the prediction model to construct the prediction model, the initial prediction values can also be filtered to balance the statistical characteristics of each image component after cross-component prediction, thereby improving prediction efficiency.
[0115] For example, see Figure 5 This illustrates a schematic diagram of the composition structure of an improved cross-component prediction architecture provided in an embodiment of this application. Figure 5 As shown, in Figure 1 Based on the traditional cross-component prediction architecture 10 shown, the improved cross-component prediction architecture 50 may further include a processing unit 510, which is mainly used to perform relevant processing on the predicted values after the cross-component prediction unit 160 to obtain more accurate target predicted values.
[0116] exist Figure 5 In the current block, assuming the U component is predicted using the Y component, since the Y component coding block 110 and the U component coding block 140 have different resolutions, the resolution adjustment unit 120 needs to adjust the resolution of the Y component to obtain a Y component with the same resolution as the U component coding block 140. 1 Component coding block 130; then using Y 1 Adjacent reference value Y of component coding block 130 1 A prediction model 150 can be constructed from the adjacent reference values C(n) of the U component coding block 140 and Y(n); 1The Y component of component coding block 130 reconstructs pixel values and prediction model 150, and image component prediction is performed by cross-component prediction unit 160 to obtain the initial predicted value of U component. In order to improve the prediction efficiency, the initial predicted value of U component can also be processed by processing unit 510, such as filtering, grouping, value correction, quantization and dequantization, to obtain the target predicted value of U component. Since the target predicted value of U component is close to the true value of U component, the prediction efficiency is improved, and the encoding and decoding efficiency of video image is also improved.
[0117] In this embodiment, when the image prediction method is applied to the encoder side, after obtaining the target predicted value, the prediction residual can be determined based on the difference between the target predicted value and the true value, and then the prediction residual is written into the bitstream. Simultaneously, the model parameters of the prediction model can be calculated based on the reference values of the image component to be predicted in the current block and the reference values of the image component to be referenced in the current block, and then the calculated model parameters are written into the bitstream. This bitstream is transmitted from the encoder side to the decoder side. Correspondingly, when the image prediction method is applied to the decoder side, the prediction residual can be obtained by parsing the bitstream, and the model parameters of the prediction model can also be obtained by parsing the bitstream, thereby constructing the prediction model. Thus, on the decoder side, the initial predicted value of the image component to be predicted in the current block is obtained through the prediction model. Then, the target predicted value of the image component to be predicted in the current block is obtained by filtering the initial predicted value.
[0118] This embodiment provides an image prediction method. Through a prediction model, an initial predicted value for the image component to be predicted in the current block of an image is obtained. The initial predicted value is then filtered to obtain a target predicted value for the image component to be predicted in the current block. Thus, by continuing to filter at least one image component after predicting it in the current block, the statistical characteristics of each image component after cross-component prediction can be balanced. This not only improves prediction efficiency but also, because the obtained target predicted value is closer to the true value, results in a smaller prediction residual for the image component. This reduces the bit rate transmitted during encoding and decoding, while also improving the encoding and decoding efficiency of video images.
[0119] Based on the same inventive concept as the foregoing embodiments, see [link to previous document]. Figure 6 This diagram illustrates the structural composition of an encoder 60 according to an embodiment of this application. The encoder 60 may include a first prediction unit 601 and a first processing unit 602, wherein...
[0120] The first prediction unit 601 is configured to obtain the initial prediction value of the image component to be predicted of the current block in the image through a prediction model.
[0121] The first processing unit 602 is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block.
[0122] In the above scheme, see [reference] Figure 6 The encoder 60 may further include a first statistical unit 603 and a first acquisition unit 604, wherein,
[0123] The first statistical unit 603 is configured to perform characteristic statistics on at least one image component of the current block; wherein, the at least one image component includes an image component to be predicted and / or an image component to be referenced, and the image component to be predicted is different from the image component to be referenced;
[0124] The first acquisition unit 604 is configured to acquire, based on the result of characteristic statistics, a reference value for the image component to be predicted in the current block and / or a reference value for the image component to be referenced in the current block; wherein, the image component to be predicted is the component predicted when constructing the prediction model, and the image component to be referenced is the component used for prediction when constructing the prediction model.
[0125] In the above scheme, the first processing unit 602 is configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block and / or the reference value of the image component to be referenced in the current block, using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing and dequantization processing.
[0126] The first acquisition unit 604 is configured to obtain the target prediction value based on the result of the processing.
[0127] In the above scheme, see [reference] Figure 6 The encoder 60 may also include a calculation unit 605 configured to calculate the initial prediction residual of the image component to be predicted in the current block based on the initial prediction component value.
[0128] The first processing unit 602 is further configured to perform filtering processing on the initial prediction residual based on the reference value of the image component to be predicted in the current block and / or the reference value of the reference image component to be referenced in the current block using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, and dequantization processing.
[0129] The first acquisition unit 604 is further configured to obtain the target prediction residual based on the result of the processing.
[0130] In the above scheme, the calculation unit 605 is further configured to calculate the target prediction value of the image component to be predicted of the current block based on the target prediction residual.
[0131] In the above scheme, see [reference] Figure 6 The encoder 60 may further include a first determining unit 606 and a first constructing unit 607, wherein,
[0132] The first determining unit 606 is configured to determine a reference value for a predicted image component of the current block, wherein the reference value for the predicted image component of the current block is the predicted image component value of the neighboring pixels of the current block; and to determine a reference value for a reference image component of the current block, wherein the reference image component of the current block is different from the predicted image component, and the reference value for the reference image component of the current block is the reference image component value of the neighboring pixels of the current block.
[0133] The calculation unit 605 is further configured to calculate the model parameters of the prediction model based on the reference values of the image components to be predicted in the current block and the reference values of the reference image components to be referenced in the current block.
[0134] The first construction unit 607 is configured to construct the prediction model based on the calculated model parameters, wherein the prediction model is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the reference image component of the current block.
[0135] In the above scheme, see [reference] Figure 6 The encoder 60 may further include a first adjustment unit 608, configured to adjust the resolution of the reference image component when the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block; wherein the resolution adjustment includes upsampling adjustment or downsampling adjustment; and to update the reference value of the reference image component in the current block based on the adjusted resolution of the reference image component to obtain a first reference value of the reference image component in the current block; wherein the adjusted resolution of the reference image component is the same as the resolution of the image component to be predicted.
[0136] In the above scheme, the first adjustment unit 608 is further configured to adjust the reference value of the reference image component of the current block when the resolution of the image component to be predicted of the current block is different from the resolution of the reference image component of the current block, so as to obtain a first reference value of the reference image component of the current block. The adjustment process includes one of the following: downsampling filtering, upsampling filtering, cascaded filtering of downsampling filtering and low-pass filtering, and cascaded filtering of upsampling filtering and low-pass filtering.
[0137] In the above scheme, the calculation unit 605 is further configured to calculate the model parameters of the prediction model based on the reference value of the image component to be predicted in the current block and the first reference value of the reference image component in the current block.
[0138] In the above scheme, the first processing unit 602 is further configured to filter the initial prediction value according to the reference value of the image component to be predicted of the current block to obtain the target prediction value; wherein, the reference value of the image component to be predicted of the current block is obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block.
[0139] In the above scheme, the first processing unit 602 is further configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block using a preset processing mode; wherein, the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0140] In the above scheme, the calculation unit 605 is further configured to use the initial prediction value to calculate the initial prediction residual of the image component to be predicted in the current block;
[0141] The first processing unit 602 is further configured to perform filtering processing on the initial prediction residual using a preset processing mode based on the reference value of the image component to be predicted in the current block; wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0142] In the above scheme, the first statistical unit 603 is further configured to perform characteristic statistics on the image components to be predicted of the image.
[0143] The first determining unit 606 is further configured to determine, based on the result of the characteristic statistics, a reference value for the image component to be predicted of the current block and a reference value for the image component to be referenced of the current block; wherein the image component to be referenced is different from the image component to be predicted.
[0144] The calculation unit 605 is further configured to calculate the model parameters of the prediction model based on the reference values of the image components to be predicted in the current block and the reference values of the reference image components to be referenced in the current block.
[0145] In the above scheme, the first processing unit 602 is further configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block and the reference value of the reference image component to be referenced in the current block, using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0146] Understandably, in the 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 one. Furthermore, the components in this embodiment can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit described above can be implemented in hardware or as a software functional module.
[0147] 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.
[0148] Therefore, embodiments of this application provide a computer storage medium storing an image prediction program, which, when executed by at least one processor, implements the steps of the method described in the foregoing embodiments.
[0149] Based on the composition of the encoder 60 and the computer storage medium described above, see [link to documentation]. Figure 7 This illustrates the specific hardware structure of the encoder 60 provided in this embodiment, which may include: a first communication interface 701, a first memory 702, and a first processor 703; the various components are coupled together through a first bus system 704. It is understood that the first bus system 704 is used to implement communication between these components. In addition to a data bus, the first bus system 704 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 7 The general designated all buses as the first bus system 704. Among them,
[0150] The first communication interface 701 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
[0151] The first memory 702 is used to store computer programs that can run on the first processor 703;
[0152] The first processor 703 is configured to, when running the computer program, perform:
[0153] The prediction model is used to obtain the initial predicted values of the image components to be predicted in the current block of the image.
[0154] The initial predicted value is filtered to obtain the target predicted value of the image component to be predicted in the current block.
[0155] It is understood that the first memory 702 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can 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 can 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 SDRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The first memory 702 of the system and method described in this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0156] The first processor 703 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 first processor 703 or by instructions in software form. The first processor 703 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 the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the 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 the first memory 702. The first processor 703 reads the information in the first memory 702 and completes the steps of the above method in conjunction with its hardware.
[0157] 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.
[0158] Alternatively, as another embodiment, the first processor 703 is further configured to perform the method described in any of the foregoing embodiments when running the computer program.
[0159] This embodiment provides an encoder, which may include a first prediction unit and a first processing unit. The first prediction unit is configured to obtain an initial prediction value of the image component to be predicted in the current block of an image through a prediction model. The first processing unit is configured to filter the initial prediction value to obtain a target prediction value of the image component to be predicted in the current block. In this way, after predicting at least one image component of the current block, filtering is performed on the at least one image component, which can balance the statistical characteristics of each image component after cross-component prediction. This not only improves the prediction efficiency, but also reduces the prediction residual of the image component because the obtained target prediction value is closer to the true value. This results in a lower bit rate transmitted during the encoding and decoding process, and also improves the encoding and decoding efficiency of video images.
[0160] Based on the same inventive concept as the foregoing embodiments, see [link to previous document]. Figure 8 This diagram illustrates the structural composition of a decoder 80 according to an embodiment of this application. The decoder 80 may include a second prediction unit 801 and a second processing unit 802, wherein...
[0161] The second prediction unit 801 is configured to obtain the initial prediction value of the image component to be predicted in the current block of the image through a prediction model;
[0162] The second processing unit 802 is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block.
[0163] In the above scheme, see [reference] Figure 8 The decoder 80 may further include a second statistical unit 803 and a second acquisition unit 804, wherein,
[0164] The second statistical unit 803 is configured to perform characteristic statistics on at least one image component of the current block; wherein the at least one image component includes an image component to be predicted and / or an image component to be referenced, and the image component to be predicted is different from the image component to be referenced;
[0165] The second acquisition unit 804 is configured to acquire, based on the result of characteristic statistics, a reference value for the image component to be predicted in the current block and / or a reference value for the image component to be referenced in the current block; wherein, the image component to be predicted is the component predicted when constructing the prediction model, and the image component to be referenced is the component used for prediction when constructing the prediction model.
[0166] In the above scheme, the second processing unit 802 is configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block and / or the reference value of the reference image component in the current block, using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, and dequantization processing.
[0167] The second acquisition unit 804 is configured to obtain the target prediction value based on the result of the processing.
[0168] In the above scheme, see [reference] Figure 8 The decoder 80 may also include a parsing unit 805, configured to parse the bitstream and obtain the initial prediction residual of the image component to be predicted in the current block.
[0169] The second processing unit 802 is further configured to perform filtering processing on the initial prediction residual using a preset processing mode based on the reference value of the image component to be predicted in the current block and / or the reference value of the reference image component to be referenced in the current block, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, and dequantization processing.
[0170] The second acquisition unit 804 is further configured to obtain the target prediction residual based on the result of the processing.
[0171] In the above scheme, see [reference] Figure 8 The decoder 80 may also include a second building unit 806, wherein,
[0172] The parsing unit 805 is also configured to parse the code stream to obtain the model parameters of the prediction model;
[0173] The second construction unit 806 is configured to construct the prediction model based on the model parameters obtained by parsing, wherein the prediction model is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the reference image component of the current block.
[0174] In the above scheme, see [reference] Figure 8The decoder 80 may further include a second adjustment unit 807, configured to adjust the resolution of the reference image component when the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block; wherein the resolution adjustment includes upsampling adjustment or downsampling adjustment; and to update the reference value of the reference image component in the current block based on the adjusted resolution of the reference image component to obtain a first reference value of the reference image component in the current block; wherein the adjusted resolution of the reference image component is the same as the resolution of the image component to be predicted.
[0175] In the above scheme, the second adjustment unit 807 is further configured to adjust the reference value of the reference image component of the current block when the resolution of the image component to be predicted of the current block is different from the resolution of the reference image component of the current block, so as to obtain a first reference value of the reference image component of the current block. The adjustment process includes one of the following: downsampling filtering, upsampling filtering, cascaded filtering of downsampling filtering and low-pass filtering, and cascaded filtering of upsampling filtering and low-pass filtering.
[0176] In the above scheme, the second processing unit 802 is further configured to filter the initial prediction value according to the reference value of the image component to be predicted of the current block to obtain the target prediction value; wherein, the reference value of the image component to be predicted of the current block is obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block.
[0177] In the above scheme, the second processing unit 802 is further configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block using a preset processing mode; wherein, the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0178] In the above scheme, the parsing unit 805 is configured to parse the bitstream and obtain the initial prediction residual of the image component to be predicted in the current block;
[0179] The second processing unit 802 is further configured to perform filtering processing on the initial prediction residual using a preset processing mode based on the reference value of the image component to be predicted in the current block; wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0180] In the above scheme, see [reference] Figure 8The decoder 80 may further include a second determining unit 808, wherein,
[0181] The second statistical unit 803 is further configured to perform characteristic statistics on the image components to be predicted of the image;
[0182] The second determining unit 808 is further configured to determine, based on the result of the characteristic statistics, a reference value for the image component to be predicted of the current block and a reference value for the image component to be referenced of the current block; wherein the image component to be referenced is different from the image component to be predicted.
[0183] In the above scheme, the second processing unit 802 is further configured to perform filtering processing on the initial prediction value according to the reference value of the image component to be predicted in the current block and the reference value of the reference image component to be referenced in the current block, using a preset processing mode, wherein the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, inverse quantization processing, low-pass filtering processing, and adaptive filtering processing.
[0184] Understandably, in this embodiment, 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 one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional module.
[0185] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer storage medium storing an image prediction program, which, when executed by a second processor, implements the method described in any of the foregoing embodiments.
[0186] Based on the composition of the decoder 80 and the computer storage medium described above, see [link to documentation]. Figure 9 This illustrates the specific hardware structure of the decoder 80 provided in this embodiment, which may include: a second communication interface 901, a second memory 902, and a second processor 903; the various components are coupled together through a second bus system 904. It is understood that the second bus system 904 is used to implement communication between these components. In addition to a data bus, the second bus system 904 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 9 The general designated all buses as the second bus system 904. Among them,
[0187] The second communication interface 901 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
[0188] The second memory 902 is used to store computer programs that can run on the second processor 903;
[0189] The second processor 903 is configured to perform the following when running the computer program:
[0190] The prediction model is used to obtain the initial predicted values of the image components to be predicted in the current block of the image.
[0191] The initial predicted value is filtered to obtain the target predicted value of the image component to be predicted in the current block.
[0192] Alternatively, as another embodiment, the second processor 903 is also configured to perform the method described in any of the foregoing embodiments when running the computer program.
[0193] It is understood that the second memory 902 has similar hardware functions to the first memory 702, and the second processor 903 has similar hardware functions to the first processor 703; these will not be described in detail here.
[0194] This embodiment provides a decoder, which may include a second prediction unit and a second processing unit. The second prediction unit is configured to obtain an initial prediction value of the image component to be predicted in the current block of an image through a prediction model. The second processing unit is configured to filter the initial prediction value to obtain a target prediction value of the image component to be predicted in the current block. In this way, after predicting at least one image component of the current block, filtering is continued on the at least one image component, which can balance the statistical characteristics of each image component after cross-component prediction, thereby not only improving the prediction efficiency, but also improving the encoding and decoding efficiency of video images.
[0195] 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.
[0196] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0197] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0198] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0199] 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.
[0200] 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 technical scope 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.
[0201] Industrial applicability
[0202] In this embodiment, the initial predicted value of the image component to be predicted in the current block of the image is first obtained through a prediction model; then, the initial predicted value is filtered to obtain the target predicted value of the image component to be predicted in the current block. In this way, after predicting at least one image component of the current block, filtering is continued on the at least one image component, which can balance the statistical characteristics of each image component after cross-component prediction. This not only improves the prediction efficiency, but also makes the prediction residual of the image component smaller because the obtained target predicted value is closer to the true value. This results in a lower bit rate transmitted during the encoding and decoding process, and at the same time improves the encoding and decoding efficiency of video images.
Claims
1. An image prediction method applied to an encoder, the method comprising: The prediction model is used to obtain the initial predicted values of the image components to be predicted in the current block of the image. The initial prediction value is filtered to obtain the target prediction value of the image component to be predicted in the current block; The method further includes, prior to filtering the initial predicted value: Based on the characteristic statistics of the image components to be predicted in the current block, reference values of the image components to be predicted in the current block are obtained; wherein, the image components to be predicted are the components predicted when constructing the prediction model. The step of filtering the initial predicted value to obtain the target predicted value of the image component to be predicted in the current block includes: The initial prediction value is filtered based on the reference value of the image component to be predicted in the current block to obtain the target prediction value.
2. The method according to claim 1, wherein, Perform characteristic statistics on the image components to be predicted in the current block, including: Based on the size of the current block, the image components to be predicted in the current block are downsampled and averaged.
3. The method according to claim 1, wherein, The method further includes: When the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, the resolution of the reference image component is downsampled, wherein the reference image component is the component used for prediction when constructing the prediction model.
4. The method according to claim 1, wherein, The step of filtering the initial predicted value based on the reference value of the image component to be predicted in the current block to obtain the target predicted value includes: The initial prediction value is filtered based on the reference value of the image component to be predicted in the current block to obtain the target prediction value of the image component to be predicted in the current block. The filtering process includes at least one of the following: filtering, grouping, value correction, quantization, and dequantization.
5. An image prediction method applied to a decoder, the method comprising: The prediction model is used to obtain the initial predicted values of the image components to be predicted in the current block of the image. The initial prediction value is filtered to obtain the target prediction value of the image component to be predicted in the current block; The method further includes, prior to filtering the initial predicted value: Based on the characteristic statistics of the image components to be predicted in the current block, reference values of the image components to be predicted in the current block are obtained; wherein, the image components to be predicted are the components predicted when constructing the prediction model. The step of filtering the initial predicted value to obtain the target predicted value of the image component to be predicted in the current block includes: The initial prediction value is filtered based on the reference value of the image component to be predicted in the current block to obtain the target prediction value.
6. The method according to claim 5, wherein, Perform characteristic statistics on the image components to be predicted in the current block, including: Based on the size of the current block, the image components to be predicted in the current block are downsampled and averaged.
7. The method according to claim 5, wherein, The method further includes: When the resolution of the image component to be predicted in the current block is different from the resolution of the reference image component in the current block, the resolution of the reference image component is downsampled, wherein the reference image component is the component used for prediction when constructing the prediction model.
8. The method according to claim 7, wherein, The step of filtering the initial predicted value based on the reference value of the image component to be predicted in the current block to obtain the target predicted value includes: The initial prediction value is filtered based on the reference value of the image component to be predicted in the current block to obtain the target prediction value of the image component to be predicted in the current block, wherein the processing includes at least one of the following: filtering, grouping, value correction, quantization, and dequantization.
9. An encoder, the encoder comprising a first prediction unit and a first processing unit, wherein, The first prediction unit is configured to obtain the initial prediction value of the image component to be predicted in the current block of the image through a prediction model; The first processing unit is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block. The encoder further includes a first acquisition unit configured to perform characteristic statistics on the image components to be predicted in the current block and acquire reference values for the image components to be predicted in the current block; wherein the image components to be predicted are the components predicted when constructing the prediction model. The first processing unit is specifically configured to filter the initial prediction value based on the reference value of the image component to be predicted in the current block to obtain the target prediction value.
10. A decoder, the decoder comprising a second prediction unit and a second processing unit, wherein, The second prediction unit is configured to obtain the initial prediction value of the image component to be predicted in the current block of the image through a prediction model; The second processing unit is configured to filter the initial prediction value to obtain the target prediction value of the image component to be predicted in the current block; The decoder further includes a second acquisition unit, configured to perform characteristic statistics on the image components to be predicted in the current block and acquire reference values for the image components to be predicted in the current block; wherein the image components to be predicted are the components predicted when constructing the prediction model. The second processing unit is specifically configured to filter the initial prediction value based on the reference value of the image component to be predicted in the current block to obtain the target prediction value.
11. A computer storage medium, wherein, The computer storage medium stores a computer program and a bitstream, the computer program being executed by one or more processors to implement the image prediction method as described in any one of claims 1 to 4 to generate the bitstream.
Citation Information
Patent Citations
Filtering of prediction units according to intra prediction direction
WO2013160696A1