IP Library Patent Application 17159001
Patent Application
App. No. 17/159,001

DYNAMICALLY BIASING MODE SELECTION IN VIDEO ENCODING

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 None
App. No.
17/159,001
Abstract

A hardware video processor comprises a cost calculation unit. The cost calculation unit is configured to determine rate distortion costs of a plurality of different modes for a portion of a video. The hardware video processor further comprises an evaluation unit. The evaluation unit is configured to receive the rate distortion costs of the plurality of different modes. At least one component of at least one of the rate distortion costs is adjusted based on a condition to determine at least one modified rate distortion cost of at least one of the plurality of different modes. The at least one modified rate distortion cost is used to evaluate the plurality of different modes and select one of the modes for use in encoding the portion of the video.

Claims (45)

1 . A hardware video processor, comprising:

a pre-processing unit configured to, during a first pass of a two-pass encoding process of a portion of a video, analyze the portion of the video and collect statistics of the portion of the video, comprising collecting statistics of preliminary quantized coefficient values of the portion of the video, wherein a second pass of the two-pass encoding process of the portion of the video comprises selecting one of a plurality of different modes for the portion of the video based at least in part on the collected statistics of the portion of the video;

a cost calculation unit configured to determine rate distortion costs of the plurality of different modes for the portion of the video during the second pass of the two-pass encoding process; and

an evaluation unit configured to, during the second pass of the two-pass encoding process:

receive the rate distortion costs of the plurality of different modes;

based on a received condition, adjust at least one component of at least one of the rate distortion costs to determine at least one modified rate distortion cost, wherein the received condition comprises the collected statistics of the preliminary quantized coefficient values of the portion of the video; and

use the at least one modified rate distortion cost to evaluate the plurality of different modes and select one of the modes for use in encoding the portion of the video.

2 . The hardware video processor of claim 1 , wherein the evaluation unit is configured to:

based on the received condition, adjust a coefficient rate component of the at least one of the rate distortion costs to determine the at least one modified rate distortion cost, wherein the coefficient rate component comprises a coefficient rate that is determined based on a plurality of quantized transform coefficients.

3 . The hardware video processor of claim 2 , wherein the evaluation unit is configured to:

use the received condition to determine whether the coefficient rate is modified by a scale factor.

4 . The hardware video processor of claim 3 , wherein the scale factor comprises a predetermined shifting factor.

5 . The hardware video processor of claim 3 , wherein the scale factor comprises a predetermined multiplying factor.

6 . The hardware video processor of claim 2 , wherein the evaluation unit is configured to:

use the received condition to determine whether the coefficient rate component is modified by adjusting a Lagrangian multiplier associated with the coefficient rate component.

7 . The hardware video processor of claim 1 , wherein the received condition comprises an amount of distortion in the portion of the video.

8 . (canceled)

9 . (canceled)

10 . The hardware video processor of claim 1 , wherein the received condition is based on the content of the video.

11 . The hardware video processor of claim 1 , wherein the received condition is based on a video content type.

12 . The hardware video processor of claim 1 , wherein the received condition comprises an inferred value based on learning or from a decoding path.

13 . A method, comprising:

during a first pass of a two-pass encoding process of a portion of a video, analyzing the portion of the video and collecting statistics of the portion of the video, comprising collecting statistics of preliminary quantized coefficient values of the portion of the video, wherein a second pass of the two-pass encoding process of the portion of the video comprises selecting one of a plurality of different modes for the portion of the video based at least in part on the collected statistics of the portion of the video;

during the second pass of the two-pass encoding process, determining rate distortion costs of the plurality of different modes for the portion of the video;

during the second pass of the two-pass encoding process, based on a received condition, adjusting at least one component of at least one of the rate distortion costs to determine at least one modified rate distortion cost, wherein the received condition comprises the collected statistics of the preliminary quantized coefficient values of the portion of the video; and

during the second pass of the two-pass encoding process, using the at least one modified rate distortion cost to evaluate the plurality of different modes and select one of the modes for use in encoding the portion of the video.

14 . The method of claim 13 , further comprising:

based on the received condition, adjusting a coefficient rate component of the at least one of the rate distortion costs to determine the at least one modified rate distortion cost, wherein the coefficient rate component comprises a coefficient rate that is determined based on a plurality of quantized transform coefficients.

15 . The method of claim 14 , further comprising:

using the received condition to determine whether the coefficient rate is modified by a scale factor.

16 . The method of claim 14 , further comprising:

using the received condition to determine whether the coefficient rate component is modified by adjusting a Lagrangian multiplier associated with the coefficient rate component.

17 . The method of claim 13 , wherein the received condition comprises an amount of distortion in the portion of the video.

18 . (canceled)

19 . The method of claim 13 , wherein the received condition is based on the content of the video.

20 . A system, comprising:

a processor configured to:

during a first pass of a two-pass encoding process of a portion of a video, analyze the portion of the video and collect statistics of the portion of the video, comprising collecting statistics of preliminary quantized coefficient values of the portion of the video, wherein a second pass of the two-pass encoding process of the portion of the video comprises selecting one of a plurality of different modes for the portion of the video based at least in part on the collected statistics of the portion of the video;

during the second pass of the two-pass encoding process, determine rate distortion costs of the plurality of different modes for the portion of the video;

during the second pass of the two-pass encoding process, based on a received condition, adjust at least one component of at least one of the rate distortion costs to determine at least one modified rate distortion cost, wherein the received condition comprises the collected statistics of the preliminary quantized coefficient values of the portion of the video; and

during the second pass of the two-pass encoding process, use the at least one modified rate distortion cost to evaluate the plurality of different modes and select one of the modes for use in encoding the portion of the video; and

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

21 . The hardware video processor of claim 1 , wherein collecting statistics of the portion of the video further comprises collecting statistics of pixel values of the portion of the video, and wherein the received condition comprises the collected statistics of the pixel values of the portion of the video.

22 . The method of claim 13 , wherein collecting statistics of the portion of the video further comprises collecting statistics of pixel values of the portion of the video, and wherein the received condition comprises the collected statistics of the pixel values of the portion of the video.

23 . The system of claim 20 , wherein collecting statistics of the portion of the video further comprises collecting statistics of pixel values of the portion of the video, and wherein the received condition comprises the collected statistics of the pixel values of the portion of the video.

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 Apr 8, 2021
From: CHAUDHARI, GAURANG; CHEN, YUNQING; REDDY, HARIKRISHNA MADADI
To: FACEBOOK, INC.
Reel/Frame 055869/0390 →