Methods and systems for encoding of content segments
US-2024137587-A1 · Apr 25, 2024 · US
US2016337675A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016337675-A1 |
| Application number | US-201615219064-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 25, 2016 |
| Priority date | Nov 6, 2011 |
| Publication date | Nov 17, 2016 |
| Grant date | — |
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.
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.
Opening claim text (preview).
1 .- 17 . (canceled) 18 . 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 forming one or more processors and memory holding computer program instructions to execute on the one or more processors, the execution of the computer program instructions providing the first transcoding process; a second machine programmed to assist in transcoding and running a second transcoding process, the second machine comprising circuitry forming one or more processors and memory holding computer program instructions to execute on the one or more processors, the execution of the computer program instructions providing the second transcoding process; a management machine to manage and coordinate transcoding processes, the management machine comprising circuitry forming one or more processors and memory holding computer program instructions to execute on the one or more processors; wherein, upon execution of the instructions, the management 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 management server 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 management server determines that a particular GoP, which is one of the first plurality of GoPs in the received first version of the file, is an open GoP, wherein an open GoP is a GoP ending with a B-frame, and upon said determination: creates a first segment from the received first version of the file, the first segment consisting of all frames in the particular GoP, and the I-frame that begins the GoP immediately following the particular GoP in the first version of the file, 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 in another GoP, which is another one of the first plurality of GoPs in the received first version of the file, and is distinct from the particular GoP; sends the second segment to the second machine; the first machine comprising the one or more processors and the memory thereof, the memory holding 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 management machine, and from the first segment create a particular one of the second plurality of GoPs for the second version of the file, whereby increasing transcoding speed relative to the number of encoders and reducing the encoding time; the second machine comprising the one or more processors and the memory thereof, the memory holding 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 management 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, whereby increasing transcoding speed relative to the number of encoders and reducing the encoding time. 19 . The distributed computing system of claim 18 , 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. 20 . 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 forming one or more processors and memory holding computer program instructions to execute on the one or more processors, the execution of the computer program instructions providing the first transcoding process, a second machine programmed to assist in transcoding and running a second transcoding process, the second machine comprising circuitry forming one or more processors and memory holding computer program instructions to execute on the one or more processors, the execution of the computer program instructions providing the second transcoding process, and a management machine to manage and coordinate the transcoding process, the management machine comprising circuitry forming one or more processors and memory holding computer program instructions to execute on the one or more processors, the method comprising: upon execution of the instructions of the management machine, the management 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; determining that a particular GoP, which is one of the first plurality of GoPs in the received first version of the file, is an open GoP, wherein an open GoP is a GoP ending with a B-frame, and upon said determination: creating a first segment from the received first version of the file, the first segment consisting of all frames in the particular GoP and the I-frame that begins the GoP immediately following the particular GoP in the first version of the file, 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 in another GoP, which is another one of the first plurality of GoPs in the received first version of the file, and is distinct from the particular GoP; sending the second segment to the second machine; upon execution of the instructions of the first machine, the first machine receiving the first segment from the management machine, and from the first segment creating a partic
by decomposing the content in the time domain, e.g. in time segments · 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
the unit being a group of pictures [GOP] · CPC title
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
Electricity · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.