IP Library Granted Patent US 11,582,443
Granted Patent B1
US 11,582,443 · App. 17/179,138 · Granted Feb 14, 2023

Architecture to adapt cumulative distribution functions for mode decision in video encoding

Inventors: Gaurang Chaudhari (Sunnyvale, CA); Hariharan G. Lalgudi (San Diego, CA); Yunqing Chen (Los Altos, CA); Harikrishna Madadi Reddy (San Jose, CA)
Assignee: Meta Platforms, Inc.
H04N19/103H04N19/119H04N19/13
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 11,582,443
App. No.
17/179,138
Granted
Feb 14, 2023
Kind
B1
Abstract

A mode decision component is configured to determine the costs of different modes for a selected partition of a frame of a video using an estimated compression coding data, which is calculated prior to a corresponding actual compression coding data being calculated based on another partition immediately prior to the selected partition in a partition processing order. The estimated compression coding data is determined based on a previously calculated compression coding data calculated based on a completed partition prior to the selected partition in the partition processing order. The mode decision component is configured to use the determined costs to select one of the modes. An encoder component is configured to use the selected mode to encode the selected partition by using the corresponding actual compression coding data calculated based on the another partition immediately prior to the selected partition in the partition processing order.

Claims (36)

1. A hardware video processor, comprising:

a mode decision component including one or more units configured to:

determine costs of a plurality of different modes for a selected partition of a frame of a video using an estimated compression coding data prior to a corresponding actual compression coding data being calculated based on another partition immediately prior to the selected partition in a partition processing order, wherein the estimated compression coding data is determined based on a previously calculated compression coding data calculated based on a completed partition prior to the selected partition in the partition processing order, and wherein the determining of the cost of one of the plurality of different modes for the selected partition of the frame of the video using the estimated compression coding data comprises:

determining a rate of the one of the plurality of different modes for the selected partition of the frame of the video based on the previously calculated compression coding data calculated based on the completed partition prior to the selected partition in the partition processing order; and

use the determined costs to evaluate the plurality of different modes and select one of the modes; and

an encoder component including one or more units configured to:

use the selected mode to encode the selected partition of the frame of the video, including by using the corresponding actual compression coding data calculated based on the another partition immediately prior to the selected partition in the partition processing order.

2. The processor of claim 1 , wherein the corresponding actual compression coding data being calculated based on the another partition immediately prior to the selected partition in the partition processing order is updated after the another partition had undergone entropy coding.

3. The processor of claim 1 , wherein compression coding data comprises statistical data for arithmetic encoding.

4. The processor of claim 1 , wherein compression coding data comprises data stored in cumulative distribution function (CDF) tables for arithmetic coding.

5. The processor of claim 1 , wherein the completed partition is a predetermined number of partitions prior to the selected partition in the partition processing order.

6. The processor of claim 1 , wherein the partition processing order comprises an order in which partitions are processed sequentially from top to bottom and from left to right.

7. The processor of claim 1 , wherein the rate is modified based on a correction factor, wherein the correction factor is learned from processing of one or more partitions prior to the selected partition.

8. The processor of claim 7 , wherein the one or more partitions prior to the selected partition comprises a partition that is one row above the selected partition.

9. The processor of claim 7 , wherein the correction factor is a ratio of a rate determined based on an actual compression coding data to a rate determined based on an estimated compression coding data.

10. The processor of claim 7 , wherein the correction factor is determined based on a machine learning model.

11. A method, comprising:

determining costs of a plurality of different modes for a selected partition of a frame of a video using an estimated compression coding data prior to a corresponding actual compression coding data being calculated based on another partition immediately prior to the selected partition in a partition processing order, wherein the estimated compression coding data is determined based on a previously calculated compression coding data calculated based on a completed partition prior to the selected partition in the partition processing order, and wherein the determining of the cost of one of the plurality of different modes for the selected partition of the frame of the video using the estimated compression coding data comprises:

determining a rate of the one of the plurality of different modes for the selected partition of the frame of the video based on the previously calculated compression coding data calculated based on the completed partition prior to the selected partition in the partition processing order;

using the determined costs to evaluate the plurality of different modes and select one of the modes; and

using the selected mode to encode the selected partition of the frame of the video, including by using the corresponding actual compression coding data calculated based on the another partition immediately prior to the selected partition in the partition processing order.

12. The method of claim 11 , wherein the corresponding actual compression coding data being calculated based on the another partition immediately prior to the selected partition in the partition processing order is updated after the another partition had undergone entropy coding.

13. The method of claim 11 , wherein compression coding data comprises statistical data for arithmetic encoding.

14. The method of claim 11 , wherein compression coding data comprises data stored in cumulative distribution function (CDF) tables for arithmetic coding.

15. The method of claim 11 , wherein the completed partition is a predetermined number of partitions prior to the selected partition in the partition processing order.

16. The method of claim 11 , wherein the partition processing order comprises an order in which partitions are processed sequentially from top to bottom and from left to right.

17. The method of claim 11 , wherein the rate is modified based on a correction factor, wherein the correction factor is learned from processing of one or more partitions prior to the selected partition.

18. A system, comprising:

a processor configured to:

determine costs of a plurality of different modes for a selected partition of a frame of a video using an estimated compression coding data prior to a corresponding actual compression coding data being calculated based on another partition immediately prior to the selected partition in a partition processing order, wherein the estimated compression coding data is determined based on a previously calculated compression coding data calculated based on a completed partition prior to the selected partition in the partition processing order, and wherein the determining of the cost of one of the plurality of different modes for the selected partition of the frame of the video using the estimated compression coding data comprises:

determining a rate of the one of the plurality of different modes for the selected partition of the frame of the video based on the previously calculated compression coding data calculated based on the completed partition prior to the selected partition in the partition processing order;

use the determined costs to evaluate the plurality of different modes and select one of the modes; and

use the selected mode to encode the selected partition of the frame of the video, including by using the corresponding actual compression coding data calculated based on the another partition immediately prior to the selected partition in the partition processing order; and

a memory coupled to the processor and configured to provide the processor with instructions.

19. The system of claim 18 , wherein the corresponding actual compression coding data being calculated based on the another partition immediately prior to the selected partition in the partition processing order is updated after the another partition had undergone entropy coding.

20. The system of claim 18 , wherein compression coding data comprises statistical data for arithmetic encoding.

Assignments (2)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: CHAUDHARI, GAURANG; LALGUDI, HARIHARAN G.; CHEN, YUNQING; REDDY, HARIKRISHNA MADADI
To: FACEBOOK, INC.
Reel/Frame 056163/0789 →
Cited By (1)
US 12,720,073