Systems and Methods for Encoding Alternative Streams of Video for Playback on Playback Devices having Predetermined Display Aspect Ratios and Network Connection Maximum Data Rates
US-2017041604-A1 · Feb 9, 2017 · US
US10148989B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10148989-B2 |
| Application number | US-201615183562-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 15, 2016 |
| Priority date | Jun 15, 2016 |
| Publication date | Dec 4, 2018 |
| Grant date | Dec 4, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed: 1. A method for encoding a plurality of alternative streams of video content from a source stream of video content using a plurality of encoders in an encoding system, the method comprising: receiving a plurality of portions of a source stream of video content in each of a plurality of encoders in the encoding system; wherein the plurality of encoders include N encoders where N is an integer; wherein the plurality of portions of the source streams includes greater than N portions; assigning each of the N encoders an Mth encoding order where M is an integer from 1 to N; determining the Mth portion of the source stream received in each Mth one of the N encoders and every Nth portion received thereafter from the source stream as a set of portions of the source stream for the Mth encoder to encode in each of the N encoders; encoding a portion of the plurality of alternative streams in each of the plurality of encoders using the determined sets of portions of the source stream received in each of the plurality of encoders; storing the portion of the plurality of alternative streams encoded by each particular one of the plurality of encoders in a container for the particular one of the encoders; generating index information for the portion of the alternative streams encoded by each particular one of the plurality of encoders; and storing the index information in a manifest for the portion of the plurality of alternative streams generated by each of the particular encoders in a manifest of the particular one of the plurality of encoders. 2. The method of claim 1 wherein the portion of the alternative streams encoded by each of the plurality of encoders is one of the plurality of alternative streams and the method further comprises: receiving each of the plurality of portions of the source stream in each of the plurality of encoders; encoding a segment of an alternative stream from each of the plurality of portions of the source streams to generate a plurality of segments of the alternative stream in each of the plurality of encoders where each particular alternative stream generated by each particular one of the plurality of encoders has a particular set of parameters; generating index information for each of the plurality of segments generated by a particular one of the plurality of encoders in each particular one of the plurality of encoders; and storing the index information generated by each particular one of the plurality of encoders in a manifest for the particular one of the plurality of encoders to generate a plurality of manifests. 3. The method of claim 2 wherein an alternative stream from the plurality of alterative streams generated by a particular one of the plurality of encoders has a particular maximum bitrate as a parameter. 4. The method of claim 2 wherein at least two alternative streams from the plurality of alternative streams generated by different ones of the plurality of encoders have a same maximum bitrate and at least one other parameter that is different. 5. The method of claim 4 wherein the at least one other parameter is selected from a group of parameters consisting of aspect ratio, frame rate, and resolution. 6. The method of claim 1 : wherein the encoding of a portion includes encoding each portion in the set of portions from the source stream of the Mth encoder into plurality of segments where each of the plurality of segments is a segment in one of the plurality of alternative streams in each of the N encoders; wherein the generating of the index information includes generating index information for each of the plurality of segments generated for each of the portions from the set of portions of the Mth encoder in each of the N encoders; and wherein the storing of the index information includes storing the index information for each of the plurality of segments generated from each portion in the set of portions by the Mth encoder in a manifest for the Mth encoder using each of the N encoders. 7. The method of claim 6 further comprising discarding each of the portions from the plurality of portions that is not in the set of portions for the Mth encoder in each of the N encoders. 8. An encoding system for encoding a plurality of alternative streams of video content from 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: provide a plurality of encoders where each of the plurality of encoders is directed to: receive a plurality of portions of a source stream of video content; wherein the plurality of encoders include 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 where M is an integer from 1 to N; determine the Mth portion of the source stream received in each Mth one of the N encoders and every Nth portion received thereafter from the source stream as a set of portions of the source stream for the Mth encoder to encode in each of the N encoders; encode a portion of the plurality of alternative streams using the determine sets of portions of the source stream; store the portion of the plurality of alternative streams encoded in a container particular to the encoder; generate index information for the portion of the alternative streams encoded by the encoder; and store the index information in a manifest for the portion of the plurality of alternative streams generated by the encoder. 9. The system of claim 8 wherein the portion of the alternative streams encoded by each of the plurality of encoders is one of the plurality of alternative streams and each of the plurality of encoders is further directed to: receive each of the plurality of portions of the source stream; encode a segment of a particular alternative stream from each of the plurality of portions of the source streams to generate a plurality of segments of the alternative stream where each particular alternative stream has particular parameters; generate index information for each of the plurality of segments generated; and store the index information generated in a manifest for the particular one of the plurality of encoders. 10. The system of claim 9 wherein the alternative stream from the plurality of streams generated by a particular one of the plurality of encoders has a particular maximum bitrate as a parameter. 11. The system of claim 9 wherein at least two of the alternative streams from the plurality of alternative streams generated by different ones of the plurality of encoders have a same maximum bitrate and at least one other parameter that is different. 12. The system of claim 11 wherein the at least one other parameter is selected from a group of parameters consisting of aspect ratio, frame rate, and resolution. 13. The system of claim 8 wherein each of the N encoders is further directed to: encode each portion in the set of portions from the source stream of the into plurality of segments where each of the plurality of segments is a segment in one of the plurality of alternative streams; generate index information for each of the plurality of segments generated for each of the portions from the set of portions of the Mth encoder; and store the index information for each of the plurality of segments generated from each portion in the set of portions in a manifest for the Mth encoder. 14. The system of claim 13 wherein each of the N encoders is further directed to disca
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
for performing aspect ratio conversion · CPC title
directed to encoder {, e.g. for requesting a lower encoding rate} · CPC title
for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40) · CPC title
involving transmission via Internet (transmission by internet of broadcast information H04H60/82) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.