Image prediction method, encoder, decoder, and storage medium

By balancing the statistical characteristics of image components through filtering, the method improves prediction efficiency and reduces residuals in video encoding and decoding processes.

JP2025116174APending Publication Date: 2025-08-07GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025092061
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-03-25
Filing Date
2025-06-02
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

Conventional cross-component prediction techniques in video coding standards like H.266/VVC do not adequately consider the differences in statistical properties of various image components, leading to low prediction efficiency.

Method used

An image prediction method that involves obtaining an initial prediction value using a model and performing a filtering process to balance the statistical characteristics of each image component, thereby improving prediction efficiency and reducing residuals.

Benefits of technology

This approach enhances prediction efficiency by obtaining target values closer to actual values, reducing the bit rate required for encoding and decoding processes, and improving overall video image encoding and decoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025116174000001_ABST
    Figure 2025116174000001_ABST
Patent Text Reader

Abstract

To provide an image prediction method, an encoder, a decoder, and a storage medium for not only improving prediction efficiency but also improving encoding and decoding efficiency of a video image by balancing statistical characteristics of respective image components after cross-component prediction.SOLUTION: An image prediction method includes: obtaining an initial prediction value of an image component to be predicted of a current block in an image by a prediction model; and performing filtering processing on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to the technical field of video encoding and decoding, and more particularly to an image prediction method, an encoder, a decoder and a storage medium. [Background technology]

[0002] The latest video coding standard H.266 / versatile video coding (VVC) allows the existence of cross-component prediction. CCLM (cross-component linear model) prediction is one of the typical cross-component prediction techniques. Using the cross-component prediction technique, one component can predict another component (or its residual), for example, a chroma component can be predicted from a luma component, or a chroma component can be predicted from a chroma component, or a chroma component can be predicted from a chroma component.

[0003] Since different components have different statistical properties, there are differences in the statistical properties depending on the component. However, when performing component prediction, conventional cross-component prediction techniques do not take into consideration all of the differences, resulting in low prediction efficiency. Summary of the Invention

[0004] The embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium, which can not only improve prediction efficiency but also improve the efficiency of encoding and decoding video images by balancing the statistical characteristics of each image component after cross-component prediction.

[0005] The technical solutions of the embodiments of the present application are as follows:

[0006] In a first aspect, an embodiment of the present application provides an image prediction method for use in an encoder or decoder, the method including: obtaining an initial prediction value of an image component to be predicted of a current block in an image using a prediction model; and performing a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.

[0007] In a second aspect, an embodiment of the present application provides an encoder, the encoder including a first prediction unit and a first processing unit, the first prediction unit is used to obtain an initial prediction value of an image component to be predicted of a current block in an image according to a prediction model, and the first processing unit is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.

[0008] In a third aspect, an embodiment of the present application provides an encoder, the encoder comprising a first memory and a first processor, the first memory adapted to store a computer program executable by the first processor, the first processor adapted to execute the computer program and thereby perform the method described in the first aspect.

[0009] In a fourth aspect, an embodiment of the present application provides a decoder, the decoder including a second prediction unit and a second processing unit, the second prediction unit is used to obtain an initial prediction value of an image component to be predicted of a current block in an image according to a prediction model, and the second processing unit is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.

[0010] In a fifth aspect, an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor, the second memory adapted to store a computer program executable by the second processor, the second processor adapted to execute the computer program and thereby perform the method described in the first aspect.

[0011] In a sixth aspect, an embodiment of the present application provides a computer storage medium having stored thereon an image prediction program that, when executed by a first processor or a second processor, implements the method described in the first aspect.

[0012] The present application provides an image prediction method, an encoder, a decoder, and a storage medium. First, an initial predicted value of an image component to be predicted of a current block in an image is obtained using a prediction model. Next, a target predicted value of the image component to be predicted of the current block is obtained by performing a filtering process on the initial predicted value. In this manner, after predicting at least one image component of the current block, the filtering process is continued to be performed on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only does this improve prediction efficiency, but also reduces prediction residuals of image components because the obtained target predicted values are closer to real values, thereby reducing the bit rate required for encoding and decoding processes and simultaneously improving the efficiency of encoding and decoding video images. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a schematic diagram showing the structure of a conventional cross-component prediction architecture according to a related technical solution. [Figure 2] FIG. 2 is a block diagram illustrating the structure of a video encoding system according to an embodiment of the present application. [Figure 3] FIG. 3 is a block diagram illustrating the structure of a video decoding system according to an embodiment of the present application. [Figure 4] FIG. 4 is a flowchart of an image prediction method according to an embodiment of the present application. [Figure 5] FIG. 5 is a schematic diagram illustrating the structure of an improved cross-component prediction architecture according to an embodiment of the present application. [Figure 6] FIG. 6 is a schematic diagram showing the structure of an encoder according to an embodiment of the present application. [Figure 7] FIG. 7 is a schematic diagram showing a specific hardware structure of an encoder according to an embodiment of the present application. [Figure 8] FIG. 8 is a schematic diagram showing the structure of a decoder according to an embodiment of the present application. [Figure 9] FIG. 9 is a schematic diagram showing a specific hardware structure of a decoder according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0014] In order to understand in detail the characteristics and technical contents of the embodiments of the present application, the technical solutions of the embodiments of the present application will be described in detail below with reference to the drawings, and the attached drawings are for illustrative purposes only and do not limit the present application.

[0015] In a video image, coding blocks are generally represented by a first image component, a second image component, and a third image component. The first image component, the second image component, and the third image component are a luma component, a blue chroma component, and a red chroma component, respectively. Specifically, the luma component is generally represented by the symbol Y, the blue chroma component is generally represented by the symbol Cb or U, and the red chroma component is generally represented by the symbol Cr or V. Thus, a video image can be represented in YCbCr or YUV format.

[0016] In an embodiment of the present application, the first image component may be a luminance component, the second image component may be a blue saturation component, and the third image component may be a red saturation component, although embodiments of the present application are not specifically limited thereto.

[0017] To further improve encoding and decoding performance, H.266 / VCC proposes the CCLM cross-component prediction technology. The CCLM cross-component prediction technology not only enables chroma components to be predicted via luma components (i.e., a second image component can be predicted via a first image component, or a third image component can be predicted via a first image component), but also enables chroma components to be predicted via luma components (i.e., a first image component can be predicted via a second image component, or a first image component can be predicted via a third image component), and even enables prediction between chroma components (i.e., a third image component can be predicted via a second image component, or a second image component can be predicted via a third image component). In the following embodiments of the present application, prediction of a second image component via a first image component will be described as an example, but the technical solutions of the embodiments of the present application can also be applied to predicting other image components.

[0018] FIG. 1 is a diagram illustrating the structure of a conventional cross-component prediction architecture according to the related art. As shown in FIG. 1, a second image component (e.g., indicated by a Y component) is predicted via a first image component (e.g., indicated by a U component). If the YUV format used by a video image is 4:2:0, the Y component and the U component have different resolutions. In this case, to reach the target resolution of the component to be predicted, downsampling must be performed on the Y component or upsampling must be performed on the U component, so that inter-component prediction can be performed at the same resolution. In this example, the method for predicting a third image component (e.g., indicated by a V component) via the Y component is the same as that described above.

[0019] JPEG2025116174000002.jpg156150

[0020] In the conventional cross-component prediction architecture 10, image component prediction is not comprehensively considered, for example, the differences in the statistical characteristics of each image component are not considered, resulting in low prediction efficiency. To improve prediction efficiency, an embodiment of the present application provides an image prediction method. First, an initial predicted value of an image component to be predicted of a current block in an image is obtained using a prediction model. Next, a filtering process is performed on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block. In this way, after predicting at least one image component of the current block, the filtering process is continued to be performed on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only is prediction efficiency improved, but the efficiency of encoding and decoding video images can also be improved.

[0021] Hereinafter, each embodiment of the present application will be described in detail with reference to the drawings.

[0022] 2 is a block diagram showing the structure of a video encoding system according to an embodiment of the present application. As shown in FIG. 2, the video encoding system 20 includes a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filtering unit 208, a coding unit 209, and a decoded image buffer unit 210. The filtering unit 208 can implement deblocking (DBK) filtering and sample adaptive offset (SAO) filtering. The coding unit 209 can implement header information coding and CABAC (context-based adaptive binary arithmetic coding). For an input original video signal, one coding block can be obtained by dividing a coding tree unit (CTU). Next, the coding block is transformed by the transform and quantization unit 201 for the residual sample information obtained by intra prediction or inter prediction, converting the residual information from the sample domain to the transform domain and quantizing the resulting transform coefficients to further reduce the bit rate. The intra estimation unit 202 and the intra prediction unit 203 are used to perform intra prediction on the coding block. Specifically, the intra estimation unit 202 and the intra prediction unit 203 are used to determine the intra prediction mode used to encode the coding block. The motion compensation unit 204 and the motion estimation unit 205 are used to perform inter-frame predictive coding of the received coding block with respect 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 motion vectors, which can estimate the motion of the coding block.The motion compensation unit 204 is used to perform motion compensation based on the motion vector determined by the motion estimation unit 205. After determining the intra prediction mode, the intra prediction unit 203 is further used to provide the selected intra prediction data to the coding unit 209, and the motion estimation unit 205 is used to send the calculated motion vector data to the coding unit 209. The inverse transform and inverse quantization unit 206 is used to reconstruct the coding block. The residual block is reconstructed in the sample domain, and blocking artifacts in the reconstructed residual block are removed via the filter control analysis unit 207 and the filtering unit 208. The reconstructed residual block is then added to one prediction block in a frame of the decoded image buffer unit 210 to generate a reconstructed video coding block. The coding unit 209 is used to code various encoding parameters and quantized transform coefficients. In a CABAC-based coding algorithm, context content can be based on neighboring coding blocks, and information indicating the determined intra prediction mode can be coded to output a bitstream of a video signal. The decoded picture buffer unit 210 is used to store reconstructed video coding blocks for prediction reference. As the encoding of a video image progresses, new reconstructed coding blocks are constantly generated, and all of these reconstructed coding blocks are stored in the decoded picture buffer unit 210.

[0023] FIG. 3 is a block diagram showing the structure of a video decoding system 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, a decoded image cache unit 306, etc. The decoding unit 301 can perform header information decoding and CABAC decoding. The filtering unit 305 can perform DBK filtering and SAO filtering. After an input video signal is encoded (as shown in FIG. 2), it outputs a bitstream of the video signal. The bitstream is input to the video decoding system 30. First, decoded transform coefficients are obtained through the decoding unit 301. The decoded transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate residual blocks in the sample domain. The intra prediction unit 303 can be used to generate prediction data for a current video coding block to be decoded based on a determined intra prediction mode and data from a previously decoded block of the current frame or image. The motion compensation unit 304 is used to determine prediction information for the video coding block to be decoded by analyzing the motion vectors and other related syntax elements, and uses the prediction information to generate a prediction block for the video coding block being decoded. A decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding prediction block generated by the intra prediction unit 303 or the motion compensation unit 304. Blocking artifacts in the decoded video block may be removed via a filtering unit 305 to improve video quality. The decoded video block is then stored in a decoded picture cache unit 306.The decoded image cache unit 306 is used to store reference images used for subsequent intra-prediction or motion compensation, and is also used to output the video signal, i.e., to obtain the restored original video signal.

[0024] The embodiments of the present application may be applied to the intra prediction unit 203 shown in Figure 2 and the intra prediction unit 303 shown in Figure 3. In other words, the embodiments of the present application may be applied to both a video encoding system and a video decoding system, although the embodiments of the present application are not limited in this regard.

[0025] Based on the application scenario example shown in Figure 2 or Figure 3, please refer to Figure 4, which is a flowchart of an image prediction method according to an embodiment of the present application, which may include the following content:

[0026] S401: Obtain an initial predicted value of an image component to be predicted of a current block in an image using a prediction model.

[0027] S402: A filtering process is performed on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block.

[0028] It should be noted that a video image can be divided into multiple image blocks, and each image block currently to be coded can be called 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 the coding block that currently intends to perform prediction of the first image component, the second image component, or the third image component in the video image.

[0029] It should also be noted that the image prediction method according to the embodiments of the present application may be applied to a video encoding system or a video decoding system, or may be applied simultaneously to both a video encoding system and a video decoding system, and the embodiments of the present application are not specifically limited thereto.

[0030] In an embodiment of the present application, an initial predicted value of an image component to be predicted of a current block in an image is first obtained using a prediction model. Then, a filtering process is performed on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block. In this way, after predicting at least one image component of the current block, the filtering process is continued to be performed on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only can the prediction efficiency be improved, but also the efficiency of encoding and decoding video images can be improved.

[0031] Furthermore, different image components have different statistical characteristics, and there are differences in the statistical characteristics of each image component. For example, the luma component has rich texture characteristics, while the chroma component tends to be more uniform and flat. In order to balance the statistical characteristics of each image component after cross-component prediction, it is necessary to perform characteristic statistics on at least one image component of the current block. Therefore, in some embodiments, S402 can further include the following before filtering the initial prediction value:

[0032] Performing characteristic statistics on at least one image component of the current block, the at least one image component including a to-be-predicted image component and / or a to-be-referenced image component, the to-be-predicted image component and the to-be-referenced image component being different.

[0033] According to the result of the characteristic statistics, a reference value of the image component to be predicted of the current block and / or a reference value of the image component to be referenced of the current block are obtained. The image component to be predicted is a component to be predicted when constructing a prediction model, and the image component to be referenced is a component used for prediction when constructing a prediction model.

[0034] At least one image component of the current block can be a to-be-predicted image component, a to-be-referenced image component, or both a to-be-predicted image component and a to-be-referenced image component. If a prediction model is used to realize prediction from a first image component to a second image component, the to-be-predicted image component is the second image component and the to-be-referenced image component is the first image component. Alternatively, if a prediction model is used to realize prediction from a first image component to a third image component, the to-be-predicted image component is the third image component and the to-be-referenced image component is the first image component.

[0035] In this way, by performing characteristic statistics on at least one image component of the current block, a reference value of the image component to be predicted of the current block and / or a reference value of the image component to be referenced of the current block can be obtained based on the results of the characteristic statistics.

[0036] Furthermore, in order to improve prediction efficiency, a filtering process can be performed on the initial predicted value of the image component to be predicted of the current block based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block.

[0037] In some embodiments, performing processing on the initial predicted value corresponding to the at least one image component based on the reference value of the at least one image component includes:

[0038] Based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block, a filtering process is performed on the initial predicted value using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0039] Based on the processed results, a target predicted value is obtained.

[0040] Based on the result of the characteristic statistics of at least one image component of the current block, a reference value of an image component to be predicted of the current block and / or a reference value of an image component to be referenced of the current block may be obtained, and then a filtering process may be performed on the initial predicted value using a preset processing mode. Specifically, the filtering process may be performed on the initial predicted value using simple filtering, or the filtering process may be performed on the initial predicted value using a grouping process, or the filtering process may be performed on the initial predicted value using a value correction process, or the filtering process may be performed on the initial predicted value using a quantization process, or the filtering process may be performed on the initial predicted value using an inverse quantization process (also called de-quantization). The embodiments of the present application are not specifically limited.

[0041] For example, suppose a chroma component is predicted using a luma component to improve prediction efficiency, i.e., to improve the accuracy of the predicted value. If a preset processing mode employs a value correction process for the initial predicted value of the chroma component obtained by the prediction model, a deviation factor can be obtained based on the difference between the statistical properties of the two image components, since the luma component and the chroma component have different statistical properties. Then, to balance the statistical properties of each image component after cross-component prediction, a value correction process (e.g., summing the initial predicted value and the deviation factor) is performed on the initial predicted value using the deviation factor to obtain a target predicted value of the chroma component. At this time, the target predicted value of the chroma component is closer to the actual value of the chroma component. If a preset processing mode employs a filtering process, a filtering process can be performed on the initial predicted value based on the difference between the statistical properties of the two image components, since the luma component and the chroma component have different statistical properties, to balance the statistical properties of each image component after cross-component prediction, to obtain a target predicted value of the chroma component. At this time, the target predicted value of the chroma component is closer to the actual value of the chroma component. When the preset processing mode adopts grouping processing, since the luma component and the chroma component have different statistical characteristics, in order to balance the statistical characteristics of each image component after cross-component prediction, a grouping processing is performed on the initial predicted values based on the difference between the statistical characteristics of the two image components, and a target predicted value of the chroma component can be obtained based on the initial predicted value after grouping processing, in which case the target predicted value of the chroma component is closer to the actual value of the chroma component.Furthermore, the process of determining the initial predicted value involves quantization and inverse quantization for the luma component and the chroma component. At the same time, the luma component and the chroma component have different statistical characteristics. Therefore, differences in the statistical characteristics of the two image components may result in differences between the quantization and inverse quantization processes. In this case, if the preset processing mode uses quantization, the initial predicted value is quantized to obtain a corresponding target predicted value for the chroma component in order to balance the statistical characteristics of each image component after cross-component prediction. This target predicted value for the chroma component is closer to the actual value of the chroma component. If the preset processing mode uses inverse quantization, the initial predicted value is inverse quantized to obtain a corresponding target predicted value for the chroma component in order to balance the statistical characteristics of each image component after cross-component prediction. This target predicted value for the chroma component is closer to the actual value of the chroma component. In this way, the accuracy of the predicted value can be improved, thereby improving prediction efficiency.

[0042] Furthermore, in order to improve prediction efficiency, a filtering process is performed on the initial prediction residual of the image component to be predicted of the current block based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block.

[0043] In some embodiments, in S401, after obtaining an initial predicted value of an image component to be predicted of a current block in an image by a prediction model, the method may further include the following content:

[0044] Based on the initial prediction value, an initial prediction residual of the image component to be predicted of the current block is calculated.

[0045] A filtering process is performed on the initial prediction residual using a preset processing mode based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0046] Based on the processing result, a target prediction residual is obtained.

[0047] Furthermore, in some embodiments, in S402, obtaining a target predicted value of an image component to be predicted of the current block includes:

[0048] Based on the target prediction residual, a target prediction value of the image component to be predicted of the current block is calculated.

[0049] It should be noted that the prediction residual is obtained from the difference between the predicted value of an image component and the real value of the image component. In order to improve the efficiency of encoding and decoding video images, the prediction residual of the current block should be as small as possible.

[0050] To minimize the prediction residual, an initial prediction value of the image component to be predicted can be obtained using a prediction model, and then a filtering process can be performed on the initial prediction value using a preset processing mode to obtain a target prediction value of the image component to be predicted. The target prediction value of the image component to be predicted is as close as possible to the actual numerical value of the image component to be predicted, thereby minimizing the prediction residual between the two. Alternatively, an initial prediction value of the image component to be predicted can be obtained using a prediction model, and then an initial prediction residual of the image component to be predicted can be determined based on the difference between the initial prediction value of the image component to be predicted and the actual numerical value of the image component to be predicted. A filtering process can then be performed on the initial prediction residual in a preset processing mode to obtain a target prediction residual of the image component to be predicted, and a target prediction value of the image component to be predicted can be obtained based on the target prediction residual. The target prediction residual is as small as possible, so the target prediction value of the image component to be predicted is as close as possible to the actual numerical value of the image component to be predicted. That is, the embodiments of the present application can be used not only to perform a filtering process on the initial prediction value of the image component to be predicted of the current block, but also to perform a filtering process on the initial prediction residual of the image component to be predicted of the current block. After the filtering process, the statistical characteristics of each image component after cross-component prediction can be balanced, which not only improves prediction efficiency but also reduces the prediction residual of the image component to be predicted because the obtained target prediction value is closer to the real value. In this way, the bit rate transmitted in the encoding and decoding process can be reduced, and at the same time, the efficiency of encoding and decoding of video images can be improved.

[0051] Furthermore, before obtaining an initial predicted value of the image component to be predicted of the current block, model parameters of the prediction model need to be determined to build the prediction model. Therefore, in some embodiments, in S401, before obtaining an initial predicted value of the image component to be predicted of the current block in the image using the prediction model, the method can further include:

[0052] 2. Determine the reference value of the image component to be predicted of the current block. The reference value of the image component to be predicted of the current block is the image component value to be predicted of the neighboring samples of the current block.

[0053] Determine the reference value of the reference image component of the current block, where the reference image component of the current block and the image component to be predicted are different, and the reference value of the reference image component of the current block is the reference image component value of the neighboring sample of the current block.

[0054] The model parameters of the prediction model are calculated based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.

[0055] A prediction model is constructed based on the calculated model parameters, and the prediction model is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the image component to be referenced of the current block.

[0056] In embodiments of the present application, the prediction model may be a linear model, for example, a cross-component prediction technique such as CCLM prediction. The prediction model may also be a nonlinear model, for example, a cross-component prediction technique such as multi-model CCLM (Multiple Model CCLM, MMLM) prediction, which is composed of multiple linear models. Although the embodiments of the present application will be described using an example in which the prediction model is a linear model, the prediction method according to the embodiments of the present application can also be applied to nonlinear models.

[0057] JPEG2025116174000003.jpg47150

[0058] A preset factor calculation model constructed using the least squares method will be described as an example. First, it is necessary to determine the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block. The reference value of the image component to be referenced of the current block may be the reference image component value of the neighboring sample of the current block (e.g., the neighboring reference value of the first image component), and the reference value of the image component to be predicted of the current block may be the image component value of the neighboring sample of the current block (e.g., the neighboring reference value of the second image component). The model parameters of the prediction model are derived using the minimum regression error between the neighboring reference sample value of the first image component and the neighboring reference sample value of the second image component. See Equation (1) for details.

number

[0059] JPEG2025116174000005.jpg44150

number

[0060] JPEG2025116174000007.jpg44150

[0061] Taking a preset factor calculation model constructed with maximum and minimum values as an example, a simplified method for deriving model parameters is provided. Specifically, as shown in Equation (3), the maximum first image component adjacent reference value and the minimum first image component adjacent reference value are searched for, and then the model parameters of the prediction model can be derived based on the principle of determining a line with two points.

number

[0062] JPEG2025116174000009.jpg68150

[0063] After constructing the prediction model, image components can be predicted based on the prediction model. For example, a second image component can be predicted using a first image component based on the prediction model shown in Equation (2). For example, a chroma component can be predicted using a luma component to obtain an initial predicted value for the chroma component, and then a preset processing mode can be used to filter the initial predicted value based on the reference value of the luma component and / or the reference value of the chroma component to obtain a target predicted value for the chroma component. A first image component can also be predicted using a second image component. For example, a chroma component can be predicted using a luma component to obtain an initial predicted value for the luma component, and then a preset processing mode can be used to filter the initial predicted value based on the reference value of the luma component and / or the reference value of the chroma component to obtain a target predicted value for the luma component. Furthermore, a third image component can also be predicted using a second image component. For example, a blue chroma component can be predicted using a red chroma component to obtain an initial predicted value for the red chroma component, and then a preset processing mode can be used to filter the initial predicted value based on the reference value of the blue chroma component and / or the reference value of the red chroma component to obtain a target predicted value for the red chroma component. In this way, the goal of improving the efficiency of prediction can be achieved.

[0064] Furthermore, since each image component has a different resolution, in order to conveniently build a predictive model, it is necessary to adjust the resolution of the image component (including upsampling the image component or downsampling the image component) to thus reach the target resolution.

[0065] Optionally, in some embodiments, before calculating the model parameters of the predictive model, the method further includes:

[0066] When the resolution of the image component to be predicted of the current block is different from the resolution of the image component to be referenced of the current block, the resolution of the image component to be referenced is adjusted. The resolution adjustment includes upsampling adjustment or downsampling adjustment.

[0067] According to the resolution of the reference image component after adjustment, the reference value of the reference image component of the current block is updated to obtain a first reference value of the reference image component of the current block, and the resolution of the reference image component after adjustment and the resolution of the image component to be predicted are the same.

[0068] Optionally, in some embodiments, before calculating the model parameters of the predictive model, the method further includes:

[0069] When the resolution of the image component to be predicted of the current block is different from the resolution of the image component to be referenced of the current block, the reference value of the image component to be referenced of the current block is adjusted to obtain the first reference value of the image component to be referenced of the current block, and the adjustment process includes one of downsampling filtering, upsampling filtering, cascade filtering of downsampling filtering and low-pass filtering, and cascade filtering of upsampling filtering and low-pass filtering.

[0070] If the resolution of the image component to be predicted of the current block is different from the resolution of the image component to be referenced of the current block, the resolution of the image component to be referenced can be adjusted so that the resolution of the image component to be referenced after the adjustment is the same as the resolution of the image component to be predicted. The resolution adjustment includes upsampling adjustment or downsampling adjustment. Based on the resolution of the image component to be referenced after the adjustment, the reference value of the image component to be referenced of the current block is updated to obtain a first reference value of the image component to be referenced of the current block.

[0071] Furthermore, when the resolution of the image component to be predicted of the current block is different from the resolution of the image component to be referenced of the current block, an adjustment process may be performed on the reference value of the image component to be referenced of the current block to obtain a first reference value of the image component to be referenced of the current block, where the adjustment process may include one of downsampling filtering, upsampling filtering, cascade filtering of downsampling filtering and low-pass filtering, and cascade filtering of upsampling filtering and low-pass filtering.

[0072] Furthermore, in some embodiments, calculating model parameters of a prediction model based on a reference value of an image component to be predicted of a current block and a reference value of an image component to be referenced of a current block may include the following:

[0073] A model parameter of a prediction model is calculated based on the reference value of the image component to be predicted of the current block and the first reference value of the image component to be referenced of the current block.

[0074] If the resolution of the image component of the current block to be predicted is different from the resolution of the image component of the current block to be referenced, a first reference value of the image component of the current block to be referenced after updating is obtained, and then model parameters of the prediction model are calculated based on the reference value of the image component of the current block to be predicted and the first reference value of the image component of the current block to be referenced.

[0075] For example, assuming that a chroma component is predicted via a luma component, the image component to be used is the luma component, and the image component to be predicted is the chroma component. Because the luma component and the chroma component have different resolutions, after obtaining a target resolution for the chroma component, the resolution of the luma component does not match the target resolution, so it is necessary to adjust the resolution of the luma component. For example, downsampling is performed on the luma component so that the resolution of the luma component after adjustment matches the target resolution. Conversely, when predicting a luma component via a chroma component, after obtaining a target resolution for the luma component, the resolution of the chroma component does not match the target resolution, so it is necessary to adjust the resolution of the chroma component. For example, upsampling is performed on the chroma component so that the resolution of the chroma component after adjustment matches the target resolution. Furthermore, when predicting a red chroma component via a blue chroma component, the target resolution for the red chroma component is obtained so that the resolution of the blue chroma component matches the target resolution, so it is not necessary to adjust the resolution of the blue chroma component, and it is already guaranteed that the resolution of the blue chroma component matches the target resolution. In this way, the first reference value of the image component to be referenced of the updated current block based on the same resolution is obtained, and a prediction model is constructed to predict the image component.

[0076] In addition, to improve prediction efficiency, a filtering process can be performed on the initial predicted value of the image component to be predicted of the current block based solely on the reference value of the image component to be predicted of the current block.

[0077] In some embodiments, in S402, filtering the initial predictions may include:

[0078] According to the reference value of the image component to be predicted of the current block, a filtering process is performed on the initial predicted value to obtain a target predicted value. The reference value of the image component to be predicted of the current block can be obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block.

[0079] Furthermore, performing a filtering process on the initial predicted value based on the reference value of the image component to be predicted of the current block may include the following:

[0080] Based on the reference value of the image component to be predicted of the current block, a filtering process is performed on the initial prediction value using a preset processing mode, which includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, and an adaptive filtering process.

[0081] In some embodiments, in S402, performing a filtering process on the initial prediction value includes:

[0082] The initial prediction value is used to calculate the initial prediction residual of the image component to be predicted of the current block.

[0083] Based on the reference value of the image component to be predicted of the current block, a filtering process is performed on the initial prediction residual using a preset processing mode, which includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, and an adaptive filtering process.

[0084] It should be noted that the preset processing mode may be a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, or an adaptive filtering process. In addition, the reference value of the image component to be predicted of the current block may be obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block. The characteristic statistics here are not limited to the image component to be predicted of the current block, but may be performed on the image component to be predicted of the image to which the current block belongs.

[0085] In this way, in the filtering process, an initial prediction value of the image component to be predicted of the current block is obtained, and then a filtering process is performed on the initial prediction value using a preset processing mode based on the reference value of the image component to be predicted of the current block to obtain a target prediction value. Alternatively, an initial prediction residual of the image component to be predicted of the current block is calculated using the initial prediction value, and then a filtering process is performed on the initial prediction residual using a preset processing mode based on the reference value of the image component to be predicted of the current block to obtain a target prediction residual, and then a target prediction value is obtained based on the target prediction residual.

[0086] In order to improve prediction efficiency, a filtering process can be performed on the initial predicted value of the image component to be predicted of the current block based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.

[0087] In some embodiments, in S401, before obtaining an initial predicted value of an image component to be predicted of a current block in an image by a prediction model, the method may further include the following content:

[0088] A characteristic statistic is performed on the image component to be predicted.

[0089] According to the result of the characteristic statistics, a reference value of the image component to be predicted of the current block and a reference value of the image component to be referenced of the current block are determined, where the image component to be referenced and the image component to be predicted are different.

[0090] The model parameters of the prediction model are calculated based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.

[0091] Furthermore, in some embodiments, the method may further include:

[0092] Based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block, a filtering process is performed on the initial predicted value using a preset processing mode, which includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, and an adaptive filtering process.

[0093] Different image components have different statistical properties, and differences exist between the statistical properties of each image component. For example, the luminance component has rich texture characteristics, while the chroma component tends to be more uniform and flat. To balance the statistical properties of each image component after cross-component prediction, it is necessary to perform property statistics on at least one image component of the current block. For example, property statistics are performed on the image component to be predicted of the image. Next, based on the result of the property statistics, a reference value of the image component to be predicted of the current block and a reference value of the image component to be referenced of the current block are determined. Based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block, not only can model parameters of the prediction model be calculated to build a prediction model, but also a filtering process can be performed on the initial prediction value to balance the statistical properties of each image component after cross-component prediction, thereby improving prediction efficiency.

[0094] 5 is a schematic diagram illustrating the structure of an improved cross-component prediction architecture according to an embodiment of the present application. As shown in FIG. 5, based on the conventional cross-component prediction architecture 10 shown in FIG. 1, the improved cross-component prediction architecture 50 may further include a processing unit 510. The processing unit 510 is mainly used to perform related processing on the prediction value obtained by the cross-component prediction unit 160 to obtain a more accurate target prediction value.

[0095] JPEG2025116174000010.jpg100150

[0096] In an embodiment of the present application, when the image prediction method is applied to an encoder, a target predicted value is obtained, and then a prediction residual is determined based on the difference between the target predicted value and a real value, and the prediction residual is written to a bitstream. At the same time, model parameters of a prediction model can be calculated based on a reference value of an image component to be predicted of a current block and a reference value of an image component to be referenced of the current block, and the obtained model parameters can be written to a bitstream. This bitstream is transmitted from the encoder to a decoder. Conversely, when the image prediction method is applied to a decoder, the bitstream can be analyzed to obtain the prediction residual, and the bitstream can be analyzed to obtain the model parameters of the prediction model, and a prediction model can be constructed. In this way, the decoder can still use the prediction model to obtain an initial predicted value of the image component to be predicted of the current block, and then perform a filtering process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block.

[0097] This embodiment provides an image prediction method. An initial prediction value of an image component to be predicted of a current block in an image is obtained using a prediction model. A filtering process is then performed on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block. After predicting at least one image component of the current block, the filtering process is continued on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only is prediction efficiency improved, but the obtained target prediction value is closer to a realistic value, resulting in a smaller prediction residual for the image component, which reduces the bit rate required for encoding and decoding, and simultaneously improves the efficiency of video image encoding and decoding.

[0098] Based on the same inventive idea as the above embodiment, refer to Figure 6, which is a schematic diagram showing the structure of an encoder 60 according to an embodiment of the present application. The encoder 60 can include a first prediction unit 601 and a first processing unit 602.

[0099] The first prediction unit 601 is used to obtain an initial prediction value of an image component to be predicted of a current block in an image by a prediction model.

[0100] The first processing unit 602 is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.

[0101] In the above embodiment, referring to FIG. 6, the encoder 60 may further include a first statistics unit 603 and a first acquisition unit 604 .

[0102] The first statistics unit 603 is used for performing characteristic statistics on at least one image component of the current block, the at least one image component including a to-be-predicted image component and / or a to-be-referenced image component, and the to-be-predicted image component and the to-be-referenced image component are different.

[0103] The first obtaining unit 604 is used to obtain a reference value of a to-be-predicted image component of the current block and / or a reference value of a to-be-referenced image component of the current block based on the result of the characteristic statistics. The to-be-predicted image component is a component to be predicted when constructing a prediction model, and the to-be-referenced image component is a component used for prediction when constructing a prediction model.

[0104] In the above embodiment, the first processing unit 602 is used to perform a filtering process on the initial prediction value based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0105] The first obtaining unit 604 is used for obtaining a target predicted value based on the processing result.

[0106] In the above embodiment, referring to FIG. 6, the encoder 60 may further include a calculation unit 605 used to calculate an initial prediction residual of the image component to be predicted of the current block based on the initial prediction value.

[0107] The first processing unit 602 is used to perform a filtering process on the initial prediction residual based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0108] The first obtaining unit 604 is used for obtaining a target prediction residual based on the processing result.

[0109] In the above embodiment, the calculation unit 605 is used to calculate the target prediction value of the image component to be predicted of the current block based on the target prediction residual.

[0110] In the above embodiment, referring to FIG. 6, the encoder 60 may further include a first determining unit 606 and a first constructing unit 607 .

[0111] The first determination unit 606 is used to determine a reference value of a predicted image component of the current block. The reference value of the predicted image component of the current block is the predicted image component value of the neighboring sample of the current block. The first determination unit 606 is also used to determine a reference value of a reference image component of the current block. The reference image component of the current block and the predicted image component are different, and the reference value of the reference image component of the current block is the reference image component value of the neighboring sample of the current block.

[0112] The calculation unit 605 is further used for calculating model parameters of a prediction model based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.

[0113] The first construction unit 607 is used to construct a prediction model based on the calculated model parameters, which is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the reference image component of the current block.

[0114] In the above embodiment, referring to FIG. 6 , the encoder 60 may further include a first adjustment unit 608. The first adjustment unit 608 is used to adjust the resolution of the reference image component of the current block when the resolution of the image component to be predicted is different from the resolution of the reference image component of the current block. The resolution adjustment includes upsampling adjustment and downsampling adjustment. The first adjustment unit 608 is also used to update the reference value of the reference image component of the current block based on the resolution of the reference image component after the adjustment to obtain a first reference value of the reference image component of the current block. The resolution of the reference image component and the resolution of the image component to be predicted are the same after the adjustment.

[0115] In the above embodiment, when the resolution of the image component to be predicted of the current block is different from the resolution of the reference image component of the current block, the first adjustment unit 608 is also used to perform an adjustment process on the reference value of the reference image component of the current block to obtain the first reference value of the reference image component of the current block, where the adjustment process includes one of downsampling filtering, upsampling filtering, cascade filtering of downsampling filtering and low-pass filtering, and cascade filtering of upsampling filtering and low-pass filtering.

[0116] In the above embodiment, the calculation unit 605 is further used to calculate model parameters of a prediction model based on the reference value of the image component to be predicted of the current block and the first reference value of the image component to be referenced of the current block.

[0117] In the above embodiment, the first processing unit 602 is also used to perform a filtering process on the initial predicted value based on the reference value of the image component to be predicted of the current block to obtain a target predicted value, where the reference value of the image component to be predicted of the current block is obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block.

[0118] In the above embodiment, the first processing unit 602 is further used to perform a filtering operation on the initial prediction value based on the reference value of the image component to be predicted of the current block using a preset processing mode, which includes at least one of a filtering operation, a grouping operation, a value correction operation, a quantization operation, an inverse quantization operation, a low-pass filtering operation, and an adaptive filtering operation.

[0119] In the above embodiment, the calculation unit 605 is also used to calculate the initial prediction residual of the image component to be predicted of the current block using the initial prediction value.

[0120] The first processing unit 602 is further used to perform a filtering operation on the initial prediction residual based on the reference value of the image component to be predicted of the current block using a preset processing mode, which includes at least one of a filtering operation, a grouping operation, a value correction operation, a quantization operation, an inverse quantization operation, a low-pass filtering operation, and an adaptive filtering operation.

[0121] In the above embodiment, the first statistics unit 603 is also used to perform characteristic statistics on the image components of the image to be predicted.

[0122] The first determining unit 606 is further used for determining, according to the result of the characteristic statistics, the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block, where the image component to be referenced and the image component to be predicted are different.

[0123] The calculation unit 605 is further used to calculate model parameters of a prediction model based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.

[0124] In the above embodiment, the first processing unit 602 is further used to perform a filtering process on the initial predicted value according to the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, and an adaptive filtering process.

[0125] In the embodiments of the present application, it can be understood that a "unit" can be a part of a circuit, a part of a processor, a part of a program, or software, and may or may not be a module. Furthermore, various components of the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be realized in the form of a hardware or software functional module.

[0126] The integrated unit may be realized as a software functional unit and stored in a computer-readable recording medium when sold or used as an independent product. Based on this understanding, an essential part of the technical solution of the present application, a part that contributes to the prior art, or all or part of the technical solution may be expressed as a software product. The computer software product is stored in a storage medium and includes a plurality of commands for causing a computer (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method according to the present embodiment. The storage medium may include various media capable of storing program code, such as a USB (Universal Serial Bus) flash disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0127] Therefore, an embodiment of the present application provides a computer storage medium used to store an image prediction program, which, when executed by at least one processor, performs the method described in the above embodiment.

[0128] The above-described configuration of the encoder 60 and the computer Based on the storage medium, refer to FIG. 7, which is a diagram showing a specific hardware structure of an encoder 60 according to an embodiment of the present application. The encoder 60 may include a first communication interface 701, a first memory 702, and a first processor 703. Various components are coupled together via a first bus system 704. The first bus system 704 is used to realize the connection and communication between these components. In addition to a data bus, the first bus system 704 further includes a power bus, a control bus, and a status signal bus. However, for clarity of description, various buses are marked as the first bus system 704 in FIG. 7.

[0129] The first communication interface 701 is used to send and receive signals in the process of sending and receiving information to and from other external network elements.

[0130] The first memory 702 is used to store a computer program executable by the first processor 703 .

[0131] When the first processor 703 executes the computer program, it obtains an initial predicted value of the image component to be predicted of the current block in the image using a prediction model, and performs a filtering process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block.

[0132] The first memory 702 of the present application can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. The nonvolatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) that functions as an external high-speed cache. By way of illustrative, but non-limiting example, various RAMs are available, including Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synch-link Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The first memory 702 of the systems and methods described herein may comprise, without being limited to, these and any other suitable types of memory.

[0133] The first processor 703 in the embodiments of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above-described method embodiments may be completed by an integrated logic circuit (integrated logic circuit) in the form of hardware or instructions in the form of software in the first processor 703. The above-described first processor 703 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly executed and completed by a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is in the first memory 702. The first processor 703 reads the information in the first memory 702 and completes the steps of the above-mentioned method together with the processor hardware.

[0134] It may be understood that the embodiments described herein may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented by hardware, the processing unit may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processing (DSPs), DSP devices, Programmable Logic Devices (PLDs), Field-Programmable Gate Arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units, or a combination thereof, used to perform the functions described herein. When implemented by software, the techniques described herein may be implemented by modules (e.g., procedures, functions, etc.) for performing the functions described herein. The software code is stored in memory and executed by the processor. The memory may be implemented within the processor or external to the processor.

[0135] Optionally, in another embodiment, the first processor 703, when executing a computer program, is used to perform the method according to any one of the above embodiments.

[0136] An embodiment of the present application provides an encoder including a first prediction unit and a first processing unit. The first prediction unit is used to obtain an initial prediction value of an image component to be predicted of a current block in an image using a prediction model. The first processing unit is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block. In this way, after predicting at least one image component of the current block, the filtering process is continued to be performed on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only is prediction efficiency improved, but the obtained target prediction value is closer to a realistic value, which reduces the prediction residual of the image component, thereby reducing the bit rate required for encoding and decoding, and simultaneously improving the efficiency of encoding and decoding of video images.

[0137] Based on the same inventive concept as the above-described embodiment, reference is now made to Figure 8, which is a schematic diagram illustrating the structure of a decoder 80 according to an embodiment of the present application. The decoder 80 may include a second prediction unit 801 and a second processing unit 802.

[0138] The second prediction unit 801 is used to obtain an initial prediction value of the image component to be predicted of the current block in the image according to a prediction model.

[0139] The second processing unit 802 is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block.

[0140] In the above embodiment, referring to FIG. 8, the decoder 80 may further include a second statistics unit 803 and a second acquisition unit 804 .

[0141] The second statistics unit 803 is used for performing characteristic statistics on at least one image component of the current block, the at least one image component including a to-be-predicted image component and / or a to-be-referenced image component, and the to-be-predicted image component and the to-be-referenced image component are different.

[0142] The second obtaining unit 804 is used to obtain a reference value of a to-be-predicted image component of the current block and / or a reference value of a to-be-referenced image component of the current block based on the result of the characteristic statistics. The to-be-predicted image component is a component to be predicted when constructing a prediction model, and the to-be-referenced image component is a component used for prediction when constructing a prediction model.

[0143] In the above embodiment, the second processing unit 802 is used to perform a filtering process on the initial prediction value based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0144] The second obtaining unit 804 is used for obtaining a target predicted value based on the processing result.

[0145] In the above embodiment, referring to FIG. 8, the decoder 80 may further include a parsing unit 805 used to parse the bitstream to obtain an initial prediction residual of the image component to be predicted of the current block.

[0146] The second processing unit 802 is used to perform a filtering process on the initial prediction residual based on the reference value of the image component to be predicted of the current block and / or the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, and a dequantization process.

[0147] The second obtaining unit 804 is used for obtaining a target prediction residual based on the processing result.

[0148] In the above embodiment, referring to FIG. 8, the decoder 80 may further include a second construction unit 806 .

[0149] The parsing unit 805 is further used to parse the bitstream to obtain model parameters of the prediction model.

[0150] The second construction unit 806 is used to construct a prediction model based on the analyzed model parameters, which is used to perform cross-component prediction processing on the image component to be predicted of the current block based on the reference image component of the current block.

[0151] In the above embodiment, referring to FIG. 8 , the decoder 80 may further include a second adjustment unit 807. The second adjustment unit 807 is used to perform resolution adjustment on the resolution of the reference image component of the current block when the resolution of the image component to be predicted of the current block is different from the resolution of the reference image component of the current block. The second adjustment unit 807 is also used to update the reference value of the reference image component of the current block based on the resolution of the reference image component after adjustment to obtain the first reference value of the reference image component of the current block. The resolution adjustment includes upsampling adjustment and downsampling adjustment. The resolution of the reference image component after adjustment is the same as the resolution of the image component to be predicted.

[0152] In the above embodiment, when the resolution of the image component to be predicted of the current block is different from the resolution of the reference image component of the current block, the second adjustment unit 807 is also used to perform an adjustment process on the reference value of the reference image component of the current block to obtain the first reference value of the reference image component of the current block, where the adjustment process includes one of downsampling filtering, upsampling filtering, cascade filtering of downsampling filtering and low-pass filtering, and cascade filtering of upsampling filtering and low-pass filtering.

[0153] In the above embodiment, the second processing unit 802 is also used to perform a filtering process on the initial predicted value based on the reference value of the image component to be predicted of the current block to obtain a target predicted value, where the reference value of the image component to be predicted of the current block is obtained by performing characteristic statistics on the image component to be predicted of the image or the image component to be predicted of the current block.

[0154] In the above embodiment, the second processing unit 802 is further used to perform a filtering operation on the initial prediction value based on the reference value of the image component to be predicted of the current block using a preset processing mode, which includes at least one of a filtering operation, a grouping operation, a value correction operation, a quantization operation, an inverse quantization operation, a low-pass filtering operation, and an adaptive filtering operation.

[0155] In the above embodiment, the parsing unit 805 is further used to parse the bitstream to obtain the initial prediction residual of the image component to be predicted of the current block.

[0156] The second processing unit 802 is further used to perform a filtering operation on the initial prediction residual based on the reference value of the image component to be predicted of the current block using a preset processing mode, which includes at least one of a filtering operation, a grouping operation, a value correction operation, a quantization operation, an inverse quantization operation, a low-pass filtering operation, and an adaptive filtering operation.

[0157] In the above embodiment, referring to FIG. 8, the decoder 80 may further include a second determination unit 808 .

[0158] The second statistics unit 803 is also used to perform characteristic statistics on the image components of the image to be predicted.

[0159] The second determining unit 808 is further used for determining, according to the result of the characteristic statistics, the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block, where the image component to be referenced and the image component to be predicted are different.

[0160] In the above embodiment, the second processing unit 802 is further used to perform a filtering process on the initial predicted value according to the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block using a preset processing mode, where the preset processing mode includes at least one of a filtering process, a grouping process, a value correction process, a quantization process, an inverse quantization process, a low-pass filtering process, and an adaptive filtering process.

[0161] In the embodiments of the present application, it can be understood that a "unit" can be a part of a circuit, a part of a processor, a part of a program, or software, and may or may not be a module. Furthermore, various components of the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be realized in the form of a hardware or software functional module.

[0162] The integrated unit may be realized as a software functional module and stored in a computer-readable recording medium when sold or used as an independent product. According to this understanding, an embodiment of the present application provides a computer storage medium used to store an image prediction program, which, when executed by a second processor, realizes the method according to any one of the above embodiments.

[0163] Based on the above-mentioned configuration of the decoder 80 and the computer storage medium, reference is now made to FIG. 9, which illustrates a specific hardware structure of the decoder 80 according to an embodiment of the present application. The decoder 80 may include a second communication interface 901, a second memory 902, and a second processor 903. Various components are coupled together via a second bus system 904. The second bus system 904 is used to realize the connection and communication between these components. In addition to a data bus, the second bus system 904 further includes a power bus, a control bus, and a status signal bus. However, for clarity of explanation, various buses are marked as the second bus system 904 in FIG. 9.

[0164] The second communication interface 901 is used to send and receive signals in the process of sending and receiving information to and from other external network elements.

[0165] The second memory 902 is used to store a computer program executable by the second processor 903 .

[0166] When the second processor 903 executes the computer program, it obtains an initial predicted value of the image component to be predicted of the current block in the image using a prediction model, and performs a filtering process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block.

[0167] Optionally, in another embodiment, the second processor 903 is further used to execute the method described in any one of the above embodiments when executing a computer program.

[0168] The hardware functions of the second memory 902 and the first memory 702 are similar, and the hardware functions of the second processor 903 and the first processor 703 are similar, so they will not be described in detail here.

[0169] An embodiment of the present application provides a decoder including a second prediction unit and a second processing unit. The second prediction unit is used to obtain an initial prediction value of an image component to be predicted of a current block in an image using a prediction model. The second processing unit is used to perform a filtering process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block. In this way, after predicting at least one image component of the current block, by continuing to perform a filtering process on this one image component, it is possible to balance the statistical characteristics of each image component after cross-component prediction. Therefore, not only is prediction efficiency improved, but the efficiency of video image encoding and decoding can also be improved.

[0170] As used herein, terms such as "comprise," "include," or variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements may include not only the listed elements, but also other elements not listed, or other elements inherent to the process, method, object, or apparatus. Absent more limitations, a process, method, object, or apparatus that includes elements limited by a "comprising" statement does not exclude the presence of other identical elements.

[0171] The sequence numbers of the above-described embodiments are used for explanation purposes only and do not represent the superiority or inferiority of the embodiments.

[0172] The methods disclosed in the several method embodiments of this application can be combined in any manner to arrive at new method embodiments, provided there is no contradiction.

[0173] The features disclosed in the various product embodiments of this application may be combined in any manner to arrive at new product embodiments, unless inconsistent.

[0174] The features disclosed in any method or apparatus embodiment according to the present application may be combined in any manner, unless inconsistent, to arrive at new method or apparatus embodiments.

[0175] The above are only specific embodiments of the present invention, and the scope of protection of the present invention is not limited thereto. Those skilled in the art can easily think of modifications or replacements within the technical scope disclosed in the present invention, and all of these should be included in the scope of this application. Therefore, the scope of protection of this application should be determined by the claims.

[0176] Industrial Applicability

[0177] In an embodiment of the present application, an initial predicted value of an image component to be predicted of a current block in an image is first obtained using a prediction model. Then, a filtering process is performed on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block. In this way, after predicting at least one image component of the current block, the filtering process is continuously performed on this at least one image component, thereby balancing the statistical characteristics of each image component after cross-component prediction. Therefore, not only can the prediction efficiency be improved, but the obtained target predicted value is closer to a real value, which reduces the prediction residual of the image component, thereby reducing the bit rate required for encoding and decoding, and simultaneously improving the efficiency of encoding and decoding of video images.

Claims

1. 1. An image prediction method for use in an encoder, comprising: obtaining an initial prediction value of an image component to be predicted of a current block in an image using a prediction model; performing a correction process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block; Including, 1. An image prediction method comprising:

2. The image prediction method includes: obtaining a reference value of the image component to be predicted of the current block based on characteristic statistics for the image component to be predicted of the current block; The image component to be predicted is a component to be predicted when constructing the prediction model.

2. The image prediction method according to claim 1.

3. performing a correction process on the initial predicted value to obtain a target predicted value of an image component to be predicted of the current block; performing a correction process on the initial predicted value based on a reference value of an image component to be predicted of the current block to obtain the target predicted value; 3. The image prediction method according to claim 2.

4. performing characteristic statistics on the image component to be predicted of the current block, downsampling the image component of the current block to be predicted based on a size of the current block to obtain an average value; 3. The image prediction method according to claim 2.

5. The image prediction method includes: If a resolution of an image component to be predicted of the current block is different from a resolution of an image component to be referenced of the current block, downsampling is performed on the resolution of the image component to be referenced; The image component to be referenced is a component used for prediction when constructing the prediction model.

2. The image prediction method according to claim 1.

6. 1. An image prediction method for use in a decoder, comprising: obtaining an initial prediction value of an image component to be predicted of a current block in an image using a prediction model; performing a correction process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block; Including, 1. An image prediction method comprising:

7. The image prediction method includes: obtaining a reference value of the image component to be predicted of the current block based on characteristic statistics for the image component to be predicted of the current block; The image component to be predicted is a component to be predicted when constructing the prediction model.

7. The image prediction method according to claim 6.

8. performing a correction process on the initial predicted value to obtain a target predicted value of an image component to be predicted of the current block; performing a correction process on the initial predicted value based on a reference value of an image component to be predicted of the current block to obtain the target predicted value; 8. The image prediction method according to claim 7.

9. performing characteristic statistics on the image component to be predicted of the current block, downsampling the image component to be predicted of the current block based on a dimension of the current block to obtain an average value; 8. The image prediction method according to claim 7.

10. The image prediction method includes: If a resolution of an image component to be predicted of the current block is different from a resolution of an image component to be referenced of the current block, downsampling is performed on the resolution of the image component to be referenced; The image component to be referenced is a component used for prediction when constructing a prediction model.

7. The image prediction method according to claim 6.

11. an encoder, a first prediction unit used to obtain an initial prediction value of an image component to be predicted of a current block in an image according to a prediction model; a first processing unit used for performing a correction process on the initial prediction value to obtain a target prediction value of the image component to be predicted of the current block; Including, An encoder characterized by:

12. a decoder, a second prediction unit used to obtain an initial prediction value of the image component to be predicted of the current block in the image according to the prediction model; a second processing unit used for performing a correction process on the initial predicted value to obtain a target predicted value of the image component to be predicted of the current block; Including, A decoder characterized by:

13. 1. A computer storage medium, comprising: the computer storage medium stores an image prediction program; When the image prediction program is executed by the first processor or the second processor, the method according to any one of claims 1 to 10 is realized. A computer storage medium comprising:

14. 1. A method for transmitting a bitstream, comprising: transmitting a bitstream; The bitstream is generated by the image prediction method according to any one of claims 1 to 5.

1. A method for transmitting a bitstream, comprising:

Citation Information

Patent Citations

  • Intra-prediction device, image encoding device, image decoding device, and program

    WO2020036130A1