Signaling correction of convolutional cross-component models

By correcting the parameters in the cross component model, the problem of large prediction error of chroma sample in the prior art is solved, and higher prediction accuracy and video compression efficiency are achieved.

CN119790653APending Publication Date: 2025-04-08INTERDIGITAL CE PATENT HOLDINGS SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380063050.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-01
Filing Date
2023-06-21
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

When predicting chromaticity samples, it is difficult for existing video encoding technologies to accurately utilize the correlation of luminance samples, resulting in large prediction errors.

Method used

By obtaining the correction values, the parameters in the cross component model are corrected for more accurately predicting the chromaticity sample based on the corresponding luminance sample.

Benefits of technology

It improves the accuracy of chroma sample prediction, reduces errors during encoding and decoding, and improves video compression efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119790653A_ABST
    Figure CN119790653A_ABST
Patent Text Reader

Abstract

Apparatuses and methods including techniques for encoding video data are disclosed. The disclosed techniques include obtaining video data including data representing a region of video data, and obtaining correction value (s) representing a correction of a cross-component model used to predict chroma samples from the region of video data based on corresponding luma samples. The correction value (s) and the video data are then encoded into encoded video data. Apparatus and methods including techniques for decoding encoded video data are also disclosed. The disclosed techniques include receiving encoded video data that encodes video data including data representing a region of video data and correction value (s). The correction value (s) is then decoded from the encoded video data. The decoded correction value (s) is used to adjust a cross-component model that is applied to intra prediction of chroma samples from a region of video data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of European Provisional Application No. 22305975.9, filed on July 1, 2022, the contents of which are incorporated herein by reference in their entirety. Background Art

[0002] In order to achieve high compression efficiency, image and video coding schemes usually use prediction and transformation to balance the spatial and temporal redundancy in video content. Typically, intra-frame or inter-frame prediction is used to exploit intra-frame or inter-frame picture correlation, and then the difference between the original block and the predicted block (usually expressed as a prediction error or prediction residual) is transformed, quantized, and entropy encoded. In order to reconstruct the video, the compressed data is decoded by the inverse process corresponding to entropy coding, quantization, transformation, and prediction. Summary of the invention

[0003] Aspects disclosed in the present disclosure describe a method of encoding video data by an encoder. The method includes: obtaining video data, which includes data representing a region of video data; obtaining at least one correction value, the at least one correction value representing a correction to a cross-component model, the cross-component model used to predict chrominance samples from the region of video data based on corresponding luma samples; and encoding the at least one correction value and the video data into encoded video data.

[0004] Aspects disclosed in the present disclosure describe a method for decoding video data by a decoder. The method includes receiving encoded video data, which encodes video data including data representing a video data region and at least one correction value; and decoding the at least one correction value from the encoded video data. The at least one correction value represents a correction to a cross-component model, the cross-component model being used to predict chrominance samples from the video data region based on corresponding luma samples.

[0005] Aspects disclosed in the present disclosure describe an apparatus for encoding video data. The apparatus includes at least one processor and a memory storing instructions. When executed by the at least one processor, the instructions cause the apparatus to: obtain video data, which includes data representing a region of video data; obtain at least one correction value, the at least one correction value representing a correction to a cross-component model, the cross-component model being used to predict chrominance samples from the region of video data based on corresponding luminance samples; and encode the at least one correction value and the video data into encoded video data.

[0006] Aspects disclosed in the present disclosure describe an apparatus for decoding video data. The apparatus includes at least one processor and a memory storing instructions. When executed by the at least one processor, the instructions cause the apparatus to: receive encoded video data, which encodes video data including data representing a video data region and at least one correction value; and decode at least one correction value from the encoded video data. The at least one correction value represents a correction to a cross-component model, the cross-component model being used to predict chrominance samples from a video data region based on corresponding luma samples.

[0007] Aspects disclosed in the present disclosure describe a non-transitory computer-readable medium including instructions executable by at least one processor to perform a method. The method includes obtaining video data including data representing a region of the video data; obtaining at least one correction value, the at least one correction value representing a correction to a cross-component model for predicting chrominance samples from the region of the video data based on corresponding luma samples; and encoding the at least one correction value and the video data into encoded video data.

[0008] Aspects disclosed in the present disclosure describe a non-transitory computer-readable medium including instructions executable by at least one processor to perform a method. The method includes: receiving encoded video data, which encodes video data including data representing a video data region and at least one correction value; and decoding at least one correction value from the encoded video data. The at least one correction value represents a correction to a cross-component model, the cross-component model being used to predict chrominance samples from the video data region based on corresponding luma samples.

[0009] This summary is provided to introduce in a simplified form a selection of concepts that will be further described in the following detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that address any or all disadvantages noted in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is a block diagram of an example system with which aspects of the present embodiments may be implemented.

[0011] Figure 2 is a block diagram of an example video encoder with which aspects of the present embodiments may be implemented.

[0012] Figure 3 is a block diagram of an example video decoder with which aspects of the present embodiments may be implemented.

[0013] Figure 4 is a diagram showing a cross-component linear model (CCLM) used in cross-component (CC) based prediction, according to which aspects of the present embodiment can be implemented.

[0014] Figure 5 is a diagram illustrating a multi-model linear model (MMLM) used in CC-based prediction, according to which aspects of the present embodiment can be implemented.

[0015] Figure 6 is a diagram illustrating multiple reference lines (MRLs) used in CC-based prediction, according to which aspects of the present embodiment may be implemented.

[0016] Figure 7 is a diagram showing a reference region used by a convolutional cross-component model (CCCM), according to which aspects of the present embodiment can be implemented.

[0017] Figure 8 is a flow chart of an example method for CC-based prediction, according to which aspects of the present embodiments may be implemented.

[0018] Fig. 9 is a diagram illustrating corrections to the CCLM, according to which aspects of the present embodiment may be implemented.

[0019] Fig.10 is a flow chart of an example method for encoding video data, according to which aspects of the present embodiments may be implemented.

[0020] Fig.11 is a flow chart of an example method for decoding video data, according to which aspects of the present embodiments may be implemented. DETAILED DESCRIPTION

[0021] Figure 1A block diagram of an example of an example system 100 in which various aspects of the present embodiment can be implemented is shown. System 100 can be implemented as a device including various components described below, and is configured to perform one or more aspects described in this application. Examples of such devices include, but are not limited to, various electronic devices, such as personal computers, laptop computers, smart phones, tablet computers, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected household appliances and servers. The elements of system 100 can be embodied in a single integrated circuit, multiple ICs and / or discrete components, either alone or in combination. For example, in at least one embodiment, the processing and encoder / decoder elements of system 100 are distributed over multiple ICs and / or discrete components. In various embodiments, system 100 is coupled to other systems or other electronic devices via, for example, a communication bus or by a dedicated input and / or output port communication. In various embodiments, system 100 is configured to implement one or more aspects described in this application.

[0022] The system 100 includes at least one processor 110, which can be configured to execute instructions loaded therein, for implementing, for example, various aspects described in the present application. The processor 110 may include embedded memory, input and output interfaces, and various other circuits known in the art. The system 100 includes at least one memory 120 (e.g., a volatile memory device and / or a non-volatile memory device). The system 100 includes a storage device 140, which may include a non-volatile memory and / or a volatile memory, including but not limited to an EEPROM, a ROM, a PROM, a RAM, a DRAM, an SRAM, a flash memory, a disk drive, and / or an optical drive. As a non-limiting example, the storage device 140 may include an internal storage device, an attached storage device, and / or a network accessible storage device.

[0023] The system 100 includes an encoder / decoder module 130, which is configured to, for example, process data to provide encoded video or decoded video. The encoder / decoder module 130 may include its own processor and memory. The encoder / decoder module 130 represents a (multiple) module that may be included in a device to perform encoding and / or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. In addition, the encoder / decoder module 130 may be implemented as a separate element of the system 100, or may be incorporated into the processor 110 as a combination of hardware and software, as known to those skilled in the art.

[0024] Program code to be loaded onto the processor 110 or the encoder / decoder 130 to perform various aspects described in this application may be stored in the storage device 140 and subsequently loaded onto the memory 120 for execution by the processor 110. According to various embodiments, one or more of the processor 110, the memory 120, the storage device 140, and the encoder / decoder module 130 may store one or more of various items during the execution of the processes described in this application. Such stored items may include, but are not limited to, input video, decoded video or portions of decoded video, bitstreams, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic.

[0025] In several embodiments, memory internal to the processor 110 and / or encoder / decoder module 130 is used to store instructions and provide working memory for processing required during encoding or decoding. However, in other embodiments, memory external to the processing device (e.g., the processing device may be the processor 110 or the encoder / decoder module 130) is used for one or more of these functions. The external memory may be a memory 120 and / or a storage device 140, such as a dynamic volatile memory and / or a non-volatile flash memory. In several embodiments, the external non-volatile flash memory is used to store the operating system of the television. In at least one embodiment, a fast external dynamic volatile memory such as RAM is used as working memory for video encoding and decoding operations, such as for MPEG-2, HEVC, or VVC.

[0026] As shown in block 105, input may be provided to the elements of system 100 through various input devices. Such input devices include, but are not limited to, (i) an RF section that receives an RF signal transmitted over the air, such as by a broadcaster, (ii) a composite input terminal, (iii) a USB input terminal, and / or (iv) an HDMI input terminal.

[0027] In various embodiments, the input device of block 105 has associated corresponding input processing elements known in the art. For example, the RF portion may be associated with elements suitable for the following operations: (i) selecting a desired frequency (also referred to as selecting a signal, or band limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) again band-limiting to a narrower frequency band to select a signal frequency band that may be referred to as a channel in some embodiments, (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired data packet stream. The RF portion of various embodiments includes one or more elements that perform these functions, such as a frequency selector, a signal selector, a band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF portion may include a tuner that performs various of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a near-baseband frequency) or baseband. In a set-top box embodiment, the RF part and its associated input processing element receive the RF signal transmitted by wired (for example, cable) medium, and filter to the desired frequency band by filtering, down-conversion and again to perform frequency selection. Various embodiments rearrange the order of above-mentioned (and other) elements, remove some in these elements, and / or add other elements that perform similar or different functions. Adding element can include inserting element between existing element, for example, inserting amplifier and analog-to-digital converter. In various embodiments, the RF part includes antenna.

[0028] In addition, the USB and / or HDMI terminals may include corresponding interface processors for connecting the system 100 to other electronic devices via USB and / or HDMI connections. It should be understood that various aspects of input processing, such as Reed-Solomon error correction, may be implemented, for example, within a separate input processing IC or within the processor 110 as desired. Similarly, various aspects of USB or HDMI interface processing may be implemented within a separate interface IC or within the processor 110 as desired. The demodulated, error-corrected, and demultiplexed streams are provided to various processing elements, including, for example, the processor 110 and the encoder / decoder 130, which operate in conjunction with memory and storage elements to process the data streams as needed for presentation on an output device.

[0029] The various components of the system 100 may be disposed within an integrated housing. Within the integrated housing, the various components may be interconnected and transmit data therebetween using suitable connection means 115, such as an internal bus known in the art, including an I2C bus, wiring, and a printed circuit board.

[0030] The system 100 includes a communication interface 150 that enables communication with other devices via a communication channel 190. The communication interface 150 may include, but is not limited to, a transceiver configured to send and receive data through the communication channel 190. The communication interface 150 may include, but is not limited to, a modem or a network card, and the communication channel 190 may be implemented in, for example, a wired and / or wireless medium.

[0031] In various embodiments, data is streamed to the system 100 using a Wi-Fi network such as IEEE 802.11. The Wi-Fi signals of these embodiments are received through a communication channel 190 and a communication interface 150 suitable for Wi-Fi communications. The communication channel 190 of these embodiments is typically connected to an access point or router that provides access to external networks including the Internet to allow streaming applications and other over-the-top communications. Other embodiments provide streaming data to the system 100 using a set-top box that delivers data through an HDMI connection of the input block 105. Other embodiments provide streaming data to the system 100 using an RF connection of the input block 105.

[0032] The system 100 can provide output signals to various output devices, including a display device 165, an audio device (e.g., speaker(s)) 175, and other peripheral devices 185. In various examples of embodiments, the other peripheral devices 185 include one or more of a stand-alone DVR, a disc player, a stereo system, a lighting system, and other devices that provide functions based on the output of the system 100. In various embodiments, control signals are transmitted between the system 100 and the display device 165, the audio device 175, or other peripheral devices 185 using signaling such as AV.Link, CEC, or other communication protocols that can achieve device-to-device control with or without user intervention. The output devices can be communicatively coupled to the system 100 via dedicated connections through their respective interfaces 160, 170, and 180. Alternatively, the output devices can be connected to the system 100 using a communication channel 190 via the communication interface 150. The display device 165 and the audio device 175 can be integrated into a single unit with other components of the system 100 in an electronic device (e.g., a television). In various embodiments, the display interface 160 includes a display driver, such as a timing controller (T Con) chip.

[0033] For example, if the RF portion of input 105 is part of a separate set-top box, the display device 165 and the audio device 175 may alternatively be separate from one or more other components. In various embodiments where the display device 165 and the audio device 175 are external components, the output signals may be provided via dedicated output connections, including, for example, an HDMI port, a USB port, or a COMP output.

[0034] Figure 2 A block diagram of an example video encoder 200 is shown, with which aspects of the present embodiment may be implemented. For example, the video encoder 200 may be an encoder operating in accordance with the High Efficiency Video Coding (HEVC) standard or an improved HEVC standard. Alternatively, the video encoder 200 may be an encoder operating in accordance with the Versatile Video Coding (VVC) standard developed by the JVET (Joint Video Exploration Team).

[0035] In this application, the terms "reconstruction" and "decoding" can be used interchangeably, the terms "encoded" or "coded" can be used interchangeably, and the terms "image", "picture" and "frame" can be used interchangeably. Usually, but not necessarily, the term "reconstruction" is used on the encoder side, while the term "decoding" is used on the decoder side.

[0036] like Figure 2 As shown, before undergoing encoding, the video data may be pre-processed by a pre-encoding processor 201. Such processing may include applying a color model transform to an input color picture (e.g., conversion from RGB 4:4:4 to YCbCr 4:2:0), or performing a mapping of input picture components to obtain a signal distribution that is more resilient to compression (e.g., using histogram equalization of one of the color components and / or applying a denoising filter). Pre-processing may include associating metadata with the video data that may be appended to the encoded video bitstream.

[0037] In the encoder 200, a picture is encoded by encoder elements, as described below. An image partitioner 202 may partition a picture to be encoded into coding units (CUs). Each CU is encoded using, for example, an intra or inter prediction mode. When a CU is encoded in intra prediction mode, an intra predictor 260 may perform intra prediction to predict another CU in the frame based on data from one CU in the frame, the former being a reconstructed version that may be obtained from a reference picture buffer 280. In inter prediction mode, motion estimation and motion compensation are performed by a motion estimator 275 and a motion compensator 270, respectively. In inter prediction mode, a CU in a frame is predicted based on one or more other CUs in adjacent frames, using a reconstructed version thereof that may be obtained from a reference picture buffer 280. The encoder decides 205 which of the intra prediction mode or the inter prediction mode is used to encode the CU, and indicates the intra / inter decision by, for example, a prediction mode flag. After operation, a prediction residual is calculated for each CU in either the inter prediction mode or the intra prediction mode, for example by subtracting 210 the predicted CU from the original CU.

[0038] The transformer 225 and quantizer 230 then transform and quantize the corresponding prediction residual of the CU, respectively. The entropy encoder 245 then encodes the quantized transform coefficients as well as the motion vectors and other syntax elements, which outputs a coded video bitstream. The encoder 200 can skip the transform and directly quantize the untransformed residual signal. The encoder 200 can bypass both the transform and the quantization, that is, the residual can be encoded directly without applying the transform 225 or the quantization 230 process.

[0039] The encoder 200 reconstructs the encoded CU to provide a reference for further prediction. Therefore, the quantized transform coefficients (output of the quantizer 230) are dequantized by the inverse quantizer 240 and then inversely transformed by the inverse transformer 250 to decode the prediction residual. The decoded prediction residual and the corresponding predicted CU are combined 255 to produce the corresponding reconstructed CU. The in-loop filter 265 can be applied to the reconstructed picture (formed by the reconstructed CU) to perform, for example, deblocking filtering and / or SAO (sample adaptive offset) filtering to reduce coding artifacts. The filtered reconstructed picture can then be stored in a reference picture buffer (280).

[0040] Figure 3 1 shows a block diagram of an example video decoder 300 with which aspects of the present embodiment may be implemented. In the decoder 300, the decoded video bitstream is decoded by the decoder elements described below. In general, aspects of the operation of the video decoder 300 are similar to those of the reference 100. Figure 2 The described aspects of the operation of the video encoder 200 are reciprocal. In addition, the operation of the encoder 200 also includes decoding aspects 240, 250, by which the encoded images are reconstructed. The reconstructed pictures can then be stored in a reference picture buffer 280 and used to facilitate motion estimation 275 and compensation 270, as described above.

[0041] Specifically, the decoder 300 is fed with an input including, for example, a decoded video bitstream generated by the video encoder 200. The decoded video bitstream is first entropy decoded by an entropy decoder 330, which decodes quantized transform coefficients, motion vectors, and other data that may be encoded into the bitstream (such as data indicating how the image is partitioned) from the bitstream. The quantized transform coefficients are dequantized by an inverse quantizer 340 and then inversely transformed by an inverse transformer 350 to decode the prediction residual of the CU. The decoded prediction residual and the corresponding predicted CU are combined 355 to produce a corresponding reconstructed CU. The predicted CU can be obtained 370 from an intra-frame predictor 360 or from a motion compensator 375. An in-loop filter 365 can be applied to the reconstructed picture (formed by the reconstructed CU). The filtered reconstructed picture can then be stored in a reference picture buffer 380 to facilitate motion compensation 375.

[0042] The decoded pictures may be further processed by the post-decoding processor 385. For example, the post-decoding processing may include an inverse color model transform (e.g., conversion from YCbCr 4:2:0 to RGB 4:4:4) or an inverse mapping to reverse the mapping process performed in the pre-encoding processor 201. The post-decoding processor 385 may use metadata derived by the pre-encoding processor 201 and / or signaled in the decoded video bitstream.

[0043] The aspects disclosed herein are described with reference to a CU, however, the described aspects are applicable to any region (i.e., a video data region) in a video frame to which the encoder 260 or the decoder 360 can apply intra prediction. Thus, a CU (as referred to herein) is a video data region that can be formed by video partitions of any shape or size.

[0044] As described above, when operating in intra prediction mode is selected, the encoder 200 can perform intra prediction 260 with respect to a particular CU of a picture. The CU includes a luma component Y and chroma components Cr and Cb (either component is also referred to herein as C). Typically, the chroma component C is downsampled and therefore has a reduced resolution relative to the corresponding luma component Y. Typically, the image content of the chroma component C is correlated with the image content of the corresponding luma component Y and its adjacent spatial neighbors. In order to exploit this cross-component correlation, there are methods for predicting chroma samples from chroma components C based on corresponding luma samples derived from the reconstructed corresponding luma component Y. Several of these methods, generally referred to herein as cross-component (CC) based prediction, are described below.

[0045] CC-based prediction can rely on a linear model, namely CC linear model (CCLM) prediction. In CCLM-based prediction, the chroma samples from the C component of a CU (coded in intra prediction mode) are based on the reconstructed and downsampled Y component (denoted as Y rs ) is linearly predicted. Therefore, the linear prediction of the chrominance sample at the pixel position (i, j) of the C component (i.e., the chrominance sample C(i, j)) can be expressed as follows: C p (i, j) = α·Y rs (i,j)+β,(1) Among them, C p (i, j) indicates the predicted chroma sample at pixel position (i, j) of the C component of the CU, and Y rs (i, j) indicates the Y of CU rsThe brightness samples at the pixel position (i, j) of the component. The parameters α and β of the model can be estimated, for example, based on the reference samples and by using a least squares optimization algorithm, which finds the parameters α and β that minimize the model error. The error of the model can be expressed by the formula as follows: E(n)=c ref (n)-(α·y ref (n)+β),n∈1:N, (2) Among them, a pair of y ref (n) and c ref (n) respectively represent the reference luminance sample and the corresponding reference chrominance sample, indexed as n∈1:N. And, a pair of y ref (n) and c ref (n) The reference samples are derived from the Y and C components of the reconstructed CU located near the CU for which prediction is performed (according to (1)). Therefore, the least squares optimization algorithm finds the error sum of squares The optimal value of the smallest α and β. N pairs of reference samples can be selected according to different schemes, that is, for (y ref (n), c ref (n)), for n∈1:N, as follows.

[0046] Figure 4 2 is a diagram showing a CCLM prediction mode used in CC-based prediction, according to which aspects of the present embodiment can be implemented. The CCLM prediction mode is used in the Universal Video Coding (VCC) standard (see Universal Video Coding, Standard ITU-T H.266, ISO / IEC 23090-3, 2020). As described above, in the CCLM prediction mode, the chrominance samples from the C component 420, 450, 480 can be reconstructed from the corresponding down-sampled Y rs The corresponding brightness samples of components 425, 455, and 485 are used for prediction, such as Figure 4 As shown by arrows 405, 435, and 465 in the middle. In the VCC standard, up to four (N=4) pairs of reference samples (shown by black squares) are used to predict the linear model parameters α and β, which are selected according to three modes: LM_CHROMA mode 400A, MDLM_T mode 400B, and MDLM_L mode 400C. In LM_CHROMA mode 400A, four pairs of reference samples are selected from areas 410 and 415 above and to the left of the CU. A pair of reference samples 401 is shown with respect to this mode 400A. In MDLM_T 400B mode, four pairs of reference samples are selected from areas 440 and 445 above the CU. And, in MDLM_L mode 400C, four pairs of reference samples are selected from areas 470 and 475 to the left of the CU.

[0047] There are several variations of CCLM. The variation may be with respect to 1) the location and / or number N of reference pairs used to estimate the model parameters α and β; 2) the method used to estimate the parameters of the model; or 3) the type of filter used when downsampling the luma component Y to its downsampled version Yrs. For example, when using the Enhanced Compression Model (ECM) (see, M. Coban, F. LeLeannec, K. Naser, J. “Algorithmic Description of Enhanced Compression Model 4 (ECM 4)”, document JVET-Y2025, 23rd meeting, via conference call, July 7-16, 2021), extends the CCLM included in VVC by adding three multi-model linear model (MMLM) modes (see, K. Zhang, J. Chen, L. Zhang, M. Karczewicz, “Enhanced Cross-Component Linear Model Intra Prediction”, document JVET-D0110).

[0048] Figure 5 is a diagram showing a multi-model linear model (MMLM) used in CC-based prediction, according to which aspects of the present embodiment can be implemented. In the MMLM, based on the corresponding brightness sample y ref (n) pixel intensity level, N reference pairs (y ref (n), c ref (n)) is classified into multiple categories. For example, in the case of two categories (category A 510 and category B 520), the reference pair (y 510) can be classified into two categories based on the threshold value T 530. ref (n), c ref (n)) into two groups. For example, based on N brightness samples y ref The threshold T is determined by taking the average value of the pixel intensity level (n). Figure 5 As shown, samples below the threshold are classified into the first class 510 (represented by black circles), and samples above the threshold are classified into the second class 520 (represented by open circles). A linear model associated with each class can be estimated (e.g., as described above) based on reference pairs for each class, resulting in a first model having parameters α1 and β1 estimated based on reference pairs from class A 510, and a second model having parameters α2 and β2 estimated based on reference pairs from class B 520, as shown in FIG. Figure 5 Thus, the first model may be used to predict chrominance samples using corresponding luma samples belonging to class A 510 , and the second model may be used to predict chrominance samples using corresponding luma samples belonging to class B 520 .

[0049] Figure 61 is a diagram showing a multi-reference line (MRL) used in CC-based prediction, according to which aspects of the present embodiment can be implemented. In MRL mode, a CU can be viewed from above (e.g., see Figure 6 D, E, and F in the left side (see, for example, Figure 6 Select reference pairs in multiple rows of segments C, B, and A. Figure 6 In the example shown, samples from segments A and F may be filled with the closest samples from segments B and E, respectively. For example, in HEVC, in CCLM mode, the reference pair is selected from the nearest reference line (reference line 0), wherein when MRL mode is activated, the reference pair may also be selected from two additional lines (reference line 1 and reference line 3). The index of the reference line used may also be signaled.

[0050] The convolutional cross-component model (CCCM) is another approach to CC-based prediction (see P. Astola, J. Lainema, R. Youvalari, A. Aminlou, K. Panusopone, "AHG12: Convolutional Cross-Component Model (CCCM) for Intra Prediction", paper JVET-Z0064, 26th meeting, by teleconference, April 20-29, 2022). Similar to the CCLM, the CCCM can be used to predict chrominance samples based on the corresponding downsampled reconstructed luma samples. Also, similar to the CCLM, there are options to use a single model or multiple model variants of the CCCM, as described with respect to Figure 5 Preferably, when a large number of reference pairs (eg, at least 128) are available, the multi-model CCCM mode can be selected.

[0051] The parameters of CCCM include 3×3 kernel K, nonlinear term p and bias term q. Kernel K is a plus-shaped kernel with kernel coefficient k C , k N , k S , k E , K W , which are located at the center, north, south, east, and west of the pixel position convolved with the kernel. rs (i, j) performs convolution, and the filter outputs Y rs (i, j)*K is: Y rs (i, j)·k C +Y rs (i, j-1)·k N +Y rs (i, j+1)·k S +Y rs (i-1, j)·k W +Yrs (i+1,j)·k E .(3) The nonlinear term p can be determined as Y rs (i, j) is a power of 2, scaled to the bit depth used. For example, for a bit depth of 10 bits, the nonlinear term p is: p≡P(Y rs (i, j) 2 )=(Y rs (i, j) 2 +512)>>10.(4) The bias term q may be determined as an intermediate chrominance value (eg, 512 for 10-bit content).

[0052] Therefore, the CCCM model can be expressed as follows: C p (i, j) = Y rs (i, j)*K+a·P(Y rs (i, j) 2 )+b·q,(5) Please note that C p (i, j) can be further clipped to the range of valid chrominance samples. Therefore, the CCCM model parameters are A≡(k C , k N , k S , k W , k E , a, b). Similar to CCLM, these parameters can be estimated by minimizing the model error as follows: E(n)=c ref (n)-(y ref (n)*K+a·P(y ref (n) 2 )+b·q), n∈1:N, (6) Among them, a pair of y ref (n) and c ref (n) respectively indicate the reference luma sample and the corresponding reference chroma sample, indexed as n∈1:N. And, wherein a pair of y_ref(n) and c is derived from the Y and C components of the reconstructed CU located near the CU on which prediction is performed, respectively. ref (n) reference samples (according to (5)). Therefore, the least squares optimization algorithm can be used to find (k C , k N , k S , k W , k E , a, b) that makes the error sum of squares Minimum. As reference Figure 7To further explain, N reference pairs y ref (n) and c ref (n) can be selected from the reference area.

[0053] In one aspect, the luminance reference sample y can be calculated by ref (n) and the brightness reference sample y ref (n) and chromaticity reference sample c ref The cross-correlation matrix between (n) is used to minimize the sum of squared errors. The autocorrelation matrix is ​​then decomposed by LDL and back-substitution is used to calculate the CCCM model parameters. This process is similar to the calculation of the ALF filter coefficients in ECM, but LDL decomposition is used instead of Cholesky decomposition to avoid the use of square root operations. Advantageously, this calculation uses only integer arithmetic.

[0054] Figure 7 is a diagram showing a reference area that can be used by CCCM, according to which various aspects of the present embodiment can be implemented. Figure 7 As shown, to estimate CCCM parameters, reference pairs can be selected from reference region 710, which includes 6 rows above the CU and 6 columns to the left of the CU. However, in this case, padding region 720 (for reference pairs located along the boundary of reference region 710) is also used to support convolution of 3×3 kernel k. For each CU, regions 710, 720 are determined to include only available samples. Samples in region 720 can be padded if they are not available.

[0055] The above methods for CC-based forecasting - using CCLM, MMLM and CCCM - are usually referred to as Figure 8 Give a description.

[0056] Figure 8 800, according to which aspects of the present embodiment can be implemented. The CC-based prediction described for the chrominance component C of a CU provides a reconstructed and downsampled luma component Y from the CU. rs The corresponding luma sample of y is predicted from the chroma sample of C. According to the aspects described herein, method 800 begins at step 810 by selecting reference samples, for example, N reference pairs y ref (n) and c ref The number of reference samples N and the region (near the CU) from which the reference samples are selected may vary, for example, as shown in Figure 4 , 6 In step 820, optionally, the reference sample can be classified into multiple categories or kept in the same category, such as reference Figure 5In step 830, a model is derived for each class. Thus, for each class model, model parameters are estimated based on reference samples from the corresponding class. Then, in step 840, the model associated with the class to which the luma sample belongs (derived in step 830) may be used to estimate the model parameters based on the reference samples from the Y rs The corresponding luma samples of C are used to predict the chroma samples from C.

[0057] The accuracy of CC-based prediction depends on the luma reference samples (N selected luma samples y ref (n)) statistically represents the degree of luma samples in the CU. For example, in the case of CCCM, based on the Figure 7 ) neighborhood to derive model parameters. However, the image characteristics (statistics) of the luma reference samples may differ from the image characteristics of the luma samples in the CU to an extent that may affect the prediction accuracy provided by the model. Therefore, in order to reduce the prediction error of the model, the encoder 200 may signal a correction when encoding the CU in intra prediction mode 260. When decoding the CU 360, the decoder 300 may apply the signaled correction. In the case of CCLM, the above problem is solved by signaling a correction to the slope α of the linear model (see, J. Lainema, A. Aminlou, P. Astola, R. Youvalari, “EE2-1.1: Slope Adjustment for CCLM”, document JVET-Z0049, 26th meeting, via telephone conference, April 20-29, 2022), as referenced. Fig. 9 Further described.

[0058] Fig. 9 , which is a diagram showing the correction of CCLM, according to which aspects of the present embodiment can be implemented. Assume that the reference luma samples used to estimate the linear model of a certain CU are y1, y2, y3 and y4, and their corresponding chroma samples c1, c2, c3 and c4 (see Fig. 9 Next, assume that CU’s Y rs If the luma samples in the component do not include the luma sample with value y1, then the linear model estimated based on the reference luma samples containing only y2, y3, and y4 and their corresponding chroma samples c2, c3, and c4 will be more accurate (see Fig. 9 Therefore, in order to reduce the error of chroma sample prediction, the slope α of the corresponding linear model can be corrected by the value u. Fig. 9The bottom graph shows a correction that can be applied to the original CCLM (dashed line) to produce a corrected CCLM (solid line). For example, the original CCLM may be CCLM1, which is corrected to produce a more accurate CCLM2 (i.e., the corrected CCLM). A corrected slope represented by α′=α+u is determined while maintaining a corrected offset β′ such that the line of the corrected linear model (solid line) is fixed 910 at point y=y m Where y m Indicates the average value of the observed brightness samples (brightness reference samples used when estimating model parameters). That is, u and β' are determined so that the error of the model is reduced and so that at least the following relationship is closely maintained: (α′·y m +β′)=(α·y m +β).(7) The correction u to the slope is signaled to the decoder. However, the decoder can deduce the correction β′ to the offset according to Eq.

[0059] As disclosed herein, in the case of using CCCM, corrections can be signaled. As mentioned above, the CCCM model parameters are A = (k C , k N , k S , k W , k E , a, b) (see Equation 5). Various aspects of correcting the CCCM are described below.

[0060] In a first aspect, a correction U≡(u1, u2, u3, u4, u5, u6, u7) is signaled with respect to all parameters. Accordingly, A is corrected to: A′=(k C +u1,k N +u2,k S +u3,k W +u4,k E +u5, a+u6, b+u7) =(k C ′,k N ′,k S ′,k W ′,k E ′, a′, b′) = (K′, a′, b′) (8) Signaling a correction to each model parameter provides the greatest flexibility in reducing model error at the expense of an additional bit to transmit the code U. In a variant, the correction u7 for the offset b is derived from the other corrections. Similar to the linear model (see Equation 7), this can be done by maintaining: Y m*K′+a′·P(y m 2 )+b′·q=Y m *K+a·P(y m 2 )+b·q (9) Among them, y m indicates the mean of the observed brightness samples (the brightness reference samples used in estimating the model parameters), and where Y m Indicates that all elements are equal to y m Therefore, the decoder can obtain the correction u7 for the offset b as follows: u7=(-(u1+u2+u3+u4+u5)·y m -u6·p(y m 2 )) / q (10)

[0061] In a second aspect, a correction of only one parameter of the CCCM may be signaled. That is, any one of u1, u2, u3, u4, u5, u6 or u7 may be signaled. Signaling a correction of only one model parameter provides less flexibility in reducing model errors, however, it may allow for the transmission of a larger correction for the same number of bits. In one variant, only the correction u1 to the first coefficient is signaled. In another variant, the index of the parameter to be corrected is transmitted first, followed by the corresponding correction (e.g., signaling index = 1 and u1). In another variant, the parameter to be corrected is the parameter with the largest absolute value; this can be derived on the decoder side, so in this case, there is no need to signal the index of the corrected parameter. In another variant, the correction u7 to the offset may be derived, for example, by using equation 10, where in this case, only one signaled correction (one of u1, u2, u3, u4, u5, u6) may be inserted into the equation.

[0062] In a third aspect, a correction including a value u may be signaled that is to be applied to all CCCM parameters. For example, the same value of u may be signaled and used to correct all seven parameters - i.e., the values ​​of u1, u2, u3, u4, u5, u6 and u7 may all be set to u. Signaling a correction value in this manner provides less flexibility in reducing model errors, however this may allow larger correction values ​​to be transmitted for the same number of bits. In one variation, the values ​​of u1, u2, u3, u4, u5 and u6 are set to u, and the offset correction u7 is obtained according to equation (10), which in this case becomes: u7 = -u(5y m +P(y m 2 )) / q.

[0063] Determine (multiple) correction values ​​so that when applied to the CC model, the prediction accuracy of the model is improved. For example, the (multiple) correction values ​​can be determined by the encoder by exhaustively searching among (multiple) all possible correction values. Then, the (multiple) correction values ​​that produce the best prediction performance (or minimum prediction error) for the CU are selected and encoded in the bitstream of the decoded video.

[0064] In the ECM software technique adopted, 8 possible values ​​of the correction u can be signaled. These 8 values ​​correspond to -4 / 4, -3 / 4, -2 / 4, -1 / 4, 1 / 4, 2 / 4, 3 / 4 and 4 / 4 of the maximum possible value of u. This results in a 3-bit code that can be used to encode u. Alternatively, and as disclosed herein, u can be encoded by 1 or 2 bits (resulting in 2 or 4 possible values, respectively), thereby reducing signaling overhead while allowing the encoder to signal the correction of the model parameters. Therefore, the value of the model parameter is checked to determine the corresponding value of the signaled correction. Therefore, the correction value u (e.g., any one of the parameters u1, u2, u3, u4, u5, u6 and u7) can be obtained by multiplying the signaled correction s (i.e., a relative correction value that can be positive or negative) by the precision adjustment x (e.g., 0.1 or 0.25) and / or the absolute value of the corresponding model parameter. For example, for u=u1, the correction value is derived from the signaled correction s by the following expression: u1=s*x*abs(k c ) (11)

[0065] Fig.10 1 is a flow chart of an example method 1000 for encoding video data, according to which various aspects of the present embodiment can be implemented. As described herein, method 1000 can be performed by encoder 200. Method 1000 begins at step 1010, obtaining video data, including data representing a video data region. As referred to herein, video data may include image data and / or corresponding syntax data, transform coefficients and residuals. A video data region (referred to herein as a CU) can be a video block or any video region to which intra-frame prediction can be applied. In step 1020, at least one correction value is obtained. The at least one correction value represents a correction to a cross-component model, which is used to predict chrominance samples from a video data region based on corresponding luminance samples. Then, in step 1030, the at least one correction value and the video data are encoded into encoded video data.

[0066] Fig.111 is a flow chart of an example method 1100 for decoding video data, according to which various aspects of the present embodiment can be implemented. As described herein, method 1100 can be performed by decoder 300. Method 1100 starts at step 1110 and receives encoded video data, which encoding includes video data and at least one correction value representing data of a video data area. In step 1120, at least one correction value from the encoded video data is decoded. The at least one correction value represents a correction to a cross component model, and the cross component model is used to predict chrominance samples from a video data area based on corresponding luminance samples. The cross component model can then be adjusted based on at least one correction value. In addition, the chrominance samples from a video data area can be predicted based on the adjusted cross component model.

[0067] The above techniques for correcting CCCM models are applicable to any cross-component model, including multiple coefficients in addition to offset coefficients. Likewise, the above techniques for correcting CCCM models are applicable to any nonlinear or linear cross-component model.

[0068] We have described several aspects and embodiments in this disclosure. These aspects and embodiments provide at least the following outputs and results across different claim categories and types, including all combinations: • According to any of the aspects described herein, encoding syntax elements into the encoded video data that may enable a decoder to adjust parameters of a CC model associated with intra prediction applied to a CU. • A bitstream comprising one or more of said syntax elements or variants thereof. A bitstream may be any set of data, whether transmitted, stored or otherwise available. Creation, transmission, reception and / or decoding of bitstreams. Electronic devices (e.g., TVs, set-top boxes, mobile phones, and tablets) that tune (e.g., using a tuner) a channel to receive the bitstream or receive the bitstream over the air (e.g., using an antenna). The electronic device decodes the syntax elements from the bitstream and optionally displays (e.g., using a monitor, screen, or any other type of display device) the resulting image. Various other general and specific outputs, results, implementations, and claims are also supported and contemplated throughout this disclosure.

[0069] Various methods are described herein, and each method includes one or more steps or actions for realizing the method.Unless the correct operation of the method requires a specific order of steps or actions, otherwise the order and / or use of specific steps and / or actions can be modified or combined.In addition, terms such as "first", "second" etc. can be used to modify elements, components, steps, operations, etc. in various embodiments, for example, "first decoding" and "second decoding".Unless specifically required, the use of these terms does not mean the sequencing of the operation to modification.Therefore, in this example, the first decoding does not need to be performed before the second decoding, and can occur in, for example, before, during or in a time period overlapping with the second decoding.

[0070] The various methods and other aspects described in this application can be used to modify Figure 2 and Figure 3 Modules of the video encoder 200 and the video decoder 300 shown. In addition, the present aspects are not limited to VVC or HEVC, and can be applied to, for example, other standards and recommendations, as well as extensions of any such standards and recommendations. Unless otherwise specified or technically excluded, the aspects described in this application can be used alone or in combination.

[0071] Various numerical values ​​are used in this application. The specific values ​​are for illustrative purposes, and the described aspects are not limited to these specific values.

[0072] Various implementations involve decoding. "Decoding" as used in this application may include, for example, all or part of the processing performed on a received coded sequence to produce a final output suitable for display. In various embodiments, such a process includes one or more processes typically performed by a decoder, such as entropy decoding, inverse quantization, inverse transform, and differential decoding. Based on the context of the specific description, whether the phrase "decoding process" is intended to refer specifically to a subset of operations or to a broader decoding process will be clear and is considered to be well understood by those skilled in the art.

[0073] Various implementations involve encoding.In a manner similar to the discussion above regarding "decoding," "encoding" as used in this application may include, for example, all or part of the processing performed on input video data to produce an encoded bitstream.

[0074] Note that the syntax elements used here are descriptive terms. Therefore, they do not exclude the use of other syntax element names.

[0075] This disclosure has described various pieces of information that can be transmitted or stored, such as, for example, syntax. The information can be packaged or arranged in various ways, including, for example, ways that are common in video standards, such as putting the information in an SPS, PPS, NAL unit, header (e.g., a NAL unit header or a slice header), or SEI message. Other ways are also available, including, for example, ways that are common to system-level or application-level standards, such as putting the information in one or more of the following: a. SDP (Session Description Protocol), a format for describing multimedia communication sessions for the purpose of session announcement and session invitation, such as described in RFCs and used in conjunction with RTP (Real-time Transport Protocol) transport. b. DASH MPD (Media Presentation Description) descriptor, such as that used in DASH and transmitted over HTTP, which is associated with a representation or a set of representations to provide additional characteristics to the content representation. c. RTP header extensions, such as used during RTP streaming. d. ISO Base Media File Format, such as the format used by OMAF, and uses object-oriented building blocks defined by a unique type identifier and a length (also called "atoms" in some specifications). e. HLS (HTTP Live Streaming) manifest transmitted over HTTP. The manifest may be associated with a version or set of versions of the content, for example, to provide characteristics of the version or set of versions.

[0076] The implementations and aspects described herein can be implemented in, for example, methods or processes, devices, software programs, data streams, or signals. Even if only discussed in the context of a single implementation form (e.g., discussed only as a method), the implementation of the features discussed can also be implemented in other forms (e.g., devices or programs). Devices can be implemented in, for example, appropriate hardware, software, and firmware. The method can be implemented in, for example, a device, such as a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. The processor also includes a communication device, such as a computer, a cellular phone, a portable / personal digital assistant ("PDA"), and other devices that facilitate information communication between end users.

[0077] Reference to "one embodiment" or "an embodiment" or "one implementation" or "implementation" and other variations thereof mean that a particular feature, structure, characteristic, etc. described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "in an implementation" or "in an implementation", as well as any other variations appearing in various places throughout the application, are not necessarily all referring to the same embodiment.

[0078] Additionally, this application may refer to "determining" various pieces of information. Determining information may include, for example, one or more of estimating information, calculating information, predicting information, or retrieving information from a memory.

[0079] Additionally, the application may refer to "accessing" various pieces of information. Accessing information may include, for example, one or more of receiving information, retrieving information (e.g., from memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.

[0080] Furthermore, the application may refer to "receiving" various pieces of information. Like "accessing," receiving is a broad term. Receiving information may include, for example, one or more of accessing information or retrieving information (e.g., from a memory). Furthermore, during operations such as storing information, processing information, sending information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information, "receiving" is often involved in one way or another.

[0081] It should be understood that, for example, in the case of "A / B," "A and / or B," and "at least one of A and B," any of the following uses of " / ," "and / or," and "at least one of" are intended to include selecting only the first listed option (A), or only the second listed option (B), or both options (A and B). As another example, in the case of "A, B, and / or C" and "at least one of A, B, and C," such wording is intended to include selecting only the first listed option (A), or only the second listed option (B), or only the third listed option (C), or only the first and second listed options (A and B), or only the first and third listed options (A and C), or only the second and third listed options (B and C), or all three options (A and B and C). This can be extended to as many items as are listed, as will be apparent to one of ordinary skill in this and related arts.

[0082] In addition, as used herein, the word "signaling" especially refers to indicating something to a corresponding decoder. For example, in some embodiments, the encoder signals a quantization matrix for dequantization. Thus, in one embodiment, the same parameters are used on both the encoder side and the decoder side. Thus, for example, the encoder can send (explicit signaling) specific parameters to the decoder so that the decoder can use the same specific parameters. On the contrary, if the decoder already has specific parameters as well as other parameters, signaling can be used without sending (implicit signaling) to simply allow the decoder to know and select specific parameters. By avoiding the transmission of any actual function, bit savings are achieved in various embodiments. It should be understood that signaling can be implemented in a variety of ways. For example, in various embodiments, one or more syntax elements, flags, etc. are used to signal information to the corresponding decoder. Although the verb form of the word "signal" is mentioned above, the word "signal" can also be used as a noun here.

[0083] It will be apparent to one of ordinary skill in the art that embodiments may generate a variety of signals that are formatted to carry information that can be, for example, stored or transmitted. The information may include, for example, instructions for executing a method, or data generated by one of the described embodiments. For example, a signal may be formatted to carry a bitstream of the described embodiments. Such a signal may be formatted as, for example, an electromagnetic wave (e.g., using a radio frequency portion of a spectrum) or a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. As is known, the signal may be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor readable medium.

Claims

1. A method comprising: receiving video data including data representing a region of the video data; obtaining at least one correction value that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples; as well as The at least one correction value is encoded into a bitstream of encoded video data.

2. The method according to claim 1, further comprising: An index indicating a coefficient of the CC model corrected by the at least one correction value is encoded into the bitstream.

3. The method according to claim 1 or 2, wherein applying the at least one correction value to the CC model produces a corrected CC model, further comprising: A correction to an offset coefficient of the CC model is obtained based on the at least one correction value, wherein the CC model and the corrected CC model produce the same prediction when used to predict chroma samples based on a median value of reference luma samples.

4. The method according to any one of claims 1 to 3, wherein the at least one correction value is used to correct the corresponding coefficient of the CC model, and wherein the encoding comprises: Relative correction values ​​are encoded into the bitstream, which relative correction values, when multiplied by a corresponding coefficient, produce at least one correction value.

5. The method according to any one of claims 1 to 4, wherein the at least one correction value is used to correct the corresponding coefficient of the CC model, and wherein the encoding comprises: A relative correction value is encoded into the bitstream, which relative correction value, when multiplied by a corresponding coefficient and by a precision adjustment, produces at least one correction value.

6. The method according to any one of claims 1 to 5, wherein: In addition to the offset coefficient, the CC model includes multiple coefficients.

7. The method according to any one of claims 1 to 6, wherein: The CC model is a nonlinear model.

8. The method according to any one of claims 1 to 7, wherein: The at least one correction value comprises a correction value for each coefficient of the CC model.

9. The method according to any one of claims 1 to 7, wherein: The at least one correction value comprises one correction value for all coefficients of the CC model.

10. The method according to any one of claims 1 to 7, wherein: The at least one correction value is used to correct the maximum coefficient of the CC model.

11. A method comprising: receiving a bitstream encoding video data including data representing a video data region; as well as At least one correction value is decoded from the bitstream that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples.

12. The method according to claim 11, further comprising: An index is decoded from the bitstream, the index indicating a coefficient of the CC model corrected by the at least one correction value.

13. The method according to claim 11 or 12, wherein applying the at least one correction value to the CC model produces a corrected CC model, further comprising: A correction to an offset coefficient of the CC model is obtained based on the at least one correction value, wherein the CC model and the corrected CC model produce the same prediction when used to predict chroma samples based on a median value of reference luma samples.

14. The method according to any one of claims 11 to 13, wherein the at least one correction value is used to correct the corresponding coefficient of the CC model, and wherein the decoding comprises: Relative correction values ​​are decoded from the bitstream, which relative correction values, when multiplied by corresponding coefficients, produce at least one correction value.

15. The method according to any one of claims 11 to 14, wherein the at least one correction value is used to correct the corresponding coefficient of the CC model, and wherein the decoding comprises: A relative correction value is decoded from the bitstream, which relative correction value, when multiplied by the precision adjustment and by a corresponding coefficient, produces at least one correction value.

16. The method according to any one of claims 11 to 15, wherein: The at least one correction value comprises a correction value for each coefficient of the CC model.

17. The method according to any one of claims 11 to 15, wherein: The at least one correction value comprises one correction value for all coefficients of the CC model.

18. The method according to any one of claims 11 to 15, wherein the at least one correction value is used to correct a maximum coefficient of a CC model.

19. An apparatus comprising: at least one processor; as well as a memory storing instructions that, when executed by the at least one processor, cause the apparatus to: receiving video data including data representing a region of the video data; obtaining at least one correction value that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples; as well as The at least one correction value is encoded into a bitstream of encoded video data.

20. The device according to claim 19, wherein The instructions also cause the device to: An index indicating a coefficient of the CC model corrected by the at least one correction value is encoded into the bitstream.

21. The apparatus according to claim 19 or 20, wherein the at least one correction value is used to correct a corresponding coefficient of a CC model, and wherein the encoding comprises: Relative correction values ​​are encoded into the bit stream, which relative correction values, when multiplied by a corresponding coefficient, produce at least one correction value.

22. The device according to any one of claims 19 to 21, wherein: The at least one correction value is used to correct the maximum coefficient of the CC model.

23. An apparatus comprising: at least one processor; as well as a memory storing instructions that, when executed by the at least one processor, cause the apparatus to: receiving a bitstream encoding video data including data representing a video data region; as well as At least one correction value is decoded from the bitstream that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples.

24. The device according to claim 23, wherein: The instructions also cause the device to: An index is decoded from the bitstream, the index indicating a coefficient of the CC model corrected by the at least one correction value.

25. The apparatus of claim 23 or 24, wherein the at least one correction value is used to correct a corresponding coefficient of a CC model, and wherein the decoding comprises: Relative correction values ​​are decoded from the bitstream, which relative correction values, when multiplied by corresponding coefficients, produce at least one correction value.

26. The apparatus according to any one of claims 23 to 25, wherein the at least one correction value is used to correct a maximum coefficient of a CC model.

27. A non-transitory computer readable medium comprising instructions executable by at least one processor to perform a method comprising: receiving video data including data representing a region of the video data; obtaining at least one correction value that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples; as well as The at least one correction value is encoded into a bitstream of encoded video data.

28. A non-transitory computer readable medium comprising instructions executable by at least one processor to perform a method comprising: receiving a bitstream encoding video data including data representing a video data region; as well as At least one correction value is decoded from the bitstream that corrects a cross-component (CC) model used to predict chrominance samples from a region of video data based on corresponding luma samples.