Image prediction method, encoder, decoder, and storage medium
By preprocessing image components and constructing prediction models, the problem of failing to consider statistical characteristic differences in cross-component prediction is solved, thereby improving prediction efficiency and encoding/decoding efficiency.
Patent Information
- Application Number
- CN202511702174.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-25
- Filing Date
- 2019-10-12
- Publication Date
- 2026-02-06
AI Technical Summary
Existing cross-component prediction techniques fail to adequately consider the differences in statistical characteristics between components in video coding, resulting in low prediction efficiency.
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 construct the prediction model.
It improves prediction efficiency and video image encoding/decoding efficiency, and reduces the bit rate during the encoding/decoding process.
Smart Images

Figure CN121486565A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of video coding, and particularly relate to an image prediction method, an encoder, a decoder and a storage medium. BACKGROUND
[0002] In the latest video coding standard H.266 / Versatile Video Coding (VVC), the existence of cross-component prediction has been allowed; and Cross-component Linear Model Prediction (CCLM) is one of the typical cross-component prediction techniques. With the cross-component prediction technique, one component can be predicted (or its residual) by another component, such as a luma component predicting a chroma component, or a chroma component predicting a luma component, or a chroma component predicting a chroma component, etc.
[0003] Different components have different statistical characteristics, so that there are differences in statistical characteristics between components. However, when component prediction is performed, the existing cross-component prediction techniques do not consider comprehensively, resulting in low prediction efficiency. SUMMARY
[0004] Embodiments of the present application provide an image prediction method, an encoder, a decoder and a storage medium, by balancing the statistical characteristics of each component before cross-component prediction, so as to not only improve the prediction efficiency, but also improve the coding efficiency of video images.
[0005] The technical solutions of the embodiments of the present application can be implemented as follows: In a first aspect, the embodiments of the present application provide an image prediction method applied to an encoder or a decoder, and the method comprises: determining at least one image component of a current block in an image; preprocessing the at least one image component of the current block to obtain a preprocessed at least one image component; constructing a prediction model according to the preprocessed at least one image component; wherein the prediction model is used for cross-component prediction processing of the at least one image component of the current block.
[0006] In a second aspect, the embodiments of the present application provide an image prediction method applied to an encoder or a decoder, and the method comprises: determining a reference value of a first image component of a current block in an image; 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; calculate model parameters of a prediction model, wherein the prediction model is used to map a value of a first image component of the current block to a value of a second image component of the current block, the second image component being different from the first image component.
[0007] In a third aspect, an encoder is provided, 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 a current block in an image. The first processing unit is configured to pre-process the at least one image component of the current block to obtain a pre-processed at least one image component. The first constructing unit is configured to construct a prediction model according to the pre-processed at least one image component, wherein the prediction model is used to perform cross-component prediction processing on the at least one image component of the current block.
[0008] In a fourth aspect, an encoder is provided, which includes a first memory and a first processor, wherein, The first memory is configured to store a computer program capable of running on the first processor. The first processor is configured to execute the method according to the first aspect or the second aspect when the computer program is running.
[0009] In a fifth aspect, a decoder is provided, 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 a current block in an image. The second processing unit is configured to pre-process the at least one image component of the current block to obtain a pre-processed at least one image component. The second constructing unit is configured to construct a prediction model according to the pre-processed at least one image component, wherein the prediction model is used to perform cross-component prediction processing on the at least one image component of the current block.
[0010] In a sixth aspect, a decoder is provided, which includes a second memory and a second processor, wherein, The second memory is configured to store a computer program capable of running on the second processor. The second processor is configured to execute the method according to the first aspect or the second aspect when the computer program is running.
[0011] In a seventh aspect, an embodiment of the present application provides a computer storage medium storing an image prediction program, which, when executed by a first processor or a second processor, implements the method according to the first aspect or the second aspect.
[0012] The embodiments of the present application provide an image prediction method, an encoder, a decoder and a storage medium. At least one image component of a current block in an image is determined. The at least one image component of the current block is preprocessed to obtain preprocessed at least one image component. A prediction model is constructed according to the preprocessed at least one image component, and the prediction model is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, the at least one image component is preprocessed before prediction, which can balance the statistical characteristics of the image components before cross-component prediction, thereby improving the prediction efficiency. In addition, the predicted value of the image component obtained by using the prediction model is closer to the true value, so that the prediction residual of the image component is smaller. In this way, the bit rate transmitted in the encoding and decoding process is less, and the encoding and decoding efficiency of the video image is improved. BRIEF DESCRIPTION OF DRAWINGS
[0013] Figure 1 A schematic diagram of a component structure of a conventional cross-component prediction architecture is provided for the embodiments of the present application. Figure 2 A schematic diagram of a component block diagram of a video encoding system is provided for the embodiments of the present application. Figure 3 A schematic diagram of a component block diagram of a video decoding system is provided for the embodiments of the present application. Figure 4 A schematic diagram of a flow of an image prediction method is provided for the embodiments of the present application. Figure 5 A schematic diagram of a flow of another image prediction method is provided for the embodiments of the present application. Figure 6 A schematic diagram of a component structure of an improved cross-component prediction architecture is provided for the embodiments of the present application. Figure 7 A schematic diagram of a component structure of another improved cross-component prediction architecture is provided for the embodiments of the present application. Figure 8 A schematic diagram of a component structure of an encoder is provided for the embodiments of the present application. Figure 9 A schematic diagram of a specific hardware structure of an encoder is provided for the embodiments of the present application. Figure 10 A schematic diagram of a component structure of a decoder is provided for the embodiments of the present application. Figure 11A specific hardware structure diagram of a decoder provided by an embodiment of the present application is shown. DETAILED DESCRIPTION
[0014] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below with reference to the accompanying drawings, which are only used for reference and do not limit the embodiments of the present application.
[0015] In a video image, a first image component, a second image component and a third image component are generally used to represent a coding block; wherein the three image components are respectively a luminance component, a blue chrominance component and a red chrominance component, 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; in this way, the video image can be represented in YCbCr format or YUV format.
[0016] In the embodiments of the present application, the first image component can be a luminance component, the second image component can be a blue chrominance component, and the third image component can be a red chrominance component, but the embodiments of the present application are not limited in this regard.
[0017] In order to further improve the coding and decoding performance, the H.266 / VCC proposes a cross-component prediction technology based on CCLM. Among them, the cross-component prediction technology based on CCLM can not only realize the prediction from the luminance component to the chrominance component, i.e. the prediction from the first image component to the second image component or the prediction from the first image component to the third image component, but also realize the prediction from the chrominance component to the luminance component, i.e. the prediction from the second image component to the first image component or the prediction from the third image component to the first image component, and even realize the prediction between the chrominance components, i.e. the prediction from the second image component to the third image component or the prediction from the third image component to the second image component, etc. In the embodiments of the present application, the following will take the prediction from the first image component to the second image component as an example for description, but the technical solutions of the embodiments of the present application can also be applied to the prediction of other image components.
[0018] Referring to Figure 1 which shows a composition structure diagram of a traditional cross-component prediction architecture provided by an embodiment of the present application. As shown in Figure 1As shown, the second image component (e.g. represented by U component) is predicted by the first image component (e.g. represented by Y component); assuming the video image is in YUV 4:2:0 format, the Y component and U component have different resolutions, in this case, the Y component needs to be down-sampled or the U component needs to be up-sampled to reach the target resolution of the component to be predicted, so that the prediction can be performed between the components at the same resolution. In this example, the method of predicting the third image component (e.g. represented by V component) using the Y component is the same.
[0019] In Figure 1 , the conventional cross-component prediction architecture 10 can include a Y component coding block (or current block) 110, a resolution adjustment unit 120, a Y 1 component coding block (or current block) 130, a U component coding block (or current block) 140, a prediction model 150, a cross-component prediction unit 160. Among them, the Y component of the video image is represented by a Y component coding block 110 of 2N×2N size, here the larger box in bold is used to highlight the indication of the Y component coding block 110, and the surrounding gray solid circle is used to indicate the adjacent reference value of the Y component coding block 110; the U component of the video image is represented by a U component coding block 140 of N×N size, here the larger box in bold is used to highlight the indication of the U component coding block 140, and the surrounding gray solid circle is used to indicate 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 a Y 1 component coding block 130 of N×N size; for the Y 1 component coding block 130, here the larger box in bold is used to highlight the indication of the Y 1 component coding block 130, and the surrounding gray solid circle is used to indicate the adjacent reference value 1 of the Y 1 component coding block 130; the adjacent reference value of the Y 1 component coding block 130 and the adjacent reference value of the U component coding block 140 can be used to construct the prediction model 150; according to the Y component reconstructed pixel value of the Y 1 component coding block 130 and the prediction model 150, the cross-component prediction unit 160 can be used for component prediction, and finally output the U component prediction value.
[0020] The traditional cross-component prediction architecture 10 is not comprehensive in considering the image component prediction, for example, the difference of the statistical characteristics between the image components is not considered, which results in low prediction efficiency. In order to improve the prediction efficiency, the embodiments of the present application provide an image prediction method, which first determines at least one image component of a current block in an image; then pre-processes the at least one image component of the current block to obtain at least one pre-processed image component; and then constructs a prediction model according to the at least one pre-processed image component, the prediction model being used for cross-component prediction processing of the at least one image component of the current block. In this way, before the prediction of the at least one image component of the current block, the at least one image component is pre-processed first, which can balance the statistical characteristics of the image components before the cross-component prediction, thereby not only improving the prediction efficiency, but also improving the coding and decoding efficiency of the video image.
[0021] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0022] Referring to Figure 2 which shows an example of a component block diagram of a video coding system provided by the embodiments of the present application; as Figure 2As shown, the video coding system 20 includes a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filter unit 208, an encoding unit 209 and a decoded picture buffer unit 210, etc. The filter unit 208 can implement deblocking filter and sample adaptive offset (SAO) filter, and the encoding unit 209 can implement header information encoding and context-based adaptive binary arithmatic coding (CABAC). For an input original video signal, a coding tree unit (CTU) can be divided to obtain a coding block, and then the residual pixel information obtained after intra or inter prediction is transformed by the transform and quantization unit 201 to the coding block, including transforming the residual information from the pixel domain to the transform domain, and quantizing the obtained transform coefficients to further reduce the bit rate. The intra estimation unit 202 and the intra prediction unit 203 are used for intra prediction of the coding block. Specifically, the intra estimation unit 202 and the intra prediction unit 203 are used to determine the intra prediction mode to be used to encode the coding block. The motion compensation unit 204 and the motion estimation unit 205 are used to perform inter prediction encoding of the received coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by the motion estimation unit 205 is a process of generating a motion vector that can estimate the motion of the coding block, and then the motion compensation is performed by the motion compensation unit 204 based on the motion vector determined by the motion estimation unit 205. After determining the intra prediction mode, the intra prediction unit 203 is also used to provide the selected intra prediction data to the encoding unit 209, and the motion estimation unit 205 also sends the calculated determined motion vector data to the encoding unit 209. In addition, the inverse transform and inverse quantization unit 206 is used for reconstruction of the coding block to reconstruct the residual block in the pixel domain, and the blocking artifact is removed by the filter control analysis unit 207 and the filter unit 208, and then the reconstructed residual block is added to a predictive block in one of the frames of the decoded picture buffer unit 210 to generate a reconstructed video block. The encoding unit 209 is used to encode various encoding parameters and quantized transform coefficients. In the CABAC-based encoding algorithm, the context content can be based on the adjacent coding block, which can be used to encode the information indicating the determined intra prediction mode, and output the code stream of the video signal. The decoded picture buffer unit 210 is used to store the reconstructed video block for prediction reference.As the video image encoding is carried out, new reconstructed video blocks are continuously generated, which are stored in the decoded image buffer unit 210.
[0023] Referring to Figure 3 , a constituent block diagram of a video decoding system is shown; as Figure 3 shown, the video decoding system 30 includes a decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305, and a decoded image buffer unit 306, etc., wherein the decoding unit 301 can realize header information decoding and CABAC decoding, and the filtering unit 305 can realize deblocking filtering and SAO filtering. After the input video signal is subjected to the encoding processing of Figure 2 , the code stream of the video signal is output; the code stream is input into the video decoding system 30, and first passes through the decoding unit 301 to obtain the decoded transform coefficients; the transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate the residual blocks in the pixel domain; the intra prediction unit 303 can be used to generate the prediction data of the current video block to be decoded based on the determined intra prediction mode and the data from the previously decoded blocks of the current frame or picture; the motion compensation unit 304 determines the prediction information for the video block to be decoded by parsing the motion vectors and other associated syntax elements, and uses the prediction information to generate the predictive block 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 and the corresponding predictive block generated by the intra prediction unit 303 or the motion compensation unit 304; the decoded video block passes through the filtering unit 305 to remove the blockiness artifacts, which can improve the video quality; then the decoded video block is stored in the decoded image buffer unit 306, which stores the reference images for subsequent intra prediction or motion compensation, and also for the output of the video signal, i.e., the original video signal is recovered.
[0024] The embodiments of the present application are mainly applied to the intra prediction unit 203 part as Figure 2 shown and the intra prediction unit 303 part as Figure 3 shown; that is, the embodiments of the present application can be applied to the video encoding system and the video decoding system, and the embodiments of the present application are not specifically limited.
[0025] Based on the above Figure 2 or Figure 3 application scenario examples, referring to Figure 4 , a flowchart of an image prediction method is shown, which can include: S401: determining at least one image component of a current block in an image; S402: pre-processing the at least one image component of the current block to obtain pre-processed at least one image component; S403: constructing a prediction model according to the pre-processed at least one image component; wherein the prediction model is used for cross-component prediction processing of the at least one image component of the current block.
[0026] It should be noted that the video image can be divided into a plurality of image blocks, and each current image block to be encoded can be referred to as an encoding block. Each encoding block can include a first image component, a second image component and a third image component. The current block is an encoding block in which the first image component, the second image component or the third image component prediction is currently performed.
[0027] It should be further noted that the image prediction method of the embodiments of the present application can be applied to a video encoding system, a video decoding system, or both, and the embodiments of the present application are not limited in this regard.
[0028] In the embodiments of the present application, at least one image component of a current block in an image is first determined. Then, the at least one image component of the current block is pre-processed to obtain pre-processed at least one image component. Then, a prediction model is constructed according to the pre-processed at least one image component, which is used for cross-component prediction processing of the at least one image component of the current block. In this way, before predicting the at least one image component of the current block, the at least one image component is pre-processed first, 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.
[0029] Further, 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 uniform and flat. The embodiments of the present application can consider the difference in statistical characteristics between image components to balance the statistical characteristics of each image component. Therefore, in some embodiments, after determining the at least one image component of the current block in the image, the method can further include: performing statistical analysis on the 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; According to the result of the statistical analysis, 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 are obtained; wherein the first image component is a component used for prediction when the prediction model is constructed, and the second image component is a component predicted when the prediction model is constructed.
[0030] It should be noted that the at least one image component of the current block can be the first image component, or the second image component, or even the first image component and the second image component. The first image component is a component used for prediction when the prediction model is constructed, which can also be referred to as a reference image component; the second image component is a component predicted when the prediction model is constructed, which can also be referred to as a predicted image component.
[0031] Suppose that the prediction of the chrominance component by the luminance component is realized by the prediction model, then the component used for prediction when the prediction model is constructed is the luminance component, and the component predicted when the prediction model is constructed is the chrominance component, i.e. the first image component is the luminance component, and the second image component is the chrominance component; or suppose that the prediction of the luminance component by the chrominance component is realized by the prediction model, then the component used for prediction when the prediction model is constructed is the chrominance component, and the component predicted when the prediction model is constructed is the luminance component, i.e. the first image component is the chrominance component, and the second image component is the luminance component.
[0032] In this way, by performing statistical analysis on the at least one image component of the current block, according to the result of the statistical analysis, 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 can be obtained.
[0033] Further, in order to improve the prediction efficiency, the statistical characteristic difference between the image components can be considered. That is, before performing cross-component prediction on the at least one image component by the prediction model, the at least one image component can also be preprocessed according to the statistical characteristics of the image components, such as filtering processing, grouping processing, value correction processing, quantization processing or dequantization processing, etc. Therefore, in some embodiments, for S402, the preprocessing of the at least one image component of the current block to obtain the preprocessed at least one image component can include: performing 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 by using a preset processing mode; wherein the preset processing mode at least includes one of the following: filtering processing, grouping processing, value correction processing, quantization processing and dequantization processing; obtaining a processed value of the first image component of the current block according to the result of the first processing.
[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 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. An image prediction method applied to an encoder, 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 predicted value of the second image component of the current block, and the second image component is different from the first image component.
2. The method according to claim 1, wherein, The method further includes: The first image component of the current block is filtered.
3. The method according to claim 1, wherein, The calculation of model parameters for the prediction model using the filtered reference values includes: Obtain 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 pixel 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.
4. The method according to claim 1, wherein, The step of filtering the reference value of the first image component of the current block to obtain the filtered reference value includes: 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, wherein the first adjustment process includes one of the following: downsampling filtering; The reference value of the first image component of the current block is subjected to the filtering process to obtain the filtered reference value.
5. The method according to claim 1 or 4, wherein, The method further includes: 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 processing and grouping processing.
6. The method according to claim 1, wherein, The step of filtering the reference value of the first image component of the current block to obtain the filtered reference value includes: 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 reference value of the second image component of the current block, wherein the second adjustment process includes: downsampling.
7. The method according to claim 1, wherein, The method further includes: 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.
8. An image prediction method applied to a 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 predicted value of the second image component of the current block, and the second image component is different from the first image component.
9. The method according to claim 8, wherein, The method further includes: The first image component of the current block is filtered.
10. The method according to claim 8, wherein, The calculation of model parameters for the prediction model using the filtered reference values includes: Obtain 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 pixel 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.
11. The method according to claim 8, wherein, The step of filtering the reference value of the first image component of the current block to obtain the filtered reference value includes: 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, wherein the first adjustment process includes one of the following: downsampling filtering; The reference value of the first image component of the current block is subjected to the filtering process to obtain the filtered reference value.
12. The method according to claim 8 or 11, wherein, The method further includes: 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 processing and grouping processing.
13. The method according to claim 8, wherein, The step of filtering the reference value of the first image component of the current block to obtain the filtered reference value includes: 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 reference value of the second image component of the current block, wherein the second adjustment process includes: downsampling.
14. The method according to claim 8, wherein, The method further includes: 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.
15. A computer storage medium, wherein, The computer storage medium stores an image prediction program and a bitstream, wherein the image prediction program, when executed by the first processor, implements the method as described in any one of claims 1 to 7 to generate the bitstream.