IP Library › Granted Patent US 11,778,197
Granted Patent B2
US 11,778,197 · App. 17/725,099 · Granted Oct 3, 2023

Content-aware predictive bitrate ladder

Inventors: Weidong Mao (West Windsor, NJ); Alexander Giladi (Princeton, NJ); Alex Balk (Mountlake Terrace, WA)
Assignee: Comcast Cable Communications, LLC
H04N19/147H04N19/115H04N19/127H04N19/184H04N19/197H04N19/36H04N19/463H04N21/2353H04N21/23418H04N21/23439H04N21/2402H04L65/70H04L65/80H04N19/124H04N19/15H04N19/154H04N21/21815H04N21/222H04N21/231
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,778,197
App. No.
17/725,099
Granted
Oct 3, 2023
Kind
B2
Abstract

Methods, systems, and apparatuses may encode a media content item based on metadata from previous encoding. The encoding may also generate encoding metadata, which may comprise a qualitative or quantitative characterization of the encoded media content item. A prediction engine may, based on this metadata, determine new encoding settings for the same or a different video resolution. The prediction engine may cause an encoded media content item to be stored and may cause encoding of the media content item using the new encoding settings.

Claims (86)

1. One or more non-transitory computer-readable media storing instructions that, when executed, cause:

receiving, by a computing device, metadata indicative of encoding of a media content item at a first resolution and a first bitrate;

determining, based on a quality of the encoding of the media content item at the first resolution and the first bitrate, to encode the media content item at a second resolution, wherein the second resolution is higher than the first resolution;

determining, based on the metadata and based on the determining to encode the media content item at the second resolution, a second bitrate for encoding the media content item at the second resolution; and

sending, to an encoder, an indication of the determined second bitrate for encoding of the media content item at the second resolution.

2. The non-transitory computer-readable media of claim 1 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, a third bitrate for encoding the media content item at the second resolution; and

sending an indication of the determined third bitrate for encoding the media content item at the second resolution.

3. The non-transitory computer-readable media of claim 1 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

sending, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a higher bitrate for encoding the media content item at the second resolution.

4. The non-transitory computer-readable media of claim 1 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is optimized; and

sending, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is optimized, an indication of a new bitrate for encoding the media content item at a third resolution higher than the second resolution.

5. The non-transitory computer-readable media of claim 1 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

sending, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a lower bitrate for encoding the media content item at the second resolution.

6. One or more non-transitory computer-readable media storing instructions that, when executed, cause:

receiving, by a computing device, metadata indicative of encoding of a media content item at a first resolution and a first bitrate;

determining, based on the metadata, that a quality of the media content item encoded at the first resolution and the first bitrate is optimized;

determining, based on the quality of the media content item encoded at the first resolution and the first bitrate being optimized, to encode the media content item at a second resolution higher than the first resolution;

determining, based on the metadata and based on the determining to encode the media content item at the second resolution, a second bitrate for encoding the media content item at the second resolution; and

sending, to an encoder, an indication of the second bitrate.

7. The non-transitory computer-readable media of claim 6 , wherein the instructions, when executed, further cause:

sending, to a second encoder different from the encoder, and based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, an indication to encode the media content item.

8. The non-transitory computer-readable media of claim 6 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

sending, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a higher bitrate for encoding the media content item at the second resolution.

9. The non-transitory computer-readable media of claim 6 , wherein the instructions, when executed, further cause:

determining, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is optimized; and

sending, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is optimized, an indication of a new bitrate for encoding the media content item at a third resolution higher than the second resolution.

10. The non-transitory computer-readable media of claim 6 , wherein the instructions, when executed, further cause:

determining, based on the metadata, a frame rate for encoding the media content item at the second resolution; and

sending, to the encoder, an indication of the frame rate for encoding the media content item at the second resolution.

11. A system comprising:

a computing device; and

an encoder;

wherein the computing device comprises:

one or more first processors; and

first memory storing first instructions that, when executed by the one or more first processors, cause the computing device to:

receive metadata indicative of encoding of a media content item at a first resolution and a first bitrate;

determine, based on a quality of the encoding of the media content item at the first resolution and the first bitrate, to encode the media content item at a second resolution, wherein the second resolution is higher than the first resolution;

determine, based on the metadata and based on the determining to encode the media content item at the second resolution, a second bitrate for encoding the media content item at the second resolution; and

send, to the encoder, an indication of the determined second bitrate for encoding of the media content item at the second resolution; and

wherein the encoder comprises:

one or more second processors; and

second memory storing second instructions that, when executed by the one or more second processors, cause the encoder to:

encode the media content item at the second resolution.

12. The system of claim 11 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, a third bitrate for encoding the media content item at the second resolution; and

send an indication of the determined third bitrate for encoding the media content item at the second resolution.

13. The system of claim 11 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

send, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a higher bitrate for encoding the media content item at the second resolution.

14. The system of claim 11 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is optimized; and

send, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is optimized, an indication of a new bitrate for encoding the media content item at a third resolution higher than the second resolution.

15. The system of claim 11 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

send, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a lower bitrate for encoding the media content item at the second resolution.

16. A system comprising:

a computing device; and

an encoder;

wherein the computing device comprises:

one or more first processors; and

first memory storing first instructions that, when executed by the one or more first processors, cause the computing device to:

receive metadata indicative of encoding of a media content item at a first resolution and a first bitrate;

determine, based on the metadata, that a quality of the media content item encoded at the first resolution and the first bitrate is optimized;

determine, based on the quality of the media content item encoded at the first resolution and the first bitrate being optimized, to encode the media content item at a second resolution higher than the first resolution;

determine, based on the metadata and based on the determining to encode the media content item at the second resolution, a second bitrate for encoding the media content item at the second resolution; and

send, to the encoder, an indication of the second bitrate; and

wherein the encoder comprises:

one or more second processors; and

second memory storing second instructions that, when executed by the one or more second processors, cause the encoder to:

encode the media content item based on the second bitrate.

17. The system of claim 16 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

send, to a second encoder different from the encoder, and based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, an indication to encode the media content item.

18. The system of claim 16 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is not optimized; and

send, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is not optimized, an indication of a higher bitrate for encoding the media content item at the second resolution.

19. The system of claim 16 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on second metadata indicative of encoding of the media content item at the second resolution and the second bitrate, that a quality of the media content item encoded at the second resolution and the second bitrate is optimized; and

send, based on the determining that the quality of the media content item encoded at the second resolution and the second bitrate is optimized, an indication of a new bitrate for encoding the media content item at a third resolution higher than the second resolution.

20. The system of claim 16 , wherein the first instructions, when executed by the one or more first processors, further cause the computing device to:

determine, based on the metadata, a frame rate for encoding the media content item at the second resolution; and

send, to the encoder, an indication of the frame rate for encoding the media content item at the second resolution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2023
From: MAO, WEIDONG; GILADI, ALEXANDER; BALK, ALEX
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 063925/0256 →
Continuity (4)
Continuation 16918119 · Jul 1, 2020
Continuation 16235105 · Dec 28, 2018
Provisional Application 62611304 · Dec 28, 2017
Related Publication 20220321893A1 · Oct 6, 2022