Outer Rim Archives
Archives · 2021 · 20210076045

Application (pre-grant publication)

CONTENT ADAPTIVE BOUNDARY PLACEMENT FOR DISTRIBUTED ENCODES

Number
20210076045
Published
2021-03-11
Filed
2020-03-30
Assignee
Disney Enterprises, Inc.
Inventors
XUE; Yuanyi, VARIS DOGGETT; Erika Elizabeth, SCHROERS; Christopher R., ZIMMERMAN; James D., MCPHILLEN; Jared P., LABROZZI; Scott C.
CPC
H04N19/115; H04N19/119; H04N19/14; H04N19/177; H04N19/40; H04N19/436
Verdict
Set aside distributed video encoding, codec plumbing
Source
Google Patents · FreePatentsOnline

Abstract

Embodiments herein describe dividing a video into chunks with varying lengths based on the content within those frames. In contrast, dividing the video at a fix interval is prone to generating chunks starting at the middle of hard to encode areas, which can lead to a loss of encoder rate-control efficiency and produce visual quality gaps at the beginning of such chunks. The embodiments herein can identify a set of boundaries for dividing the video into chunks having similar lengths and with little to no impact on visual quality. In one embodiment, the boundaries of the chunks are placed at locations (or frames) that are far from the complex (or hard to encode) areas of the video. To do so, the system evaluates the video using various complexity metrics to identify the complex areas that require more bits to encode relative to less complex areas.

Background

BACKGROUND

A video stream includes a series of video frames. A set of frames may be referred to as a segment. Segments are generally of equal length, but there may be exceptions. Segments denote, for example, places where the video can be interrupted (e.g., to insert a commercial).

Chunk-based video encoding involves dividing the frames in a video into groups called “chunks” that may be encoded (i.e., compressed) by a single transcoder, or separately by multiple transcoders (i.e. “separate nodes”) in parallel. A basic approach is to divide a video into chunks having equal length and then encode the chunks in parallel using different transcoders.

Claims

1. A method, comprising: evaluating frames in a received video to identify a complexity metric, wherein the complexity metric represents the complexity of encoding the frames in the received video; identifying boundaries in the received video to form a plurality of chunks based on the complexity metric; encoding the plurality of chunks in parallel; and combining the encoded chunks to form an encoded video. || 11. A computer readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising: evaluating frames in a received video to identify a complexity metric, wherein the complexity metric represents the complexity of encoding the frames in the received video; identifying boundaries in the received video to form a plurality of chunks based on the complexity metric; encoding the plurality of chunks in parallel; and combining the encoded chunks to form an encoded video. || 16. A system, comprising: a processor; and memory configured to store an application, wherein, when executed by the processor, the application performs an operation comprising: evaluating frames in a received video to identify a complexity metric, wherein the complexity metric represents the complexity of encoding the frames in the received video; identifying boundaries in the received video to form a plurality of chunks based on the complexity metric; encoding the plurality of chunks in parallel; and combining the encoded chunks to form an encoded video.