IP Library Granted Patent US 10,931,982
Granted Patent B2
US 10,931,982 · App. 16/789,303 · Granted Feb 23, 2021

Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels

Inventor: Kourosh Soroushian (San Diego, CA)
Assignee: DIVX, LLC
H04N21/234372H04N19/115H04N19/146H04N19/157H04N21/23439H04N21/234381H04N21/2662
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 10,931,982
App. No.
16/789,303
Granted
Feb 23, 2021
Kind
B2
Abstract

Systems and methods for streaming and playing back video having a variety of resolutions, frame rates, and/or sample aspect ratios, where the video streams are encoded at one of a number of maximum bit rate levels, in accordance with embodiments of the invention are disclosed. One embodiment includes a processor, and storage containing data relating combinations of resolution and frame rates to maximum bitrates, where a plurality of resolution and frame rates that are related to the same maximum bitrate form a maximum bitrate level. In addition, an encoding application configures the processor to encode a video stream as a plurality of video streams having different resolutions and frame rates, where the target maximum bitrate used during the encoding is selected based upon the maximum bitrate levels of the resolution and frame rate combinations indicated within the data relating combinations of resolution and frame rates to maximum bitrates.

Claims (40)

1. A content distribution system comprising:

a set of one or more encoding servers, wherein each server of the set of encoding servers comprises:

a non-volatile storage containing an encoder application; and

at least one processor;

wherein the encoder applications cause the set of encoding servers to encode source content as a set of streams that are each stored in separate container files, each container files comprising a set of one or more alternative video streams, each having a frame rate and a bitrate, by causing the processor to perform the steps of:

identifying a plurality of sections of the source content;

identifying a plurality of resolution and frame rate combinations for encoding of video content;

determining an optimal target maximum bitrate for each of the received plurality of resolution and frame rate combinations, wherein an optimal target maximum bitrate is the lowest bitrate at which a highest video quality criterion is satisfied for a specific resolution and frame rate combination;

for each particular bitrate group of a plurality of bitrate groups:

identifying, based on a relationship between the optimal target maximum bitrates and the particular bitrate group, a set of resolution and frame rate combinations from the plurality of resolution and frame rate combinations;

for each particular section of the plurality of sections, encoding the particular section to produce a plurality of encodings of the particular section, wherein the plurality of encodings is encoded at one of the set of resolution and frame rate combinations and a bitrate associated with the particular bitrate group;

assembling the encodings of the plurality of sections for a given video stream from the plurality of alternative video streams a container file for each of the plurality of alternative video streams by:

assembling the encodings of the plurality of sections for a given video stream from the plurality of alternative video streams into a video container file; and

generating entries in a container index within the video container file indicating sizes of portions of the given video stream within the video container file; and

uploading the container files for each of the plurality of alternative video streams to a set of servers that form part of a content distribution system.

2. The content distribution system of claim 1 , wherein the optimal target maximum bitrates are determined using a formula.

3. The content distribution system of claim 1 , wherein the optimal target maximum bitrate of a resolution and frame rate combination is determined using experimentation.

4. The content distribution system of claim 1 , wherein identifying a set of resolution and frame rate combinations comprises identifying resolution and frame rate combinations with optimal target maximum bitrates within a predetermined percentage of the highest optimal target maximum bitrate of a resolution and frame rate combination within the particular bitrate group.

5. The content distribution system of claim 1 , wherein the resolution and frame rate combinations within a bitrate group have optimal target maximum bitrates that are within a predetermined percentage of the optimal target maximum bitrate of at least one other resolution and frame rate combination within the maximum bitrate level.

6. The content distribution system of claim 1 , wherein both a width and a height of each resolution of the plurality of resolution and frame rate combinations have an integer number of pixels.

7. The content distribution system of claim 1 , wherein each resolution of the plurality of resolution and frame rate combinations has a same display aspect ratio.

8. The content distribution system of claim 7 , wherein at least two resolutions of the plurality of resolution and frame rate combinations have different sample aspect ratios.

9. A method for encoding source content as a set of streams that are each stored in separate container files, each container files comprising a set of one or more alternative video streams, each having a frame rate and a bitrate, the method comprising:

identifying a plurality of sections of the source content;

identifying a plurality of resolution and frame rate combinations for encoding of video content;

determining an optimal target maximum bitrate for each of the received plurality of resolution and frame rate combinations, wherein an optimal target maximum bitrate is the lowest bitrate at which a highest video quality criterion is satisfied for a specific resolution and frame rate combination;

for each particular bitrate group of a plurality of bitrate groups:

identifying, based on a relationship between the optimal target maximum bitrates and the particular bitrate group, a set of resolution and frame rate combinations from the plurality of resolution and frame rate combinations;

for each particular section of the plurality of sections, encoding the particular section to produce a plurality of encodings of the particular section, wherein the plurality of encodings is encoded at one of the set of resolution and frame rate combinations and a bitrate associated with the particular bitrate group;

assembling the encodings of the plurality of sections for a given video stream from the plurality of alternative video streams a container file for each of the plurality of alternative video streams by:

assembling the encodings of the plurality of sections for a given video stream from the plurality of alternative video streams into a video container file; and

generating entries in a container index within the video container file indicating sizes of portions of the given video stream within the video container file; and

uploading the container files for each of the plurality of alternative video streams to a set of servers that form part of a content distribution system.

10. The method of claim 9 , wherein the optimal target maximum bitrates are determined using a formula.

11. The method of claim 9 , wherein the optimal target maximum bitrate of a resolution and frame rate combination is determined using experimentation.

12. The method of claim 9 , wherein identifying a set of resolution and frame rate combinations comprises identifying resolution and frame rate combinations with optimal target maximum bitrates within a predetermined percentage of the highest optimal target maximum bitrate of a resolution and frame rate combination within the particular bitrate group.

13. The method of claim 9 , wherein the resolution and frame rate combinations within a bitrate group have optimal target maximum bitrates that are within a predetermined percentage of the optimal target maximum bitrate of at least one other resolution and frame rate combination within the maximum bitrate level.

14. The method of claim 9 , wherein both a width and a height of each resolution of the plurality of resolution and frame rate combinations have an integer number of pixels.

15. The method of claim 9 , wherein each resolution of the plurality of resolution and frame rate combinations has a same display aspect ratio.

16. The method of claim 15 , wherein at least two resolutions of the plurality of resolution and frame rate combinations have different sample aspect ratios.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: SOROUSHIAN, KOUROSH
To: DIVX, LLC
Reel/Frame 054938/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 054938/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 054938/0959 →
CHANGE OF NAME Recorded Jan 15, 2021
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 054938/0984 →
Continuity (4)
Continuation 15922198 · Mar 15, 2018
Continuation 13600046 · Aug 30, 2012
Provisional Application 61529201 · Aug 30, 2011
Related Publication 20200186854A1 · Jun 11, 2020
Cited By (6)
US 12,244,878 US 12,250,404 US 12,262,051 US 12,407,906 US 12,425,611 US 12,470,781