IP Library › Granted Patent US 12,395,655
Granted Patent B2
US 12,395,655 · App. 18/247,985 · Granted Aug 19, 2025

Chroma from luma prediction for video coding

Inventors: Dhruv Aggarwal (San Jose, CA); Anand Singh (Carlsbad, CA); Akarsh Ningoji Rao Kolekar (San Diego, CA)
Assignee: QUALCOMM INCORPORATED
H04N19/426H04N19/50
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,395,655
App. No.
18/247,985
Granted
Aug 19, 2025
Kind
B2
Abstract

A video coder may be configured to code a chroma block of video data as a function of reconstructed luma samples. The video coder may store, during the prediction process for a luma block, a sum of the reconstructed luma sample values for each sub-block of the luma block in a first buffer, and store, during the prediction process for the luma block, an average of the reconstructed luma sample values in a second buffer. The video coder may perform chroma from luma prediction to reconstruct a chroma block of the video data corresponding to the luma block using the sums and the average.

Claims (80)

1. An apparatus configured to code video data, the apparatus comprising:

one or more memory units configured to store video data; and

one or more processors implemented in circuitry and in communication with the one or more memory units, the one or more processors configured to:

perform a prediction process, for a luma block of the video data, to form reconstructed luma sample values;

store, during the prediction process to form the reconstructed luma sample values, a respective sum of the reconstructed luma sample values for each respective sub-block of the luma block in at least one buffer of the one or more memory units, wherein each respective sum of the reconstructed luma sample values is determined based on a summation of each of the reconstructed luma sample values within the respective sub-block;

store, during the prediction process to form the reconstructed luma sample values, an average of the reconstructed luma sample values in the at least one buffer of the one or more memory units; and

perform chroma from luma prediction to reconstruct a chroma block of the video data corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block and the average of the reconstructed luma sample values.

2. The apparatus of claim 1 , wherein the one or more processors are further configured to:

calculate, during the prediction process for the luma samples of the luma block, the respective sum of the reconstructed luma sample values for each sub-block of the luma block; and

calculate, during the prediction process for the luma samples of the luma block, the average of the reconstructed luma sample values.

3. The apparatus of claim 1 , wherein the one or more processors are further configured to:

perform, without reading the reconstructed luma samples values from the one or more memory units, chroma from luma prediction for chroma samples of the chroma block corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the block and the average of the reconstructed luma sample values.

4. The apparatus of claim 1 , wherein the sub-block is a N×N sub-block, and wherein the one or more processors are further configured to:

perform a DC intra prediction process to determine a respective DC prediction value for each respective chroma sample of the chroma block;

calculate a respective scaled luma sample value for each respective chroma sample as a function of a scaling factor for the chroma block, a respective sum of the reconstructed luma sample values of a respective N×N sub-block corresponding to the respective chroma sample, and the average of the reconstructed luma sample values;

calculate a respective intermediate prediction sample value for each respective chroma sample as a function of the respective DC prediction value and the respective scaled luma sample value;

calculate a respective final prediction sample value for each respective chroma sample as a function of the respective intermediate prediction sample value and a maximum sample value; and

reconstruct respective chroma sample values using the respective final prediction sample values.

5. The apparatus of claim 4 , wherein the one or more processors are further configured to:

perform the DC intra prediction process to determine the respective DC prediction value for each respective chroma sample of the chroma block in parallel with performing the prediction process for the luma block.

6. The apparatus of claim 4 , wherein the one or more processors are further configured to:

decode a block of residual values for the chroma block; and

add each respective residual value to a corresponding respective final prediction sample value to reconstruct the respective chroma sample value of the chroma block.

7. The apparatus of claim 1 , wherein to perform the chroma from luma prediction, the one or more processors are further configured to:

access the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block from the at least one buffer using odd-even banking.

8. The apparatus of claim 1 , further comprising:

a display configured to display a picture including pixels values determined from the reconstructed chroma block.

9. The apparatus of claim 1 , wherein the apparatus is a mobile device.

10. The apparatus of claim 9 , further comprising:

a receiver configured to receive the video data via a wireless communication standard.

11. A method of decoding video data, the method comprising:

performing a prediction process, for a luma block of the video data, to form reconstructed luma sample values;

storing, during the prediction process to form the reconstructed luma sample values, a respective sum of the reconstructed luma sample values for each respective sub-block of the luma block in at least one buffer, wherein each respective sum of the reconstructed luma sample values is determined based on a summation of each of the reconstructed luma sample values within the respective sub-block;

storing, during the prediction process to form the reconstructed luma sample values, an average of the reconstructed luma sample values in the at least one buffer of one or more memory units; and

performing chroma from luma prediction to reconstruct a chroma block of the video data corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block and the average of the reconstructed luma sample values.

12. The method of claim 11 , further comprising:

calculating, during the prediction process for the luma samples of the luma block, the respective sum of the reconstructed luma sample values for each sub-block of the luma block; and

calculating, during the prediction process for the luma samples of the luma block, the average of the reconstructed luma sample values.

13. The method of claim 11 , wherein performing chroma from luma prediction to reconstruct the chroma block of the video data comprises:

performing, without reading the reconstructed luma samples values from the one or more memory units, chroma from luma prediction for chroma samples of the chroma block corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the block and the average of the reconstructed luma sample values.

14. The method of claim 11 , wherein the sub-block is a N×N sub-block, and wherein performing chroma from luma prediction to reconstruct the chroma block of the video data comprises:

performing a DC intra prediction process to determine a respective DC prediction value for each respective chroma sample of the chroma block;

calculating a respective scaled luma sample value for each respective chroma sample as a function of a scaling factor for the chroma block, a respective sum of the reconstructed luma sample values of a respective N×N sub-block corresponding to the respective chroma sample, and the average of the reconstructed luma sample values;

calculating a respective intermediate prediction sample value for each respective chroma sample as a function of the respective DC prediction value and the respective scaled luma sample value;

calculating a respective final prediction sample value for each respective chroma sample as a function of the respective intermediate prediction sample value and a maximum sample value; and

reconstructing respective chroma sample values using the respective final prediction sample values.

15. The method of claim 14 , wherein performing the DC intra prediction process comprises:

performing the DC intra prediction process to determine the respective DC prediction value for each respective chroma sample of the chroma block in parallel with performing the prediction process for the luma block.

16. The method of claim 14 , further comprising:

decoding a block of residual values for the chroma block; and

adding each respective residual value to a corresponding respective final prediction sample value to reconstruct the respective chroma sample value of the chroma block.

17. The method of claim 11 , wherein performing the chroma from luma prediction, comprises:

accessing the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block from the at least one buffer using odd-even banking.

18. The method of claim 11 , further comprising:

displaying a picture including pixels values determined from the reconstructed chroma block.

19. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a device configured to decode video data to:

perform a prediction process, for a luma block of the video data, to form reconstructed luma sample values;

store, during the prediction process to form the reconstructed luma sample values, a respective sum of the reconstructed luma sample values for each respective sub-block of the luma block in at least one buffer of one or more memory units;

store, during the prediction process to form the reconstructed luma sample values, an average of the reconstructed luma sample values in the at least one buffer; and

perform chroma from luma prediction to reconstruct a chroma block of the video data corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block and the average of the reconstructed luma sample values.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions further cause the one or more processors to:

calculate, during the prediction process for the luma samples of the luma block, the respective sum of the reconstructed luma sample values for each sub-block of the luma block; and

calculate, during the prediction process for the luma samples of the luma block, the average of the reconstructed luma sample values.

21. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions further cause the one or more processors to:

perform, without reading the reconstructed luma samples values from the one or more memory units, chroma from luma prediction for chroma samples of the chroma block corresponding to the luma block using the respective sums of the reconstructed luma sample values for the respective sub-blocks of the block and the average of the reconstructed luma sample values.

22. The non-transitory computer-readable storage medium of claim 19 , wherein the sub-block is a N×N sub-block, and wherein the instructions further cause the one or more processors to:

perform a DC intra prediction process to determine a respective DC prediction value for each respective chroma sample of the chroma block;

calculate a respective scaled luma sample value for each respective chroma sample as a function of a scaling factor for the chroma block, a respective sum of the reconstructed luma sample values of a respective N×N sub-block corresponding to the respective chroma sample, and the average of the reconstructed luma sample values;

calculate a respective intermediate prediction sample value for each respective chroma sample as a function of the respective DC prediction value and the respective scaled luma sample value;

calculate a respective final prediction sample value for each respective chroma sample as a function of the respective intermediate prediction sample value and a maximum sample value; and

reconstruct respective chroma sample values using the respective final prediction sample values.

23. The non-transitory computer-readable storage medium of claim 22 , wherein the instructions further cause the one or more processors to:

perform the DC intra prediction process to determine the respective DC prediction value for each respective chroma sample of the chroma block in parallel with performing the prediction process for the luma block.

24. The non-transitory computer-readable storage medium of claim 22 , wherein the instructions further cause the one or more processors to:

decode a block of residual values for the chroma block; and

add each respective residual value to a corresponding respective final prediction sample value to reconstruct the respective chroma sample value of the chroma block.

25. The non-transitory computer-readable storage medium of claim 19 , wherein to perform the chroma from luma prediction, the instructions further cause the one or more processors to:

access the respective sums of the reconstructed luma sample values for the respective sub-blocks of the luma block from the at least one buffer using odd-even banking.

26. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions further cause the one or more processors to:

display a picture including pixels values determined from the reconstructed chroma block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2023
From: AGGARWAL, DHRUV; SINGH, ANAND; KOLEKAR, AKARSH NINGOJI RAO
To: QUALCOMM INCORPORATED
Reel/Frame 063232/0373 →
Continuity (2)
Continuation 17119810 · Dec 11, 2020
Related Publication 20230421786A1 · Dec 28, 2023
References Cited (24)
US 6075899A · Yoshioka · 2000 [cited by examiner]
US 11146801B1 · Zhao et al. · 2021 [cited by applicant]
US 11394987B2 · Aggarwal · 2022 [cited by examiner]
US 20130142255A1 · Matsunobu et al. · 2013 [cited by applicant]
US 20130188705A1 · Liu · 2013 [cited by examiner]
US 20150124865A1 · Kim · 2015 [cited by examiner]
US 20170150176A1 · Zhang et al. · 2017 [cited by applicant]
US 20180205946A1 · Zhang et al. · 2018 [cited by applicant]
US 20200112740A1 · Chien et al. · 2020 [cited by applicant]
US 20200252619A1 · Zhang · 2020 [cited by examiner]
US 20200366896A1 · Zhang · 2020 [cited by examiner]
US 20210044834A1 · Li · 2021 [cited by examiner]
US 20210067802A1 · Jin et al. · 2021 [cited by applicant]
CN 104255033A · 2014 [cited by applicant]
CN 104718759A · 2015 [cited by applicant]
WO 2020040619A1 · 2020 [cited by applicant]
WO 2020069652A1 · 2020 [cited by applicant]
De Rivaz P., et al., “AV1 Bitstream Decoding Process Specification”, Jan. 8, 2019, 681 pages. [cited by applicant]
Goebel J., et al., “Hardware Design of DC/CFL Intra-Prediction Decoder for the AV1 Codec”, Integrated Circuits and Systems Design, ACM, 2 Penn Plaza, Suite 701 New York NY 10121-0701 USA, Aug. 26, 2019 (Aug. 26, 2019), … [cited by applicant]
Han J., et al., “A Technical Overview of AV1”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Aug. 13, 2020 (Aug. 13, 2020), pp. 1-25, XP081740460, Section VI.B.4. [cited by applicant]
International Search Report and Written Opinion—PCT/US2021/054223—ISA/EPO—Feb. 2, 2022 13 Pages. [cited by applicant]
ITU-T H.265: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video”, High Efficiency Video Coding, The International Telecommunication Union, Jun. 2019, 696 Pages. [cited by applicant]
Trudeau L., et al., “Predicting Chroma from Luma in AV1”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Nov. 10, 2017 (Nov. 10, 2017), 9 Pages, XP081307998, The whole docum… [cited by applicant]
Taiwan Search Report—TW110137840—TIPO—Dec. 20, 2024. [cited by applicant]