IP Library Granted Patent US 12,563,205
Granted Patent B2
US 12,563,205 · App. 18/440,861 · Granted Feb 24, 2026

Encoder, decoder and methods for enhancing a robustness for calculation of cross-component linear model parameters

Inventors: Christian Helmrich (Berlin, DE); Heiko Schwarz (Berlin, DE); Detlev Marpe (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
H04N19/176H04N19/107H04N19/132H04N19/136H04N19/186H04N19/503H04N19/593
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,563,205
App. No.
18/440,861
Granted
Feb 24, 2026
Kind
B2
Abstract

A decoder for block-based decoding of picture data of a picture is configured to decode a current block of the picture by determining first and second sets of luma in a neighborhood of the current block, the first set of luma samples having smaller luma values than the second set of luma samples, fitting a straight-line having a linear function through first and second pairs of luma-chroma samples, wherein the first and second pairs of luma-chroma samples are determined based on the first and second sets of luma samples, respectively, and on first and second corresponding chroma samples, respectively, in said neighborhood of the current block, and predicting chroma samples of the current block using luma samples of the current block and said linear function. The present invention further concerns a respective encoder and corresponding methods for encoding and decoding.

Claims (108)

1 . A decoder for decoding of a picture, the decoder configured to:

select, in a neighborhood of a current block of the picture, a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample, wherein luma values of the third and the fourth luma-chroma samples are larger than luma values of the first and the second luma-chroma samples;

generate a first average between the first and second luma-chroma samples and a second average between the third and fourth luma-chroma samples;

generate a linear function based on the first average and the second average; and

predict chroma samples of the current block using the linear function and luma values of the current block.

2 . The decoder of claim 1 , configured to:

identify the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample;

identify the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample;

identify the third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; and

identify the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth luma sample.

3 . The decoder of claim 1 , wherein prior to the prediction of the chroma samples of the current block, the decoder is configured to:

reconstruct luma samples of the current block by intra prediction or inter prediction.

4 . The decoder of claim 1 , wherein prior to the prediction of the chroma samples of the current block, the decoder is configured to:

decode luma sample residuals for the current block from a data stream;

predict luma samples of the current block; and

correct the predicted luma samples using the luma sample residuals.

5 . The decoder of claim 1 , configured to:

determine a first set of luma-chroma samples in the neighborhood of the current block of the picture, wherein each of the first set of luma samples have corresponding luma values, and the first set of luma samples include the first luma-chroma sample and the second luma-chroma sample; and

determine a second set of luma-chroma samples in the neighborhood of the current block of the picture, wherein the second set of luma samples have corresponding luma values that are larger than the luma values of the first set of luma samples.

6 . The decoder of claim 1 , configured to:

plot on a graph the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample;

fit a first temporary straight-line between the first luma-chroma sample and the third luma-chroma sample; and

fit a second temporary straight-line between the second luma-chroma sample and the fourth luma-chroma sample; and

fit a straight-line representing the linear function between the first temporary straight-line and the second temporary straight-line.

7 . The decoder of claim 6 , wherein:

the linear function is represented by y=αx+β, wherein α is a first cross-component linear model parameter representing a slope of the straight-line, β is a second cross-component linear model parameter representing an offset of the straight-line; and

to predict the chroma samples of the current block the decoder is further configured to predict, for one or more luma samples x of the current block, at least one corresponding chroma sample y of the current block using the linear function.

8 . A method for decoding of a picture, the method comprising:

selecting, in a neighborhood of a current block of the picture, a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample, wherein luma values of the third and the fourth luma-chroma samples are larger than luma values of the first and the second luma-chroma samples;

generating a first average between the first and second luma-chroma samples and a second average between the third and fourth luma-chroma samples;

generating a linear function based on the first average and the second average; and

predicting chroma samples of the current block using the linear function and luma values of the current block.

9 . The method of claim 8 , further comprises:

identifying the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample;

identifying the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample;

identifying the third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; and

identifying the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth luma sample.

10 . The method of claim 8 , wherein prior to predicting of the chroma samples of the current block, the method comprises:

reconstructing luma samples of the current block by intra prediction or inter prediction.

11 . The method of claim 8 , wherein prior to predicting of the chroma samples of the current block, the method comprises:

decoding luma sample residuals for the current block from a data stream;

predicting luma samples of the current block; and

correcting the predicted luma samples using the luma sample residuals.

12 . The method of claim 8 , further comprises:

determining a first set of luma-chroma samples in the neighborhood of the current block of the picture, wherein each of the first set of luma samples have corresponding luma values, and the first set of luma samples include the first luma-chroma sample and the second luma-chroma sample; and

determining a second set of luma-chroma samples in the neighborhood of the current block of the picture, wherein the second set of luma samples have corresponding luma values that are larger than the luma values of the first set of luma samples.

13 . The method of claim 8 , further comprises:

plotting on a graph the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample;

fitting a first temporary straight-line between the first luma-chroma sample and the third luma-chroma sample; and

fitting a second temporary straight-line between the second luma-chroma sample and the fourth luma-chroma sample; and

fitting a straight-line representing the linear function between the first temporary straight-line and the second temporary straight-line.

14 . The method of claim 13 , wherein:

the linear function is represented by y=αx+β, wherein α is a first cross-component linear model parameter representing a slope of the straight-line, β is a second cross-component linear model parameter representing an offset of the straight-line; and

predicting the chroma samples of the current block, further comprises predicting, for one or more luma samples x of the current block, at least one corresponding chroma sample y of the current block using the linear function.

15 . A non-transitory computer readable medium containing instructions that when executed perform the method of claim 8 .

16 . An encoder for decoding of a picture, the encoder configured to:

select, in a neighborhood of a current block of the picture, a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample, wherein luma values of the third and the fourth luma-chroma samples are larger than luma values of the first and the second luma-chroma samples;

generate a first average between the first and second luma-chroma samples and a second average between the third and fourth luma-chroma samples;

generate a linear function based on the first average and the second average; and

predict chroma samples of the current block using the linear function and luma values of the current block.

17 . The encoder of claim 16 , configured to:

identify the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample;

identify the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample;

identify the third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; and

identify the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth luma sample.

18 . The encoder of claim 16 , wherein prior to the prediction of the chroma samples of the current block, the encoder is configured to:

reconstruct luma samples of the current block by intra prediction or inter prediction.

19 . The encoder of claim 16 , wherein prior to the prediction of the chroma samples of the current block, the encoder is configured to:

decode luma sample residuals for the current block from a data stream;

predict luma samples of the current block; and

correct the predicted luma samples using the luma sample residuals.

20 . The encoder of claim 16 , further configured to:

determine a first set of luma-chroma samples in the neighborhood of the current block of the picture, wherein each of the first set of luma samples have corresponding luma values, and the first set of luma samples include the first luma-chroma sample and the second luma-chroma sample; and

determine a second set of luma-chroma samples in the neighborhood of the current block of the picture, wherein the second set of luma samples have corresponding luma values that are larger than the luma values of the first set of luma samples.

21 . The encoder of claim 16 , configured to:

plot on a graph the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample;

fit a first temporary straight-line between the first luma-chroma sample and the third luma-chroma sample; and

fit a second temporary straight-line between the second luma-chroma sample and the fourth luma-chroma sample; and

fit a straight-line representing the linear function between the first temporary straight-line and the second temporary straight-line;

wherein the linear function is represented by y=αx+β, wherein α is a first cross-component linear model parameter representing a slope of the straight-line, β is a second cross-component linear model parameter representing an offset of the straight-line; and

wherein to predict the chroma samples of the current block the encoder is further configured to predict, for one or more luma samples x of the current block, at least one corresponding chroma sample y of the current block using the linear function.

22 . A method for encoding of a picture, the method comprising:

selecting, in a neighborhood of a current block of the picture, a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample, wherein luma values of the third and the fourth luma-chroma samples are larger than luma values of the first and the second luma-chroma samples;

generating a first average between the first and second luma-chroma samples and a second average between the third and fourth luma-chroma samples;

generating a linear function based on the first average and the second average; and

predicting chroma samples of the current block using the linear function and luma values of the current block.

23 . The method of claim 22 , further comprises:

identifying the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample;

identifying the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample;

identifying the third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; and

identifying the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth luma sample.

24 . The method of claim 22 , wherein prior to predicting of the chroma samples of the current block, the method comprises:

reconstructing luma samples of the current block by intra prediction or inter prediction.

25 . The method of claim 22 , wherein prior to predicting of the chroma samples of the current block, the method comprises:

decoding luma sample residuals for the current block from a data stream;

predicting luma samples of the current block; and

correcting the predicted luma samples using the luma sample residuals.

26 . The method of claim 22 , further comprises:

determining a first set of luma-chroma samples in the neighborhood of the current block of the picture, wherein each of the first set of luma samples have corresponding luma values, and the first set of luma samples include the first luma-chroma sample and the second luma-chroma sample; and

determining a second set of luma-chroma samples in the neighborhood of the current block of the picture, wherein the second set of luma samples have corresponding luma values that are larger than the luma values of the first set of luma samples.

27 . The method of claim 22 , further comprises:

plotting on a graph the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample;

fitting a first temporary straight-line between the first luma-chroma sample and the third luma-chroma sample; and

fitting a second temporary straight-line between the second luma-chroma sample and the fourth luma-chroma sample; and

fitting a straight-line representing the linear function between the first temporary straight-line and the second temporary straight-line;

wherein the linear function is represented by y=αx+β, wherein α is a first cross-component linear model parameter representing a slope of the straight-line, β is a second cross-component linear model parameter representing an offset of the straight-line; and

wherein predicting the chroma samples of the current block, further comprises predicting, for one or more luma samples x of the current block, at least one corresponding chroma sample y of the current block using the linear function.

28 . A non-transitory computer readable medium containing instructions that when executed performs the method of claim 22 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2025
From: HELMRICH, CHRISTIAN; SCHWARZ, HEIKO; MARPE, DETLEV; WIEGAND, THOMAS
To: FRAUNHOFER-GESELLSCHAFT ZUR FÖRDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 071589/0647 →
Priority Claims (1)
EP 18211107 · Dec 7, 2018 · regional
Continuity (3)
Continuation 17337898 · Jun 3, 2021
Continuation PCTEP2019083999 · Dec 6, 2019
Related Publication 20240187612A1 · Jun 6, 2024
References Cited (19)
US 20180077426A1 · Zhang · 2018 [cited by examiner]
US 20180131962A1 · Chen · 2018 [cited by examiner]
US 20190068969A1 · Rusanovskyy · 2019 [cited by examiner]
US 20210067802A1 · Jin · 2021 [cited by examiner]
WO 2017214420A1 · 2017 [cited by applicant]
WO 2019162413A1 · 2019 [cited by applicant]
WO 2020015647A1 · 2020 [cited by applicant]
WO 2020015648A1 · 2020 [cited by applicant]
K. Zhang et al., “Enhanced cross-component linear model intra-prediction,” 4.JVET-Meeting Chengdou, Oct. 2016, pp. 1-6, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=2806-. [cited by applicant]
G. Laroche et al., “CE3-5.1: Cross-component linear model simplification,” 12.JVET-Meeting, Macao; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 Lno. JVET-L0191, Oct. 7, 2018, pp. 1-4, XP03… [cited by applicant]
B. Bross et al., “Versatile Video Coding (Draft 2),” JVET-K1001, ver. 6/7, Sep./Oct. 2018. [cited by applicant]
Fraunhofer Hhi, “VVCSoflware_VTM,” https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM. [cited by applicant]
F. Bossen et al., “JVET common test conditions and software reference configurations for SDR video,” JVET-L1010, 2018. [cited by applicant]
G. Bjøntegaard, “Calculation of average PSNR differences between RD-curves”, pp. 1-4, VCEG-M33, 2001. [cited by applicant]
Anonymous, “Curve fitting—Wikipedia”, Sep. 5, 2018 (Sep. 5, 2018), XP055670272, Retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title=Curve fitting&oldid=858223726., [retrieved-on Feb. 19, 2020], p… [cited by applicant]
Choi Jangwon et al., “CE3-related: Reduced number of reference samples for CCLM parameter calculation”, 12th JVET Meeting, Oct. 3, 2018-Oct. 12, 2018; Macao; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 a… [cited by applicant]
Christian Helmrich, “Improved robustness for calculation of cross-component linear model parameters”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG, 13th Meeting: Marrakech, MA, Jan. 9-1… [cited by applicant]
Ma, Xiang; “CE3-related: Classification-based Mean Value for CCLM Coefficients Derivation”; JVET-L0342-r2; Oct. 3-12, 2018; 7 pages. [cited by applicant]
Meng Wang et al., “CE3-related: Modified linear model derivation for CCLM modes”, Joint Video Experts Team (JVET), Jan. 3, 2019, [JVET-M0274] (version 1) Nov. 13, 2023. [cited by applicant]