IP Library Granted Patent US 12671819
Granted Patent B2
US 12671819 · App. 19/193,045 · Granted Jun 30, 2026

Content-based video compression using reinforcement learning for video rate control

Inventors: Assaf Joseph Hallak (Tel Aviv, IL); Uri Haim Gadot (Tel Aviv, IL); Assaf Shoher (Rehovot, IL); Dotan Levi (Kiryat Motzkin, IL); Eshed Ram (Nofit, IL); Dror Porat (Haifa, IL); Eyal Frishman (Hod Hasharon, IL); Shie Mannor (Haifa, IL); Gal Chechik (Ramat Hasharon, IL)
Assignee: NVIDIA Corporation
H04N19/149G06N3/092H04N19/172H04N19/176
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 12671819
App. No.
19/193,045
Granted
Jun 30, 2026
Kind
B2
Abstract

A method for performing content-based video compression using reinforcement learning (RL) is provided. The method includes obtaining frame information associated with a frame from a video. The frame information comprises quantization parameter (QP) information associated with the frame, and the QP information indicates an initial compression level for encoding aspects of the frame. The frame information and additional information are processed by an RL agent to generate a generated QP map indicating a plurality of updated values associated with a plurality of macro-blocks (MBs) of the frame. A bitstream is generated comprising a plurality of bits for the frame based on the generated QP map. Specifically, the plurality of updated values from the generated QP map indicates an amount of allocated bits from the bitstream to allocate for each of the plurality of MBs. The bitstream is provided to a downstream model.

Claims (41)

1 . A computer-implemented method for performing content-based video compression using reinforcement learning (RL) for sub-frame rate control, comprising:

obtaining frame information associated with a frame from a video, wherein the frame information comprises quantization parameter (QP) information associated with the frame;

processing the frame information and additional information associated with the frame using an RL agent to generate a QP map indicating a plurality of updated values associated with a plurality of macro-blocks (MBs) of the frame;

generating a bitstream comprising a plurality of bits for the frame based on the generated QP map, wherein the plurality of updated values from the generated QP map indicates an amount of allocated bits from the bitstream to allocate for each of the plurality of MBs; and

providing the bitstream to a downstream model, wherein the downstream model performs one or more tasks based on a reconstructed video associated with the bitstream.

2 . The computer-implemented method of claim 1 , wherein the frame comprises a plurality of pixels, wherein each of the plurality of MBs of the frame is associated with a block of pixels from the plurality of pixels of the frame, and wherein each of the plurality of updated values is associated with an MB from the plurality of MBs and indicates a compression amount for the block of pixels of the MB.

3 . The computer-implemented method of claim 1 , wherein the plurality of updated values of the generated QP map indicate a plurality of QP values, wherein each of the plurality of QP values is associated with an MB from the plurality of MBs, and wherein a first QP value of the plurality of QP values associated with a first MB from the plurality of MBs indicates a first number of bits from the bitstream to allocate to the first MB.

4 . The computer-implemented method of claim 1 , wherein the plurality of updated values of the generated QP map indicate a plurality of delta values, wherein each of the plurality of delta values is associated with an MB from the plurality of MBs, and wherein a first delta value of the plurality of delta values associated with a first MB from the plurality of MBs indicates a difference between a QP value from the frame information and a QP value of the first MB that is output from the RL agent.

5 . The computer-implemented method of claim 1 , further comprising:

processing the frame using a feature extractor to generate the additional information associated with the frame, wherein the additional information comprises features of the frame.

6 . The computer-implemented method of claim 1 , wherein the additional information associated with the frame comprises:

red, green, blue (RGB) pixel values associated with the frame,

luma, blue projection, and red projection (YUV) pixel values associated with the frame, or

image values associated with the frame, wherein the image values are hyperspectral image values or medical image values.

7 . The computer-implemented method of claim 1 , wherein the frame information further comprises bit budgets, encoding parameters, and previous quality metric scores associated with a video encoder.

8 . The computer-implemented method of claim 1 , wherein obtaining the frame information associated with the frame comprises processing the frame using a video encoder to generate the frame information comprising the QP information,

wherein generating the bitstream comprising the plurality of bits for the frame comprises generating, by the video encoder, the bitstream based on the generated QP map that is provided by the RL agent, and

wherein providing the bitstream to the downstream model comprises providing, by the video encoder, the bitstream to a second system comprising a video decoder and the downstream model.

9 . The computer-implemented method of claim 1 , further comprising:

training the RL agent based on using a proximal policy optimization (PPO) algorithm, a soft actor critic (SAC) algorithm, or an advantage actor critic (A2C) algorithm.

10 . The computer-implemented method of claim 1 , wherein the QP information comprises one or more initial QP frame values that indicates one or more initial compression levels for the plurality of MBs of the frame.

11 . The computer-implemented method of claim 1 , wherein the amount of allocated bits indicate a number of allocated bits from the bitstream to allocate for each of the plurality of MBs or a fraction of allocated bits from the bitstream to allocate for each of the plurality of MBs.

12 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, processing, generating, and providing are performed on a server or in a data center to generate the bitstream, and the bitstream is provided to a user device.

13 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, processing, generating, and providing are performed within a cloud computing environment and/or within an edge device.

14 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, processing, generating, and providing are performed for training, testing, or certifying a neural network employed in a machine, robot, or autonomous vehicle.

15 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, processing, generating, and providing are performed on a virtual machine comprising a portion of a graphics processing unit.

16 . A system for performing content-based video compression using reinforcement learning (RL) for sub-frame rate control, comprising:

one or more processors; and

a non-transitory computer-readable medium having processor-executable instructions stored thereon, wherein the processor-executable instructions, when executed by the one or more processors, facilitate:

obtaining frame information associated with a frame from a video, wherein the frame information comprises quantization parameter (QP) information associated with the frame;

processing the frame information and additional information associated with the frame using an RL agent to generate a QP map indicating a plurality of updated values associated with a plurality of macro-blocks (MBs) of the frame;

generating a bitstream comprising a plurality of bits for the frame based on the generated QP map, wherein the plurality of updated values from the generated QP map indicates an amount of allocated bits from the bitstream to allocate for each of the plurality of MBs; and

providing the bitstream to a downstream model, wherein the downstream model performs one or more tasks based on a reconstructed video associated with the bitstream.

17 . The system of claim 16 , wherein the frame comprises a plurality of pixels, wherein each of the plurality of MBs of the frame is associated with a block of pixels from the plurality of pixels of the frame, and wherein each of the plurality of updated values is associated with an MB from the plurality of MBs and indicates a compression amount for the block of pixels of the MB.

18 . The system of claim 16 , wherein the plurality of updated values of the generated QP map indicate a plurality of QP values, wherein each of the plurality of QP values is associated with an MB from the plurality of MBs, and wherein a first QP value of the plurality of QP values associated with a first MB from the plurality of MBs indicates a first number of bits from the bitstream to allocate to the first MB.

19 . A non-transitory computer-readable medium having processor-executable instructions stored thereon for performing content-based video compression using reinforcement learning (RL) for sub-frame rate control, wherein the processor-executable instructions, when executed, facilitate:

obtaining frame information associated with a frame from a video, wherein the frame information comprises quantization parameter (QP) information associated with the frame;

processing the frame information and additional information associated with the frame using an RL agent to generate a QP map indicating a plurality of updated values associated with a plurality of macro-blocks (MBs) of the frame;

generating a bitstream comprising a plurality of bits for the frame based on the generated QP map, wherein the plurality of updated values from the generated QP map indicates an amount of allocated bits from the bitstream to allocate for each of the plurality of MBs; and

providing the bitstream to a downstream model, wherein the downstream model performs one or more tasks based on a reconstructed video associated with the bitstream.

20 . The non-transitory computer-readable medium of claim 19 , wherein the frame comprises a plurality of pixels, wherein each of the plurality of MBs of the frame is associated with a block of pixels from the plurality of pixels of the frame, and wherein each of the plurality of updated values is associated with an MB from the plurality of MBs and indicates a compression amount for the block of pixels of the MB.