Image prediction method, encoder, decoder and storage medium

MY214680AActive Publication Date: 2026-08-07GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
MYPI2021005632
Authority / Receiving Office
MY · MY
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-03-25
Filing Date
2019-10-12
Publication Date
2026-08-07
Estimated Expiration
2039-10-12

AI Technical Summary

Technical Problem

Existing cross-component prediction technology does not take comprehensive considerations into video coding, resulting in low prediction efficiency and inability to fully utilize the statistical property differences between components.

Method used

By preprocessing the image components, balancing their statistical properties, and building a prediction model for cross-component prediction processing, ensure that the component properties are adjusted before prediction.

Benefits of technology

It improves the prediction efficiency and the encoding and decoding efficiency of video images, and reduces the prediction residual and bit rate.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Disclosed in embodiments of the present application are an image prediction method, an encoder, a decoder and a storage medium, the method comprising: determining at least one image component of a current block in an image; pre-processing the at least one image component of the current block to obtain a pre-processed at least one image component; on the basis of the pre-processed at least one image component, constructing a prediction model, the prediction model being used to perform cross-component prediction processing on the at least one image component of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

Image prediction method, encoder, decoder and storage medium TECHNICAL FIELD

[0001] The 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 the Cross-component Linear Model Prediction (CCLM) is one of the typical cross-component prediction techniques. By using the cross-component prediction technique, one component (or its residual) can be predicted by another component, such as the chroma component is predicted by the luma component, or the luma component is predicted by the chroma component, or the chroma component is predicted by the chroma component, etc.

[0003] Different components have different statistical characteristics, so that there are differences in statistical characteristics between components. However, when performing component prediction, the existing cross-component prediction techniques are not comprehensive, resulting in low prediction efficiency.

[0004] SUMMARY

[0005] The embodiments of the present application provide an image prediction method, an encoder, a decoder and a storage medium, which balance the statistical characteristics of each component before cross-component prediction, thereby not only improving the prediction efficiency, but also improving the coding efficiency of video images.

[0006] The technical solutions of the embodiments of the present application can be implemented as follows:

[0007] 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:

[0008] determining at least one image component of a current block in an image;

[0009] preprocessing the at least one image component of the current block to obtain a preprocessed at least one image component;

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

[0011] 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:

[0012] 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;

[0013] filtering the reference value of the first image component of the current block to obtain a filtered reference value;

[0014] calculating a model parameter of a prediction model using the filtered reference value, wherein the prediction model is used to map a value of the 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.

[0015] In a third aspect, an encoder is provided, which includes a first determining unit, a first processing unit and a first constructing unit, wherein,

[0016] The first determining unit is configured to determine at least one image component of a current block in an image.

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

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

[0019] In a fourth aspect, an encoder is provided, which includes a first memory and a first processor, wherein,

[0020] The first memory is configured to store a computer program capable of running on the first processor.

[0021] The first processor is configured to execute the method according to the first aspect or the second aspect when running the computer program.

[0022] In a fifth aspect, a decoder is provided, which includes a second determining unit, a second processing unit and a second constructing unit, wherein,

[0023] The second determining unit is configured to determine at least one image component of a current block in an image.

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

[0025] The second constructing unit is configured to construct a prediction model according to the at least one preprocessed image component, wherein the prediction model is used for cross-component prediction processing on the at least one image component of the current block.

[0026] In a sixth aspect, an embodiment of the present application provides a decoder, which comprises a second memory and a second processor, wherein,

[0027] The second memory is configured to store a computer program capable of running on the second processor.

[0028] The second processor is configured to execute the method in the first aspect or the second aspect when the computer program is running.

[0029] In a seventh aspect, an embodiment of the present application provides a computer storage medium, which stores an image prediction program, and the image prediction program is executed by a first processor or a second processor to implement the method in the first aspect or the second aspect.

[0030] 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 at least one preprocessed image component. A prediction model is constructed according to the at least one preprocessed image component, and the prediction model is used for 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 real 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

[0031] FIG. 1 is a structural diagram of a traditional cross-component prediction architecture according to an embodiment of the present application;

[0032] FIG. 2 is a structural diagram of a video encoding system according to an embodiment of the present application;

[0033] FIG. 3 is a structural diagram of a video decoding system according to an embodiment of the present application;

[0034] FIG. 4 is a flow diagram of an image prediction method according to an embodiment of the present application;

[0035] FIG. 5 is a flow diagram of another image prediction method according to an embodiment of the present application;

[0036] FIG. 6 is a schematic diagram of a component structure of an improved cross-component prediction architecture according to an embodiment of the present application;

[0037] FIG. 7 is a schematic diagram of a component structure of another improved cross-component prediction architecture according to an embodiment of the present application;

[0038] FIG. 8 is a schematic diagram of a component structure of an encoder according to an embodiment of the present application;

[0039] FIG. 9 is a schematic diagram of a specific hardware structure of an encoder according to an embodiment of the present application;

[0040] FIG. 10 is a schematic diagram of a component structure of a decoder according to an embodiment of the present application;

[0041] FIG. 11 is a schematic diagram of a specific hardware structure of a decoder according to an embodiment of the present application. DETAILED DESCRIPTION

[0042] In order to enable a person skilled in the art to more fully understand the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings, which are provided for reference only and are not intended to limit the embodiments of the present application.

[0043] 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; the three image components are respectively a luminance component, a blue chroma component and a red chroma component, specifically, the luminance component is usually represented by a symbol Y, the blue chroma component is usually represented by a symbol Cb or U, and the red chroma component is usually represented by a symbol Cr or V; thus, the video image can be represented in YCbCr format or YUV format.

[0044] In the embodiments of the present application, the first image component can be a luminance component, the second image component can be a blue chroma component, and the third image component can be a red chroma component, but the embodiments of the present application are not limited in this regard.

[0045] To further improve the coding performance, the cross-component prediction technology based on CCLM is proposed in H.266 / VCC. Among them, the cross-component prediction technology based on CCLM can not only realize the prediction from the luminance component to the chrominance component, that is, 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, that is, 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, that is, 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, and the like. In the embodiments of the present application, the prediction from the first image component to the second image component will be taken 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.

[0046] Referring to FIG. 1, a schematic diagram of a composition structure of a conventional cross-component prediction architecture is shown. As shown in FIG. 1, the second image component (for example, represented by U component) is predicted by using the first image component (for example, represented by Y component); assuming that the video image adopts YUV as 4:2:0 format, the Y component and the U component have different resolutions, at this time, the Y component needs to be down-sampled or the U component needs to be up-sampled to achieve the target resolution of the to-be-predicted component, so that the prediction between the components can be performed at the same resolution. In the present example, the method of predicting the third image component (for example, represented by V component) using the Y component is the same as this.

[0047] In FIG. 1, the conventional cross-component prediction architecture 10 can include a Y component coding block 110, a resolution adjustment unit 120, a Y 1 component coding block 130, a U component coding block 140, a prediction model 150, and a cross-component prediction unit 160. Among them, the Y component of the video image is represented by a Y component coding block 110 with a size of 2N×2N, where the larger bold box 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 Y(n) of the Y component coding block 110; the U component of the video image is represented by a U component coding block 140 with a size of N×N, where the larger bold box 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 C(n) 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 with a size of N×N; for the Y 1 component coding block 130, the larger bold box 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 Y(n) of the Y 1Adjacent reference value Y of component coding block 130 1 (n); then through Y 1 Adjacent reference value Y of component coding block 130 1 A prediction model 150 can be constructed from the adjacent reference values ​​C(n) of the U component coding block 140 and Y(n); 1 The Y component reconstructed pixel value of component coding block 130 and prediction model 150 can perform component prediction across component prediction unit 160, and finally output U component prediction value.

[0048] Traditional cross-component prediction architecture 10 is not comprehensive in its consideration of image component prediction, such as failing to take into account the differences in statistical characteristics between image components, resulting in low prediction efficiency. To improve prediction efficiency, this application provides an image prediction method. First, at least one image component of the current block in the image is determined; then, the at least one image component of the current block is preprocessed to obtain at least one preprocessed image component; then, a prediction model is constructed based on the at least one preprocessed image component, which is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, by preprocessing the at least one image component before predicting it, the statistical characteristics of each image component before cross-component prediction can be balanced, thereby not only improving prediction efficiency but also improving the encoding and decoding efficiency of video images.

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

[0050] Referring to FIG. 2, it shows a constituent block diagram example of a video coding system provided by the embodiments of the present application; as shown in FIG. 2, the video coding system 20 comprises 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., wherein the filter unit 208 can implement deblocking filtering and sample adaptive offset (SAO) filtering, 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) division can 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 on 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; in particular, the intra estimation unit 202 and the intra prediction unit 203 are used to determine an 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, reconstructing a residual block in the pixel domain, removing block effect artifacts through the filter control analysis unit 207 and the filter unit 208, and then adding the reconstructed residual block 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, and in the CABAC-based encoding algorithm, the context content can be based on the adjacent coding block, which can be used to encode information indicating the determined intra prediction mode, and output a bitstream of the video signal; and the decoded picture buffer unit 210 is used to store the reconstructed video block for prediction reference.As the video image encoding proceeds, new reconstructed video blocks are continuously generated, which are stored in the decoded image buffer unit 210.

[0051] Referring to FIG. 3, an example of a block diagram of a video decoding system is shown, according to an embodiment of the present application. As shown in FIG. 3, 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. The decoding unit 301 can implement header information decoding and CABAC decoding, and the filtering unit 305 can implement deblocking filtering and SAO filtering. After the input video signal is processed by the encoding system shown in FIG. 2, a bitstream of the video signal is output. The bitstream is input into the video decoding system 30, and first passes through the decoding unit 301 to obtain decoded transform coefficients. The inverse transform and inverse quantization unit 302 processes the transform coefficients to generate a residual block in the pixel domain. The intra prediction unit 303 can be used to generate prediction data of a video block to be decoded based on a determined intra prediction mode and data from previously decoded blocks of the current frame or picture. The motion compensation unit 304 determines prediction information for the video block to be decoded by parsing motion vectors and other associated syntax elements, and uses the prediction information to generate a 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 blockiness artifacts and improve video quality. The decoded video block is then stored in the decoded image buffer unit 306, which stores reference images for subsequent intra prediction or motion compensation, and also for output of the video signal, i.e., the original video signal is recovered.

[0052] The embodiments of the present application are mainly applied to the intra prediction unit 203 shown in FIG. 2 and the intra prediction unit 303 shown in FIG. 3. That is, the embodiments of the present application can be applied to a video encoding system or a video decoding system, and the embodiments of the present application are not limited in this regard.

[0053] Based on the above-described application scenarios of FIG. 2 or FIG. 3, referring to FIG. 4, a flowchart of an image prediction method is shown, according to an embodiment of the present application. The method can include the following steps:

[0054] S401: determining at least one image component of a current block in an image;

[0055] S402: pre-processing at least one image component of the current block to obtain pre-processed at least one image component;

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

[0057] It should be noted that a 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.

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

[0059] In the embodiments of the present application, at least one image component of a current block in an image is first determined. Then, 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, and the prediction model 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.

[0060] 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 at least one image component of a current block in an image, the method can further include:

[0061] 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;

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

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

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

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

[0066] 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:

[0067] Based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, the first image component is processed by 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;

[0068] According to the result of the first processing, a processed value of the first image component of the current block is obtained.

[0069] It should be noted that according to the result of the characteristic statistics of at least one image component of the current block, after 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 are obtained, the first image component can be first processed by using a preset processing mode. Specifically, the first image component can be first processed by using filtering processing, or the first image component can be first processed by using grouping processing, or the first image component can be first processed by using value correction processing, or the first image component can be first processed by using quantization processing, or the first image component can be first processed by using dequantization processing (also referred to as dequantization processing), and the like, which are not limited in the embodiments of the present application.

[0070] It should also be noted that the processing for the first image component can be processing for the adjacent reference pixel value of the first image component, can be processing for the reconstructed pixel value of the first image component, or can be processing for other pixel value of the first image component. In the embodiments of the present application, the actual situation of the prediction model is set, which is not limited in the embodiments of the present application.

[0071] Exemplarily, assuming that the prediction model is to predict the chroma components by using the luma components, in order to improve the prediction efficiency, i.e. to improve the accuracy of the prediction value, it is required to process the luma components and / or the chroma components according to a preset processing mode, such as processing the reconstructed pixel values corresponding to the luma components according to the preset processing mode.If the preset processing mode adopts value correction processing, because the luminance component and the chrominance component have different statistical characteristics, according to the difference between the statistical characteristics of the two image components, a deviation factor can be obtained; then the value correction processing (such as adding the deviation factor to the reconstructed pixel value corresponding to the luminance component) is performed on the luminance component to balance the statistical characteristics between the image components before cross-component prediction, so as to obtain the processed luminance component; at this time, the predicted value of the chrominance component predicted according to the prediction model is closer to the true value of the chrominance component; if the preset processing mode adopts filtering processing, because the luminance component and the chrominance component have different statistical characteristics, according to the difference between the statistical characteristics of the two image components, filtering processing can be performed on the luminance component to balance the statistical characteristics between the image components before cross-component prediction, so as to obtain the processed luminance component; at this time, the predicted value of the chrominance component predicted according to the prediction model is closer to the true value of the chrominance component; if the preset processing mode adopts grouping processing, because the luminance component and the chrominance component have different statistical characteristics, according to the difference between the statistical characteristics of the two image components, grouping processing can be performed on the luminance component to balance the statistical characteristics between the image components before cross-component prediction, and according to the prediction model constructed based on the luminance component after grouping processing, the predicted value of the chrominance component predicted by the prediction model is closer to the true value of the chrominance component; in addition, because the quantization processing and the inverse quantization processing are involved in the process of predicting the chrominance component by using the prediction model, and because the luminance component and the chrominance component have different statistical characteristics, the difference between the quantization processing and the inverse quantization processing may be caused by the difference between the statistical characteristics of the two image components; at this time, if the preset processing mode adopts quantization processing, the quantization processing can be performed on the luminance component and / or the chrominance component to balance the statistical characteristics between the image components before cross-component prediction, so as to obtain the processed luminance component and / or the processed chrominance component; at this time, the predicted value of the chrominance component predicted according to the prediction model is closer to the true value of the chrominance component; if the preset processing mode adopts dequantization processing, the dequantization processing can be performed on the luminance component and / or the chrominance component to balance the statistical characteristics between the image components before cross-component prediction, so as to obtain the processed luminance component and / or the processed chrominance component; at this time, the predicted value of the chrominance component predicted according to the prediction model is closer to the true value of the chrominance component; thereby improving the accuracy of the predicted value and improving the prediction efficiency; because the predicted value of the chrominance component is closer to the true value, the prediction residual of the chrominance component is smaller, so that the bit rate transmitted in the encoding and decoding process is smaller, and the encoding and decoding efficiency of the video image is also improved.

[0072] Thus, after obtaining the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, the first image component can be processed based on the reference value of the first image component of the current block by using a preset processing mode to balance the statistical characteristics among the image components before cross-component prediction, and then a processed value of the first image component of the current block is obtained; or the first image component can be processed based on the reference value of the second image component of the current block by using a preset processing mode to balance the statistical characteristics among the image components before cross-component prediction, and then a processed value of the first image component of the current block is obtained; or the first image component can be processed based on the reference value of the first image component of the current block and the reference value of the second image component of the current block by using a preset processing mode to balance the statistical characteristics among the image components before cross-component prediction, and then a processed value of the first image component of the current block is obtained; and the prediction value of the second image component predicted by using the prediction model is closer to the real value according to the processed value of the first image component of the current block; wherein the prediction model can realize cross-component prediction of the second image component by the first image component.

[0073] Further, the resolutions of the image components are not the same, and in order to facilitate the construction of the prediction model, the resolutions of the image components also need to be adjusted (including upsampling or downsampling of the image components) to reach a target resolution. Specifically, the first processing of the first image component and the resolution adjustment of the first image component by using the preset processing mode can be processed in cascade, or the first processing of the first image component and the resolution adjustment of the first image component by using the preset processing mode can be processed jointly, which will be described below.

[0074] Optionally, in some embodiments, before the pre-processing of the at least one image component of the current block to obtain the pre-processed at least one image component, the method can further include:

[0075] 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;

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

[0077] It should be noted that the resolution adjustment, i.e. the resolution mapping, maps the resolution of the first image component to the adjusted resolution of the first image component; here, the resolution adjustment or the resolution mapping can be realized by upsampling adjustment or downsampling adjustment.

[0078] It should be further noted that when the first processing and the resolution adjustment on the first image component using the preset processing mode can be cascaded processing, the resolution adjustment can be before the first processing on the first image component using the preset processing mode. That is, before the pre-processing on the 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, the resolution of the first image component can be adjusted, and the reference value of the first image component of the current block is updated based on the adjusted resolution of the first image component.

[0079] Optionally, in some embodiments, after the pre-processing on the at least one image component of the current block, the method can further include:

[0080] 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 up-sampling adjustment or down-sampling adjustment;

[0081] The processing value of the first image component of the current block is updated 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] It should be further noted that when the first processing and the resolution adjustment on the first image component using the preset processing mode can be cascaded processing, the resolution adjustment can also be after the first processing on the first image component using the preset processing mode. That is, after the pre-processing on the 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, the resolution of the first image component can be adjusted, and the processing value of the first image component of the current block is updated based on the adjusted resolution of the first image component.

[0083] Optionally, in some embodiments, the pre-processing on the at least one image component of the current block to obtain the pre-processed at least one image component can include:

[0084] 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 processed 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 up-sampling and related processing of the preset processing mode, or down-sampling and related processing of the preset processing mode;

[0085] According to a result of the second processing, a processed value of the first image component of the current block is obtained; wherein a resolution of the processed first image component of the current block is the same as a resolution of the second image component of the current block.

[0086] It is also to be noted that, when the first processing and the resolution adjustment on the first image component can be jointly processed by using the preset processing mode, the processed value of the first image component of the current block can be obtained after the first processing and the resolution adjustment are simultaneously performed. 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, the second processing can be performed on the first image component according to the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, the second processing integrating the first processing and the resolution adjustment, and the second processing can include upsampling and related processing of the preset processing mode, or downsampling and related processing of the preset processing mode, and the like. In this way, according to a 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.

[0087] Exemplarily, it is still assumed that the prediction model is to predict the chroma component by using the luma component, and the image component to be predicted is the chroma component and the image component to be used is the luma component. Since the resolutions of the luma component and the chroma component are different, after the target resolution of the chroma component is obtained, the resolution of the luma component needs to be adjusted since the resolution of the luma component does not conform to the target resolution, for example, the luma component is downsampled, so that the resolution of the adjusted luma component conforms to the target resolution. Conversely, if the luma component is predicted by using the chroma component, after the target resolution of the luma component is obtained, the resolution of the chroma component needs to be adjusted since the resolution of the chroma component does not conform to the target resolution, for example, the chroma component is upsampled, so that the resolution of the adjusted chroma component conforms to the target resolution. In addition, if the red chroma component is predicted by using the blue chroma component, after the target resolution of the red chroma component is obtained, the resolution of the blue chroma component does not need to be adjusted since the resolution of the blue chroma component conforms to the target resolution, which ensures that the resolution of the blue chroma component conforms to the target resolution. In this way, subsequent prediction of the image components can be performed according to the same resolution.

[0088] Further, after the at least one preprocessed image component is obtained, a model parameter of the prediction model is determined according to the at least one preprocessed image component to construct the prediction model. Therefore, in some embodiments, for S403, the constructing the prediction model according to the at least one preprocessed image component can include:

[0089] determining model parameters of the prediction model according to the processing value of the first image component and the reference value of the second image component;

[0090] constructing the prediction model according to the model parameters.

[0091] It should be noted that the prediction model in the embodiments of the present application can be a linear model, such as the cross-component linear model (CCLM) cross-component prediction technology; the prediction model can also be a nonlinear model, such as the multiple model CCLM (MMLM) cross-component prediction technology, which is composed of multiple linear models. The embodiments of the present application will be described below with the prediction model as a linear model, but the image prediction method of the embodiments of the present application is also applicable to nonlinear models.

[0092] Specifically, the model parameters include a first model parameter (denoted by a) and a second model parameter (denoted by β). The calculation of a and β has multiple ways, which can be a preset factor calculation model constructed by the least square method, a preset factor calculation model constructed by the maximum value and the minimum value, or other preset factor calculation models constructed by other ways, which are not limited in the embodiments of the present application.

[0093] Taking the preset factor calculation model constructed by the least square method as an example, it can be derived by the minimum regression error of the neighboring reference pixel values (such as the first image component neighboring reference values and the second image component neighboring reference values, which are obtained after preprocessing) around the current block. Specifically, as shown in equation (1):

[0094]

[0095] Wherein, L(n) represents the first image component neighboring reference value corresponding to the left side and the top side of the current block after downsampling, C(n) represents the second image component neighboring reference value corresponding to the left side and the top side of the current block, N is the side length of the current block of the second image component, and n = 1, 2, …, 2N. Through the calculation of equation (1), the first model parameter a and the second model parameter β can be obtained.

[0096] Taking the preset factor calculation model constructed by the maximum value and the minimum value as an example, it provides a simplified model parameter derivation method. Specifically, the maximum first image component neighboring reference value and the minimum first image component neighboring reference value are searched, and the model parameters are derived according to the principle of "two points determine a line", as shown in equation (2) of the preset factor calculation model:

[0097]

[0098] wherein, L max and L min represent the maximum and minimum values searched from the adjacent reference values of the first image component corresponding to the left and top sides of the down-sampled current block, C max and C min represent the adjacent reference values of the second image component corresponding to the left and top sides of the down-sampled current block. According to L max and L min , the adjacent reference values of the second image component corresponding to the left and top sides of the down-sampled current block. According to L max and L min , and C max and C min , the first model parameter a and the second model parameter b can also be obtained through the calculation of formula (2).

[0099] After obtaining the first model parameter a and the second model parameter b, the prediction model can be constructed. Specifically, based on a and b, assuming that the second image component is predicted according to the first image component, the constructed prediction model is shown in formula (3),

[0100] Pred C [i,j] = a Rec L [i,j] + b (3)

[0101] wherein, i, j represent the position coordinates of the pixel points in the current block, i represents the horizontal direction, j represents the vertical direction, Pred C [i,j] represents the predicted value of the second image component corresponding to the pixel point with position coordinates [i, j] in the current block, Rec L [i,j] represents the reconstructed value of the first image component corresponding to the pixel point with position coordinates [i, j] in the same current block (after down-sampling).

[0102] Further, in some embodiments, for S403, after the prediction model is constructed, the method can further include:

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

[0104] It should be noted that according to the prediction model shown in formula (3), the luminance component can be used to predict the chrominance component, so that the predicted value of the chrominance component can be obtained.

[0105] Specifically, for the current block, after the prediction model is constructed, the prediction of the image component can be performed according to the prediction model; on the one hand, the first image component can be used to predict the second image component, such as using the luminance component to predict the chroma component, to obtain the predicted value of the chroma component; on the other hand, the second image component can also be used to predict the first image component, such as using the chroma component to predict the luminance component, to obtain the predicted value of the luminance component; on the other hand, the second image component can also be used to predict the third image component, such as using the blue chroma component to predict the red chroma component, to obtain the predicted value of the red chroma component; since the prediction model is constructed before, the embodiments of the present application will preprocess at least one image component of the current block to balance the statistical characteristics of the image components before the cross-component prediction, and then use the processed image component to construct the prediction model, so as to achieve the purpose of improving the prediction efficiency.

[0106] The embodiment provides an image prediction method, determines at least one image component of a current block in an image; preprocesses the at least one image component of the current block to obtain at least one preprocessed image component; and constructs a prediction model according to the at least one preprocessed 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 at least one image component of the current block is predicted, the at least one image component is first preprocessed, the statistical characteristics of the image components before the cross-component prediction are balanced, and the prediction efficiency is improved; in addition, since the predicted value of the image component obtained by using the prediction model is closer to the true value, the prediction residual of the image component is smaller, so that the bit rate transmitted in the coding process is smaller, and the coding efficiency of the video image is also improved.

[0107] Based on the application scenario examples of FIG. 2 or FIG. 3, referring to FIG. 5, a flowchart of another image prediction method provided by the embodiment of the present application is shown, which can include the following steps:

[0108] S501: 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;

[0109] S502: performing filtering processing on the reference value of the first image component of the current block to obtain a filtered reference value;

[0110] S503: calculating a model parameter of a prediction model by using the filtered reference value, wherein the prediction model is used for mapping the value of the first image component of the current block to the value of a second image component of the current block, and the second image component is different from the first image component.

[0111] 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 a coding block. Each coding block can include a first image component, a second image component, and a third image component. The current block is a coding block in the video image for which first image component, second image component, or third image component prediction is currently performed.

[0112] It should also be noted that the image prediction method 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.

[0113] In the embodiments of the present application, the reference value of the first image component of the current block in the image is first determined, and the reference value of the first image component of the current block is the first image component value of the neighboring pixel of the current block. Then, the reference value of the first image component of the current block is filtered to obtain a filtered reference value. The model parameters of the prediction model are calculated using the filtered reference value, 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. In this way, before predicting at least one image component of the current block, the at least one image component is first filtered, 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.

[0114] Further, in some embodiments, for S503, calculating the model parameters of the component prediction model using the filtered reference value can include:

[0115] performing statistical analysis 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;

[0116] According to the result of the statistical analysis, obtaining the reference value of the second image component of the current block, wherein the reference value of the second image component of the current block is the second image component value of the neighboring pixel of the current block;

[0117] Calculating the model parameters of the prediction model using the filtered reference value and the reference value of the second image component of the current block.

[0118] It should be noted that, 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 take into account the differences in the statistical characteristics of the image components, thereby achieving the purpose of balancing the statistical characteristics of each image component.

[0119] It should be further noted that, after considering the difference of the statistical characteristics between the image components, the reference value of the second image component of the current block is obtained, then the model parameters of the prediction model are calculated according to the filtered reference value and the reference value of the second image component of the current block, and the prediction model is constructed according to the calculated model parameters. The prediction value of the image component predicted by the prediction model is closer to the true value, so that the prediction residual of the image component is smaller, which reduces the bit rate transmitted in the coding process, and improves the coding efficiency of the video image.

[0120] Further, in some embodiments, for S502, the filtering processing on the reference value of the first image component of the current block to obtain the filtered reference value can include:

[0121] When the resolution of the second image component of the image is different from the resolution of the first image component of the image, the first adjustment processing 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 processing includes one of downsampling filtering and upsampling filtering.

[0122] The filtering processing is performed on the reference value of the first image component of the current block to obtain the filtered reference value.

[0123] Further, the method can further include:

[0124] According to 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 at least includes one of the following: filtering processing, grouping processing, value correction processing, quantization processing, dequantization processing, low-pass filtering and adaptive filtering.

[0125] Further, in some embodiments, for S502, the filtering processing on the reference value of the first image component of the current block to obtain the filtered reference value can include:

[0126] When the resolution of the second image component of the image is different from the resolution of the first image component of the image, the second adjustment processing 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, wherein the second adjustment processing includes downsampling and smoothing filtering, or upsampling and smoothing filtering.

[0127] It should be noted that the resolutions of the image components are not the same, and in order to facilitate the construction of the prediction model, the resolutions of the image components also need to be adjusted (including up-sampling the image components or down-sampling the image components) to achieve a target resolution. Specifically, the resolution adjustment, i.e., the resolution mapping, maps the resolution of the first image component to the resolution of the adjusted first image component. Here, the resolution adjustment or the resolution mapping can be achieved by up-sampling adjustment or down-sampling adjustment.

[0128] It should also be noted that the filtering processing and the resolution adjustment of the first image component can be processed in cascade, such as performing the resolution adjustment before the filtering processing of the first image component, or performing the resolution adjustment after the filtering processing of the first image component; in addition, the filtering processing and the resolution adjustment of the first image component can also be jointly processed (i.e., the first adjustment processing).

[0129] Further, in some embodiments, for S503, the calculating the model parameters of the component prediction model using the filtered reference value can include:

[0130] determining a reference value of a second image component of the current block; wherein the reference value of the second image component of the current block is a second image component value of a neighboring pixel of the current block;

[0131] calculating the model parameters of the component prediction model using the filtered reference value and the reference value of the second image component of the current block.

[0132] Further, in some embodiments, after S503, the method can further include:

[0133] mapping the value of the first image component of the current block according to the prediction model to obtain a predicted value of the second image component of the current block.

[0134] It should be noted that the reference value of the second image component of the current block can be a second image component value of a neighboring pixel of the current block; in this way, after the reference value of the second image component is determined, the model parameters of the prediction model are calculated according to the filtered reference value and the determined reference value of the second image component, and the prediction model is constructed according to the calculated model parameters. The prediction value of the image component predicted by the prediction model is closer to the true value, so that the prediction residual of the image component is smaller, which reduces the bit rate transmitted in the encoding and decoding process, and also improves the encoding and decoding efficiency of the video image.

[0135] Exemplarily, refer to FIG. 6, which shows a component structure diagram of an improved cross-component prediction architecture provided by the embodiment of the present application. As shown in FIG. 6, on the basis of the conventional cross-component prediction architecture 10 shown in FIG. 1, the improved cross-component prediction architecture 60 can further include a processing unit 610, which is mainly used for performing relevant processing on at least one image component before the cross-component prediction unit 160. Wherein, the processing unit 610 can be located before the resolution adjustment unit 120, or can be located after the resolution adjustment unit 120; for example, in FIG. 6, the processing unit 610 is located after the resolution adjustment unit 120, and by performing relevant processing, such as filtering processing, grouping processing, value correction processing, quantization processing and inverse quantization processing, etc., on the Y component, a more accurate prediction model can be constructed, so that the predicted U component value is closer to the true value.

[0136] Based on the improved cross-component prediction architecture 60 shown in FIG. 6, assuming that the Y component is used to predict the U component, since the Y component current block 110 and the U component current block 140 have different resolutions, at this time, the resolution adjustment unit 120 is needed to perform resolution adjustment on the Y component, so as to obtain the Y component current block 130 with the same resolution as the U component current block 140; before this, the processing unit 610 can also perform relevant processing on the Y component, so as to obtain the Y component current block 130; then, the neighboring reference value Y (n) of the Y component current block 130 and the neighboring reference value C(n) of the U component current block 140 can be used to construct the prediction model 150; according to the Y component reconstructed pixel value of the Y component current block 130 and the prediction model 150, the cross-component prediction unit 160 is used to perform image component prediction, so as to obtain the U component prediction value; since the relevant processing is performed on the Y component before the cross-component prediction, according to the prediction model 150 constructed by the processed luminance component, the U component prediction value predicted by using the prediction model 150 is closer to the true value, so as to improve the prediction efficiency, and meanwhile, the coding and decoding efficiency of the video image is also improved. 1 1 1 1 1

[0137] ​​​​​In the embodiments of the present application, the resolution adjustment unit 120 and the processing unit 610 can perform cascade processing on the image components (for example, first performing resolution adjustment by the resolution adjustment unit 120, and then performing relevant processing by the processing unit 610; or first performing relevant processing by the processing unit 610, and then performing resolution adjustment by the resolution adjustment unit 120), or joint processing (for example, performing processing after combining the resolution adjustment unit 120 and the processing unit 610). As shown in FIG. 7, another improved cross-component prediction architecture provided by the embodiments of the present application is shown in the component structure diagram. Based on the improved cross-component prediction architecture 60 shown in FIG. 6, the improved cross-component prediction architecture shown in FIG. 7 can further include a joint unit 710, but can omit the resolution adjustment unit 120 and the processing unit 610; that is, the joint unit 710 includes the functions of the resolution adjustment unit 120 and the processing unit 510, and can not only achieve resolution adjustment of at least one image component, but also achieve relevant processing of at least one image component, such as filtering processing, grouping processing, value correction processing, quantization processing, and inverse quantization processing, and the like. In this way, a more accurate prediction model 150 can be constructed, the U component prediction value predicted by the prediction model 150 is closer to the true value, thereby improving the prediction efficiency, and at the same time, improving the encoding and decoding efficiency of the video image.

[0138] In addition, in the embodiments of the present application, when the image prediction method is applied to the encoder side, the model parameters of the prediction model can be calculated according to the reference value of the to-be-predicted image component of the current block and the reference value of the to-be-referenced image component of the current block, and then the calculated model parameters are written into a code stream; the code stream 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 analyzing the code stream, so as to construct the prediction model, and the prediction model is used for cross-component prediction processing on at least one image component of the current block.

[0139] The embodiment provides an image prediction method, reference values of a first image component of a current block in an image are determined, the reference values of the first image component of the current block are first image component values of neighboring pixels of the current block; the reference values of the first image component of the current block are filtered to obtain filtered reference values; and model parameters of a prediction model are calculated by using the filtered reference values, the prediction model is used for mapping a value of the first image component of the current block to a value of a second image component of the current block, and the second image component is different from the first image component. In this way, before at least one image component of the current block is predicted, the at least one image component is preprocessed first, the statistical characteristics of the image components before cross-component prediction are balanced, and the prediction efficiency is improved. In addition, since the prediction value of the image component obtained by using the prediction model is closer to the real value, the prediction residual of the image component is smaller, so that the bit rate transmitted in the coding process is smaller, and the coding efficiency of the video image is improved.

[0140] Based on the same inventive concept as the foregoing embodiment, referring to FIG. 8, a constituent structure schematic diagram of an encoder 80 provided by the embodiment of the application is shown. The encoder 80 can include a first determining unit 801, a first processing unit 802 and a first constructing unit 803, wherein,

[0141] The first determining unit 801 is configured to determine at least one image component of a current block in an image.

[0142] The first processing unit 802 is configured to pre-process the at least one image component of the current block to obtain pre-processed at least one image component.

[0143] The first constructing unit 803 is configured to construct 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.

[0144] In the above scheme, referring to FIG. 8, the encoder 80 can further include a first statistical unit 804 and a first obtaining unit 805, wherein,

[0145] The first statistical unit 804 is configured to perform characteristic statistics 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.

[0146] The first obtaining unit 805 is configured to obtain 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 according to a result of the characteristic statistics; 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.

[0147] In the above scheme, the first processing unit 802 is further configured to perform first processing on the first image component by using a preset processing mode 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 preset processing mode at least includes one of the following: filtering processing, grouping processing, value correction processing, quantization processing and dequantization processing.

[0148] The first obtaining unit 805 is further configured to obtain a processing value of the first image component of the current block according to a result of the first processing.

[0149] In the above scheme, referring to FIG. 8, the encoder 80 can further include a first adjusting unit 806 and a first updating unit 807, wherein,

[0150] The first adjusting unit 806 is configured to perform resolution adjustment on a resolution of the first image component when the resolution of the first image component of the current block is different from a resolution of the second image component of the current block; wherein the resolution adjustment includes up-sampling adjustment or down-sampling adjustment.

[0151] The first updating 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.

[0152] In the above scheme, the first adjusting unit 806 is further configured to perform resolution adjustment on a resolution of the first image component when the resolution of the first image component of the current block is different from a resolution of the second image component of the current block; wherein the resolution adjustment includes up-sampling adjustment or down-sampling adjustment.

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

[0154] In the above scheme, the first adjusting unit 806 is further configured to, 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, perform 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; wherein the second processing comprises upsampling and related processing of a preset processing mode, or downsampling and related processing of a preset processing mode.

[0155] The first obtaining unit 805 is further configured to obtain a processing value of the first image component of the current block according to the result of the second processing; 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.

[0156] In the above scheme, the first determining unit 801 is further configured to determine the model parameter of the prediction model according to the processing value of the first image component and the reference value of the second image component.

[0157] The first constructing unit 803 is configured to construct the prediction model according to the model parameter.

[0158] In the above scheme, referring to FIG. 8, the encoder 80 can further comprise 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 a prediction value of the second image component of the current block.

[0159] It can be understood that, in the embodiments of the present application, the "unit" can be a part of circuit, a part of processor, a part of program or software, etc., and of course can be a module, and can also be non-modular. Moreover, each component in the embodiments can be integrated in a processing unit, or each unit can exist physically independently, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of a software functional module.

[0160] The integrated unit, if implemented in the form of a software function module and not sold or used as an independent product, can be stored in a computer readable storage medium based on such understanding. The technical solutions of the embodiments essentially or the part of the prior art that contributes to the technical solutions or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the method described in the embodiments. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0161] Therefore, the embodiments of the present application provide a computer storage medium, which stores an image prediction program. The image prediction program is executed by at least one processor to implement the steps of the method described in the foregoing embodiments.

[0162] Based on the composition of the encoder 80 and the computer storage medium, referring to FIG. 9, a specific hardware structure of the encoder 80 provided by the embodiments of the present application is shown, which can include a first communication interface 901, a first memory 902 and a first processor 903. Each component is coupled together through a first bus system 904. It can be understood that the first bus system 904 is used to realize the connection and communication between the components. The first bus system 904 includes not only a data bus, but also a power supply bus, a control bus and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the first bus system 904 in FIG. 9. Among them,

[0163] The first communication interface 901 is used for receiving and sending signals in the process of transceiving information with other external network elements;

[0164] The first memory 902 is used for storing a computer program capable of running on the first processor 903;

[0165] The first processor 903 is used for executing the following steps when running the computer program:

[0166] Determining at least one image component of a current block in an image;

[0167] Preprocessing the at least one image component of the current block to obtain a preprocessed at least one image component;

[0168] A prediction model is constructed according to the at least one pre-processed image component; wherein the prediction model is used for cross-component prediction processing on the at least one image component of the current block.

[0169] It can be appreciated that the first memory 902 in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a 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 RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The first memory 902 of the system and method described herein is intended to include, without being limited to, these and any other suitable types of memory.

[0170] The first processor 903 can be an integrated circuit chip having a processing capability for signals. In implementation, each step of the above method can be completed by integrated logic circuits of hardware or instructions in the form of software in the first processor 903. The first processor 903 described above can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read only memory, a programmable read only memory or an electrically erasable programmable memory, a register, and other mature storage media in the art. The storage medium is located in the first memory 902, and the first processor 903 reads the information in the first memory 902 and combines the hardware to complete the steps of the above method.

[0171] It can be understood that the embodiments described in the present application can be realized by 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), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for executing the functions described in the present application, or a combination thereof. For software implementation, the technologies described in the present application can be implemented by modules (such as processes, functions, etc.) for executing the functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0172] Optionally, as another embodiment, the first processor 903 is further configured to execute the method of any one of the preceding embodiments when running the computer program.

[0173] The embodiment provides an encoder, which can comprise 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 pre-processed at least one image component; and the first constructing unit is configured to construct a prediction model according to the pre-processed at least one 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, the at least one image component of the current block is pre-processed before being predicted, so that the statistical characteristics of the image components before cross-component prediction can be balanced, thereby improving the prediction efficiency and the coding and decoding efficiency of the video image.

[0174] Based on the same inventive concept as the preceding embodiments, referring to FIG. 10, a constituent structure schematic diagram of a decoder 100 provided by the embodiment of the application is shown. The decoder 100 can comprise a second determining unit 1001, a second processing unit 1002 and a second constructing unit 1003, wherein,

[0175] The second determining unit 1001 is configured to determine at least one image component of a current block in an image.

[0176] The second processing unit 1002 is configured to pre-process the at least one image component of the current block to obtain pre-processed at least one image component.

[0177] The second constructing unit 1003 is configured to construct 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.

[0178] In the above scheme, referring to FIG. 10, the decoder 100 can further comprise a second statistical unit 1004 and a second acquisition unit 1005, wherein,

[0179] The second statistical unit 1004 is configured to perform characteristic statistics on the at least one image component of the current block, wherein the at least one image component comprises a first image component and / or a second image component.

[0180] The second obtaining unit 1005 is configured to obtain 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 according to a result of the characteristic statistics, 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.

[0181] In the above solution, the second processing unit 1002 is further configured to perform first processing on the first image component by using a preset processing mode 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 preset processing mode at least includes one of the following: filtering processing, grouping processing, value correction processing, quantization processing and dequantization processing.

[0182] The second obtaining unit 1005 is further configured to obtain a processing value of the first image component of the current block according to a result of the first processing.

[0183] In the above solution, referring to FIG. 10, the decoder 100 can further include a second adjusting unit 1006 and a second updating unit 1007, wherein,

[0184] The second adjusting unit 1006 is configured to perform resolution adjustment on a resolution of the first image component when the resolution of the first image component of the current block is different from a resolution of the second image component of the current block, wherein the resolution adjustment includes up-sampling adjustment or down-sampling adjustment.

[0185] The second updating 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.

[0186] In the above solution, the second adjusting unit 1006 is further configured to perform resolution adjustment on a resolution of the first image component when the resolution of the first image component of the current block is different from a resolution of the second image component of the current block, wherein the resolution adjustment includes up-sampling adjustment or down-sampling adjustment.

[0187] The second updating 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.

[0188] In the above scheme, the second adjusting unit 1006 is further configured to, 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, perform 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; wherein the second processing comprises upsampling and related processing of a preset processing mode, or downsampling and related processing of a preset processing mode.

[0189] The second obtaining unit 1005 is further configured to obtain a processed value of the first image component of the current block according to the result of the second processing; 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.

[0190] In the above scheme, the second constructing unit 1003 is configured to parse a code stream and construct the prediction model according to the model parameters obtained by the parsing.

[0191] In the above scheme, referring to FIG. 10, the decoder 100 can 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 a prediction value of the second image component of the current block.

[0192] It can be understood that, in the present embodiment, the "unit" can be a part of circuit, a part of processor, a part of program or software, etc., and of course can be a module, and can also be non-modular. Moreover, each component in the present embodiment can be integrated in a processing unit, or each unit can exist physically independently, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of a software function module.

[0193] When the integrated unit is realized in the form of a software function 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, the present embodiment provides a computer storage medium storing an image prediction program, which is executed by a second processor to implement the method of any one of the preceding embodiments.

[0194] Based on the above decoder 100 components and computer storage media, referring to FIG. 11, a specific hardware structure of the decoder 100 provided by the embodiments of the present application is shown, which can include: a second communication interface 1101, a second memory 1102 and a second processor 1103; each component is coupled together through a second bus system 1104. It can be understood that the second bus system 1104 is used to realize the connection communication between the components. The second bus system 1104 includes not only the data bus, but also the power bus, the control bus and the state signal bus. However, in order to clearly illustrate, all kinds of buses are marked as the second bus system 1104 in FIG. 11. Among them,

[0195] The second communication interface 1101 is used for receiving and sending signals in the process of transceiving information with other external network elements;

[0196] The second memory 1102 is used for storing computer programs capable of running on the second processor 1103;

[0197] The second processor 1103 is used for executing the following when running the computer programs:

[0198] Determining at least one image component of a current block in an image;

[0199] Preprocessing at least one image component of the current block to obtain a preprocessed at least one image component;

[0200] According to the preprocessed at least one image component, a prediction model is constructed; wherein the prediction model is used for cross-component prediction processing of at least one image component of the current block.

[0201] Optionally, as another embodiment, the second processor 1103 is further configured to execute the method of any one of the preceding embodiments when running the computer programs.

[0202] It can be understood that the hardware function of the second memory 1102 is similar to that of the first memory 902, and the hardware function of the second processor 1103 is similar to that of the first processor 903; here will not be described in detail.

[0203] The embodiment provides a decoder which can include 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 pre-processed at least one image component; and the second constructing unit is configured to construct a prediction model according to the pre-processed at least one 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, the at least one image component of the current block is pre-processed before being predicted, so that the statistical characteristics of the image components before cross-component prediction can be balanced, thereby improving the prediction efficiency and improving the coding and decoding efficiency of the video image.

[0204] It should be noted that in this application, the terms "comprising", "including", or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such a process, method, article or device. Without more limitations, the element defined by the statement "including a" does not exclude the presence of additional identical elements in the process, method, article or device including the element.

[0205] The above-mentioned sequence numbers of the embodiments of the application are only for description, and do not represent the advantages and disadvantages of the embodiments.

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

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

[0208] The features disclosed in the several method or device embodiments provided by the application can be combined arbitrarily without conflict to obtain new method or device embodiments.

[0209] The above is only a specific implementation of the application, but the protection scope of the application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the application, which should be covered within the protection scope of the application. Therefore, the protection scope of the application should be subject to the protection scope of the claims. Industrial applicability

[0210] In the embodiments of the present application, first, at least one image component of a current block in an image is determined; then, the at least one image component of the current block is preprocessed to obtain at least one preprocessed image component; and then, a prediction model is constructed according to the at least one preprocessed image component, which is used to perform cross-component prediction processing on the at least one image component of the current block. In this way, before the at least one image component of the current block is predicted, the at least one image component is first preprocessed, which can balance the statistical characteristics of the image components before cross-component prediction, thereby improving the prediction efficiency. In addition, since the predicted value of the image component obtained by using the prediction model is closer to the true value, the prediction residual of the image component is smaller, so that the bit rate transmitted in the encoding and decoding process is less, and the encoding and decoding efficiency of the video image is also improved.

Claims

1. An image prediction method applied to an encoder or decoder, the method comprising: Determine at least one image component of the current block in the image; At least one image component of the current block is preprocessed to obtain at least one preprocessed image component; A prediction model is constructed based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

2. The method according to claim 1, wherein, After determining at least one image component of the current block in the image, the method further includes: Perform characteristic statistics on at least one image component of the current block; wherein, the at least one image component includes a first image component and / or a second image component; Based on the results of characteristic statistics, obtain the reference value of the first image component of the current block and / or the reference value of the second image component of the current block; wherein, the first image component is the component used for prediction when constructing the prediction model, and the second image component is the component predicted when constructing the prediction model.

3. The method according to claim 2, wherein, The step of preprocessing at least one image component of the current block to obtain at least one preprocessed image component includes: Based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, the first image component is subjected to a first processing using a preset processing mode; wherein, the preset processing mode includes at least one of the following: filtering processing, grouping processing, value correction processing, quantization processing, and dequantization processing; Based on the result of the first processing, the processing value of the first image component of the current block is obtained.

4. The method according to claim 2, wherein, Before preprocessing at least one image component of the current block to obtain at least one preprocessed image component, the method further includes: 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.

5. The method according to claim 3, wherein, After preprocessing at least one image component of the current block to obtain at least one preprocessed image component, the method further includes: 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.

6. The method according to claim 2, wherein, The step of preprocessing at least one image component of the current block to obtain at least one preprocessed image component includes: 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.

7. The method according to any one of claims 3, 5 or 6, wherein, The step of constructing a prediction model based on at least one preprocessed image component includes: 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.

8. The method according to claim 7, wherein, After constructing the prediction model, the method further includes: 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.

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

10. The method according to claim 9, wherein, The calculation of model parameters for the component prediction model using the filtered reference values ​​includes: 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.

11. The method according to claim 9, 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. 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.

12. The method according to claim 9 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, grouping, value correction, quantization, dequantization, low-pass filtering, and adaptive filtering.

13. The method according to claim 9, 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 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.

14. The method according to claim 9, wherein, The calculation of model parameters for the component prediction model using the filtered reference values ​​includes: 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.

15. The method according to claim 9, wherein, After calculating the model parameters of the prediction model using the filtered reference values, 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.

16. An encoder, the encoder comprising a first determining unit, a first processing unit, and a first constructing unit, wherein, The first determining unit is configured to determine at least one image component of the current block in the image; The first processing unit is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component. The first construction unit is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

17. An encoder, the encoder comprising a first memory and a first processor, wherein, The first memory is used to store computer programs that can run on the first processor; The first processor is configured to perform the method as described in any one of claims 1 to 15 when running the computer program.

18. A decoder, the decoder comprising a second determining unit, a second processing unit, and a second constructing unit, wherein, The second determining unit is configured to determine at least one image component of the current block in the image; The second processing unit is configured to preprocess at least one image component of the current block to obtain at least one preprocessed image component; The second construction unit is configured to construct a prediction model based on at least one preprocessed image component; wherein the prediction model is used to perform cross-component prediction processing on at least one image component of the current block.

19. A decoder, the decoder comprising a second memory and a second processor, wherein, The second memory is used to store computer programs that can run on the second processor; The second processor is configured to perform the method as described in any one of claims 1 to 15 when running the computer program.

20. A computer storage medium, wherein, The computer storage medium stores an image prediction program, which, when executed by a first processor or a second processor, implements the method as described in any one of claims 1 to 15.