IP Library Granted Patent US 11,064,235
Granted Patent B2
US 11,064,235 · App. 16/819,865 · Granted Jul 13, 2021

Systems and methods for encoding video content

Inventors: William David Amidei (San Diego, CA); Abhishek Shivadas (San Diego, CA); Kevin Dean-Yong Wu (San Diego, CA)
Assignee: DIVX, LLC
H04N21/2662H04L65/4092H04L65/602H04L65/607H04N21/23439H04N21/26258H04N21/6379H04N21/8456H04L65/608H04L67/02H04N21/234363H04N21/234372H04N21/234381H04N21/6125
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,064,235
App. No.
16/819,865
Granted
Jul 13, 2021
Kind
B2
Abstract

Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.

Claims (37)

1. A method for encoding a source stream of video content using a plurality of encoders in an encoding system, the method comprising:

receiving a plurality of portions of the source stream of video content in the plurality of encoders in the encoding system,

wherein the plurality of encoders includes N encoders, where N is an integer, and

wherein the plurality of portions of the source streams includes greater than N portions;

assigning each of the N encoders an Mth encoding order starting from M=1 to M=N in steps of 1;

assigning each of the portions a sequential integer value starting from 1;

causing each of the encoders to encode portions assigned values equal to their assigned M and every M+N×Y thereafter, where Y is sequential integers starting at 1;

storing each portion of the encoded source stream in a container for the source stream; and

generating index information for the encoded source stream.

2. The method of claim 1 , wherein the encoded source stream comprises a particular set of parameters.

3. The method of claim 2 , wherein the particular set of parameters comprises a particular maximum bitrate.

4. The method of claim 2 , wherein the particular set of parameters comprises at least one selected from the group consisting of aspect ratio, frame rate, and resolution.

5. The method of claim 1 , further comprising causing each encoder to encode portions multiple times, wherein the encoded portions make up a plurality of alternative encoded streams each having a different set of parameters.

6. The method of claim 5 , wherein at least two alternative encoded streams have a same maximum bitrate and at least one other parameter that is different.

7. The method of claim 5 , further comprising generating index information for each of the plurality of alternative encoded streams.

8. The method of claim 1 , wherein the index information is stored in a manifest.

9. The method of claim 8 , wherein the manifest further includes information indicating when at least one of the encoded portions is available for streaming.

10. An encoding system for encoding a source stream of video content comprising:

at least one processor;

memory accessible by the at least one processor; and

instructions stored in the memory that when read by the at least one processor direct the processor to:

receive a plurality of portions of a source stream of video content in a plurality of encoders,

wherein the plurality of encoders includes N encoders where N is an integer;

wherein the plurality of portions of the source streams includes greater than N portions;

assign each of the N encoders an Mth encoding order starting from M=1 to M=N in steps of 1;

assign each of the portions a sequential integer value starting from 1;

cause each of the encoders to encode portions assigned values equal to their assigned M and every M+N×Y thereafter, where Y is sequential integers starting at 1;

store the portion of the plurality of alternative streams encoded in a container for the source stream; and

generate index information for the encoded source stream.

11. The system of claim 10 , wherein the encoded source stream comprises a particular set of parameters.

12. The system of claim 11 , wherein the particular set of parameters comprises a particular maximum bitrate.

13. The system of claim 11 , wherein the particular set of parameters comprise at least one selected from the group consisting of aspect ratio, frame rate, and resolution.

14. The system of claim 10 , wherein the instructions further direct the processor to cause each encoder to encode portions multiple times, wherein the encoded portions make up a plurality of alternative encoded streams each having a different set of parameters.

15. The system of claim 14 , wherein at least two alternative encoded streams have a same maximum bitrate and at least one other parameter that is different.

16. The system of claim 14 , wherein the instructions further direct the processor to generate index information for each of the plurality of alternative streams.

17. The system of claim 10 , wherein the index information is stored in a manifest.

18. The system of claim 17 , the manifest further includes information indicating when at least one of the encoded portions is available for streaming.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: AMIDEI, WILLIAM DAVID; SHIVADAS, ABHISHEK; WU, KEVIN DEAN-YONG
To: SONIC IP, INC.
Reel/Frame 053864/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 053864/0733 →
CHANGE OF NAME Recorded Sep 23, 2020
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 053864/0752 →
Continuity (3)
Continuation 16208210 · Dec 3, 2018
Continuation 15183562 · Jun 15, 2016
Related Publication 20200221152A1 · Jul 9, 2020