Image prediction method, encoder, decoder, and storage medium

By preprocessing image components and constructing prediction models, the problem of not considering statistical differences in cross-component prediction is solved, thereby improving prediction efficiency and encoding/decoding efficiency.

CN121644801APending Publication Date: 2026-03-10GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2019-10-12
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing cross-component prediction techniques fail to adequately consider the differences in statistical characteristics between components, resulting in low prediction efficiency.

Method used

By preprocessing the image components, balancing the statistical characteristics of each component, and constructing a prediction model for cross-component prediction, including filtering, grouping, value correction, quantization, and other processing, the resolution is adjusted to achieve the target resolution.

Benefits of technology

It improves prediction efficiency and video image encoding/decoding efficiency, and reduces the bit rate during the encoding/decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644801A_ABST
    Figure CN121644801A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an image prediction method, an encoder, a decoder and a storage medium. The method comprises the following steps: determining at least one image component of a current block in an image; performing filtering processing on the at least one image component of the current block according to characteristic statistics to obtain at least one image component after filtering processing; according to the at least one image component after filtering processing, constructing a prediction model; wherein the prediction model is used for performing cross-component prediction processing on at least one image component of the current block.
Need to check novelty before this filing date? Find Prior Art

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 component before cross-component prediction, it not only improves prediction efficiency but also improves the encoding and decoding efficiency of video images.

[0005] The technical solution of this application embodiment can be implemented as follows: In a first aspect, embodiments of this application provide an image prediction method applied to an encoder or decoder, the method comprising: Determine at least one image component of the current block in the image; At least one image component of the current block is preprocessed to obtain at least one preprocessed image component; A prediction model is constructed based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0006] Secondly, embodiments of this application provide an image prediction method applied to an encoder or decoder, the method comprising: Determine a reference value for the first image component of the current block in the image; wherein, the reference value for the first image component of the current block is the first image component value of the adjacent pixels of the current block; The reference value of the first image component of the current block is filtered to obtain the filtered reference value; The model parameters of the prediction model are calculated using the filtered reference values, wherein the prediction model is used to map the value of the first image component of the current block to the value of the second image component of the current block, and the second image component is different from the first image component.

[0007] Thirdly, embodiments of this application provide an encoder, which includes a first determining unit, a first processing unit, and a first constructing unit, wherein... The first determining unit is configured to determine at least one image component of the current block in the image; The first processing unit is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component. The first construction unit is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0008] Fourthly, embodiments of this application provide an encoder, which includes a first memory and a first processor, wherein... A first memory is used to store computer programs that can run on the first processor; A first processor is configured to execute the method described in the first or second aspect when running the computer program.

[0009] Fifthly, embodiments of this application provide a decoder, which includes a second determining unit, a second processing unit, and a second constructing unit, wherein... The second determining unit is configured to determine at least one image component of the current block in the image; The second processing unit is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component. The second construction unit is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0010] Sixthly, embodiments of this application provide a decoder, which includes a second memory and a second processor, wherein, The second memory is used to store computer programs that can run on the second processor; A second processor is configured to execute the method described in the first or second aspect when running the computer program.

[0011] In a seventh 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 or second aspect.

[0012] This application provides an image prediction method, encoder, decoder, and storage medium. The method determines at least one image component of a current block in an image; preprocesses the at least one image component of the current block to obtain a preprocessed at least one image component; and constructs a prediction model based on the preprocessed at least one image component. This prediction model is used to perform cross-component prediction processing on the at least one image component of the current block. Thus, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby improving prediction efficiency. Furthermore, since the predicted values ​​of the image components obtained using this prediction model are closer to the true values, the prediction residuals of the image components are smaller, resulting in a lower bit rate transmitted during encoding and decoding, and also improving the encoding and decoding efficiency of video images. Attached Figure Description

[0013] Figure 1 A schematic diagram illustrating the composition of a traditional cross-component prediction architecture provided in an embodiment of this application; Figure 2 This application provides a schematic block diagram of a video encoding system. Figure 3 This application provides a schematic block diagram of a video decoding system according to an embodiment of the present application. Figure 4 A flowchart illustrating an image prediction method provided in an embodiment of this application; Figure 5 A flowchart illustrating another image prediction method provided in an embodiment of this application; Figure 6 A schematic diagram illustrating the composition of an improved cross-component prediction architecture provided in an embodiment of this application; Figure 7 A schematic diagram of the composition structure of another improved cross-component prediction architecture provided in an embodiment of this application; Figure 8 A schematic diagram of the composition structure of an encoder provided in an embodiment of this application; Figure 9 This is a schematic diagram of the specific hardware structure of an encoder provided in an embodiment of this application; Figure 10 A schematic diagram of the composition structure of a decoder provided in an embodiment of this application; Figure 11This is a schematic diagram of the specific hardware structure of a decoder provided in an embodiment of this application. Detailed Implementation

[0014] 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.

[0015] 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.

[0016] 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.

[0017] 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.

[0018] See Figure 1 This illustrates a schematic diagram of the composition structure of a conventional cross-component prediction architecture provided in an embodiment of this application. For example... Figure 1As shown, a second image component (e.g., represented by the U component) is predicted using a first image component (e.g., the Y component). Assuming the video image uses a 4:2:0 YUV format, the Y and U components have different resolutions. Therefore, it is necessary to downsample the Y component or upsample the U component to achieve the target resolution for the component to be predicted, allowing 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.

[0019] exist Figure 1 In the traditional cross-component prediction architecture 10, the Y component coding block (or current block) 110, the resolution adjustment unit 120, and the Y component coding block 110 may be included. 1 The system includes a component coding block (or current block) 130, a U component coding block (or current 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. The larger, bolded box highlights the Y component coding block 110, while the surrounding solid gray circle indicates the adjacent reference values ​​of the Y component coding block 110. The U component of the video image is represented by an N×N U component coding block 140. The larger, bolded box is used to highlight the U component coding block 140, while the surrounding solid gray circle indicates the adjacent reference value of the U component coding block 140. Since the Y component and the U component have different resolutions, the resolution adjustment unit 120 is needed to adjust the resolution of the Y component to obtain an N×N Y component. 1 Component coding block 130; for Y 1 Component coding block 130, the larger, bolded box here is used to highlight the indicator Y. 1 Component encoding block 130, with the surrounding gray solid circle indicating Y. 1 Adjacent reference values ​​of component coding block 130 Then through Y 1 Adjacent reference values ​​of component coding block 130 Adjacent reference values ​​of U component coding block 140 A prediction model 150 can be constructed; based on Y 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.

[0020] Traditional cross-component prediction architecture 10 is not comprehensive in its consideration of image component prediction, such as failing to take into account 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, at least one image component of the current block in the image is determined; then, the at least one image component of the current block is preprocessed to obtain at least one preprocessed image component; then, a prediction model is constructed based on the at least one preprocessed image component, which is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby not only improving prediction efficiency but also improving the encoding and decoding efficiency of video images.

[0021] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0022] 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. Motion estimation performed by motion estimation unit 205 is the 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.

[0023] 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.

[0024] 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.

[0025] 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: S401: Determine at least one image component of the current block in the image; S402: Preprocess at least one image component of the current block to obtain at least one preprocessed image component; S403: Construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0026] 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.

[0027] 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.

[0028] In this embodiment, at least one image component of the current block in the image is first determined; then, the at least one image component of the current block is preprocessed to obtain at least one preprocessed image component; then, a prediction model is constructed based on the at least one preprocessed image component, which is used to perform cross-component prediction processing on the at least one image component of the current block; thus, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby not only improving the prediction efficiency, but also improving the encoding and decoding efficiency of the video image.

[0029] 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—the embodiments of this application can consider the differences in statistical characteristics between image components to achieve the purpose of balancing the statistical characteristics of each image component. Therefore, in some embodiments, after determining at least one image component of the current block in the image, the method may further include: Perform characteristic statistics on at least one image component of the current block; wherein, the at least one image component includes a first image component and / or a second image component; Based on the results of characteristic statistics, obtain the reference value of the first image component of the current block and / or the reference value of the second image component of the current block; wherein, the first image component is the component used for prediction when constructing the prediction model, and the second image component is the component predicted when constructing the prediction model.

[0030] It should be noted that at least one image component of the current block can be a first image component, a second image component, or even both. The first image component is the component used for prediction when constructing the prediction model, and can also be called the reference image component; the second image component is the component being predicted when constructing the prediction model, and can also be called the image component to be predicted.

[0031] Assuming that the prediction of the luminance component to the chrominance component is achieved through a prediction model, then the component used for prediction when constructing the prediction model is the luminance component, and the component being predicted when constructing the prediction model is the chrominance component. That is, the first image component is the luminance component, and the second image component is the chrominance component. Alternatively, assuming that the prediction of the chrominance component to the luminance component is achieved through a prediction model, then the component used for prediction when constructing the prediction model is the chrominance component, and the component being predicted when constructing the prediction model is the luminance component. That is, the first image component is the chrominance component, and the second image component is the luminance component.

[0032] In this way, by performing characteristic statistics on at least one image component of the current block, the reference value of the first image component and / or the reference value of the second image component of the current block can be obtained based on the result of the characteristic statistics.

[0033] Furthermore, to improve prediction efficiency, the statistical differences between image components can be considered. That is, before performing cross-component prediction on at least one image component using the prediction model, preprocessing can be performed on the at least one image component based on its statistical characteristics, such as filtering, grouping, value correction, quantization, or dequantization. Therefore, in some embodiments, for S402, the preprocessing of at least one image component of the current block to obtain a preprocessed at least one image component may include: Based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, the first image component is subjected to a first processing 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; Based on the result of the first processing, the processing value of the first image component of the current block is obtained.

[0034] 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 first image component and / or the reference value of the second image component of the current block, a first processing can be performed on the first image component using a preset processing mode. Specifically, the first processing can be performed using filtering, grouping, value correction, quantization, or inverse quantization (also known as dequantization), etc., and the embodiments of this application do not impose specific limitations.

[0035] It should also be noted that the processing of the first image component can be performed on the adjacent reference pixel values ​​of the first image component, or on the reconstructed pixel values ​​of the first image component, or even on other pixel values ​​of the first image component; in this embodiment, the settings are made according to the actual situation of the prediction model, and this embodiment does not impose specific limitations.

[0036] For example, assuming the prediction model uses the luminance component to predict the chrominance component, in order to improve the prediction efficiency, that is, to improve the accuracy of the predicted value, it is necessary to process the luminance component and / or chrominance component according to a preset processing mode, such as processing the reconstructed pixel value corresponding to the luminance component according to the preset processing mode.If the preset processing mode uses value correction, since the luminance component and chrominance component have different statistical characteristics, a deviation factor can be obtained based on the difference in statistical characteristics between the two image components. This deviation factor is then used to perform value correction processing on the luminance component (e.g., adding the reconstructed pixel value corresponding to the luminance component to the deviation factor) to balance the statistical characteristics between the image components before cross-component prediction. The resulting processed luminance component will have a more accurate predicted value for the chrominance component compared to its true value. If the preset processing mode uses filtering, since the luminance component and chrominance component have different statistical characteristics, a deviation factor can be obtained based on the difference in statistical characteristics between the two image components. The difference in statistical characteristics between two image components allows for filtering of the luminance component to balance the statistical characteristics between image components before cross-component prediction. This results in a processed luminance component, where the predicted value of the chrominance component obtained by the prediction model is closer to the true value. If the preset processing mode uses group processing, since the luminance and chrominance components have different statistical characteristics, the luminance component can be grouped based on these differences to balance the statistical characteristics between image components before cross-component prediction. The prediction model constructed based on the grouped luminance components then predicts the chrominance component. The predicted values ​​are closer to the true values ​​of the chromaticity components. Furthermore, since quantization and dequantization are involved in chromaticity component prediction using the prediction model, and because the luminance and chromaticity components have different statistical characteristics, the differences in these characteristics may lead to discrepancies in the quantization and dequantization processes. If the preset processing mode uses quantization, then the luminance and / or chromaticity components can be quantized to balance the statistical characteristics between the image components before cross-component prediction. This results in processed luminance and / or processed chromaticity components, and the predicted values ​​of the chromaticity components obtained by the prediction model are more accurate. The predicted values ​​of the luminance and / or chrominance components are closer to the true values ​​of the chrominance components. If the preset processing mode adopts dequantization, the luminance and / or chrominance components can be dequantized to balance the statistical characteristics between the image components before cross-component prediction. As a result, the processed luminance and / or processed chrominance components are obtained. At this time, the predicted values ​​of the chrominance components obtained by the prediction model are closer to the true values ​​of the chrominance components. This improves the accuracy of the prediction values ​​and thus improves the prediction efficiency. Since the predicted values ​​of the chrominance components are closer to the true values, the prediction residuals of the chrominance components are smaller. This results in a lower bit rate during the encoding and decoding process and also improves the encoding and decoding efficiency of video images.

[0037] Thus, after obtaining the reference values ​​of the first image component and / or the second image component of the current block, the first image component can be processed using a preset processing mode based on the reference value of the first image component of the current block to balance the statistical characteristics between the image components before cross-component prediction, and then the processed value of the first image component of the current block can be obtained; alternatively, the first image component can be processed using a preset processing mode based on the reference value of the second image component of the current block to balance the statistical characteristics between the image components before cross-component prediction, and then the processed value of the first image component of the current block can be obtained; even more specifically, the first image component can be processed using a preset processing mode based on both the reference values ​​of the first and second image components of the current block to balance the statistical characteristics between the image components before cross-component prediction, and then the processed value of the first image component of the current block can be obtained; based on the processed value of the first image component of the current block, the predicted value of the second image component obtained by the prediction model is closer to the true value; wherein, the prediction model can realize cross-component prediction of the second image component through the first image component.

[0038] Furthermore, the resolutions of the various image components are not the same. To facilitate the construction of the prediction model, it is necessary to adjust the resolution of the image components (including upsampling or downsampling) to achieve the target resolution. Specifically, the first image component can be processed in a cascaded manner using a preset processing mode for initial processing and resolution adjustment, or it can be processed in combination using a preset processing mode for initial processing and resolution adjustment. These will be described separately below.

[0039] Optionally, in some embodiments, before preprocessing at least one image component of the current block to obtain at least one preprocessed image component, the method may further include: When the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component is adjusted; wherein, the resolution adjustment includes upsampling adjustment or downsampling adjustment; Based on the adjusted resolution of the first image component, the reference value of the first image component of the current block is updated; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0040] It should be noted that resolution adjustment, or resolution mapping, maps the resolution of the first image component to the adjusted resolution of the first image component; specifically, resolution adjustment or resolution mapping can be achieved through upsampling adjustment or downsampling adjustment.

[0041] It should also be noted that when the first image component is processed using a preset processing mode and the resolution adjustment can be cascaded, the resolution adjustment can be performed before the first image component is processed using the preset processing mode. That is, before preprocessing at least one image component of the current block, if the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, then the resolution of the first image component can be adjusted, and the reference value of the first image component of the current block can be updated based on the adjusted resolution of the first image component.

[0042] Optionally, in some embodiments, after preprocessing at least one image component of the current block to obtain at least one preprocessed image component, the method may further include: When the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component is adjusted; wherein, the resolution adjustment includes upsampling adjustment or downsampling adjustment; Based on the adjusted resolution of the first image component, the processing value of the first image component of the current block is updated; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0043] It should also be noted that when the first processing and resolution adjustment of the first image component using the preset processing mode can be cascaded, the resolution adjustment can also be performed after the first processing of the first image component using the preset processing mode. That is, after preprocessing at least one image component of the current block, if the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, then the resolution of the first image component can be adjusted, and the processing value of the first image component of the current block can be updated based on the adjusted resolution of the first image component.

[0044] Optionally, in some embodiments, the preprocessing of at least one image component of the current block to obtain at least one preprocessed image component may include: When the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the first image component is subjected to a second processing based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block; wherein, the second processing includes upsampling and related processing of a preset processing mode, or downsampling and related processing of a preset processing mode; Based on the result of the second processing, the processed value of the first image component of the current block is obtained; wherein the resolution of the processed first image component of the current block is the same as the resolution of the second image component of the current block.

[0045] It should also be noted that when the first image component is processed and the resolution is adjusted using a preset processing mode, the processed value of the first image component for the current block can be obtained after simultaneously performing the first processing and resolution adjustment. That is, if the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, then a second processing can be performed on the first image component based on the reference value of the first image component and / or the reference value of the second image component of the current block. This second processing integrates the first processing and resolution adjustment methods. The second processing may include upsampling and related processing of the preset processing mode, or downsampling and related processing of the preset processing mode, etc. Thus, based on the result of the second processing, the processed value of the first image component of the current block can be obtained, and the resolution of the processed first image component of the current block is the same as the resolution of the second image component of the current block.

[0046] For example, still assuming the prediction model uses the luminance component to predict the chrominance component, the image component to be predicted is the chrominance component, and the image component to be used is the luminance component. Since the resolutions of the luminance and chrominance components are different, after obtaining the target resolution of the chrominance component, since the resolution of the luminance component does not meet the target resolution, the resolution of the luminance component needs to be adjusted. For example, downsampling the luminance component can make the adjusted resolution of the luminance component meet the target resolution. Conversely, if the chrominance component is used to predict the luminance component, after obtaining the target resolution of the luminance component, since the resolution of the chrominance component does not meet the target resolution, the resolution of the chrominance component needs to be adjusted. For example, upsampling the chrominance component can make the adjusted resolution of the chrominance component meet the target resolution. In addition, if the blue chrominance component is used to predict the red chrominance component, after obtaining the target resolution of the red chrominance component, since the resolution of the blue chrominance component meets the target resolution, there is no need to adjust the resolution of the blue chrominance component, as the resolution of the blue chrominance component already meets the target resolution. In this way, subsequent predictions of image components can be performed at the same resolution.

[0047] Furthermore, after obtaining at least one preprocessed image component, it is also necessary to determine the model parameters of the prediction model based on the at least one preprocessed image component in order to construct the prediction model. Therefore, in some embodiments, for S403, constructing the prediction model based on the at least one preprocessed image component may include: The model parameters of the prediction model are determined based on the processed value of the first image component and the reference value of the second image component. The prediction model is constructed based on the model parameters.

[0048] 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.

[0049] Specifically, the model parameters include the first model parameters (using...). (represented) and second model parameters (using) (This indicates that...) And regarding... and The calculation of the factor can be done in various ways. It can be a preset factor calculation model constructed by the least squares method, a preset factor calculation model constructed by the maximum and minimum values, or even a preset factor calculation model constructed in other ways. The embodiments of this application do not make specific limitations.

[0050] Taking the preset factor calculation model constructed by the least squares method as an example, it can be derived by minimizing the regression error of the neighboring reference pixel values ​​around the current block (such as the neighboring reference values ​​of the first image component and the second image component, which are obtained after preprocessing). Specifically, it is shown in Equation (1): (1) in, This represents the adjacent reference values ​​of the first image components corresponding to the left and top edges of the current block after downsampling. This represents the adjacent reference values ​​of the second image component corresponding to the left and top edges of the current block, where N is the side length of the current block for the second image component. The first model parameters can be obtained through the calculation using equation (1). Second model parameters .

[0051] 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 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 the preset factor calculation model in equation (2): (2) in, and This represents the maximum and minimum values ​​obtained by searching among the adjacent reference values ​​of the first image component corresponding to the left and top edges of the current block after downsampling. and express and The adjacent reference value of the second image component corresponding to the reference pixel at the corresponding position. According to and as well as and The first model parameters can also be obtained through the calculation using equation (2). Second model parameters .

[0052] After obtaining the first model parameters Second model parameters Next, a predictive model can be built. Specifically, based on and Assuming the second image component is predicted based on the first image component, the constructed prediction model is shown in equation (3). (3) in, This indicates the position coordinates of the pixel in the current block. Indicates the horizontal direction. Indicates the vertical direction. This indicates the position coordinates within the current block. The predicted value of the second image component corresponding to the pixel. This indicates the position coordinates (after downsampling) within the same current block. The reconstructed value of the first image component corresponding to the pixel.

[0053] Furthermore, in some embodiments, for S403, after constructing the prediction model, the method may further include: Based on the prediction model, cross-component prediction is performed on the second image component of the current block to obtain the predicted value of the second image component of the current block.

[0054] It should be noted that, according to the prediction model shown in Equation (3), the luminance component can be used to predict the chrominance component, thereby obtaining the predicted value of the chrominance component.

[0055] Specifically, for the current block, after constructing the prediction model, image components can be predicted based on the prediction model. On the one hand, the first image component can be used to predict the second image component, for example, the luminance component can be used to predict the chrominance component, and the predicted value of the chrominance component is obtained. On the other hand, the second image component can also be used to predict the first image component, for example, the chrominance component can be used to predict the luminance component, and the predicted value of the luminance component is obtained. Furthermore, the second image component can also be used to predict the third image component, for example, the blue chrominance component can be used to predict the red chrominance component, and the predicted value of the red chrominance component is obtained. Since the embodiments of this application preprocess at least one image component of the current block before constructing the prediction model to balance the statistical characteristics between the image components before cross-component prediction, and then use the processed image components to construct the prediction model, the prediction efficiency can be improved.

[0056] This embodiment provides an image prediction method, which determines at least one image component of the current block in an image; preprocesses the at least one image component of the current block to obtain a preprocessed at least one image component; and constructs a prediction model based on the preprocessed at least one image component. This prediction model is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thus improving prediction efficiency. In addition, since the predicted values ​​of the image components obtained by using this prediction model are closer to the true values, the prediction residuals of the image components are smaller, resulting in a lower bit rate transmitted during encoding and decoding, and also improving the encoding and decoding efficiency of video images.

[0057] Based on the above Figure 2 or Figure 3 For application scenario examples, see Figure 5 It illustrates a flowchart of another image prediction method provided in an embodiment of this application, which may include: S501: Determine a reference value for the first image component of the current block in the image; wherein, the reference value for the first image component of the current block is the first image component value of the adjacent pixels of the current block; S502: Filter the reference value of the first image component of the current block to obtain the filtered reference value; S503: Calculate the model parameters of the prediction model using the filtered reference values, wherein the prediction model is used to map the value of the first image component of the current block to the value of the second image component of the current block, and the second image component is different from the first image component.

[0058] 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.

[0059] It should also be noted that this image prediction method can be applied to video encoding systems, video decoding systems, and even simultaneously. This application does not impose any specific limitations on the embodiments.

[0060] In this embodiment, a reference value for the first image component of the current block in the image is first determined. The reference value for the first image component of the current block is the value of the first image component of the adjacent pixels of the current block. Then, the reference value for the first image component of the current block is filtered to obtain a filtered reference value. The model parameters of the prediction model are then calculated using the filtered reference value. The prediction model is used to map the value of the first image component of the current block to the value of the second image component of the current block (i.e., the predicted value). The second image component is different from the first image component. In this way, before predicting at least one image component of the current block, filtering is first performed on the at least one image component, which can balance the statistical characteristics of each image component before cross-component prediction, thereby not only improving the prediction efficiency, but also improving the encoding and decoding efficiency of the video image.

[0061] Furthermore, in some embodiments, for S503, calculating the model parameters of the component prediction model using the filtered reference values ​​may include: Perform feature statistics on at least one image component of the image or at least one image component of the current block, wherein the at least one image component includes the first image component and / or the second image component; Based on the results of characteristic statistics, a reference value for the second image component of the current block is obtained; wherein, the reference value for the second image component of the current block is the second image component value of the adjacent pixels of the current block; The model parameters of the prediction model are calculated using the filtered reference value and the reference value of the second image component of the current block.

[0062] It should be noted that different image components have different statistical characteristics, and there are differences in the statistical characteristics between each image component. For example, the luminance component has rich texture characteristics, while the chrominance component tends to be more uniform and flat. The embodiments of this application take into account the differences in statistical characteristics between image components, so as to achieve the purpose of balancing the statistical characteristics of each image component.

[0063] It should also be noted that after considering the differences in statistical characteristics between image components, a reference value for the second image component of the current block is obtained. Then, the model parameters of the prediction model are calculated based on the filtered reference value and the reference value of the second image component of the current block. The prediction model is constructed based on the calculated model parameters. The predicted values ​​of the image components obtained by this prediction model are closer to the true values, resulting in smaller prediction residuals for the image components. This reduces the bit rate transmitted during the encoding and decoding process and improves the encoding and decoding efficiency of video images.

[0064] Furthermore, in some embodiments, for S502, filtering the reference value of the first image component of the current block to obtain the filtered reference value may include: When the resolution of the second image component of the image is different from the resolution of the first image component of the image, a first adjustment process is performed on the reference value of the first image component of the current block to update the reference value of the first image component of the current block. The first adjustment process includes one of the following: downsampling filtering and upsampling filtering. The filtering process is applied to the reference value of the first image component of the current block to obtain the filtered reference value.

[0065] Furthermore, the method may also include: Based on the reference value of the first image component of the current block, the reference 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, dequantization, low-pass filtering, and adaptive filtering.

[0066] Furthermore, in some embodiments, for S502, filtering the reference value of the first image component of the current block to obtain the filtered reference value may include: When the resolution of the second image component of the image is different from the resolution of the first image component of the image, a second adjustment process is performed on the reference value of the second image component of the current block to update the first reference value of the first image component of the current block. The second adjustment process includes downsampling and smoothing filtering, or upsampling and smoothing filtering.

[0067] It should be noted that the resolutions of the image components are not the same. To facilitate the construction of the prediction model, the resolution of the image components needs to be adjusted (including upsampling or downsampling) to achieve the target resolution. Specifically, resolution adjustment, or resolution mapping, maps the resolution of the first image component to the adjusted resolution of the first image component; this can be achieved through upsampling or downsampling.

[0068] It should also be noted that filtering and resolution adjustment of the first image component can be cascaded, for example, resolution adjustment can be performed before or after filtering of the first image component; in addition, filtering and resolution adjustment of the first image component can also be performed in combination (i.e., the first adjustment process).

[0069] Furthermore, in some embodiments, for S503, calculating the model parameters of the component prediction model using the filtered reference values ​​may include: Determine a reference value for the second image component of the current block; wherein, the reference value for the second image component of the current block is the second image component value of the adjacent pixels of the current block; The model parameters of the component prediction model are calculated using the filtered reference value and the reference value of the second image component of the current block.

[0070] Furthermore, in some embodiments, after S503, the method may further include: Based on the prediction model, the value of the first image component of the current block is mapped to obtain the predicted value of the second image component of the current block.

[0071] It should be noted that the reference value of the second image component of the current block can be the second image component value of the adjacent pixels of the current block. In this way, after determining the reference value of the second image component, the model parameters of the prediction model are calculated based on the filtered reference value and the determined reference value of the second image component. The prediction model is constructed based on the calculated model parameters. The predicted value of the image component obtained by the prediction model is closer to the true value, so that the prediction residual of the image component is smaller. 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.

[0072] For example, see Figure 6 This illustrates a schematic diagram of the composition structure of an improved cross-component prediction architecture provided in an embodiment of this application. Figure 6 As shown, in Figure 1Based on the conventional cross-component prediction architecture 10 shown, the improved cross-component prediction architecture 60 may further include a processing unit 610, which is mainly used to perform correlation processing on at least one image component before the cross-component prediction unit 160. The processing unit 610 may be located before or after the resolution adjustment unit 120; for example, in... Figure 6 In this process, the processing unit 610 is located after the resolution adjustment unit 120. By performing relevant processing on the Y component, such as filtering, grouping, value correction, quantization and dequantization, a more accurate prediction model can be constructed, making the predicted U component value closer to the true value.

[0073] based on Figure 6 The improved cross-component prediction architecture 60 shown assumes that the U component is predicted using the Y component. Since the current block 110 of the Y component and the current block 140 of the U component have different resolutions, the resolution adjustment unit 120 is needed to adjust the resolution of the Y component to obtain a Y component with the same resolution as the current block 140 of the U component. 1 The current component is block 130; prior to this, the Y component can be further processed by processing unit 610 to obtain Y. 1 Component current block 130; then use Y 1 The adjacent reference value of the current block 130 The adjacent reference value of the U component in the current block 140 A prediction model 150 can be constructed based on Y. 1 The pixel values ​​of the Y component of the current block 130 are reconstructed and the prediction model 150 is used to predict the image components through the cross-component prediction unit 160 to obtain the predicted value of the U component. Since the Y component has been processed before the cross-component prediction, the predicted value of the U component obtained by the prediction model 150 based on the processed luminance component is closer to the true value, thereby improving the prediction efficiency and also improving the encoding and decoding efficiency of the video image.

[0074] In this embodiment, the resolution adjustment unit 120 and the processing unit 610 can perform cascaded processing of image components (e.g., first perform resolution adjustment through the resolution adjustment unit 120, then perform related processing through the processing unit 610; or first perform related processing through the processing unit 610, then perform resolution adjustment through the resolution adjustment unit 120), and can also perform joint processing of image components (e.g., combine the resolution adjustment unit 120 and the processing unit 610 for processing). Figure 7 As shown, this diagram illustrates the structural composition of another improved cross-component prediction architecture provided in an embodiment of this application. Figure 6Based on the improved cross-component prediction architecture 60 shown, Figure 7 The improved cross-component prediction architecture shown may also include a joint unit 710, but the resolution adjustment unit 120 and the processing unit 610 may be omitted. That is, the joint unit 710 includes the functions of the resolution adjustment unit 120 and the processing unit 610, and can not only adjust the resolution of at least one image component, but also perform related processing on at least one image component, such as filtering, grouping, value correction, quantization and dequantization. This can also build a more accurate prediction model 150. The predicted U component value obtained by using the prediction model 150 is closer to the true value, thereby improving the prediction efficiency and the encoding and decoding efficiency of video images.

[0075] In addition, in this embodiment, when the image prediction method is applied to the encoder side, the model parameters of the prediction model can be calculated based on the reference values ​​of the image component to be predicted 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; the bitstream is transmitted from the encoder side to the decoder side; correspondingly, when the image prediction method is applied to the decoder side, the model parameters of the prediction model can be obtained by parsing the bitstream, thereby constructing the prediction model, and using the prediction model to perform cross-component prediction processing on at least one image component of the current block.

[0076] This embodiment provides an image prediction method. It determines a reference value for a first image component of the current block in an image. The reference value for the first image component of the current block is the value of the first image component of the adjacent pixels of the current block. The reference value for the first image component of the current block is filtered to obtain a filtered reference value. The filtered reference value is used to calculate the model parameters of a prediction model. This prediction model maps the value of the first image component of the current block to the value of a second image component of the current block, where the second image component is different from the first image component. Thus, before predicting at least one image component of the current block, preprocessing the at least one image component first can balance the statistical characteristics of each image component before cross-component prediction, improving prediction efficiency. Furthermore, since the predicted values ​​of the image components obtained using this prediction model are closer to the true values, the prediction residuals of the image components are smaller, resulting in a lower bit rate transmitted during encoding and decoding, and also improving the encoding and decoding efficiency of video images.

[0077] Based on the same inventive concept as the foregoing embodiments, see [link to previous document]. Figure 8 This diagram illustrates the structural composition of an encoder 80 according to an embodiment of this application. The encoder 80 may include: a first determining unit 801, a first processing unit 802, and a first constructing unit 803, wherein... The first determining unit 801 is configured to determine at least one image component of the current block in the image; The first processing unit 802 is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component. The first construction unit 803 is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0078] In the above scheme, see [reference] Figure 8 The encoder 80 may further include a first statistical unit 804 and a first acquisition unit 805, wherein, The first statistical unit 804 is configured to perform characteristic statistics on at least one image component of the current block; wherein the at least one image component includes a first image component and / or a second image component; The first acquisition unit 805 is configured to acquire a reference value of a first image component of the current block and / or a reference value of a second image component of the current block based on the result of characteristic statistics; wherein, the first image component is the component used for prediction when constructing the prediction model, and the second image component is the component predicted when constructing the prediction model.

[0079] In the above scheme, the first processing unit 802 is further configured to perform a first processing on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of 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. The first acquisition unit 805 is further configured to obtain the processing value of the first image component of the current block based on the result of the first processing.

[0080] In the above scheme, see [reference] Figure 8 The encoder 80 may further include a first adjustment unit 806 and a first update unit 807, wherein, The first adjustment unit 806 is configured to adjust the resolution of the first image component when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein the resolution adjustment includes upsampling adjustment or downsampling adjustment. The first update unit 807 is configured to update the reference value of the first image component of the current block based on the adjusted resolution of the first image component; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0081] In the above scheme, the first adjustment unit 806 is further configured to adjust the resolution of the first image component when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein, the resolution adjustment includes upsampling adjustment or downsampling adjustment; The first updating unit 807 is further configured to update the processing value of the first image component of the current block based on the adjusted resolution of the first image component; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0082] In the above scheme, the first adjustment unit 806 is further configured to perform a second processing on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein, the second processing includes related processing of upsampling and preset processing mode, or related processing of downsampling and preset processing mode; The first acquisition unit 805 is further configured to obtain a processing value of the first image component of the current block based on the result of the second processing; wherein the resolution of the first image component of the current block after processing is the same as the resolution of the second image component of the current block.

[0083] In the above scheme, the first determining unit 801 is further configured to determine the model parameters of the prediction model based on the processed value of the first image component and the reference value of the second image component. The first construction unit 803 is configured to construct the prediction model based on the model parameters.

[0084] In the above scheme, see [reference] Figure 8 The encoder 80 may further include a first prediction unit 808, configured to perform cross-component prediction on the second image component of the current block according to the prediction model, to obtain the predicted value of the second image component of the current block.

[0085] 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.

[0086] 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.

[0087] 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.

[0088] Based on the composition of the encoder 80 and the computer storage medium described above, see [link to documentation]. Figure 9 This illustrates the specific hardware structure of the encoder 80 provided in this embodiment, which may include: a first communication interface 901, a first memory 902, and a first processor 903; the various components are coupled together through a first bus system 904. It is understood that the first bus system 904 is used to implement communication between these components. In addition to a data bus, the first bus system 904 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 9 The lieutenant general designated all buses as the first bus system, 904. Among them, The first communication interface 901 is used for receiving and sending signals during the process of sending and receiving information with other external network elements; The first memory 902 is used to store computer programs that can run on the first processor 903; The first processor 903 is configured to, when running the computer program, perform: Determine at least one image component of the current block in the image; At least one image component of the current block is preprocessed to obtain at least one preprocessed image component; A prediction model is constructed based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0089] It is understood that the first memory 902 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 Synchronous DRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The first memory 902 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.

[0090] The first processor 903 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 903 or by instructions in software form. The first processor 903 can 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 can 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 can 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 902. The first processor 903 reads the information in the first memory 902 and, in conjunction with its hardware, completes the steps of the above method.

[0091] 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.

[0092] Alternatively, as another embodiment, the first processor 903 is further configured to perform the method described in any of the foregoing embodiments when running the computer program.

[0093] This embodiment provides an encoder, which may include a first determining unit, a first processing unit, and a first constructing unit. The first determining unit is configured to determine at least one image component of a current block in an image; the first processing unit is configured to preprocess the at least one image component of the current block to obtain a preprocessed at least one image component; the first constructing unit is configured to construct a prediction model based on the preprocessed at least one image component, which is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby improving prediction efficiency and also improving the encoding and decoding efficiency of video images.

[0094] Based on the same inventive concept as the foregoing embodiments, see [link to previous document]. Figure 10 This illustration shows a schematic diagram of the composition structure of a decoder 100 provided in an embodiment of this application. The decoder 100 may include a second determining unit 1001, a second processing unit 1002, and a second constructing unit 1003, wherein... The second determining unit 1001 is configured to determine at least one image component of the current block in the image; The second processing unit 1002 is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component; The second construction unit 1003 is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0095] In the above scheme, see [reference] Figure 10 The decoder 100 may further include a second statistical unit 1004 and a second acquisition unit 1005, wherein, The second statistical unit 1004 is configured to perform characteristic statistics on at least one image component of the current block; wherein the at least one image component includes a first image component and / or a second image component; The second acquisition unit 1005 is configured to acquire, based on the result of characteristic statistics, a reference value of the first image component of the current block and / or a reference value of the second image component of the current block; wherein, the first image component is the component used for prediction when constructing the prediction model, and the second image component is the component predicted when constructing the prediction model.

[0096] In the above scheme, the second processing unit 1002 is further configured to perform a first processing on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of 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. The second acquisition unit 1005 is further configured to obtain the processing value of the first image component of the current block based on the result of the first processing.

[0097] In the above scheme, see [reference] Figure 10 The decoder 100 may further include a second adjustment unit 1006 and a second update unit 1007, wherein, The second adjustment unit 1006 is configured to adjust the resolution of the first image component when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein the resolution adjustment includes upsampling adjustment or downsampling adjustment. The second update unit 1007 is configured to update the reference value of the first image component of the current block based on the adjusted resolution of the first image component; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0098] In the above scheme, the second adjustment unit 1006 is further configured to adjust the resolution of the first image component when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein, the resolution adjustment includes upsampling adjustment or downsampling adjustment; The second update unit 1007 is further configured to update the processing value of the first image component of the current block based on the adjusted resolution of the first image component; wherein the adjusted resolution of the first image component is the same as the resolution of the second image component.

[0099] In the above scheme, the second adjustment unit 1006 is further configured to perform a second processing on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block; wherein, the second processing includes related processing of upsampling and preset processing mode, or related processing of downsampling and preset processing mode; The second acquisition unit 1005 is further configured to obtain the processing value of the first image component of the current block based on the result of the second processing; wherein the resolution of the first image component of the current block after processing is the same as the resolution of the second image component of the current block.

[0100] In the above scheme, the second construction unit 1003 is configured to parse the code stream and construct the prediction model based on the model parameters obtained from the parsing.

[0101] In the above scheme, see [reference] Figure 10 The decoder 100 may further include a second prediction unit 1008, configured to perform cross-component prediction on the second image component of the current block according to the prediction model, to obtain the predicted value of the second image component of the current block.

[0102] 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.

[0103] 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.

[0104] Based on the composition of the decoder 100 and the computer storage medium described above, see [link to documentation]. Figure 11 This illustrates the specific hardware structure of the decoder 100 provided in this embodiment, which may include: a second communication interface 1101, a second memory 1102, and a second processor 1103; the various components are coupled together through a second bus system 1104. It is understood that the second bus system 1104 is used to implement communication between these components. In addition to a data bus, the second bus system 1104 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 11 The various buses are all labeled as the second bus system 1104. Among them, The second communication interface 1101 is used for receiving and sending signals during the process of sending and receiving information with other external network elements; The second memory 1102 is used to store computer programs that can run on the second processor 1103; The second processor 1103 is configured to, when running the computer program, perform: Determine at least one image component of the current block in the image; At least one image component of the current block is preprocessed to obtain at least one preprocessed image component; A prediction model is constructed based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

[0105] Alternatively, as another embodiment, the second processor 1103 is also configured to perform the method described in any of the foregoing embodiments when running the computer program.

[0106] It is understood that the second memory 1102 has similar hardware functions to the first memory 902, and the second processor 1103 has similar hardware functions to the first processor 903; these will not be described in detail here.

[0107] This embodiment provides a decoder, which may include a second determining unit, a second processing unit, and a second constructing unit. The second determining unit is configured to determine at least one image component of a current block in an image; the second processing unit is configured to preprocess the at least one image component of the current block to obtain a preprocessed at least one image component; the second constructing unit is configured to construct a prediction model based on the preprocessed at least one image component, which is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby improving prediction efficiency and also improving the encoding and decoding efficiency of video images.

[0108] 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.

[0109] 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.

[0110] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0111] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0112] 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.

[0113] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0114] Industrial applicability In this embodiment, at least one image component of the current block in the image is first determined; then, the at least one image component of the current block is preprocessed to obtain at least one preprocessed image component; then, a prediction model is constructed based on the at least one preprocessed image component, which is used to perform cross-component prediction processing on the at least one image component of the current block; thus, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby improving prediction efficiency; in addition, since the predicted values ​​of the image components obtained by using this prediction model are closer to the true values, the prediction residuals of the image components are smaller, resulting in a lower bit rate transmitted during encoding and decoding, and also improving the encoding and decoding efficiency of video images.

Claims

1. A method of transmitting a code stream, comprising: The method comprises the following steps: determining a reference value of a first image component of a current block; wherein the reference value of the first image component of the current block is a first image component value of a neighboring pixel of the current block; filtering the reference value of the first image component of the current block to obtain a filtered reference value; calculating a model parameter of a prediction model using the filtered reference value and a second image component value of the neighboring pixel, wherein the prediction model is used to map a value of the first image component of the current block to a predicted value of a second image component of the current block, and the second image component is different from the first image component; wherein the value of the first image component of the current block is obtained by filtering a reconstructed pixel value of the first image component of the current block.

2. The method of claim 1, wherein, The method further comprises: filtering the first image component of the current block.

3. The method of claim 1, wherein, The calculation of the model parameter of the prediction model using the filtered reference value comprises: obtaining a reference value of the second image component of the current block; wherein the reference value of the second image component of the current block is a second image component value of the neighboring pixel of the current block; calculating the model parameter of the prediction model using the filtered reference value and the reference value of the second image component of the current block.

4. The method of claim 1, wherein, The filtering of the reference value of the first image component of the current block to obtain the filtered reference value comprises: when the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a first adjustment processing on the reference value of the first image component of the current block to update the reference value of the first image component of the current block, wherein the first adjustment processing comprises one of the following: downsampling filtering; filtering the reference value of the first image component of the current block to obtain the filtered reference value.

5. The method of claim 1 or 4, wherein, The method further comprises: filtering the reference value of the first image component of the current block according to a preset processing mode; wherein the preset processing mode at least comprises one of the following: filtering processing, grouping processing.

6. The method of claim 1, wherein, The filtering of the reference value of the first image component of the current block to obtain the filtered reference value comprises: when the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a second adjustment processing on the reference value of the second image component of the current block to update the reference value of the second image component of the current block, wherein the second adjustment processing comprises: downsampling.

7. The method of claim 1, wherein, The method further comprises: mapping the value of the first image component of the current block according to the prediction model to obtain the predicted value of the second image component of the current block.

8. A method of receiving a code stream, comprising: receiving a code stream and decoding the code stream to generate a video or an image using an image prediction method, wherein the image prediction method comprises: determining a reference value of a first image component of a current block; wherein the reference value of the first image component of the current block is a first image component value of a neighboring pixel of the current block; filtering the reference value of the first image component of the current block to obtain a filtered reference value; calculating a model parameter of a prediction model using the filtered reference value and a second image component value of the neighboring pixel, wherein the prediction model is used to map a value of the first image component of the current block to a predicted value of a second image component of the current block, the second image component being different from the first image component; wherein the value of the first image component of the current block is obtained by filtering a reconstructed pixel value of the first image component of the current block.

9. The method of claim 8, wherein, The method further comprises: filtering the first image component of the current block.

10. The method of claim 8, wherein, The calculating the model parameter of the prediction model using the filtered reference value comprises: obtaining a reference value of the second image component of the current block; wherein the reference value of the second image component of the current block is a second image component value of the neighboring pixel of the current block; calculating the model parameter of the prediction model using the filtered reference value and the reference value of the second image component of the current block.

11. The method of claim 8, wherein, The filtering the reference value of the first image component of the current block to obtain a filtered reference value comprises: when a resolution of the second image component of the image is different from a resolution of the first image component of the image, performing a first adjustment processing on the reference value of the first image component of the current block to update the reference value of the first image component of the current block, wherein the first adjustment processing comprises one of the following: down-sampling filtering; filtering the reference value of the first image component of the current block to obtain the filtered reference value.

12. The method of claim 8 or 11, wherein, The method further comprises: filtering the reference value according to a preset processing mode based on the reference value of the first image component of the current block; wherein the preset processing mode comprises at least one of the following: filtering processing, grouping processing.

13. The method of claim 8, wherein, The filtering the reference value of the first image component of the current block to obtain a filtered reference value comprises: when a resolution of the second image component of the image is different from a resolution of the first image component of the image, performing a second adjustment processing on the reference value of the second image component of the current block to update the reference value of the second image component of the current block, wherein the second adjustment processing comprises: down-sampling.

14. The method of claim 8, wherein, The method further comprises: mapping the value of the first image component of the current block to obtain the predicted value of the second image component of the current block according to the prediction model.

15. A computer storage medium, wherein, The computer storage medium stores an image prediction program and a code stream, the image prediction program is executed by a first processor to implement an image prediction method to generate the code stream, wherein the image prediction method comprises: determining a reference value of a first image component of a current block; wherein the reference value of the first image component of the current block is a first image component value of a neighboring pixel of the current block; filtering the reference value of the first image component of the current block to obtain a filtered reference value; filtering a reference value of a first image component of the current block to obtain a filtered reference value; calculating a model parameter of a prediction model by using the filtered reference value and a second image component value of the neighboring pixel, wherein the prediction model is used to map a value of the first image component of the current block to a prediction value of a second image component of the current block, and the second image component is different from the first image component; and wherein the value of the first image component of the current block is obtained by filtering a reconstructed pixel value of the first image component of the current block.

16. The method of claim 15, wherein, The method further comprises: filtering the first image component of the current block.

17. The method of claim 15, wherein, The calculating the model parameter of the prediction model by using the filtered reference value comprises: obtaining a reference value of a second image component of the current block; wherein the reference value of the second image component of the current block is a second image component value of a neighboring pixel of the current block; calculating the model parameter of the prediction model by using the filtered reference value and the reference value of the second image component of the current block.

18. The method of claim 15, wherein, The filtering the reference value of the first image component of the current block to obtain the filtered reference value comprises: when the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a first adjustment processing on the reference value of the first image component of the current block to update the reference value of the first image component of the current block, wherein the first adjustment processing comprises one of downsampling filtering. The filtering the reference value of the first image component of the current block to obtain the filtered reference value.

19. The method of claim 15 or 18, wherein, The method further comprises: filtering the reference value according to a preset processing mode based on the reference value of the first image component of the current block; wherein the preset processing mode comprises at least one of filtering processing and grouping processing.

20. The method of claim 15, wherein, The filtering the reference value of the first image component of the current block to obtain the filtered reference value comprises: when the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a second adjustment processing on the reference value of the second image component of the current block to update the reference value of the second image component of the current block, wherein the second adjustment processing comprises downsampling.

21. The method of claim 15, wherein, The method further comprises: mapping the value of the first image component of the current block to obtain the prediction value of the second image component of the current block according to the prediction model.