Image component prediction method, encoder, decoder, and storage medium

By determining optimal CCLM parameters and writing index values into a bitstream, the method addresses the complexity issue in H.266/VVC, improving encoding and decoding efficiency for video coding.

JP2025124822APending Publication Date: 2025-08-26GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The complexity of the encoding and decoding processes in video coding standards like H.266/VVC is increased due to the need to determine neighboring block positions for cross-component linear model prediction (CCLM), reducing efficiency.

Method used

An encoder determines multiple sets of CCLM parameters using reference points of a current block, selects an optimal target CCLM parameter, and writes a CCLM index value into a bitstream, allowing a decoder to determine the intra-prediction value based on these parameters, thereby reducing complexity and improving efficiency.

Benefits of technology

This method significantly reduces the complexity of encoding and decoding processes by allowing the encoder/decoder to determine intra-prediction values efficiently using CCLM parameters, enhancing overall efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025124822000001_ABST
    Figure 2025124822000001_ABST
Patent Text Reader

Abstract

To provide a prediction method that significantly reduces a complexity of encoding and decoding processing and improves encoding and decoding efficiency.SOLUTION: A prediction method includes steps of: determining a plurality of sets of CCLM parameters using a plurality of sets of reference points of a current block when the current block determines an intra prediction value of the current block according to a CCLM; determining a target CCLM parameter from the plurality of sets of CCLM parameters; writing the CCLM index value into a bitstream by setting a CCLM index value based on the target CCLM parameter; determining an intra prediction value of the current block based on the target CCLM parameter; and determining a residual value of the current block based on the intra prediction value of the current block.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] TECHNICAL FIELD Embodiments of the present application relate to the field of image processing, and more particularly to a method for predicting image components, an encoder, a decoder, and a storage medium. [Background technology]

[0002] As people's demands for video display quality increase, new video application formats such as high-definition and ultra-high-definition video are emerging. H.265 / High Efficiency Video Coding (HEVC) can no longer meet the needs of the rapid development of video applications. Therefore, the Joint Video Exploration Team (JVET) has proposed the next-generation video coding standard, H.266 / Versatile Video Coding (VVC), and its corresponding test model is the VVC Reference Software Test Model (VTM, VVC Test Model).

[0003] In VVC, prediction from luma values ​​to chroma values ​​or prediction between chroma values ​​can be realized using a cross-component linear model prediction (CCLM) mode. Specifically, a linear model can be constructed for neighboring luma parameters and chroma parameters corresponding to the current block using a linear regression method, and then a chroma prediction value can be calculated based on the linear model and the reconstructed luma value. In the process of performing intra prediction using CCLM mode, it is necessary to determine the positions of neighboring blocks of the current block, which significantly increases the complexity of the encoding and decoding process and reduces the encoding and decoding efficiency. Summary of the Invention [Problem to be solved by the invention]

[0004] The embodiments of the present application provide an image component prediction method, an encoder, a decoder, and a storage medium, which significantly reduce the complexity of the encoding / decoding process and improve the encoding / decoding efficiency. [Means for solving the problem]

[0005] The technical solution of the embodiment of the present application can be realized as follows.

[0006] In a first aspect, embodiments of the present application provide a method for predicting an image component, applied to an encoder, the method comprising: When a current block is determined to have an intra-predicted value by CCLM, a plurality of sets of reference points of the current block are used to determine a plurality of sets of corresponding CCLM parameters, and the CCLM parameters include a scale factor and an offset parameter; determining a target CCLM parameter from the plurality of sets of CCLM parameters, setting a CCLM index value based on the target CCLM parameter and writing it into the bitstream, and the CCLM index value is used to instruct the use of the target CCLM parameter; determining an intra prediction value for the current block based on the target CCLM parameters.

[0007] In a second aspect, embodiments of the present application provide a method for predicting an image component, adapted for a decoder, said method comprising: Parsing a bitstream to determine a prediction mode parameter of the current block; If the prediction mode parameter indicates that an intra prediction value of the current block is determined by CCLM, analyzing the bitstream to determine a CCLM index value of the current block; determining target CCLM parameters for the current block based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter; determining an intra prediction value for the current block based on the target CCLM parameters.

[0008] In a third aspect, embodiments of the present application provide an encoder, the encoder comprising: a first determining unit and a setting unit; The first determination unit is configured to determine a plurality of sets of CCLM parameters using a plurality of sets of reference points of the current block when determining an intra-predicted value of the current block by CCLM, the CCLM parameters including a scale factor and an offset parameter, and determine a target CCLM parameter from the plurality of sets of CCLM parameters; the setting unit is configured to set a CCLM index value based on the target CCLM parameter and write the CCLM index value to a bitstream, the CCLM index value being used to instruct use of the target CCLM parameter; The first determination unit is further configured to determine an intra prediction value for the current block based on the target CCLM parameter.

[0009] In a fourth aspect, an embodiment of the present application provides an encoder, the encoder comprising a first processor and a first memory storing instructions executable by the first processor, the instructions, when executed, causing the first processor to execute and realize the above-described image component prediction method.

[0010] In a fifth aspect, embodiments of the present application provide a decoder, the decoder comprising an analysis unit and a second determination unit; The parser is configured to parse a bitstream to determine a prediction mode parameter of the current block, and if the prediction mode parameter indicates that an intra prediction value of the current block is to be determined according to CCLM, to parse the bitstream to determine a CCLM index value of the current block; The second determination unit is configured to determine target CCLM parameters of the current block based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter, and to determine intra-predicted values ​​of the current block based on the target CCLM parameters.

[0011] In a sixth aspect, an embodiment of the present application provides a decoder, the decoder comprising a second processor and a second memory storing instructions executable by the second processor, the instructions, when executed, causing the second processor to execute and realize the above-mentioned image component prediction method.

[0012] In a seventh aspect, an embodiment of the present application provides a computer storage medium having a computer program stored therein, the computer program realizing the above-described image component prediction method when executed by a first processor and a second processor. [Effects of the Invention]

[0013] The present application provides a method for predicting an image component, an encoder, a decoder, and a storage medium. When an encoder determines an intra-prediction value of a current block using CCLM, the encoder uses multiple sets of reference points of the current block to determine multiple sets of corresponding CCLM parameters, where the CCLM parameters include a scale factor and an offset parameter, determines target CCLM parameters from the multiple sets of CCLM parameters, sets CCLM index values ​​based on the target CCLM parameters, and writes them into a bitstream. The CCLM index values ​​are used to indicate the use of the target CCLM parameters, and determines the intra-prediction value of the current block based on the target CCLM parameters. The decoder analyzes the bitstream to determine prediction mode parameters of the current block. If the prediction mode parameters indicate that the intra-prediction value of the current block should be determined using CCLM, the decoder analyzes the bitstream to determine CCLM index values ​​of the current block, and determines target CCLM parameters of the current block based on the CCLM index values, where the target CCLM parameters include a scale factor and an offset parameter, and determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in an embodiment of the present application, when an encoder determines that an intra-prediction value of a current block is determined by CCLM, it can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value instructing the use of the target CCLM parameter into a bitstream and transmit it to the decoding side, so that the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, thereby determining the intra-prediction value of the current block using the target CCLM parameter.That is, the image component prediction method according to the present application can write and transmit a target CCLM parameter from among multiple sets of CCLM parameters for a current block into a bitstream, thereby enabling the encoder / decoder to determine whether to perform intra prediction processing on the current block based on the target CCLM parameter, thereby significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 1 is a structural schematic diagram of a video encoding system. [Figure 2] FIG. 2 is a structural schematic diagram of a video decoding system. [Figure 3] FIG. 3 is a schematic implementation flowchart 1 of the image component prediction method. [Figure 4] FIG. 4 is a schematic implementation flowchart 2 of the image component prediction method. [Figure 5] FIG. 5 is a schematic implementation flowchart 3 of the image component prediction method. [Figure 6] FIG. 6 is a schematic implementation flowchart 4 of the image component prediction method. [Figure 7] FIG. 7 is a schematic implementation flowchart 5 of the method for predicting image components. [Figure 8] Figure 8 is a schematic diagram 1 of the location of the reference point of the current block. [Figure 9] Figure 9 is a schematic diagram 2 of the location of the reference point of the current block. [Figure 10] Figure 10 is a schematic diagram 3 of the location of the reference point of the current block. [Figure 11] FIG. 11 is a schematic diagram showing how the reference point position is determined in the INTRA_T_CCLM mode. [Figure 12] FIG. 12 is a schematic implementation flowchart 6 of the image component prediction method. [Figure 13] FIG. 13 is a schematic implementation flowchart 7 of the method for predicting image components. [Figure 14]FIG. 14 is a schematic implementation flowchart 8 of the method for predicting image components. [Figure 15] FIG. 15 is a schematic diagram showing the configuration of a transmitting device. [Figure 16] FIG. 16 is a schematic diagram of the configuration of the target device. [Figure 17] FIG. 17 is a schematic diagram of the configuration of a communication system. [Figure 18] FIG. 18 is a schematic diagram 1 of the configuration structure of the encoder. [Figure 19] FIG. 19 is a schematic diagram 2 of the encoder configuration structure. [Figure 20] FIG. 20 is a schematic diagram 1 of the decoder configuration. [Figure 21] FIG. 21 is a schematic diagram 2 of the decoder configuration structure. DETAILED DESCRIPTION OF THE INVENTION

[0015] In order to more fully understand the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings, which are for reference and explanation purposes only and are not intended to limit the embodiments of the present application.

[0016] Currently, the International Telecommunications Standards Organization (ITU-T) and the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) have launched a standardization project called Universal Video Coding (VVC) to develop a new generation video coding standard. The goal is to improve VVC performance by approximately 50% compared to the latest H.265 / HEVC standard when encoding high-quality video with one or more of the following characteristics: high resolution, high frame rate, high bit depth, high dynamic range, wide color gamut, and omnidirectional viewing angle. JVET is in charge of this standardization project and has verified that it achieves high compression efficiency when encoding high-quality video in various intra-prediction and inter-prediction modes, and therefore has been adopted in the VVC working draft.

[0017] The CCLM mode is an intra-prediction mode that instructs a linear model to be used to obtain a prediction of the chrominance components of a current block (i.e., a current coding block in an encoder or a current block in a decoder). The reconstructed chrominance components of the current block are used as input to the linear model, and the parameters of the linear model are calculated using neighboring samples (i.e., reference points) of the chrominance and luma components of the current block.

[0018] In a video image, a coding block (CB) is generally represented by a first image component, a second image component, and a third image component. These three image components are one luminance component, one blue chrominance component, and one red chrominance component, respectively. Specifically, the luminance component is generally represented by the symbol Y, the blue chrominance component is generally represented by the symbol Cb or U, and the red chrominance component is generally represented by the symbol Cr or V. Thus, the video image may be represented in a YCbCr format or a YUV format.

[0019] In the embodiment of the present application, the first image component may be a luminance component, the second image component may be a blue chromaticity component, and the third image component may be a red chromaticity component, but the embodiment of the present application is not specifically limited.

[0020] In order to further improve coding performance and coding efficiency in H.266, cross-component prediction (CCLM) is proposed as an extension and improvement of CCP. In H.266, CCLM realizes prediction from the first image component to the second image component, from the first image component to the third image component, and between the second image component and the third image component.

[0021] JPEG2025124822000002.jpg154167

[0022] Specifically, the CCLM mode not only includes a method of predicting a chrominance component from a luma component, i.e., a method of predicting a second image component from a first image component, or a method of predicting a third image component from a first image component, but also includes a method of predicting between two chrominance components, i.e., a method of predicting between a second image component and a third image component. In the embodiment of the present application, the Cr component may be predicted from the Cb component, or the Cb component may be predicted from the Cr component.

[0023] JPEG2025124822000003.jpg148166

[0024] In the current H.266 / VVC, when performing intra prediction using CCLM mode, it is necessary to determine the positions of neighboring blocks of the current block, which significantly increases the complexity of the encoding / decoding process and reduces the encoding / decoding efficiency.

[0025] To address the above deficiencies, in an embodiment of the present application, when an encoder determines that an intra-prediction value of a current block is to be determined using CCLM, it can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value, which instructs the decoder to use the target CCLM parameter, into a bitstream and transmit it to the decoding side. This allows the decoder to analyze the bitstream, obtain the CCLM index value, and determine the target CCLM parameter indicated by the CCLM index value, thereby determining the intra-prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write a target CCLM parameter from among sets of CCLM parameters of the current block into a bitstream and transmit it. This allows the encoder / decoder to determine intra-prediction processing for the current block based on the target CCLM parameter, significantly reducing the complexity of the encoding / decoding process and improving the encoding / decoding efficiency.

[0026] Figure 1 is a structural diagram of a video encoding system. As shown in Figure 1, the video encoding system 100 includes components such as a transform and quantization module 101, an intra estimation module 102, an intra prediction module 103, a motion compensation module 104, a motion estimation module 105, an inverse transform and inverse quantization module 106, a filter control analysis module 107, a deblocking filtering and sample adaptive offset (SAO) filtering module 108, a header information encoding and context-based adaptive binary arithmetic coding (CABAC) module 109, and a decoded image cache module 110. Figure 2 is a structural diagram of a video decoding system. 2, the video decoding system 200 includes components such as a header information decoding and CABAC decoding module 201, an inverse transform and inverse quantization module 202, an intra prediction module 203, a motion compensation module 204, a deblocking filtering and SAO filtering module 205, and a decoded image cache module 206. After a video image is processed by components such as the transform and quantization module 101, the intra estimation module 102, the intra prediction module 103, the motion compensation module 104, the motion estimation module 105, the deblocking filtering and SAO filtering module 108, and the header information encoding and CABAC module 109 in the video encoding system 100, the video decoding system 200 outputs a bitstream of the video image. The bitstream is input to the video decoding system 200 and processed by components such as the header information decoding and CABAC decoding module 201, the inverse transform and inverse quantization module 202, the intra prediction module 203, and the motion compensation module 204 in the video decoding system 200, to finally restore the original video image.

[0027] The image component prediction method according to the present application can affect the intra prediction process in the encoding and decoding process. For example, the image component prediction method according to the present application can be applied to the position of the intra prediction module 103 in the video encoding system structure shown in Figure 1, and can also be applied to the position of the intra prediction module 203 in the video decoding system structure shown in Figure 2.

[0028] The technical solutions of the embodiments of the present application will be described clearly and completely below with reference to the drawings of the embodiments of the present application. In the following embodiments, the first image component may be a luminance component Y, the second image component may be a red chromaticity component Cr, and the third image component may be a blue chromaticity component Cb, but the embodiments of the present application are not specifically limited thereto.

[0029] An embodiment of the present application provides a method for predicting an image component, which is applied to an encoder. Figure 3 is a schematic implementation flowchart 1 of the method for predicting an image component. As shown in Figure 3, in the present application, the method for predicting an image component by an encoder may include the following steps 101 to 103:

[0030] In step 101, when a current block is subjected to intra prediction by CCLM, a plurality of sets of reference points of the current block are used to determine a corresponding plurality of sets of CCLM parameters, where the CCLM parameters include a scale factor and an offset parameter.

[0031] In an embodiment of the present application, when a current block uses CCLM to determine its intra-prediction value, an encoder can use multiple sets of reference points of the current block to determine multiple sets of corresponding CCLM parameters, where one set of reference points corresponds to one set of CCLM parameters.

[0032] As will be appreciated, in the present embodiment, each set of CCLM parameters includes a scale factor and an offset parameter determined by a corresponding set of reference points.

[0033] In the embodiment of the present application, a video image may be divided into multiple image blocks, and a current block is an image block to be coded, which may be referred to as a coding block (CB). Specifically, each coding block may include a first image component, a second image component, and a third image component, and correspondingly, the current block is a coding block in the video image that is currently used to predict the first image component, the second image component, or the third image component.

[0034] It should be understood that in the present embodiment, if the current block performs first image component prediction and the first image component is a luma component, i.e., the image component to be predicted is a luma component, the current block may be referred to as a luma block, or if the current block performs second image component prediction and the second image component is a chroma component, i.e., the image component to be predicted is a chroma component, the current block may be referred to as a chroma block.

[0035] In addition, in the embodiment of the present application, the multiple sets of reference points of the current block may include pixel sampling points adjacent to the current block, and each set of reference points of the multiple sets of reference points may include one or more pixel sampling points adjacent to the current block.

[0036] That is, in the present application, after the encoder determines the current block to determine the intra-prediction value of the current block using CCLM, it can determine the CCLM parameters using pixel sampling points adjacent to the current block, i.e., it uses multiple sets of reference points of the current block to determine corresponding multiple sets of CCLM parameters.

[0037] Furthermore, in an embodiment of the present application, when an encoder uses multiple sets of reference points of a current block to determine corresponding multiple sets of CCLM parameters, the encoder may use one set of reference points from the multiple sets of reference points to calculate a set of CCLM parameters corresponding to the one set of reference points, and then traverse each set of reference points from the multiple sets of reference points, thereby determining multiple sets of CCLM parameters corresponding to the multiple sets of reference points.

[0038] JPEG2025124822000004.jpg59166

[0039] Furthermore, in embodiments of the present application, before using the sets of reference points of the current block to determine the corresponding sets of CCLM parameters, the encoder may first determine the prediction mode parameters of the current block.

[0040] In addition, in the present embodiment, the prediction mode parameter indicates the coding mode of the current block and parameters related to the mode, i.e., the value of the prediction mode parameter may indicate the intra prediction mode used by the current block. Generally, the prediction mode parameter of the current block may be determined using a rate-distortion optimization method.

[0041] Furthermore, in embodiments of the present application, the coding modes may include two types: a legacy intra prediction mode and a non-legacy intra prediction mode. Specifically, the legacy intra prediction mode may include a direct current (DC) mode, a planar (PLANAR) mode, an angular mode, etc., and the non-legacy intra prediction mode may include a matrix-based intra prediction (MIP) mode, a CCLM mode, an intra block copy (IBC) mode, a palette (PLT) mode, etc.

[0042] That is, in the embodiment of the present application, the encoder can determine whether the coding mode of the current block is a legacy intra prediction mode or a non-legacy intra prediction mode according to the setting of the prediction mode parameter.

[0043] In further embodiments of the present application, when determining a prediction mode parameter of a current block, the encoder may first determine a prediction target image component of the current block, then predictively encode each prediction target image component using various prediction modes based on the parameters of the current block, and calculate a rate-distortion cost result corresponding to each prediction mode among the various prediction modes, and finally select a minimum rate-distortion cost result from the calculated multiple rate-distortion cost results, and determine the prediction mode corresponding to the minimum rate-distortion cost result as the prediction mode parameter of the current block.

[0044] That is, an encoder may encode image components to be predicted for a current block using various prediction modes, where the various prediction modes generally include a legacy intra prediction mode and a non-legacy intra prediction mode.

[0045] In addition, in an embodiment of the present application, the encoder may encode the current block using various prediction modes, obtain rate-distortion cost results corresponding to each prediction mode, select the minimum rate-distortion cost result from the obtained multiple rate-distortion cost results, and determine the prediction mode corresponding to the minimum rate-distortion cost result as the prediction mode parameter of the current block. In this way, the current block can be finally encoded using the determined prediction mode, and in such prediction mode, the prediction residual can be reduced, thereby improving coding efficiency.

[0046] As will be understood, in an embodiment of the present application, the encoder can determine the prediction mode parameters of the current block and then write the prediction mode parameters into the bitstream, so that after transmission to the decoding side, the decoder can analyze the bitstream to determine the prediction mode parameters of the current block.

[0047] In step 102, a target CCLM parameter is determined from the plurality of sets of CCLM parameters, and a CCLM index value is set based on the target CCLM parameter and written into the bitstream, where the CCLM index value is used to indicate the use of the target CCLM parameter.

[0048] In an embodiment of the present application, the encoder may determine corresponding sets of CCLM parameters using multiple sets of reference points of the current block, and then determine target CCLM parameters from the multiple sets of CCLM parameters, and then set CCLM index values ​​based on the target CCLM parameters and write them into the bitstream. Specifically, in the present application, the CCLM index values ​​are used to indicate that the target CCLM parameters are used to determine the intra-prediction values ​​of the current block.

[0049] Furthermore, in this application, the encoder needs to determine target CCLM parameters from multiple sets of CCLM parameters, then set index values ​​corresponding to the target CCLM parameters based on the target CCLM parameters, i.e., set CCLM index values, and then write the CCLM index values ​​into a bitstream and transmit them to the decoding side. This allows the decoder to determine whether to use the target CCLM parameters to determine the intra prediction value of the current block according to the CCLM index values ​​obtained by analyzing the bitstream.

[0050] In addition, in an embodiment of the present application, when the encoder determines target CCLM parameters from multiple sets of CCLM parameters, it can use a rate distortion optimization (RDO) method to select a set of CCLM parameters from the multiple sets of CCLM parameters that corresponds to the optimal value of the target cost function, and determine the set of CCLM parameters as the target CCLM parameters.

[0051] For example, in the present application, the encoder can predictively encode each image component to be predicted using multiple sets of CCLM parameters based on the parameters of the current block, calculate a rate-distortion cost result corresponding to each set of CCLM parameters among the multiple sets of CCLM parameters, and finally select the minimum rate-distortion cost result from the calculated multiple rate-distortion cost results, and determine the set of CCLM parameters corresponding to the minimum rate-distortion cost result as the target CCLM parameters of the current block.

[0052] Furthermore, in an embodiment of the present application, when the encoder sets a CCLM index value based on the target CCLM parameter and writes it into the bitstream, it can first set the CCLM index value as the index number corresponding to the target CCLM parameter in multiple sets of CCLM parameters, and then write the CCLM index value into the bitstream. That is, in the present application, although each CCLM parameter in multiple sets of CCLM parameters has a corresponding index number, the encoder can determine the target CCLM parameter to be used by the current block from the multiple sets of CCLM parameters, and then set the CCLM index value using the index number corresponding to the target CCLM parameter.

[0053] As can be seen, in an embodiment of the present application, the encoder can first determine position information of each set of reference points among the multiple sets of reference points, and then determine index numbers of each set of CCLM parameters among the multiple sets of CCLM parameters based on the position information of each set of reference points.

[0054] In this embodiment, the position information corresponding to each set of reference points may include a starting position and a step size based on the size information of the current block. Specifically, the encoder may calculate the position information of each set of reference points using the width W and height H of the current block.

[0055] For example, in an embodiment of the present application, the encoder may calculate the starting position s and step size Δ based on the following formulas, respectively: Δ=L / (N / 2) (5) s=Δ / 2 (6) where L is the number of reference points in the upper neighboring position of the current block or the number of reference points in the left neighboring position of the current block, and N is the desired number of neighboring samples to establish the subset of reference points.

[0056] Furthermore, in an embodiment of the present application, when the encoder determines the index numbers of each set of CCLM parameters based on the position information of each set of reference points, it can first determine multiple distance parameters between the multiple sets of reference points and the current block based on the position information of each set of reference points, and then sequentially set the index numbers of each set of CCLM parameters in ascending order of the distance parameters.

[0057] That is, in this application, the encoder can first calculate a plurality of distance parameters between each of the plurality of sets of reference points and the current block based on the position information of each of the plurality of sets of reference points, i.e., one distance parameter corresponds to each of the plurality of sets of reference points. Next, the encoder can sort the plurality of distance parameters, for example, sort the plurality of distance parameters in ascending order to obtain the sorted distance parameters. Correspondingly, the encoder can set index numbers for each of the plurality of sets of CCLM parameters based on the sorted distance parameters. Specifically, based on the correspondence between the plurality of sets of reference points, the plurality of sets of CCLM parameters, and the plurality of sets of distance parameters, the encoder can sequentially set index numbers for each of the plurality of sets of CCLM parameters based on the sorted distance parameters.

[0058] As will be appreciated, in an embodiment of the present application, the encoder can set the CCLM index value based on the target CCLM parameters, and then write the CCLM index value into the data unit containing the coded data of the current block in the bitstream, thereby facilitating subsequent analysis processing at the decoder side.

[0059] In step 103, an intra prediction value for the current block is determined based on the target CCLM parameters.

[0060] In the embodiment of the present application, the encoder determines a target CCLM parameter from a plurality of sets of CCLM parameters, and then determines an intra-prediction value of the current block based on the target CCLM parameter.

[0061] As will be understood, in the present application, after determining the target CCLM parameters to be used for the current block, the encoder can further determine the intra-predicted value of the current block using the target CCLM parameters, thereby calculating the prediction difference between the current block and the intra-predicted value.

[0062] JPEG2025124822000005.jpg53166

[0063] For example, in an embodiment of the present application, after the encoder determines the intra-prediction value of the current block, it can then perform a difference calculation based on the pixel true value of the current block and the intra-prediction value, and the calculated difference can be used as a prediction difference, thereby serving as a basis for subsequent conversion processing of the prediction difference.

[0064] That is, in an embodiment of the present application, when the encoder determines the intra prediction value of the current block based on the target CCLM parameters, it can use a linear model to calculate the prediction value of the second image component of the current block based on the target CCLM parameters and the reconstructed value of the first image component of the current block.

[0065] Specifically, in this application, the first image component is a luminance component, and the second image component is a chromaticity component.

[0066] 4 is a schematic implementation flowchart 2 of the method for predicting image components. As shown in FIG. 4, in this application, before the encoder uses the sets of reference points of the current block to determine the corresponding sets of CCLM parameters, i.e., before step 101, the method for predicting image components by the encoder may further include the following steps 104 and 105: In step 104, a CCLM mode index parameter is determined, the CCLM mode index parameter is used to indicate the CCLM mode used by the current block, and the CCLM mode is used to indicate a calculation derivation method for determining the intra prediction value according to CCLM; In step 105, the CCLM mode index parameter is written to the bitstream.

[0067] In an embodiment of the present application, the encoder can first determine the CCLM mode index parameter of the current block, and then use the CCLM mode index parameter to determine the CCLM mode used by the current block, thereby obtaining a calculation derivation method for determining the intra-prediction value of the current block using CCLM.

[0068] As can be understood, in the present embodiment, the CCLM mode may specifically include various different intra-prediction modes, and therefore, the encoder needs to use different index parameters to calibrate and distinguish different prediction modes in the CCLM mode, i.e., different CCLM mode index parameters correspond to different CCLM modes.

[0069] Furthermore, in this application, after determining the CCLM mode used by the current block, the encoder can determine a calculation derivation method for the intra prediction value of the current block based on the CCLM mode, and can also determine a CCLM mode index parameter corresponding to the CCLM mode.

[0070] Furthermore, in an embodiment of the present application, the encoder can set the value of the CCLM mode index parameter to indicate the CCLM mode used by the current block, and write it into the bitstream and transmit it to the decoding side, so that the decoder can then analyze the bitstream to obtain the CCLM mode index parameter, and thereby determine the CCLM mode indicated by the CCLM mode index parameter.

[0071] An embodiment of the present application provides a method for predicting an image component. When an encoder determines an intra-prediction value of a current block using CCLM, the encoder uses multiple sets of reference points of the current block to determine corresponding multiple sets of CCLM parameters, where the CCLM parameters include a scale factor and an offset parameter. The encoder determines target CCLM parameters from the multiple sets of CCLM parameters, sets CCLM index values ​​based on the target CCLM parameters, and writes them into a bitstream. The CCLM index values ​​are used to indicate the use of the target CCLM parameters, and the encoder determines an intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in this embodiment of the present application, when the encoder determines an intra-prediction value of the current block using CCLM, the encoder determines corresponding multiple sets of CCLM parameters based on multiple sets of reference points of points adjacent to the current block, and determines an optimal target CCLM parameter from the multiple sets of CCLM parameters. The encoder can write CCLM index values ​​indicating the use of the target CCLM parameters into a bitstream and transmit them to a decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter from among multiple sets of CCLM parameters of the current block in the bitstream, allowing the encoder / decoder to determine to perform intra prediction processing on the current block based on the target CCLM parameter, thereby significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0072] Based on the above embodiment, another embodiment of the present application provides a method for predicting an image component, which is applied to a decoder. Figure 5 is a schematic implementation flowchart 3 of the method for predicting an image component. As shown in Figure 5, the method for predicting an image component by a decoder may include the following steps 201 to 204:

[0073] In step 201, the bitstream is parsed to determine the prediction mode parameters of the current block.

[0074] In an embodiment of the present application, a decoder may analyze a bitstream to determine a prediction mode parameter of a current block. Specifically, the decoder may further determine an intra-prediction mode to be used by the current block based on the value of the prediction mode parameter. That is, in the present application, the prediction mode parameter may indicate an encoding mode of the current block and parameters related to the encoding mode.

[0075] Furthermore, in embodiments of the present application, the coding modes may include two types: legacy intra prediction modes and non-legacy intra prediction modes. Specifically, the legacy intra prediction modes may include DC mode, PLANAR mode, and angular mode, etc., and the non-legacy intra prediction modes may include MIP mode, CCLM mode, IBC mode, and PLT mode, etc.

[0076] That is, in the embodiment of the present application, the decoder can determine whether the coding mode of the current block is a legacy intra prediction mode or a non-legacy intra prediction mode according to the prediction mode parameter.

[0077] In some embodiments of the present application, when determining prediction mode parameters for a current block, the encoder may first determine image components to be predicted for the current block, then predictively encode each of the image components to be predicted using various prediction modes based on the parameters of the current block, and calculate rate-distortion cost results corresponding to each of the various prediction modes. Finally, the encoder may select the smallest rate-distortion cost result from the calculated rate-distortion cost results, and determine the prediction mode corresponding to the smallest rate-distortion cost result as the prediction mode parameter for the current block. That is, the encoder may encode each of the image components to be predicted for the current block using various prediction modes. Here, the various prediction modes generally include legacy intra prediction modes and non-legacy intra prediction modes.

[0078] Furthermore, in an embodiment of the present application, the encoder may set a prediction mode parameter of the current block based on the prediction mode corresponding to the minimum rate-distortion cost result, and then write the prediction mode parameter into a bitstream and transmit it to the decoding side, so that the decoder can analyze the bitstream to obtain the prediction mode parameter of the current block, and the decoder can further decode the current block using the determined prediction mode, and in such a prediction mode, the prediction residual can be reduced, thereby improving decoding efficiency.

[0079] In step 202, if the prediction mode parameter indicates that the intra prediction value of the current block is determined by CCLM, the bitstream is analyzed to determine the CCLM index value of the current block.

[0080] In step 203, the target CCLM parameters of the current block are determined based on the CCLM index value, where the target CCLM parameters include a scale factor and an offset parameter.

[0081] In an embodiment of the present application, after the decoder analyzes the bitstream to determine the prediction mode parameter of the current block, if the prediction mode parameter indicates to determine the intra prediction value of the current block by CCLM, the decoder can then analyze the bitstream to determine the CCLM index value of the current block, and then can further determine the target CCLM parameter of the current block based on the CCLM index value.

[0082] As will be appreciated, in this application, the CCLM index value is used to instruct the current block to determine the intra prediction value of the current block using the target CCLM parameters, which include a scale factor and an offset parameter.

[0083] JPEG2025124822000006.jpg17166

[0084] Furthermore, in an embodiment of the present application, when the decoder determines the target CCLM parameters of the current block based on the CCLM index value, it can first determine the target reference point of the current block based on the CCLM index value, and then determine the target CCLM parameters of the current block based on the target reference point.

[0085] In the embodiment of the present application, the target reference point may be one or more pixel sampling points adjacent to the current block, or may be one of the sets of reference points in the current block where there are multiple sets of reference points.

[0086] As will be understood, in the present application, when the decoder determines a target reference point of a current block based on a CCLM index value, it can determine the target reference point from multiple sets of reference points of the current block based on the CCLM index value.

[0087] It should be noted that in the embodiments of the present application, the sets of reference points of the current block may include pixel sampling points adjacent to the current block, and correspondingly, each set of reference points of the sets of reference points of the current block may include pixel sampling points at one or more preset positions adjacent to the current block.

[0088] Specifically, in this application, when the decoder determines a target reference point from multiple sets of reference points of a current block based on the CCLM index value, it can first determine the position information of each set of reference points among the multiple sets of reference points, then determine multiple distance parameters between the multiple sets of reference points and the current block based on the position information of each set of reference points, and further sequentially set the position index numbers of each set of reference points among the multiple sets of reference points in ascending order of the distance parameters, and finally select a set of reference points from the multiple sets of reference points whose position index numbers are the same as the index numbers indicated by the CCLM index value as the target reference point.

[0089] That is, in the present application, the decoder first calculates position information of each of the sets of reference points, i.e., one position information corresponds to each of the sets of reference points. Further, based on the position information of each of the sets of reference points, the decoder can calculate a plurality of distance parameters between each of the sets of reference points and the current block, i.e., one distance parameter corresponds to each of the sets of reference points. Next, the decoder sorts the distance parameters, for example, sorts the distance parameters in ascending order to obtain the sorted distance parameters. Correspondingly, the decoder can set position index numbers for each of the sets of reference points based on the sorted distance parameters. Specifically, based on the correspondence between the sets of reference points and the sets of distance parameters, the decoder can sequentially set position index numbers for each of the sets of reference points based on the sorted distance parameters.

[0090] Furthermore, in this embodiment, the encoder on the encoding side sequentially sets the index numbers of the CCLM parameters of each set of CCLM parameters based on the sorted distance parameters, based on the correspondence between the sets of reference points, the sets of CCLM parameters, and the sets of distance parameters. The decoder on the decoding side sequentially sets the position index numbers of each set of reference points based on the sorted distance parameters, based on the correspondence between the sets of reference points and the sets of distance parameters. Therefore, there is a mapping relationship between the index numbers of the CCLM parameters of a set of reference points and the position index numbers of the reference points of that set. Furthermore, the decoder can analyze and obtain the CCLM index values, and then select a target reference point from the sets of reference points based on the index numbers indicated by the CCLM index values.

[0091] For example, in this application, the index number indicated by the CCLM index value obtained by the decoder by analyzing the bitstream is 5. In this case, the decoder can determine, as the target reference point, a set of reference points having a position index number of 5 among multiple sets of reference points.

[0092] In the embodiment of the present application, when the decoder determines the target CCLM parameters of the current block based on the CCLM index value, it can further first use the sets of reference points of the current block to determine the corresponding sets of CCLM parameters, and then select the set of CCLM parameters indicated by the CCLM index value from the sets of CCLM parameters as the target CCLM parameters.

[0093] It should be understood that in the present application, the sets of reference points for the current block may include pixel sampling points adjacent to the current block, and correspondingly, each set of reference points in the sets of reference points for the current block may include pixel sampling points at one or more preset positions adjacent to the current block.

[0094] Specifically, in the present application, when the decoder takes one set of CCLM parameters indicated by a CCLM index value among multiple sets of CCLM parameters as the target CCLM parameters, it can first determine the position information of each set of reference points among the multiple sets of reference points, then determine multiple distance parameters between the multiple sets of reference points and the current block based on the position information of each set of reference points, and further sequentially set the index numbers of each set of CCLM parameters among the multiple sets of CCLM parameters in ascending order of the distance parameters, and finally take the set of CCLM parameters whose index numbers in the CCLM parameters are the same as the index numbers indicated by the CCLM index value as the target CCLM parameters.

[0095] That is, in the present application, the decoder first calculates position information of each of the sets of reference points, i.e., each of the sets of reference points corresponds to one piece of position information. Further, the decoder can calculate multiple distance parameters between each of the sets of reference points and the current block based on the position information of each of the sets of reference points, i.e., each of the sets of reference points corresponds to one distance parameter. Next, the decoder can sort the multiple distance parameters, for example, sort the multiple distance parameters in ascending order to obtain the sorted distance parameters. Correspondingly, the decoder can set index numbers for each of the sets of CCLM parameters based on the sorted distance parameters. Specifically, based on the correspondence between the sets of reference points, the multiple sets of CCLM parameters, and the multiple sets of distance parameters, the decoder can sequentially set index numbers for each of the sets of CCLM parameters based on the sorted distance parameters.

[0096] Furthermore, in the embodiment of the present application, the encoder on the encoding side sequentially sets index numbers for each set of CCLM parameters from the multiple sets of CCLM parameters based on the sorted distance parameters, based on the correspondence relationships between the multiple sets of reference points, the multiple sets of CCLM parameters, and the multiple sets of distance parameters, while the decoder on the decoding side also sequentially sets index numbers for each set of CCLM parameters from the multiple sets of CCLM parameters based on the sorted distance parameters, based on the correspondence relationships between the multiple sets of reference points, the multiple sets of CCLM parameters, and the multiple sets of distance parameters. Therefore, after analyzing and obtaining the CCLM index value, the decoder selects a corresponding set of CCLM parameters from the multiple sets of CCLM parameters as the target CCLM parameters based on the index number indicated by the CCLM index value.

[0097] For example, in this application, the index number indicated by the CCLM index value obtained by the decoder by analyzing the bitstream is 3. In this case, the decoder can determine, as the target reference point, a set of reference points having an index number of 3 among multiple sets of CCLM parameters.

[0098] In step 204, an intra prediction value for the current block is determined based on the target CCLM parameters.

[0099] In the embodiment of the present application, after determining the target CCLM parameters of the current block based on the CCLM index values, the decoder can further determine the intra-prediction values ​​of the current block based on the target CCLM parameters.

[0100] As will be understood, in the present application, after determining the target CCLM parameters to be used for the current block, the decoder can further determine the intra-predicted value of the current block using the target CCLM parameters, thereby calculating the prediction difference between the current block and the intra-predicted value.

[0101] JPEG2025124822000007.jpg54166

[0102] For example, in an embodiment of the present application, after the decoder determines the intra-prediction value of the current block, it can then perform difference calculation based on the pixel true value of the current block and the intra-prediction value, and the calculated difference can be used as the prediction difference, thereby serving as the subsequent conversion process of the prediction difference.

[0103] That is, in an embodiment of the present application, when the decoder determines the intra prediction value of the current block based on the target CCLM parameters, it can use a linear model to calculate the prediction value of the second image component of the current block based on the target CCLM parameters and the reconstructed value of the first image component of the current block.

[0104] Specifically, in this application, the first image component is a luminance component, and the second image component is a chromaticity component.

[0105] Figure 6 is a schematic implementation flowchart 4 of the method for predicting image components. As shown in Figure 6, in this application, after the decoder analyzes the bitstream and determines the prediction mode parameters of the current block, i.e., after step 201, the method for predicting image components by the decoder may further include the following step 205: In step 205, if the prediction mode parameter indicates that the intra-prediction value of the current block is determined by CCLM, the bitstream is analyzed to determine the CCLM mode index parameter of the current block, which is used to indicate the CCLM mode used by the current block, and the CCLM mode is used to indicate the calculation derivation method for determining the intra-prediction value by CCLM.

[0106] In an embodiment of the present application, if the prediction mode parameter indicates that the intra prediction value of the current block is determined by CCLM, the decoder can subsequently analyze the bitstream to determine the CCLM mode index parameter of the current block.

[0107] In the embodiment of the present application, the CCLM mode index parameter is used to indicate the CCLM mode used by the current block, and the CCLM mode is used to indicate the calculation derivation method for determining the intra prediction value according to CCLM.

[0108] That is, in the present application, after analyzing the bitstream, the decoder can first determine the CCLM mode index parameter of the current block, and then use the CCLM mode index parameter to determine the CCLM mode used by the current block, thereby obtaining a calculation derivation method for determining the intra-prediction value of the current block using CCLM.

[0109] As can be understood, in the present embodiment, the CCLM mode may specifically include various different intra-prediction modes, and therefore, the encoder needs to use different index parameters to calibrate and distinguish different prediction modes in the CCLM mode, i.e., different CCLM mode index parameters correspond to different CCLM modes.

[0110] Furthermore, in this application, after determining that the intra-prediction value of the current block is determined by CCLM, the decoder can determine the calculation derivation method of the intra-prediction value of the current block based on the CCLM mode indicated by the CCLM mode index parameter.

[0111] An embodiment of the present application provides a method for predicting an image component. A decoder analyzes a bitstream to determine a prediction mode parameter for a current block. If the prediction mode parameter indicates that the intra-prediction value of the current block should be determined using CCLM, the decoder analyzes the bitstream to determine a CCLM index value for the current block and determines target CCLM parameters for the current block based on the CCLM index value. The target CCLM parameters include a scale factor and an offset parameter, and the decoder determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in an embodiment of the present application, when the encoder determines that the intra-prediction value of the current block should be determined using CCLM, the encoder can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value instructing the use of the target CCLM parameter into the bitstream and transmit it to the decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter from among multiple sets of CCLM parameters of the current block in the bitstream, allowing the encoder / decoder to determine to perform intra prediction processing on the current block based on the target CCLM parameter, thereby significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0112] Based on the above embodiment, another embodiment of the present application provides an image component prediction method, which is applied to an encoder. Figure 7 is a schematic implementation flowchart 5 of the image component prediction method. As shown in Figure 7, the encoder predicts the image component as follows: Step 301: if the current block determines intra prediction values ​​by CCLM, calculate multiple sets of CCLM parameters using multiple sets of reference points of the current block; a step 302 of establishing a CCLM parameter list based on the sets of CCLM parameters; This may include step 303 of selecting a target CCLM parameter from the CCLM parameter list, and step 304 of setting a CCLM index value based on the target CCLM parameter and writing it into the bitstream, where the CCLM index value is used to indicate the use of the target CCLM parameter.

[0113] In an embodiment of the present application, an encoder divides a picture in an input video into one or more CTUs, i.e., divides a picture into patches, and optionally further divides the patches into one or more blocks. Each of the patches and blocks contains one or more complete and / or partial CTUs, forming one or more slices. A slice may contain one or more patches in raster order of patches in a picture, or one or more patches covering a rectangular area in a picture, and may further form one or more sub-pictures. A sub-picture contains one or more slices, patches, or blocks.

[0114] Further, in an embodiment of the present application, the encoder may subsequently repeatedly perform quadtree partitioning, binary partitioning, and ternary partitioning on the partitioned CTU to further partition the CTU into smaller coding units (CUs). A motion compensation unit and a motion estimation unit may be used to obtain an inter current block of the CU. An intra prediction unit may be used to determine an intra prediction mode for encoding the video coding block, and various intra prediction modes, including MIP mode, may be used to obtain an intra predicted block of the CU. In an example, a rate-distortion optimized motion estimation method may be invoked by the motion compensation unit and the motion estimation unit to obtain an inter current block, and a rate-distortion optimized mode decision method may be invoked by the intra prediction unit to obtain an intra predicted block. The intra prediction module 103 determines whether a CCLM mode (including intra prediction modes whose mode indexes are equal to INTRA_LT_CCLM, INTRA_L_CCLM, and INTRA_T_CCLM, respectively) is used to obtain the intra predicted block.

[0115] Furthermore, in this embodiment, the encoder can select a current block from the inter current block and the intra predicted block, and transmit the current block, and can also transmit mode parameters of the corresponding mode of the selected current block. Specifically, when the current block determines an intra predicted value by CCLM, multiple sets of reference points of the current block can be used to calculate multiple sets of CCLM parameters. The multiple sets of reference points include pixel sampling points adjacent to the current block.

[0116] In addition, in an embodiment of the present application, if the selected current block is obtained using CCLM mode, CCLM mode parameters used to obtain the intra-predicted block can be transmitted to the coding unit. When flexible CCLM referencing is used, the CCLM mode parameters include a CCLM mode index parameter and a CCLM index value.

[0117] Figure 8 is a schematic diagram 1 of the reference point positions of the current block, Figure 9 is a schematic diagram 2 of the reference point positions of the current block, and Figure 10 is a schematic diagram 3 of the reference point positions of the current block. Figures 8 to 10 show examples of obtaining the reference point positions of the current block in INTRA_LT_CCLM mode, INTRA_L_CCLM mode, and INTRA_T_CCLM mode, respectively, and the reference point positions are indicated by black circles. Blocks 3101, 3201, and 3301 contain reference points for the luma component of the current block, blocks 3102, 3202, and 3302 contain reference points for the first chroma component (e.g., Cb or U component) of the current block, and blocks 3103, 3203, and 3303 contain reference points for the second chroma component (e.g., Cr or V component) of the current block.

[0118] Furthermore, in the present embodiment, the encoder can determine the location of the reference point using the width W and height H of the block (denoted as W(W') and H(H') in Figures 2A-2C) and two parameters (i.e., the starting position s and the step size Δ).

[0119] Furthermore, in embodiments of the present application, the encoder may calculate the value of Δ based on Δ=L / (N / 2), where L indicates the number of reference points in the upper neighboring position of the current block or the number of reference points in the left neighboring position of the current block, and N indicates the desired number of neighboring samples for establishing the subset of reference points. The encoder calculates the value of s based on s=Δ / 2.

[0120] Figure 11 is a schematic diagram of determining the reference point position in INTRA_T_CCLM mode. As shown in Figure 11, assuming that L is equal to 16, N is equal to 8, and the number of reference points is equal to 4, the encoder calculates Δ to obtain Δ=L / (N / 2)=16 / (8 / 2)=4, and calculates s to obtain s=Δ / 2=4 / 2=2. That is, the encoder determines that the starting position of the reference point is located at sample position 2 in Figure 11, and the step size to the next adjacent reference point position is equal to 4. The encoder obtains reference points from sample positions 2, 6, 10, and 14 to form a subset of reference points.

[0121] JPEG2025124822000008.jpg21166

[0122] JPEG2025124822000009.jpg40166

[0123] It should be noted that in the present embodiment, the encoder can indicate the target CCLM parameters by setting the grammar, and can further indicate whether multiple sets of CCLM parameters are allowed by setting the grammar.

[0124] For example, in this application, Table 1 is CCLM grammar 1. As shown in Table 1, the encoder can indicate the target CCLM parameter by setting the CCLM index value cclm_ref_index, that is, set cclm_ref_index in Table 1 to indicate the target CCLM parameter.

[0125] [Table 1]

[0126] Illustratively, in this application, Table 2 is CCLM Grammar 2. As shown in Table 2, an encoder can determine whether to allow multiple sets of CCLM parameters by setting cclm_multiple_ref_enable_flag.

[0127] [Table 2]

[0128] Furthermore, in an embodiment of the present application, after obtaining multiple sets of reference points for the current block, the encoder can call step 301 to calculate multiple sets of CCLM parameters using the multiple sets of reference points, and then call step 302 to establish a CCLM parameter list based on the multiple sets of CCLM parameters.

[0129] JPEG2025124822000012.jpg27164

[0130] [Table 3]

[0131] Additionally, in the present embodiment, the encoder may invoke step 303 to select a target CCLM parameter from the CCLM parameter list.

[0132] Illustratively, in this application, the encoder determines the cost value, ie, rate-distortion optimization method, of the corresponding CCLM parameters in the CCLM parameter list, and then determines the CCLM parameter with the optimal cost as the target CCLM parameter.

[0133] Additionally, in the present embodiment, the encoder may invoke step 304 to set cclm_ref_index equal to the index number of the target CCLM parameter in the CCLM parameter list.

[0134] In addition, in the embodiment of the present application, FIG. 12 is a schematic implementation flowchart 6 of the method for predicting image components. As shown in FIG. 12, the method for the encoder to predict image components is as follows: Step 401: if the current block determines intra prediction values ​​by CCLM, calculate multiple sets of CCLM parameters using multiple sets of reference points of the current block; determining 402 target CCLM parameters based on the sets of CCLM parameters; The method may also include step 403, in which a CCLM index value is set based on the target CCLM parameter and written into the bitstream, and the CCLM index value is used to indicate the use of the target CCLM parameter.

[0135] As will be appreciated, in the present embodiment, since the sets of CCLM parameters (i.e., scale factors and offset parameters) for the current block are determined by the sets of reference points for the current block, the encoder can represent the CCLM parameters to extract the positions of the reference points by the corresponding s and Δ.

[0136] For example, in this application, Table 4 shows an example of the reference position of the CCLM model. As shown in Table 4, INTRA_LT_CCLM, INTRA_L_CCLM, and INTRA_T_CCLM may be three consecutive positive integers. IntraPredModeY[x0][y0] indicates the intra prediction mode of the current block when the position of the top-left luminance sample of the current block is equal to (x0, y0) in the picture or subpicture. The value of cclm_ref_index corresponds to various s and Δ parameters, which determine the reference point and then the CCLM parameters. In the invoked rate-distortion optimization process, the position of the reference point may be expressed as s = cclmRefPosition[x0][y0][IntraPredModeY[x0][y0] - INTRA_LT_CCLM][cclm_ref_index][0] and Δ = cclmRefPosition[x0][y0][IntraPredModeY[x0][y0] - INTRA_LT_CCLM][cclm_ref_index][1].

[0137] [Table 4]

[0138] Further, in the present embodiment, the encoder may invoke step 401 to obtain multiple sets of reference positions using s and Δ of multiple sets of reference points, and then calculate corresponding multiple sets of CCLM parameters. The encoder may invoke step 402 to determine an optimal CCLM mode, for example, using a method similar to steps 302 and 303. Finally, the encoder may set cclm_ref_index equal to the index number of the target CCLM parameter.

[0139] It should be noted that in the present embodiment, various CCLM modes may have different numbers of candidate CCLM parameters. As shown in Table 4, for the three CCLM modes INTRA_LT_CCLM, INTRA_L_CCLM, and INTRA_T_CCLM, the number of subsets of reference positions, denoted by s and Δ, may be different.

[0140] It should be noted that in this embodiment, if the encoder decides not to use multiple subsets of CCLM parameters, it can use a default position to obtain the reference point, an example of which is shown in FIG.

[0141] Furthermore, in an embodiment of the present application, the encoder calculates a residual based on the intra-predicted value of the current block. For example, the encoder calculates the difference between the divided CU and the CU's predicted block, i.e., the residual CU. The encoder reads the residual CU and performs one or more transform operations on the residual CU to obtain coefficients. The encoder quantizes the coefficients and outputs quantized coefficients (i.e., levels).

[0142] Furthermore, in an embodiment of the present application, the inverse quantization unit of the encoder performs a scaling operation on the quantized coefficients and outputs reconstructed coefficients. The inverse transform unit performs one or more inverse transforms corresponding to the transform in the transform unit and outputs a reconstructed residual. The adder calculates a reconstructed CU by adding the reconstructed residual and a prediction block of the CU from the prediction unit. The adder further sends its output to the prediction unit for use as an intra-prediction reference. After all CUs in a picture or subpicture are reconstructed, the filtering unit performs loop filtering on the reconstructed picture or subpicture. The filtering unit includes one or more filters, such as a deblocking filter, a sampling point adaptive offset (SAO) filter, an adaptive loop filter (ALF), a luma mapping and chroma scaling (LMCS) filter, and a neural network-based filter. Alternatively, if the filtering unit determines not to use the CU as a reference for encoding other CUs, the filtering unit performs loop filtering on one or more target pixels in the CU.

[0143] The output of the filtering unit is a decoded picture or sub-picture, which is sent to a DPB (Decoded Picture Buffer). The DPB outputs a decoded picture based on sequence and control information. The pictures stored in the DPB can further be used as references for the prediction unit to perform inter-prediction or intra-prediction.

[0144] The entropy coding unit converts the unit parameters (necessary to obtain the decoded picture), control parameters and additional information from the encoder into a binary representation and writes such binary representation into the generated video bitstream based on the grammatical structure of each data unit.

[0145] The entropy coding unit encodes the cclm_ref_index in Table 1 into a data unit corresponding to the current block in the bitstream. In Table 1, ae(v) is the entropy coding method corresponding to the analysis process of ae(v) detailed in the VVC WD. Optionally, the encoder can further determine whether to allow the intra prediction unit to use multiple subsets of reference positions when determining CCLM mode parameters. The entropy coding unit can encode the grammar elements in Table 2 into one or more subsequent data units in the bitstream. The grammar elements include (from relatively high level to relatively low level) a sequence level parameter set (e.g., a sequence parameter set (SPS)), a picture or sub-picture level parameter set (e.g., a picture parameter set (PPS)), an adaptation parameter set (APS), a slice header, a grammar for a patch in slice data, a grammar for a block in slice data, and a coding tree unit (CTU). The entropy coding unit encodes the cclm_multiple_ref_enable_flag using u(1). u(1) is the entropy coding method corresponding to the analysis process of u(1) detailed in the VVC WD. Optionally, cclm_multiple_ref_enable_flag at a lower level can override the corresponding flag at a higher level.

[0146] An embodiment of the present application provides a method for predicting an image component. When an encoder determines an intra-prediction value of a current block using CCLM, the encoder uses multiple sets of reference points of the current block to determine corresponding multiple sets of CCLM parameters, where the CCLM parameters include a scale factor and an offset parameter. The encoder determines target CCLM parameters from the multiple sets of CCLM parameters, sets CCLM index values ​​based on the target CCLM parameters, and writes them into a bitstream. The CCLM index values ​​are used to indicate the use of the target CCLM parameters, and the encoder determines an intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in this embodiment of the present application, when the encoder determines an intra-prediction value of the current block using CCLM, the encoder determines corresponding multiple sets of CCLM parameters based on multiple sets of reference points of points adjacent to the current block, and determines an optimal target CCLM parameter from the multiple sets of CCLM parameters. The encoder can write CCLM index values ​​indicating the use of the target CCLM parameters into a bitstream and transmit them to a decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter from among multiple sets of CCLM parameters of the current block in the bitstream, allowing the encoder / decoder to determine to perform intra prediction processing on the current block based on the target CCLM parameter, thereby significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0147] Based on the above embodiment, another embodiment of the present application provides a method for predicting an image component, which is applied to a decoder. Figure 13 is a schematic implementation flowchart 7 of the method for predicting an image component. As shown in Figure 13, the method for the decoder to predict an image component is as follows: Step 501: if the current block is determined to have an intra prediction value according to CCLM, analyze the bitstream to determine the CCLM index value of the current block; Step 502 of establishing a CCLM parameter list for the current block; and selecting 503 a target CCLM parameter from the CCLM parameter list based on the CCLM index value.

[0148] In an embodiment of the present application, the input bitstream of the decoder may be a bitstream generated by an encoder, and the bitstream is a bit stream. The parsing unit of the decoder parses the input bitstream and obtains values ​​of grammar elements from the input bitstream. The parsing unit of the decoder converts the binary representations of the grammar elements into numeric values ​​and sends the numeric values ​​to the decoder unit to obtain one or more decoded pictures. The parsing unit of the decoder can further parse one or more grammar elements from the input bitstream to display decoded pictures.

[0149] Furthermore, in the embodiment of the present application, the parsing unit of the decoder may obtain one or more grammar elements, which indicate the reference point position of the current block (ie, the current block).

[0150] Illustratively, in the present application, the decoder's parsing unit can obtain the cclm_ref_index from a data unit in the input bitstream, which may be at least one of a slice header, a parameter set, slice data, an additional enhancement information message, etc.

[0151] Specifically, in this application, the grammatical structure of the CCLM index value cclm_ref_index in the input bitstream is shown in Table 1. The analysis unit of the decoder uses the entropy coding method corresponding to ae(v) to convert the binary representation in the bitstream into the numeric value of cclm_ref_index.

[0152] As will be appreciated, in the present embodiment, the decoder can first parse the bitstream to determine the prediction mode parameters of the current block.

[0153] For example, in this application, before parsing cclm_ref_index, the analysis unit of the decoder can first obtain the value of a grammar element indicating whether flexible reference point positions are allowed to be used in the CCLM mode. For example, the analysis unit of the decoder obtains the grammar element, for example, a prediction mode parameter called cclm_multiple_ref_enable_flag, from an active parameter set directly or indirectly associated with a slice including the current block. If cclm_multiple_ref_enable_flag is equal to 1 and the CCLM mode indicates an intra-prediction mode for decoding the current block in the bitstream, the analysis unit of the decoder can obtain cclm_ref_index from the coded bits of the current block. Also, if cclm_multiple_ref_enable_flag is equal to 0, cclm_ref_index is not present in the part of the current block in the input bitstream because CCLM mode is not used to decode the current block.

[0154] For example, in this application, the above Table 2 is used to show the grammatical structure of cclm_multiple_ref_enable_flag in one or more data units, where the data units include, for example, a parameter set, a slice header, slice data, a CTU, and an additional enhancement information message, and an input bitstream. The analysis unit of the decoder uses the entropy decoding method corresponding to u(1) to convert the binary representation in the bitstream into the numeric value of cclm_multiple_ref_enable_flag. Similar to the encoder, cclm_multiple_ref_enable_flag at a lower level can cancel the corresponding flag at a higher level.

[0155] Furthermore, in this embodiment, the analysis unit of the decoder sends cclm_ref_index and other grammar elements for obtaining one or more decoded pictures to the prediction unit of the decoder to determine a predicted block of the current block (e.g., CU). If the inter decoding mode is to be used to decode the current block, the prediction unit sends the relative parameters of the analysis unit from the decoder to the MC unit to obtain an inter predicted block. If the intra prediction mode (which may include CCLM intra prediction mode) is to be used to decode the current block, the prediction unit sends the relative parameters of the analysis unit from the decoder to the intra prediction unit to obtain an intra predicted block.

[0156] Furthermore, in this embodiment, when the decoder decides to use the CCLM intra prediction mode, the intra prediction unit obtains the predicted block of the current block using the same type of CCLM mode as shown in Figures 8 to 10. The decoder's process of obtaining the intra prediction block is the same as that of the encoder. The intra prediction unit obtains the reference point position indicated by cclm_ref_index, calculates CCLM parameters in the same manner as the encoder's intra prediction unit, and finally calculates the intra prediction block of the current block using the linear model shown in formula (1) above.

[0157] As can be seen, in the present embodiment, step 501 involves performing bitstream analysis by a decoder analysis unit to obtain CCLM index values ​​cclm_ref_index from the input bitstream. After obtaining one or more subsets of the sets of reference points, the intra prediction unit invokes step 502 to calculate sets of CCLM parameters corresponding to the sets of reference points using the subsets. When calculating the sets of CCLM parameters, the order of the subsets and the positions of the reference points in each subset are the same as those used by the encoder's intra prediction unit. The intra prediction unit invokes step 502 to establish a CCLM parameter list.

[0158] Illustratively, in this application, the decoder can further assign indices to CCLM parameters in the CCLM parameter list, where the CCLM parameters include scale factors and offset parameters, as shown in Table 3. The intra prediction unit invokes step 503 to select a target CCLM parameter (where the target CCLM parameter includes scale factors and offset parameters) from the CCLM parameter list whose index number is equal to the value of cclm_ref_index.

[0159] In addition, in the embodiment of the present application, Figure 14 is a schematic implementation flowchart 8 of the method for predicting image components. As shown in Figure 14, the method for the decoder to predict image components is as follows: Step 601: if the current block is determined to have an intra prediction value according to CCLM, analyze the bitstream to determine the CCLM index value of the current block; determining 602 a target reference point based on the CCLM index value; and determining 603 target CCLM parameters based on the target reference points.

[0160] In the present embodiment, since the sets of CCLM parameters (i.e., scale factors and offset parameters) of the current block are determined by the sets of reference points of the current block, the decoder can further represent the CCLM parameters to extract the positions of the reference points by the corresponding s and Δ.

[0161] For example, in this application, INTRA_LT_CCLM, INTRA_L_CCLM, and INTRA_T_CCLM may be three consecutive positive integers, as shown in Table 4 above. IntraPredModeY[x0][y0] indicates the intra prediction mode of the current block when the position of the top-left luminance sample of the current block is equal to (x0, y0) in the picture or subpicture. The value of cclm_ref_index corresponds to various s and Δ parameters, which determine the reference point and then the CCLM parameters. In the invoked rate-distortion optimization process, the position of the reference point may be expressed as s = cclmRefPosition[x0][y0][IntraPredModeY[x0][y0] - INTRA_LT_CCLM][cclm_ref_index][0], and Δ = cclmRefPosition[x0][y0][IntraPredModeY[x0][y0] - INTRA_LT_CCLM][cclm_ref_index][1].

[0162] As will be appreciated, in this embodiment, step 601 is performed by the analysis unit of the decoder to obtain the cclm_ref_index from the input bitstream. The intra prediction unit invokes step 602 to obtain a target reference point using the cclm_ref_index. As shown in the exemplary structure in Table 4, for a current block and its top-left luma sample (x0, y0), the intra prediction unit determines the target reference point and obtains s = cclmRefPosition[x0][y0][IntraPredModeY[x0][y0]-INTRA_LT_CCLM][cclm_ref_index][0] and Δ = CCLMRefPosition[x0][y0][IntraPredModeY[x0][y0]-INTRA_LT_CCLM][cclm_ref_index][1]. The intra prediction unit invokes step 603 to determine the location of the target reference point and then calculates the target CCLM parameters, including the scale factor and offset parameters, for decoding the current block.

[0163] It should be noted that in the present embodiment, various CCLM modes may have different numbers of candidate CCLM parameters. As shown in Table 4, for the three CCLM modes INTRA_LT_CCLM, INTRA_L_CCLM, and INTRA_T_CCLM, the number of subsets of reference positions, denoted by s and Δ, may be different.

[0164] As will be understood, in this application, the scaling unit of the decoder has a function similar to that of the inverse quantization unit of the encoder. The scaling unit of the decoder performs a scaling operation on the quantized coefficients (i.e., levels) of the analysis unit from the decoder to obtain reconstructed coefficients. The transform unit of the decoder has a function similar to that of the inverse transform unit of the encoder. The transform unit of the decoder performs one or more transform operations (i.e., the inverse operations of one or more transform operations performed by the inverse transform unit of the encoder) to obtain reconstructed residuals. The adder of the decoder performs an addition operation on its inputs (the current block from the prediction unit and the reconstructed residual of the transform unit from the decoder) to obtain a reconstructed block of the current block. The reconstructed block is further sent to the prediction unit to be used as a reference for other blocks coded in intra prediction mode.

[0165] After all CUs in the picture or subpicture are reconstructed, the filtering unit performs loop filtering on the reconstructed picture or subpicture. The filtering unit includes one or more filters, such as a deblocking filter, a sampling point adaptive offset (SAO) filter, an adaptive loop filter (ALF), a luma mapping and chromaticity scaling (LMCS) filter, and a neural network-based filter. Alternatively, if the filtering unit determines that the reconstructed block will not be used as a reference for decoding other blocks, the filtering unit performs loop filtering on one or more target pixels in the reconstructed block.

[0166] The output of the filtering unit is a decoded picture or sub-picture, which is sent to a DPB (Decoded Picture Buffer). The DPB outputs a decoded picture based on sequence and control information. The pictures stored in the DPB can be further used as references by a prediction unit to perform inter-prediction or intra-prediction.

[0167] An embodiment of the present application provides a method for predicting an image component. A decoder analyzes a bitstream to determine a prediction mode parameter for a current block. If the prediction mode parameter indicates that the intra-prediction value of the current block should be determined using CCLM, the decoder analyzes the bitstream to determine a CCLM index value for the current block and determines target CCLM parameters for the current block based on the CCLM index value. The target CCLM parameters include a scale factor and an offset parameter, and the decoder determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in an embodiment of the present application, when the encoder determines that the intra-prediction value of the current block should be determined using CCLM, the encoder can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value instructing the use of the target CCLM parameter into the bitstream and transmit it to the decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra-prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter, among multiple sets of CCLM parameters for the current block, into the bitstream. As a result, the encoder / decoder can determine to perform intra-prediction processing on the current block based on the target CCLM parameter, significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0168] Based on the above embodiment, in another embodiment of the present application, Fig. 15 is a structural diagram of a sending device. As shown in Fig. 15, the sending device 500 may include a collecting unit 501, an encoder 300 and a storage / sending unit 502.

[0169] The collection unit 501 acquires a video signal and transmits the video signal to the encoder 300. The collection unit 501 may be a device including one or more cameras (including a depth camera). The collection unit 501 may be a device that acquires video by partially or fully decoding a bitstream. The collection unit 501 may further include one or more elements for capturing an audio signal. An embodiment of the encoder 300 is an encoder that encodes the video signal as its input video from the collection unit 501 to generate a video bitstream. The encoder 300 may further include one or more audio encoders to encode the audio signal to generate an audio bitstream. The storage / transmission unit 502 receives the video bitstream from the encoder 300. The storage / transmission unit 502 may further receive the audio bitstream from the encoder 300 and compress the video bitstream and audio bitstream together to form a media file (e.g., ISO-based media file format) or a transmission stream. Optionally, the storage / transmission unit 502 writes the media file or transmission stream to a storage unit, such as a hard disk, a DVD disc, a cloud, or a portable storage device. Optionally, the storage / transmission unit 502 transmits the bitstream over a transmission network, such as the Internet, a wired network, a cellular network, a wireless local area network, or the like.

[0170] 16 is a structural diagram of a target device. As shown in FIG. 16, the target device 600 may include a receiving unit 601, a decoder 400, and a rendering unit 602.

[0171] The receiving unit 601 receives a media file or transmission stream from a network or reads a media file or transmission stream from a storage device. The receiving unit 601 separates the video bitstream and the audio bitstream from the media file or transmission stream. The receiving unit 601 can further generate a new video bitstream by extracting the video bitstream. The receiving unit 601 can further generate a new audio bitstream by extracting the audio bitstream. The decoder 400 decodes the video bitstream and the audio bitstream from the receiving unit 601 to obtain decoded video and one or more decoded audio corresponding to one or more sound channels. The rendering unit 602 performs operations on the reconstructed video to make it suitable for display. Such operations may include one or more operations such as noise reduction, synthesis, color space conversion, upsampling, downsampling, etc., to improve perceived quality. The rendering unit 602 can further perform operations on the decoded audio to improve the perceived quality of the displayed audio signal.

[0172] 17 is a schematic diagram of the configuration of a communication system 700. As shown in FIG. 17, the communication system 700 may include a source device 701, a storage medium / transmission network 702, and a target device 600.

[0173] The source device 701 may be the sending device 500, and the output of the storage / transmission unit 502 is processed by the storage medium / transmission network 702 to store or transmit the bitstream. The receiving unit 601 of the target device 600 obtains the bitstream from the storage medium / transmission network 702. The receiving unit 601 can extract a new video bitstream from the media file or the transmission stream. The receiving unit 601 can also extract a new audio bitstream from the media file or the transmission stream.

[0174] The method and apparatus disclosed above use multiple sets of CCLM parameters (i.e., linear model parameters, scale factors, and offset parameters) to transmit a reference position index to CU data for use in determining CCLM mode parameters. Two methods are provided in the embodiment. Method 1 is to build a list of multiple candidate CCLM parameters and instruct the CU data to transmit the index of the candidate CCLM parameters to be used. Method 2 is to transmit the reference position of the CCLM block, because the CCLM parameters are calculated using samples that use the reference position. In this VVC design, the reference point position may be determined by the starting point s and the step size Δ between the adjacent samples. Therefore, the reference position index is transmitted to the CU data to indicate the values ​​of s and Δ for identifying the reference point position, and the reference point position is used to extract the reference point and then determine the CCLM mode parameters.

[0175] Based on the above embodiment, in another embodiment of the present application, Fig. 18 is a structural diagram of an encoder 1. As shown in Fig. 18, an encoder 300 according to this embodiment may include a first determination unit 301 and a setting unit 302.

[0176] The first determination unit 301 is configured to determine a plurality of sets of CCLM parameters using a plurality of sets of reference points of the current block when determining an intra-predicted value of the current block by CCLM, the CCLM parameters including a scale factor and an offset parameter, and determine a target CCLM parameter from the plurality of sets of CCLM parameters; the setting unit 302 is configured to set a CCLM index value based on the target CCLM parameter and write the CCLM index value into a bitstream, the CCLM index value being used to instruct use of the target CCLM parameter; The first determining unit 301 is further configured to determine an intra-prediction value of the current block based on the target CCLM parameter.

[0177] Furthermore, in this embodiment of the present application, the first determination unit 301 is specifically configured to: determine whether the plurality of sets of reference points includes pixel sampling points adjacent to the current block; use one of the plurality of sets of reference points to calculate a set of CCLM parameters corresponding to the one set of reference points; and traverse the plurality of sets of reference points to determine the plurality of sets of CCLM parameters.

[0178] Furthermore, in an embodiment of the present application, the first determination unit 301 is more specifically configured to use a rate-distortion optimization method to select a set of CCLM parameters corresponding to the target cost function optimal value from the multiple sets of CCLM parameters, and determine them as the target CCLM parameters.

[0179] Furthermore, in this embodiment, the setting unit 302 is specifically configured to set the CCLM index value as the index number to which the target CCLM parameter corresponds in the multiple sets of CCLM parameters, and write the CCLM index value into the bitstream.

[0180] Furthermore, in an embodiment of the present application, the first determination unit 301 is further configured to determine position information of each set of reference points among the plurality of sets of reference points, and determine an index number of each set of CCLM parameters among the plurality of sets of CCLM parameters based on the position information of each set of reference points.

[0181] Furthermore, in this embodiment of the present application, the first determination unit 301 is more specifically configured to determine a plurality of distance parameters between the plurality of sets of reference points and the current block based on the position information of each set of reference points, and sequentially set the index numbers of each set of CCLM parameters among the plurality of sets of CCLM parameters in ascending order of the distance parameters.

[0182] Furthermore, in this embodiment, the setting unit 302 is more specifically configured to write the CCLM index value into a data unit in the bitstream that includes the current block of coded data.

[0183] Furthermore, in this embodiment of the present application, the first determination unit 301 is more specifically configured to calculate a predicted value of the second image component of the current block based on the target CCLM parameters and the reconstructed value of the first image component of the current block using a linear model.

[0184] Furthermore, in an embodiment of the present application, the first image component is a luminance component and the second image component is a chrominance component.

[0185] Furthermore, in this embodiment of the present application, the first determination unit 301 is more specifically configured to determine a CCLM mode index parameter, the CCLM mode index parameter is used to indicate the CCLM mode used by the current block, the CCLM mode is used to indicate a calculation derivation method for determining the intra prediction value using CCLM, and the CCLM mode index parameter is configured to write the CCLM mode index parameter into the bitstream.

[0186] Furthermore, in this embodiment of the present application, the setting unit 302 is further configured to set a prediction mode parameter of the current block and write it into the bitstream when the current block determines an intra-prediction value of the current block according to CCLM.

[0187] Fig. 19 is a schematic diagram 2 of the configuration structure of the encoder. As shown in Fig. 19, an encoder 300 according to an embodiment of the present application may further include a first processor 303, a first memory 304 in which instructions executable by the first processor 303 are stored, a first communication interface 305, and a first bus 306 for connecting the first processor 303, the first memory 304, and the first communication interface 305.

[0188] Further, in an embodiment of the present application, when determining an intra-prediction value of a current block by CCLM, the first processor 303 is used to: determine a corresponding set of CCLM parameters using a plurality of sets of reference points of the current block, where the CCLM parameters include a scale factor and an offset parameter; determine target CCLM parameters from the plurality of sets of CCLM parameters; set a CCLM index value based on the target CCLM parameters and write it into a bitstream, where the CCLM index value is used to indicate the use of the target CCLM parameters; and determine an intra-prediction value of the current block based on the target CCLM parameters.

[0189] In this embodiment, each functional module may be integrated into one processing unit, each unit may exist physically independently, or two or more units may be integrated into one unit. The integrated unit may be realized in the form of hardware or in the form of a software functional module.

[0190] The integrated unit may be realized in the form of a software functional module and stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the essential part of the technical solution of this embodiment or the part that contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product. The computer software product is stored in a storage medium containing some instructions for causing a computer device (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 of this embodiment. The storage medium includes various media capable of storing program code, such as a USB memory, a portable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0191] An embodiment of the present application provides an image encoder. When determining the intra-prediction value of a current block using CCLM, the encoder uses multiple sets of reference points of the current block to determine corresponding multiple sets of CCLM parameters, the CCLM parameters including a scale factor and an offset parameter, determines target CCLM parameters from the multiple sets of CCLM parameters, sets CCLM index values ​​based on the target CCLM parameters and writes them into a bitstream. The CCLM index values ​​are used to indicate the use of the target CCLM parameters, and determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in this embodiment, when determining that the intra-prediction value of the current block is to be determined using CCLM, the encoder determines corresponding multiple sets of CCLM parameters based on multiple sets of reference points of points adjacent to the current block, and determines an optimal target CCLM parameter from the multiple sets of CCLM parameters. The encoder can write CCLM index values ​​indicating the use of the target CCLM parameters into a bitstream and transmit them to a decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra-prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter, among multiple sets of CCLM parameters for the current block, into the bitstream. As a result, the encoder / decoder can determine to perform intra-prediction processing on the current block based on the target CCLM parameter, significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0192] Based on the above embodiment, in another embodiment of the present application, FIG. 20 is a structural diagram of a decoder 1. As shown in FIG. 20, a decoder 400 according to the embodiment of the present application may include an analyzing unit 401 and a second determining unit 402, the parser 401 is configured to parse a bitstream; the second determination unit 402 is configured to determine a prediction mode parameter of the current block; The parsing unit 401 is further configured to parse the bitstream if the prediction mode parameter indicates that an intra prediction value of the current block is determined by CCLM; The second determination unit 402 is further configured to determine a CCLM index value of the current block, determine target CCLM parameters of the current block based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter, and determine an intra-prediction value of the current block based on the target CCLM parameters.

[0193] Furthermore, in this embodiment of the present application, the second determination unit 402 is specifically configured to determine a target reference point of the current block based on the CCLM index value, the target reference point being one or more pixel sampling points adjacent to the current block, and determine a target CCLM parameter of the current block based on the target reference point.

[0194] Furthermore, in this embodiment of the present application, the second determination unit 402 is more specifically configured to determine the target reference point from multiple sets of reference points of the current block based on an index number indicated by the CCLM index value, and each set of reference points among the multiple sets of reference points includes pixel sampling points of one or more preset positions adjacent to the current block.

[0195] Furthermore, in an embodiment of the present application, the second determination unit 402 is more specifically configured to determine position information of each set of reference points among the plurality of sets of reference points, determine a plurality of distance parameters between the plurality of sets of reference points and the current block based on the position information of the each set of reference points, sequentially set position index numbers of each set of reference points among the plurality of sets of reference points in ascending order of the distance parameters, and select a set of reference points from the plurality of sets of reference points whose position index numbers are the same as the index numbers indicated by the CCLM index values ​​as the target reference points.

[0196] Furthermore, in this embodiment of the present application, the second determination unit 402 is more specifically configured to use multiple sets of reference points of the current block to determine corresponding multiple sets of CCLM parameters, each of the multiple sets of reference points including pixel sampling points of one or more preset positions adjacent to the current block, and to determine a set of CCLM parameters indicated by the CCLM index value among the multiple sets of CCLM parameters as the target CCLM parameters.

[0197] Furthermore, in an embodiment of the present application, the second determination unit 402 more specifically determines position information of each set of reference points among the plurality of sets of reference points, determines a plurality of distance parameters between the plurality of sets of reference points and the current block based on the position information of the each set of reference points, sequentially sets the index numbers of each set of CCLM parameters among the plurality of sets of CCLM parameters in ascending order of the distance parameters, and sets the set of CCLM parameters whose index numbers in the CCLM parameters are the same as the index numbers indicated by the CCLM index value as the target CCLM parameters.

[0198] Furthermore, in an embodiment of the present application, the second determination unit 402 is more specifically configured to calculate, using a linear model, a predicted value of the second image component of the current block based on the target CCLM parameters and the reconstructed value of the first image component of the current block.

[0199] Furthermore, in an embodiment of the present application, the first image component is a luminance component and the second image component is a chrominance component.

[0200] Further, in an embodiment of the present application, the parsing unit 401 is further configured to parse the bitstream to determine a prediction mode parameter of the current block, and then parse the bitstream if the prediction mode parameter indicates that an intra prediction value of the current block is to be determined according to CCLM; The second determination unit 402 is further configured to determine a CCLM mode index parameter of the current block, where the CCLM mode index parameter is used to indicate the CCLM mode used by the current block, and the CCLM mode is used to indicate a calculation derivation method for determining the intra prediction value according to CCLM.

[0201] Fig. 21 is a schematic diagram 2 of the decoder configuration. As shown in Fig. 21, a decoder 400 according to an embodiment of the present application may further include a second processor 403, a second memory 404 storing instructions executable by the second processor 403, a second communication interface 405, and a second bus 406 connecting the second processor 403, the second memory 404, and the second communication interface 405.

[0202] Further, in an embodiment of the present application, the second processor 403 is used to: analyze the bitstream to determine a prediction mode parameter of the current block; if the prediction mode parameter indicates that the intra-prediction value of the current block is determined by CCLM, analyze the bitstream to determine a CCLM index value of the current block; determine target CCLM parameters of the current block based on the CCLM index value, where the target CCLM parameters include a scale factor and an offset parameter; and determine the intra-prediction value of the current block based on the target CCLM parameters.

[0203] In this embodiment, each functional module may be integrated into one processing unit, each unit may exist physically independently, or two or more units may be integrated into one unit. The integrated unit may be realized in the form of hardware or in the form of a software functional module.

[0204] The integrated unit may be realized in the form of a software functional module and stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the essential part of the technical solution of this embodiment or the part that contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product. The computer software product is stored in a storage medium containing some instructions for causing a computer device (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 of this embodiment. The storage medium includes various media capable of storing program code, such as a USB memory, a portable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0205] An embodiment of the present application provides an image decoder. The decoder analyzes a bitstream to determine a prediction mode parameter for a current block. If the prediction mode parameter indicates that the intra-prediction value of the current block should be determined using CCLM, the decoder analyzes the bitstream to determine a CCLM index value for the current block and determines target CCLM parameters for the current block based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter, and determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in an embodiment of the present application, when an encoder determines that the intra-prediction value of the current block should be determined using CCLM, the encoder can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value instructing the use of the target CCLM parameter into the bitstream and transmit it to the decoding side. As a result, the decoder can analyze the bitstream to obtain the CCLM index value and determine the target CCLM parameter indicated by the CCLM index value, and then determine the intra-prediction value of the current block using the target CCLM parameter. That is, the image component prediction method according to the present application can write and transmit the target CCLM parameter, among multiple sets of CCLM parameters for the current block, into the bitstream. As a result, the encoder / decoder can determine to perform intra-prediction processing on the current block based on the target CCLM parameter, significantly reducing the complexity of the encoding / decoding processing and improving the encoding / decoding efficiency.

[0206] An embodiment of the present application provides a computer-readable storage medium having a program stored therein, which, when executed by a processor, implements the method described in the above embodiment.

[0207] Specifically, the program instructions corresponding to the image component prediction method in this embodiment may be stored in a storage medium such as an optical disk, a hard disk, a USB memory, etc. When the program instructions corresponding to the image component prediction method in the storage medium are read or executed by an electronic device, When determining an intra-prediction value of a current block by CCLM, a step of determining a corresponding set of CCLM parameters using a plurality of sets of reference points of the current block, the CCLM parameters including a scale factor and an offset parameter; a step of determining a target CCLM parameter from the plurality of sets of CCLM parameters, setting a CCLM index value based on the target CCLM parameter and writing it into a bitstream, the CCLM index value being used to indicate the use of the target CCLM parameter; determining an intra prediction value for the current block based on the target CCLM parameters.

[0208] Specifically, the program instructions corresponding to the image component prediction method in this embodiment may be stored in a storage medium such as an optical disk, a hard disk, a USB memory, etc. When the program instructions corresponding to the image component prediction method in the storage medium are read or executed by an electronic device, Parsing a bitstream to determine a prediction mode parameter of the current block; If the prediction mode parameter indicates that the intra prediction value of the current block is determined by CCLM, analyzing the bitstream to determine a CCLM index value of the current block; determining target CCLM parameters for the current block based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter; and determining an intra-prediction value for the current block based on the target CCLM parameters.

[0209] As will be appreciated by those skilled in the art, the present application may be provided as a method, a system, or a computer program product. Thus, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. The present application may also take the form of a computer program product embodied in one or more computer-usable storage mediums (including, but not limited to, magnetic disk memory, optical memory, etc.) containing computer-usable program code.

[0210] The present application has been described with reference to schematic implementation flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present application. It will be understood that each process and / or block in the schematic implementation flowcharts and / or block diagrams, and combinations of processes and / or blocks in the schematic implementation flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine. The instructions, executed by the processor of the computer or other programmable data processing device, thereby produce an apparatus for implementing the function specified in one or more processes in the schematic implementation flowcharts and / or one or more blocks in the block diagrams.

[0211] These computer program instructions may be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, whereby the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction apparatus that implements the functions specified in one or more processes in the schematic implementation flowcharts and / or one or more blocks in the block diagrams.

[0212] These computer program instructions may then be installed on a computer or other programmable data processing device, thereby causing the computer or other programmable device to perform a series of operational steps to generate a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the exemplary implementation flowcharts and / or one or more blocks in the block diagrams.

[0213] The above description is only a preferred embodiment of the present application, and is not intended to limit the protection scope of the present application. [Industrial Applicability]

[0214] The present embodiment provides a method for predicting an image component, an encoder, a decoder, and a storage medium. When an encoder determines an intra-prediction value of a current block using CCLM, the encoder uses multiple sets of reference points of the current block to determine multiple sets of corresponding CCLM parameters, where the CCLM parameters include a scale factor and an offset parameter, determines target CCLM parameters from the multiple sets of CCLM parameters, sets CCLM index values ​​based on the target CCLM parameters and writes them into a bitstream, where the CCLM index values ​​are used to indicate the use of the target CCLM parameters, and determines the intra-prediction value of the current block based on the target CCLM parameters. The decoder analyzes the bitstream to determine prediction mode parameters of the current block, and if the prediction mode parameters indicate the intra-prediction value of the current block is determined using CCLM, analyzes the bitstream to determine CCLM index values ​​of the current block, and determines target CCLM parameters of the current block based on the CCLM index values, where the target CCLM parameters include a scale factor and an offset parameter, and determines the intra-prediction value of the current block based on the target CCLM parameters. As can be seen from the above, in an embodiment of the present application, when an encoder determines that an intra-prediction value of a current block is determined using CCLM, it can determine corresponding sets of CCLM parameters based on sets of reference points adjacent to the current block, and determine an optimal target CCLM parameter from the sets of CCLM parameters. The encoder can write a CCLM index value instructing the use of the target CCLM parameter into a bitstream and transmit it to the decoding side. As a result, the decoder can analyze the bitstream, obtain the CCLM index value, and determine the target CCLM parameter indicated by the CCLM index value, thereby determining the intra-prediction value of the current block using the target CCLM parameter. In other words, the image component prediction method according to the present application can write a target CCLM parameter from among sets of CCLM parameters of the current block into a bitstream for transmission.This allows the encoder / decoder to decide to perform intra prediction processing on the current block based on the target CCLM parameters, significantly reducing the complexity of the encoding / decoding process and improving the encoding / decoding efficiency.

Claims

1. 1. A method for predicting image components applied to an encoder, comprising: When determining an intra-predicted value of a current block by component-by-component linear model prediction (CCLM), a plurality of sets of CCLM parameters are determined using a plurality of sets of reference points of the current block, and the CCLM parameters include a scale factor and an offset parameter; determining a target CCLM parameter from the plurality of sets of CCLM parameters; setting a CCLM index value based on the target CCLM parameter and writing it into a bitstream; and the CCLM index value is used to instruct the use of the target CCLM parameter; determining an intra prediction value for the current block based on the target CCLM parameters; determining a residual value of the current block based on an intra-predicted value of the current block; A method for predicting image components, wherein the sets of CCLM parameters correspond to the sets of reference points, respectively.

2. Determining corresponding sets of CCLM parameters using the sets of reference points of the current block includes: the plurality of sets of reference points includes pixel sampling points adjacent to the current block; and using one set of reference points from the plurality of sets of reference points to calculate a set of CCLM parameters corresponding to the one set of reference points. traversing the sets of reference points to determine the sets of CCLM parameters.

3. Determining a target CCLM parameter from the plurality of sets of CCLM parameters includes:

2. The method of claim 1, comprising using a rate-distortion optimization method to select a set of CCLM parameters from the plurality of sets of CCLM parameters that corresponds to a target cost function optimum value and determine the set as the target CCLM parameters.

4. setting a CCLM index value based on the target CCLM parameter and writing the CCLM index value to a bitstream; Setting the CCLM index value as an index number to which the target CCLM parameter corresponds in the sets of CCLM parameters; and writing the CCLM index value to a bitstream.

5. The method further comprises: determining location information for each set of reference points of the plurality of sets of reference points; and determining an index number for each set of CCLM parameters among the plurality of sets of CCLM parameters based on the position information of each set of reference points.

6. Determining an index number of each set of CCLM parameters among the plurality of sets of CCLM parameters based on position information of each set of reference points includes: determining a plurality of distance parameters between the plurality of sets of reference points and the current block based on position information of each set of reference points; and sequentially setting index numbers of the sets of CCLM parameters in ascending order of the distance parameter.

7. Writing the CCLM index value to a bitstream comprises:

5. The method of claim 4, further comprising writing the CCLM index value into a data unit in the bitstream that includes coded data for the current block.

8. determining an intra-prediction value of the current block based on the target CCLM parameter, 2. The method of claim 1, further comprising: using a linear model to calculate a predicted value of a second image component of the current block based on the target CCLM parameters and a reconstructed value of a first image component of the current block.

9. 9. The method of claim 8, wherein the first image component is a luminance component and the second image component is a chrominance component.

10. Before determining corresponding sets of CCLM parameters using the sets of reference points of the current block, the method further comprises: determining a CCLM mode index parameter, the CCLM mode index parameter being used to indicate a CCLM mode used by the current block, and the CCLM mode being used to indicate a calculation derivation manner for determining the intra-predicted value according to CCLM; and writing the CCLM mode index parameter into a bitstream.

11. The method further comprises: The method of claim 1 , further comprising: setting a prediction mode parameter of the current block and writing it into a bitstream when the current block determines an intra prediction value of the current block according to CCLM.

12. A method for predicting image components applied to a decoder, comprising: Parsing a bitstream to determine a prediction mode parameter of the current block; If the prediction mode parameter indicates that an intra prediction value of the current block is determined by CCLM, analyzing the bitstream to determine a CCLM index value of the current block; determining target CCLM parameters for the current block from the sets of CCLM parameters based on the CCLM index value, the target CCLM parameters including a scale factor and an offset parameter; determining an intra prediction value for the current block based on the target CCLM parameters; determining a reconstructed value of the current block based on an intra-predicted value of the current block and a residual value of the current block; The plurality of sets of CCLM parameters correspond to a plurality of sets of reference points, respectively, in a method for predicting image components.

13. determining a target CCLM parameter of the current block based on the CCLM index value, determining a target reference point of the current block based on the CCLM index value, the target reference point being one or more pixel sampling points adjacent to the current block; and determining target CCLM parameters for the current block based on the target reference point.

14. determining a target reference point of the current block based on the CCLM index value, 14. The method of claim 13, further comprising: determining the target reference point from a plurality of sets of reference points of the current block based on an index number indicated by the CCLM index value; and each set of reference points of the plurality of sets of reference points including pixel sampling points at one or more preset positions adjacent to the current block.

15. determining a target CCLM parameter of the current block based on the CCLM index value, determining corresponding sets of CCLM parameters using a plurality of sets of reference points of the current block, each set of reference points including pixel sampling points of one or more preset locations adjacent to the current block; and determining, as the target CCLM parameters, a set of CCLM parameters indicated by the CCLM index value from among the plurality of sets of CCLM parameters.

16. determining an intra-prediction value of the current block based on the target CCLM parameter, 13. The method of claim 12, comprising using a linear model to calculate a predicted value of a second image component of the current block based on the target CCLM parameters and a reconstructed value of a first image component of the current block.

17. 17. The method of claim 16, wherein the first image component is a luma component and the second image component is a chroma component.

18. After analyzing the bitstream to determine a prediction mode parameter of the current block, the method further includes:

13. The method of claim 12, further comprising: if the prediction mode parameter indicates that the intra-predicted value of the current block is determined by CCLM, analyzing the bitstream to determine a CCLM mode index parameter of the current block, the CCLM mode index parameter being used to indicate a CCLM mode used by the current block, and the CCLM mode being used to indicate a calculation derivation method for determining the intra-predicted value by CCLM.

19. An encoder comprising a first processor and a first memory in which instructions executable by the first processor are stored, the instructions, when executed, causing the first processor to perform and implement a method according to any one of claims 1 to 11.

20. A decoder comprising a second processor and a second memory in which instructions executable by said second processor are stored, said instructions, when executed, being implemented by said second processor by executing a method according to any one of claims 12 to 20.

Citation Information

Patent Citations

  • CCLM prediction-based image decoding method and apparatus in an image coding system

    JP2021510245A

  • Chroma block prediction method and apparatus

    JP2022516180A

  • Method for decoding image on basis of CCLM prediction in image coding system, and device therefor

    US20200296391A1

  • Intra prediction image generating device, image decoding device, and image coding device

    WO2018116925A1