Segmented parallel encoding with frame-aware, variable-size chunking
US-2016337675-A1 · Nov 17, 2016 · US
US9769234B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9769234-B2 |
| Application number | US-201514627649-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 20, 2015 |
| Priority date | Feb 20, 2015 |
| Publication date | Sep 19, 2017 |
| Grant date | Sep 19, 2017 |
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, methods and articles of manufacture for transcoding media content. Embodiments include receiving a request to perform a transcoding operation on a first instance of media content. The first instance of media content is analyzed to determine metadata describing the first instance of media content. Embodiments determine a set of currently available system resources for use in performing the transcoding operation on the first instance of media content. Additionally, embodiments divide the transcoding operation into a plurality of sub-operations based on the determined metadata and the determined set of currently available system resources. Each of the plurality of sub-operations corresponds to a respective portion of the first instance of media content. An execution of the plurality of sub-operations is initiated to produce a plurality of encoded fragments. Embodiments then combine the plurality of encoded fragments to produce an encoded instance of media content.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving a request to perform a transcoding operation on a first instance of media content; analyzing the first instance of media content to determine metadata describing the first instance of media content; determining a set of currently available system resources for use in performing the transcoding operation on the first instance of media content; dividing the transcoding operation into a plurality of sub-operations based on the determined metadata and the determined set of currently available system resources, wherein each of the plurality of sub-operations corresponds to a respective portion of the first instance of media content; initiating an execution of the plurality of sub-operations to produce a plurality of encoded fragments; and combining the plurality of encoded fragments to produce an encoded instance of media content. 2. The method of claim 1 , further comprising: determining a plurality of job queues available for processing transcoding sub-operations, and wherein initiating execution of the plurality of sub-operations to produce a plurality of encoded fragments further comprises: assigning the plurality of sub-operations to the determined plurality of job queues. 3. The method of claim 2 , further comprising: retrieving historical information captured during execution of one or more previous transcoding operations, and wherein determining the plurality of job queues available for processing transcoding sub-operations further comprises: selecting the plurality of job queues as a subset of available job queues, based on performance of the plurality of job queues in executing the one or more previous transcoding operations as specified by the retrieved historical information. 4. The method of claim 2 , where there are fewer job queues in the plurality of job queues than sub-operations in the plurality of sub-operations, and wherein assigning the plurality of sub-operations to the determined plurality of job queues further comprises: assigning a portion of the plurality of sub-operations to the plurality of job queues, wherein a first sub-operation of the plurality of sub-operations is not assigned; monitoring to determine when an additional job queue becomes available; and upon determining the additional job queue has become available, assigning the first sub-operation to the additional job queue for execution. 5. The method of claim 2 , further comprising: storing performance data describing execution of the plurality of sub-operations by the plurality of job queues, for use in optimizing subsequent transcoding operations. 6. The method of claim 2 , wherein each of the plurality of job queues comprises a respective virtual machine instance, and further comprising: selecting a transcoding profile from a plurality of distinct transcoding profiles for use in performing the transcoding operation for the first instance of the media content; determining an amount of system resources for each of a plurality of virtual machine instances, based on the selected transcoding profile; and deploying each of the plurality of virtual machine instances with the respective amount of system resources. 7. The method of claim 1 , wherein dividing the transcoding operation into a plurality of sub-operations based on the determined metadata and the determined set of currently available system resources, wherein each of the plurality of sub-operations corresponds to a respective portion of the first instance of media content further comprises: generating an optimized transcoding schedule for transcoding the first instance of media content, from a first video encoding format to a second video encoding format, based on generated metadata describing the first instance of media content, wherein initiating an execution of the plurality of sub-operations using the configured plurality of virtual machine instances to produce a plurality of encoded fragments is performed according to the optimized transcoding schedule. 8. The method of claim 7 , wherein generating an optimized transcoding schedule for transcoding the first instance of media content, from a first video encoding format to a second video encoding format, based on generated metadata describing the first instance of media content, further comprises: determining a plurality of shots within the first instance of media content; and analyzing the first instance of media content to generate metadata describing the media content, wherein the generated metadata includes, for each of the plurality of shots, data describing a plurality of frames within the respective shot. 9. The method of claim 8 , wherein analyzing the first instance of media content further comprises: determining, for each of the plurality of shots, a measure of motion within the plurality of frames within the respective shot, and wherein the generated metadata includes the determined measure of motion for each of the plurality of frames. 10. A non-transitory computer-readable medium containing computer program code that, when executed, performs an operation comprising: receiving a request to perform a transcoding operation on a first instance of media content; analyzing the first instance of media content to determine metadata describing the first instance of media content; determining a set of currently available system resources for use in performing the transcoding operation on the first instance of media content; dividing the transcoding operation into a plurality of sub-operations based on the determined metadata and the determined set of currently available system resources, wherein each of the plurality of sub-operations corresponds to a respective portion of the first instance of media content; initiating an execution of the plurality of sub-operations to produce a plurality of encoded fragments; and combining the plurality of encoded fragments to produce an encoded instance of media content. 11. The non-transitory computer-readable medium of claim 10 , the operation further comprising: determining a plurality of job queues available for processing transcoding sub-operations, and wherein initiating execution of the plurality of sub-operations to produce a plurality of encoded fragments further comprises: assigning the plurality of sub-operations to the determined plurality of job queues. 12. The non-transitory computer-readable medium of claim 11 , the operation further comprising: retrieving historical information captured during execution of one or more previous transcoding operations, and wherein determining the plurality of job queues available for processing transcoding sub-operations further comprises: selecting the plurality of job queues as a subset of available job queues, based on performance of the plurality of job queues in executing the one or more previous transcoding operations as specified by the retrieved historical information. 13. The non-transitory computer-readable medium of claim 11 , where there are fewer job queues in the plurality of job queues than sub-operations in the plurality of sub-operations, and wherein assigning the plurality of sub-operations to the determined plurality of job queues further comprises: assigning a portion of the plurality of sub-operations to the plurality of job queues, wherein a first sub-operation of the plurality of sub-operations is not assigned; monitoring to determine when an additional job queue becomes available; and upon determining the additional job queue has become available, assigning the first sub-operation to the additional job queue for execution.
Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence) · 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
Electricity · mapped topic
at the source (reformatting of additional data in video distribution servers H04N21/2355) · CPC title
for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.