IP Library › Granted Patent US 12,615,374
Granted Patent B2
US 12,615,374 · App. 18/107,295 · Granted Apr 28, 2026

Context-aware quantization for high-performance video encoding

Inventors: Jianjun Chen (Shanghai, CN); Junan Chen (Nanjing, CN); Yonghai Wu (Shanghai, CN); Yongmao Tang (Shanghai, CN); Xinan Lu (Shanghai, CN)
Assignee: NVIDIA Corporation
H04N19/14H04N19/105H04N19/176H04N19/18
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,615,374
App. No.
18/107,295
Granted
Apr 28, 2026
Kind
B2
Abstract

Disclosed are apparatuses, systems, and techniques for efficient real-time codec encoding of video files. In one embodiment, the techniques include generating a block of predicted pixels that approximates a block of source pixels of an image frame and representing a difference between the block of source pixels and the block of predicted pixels via a plurality of transformation coefficients (TCs). The techniques further include evaluating TCs using statistical data for neighborhoods of the TCs to select an action for a respective TC, including adjusting the respective TC or maintaining the respective TC.

Claims (66)

1 . A method comprising:

generating a block of predicted pixels that approximates a block of source pixels of an image frame;

representing a difference between the block of source pixels and the block of predicted pixels via a plurality of transformation coefficients (TCs);

applying, to the plurality of TCs, a quantization transformation to obtain a plurality of quantization coefficients (QCs);

evaluating QCs of at least a subset of the plurality of QCs in parallel, wherein each of the QCs is evaluated in parallel with one or more other QCs using statistical data for a neighborhood of QCs associated with a respective QC, to select an action for the respective QC, the action comprising:

adjusting the respective QC, or

maintaining the respective QC; and

generating a compressed representation of the image frame using the evaluated QCs.

2 . The method of claim 1 , wherein the block of predicted pixels comprises pixels predicted using at least one of:

reference pixels of one or more reference image frames different from the image frame, or

reconstructed pixels of the image frame.

3 . The method of claim 1 , wherein representing the difference between the block of source pixels and the block of predicted pixels via the plurality of TCs comprises applying a discrete linear transformation to the difference.

4 . The method of claim 1 , wherein adjusting the respective QC is responsive to a first cost value associated with an adjustment of the respective QC being less than a second cost value associated with maintaining the respective QC.

5 . The method of claim 1 , wherein evaluating the QCs in parallel comprises:

accessing, for the respective QC, the statistical data for the neighborhood of QCs;

virtually replacing one or more first QCs of the neighborhood of QCs with one or more second QCs based at least on the statistical data; and

evaluating the respective QC using a cost function computed with the virtually replaced one or more first QCs of the neighborhood of QCs.

6 . The method of claim 5 , wherein virtually replacing the one or more first QCs of the neighborhood of QCs is with a most likely historical QC modification of the one or more first QCs of the neighborhood of QCs indicated by the statistical data.

7 . The method of claim 1 , wherein adjusting the respective QC comprises at least one of:

decrementing the respective QC; or

replacing the respective QC with a zero value.

8 . The method of claim 1 , wherein the QCs evaluated in parallel include two or more QCs of the subset of the plurality of QCs.

9 . A system comprising:

a memory device to store a block of source pixels of an image frame; and

one or more circuits communicatively coupled to the memory device, the one or more circuits to:

generate a block of predicted pixels that approximates the block of source pixels of the image frame;

represent a difference between the block of source pixels and the block of predicted pixels via a plurality of transformation coefficients (TCs);

apply, to the plurality of TCs, a quantization transformation to obtain a plurality of quantization coefficients (QCs);

evaluate QCs of at least a subset of the plurality of QCs in parallel, wherein each of the QCs is evaluated in parallel with one or more other QCs using statistical data for a neighborhood of QCs associated with a respective QC, to select an action for the respective QC, the action comprising:

adjusting the respective QC, or

maintaining the respective QC; and

generate a compressed representation of the image frame using the evaluated QCs.

10 . The system of claim 9 , wherein the block of predicted pixels comprises pixels predicted using at least one of:

reference pixels of one or more reference image frames different from the image frame, or

reconstructed pixels of the image frame.

11 . The system of claim 9 , wherein to represent the difference between the block of source pixels and the block of predicted pixels via the plurality of TCs, the one or more circuits are to apply a discrete linear transformation to the difference.

12 . The system of claim 9 , wherein adjusting the respective QC is responsive to a first cost value associated with an adjustment of the respective QC being less than a second cost value associated with maintaining the respective QC.

13 . The system of claim 9 , wherein to evaluate the QCs in parallel, the one or more circuits are to:

access, for the respective QC, the statistical data for the neighborhood of QCs;

virtually replace one or more first QCs of the neighborhood of QCs with one or more second QCs based at least on the statistical data; and

evaluate the respective QC using a cost function computed with the virtually replaced one or more first QCs of the neighborhood of QCs.

14 . The system of claim 13 , wherein to virtually replace the one or more first QCs of the neighborhood of QCs, the one or more circuits are to select a most likely historical QC modification of the one or more first QCs of the neighborhood of QCs indicated by the statistical data.

15 . The system of claim 9 , wherein adjusting the respective QC comprises at least one of:

decrementing the respective QC; or

replacing the respective QC with a zero value.

16 . The system of claim 9 , wherein the QCs evaluated in parallel include two or more QCs of the subset of the plurality of QCs.

17 . A system comprising:

a memory device to store a block of source pixels of an image frame; and

one or more circuit groups communicatively coupled to the memory device, the one or more circuit groups comprising:

a first circuit group to:

generate a block of predicted pixels that approximates the block of source pixels of the image frame; and

a second circuit group communicatively coupled to the first circuit group, the second circuit group to:

represent a difference between the block of source pixels and the block of predicted pixels via a plurality of transformation coefficients (TCs);

apply, to the plurality of TCs, a quantization transformation to obtain a plurality of quantization coefficients (QCs);

evaluate QCs of at least a subset of the plurality of QCs in parallel, wherein each of the QCs is evaluated in parallel with one or more other QCs using statistical data for a neighborhood of QCs associated with a respective QC, to select an action for the respective QC, wherein the action comprises:

adjusting the respective QC, or

maintaining the respective QC; and

generate a compressed representation of the image frame using the evaluated QCs.

18 . The system of claim 17 , wherein to evaluate the QCs in parallel, the second circuit group is to:

access, for the respective QC, the statistical data for the neighborhood of QCs;

virtually replace one or more first QCs of the neighborhood of QCs with one or more second QCs based at least on the statistical data; and

evaluate the respective QC using a cost function computed with the virtually replaced one or more first QCs of the neighborhood of QCs.

19 . The system of claim 17 , wherein adjusting the respective QC comprises at least one of:

decrementing the respective QC; or

replacing the respective QC with a zero value.

20 . The system of claim 17 , wherein the QCs evaluated in parallel include two or more QCs of the subset of the plurality of QCs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2023
From: CHEN, JIANJUN; CHEN, JUNAN; WU, YONGHAI; TANG, YONGMAO; LU, XINAN
To: NVIDIA CORPORATION
Reel/Frame 062649/0645 →
Continuity (1)
Related Publication 20240267529A1 · Aug 8, 2024
References Cited (101)
US 8311111B2 · Xu et al. · 2012 [cited by applicant]
US 9432668B1 · Bossen et al. · 2016 [cited by applicant]
US 9998726B2 · Rusanovskyy et al. · 2018 [cited by applicant]
US 10070128B2 · Ugur et al. · 2018 [cited by applicant]
US 10091514B1 · Bossen et al. · 2018 [cited by applicant]
US 10621731B1 · Duenas et al. · 2020 [cited by applicant]
US 10687054B2 · Mahdi et al. · 2020 [cited by applicant]
US 10887611B2 · Seregin et al. · 2021 [cited by applicant]
US 10999594B2 · Hsieh et al. · 2021 [cited by applicant]
US 11017566B1 · Tourapis et al. · 2021 [cited by applicant]
US 11057636B2 · Huang et al. · 2021 [cited by applicant]
US 11070813B2 · Socek et al. · 2021 [cited by applicant]
US 11172195B2 · Seregin · 2021 [cited by applicant]
US 11197009B2 · Zhang et al. · 2021 [cited by applicant]
US 11202070B2 · Zhang et al. · 2021 [cited by applicant]
US 11218694B2 · Seregin et al. · 2022 [cited by applicant]
US 11272201B2 · Seregin et al. · 2022 [cited by applicant]
US 11317111B2 · Rusanovskyy et al. · 2022 [cited by applicant]
US 11343504B2 · Zhao et al. · 2022 [cited by applicant]
US 11368684B2 · Seregin et al. · 2022 [cited by applicant]
US 11388394B2 · Seregin et al. · 2022 [cited by applicant]
US 11496746B2 · Siddaramanna et al. · 2022 [cited by applicant]
US 11563933B2 · Seregin et al. · 2023 [cited by applicant]
US 11582475B2 · Rusanovskyy et al. · 2023 [cited by applicant]
US 11638025B2 · Pourreza et al. · 2023 [cited by applicant]
US 11638062B2 · Stockhammer et al. · 2023 [cited by applicant]
US 11677987B2 · Said · 2023 [cited by applicant]
US 20100118945A1 · Wada et al. · 2010 [cited by applicant]
US 20110170604A1 · Sato et al. · 2011 [cited by applicant]
US 20130016783A1 · Kim et al. · 2013 [cited by applicant]
US 20130101035A1 · Wang et al. · 2013 [cited by applicant]
US 20130114706A1 · Gisquet et al. · 2013 [cited by applicant]
US 20130259142A1 · Ikeda et al. · 2013 [cited by applicant]
US 20140198844A1 · Hsu et al. · 2014 [cited by applicant]
US 20150229921A1 · Chen et al. · 2015 [cited by applicant]
US 20160225161A1 · Hepper · 2016 [cited by applicant]
US 20160330445A1 · Ugur et al. · 2016 [cited by applicant]
US 20170085886A1 · Jacobson et al. · 2017 [cited by applicant]
US 20170142438A1 · Hepper · 2017 [cited by applicant]
US 20170201769A1 · Chon et al. · 2017 [cited by applicant]
US 20170272758A1 · Lin et al. · 2017 [cited by applicant]
US 20180205946A1 · Zhang et al. · 2018 [cited by applicant]
US 20200021847A1 · Kim et al. · 2020 [cited by applicant]
US 20200029096A1 · Rusanovskyy · 2020 [cited by applicant]
US 20200099926A1 · Tanner et al. · 2020 [cited by applicant]
US 20200104976A1 · Mammou et al. · 2020 [cited by applicant]
US 20200105024A1 · Mammou et al. · 2020 [cited by applicant]
US 20200111237A1 · Tourapis et al. · 2020 [cited by applicant]
US 20200137415A1 · Esenlik et al. · 2020 [cited by applicant]
US 20200204829A1 · Stepin et al. · 2020 [cited by applicant]
US 20200288122A1 · Kim · 2020 [cited by applicant]
US 20200288135A1 · Laroche et al. · 2020 [cited by applicant]
US 20200296391A1 · Choi et al. · 2020 [cited by applicant]
US 20200359022A1 · Abe et al. · 2020 [cited by applicant]
US 20200382777A1 · Zhang et al. · 2020 [cited by applicant]
US 20200382804A1 · Zhang et al. · 2020 [cited by applicant]
US 20210006833A1 · Tourapis et al. · 2021 [cited by applicant]
US 20210021809A1 · Kim · 2021 [cited by applicant]
US 20210029352A1 · Zhang et al. · 2021 [cited by applicant]
US 20210099701A1 · Tourapis et al. · 2021 [cited by applicant]
US 20210211661A1 · Toma et al. · 2021 [cited by applicant]
US 20210211703A1 · Kim et al. · 2021 [cited by applicant]
US 20210211724A1 · Kim et al. · 2021 [cited by applicant]
US 20210217203A1 · Kim et al. · 2021 [cited by applicant]
US 20210321093A1 · Sundaram et al. · 2021 [cited by applicant]
US 20210377868A1 · Anand · 2021 [cited by applicant]
US 20210392334A1 · Esenlik et al. · 2021 [cited by applicant]
US 20220021891A1 · Chaudhari et al. · 2022 [cited by applicant]
US 20220191529A1 · Rusanovskyy · 2022 [cited by examiner]
US 20220256169A1 · Siddaramanna et al. · 2022 [cited by applicant]
US 20220277164A1 · Malayath · 2022 [cited by applicant]
US 20220279204A1 · Malayath et al. · 2022 [cited by applicant]
US 20220312020A1 · Li et al. · 2022 [cited by applicant]
US 20230063062A1 · Srinivasan et al. · 2023 [cited by applicant]
US 20230071018A1 · Tang et al. · 2023 [cited by applicant]
US 20230336711A1 · Teng et al. · 2023 [cited by applicant]
US 20240022739A1 · Li et al. · 2024 [cited by applicant]
US 20240137515A1 · Zhao et al. · 2024 [cited by applicant]
US 20240187569A1 · Wang et al. · 2024 [cited by applicant]
US 20240187575A1 · Wang et al. · 2024 [cited by applicant]
US 20250008111A1 · Yoo et al. · 2025 [cited by applicant]
CN 108449603A · 2018 [cited by applicant]
CN 111918058A · 2020 [cited by applicant]
CN 113301347A · 2021 [cited by applicant]
GB 2580106A · 2020 [cited by applicant]
JP 2014127891A · 2014 [cited by applicant]
WO 2010030752A2 · 2010 [cited by applicant]
WO 2012030752A2 · 2012 [cited by applicant]
WO 2013067903A1 · 2013 [cited by applicant]
WO 2019163794A1 · 2019 [cited by applicant]
WO 2023198142A1 · 2023 [cited by applicant]
Huo J., et al., “Unified Cross-component Linear Model in VVC Based on a Subset of Neighboring Samples,” IEEE Transactions on Industrial Informatics, Dec. 2022, vol. 18(12), pp. 8654-8863. [cited by applicant]
Li W., et al., “Adaptive Cross Component Linear Model for Chroma Intra-Prediction in VVC,” International Conference on Communications and Broadband Networking, Feb. 25-27, 2022, pp. 52-59. [cited by applicant]
Chen Y., et al., “An Overview of Core Coding Tools in AV1 Video Codec,” Picture Coding Symposium (PCS), Jun. 24-27, 2018, 5 Pages, DOI: 10.1109/PCS.2018.8456249. [cited by applicant]
Goebel et al., “Hardware Design of DC/CFL Intra-Prediction Decoder for AV1 Codec,” 32nd Symposium of Integrated Circuits and Systems Design (SBCCI), Sao Paulo, Brazil, Aug. 26-30, 2019, pp. 1-6. [cited by applicant]
Han J., et al., “A Technical Overview of AV1,” arXiv:2008.06091v2 [eess.IV], Feb. 8, 2021, 25 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/CN2021/116311, mailed May 31, 2022, 6 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/CN2021/116312, mailed May 26, 2022, 9 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/CN2021/116711, mailed Apr. 24, 2022, 7 Pages. [cited by applicant]
ITU-T; H.265 (Year: 2016). [cited by applicant]
ITU-T; H.266 (Year: 2020). [cited by applicant]