Systems and methods for encoding video content

US10148989B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10148989-B2
Application numberUS-201615183562-A
CountryUS
Kind codeB2
Filing dateJun 15, 2016
Priority dateJun 15, 2016
Publication dateDec 4, 2018
Grant dateDec 4, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10148989B2 cover?
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…
Who is the assignee on this patent?
Divx Llc
What technology area does this patent fall under?
Primary CPC classification H04N21/23439. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).