IP Library › Granted Patent US 12,610,052
Granted Patent B2
US 12,610,052 · App. 17/645,602 · Granted Apr 21, 2026

Enhanced video coding using region-based adaptive quality tuning

Inventors: Satya Yedidi (Roseville, CA); Sai Agnihotri (Newark, CA); Shriram Deshpande (Rancho Cordova, CA); Aaron McKenney (Fair Oaks, CA)
Assignee: Intel Corporation
H04N19/126H04N19/176H04N19/182H04N19/196
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,610,052
App. No.
17/645,602
Granted
Apr 21, 2026
Kind
B2
Abstract

This disclosure describes systems, methods, and devices related to generating region-based quantization parameters for video encoding. A method may include receiving, at a hardware encoder, source video comprising video frames; receiving, at the hardware encoder, from software associated with the hardware encoder, a video frame-level quantization parameter for a first video frame of the video frames; receiving, at the hardware encoder, from an application, a delta quantization parameter map, the delta quantization parameter map comprising per-pixel block quantization parameter modifications for respective pixel blocks of the first video frame; determining, by the hardware encoder, for the respective pixel blocks, respective sums of the per-pixel block quantization parameter modifications and the video frame-level quantization parameter; generating, by the hardware encoder, quantization parameters for the respective pixel blocks, the quantization parameters being the respective sums; and generating, by the hardware encoder, a bitstream based on the video frames and the quantization parameters.

Claims (59)

1 . A method for generating quantization parameters for video encoding, the method comprising:

obtaining a frame-level quantization parameter for a first video frame;

obtaining a plurality of quantization parameter adjustment values corresponding respectively to a plurality of pixel blocks of the first video frame, the quantization parameter adjustment values relative to the frame-level quantization parameter;

generating, by a hardware encoder, respective block-level quantization parameters for corresponding ones of the pixel blocks based on (i) respective sums of the frame-level quantization parameter with corresponding ones of the quantization parameter adjustment values and (ii) a clamping function having a lower boundary and an upper boundary for the block-level quantization parameters; and

generating, by the hardware encoder, an encoded bitstream based on the first video frame and the block-level quantization parameters.

2 . The method of claim 1 , including:

determining, for a first one of the pixel blocks of the first video frame, a first sum of a first one of the quantization parameter adjustment values and the frame-level quantization parameter; and

determining, for a second one of the pixel blocks of the first video frame, a second sum of a second one of the quantization parameter adjustment values and the frame-level quantization parameter,

wherein a first block-level quantization parameter of the block-level quantization parameters is based on the first sum, and

wherein a second block-level quantization parameter of the block-level quantization parameters is based on the second sum.

3 . The method of claim 1 , wherein the pixel blocks are first pixel blocks, the frame-level quantization parameter is a first frame-level quantization parameter, the quantization parameter adjustment values are first quantization parameter adjustment values, and including:

obtaining second quantization parameter adjustment values corresponding respectively to a plurality of second pixel blocks of a second video frame;

obtaining a second frame-level quantization parameter for the second video frame;

generating, by the hardware encoder, respective second block-level quantization parameters for corresponding ones of the second pixel blocks based on respective second sums of the second frame-level quantization parameter with corresponding ones of the second quantization parameter adjustment values; and

generating, by the hardware encoder, a second encoded bitstream based on the second video frame and the second block-level quantization parameters.

4 . The method of claim 3 , wherein a first pixel block of the first pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is equal to the second block-level quantization parameter.

5 . The method of claim 3 , wherein a first pixel block of the first pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is different than the second block-level quantization parameter.

6 . The method of claim 1 , wherein a first quantization parameter adjustment value of the quantization parameter adjustment values is associated with a first pixel block of the pixel blocks, a second quantization parameter adjustment value of the quantization parameter adjustment values is associated with a second pixel block of the pixel blocks, and the first quantization parameter adjustment value is different than the second quantization parameter adjustment value.

7 . A non-transitory computer-readable medium comprising computer-executable instructions to cause at least one programmable circuit to at least:

obtain a frame-level quantization parameter for a first video frame;

obtain a plurality of quantization parameter adjustment values corresponding respectively to a plurality of pixel blocks of the first video frame, the quantization parameter adjustment values relative to the frame-level quantization parameter;

generate respective block-level quantization parameters for corresponding ones of the pixel blocks based on (i) respective sums of the frame-level quantization parameter with corresponding ones of the quantization parameter adjustment values and (ii) a clamping function having a lower boundary and an upper boundary for the block-level quantization parameters; and

generate an encoded bitstream based on the first video frame and the block-level quantization parameters.

8 . The non-transitory computer-readable medium of claim 7 , wherein the instructions are to cause one or more of the at least one programmable circuit to:

determine, for a first one of the pixel blocks of the first video frame, a first sum of a first one of the quantization parameter adjustment values and the frame-level quantization parameter; and

determine, for a second one of the pixel blocks of the first video frame, a second sum of a second one of the quantization parameter adjustment values and the frame-level quantization parameter,

wherein a first block-level quantization parameter of the block-level quantization parameters is based on the first sum, and

wherein a second block-level quantization parameter of the block-level quantization parameters is based on the second sum.

9 . The non-transitory computer-readable medium of claim 7 , wherein the pixel blocks are first pixel blocks, the frame-level quantization parameter is a first frame-level quantization parameter, the quantization parameter adjustment values are first quantization parameter adjustment values, and the instructions are to cause one or more of the at least one programmable circuit to:

obtain second quantization parameter for adjustment values corresponding respectively to a plurality of second pixel blocks of a second video frame;

obtain a second frame-level quantization parameter for the second video frame;

generate respective second block-level quantization parameters for corresponding ones of the second pixel blocks based on respective second sums of the second frame-level quantization parameter with corresponding ones of the second quantization parameter adjustment values; and

generate a second encoded bitstream based on the second video frame and the second block-level quantization parameters.

10 . The non-transitory computer-readable medium of claim 9 , wherein a first pixel block of the first pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is equal to the second block-level quantization parameter.

11 . The non-transitory computer-readable medium of claim 9 , wherein a first pixel block of the first pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is different than the second block-level quantization parameter.

12 . The non-transitory computer-readable medium of claim 7 , wherein a first quantization parameter adjustment value of the quantization parameter adjustment values is associated with a first pixel block of the pixel blocks, a second quantization parameter adjustment value of the quantization parameter adjustment values is associated with a second pixel block of the pixel blocks, and the first quantization parameter adjustment value is different than the second quantization parameter adjustment value.

13 . The non-transitory computer-readable medium of claim 7 , wherein the quantization parameter adjustment values are signed values, the lower boundary is a first positive value and the upper boundary is a second positive value larger than the first positive value.

14 . A system comprising:

interface circuitry;

instructions; and

at least one programmable circuit to be programmed based on the instructions to:

obtain a frame-level quantization parameter for a first video frame;

obtain a plurality of quantization parameter adjustment values corresponding respectively to a plurality of pixel blocks of the first video frame, the quantization parameter adjustment values relative to the frame-level quantization parameter;

generate respective block-level quantization parameters for corresponding ones of the pixel blocks based on (i) respective sums of the frame-level quantization parameter with corresponding ones of the quantization parameter adjustment values and (ii) a clamping function having a lower boundary and an upper boundary for the block-level quantization parameters; and

generate an encoded bitstream based on the first video frame and the block-level quantization parameters.

15 . The system of claim 14 , wherein one or more of the at least one programmable circuit is to:

determine, for a first one of the pixel blocks of the first video frame, a first sum of a first one of the quantization parameter adjustment values and the frame-level quantization parameter; and

determine, for a second one of the pixel blocks of the first video frame, a second sum of a second one of the quantization parameter adjustment values and the frame-level quantization parameter,

wherein a first block-level quantization parameter of the block-level quantization parameters is based on the first sum, and

wherein a second block-level quantization parameter of the block-level quantization parameters is based on the second sum.

16 . The system of claim 14 , wherein the pixel blocks are first pixel blocks, the frame-level quantization parameter is a first frame-level quantization parameter, the quantization parameter adjustment values are first quantization parameter adjustment values, and one or more of the at least one programmable circuit is to:

obtain second quantization parameter adjustment values corresponding respectively to a plurality of second pixel blocks of a second video frame;

obtain a second frame-level quantization parameter for the second video frame;

generate respective second block-level quantization parameters for corresponding ones of the second pixel blocks based on respective second sums of the second frame-level quantization parameter with corresponding ones of the second quantization parameter adjustment values; and

generate a second encoded bitstream based on the second video frame and the second block-level quantization parameters.

17 . The system of claim 16 , wherein a first pixel block of the first pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is equal to the second block-level quantization parameter.

18 . The system of claim 16 , wherein a first pixel block of the pixel blocks corresponds to a second pixel block of the second pixel blocks, a first block-level quantization parameter of the first block-level quantization parameters is associated with the first pixel block, a second block-level quantization parameter of the second block-level quantization parameters is associated with the second pixel block, and the first block-level quantization parameter is different than the second block-level quantization parameter.

19 . The system of claim 14 , wherein a first quantization parameter adjustment value of the quantization parameter adjustment values is associated with a first pixel block of the pixel blocks, a second quantization parameter adjustment value of the quantization parameter adjustment values is associated with a second pixel block of the pixel blocks, and the first quantization parameter adjustment value is different than the second quantization parameter adjustment value.

20 . The system of claim 14 , wherein the quantization parameter adjustment values are signed values, the lower boundary is a first positive value and the upper boundary is a second positive value larger than the first positive value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2022
From: YEDIDI, SATYA; AGNIHOTRI, SAI; DESHPANDE, SHRIRAM; MCKENNEY, AARON
To: INTEL CORPORATION
Reel/Frame 058550/0037 →
Continuity (1)
Related Publication 20220116611A1 · Apr 14, 2022
References Cited (4)
US 20190238849A1 · Fang · 2019 [cited by examiner]
“FFmpeg: compat/nvenc/nvEncodeAPI.h Source File,” Retrieved on Nov. 6, 2025 from https://www.ffmpeg.org/doxygen/3.2/nvEncodeAPI_8h_source.html, 31 pages. [cited by applicant]
“Nvidia Video Codec SDK Application Note—Encoder,” Application Note, NVENC_DA-06209-001_v08, Nov. 2016, Nvidia, 11 pages. [cited by applicant]
“Nvidia Video Codec SDK—Encoder,” Programming Guide, Nvidia, vNVENCODEAPI_PG-06155-001_v11, Oct. 2021, 42 pages. [cited by applicant]