Parallel Video Encoding via Complexity-Based Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding methods that encode different portions of a video file in parallel often result in lower quality encodings since individual encoders cannot account for the complexity of the source video as a whole, leading to inefficient allocation of encoding bandwidth and delayed content release.

Innovation Solution

A method that generates complexity data for a source video file, divides it into chunks based on relative complexity, and allocates encoding bandwidth accordingly, allowing each chunk to be encoded at a rate that reflects its complexity relative to other chunks, enabling higher-quality encoding by accounting for complexities across the entire video.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video encoding is performed in parallel on multiple portions separately, then encoding speed and productivity are improved, but encoding quality deteriorates because individual encoders cannot account for overall video complexity

Engineering Contradiction:
Improveencoding speedVSAvoidencoding quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The video is divided into multiple portions that can be encoded in parallel, improving productivity. However, a central controller coordinates these segments by analyzing overall complexity to allocate bandwidth appropriately, ensuring quality is maintained despite segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A central controller receives complexity information from all video portions, analyzes the overall video complexity, and provides feedback in the form of bandwidth allocation decisions to each encoder. This feedback loop ensures that individual encoders can produce high-quality output by understanding their portion's complexity relative to the whole video.

Inventive Principle:
Principle #23Feedback

2Device complexity

If equal encoding bandwidth is allocated to all video portions, then encoding process is simplified, but encoding quality deteriorates because complexity variations across different portions are not accounted for

Engineering Contradiction:
Improveencoding process complexityVSAvoidencoding quality
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

Instead of applying uniform encoding bandwidth across all video portions, the system allocates bandwidth locally to each portion based on its specific complexity characteristics. The central controller analyzes complexity metrics for each portion and distributes encoding resources accordingly, ensuring that complex portions receive more bandwidth while simpler portions receive less, thereby optimizing overall encoding quality.

Inventive Principle:
Principle #3Local quality

3Productivity

If complexity analysis is performed only within individual video portions during parallel encoding, then encoding speed is maintained, but encoding quality deteriorates because the most complex frames may be relatively simple in the context of the entire source video

Engineering Contradiction:
Improveparallel encoding speedVSAvoidcomplexity assessment accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system merges the complexity analysis function into a central controller that processes information from all video portions simultaneously. This centralization allows the system to maintain parallel encoding speed while achieving accurate overall complexity assessment, as the controller can compare complexity metrics across all portions and make informed bandwidth allocation decisions based on the complete picture.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9398301B2Parallel video encoding based on complexity analysis
Publication Date: 2016.07.19 NETFLIX INC
  • US9398301B2 patent drawing
  • US9398301B2 patent drawing
  • US9398301B2 patent drawing

AI summary

Embodiments of the invention provide techniques for encoding chunks of a video file in parallel. Embodiments may divide a source video file into a plurality of chunks, and may encode each chunk at a rate based upon complexity data associated with the chunk. The encoded chunks may then be reassembled to produce an encoded video file.