Segmented parallel encoding with frame-aware, variable-size chunking

US10595059B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10595059-B2
Application numberUS-201815969563-A
CountryUS
Kind codeB2
Filing dateMay 2, 2018
Priority dateNov 6, 2011
Publication dateMar 17, 2020
Grant dateMar 17, 2020

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.

The subject matter herein generally relates to transcoding content, typically audio/video files though not limited to such, from one version to another in preparation for online streaming or other delivery to end users. Such transcoding may involve converting from one format to another (e.g., changing codecs or container formats), or creating multiple versions of an original source file in different bitrates, frame-sizes, or otherwise, to support distribution to a wide array of devices and to utilize performance-enhancing technologies like adaptive bitrate streaming. A transcoding platform is described herein that, in certain embodiments, leverages distributed computing techniques to transcode content in parallel across a platform of machines that are preferably idle or low-utilization resources of a content delivery network. The transcoding system also utilizes, in certain embodiments, improved techniques for segmenting the original source file so as to enable different segments to be sent to different machines for parallel transcodes.

First claim

Opening claim text (preview).

The invention claimed is: 1. A distributed computing system for transcoding content in parallel on a plurality of machines coupled via a computer network, the system comprising: a first machine programmed to assist in transcoding and running a first transcoding process, the first machine comprising circuitry including one or more processors and a memory device, and the memory device storing computer program instructions that, upon execution on the one or more processors, provide the first transcoding process; a second machine programmed to assist in transcoding and running a second transcoding process, the second machine comprising circuitry including one or more processors and a memory device, and the memory device storing computer program instructions that, upon execution on the one or more processors, provide the second transcoding process; a third machine programmed to manage and coordinate transcoding processes, the third machine comprising circuitry including one or more processors and a memory device, and the memory device storing computer program instructions that, upon execution on the one or more processors, provide the management and coordination of transcoding processes; wherein, upon execution of the instructions, the third machine receives a request to perform a transcoding process, the request comprising a request to convert a file from a first version to a second version, the first version being an original version of the file and the second version being an output file of the requested transcoding process; wherein, upon execution of the instructions, the third machine receives the first version of the file, the file comprising a first plurality of video frames organized into a plurality of groups-of-pictures (GoPs), each of the first plurality of GoPs beginning with an I-frame and further including at least one of: a B frame and a P frame; wherein the requested transcoding process comprises requesting conversion of the first version of the file to a second version of the file that comprises a second plurality of GoPs, each of the second plurality of GoPs beginning with an I-frame and further including at least one of: a B frame and a P frame; wherein, upon execution of the instructions, the third machine: creates a first segment from the received first version of the file, the first segment including all frames in a first particular GoP therein and a number of frames in the file following the particular GoP sufficient to reach a predetermined number of frames in the first segment, and sends the first segment to the first machine; creates a second segment from the received first version of the file, the second segment comprising all frames from a second particular GoP therein; sends the second segment to the second machine; the first machine comprising the one or more processors and the memory device thereof, the memory device storing computer program instructions that, upon execution by the one or more processors, cause the first machine to execute the first transcoding process to receive the first segment from the third machine, and from the first segment create a particular one of the second plurality of GoPs for the second version of the file; the second machine comprising the one or more processors and the memory device thereof, the memory device storing computer program instructions that, upon execution by the one or more processors, cause the second machine to execute the second transcoding process to receive the second segment from the third machine, and from the second segment create another one of the second plurality of GoPs for the second version of the file, distinct from the particular one of the second GoPs created by the first machine. 2. The distributed computing system of claim 1 , wherein the requested transcoding process comprises changing one or more characteristics of the file, the one or more characteristics comprising any of: a codec used to encode data in the file, a container format of the file, one or more encoding parameters, container format parameters, a bit-rate of encoded data in a file, an image resolution for data in a file, a frame size for data in a file, an aspect ratio for data in a file, a compression setting used to encode data in a file, an audio setting, a color space, and, an interlacing characteristic for data in a file. 3. A method performed in a distributed computing system for transcoding content in parallel on a plurality of machines coupled via a computer network, the distributed computing system comprising a first machine programmed to assist in transcoding and running a first transcoding process, the first machine comprising circuitry including one or more processors and a memory device, and the memory device storing computer program instructions, the one or more processors executing the computer program instructions and providing the first transcoding process, a second machine programmed to assist in transcoding and running a second transcoding process, the second machine comprising circuitry including one or more processors and a memory device, and the memory device storing computer program instructions, the one or more processors executing the computer program instructions and providing the second transcoding process, and a third machine programmed to manage and coordinate the transcoding process, the third machine comprising circuitry including one or more processors and a memory device, the memory device storing computer program instructions, the one or more processors executing the computer program instructions and operating the third machine, the method comprising: upon execution of the computer program instructions of the third machine, the third machine: receiving a request to perform a transcoding process, the request comprising a request to convert a file from a first version to a second version, the first version being the original version of the file and the second version being the output file of the requested transcoding process; receiving the first version of the file, the file comprising a first plurality of video frames organized into a plurality of groups-of-pictures (GoPs), each of the first plurality of GoPs beginning with an I-frame and further including at least one of: a B frame and a P frame; wherein the requested transcoding process comprises requesting conversion of the first version of the file to a second version of the file that comprises a second plurality of GoPs, each of the second plurality of GoPs beginning with an I-frame and further including at least one of: a B frame and a P frame; creating a first segment from the received first version of the file, the first segment including all frames in a first particular GoP therein and a number of frames in the file following the particular GoP sufficient to reach a predetermined number of frames in the first segment, and sending the first segment to the first machine; creating a second segment from the received first version of the file, the second segment comprising all frames from a second particular GoP therein; sending the second segment to the second machine; upon execution of the computer program instructions of the first machine, the first machine receiving the first segment from the third machine, and from the first segment creating a particular one of the second plurality of GoPs for the second version of the file; upon execution of the computer program instructions of the second machine, the second machine receiving the second segment from the third machine, and from the second segment creating another one of the second plurality of GoPs for the second version of the file, distinct from the particular one of the second plurality of GoPs created by the first machine. 4. The method of claim 3 , wherein the requested transcoding process comprises changing one or more char

Assignees

Inventors

Classifications

  • by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo (conversion of standards in analog television systems H04N7/01) · 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

  • by decomposing the content in the time domain, e.g. in time segments · CPC title

  • the unit being a group of pictures [GOP] · CPC title

  • Electricity · mapped topic

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 US10595059B2 cover?
The subject matter herein generally relates to transcoding content, typically audio/video files though not limited to such, from one version to another in preparation for online streaming or other delivery to end users. Such transcoding may involve converting from one format to another (e.g., changing codecs or container formats), or creating multiple versions of an original source file in diff…
Who is the assignee on this patent?
Akamai Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/234309. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 17 2020 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).