Multi-Channel Video Encoding With Complexity-Based Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video streaming systems face challenges in efficiently allocating resources for encoding multiple video channels, leading to degraded video quality, under-utilization of resources, and other undesirable outcomes due to complex trade-offs between density and quality.
Innovation Solution
A computer-implemented method and system that computes complexity metrics and encoding budget metrics for each frame of multiple video channels, determining resource allocations to minimize encoding distortion, and selecting encoding configurations based on these metrics to optimize resource usage across channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more video channels are processed on a given service platform to increase density, then capital and operating expenditures are reduced, but video quality deteriorates due to resource constraints
Solution Approach 1:
The system applies different quality levels and encoding parameters to different video channels based on their individual complexity metrics. Each channel receives a customized encoding budget that reflects its specific content characteristics, allowing high-quality encoding for complex channels while using more efficient encoding for simpler channels, thus maintaining overall quality while increasing density
Solution Approach 2:
The encoding system dynamically adjusts resource allocation and encoding parameters for each frame based on real-time complexity metrics. The encoding budget is not fixed but adapts frame-by-frame according to the actual content complexity, enabling flexible resource distribution that maintains video quality while maximizing the number of channels that can be processed
2Device complexity
If encoding resources are allocated uniformly across all video channels, then resource management is simplified, but resource utilization becomes inefficient due to varying content complexity
Solution Approach 1:
The system changes the encoding parameters (bitrate, resolution, complexity metrics) based on the specific characteristics of each video channel and frame. By adjusting these parameters dynamically, the system optimizes resource utilization for each channel's content complexity without requiring complex manual resource management, as the adjustments are automated based on measured parameters
3Manufacturing precision
If complex encoding algorithms are used to maintain video quality, then video quality is preserved, but processing time increases and productivity decreases
Solution Approach 1:
The system applies full-complexity encoding algorithms only when necessary, based on the measured complexity metrics of each frame and channel. For frames or channels with lower complexity, simplified encoding algorithms are used, avoiding the overhead of complex processing when it is not needed. This selective application of encoding complexity maintains video quality where required while maximizing overall encoding throughput
Data Source
AI summary
Disclosed herein are systems, devices, and methods for encoding a plurality of video channels in a shared resource environment. For a plurality of frames in the video channels, complexity metrics are computed, each estimating content complexity of a corresponding frame; and encoding budget metrics are computed, each defining an allocation of bits for encoding the corresponding frame. The encoding budget metrics of a particular video channel are computed to reduce anticipated encoding distortion in the particular video channel. A resource allocation is determined that allocates a portion of total resources of the shared resource environment for encoding each of the video channels. The resource allocation is determined to reduce anticipated encoding distortion across the video channels based on the encoding budgets and the complexity metrics. Encoding configurations are selected based on the resource allocation, each for encoding a corresponding video channel.


