Dynamic Encoder-Time Scaling for Adaptive Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing content delivery systems face challenges in optimizing video encoding for varying bitrates and resolutions, leading to suboptimal quality and increased encoding complexity, especially when dealing with content of different complexities within a single video file.
Innovation Solution
A dynamic encoder-time scaling system that determines optimal resolutions for each fragment of a video file based on its encoding complexity, generating multiple video representations for a target bitrate, allowing clients to switch between resolutions for improved quality and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a single resolution is used for all fragments in a video file, then device complexity is reduced, but manufacturing precision deteriorates because content complexity varies across different fragments
Solution Approach 1:
The video file is divided into multiple fragments, and each fragment is encoded at a different resolution based on its specific content complexity. This segmentation allows the system to apply appropriate encoding parameters to each fragment independently, improving overall encoding quality while managing complexity through modular processing.
Solution Approach 2:
Different resolution levels are assigned to different fragments based on their local content characteristics. Fragments with high motion or complexity are encoded at lower resolutions, while simpler fragments maintain higher resolutions. This local quality adjustment optimizes the overall video quality without uniformly increasing encoding complexity across the entire video file.
2Adaptability or versatility
If multiple video representations are generated for different resolutions, then adaptability improves, but device complexity increases due to additional encoding processing
Solution Approach 1:
The encoding system dynamically adjusts resolution based on content complexity analysis performed during the encoding process. This dynamic adaptation allows the system to generate multiple video representations with varying resolutions without requiring manual configuration, thereby improving client adaptability while automating the complexity management through content-driven decision making.
3Manufacturing precision
If higher resolution encoding is applied to all fragments, then manufacturing precision improves, but productivity deteriorates due to increased encoding time
Solution Approach 1:
The encoding resolution parameter is changed dynamically based on the measured content complexity of each fragment. Instead of applying a uniform high resolution to all fragments, the system adjusts the resolution parameter locally according to content needs, thereby maintaining video quality where necessary while reducing encoding time for less demanding segments, thus improving overall productivity.
Data Source
AI summary
Techniques for a dynamic encoder-time scaling service for live and on-demand adaptive streaming are described. As one example, a computer-implemented method includes determining a first resolution for a first fragment of a video file based on a first encoding complexity of the first fragment at a bitrate, encoding the first fragment at the first resolution for the bitrate to generate an encoded first fragment, determining a second different resolution for a second fragment of the video file based on a second different encoding complexity of the second fragment at the bitrate, encoding the second fragment at the second different resolution for the bitrate to generate an encoded second fragment, receiving a request for a manifest for the video file from a client device, generating the manifest for the client device that identifies a single video representation for the bitrate that comprises the encoded first fragment and the encoded second fragment, and sending the manifest to the client device.


