Parallel media encoding

US2016134881A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016134881-A1
Application numberUS-201414538273-A
CountryUS
Kind codeA1
Filing dateNov 11, 2014
Priority dateNov 11, 2014
Publication dateMay 12, 2016
Grant date

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.

A system can include a controller that employs an application interface to create and manage resources for encoding or transcoding an input media asset. The resources can include a media splitter to divide the input media asset into a plurality of media blocks. A media analyzer can analyze separately media content in each of the media blocks to determine respective encoding parameters for each of the media blocks based on a complexity for each of the respective media blocks. A plurality of encoders can encode or transcode, in parallel with each other, each of the media blocks based on the determined encoding parameters to generate an encoded media file in a target format.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system comprising: a controller that employs an application interface to create and manage resources in a resource pool for encoding or transcoding an input media asset, the resources comprising: a media splitter to divide the input media asset into a plurality of media blocks; a media analyzer to analyze separately media content in each of the media blocks to determine respective encoding parameters for each of the media blocks based on a complexity for each of the plurality of media blocks; and a plurality of encoders to encode or transcode, in parallel with each other, each of the plurality of media blocks based on the determined encoding parameters to provide encoded media blocks in a target format. 2 . The system of claim 1 , wherein the resources further comprise a combiner to aggregate the encoded media blocks in a sequence to provide an aggregate encoded media file representing the input media asset. 3 . The system of claim 1 , wherein the media splitter further subdivides each of the media blocks to provide a set of subdivided media blocks based on at least one divide location specified by the controller via a splitter application interface, and the media analyzer further comprises a plurality of media analyzers, each of the plurality of media analyzers to analyze the media content in a respective one of the subdivided media blocks to determine the encoding parameters therefor based on a determined complexity the respective one of the subdivided media blocks. 4 . The system of claim 3 , wherein the encoding parameters for each of the subdivided media blocks comprises a bandwidth utilization parameter for use in encoding each respective subdivided media block. 5 . The system of claim 4 , wherein the bandwidth utilization parameter of at least one of the subdivided media blocks is different from another of the subdivided media blocks. 6 . The system of claim 1 , wherein the media analyzer comprises a plurality of media analyzers, each of the plurality of media analyzers being provisioned by the controller to analyze the media content of a respective one of the plurality of media blocks and provide respective encoding parameters and divide locations the based on media analysis thereof the respective media block. 7 . The system of claim 6 , wherein the resource pool comprises a computing cloud, wherein the controller employs the application Interface to employ a plurality of virtual machines to deploy each of the respective media analyzers, each of the respective media analyzers analyzes the media content in a given one of the media blocks in parallel to determine the encoding parameters for encoding the given one of the media blocks based on at least one of divide location and a complexity thereof. 8 . The system of claim 7 , wherein the controller employs the application interface to create another plurality of virtual machines to deploy the media splitter and commands the media splitter to subdivide a given one of the media blocks into multiple media blocks and generate splitter data that represents split locations and associated metadata for each of the multiple media blocks based on at least one divide locations specified in analysis data generated by the media analyzer for the given one of the media blocks. 9 . The system of claim 8 , wherein the controller employs the cloud application interface to create yet another plurality of virtual machines to deploy an other plurality of media analyzers based on the splitter data, each of the other plurality of media analyzers analyzing media content in a respective one of the multiple media blocks to determine the encoding parameters for encoding the given one of the media blocks based on the complexity thereof. 10 . The system of claim 1 , wherein the media analyzer further comprises a plurality of media analyzers, each of the plurality of media analyzers being provisioned by the controller to analyze the media content of a given one of the media blocks and provide split data that identifies divide locations to further divide the given one of the media blocks based on identifying scene changes and based on a determined complexity of the media content in the given one of the media blocks. 11 . The system of claim 1 , wherein the media analyzer further comprises a plurality of media analyzers, each of the plurality of media analyzers being provisioned by the controller to analyze the media content of a given one of the media blocks and to provide the encoding parameters that specify a buffer utilization level to control one of the encoding or transcoding of the given one of the media blocks. 12 . The system of claim 1 , wherein each of the plurality of encoders comprises an adaptive bitrate encoding node that encodes a given one of the plurality of media blocks to a plurality of bitrates based on the respective encoding parameters for the given one of the plurality of media blocks and according to parameters specified in an encoder request to encode or transcode the input media asset. 13 . The system of claim 1 , further comprises an audio encoder that encodes or transcodes audio in the input media asset to provide encoded output audio, the audio encoder encoding or transcoding the audio separately from video that is encoded by the plurality of encoders. 14 . A method comprising: splitting an input media asset to provide split data that identifies a plurality of media sub-assets derived from the input media asset; analyzing media content in each of the plurality of media sub-assets to provide analyzer data, the analyzer data including a divide location and encoding parameters based on at least one of a scene change location and a complexity determined for each of the plurality of media sub-assets; encoding each of the plurality of media sub-assets separately and in parallel with each other, based on the analyzer data and parameters in an encoder request to encode or transcode the input media asset, to provide a plurality of encoded media blocks; combining the plurality of encoded media blocks to provide an encoded media file in a target format for the input media asset. 15 . The method of claim 14 , further comprising: recursively looping to perform at least one of the splitting or the analyzing in response to determining that further media analysis or splitting is required such that an increasing number of the plurality of media sub-assets are provided with each recursive loop. 16 . The method of claim 15 , wherein the encoding comprises deploying a plurality of encoder nodes, each of the plurality of encoder nodes encoding a respective one of a plurality of resulting media sub-assets provided in response to terminating the recursively looping to provide the plurality of encoded media blocks. 17 . The method of claim 16 , wherein each of the plurality of encoder nodes comprises an adaptive bitrate encoding node that encodes a respective one of the plurality of resulting media sub-assets to a plurality of bitrates based on the respective encoding parameters for the given one of the plurality of media sub-assets and according to parameters specified in the encoder request to encode or transcode the Input media asset. 18 . The method of claim 14 , wherein the analyzing further comprises creating a plurality of media analyzer nodes to perform the analyzing in parallel, each of the plurality of media analyzer nodes providing the encoding parameters to Include a bandwidth utilization level based on the complexity computed for the media content in th

Assignees

Inventors

Classifications

  • Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks · CPC title

  • Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream · 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 US2016134881A1 cover?
A system can include a controller that employs an application interface to create and manage resources for encoding or transcoding an input media asset. The resources can include a media splitter to divide the input media asset into a plurality of media blocks. A media analyzer can analyze separately media content in each of the media blocks to determine respective encoding parameters for each …
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/436. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu May 12 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).