IP Library › Granted Patent US 12,671,846
Granted Patent B2
US 12,671,846 · App. 18/883,696 · Granted Jun 30, 2026

Adaptive quantization for neural network weights for convolution neural network filters in video coding

Inventors: Yun Li (Ottobrunn, DE); Dmytro Rusanovskyy (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/80H04N19/117H04N19/124H04N19/172H04N19/176H04N19/42H04N19/463
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,671,846
App. No.
18/883,696
Filed
Sep 12, 2024
Granted
Jun 30, 2026
Kind
B2
Art Unit
2486
USPC
375/240.03
Abstract

A device for decoding video data is configured to determine first neural network (NN) weights for a layer of a convolutional neural network (CNN) filter; derive a quantization value for the layer of the CNN filter based on values of the first NN weights; convert the first NN weights to second NN weights based on the quantization value; and filter a block of the video data using the second NN weights.

Claims (42)

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

determining first neural network (NN) weights for a layer of a convolutional neural network (CNN) filter;

deriving a quantization value for the layer of the CNN filter based on values of the first NN weights, wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine an amount of clipping produced by the candidate quantization value;

converting the first NN weights to second NN weights based on the quantization value;

filtering a block of the video data using the second NN weights to produce a filtered block of video data; and

outputting a picture of decoded video data that includes the filtered block.

2 . The method of claim 1 , wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine a maximum difference between an original parameter value and a quantized-then-dequantized version of the original parameter value produced by the candidate quantization value.

3 . The method of claim 1 , wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine a number of values that are clipped due to overflow and a magnitude of clipping errors produced by the candidate quantization value.

4 . The method of claim 1 , wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine a percentage of parameters that overflow produced by the candidate quantization value.

5 . The method of claim 1 , wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine a percentage of parameters that overflow as a result of the candidate quantization value.

6 . The method of claim 1 , wherein

deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine a quantization error produced by the candidate quantization value and a clipping error produced by the candidate quantization value,

the quantization error corresponds to a maximum difference between an original parameter value and a quantized-then-dequantized version of the original parameter value produced by the candidate quantization value,

the clipping error corresponds to one or more of an amount of clipping produced by the candidate quantization value or a percentage of parameters that overflow as a result of the candidate quantization value.

7 . The method of claim 1 , wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a plurality of candidate quantization values to determine the quantization value.

8 . The method of claim 1 , wherein the first NN weights comprise floating point precision values and the second NN weights comprise integer precision values.

9 . The method of claim 1 , wherein the method of decoding is performed as part of a video encoding process.

10 . A device for decoding video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

determine first neural network (NN) weights for a layer of a convolutional neural network (CNN) filter;

derive a quantization value for the layer of the CNN filter based on values of the first NN weights, wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a candidate quantization value to determine an amount of clipping produced by the candidate quantization value;

convert the first NN weights to second NN weights based on the quantization value;

filter a block of the video data using the second NN weights to produce a filtered block of video data; and

output a picture of decoded video data that includes the filtered block.

11 . The device of claim 10 , wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a candidate quantization value to determine a maximum difference between an original parameter value and a quantized-then-dequantized version of the original parameter value produced by the candidate quantization value.

12 . The device of claim 10 , wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are configured to test a candidate quantization value to determine a number of values that are clipped due to overflow and a magnitude of clipping errors produced by the candidate quantization value.

13 . The device of claim 10 , wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a candidate quantization value to determine a percentage of parameters that overflow produced by the candidate quantization value.

14 . The device of claim 10 , wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a candidate quantization value to determine a percentage of parameters that overflow as a result of the candidate quantization value.

15 . The device of claim 10 , wherein

to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a candidate quantization value to determine a quantization error produced by the candidate quantization value and a clipping error produced by the candidate quantization value,

the quantization error corresponds to a maximum difference between an original parameter value and a quantized-then-dequantized version of the original parameter value produced by the candidate quantization value, and

the clipping error corresponds to one or more of an amount of clipping produced by the candidate quantization value or a percentage of parameters that overflow as a result of the candidate quantization value.

16 . The device of claim 10 , wherein to derive the quantization value for the layer of the CNN filter based on the values of the first NN weights, the one or more processors are further configured to test a plurality of candidate quantization values to determine the quantization value.

17 . The device of claim 10 , wherein the first NN weights comprise floating point precision values and the second NN weights comprise integer precision values.

18 . A method of encoding video data, the method comprising:

determining first neural network (NN) weights for a layer of a convolutional neural network (CNN) filter;

deriving a quantization value for the layer of the CNN filter based on values of the first NN weights, wherein deriving the quantization value for the layer of the CNN filter based on the values of the first NN weights comprises testing a candidate quantization value to determine an amount of clipping produced by the candidate quantization value;

converting the first NN weights to second NN weights based on the quantization value;

filtering a first block of the video data using the second NN weights to produce a filtered block of the video data;

storing a picture of decoded video data that includes the filtered block; and

predicting a second block of the video data based on the stored picture.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2024
From: LI, YUN; RUSANOVSKYY, DMYTRO; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 068836/0564 →
Continuity (2)
Provisional Application 63582724 · Sep 14, 2023
Related Publication 20250097474A1 · Mar 20, 2025
References Cited (38)
US 20190230354A1 · Kim · 2019 [cited by examiner]
US 20210279635A1 · Gadelrab et al. · 2021 [cited by applicant]
US 20230106778A1 · Karabutov et al. · 2023 [cited by applicant]
WO 2022224113A1 · 2022 [cited by applicant]
Y. Guo, “A survey on methods and theories of quantized neural networks,” 2018, arXiv:1808.04752. (Year: 2018). [cited by examiner]
Alshina E., et al., “Exploration Experiments on Neural Network-based Video Coding (EE1)”, JVET-AE2023-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul. 11-19,… [cited by applicant]
Bross B., et al., “Versatile Video Coding (Draft 10)”, JVET-S2001-vH, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19th Meeting, by teleconference, Jun. 22, 2020-Jul. 1, 2020, 550 P… [cited by applicant]
Chang R., et al., “EE1-1.1: More Refinements on NN Based in-Loop Filter with a Single Model”, JVET-AC0194-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 29th Meeting, by teleconference,… [cited by applicant]
Dumas T., et al., “EE1-3.2: Neural Network-based Intra Prediction with Learned Mapping to VVC Intra Prediction Modes”, JVET-AC0116-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 29th Me… [cited by applicant]
Eadie S., et al., “EE1-1.9: Reduced Complexity CNN-Based In-loop Filtering”, JVET-AC0155-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 29th Meeting, by teleconference, Jan. 11-21, 2023… [cited by applicant]
Galpin F., et al., “AhG11—EE1-0 High Operation Point model”, JVET-AE0191-v6, Pareil Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 31st Meeting, Geneva, CH, Jul. 11-19, 2023, 15 Pages. [cited by applicant]
International Search Report and Written Opinion—PCT/US2024/046595—ISA/EPO—Nov. 21, 2024. [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]
ITU-T H.266: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video”, Versatile Video Coding, The International Telecommunication Union, Aug. 2020, 516 pages. [cited by applicant]
Jia J., et al., “AHG11: Deep Reference Frame Generation for Inter Prediction Enhancement”, JVET-AB0114-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 28th Meeting, Mainz, DE, Oct. … [cited by applicant]
Lebedev V., et al., “Speeding-up Convolutional Neural Networks Using Fine-tuned CP-Decomposition”, arXiv:1412.6553v3 [cs.CV] Apr. 24, 2015, pp. 1-11. [cited by applicant]
Li (Bytedance) Y., et al., “EEI-Related: In-Loop Filter with Wide Activation and Large Receptive Field”, JVET-AC0178-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 29th Meeting, by Tele… [cited by applicant]
Li J., et al., “AHG11: A Unified Design of NN-based Loop-Filters at Low and High Operation Points”, JVET-AE0238-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, J… [cited by applicant]
Li J., et al., “AHG11: Complexity Reduction of NN-Based Loop-Filters”, JVET-AF0206-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 32nd Meeting, Hannover, DE, Oct. 13-20, 2023, pp. 1-2, … [cited by applicant]
Li (Qualcomm) Y., et al., “EE1-Related: Combination Test of EE1-1.3.5 and Multi-Scale Component of EE1-1.6”, 30. JVET Meeting, Apr. 21, 2023-Apr. 28, 2023, Antalya, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29… [cited by applicant]
Li Y., et al., “EE1-1.7: Combined Test of EE1-1.6 and EE1-1.3”, JVET-Z0113-v1, 26. JVET Meeting, Apr. 20-29, 2022, (The Joint Video Experts Team of ISO/IEC JTC1/SC29/WP 3 And ITU-T SG.16), pp. 1-7. [cited by applicant]
Li Y., et al., “EE1-4.4: Low Complexity NN Filter with Design Elements of Unified Filter Architecture and EE1-1.2 and EE1-1.3”, JVET-AE0165-V3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29… [cited by applicant]
Ohm J-R., “Meeting Report of the 27th Meeting”, 27. JVET Meeting, Jul. 13, 2022-Jul. 22, 2022, Teleconference, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 ), No. JVET-AA1000-v1, m60609, A… [cited by applicant]
Rusanovskyy D., et al., “EE1-1.0: Report on Joint LOP2 Training”, JVET-AH0042-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 34th Meeting, Rennes, FR, Apr. 14-24, 2024, pp. 1-8. [cited by applicant]
Rusanovskyy D., et al., “EE1-5: Study of the NN Architecture at Very Low Operational Point”, JVET-AH0051-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 34th Meeting, Rennes, FR, Apr. 17… [cited by applicant]
Rusanovskyy D., et al., “EE1-Related: On LOP2 Training Process”, JVET-AG0156-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 33rd Meeting, by Teleconference, Jan. 17-26, 2024, pp. 1-5, J… [cited by applicant]
Rusanovskyy D., et al., “EE1-Related: On Low Complexity Operational Point for In-Loop Filter”, JVET-AG0155-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 33rd Meeting, by teleconference… [cited by applicant]
Rusanovskyy D., et al., “Unified LOP Filter Design, Training Procedure and Filter Usage”, JVET-AE0281-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul. 11-19,… [cited by applicant]
Rusanovskyy D (Qualcomm)., et al., “AHG11: Status of the Joint EE1-0 (LOP.2) Unified Filter Training”, 32. JVET Meeting, Oct. 13, 2023-Oct. 20, 2023, Hannover, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11… [cited by applicant]
Santamaria M., et al., “EE1-1.11: Content-adaptive Post-filter”, JVET-AC0055-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 29th Meeting, by teleconference, Jan. 11-20, 2023, pp. 1-7. [cited by applicant]
Seregin V., et al., “EE2: Summary Report on Enhanced Compression beyond VVC Capability”, JVET-AD0023-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 30th Meeting, Antalya, TR, Apr. 21-28… [cited by applicant]
Shao T., et al., “EE1-2.3: Further Complexity Reduction on the Joint LOP.2”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 33rd Meeting, by Teleconference, Jan. 17-26, 2024, JVET-AG0163-v2… [cited by applicant]
Shingala J.N., et al., “EE1-4.1: Neural-network Loop Filters with Further Complexity Reduction”, JVET-AE0067-v3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul.… [cited by applicant]
Wang H., et al., “EE1-1.4: Test on Neural Network-Based In-Loop Filter with Large Activation Layer”, JVET-V0115-v3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 22nd Meeting, by teleconfe… [cited by applicant]
Wang L., et al., “EE1-1.2: Neural Network Based In-Loop Filter with a Single Model”, JVET-Z0091-v4, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-2… [cited by applicant]
Xie Z., et al., “[AHG11] Study on Lower-Complexity NNLF”, JVET-AG0057-v2, Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEc JTC 1/SC 2933rd Meeting, by teleconference, Jan. 17-26, 2024, pp. 1-4. [cited by applicant]
Yang R., et al., “[EE1-1.7: Content-Adaptive Post-filter Based on SADL Inference]”, 27. JVET Meeting, Jul. 13, 2022-Jul. 22, 2022, Teleconference, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG… [cited by applicant]
Zhao H., et al., “CE10: Experimental Result of CNN-based In-Loop Filter (USTC)”, 15. JVET Meeting, Jul. 3, 2019-Jul. 12, 2019, Gothenburg, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 ), N… [cited by applicant]