Adaptive Video Streaming Quality Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video streaming technologies face challenges in delivering video content with constant quality over networks with non-deterministic bandwidth availability, leading to sub-optimal user experience and inefficient bandwidth usage, especially when switching between different quality levels.
Innovation Solution
A method for determining the optimal quality level of a video stream by calculating the intersection time and number of bits delivered, using pre-calculated data to ensure timely delivery and maximize quality, while minimizing unnecessary switching between quality levels through an improved interpolation method.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If video is encoded at constant bit rate, then bandwidth reservation is required, but this is expensive to provide
Solution Approach 1:
The patent applies dynamics by transitioning from static constant bit rate encoding to dynamic adaptive bit rate encoding. The system dynamically adjusts the bit rate based on actual network conditions and video content characteristics, allowing the same infrastructure to serve multiple quality levels without requiring reserved bandwidth for each quality level.
2Productivity
If constant bit rate encoding is used, then video has to be coded at time varying quality, but this is sub-optimal to the user who would prefer constant quality
Solution Approach 1:
The system dynamically adjusts quality levels based on network conditions while maintaining constant perceived quality through intelligent bit rate allocation. The adaptive mechanism ensures that video content is encoded at the highest possible quality that can be delivered over the available network bandwidth, rather than forcing time-varying quality compromises.
Solution Approach 2:
The patent changes the encoding parameters dynamically by selecting from multiple pre-computed quality levels (e.g., 720p at 4Mbps, 1080p at 8Mbps) based on network conditions. This allows the system to maintain consistent quality perception while adapting to varying network throughput, resolving the contradiction between encoding efficiency and user experience.
3Device complexity
If adaptive video delivery using variable bit rate encoding is used, then bandwidth reservation is removed, but it is necessary to determine the minimum bit rate required to deliver the remainder of the video content at each quality level
Solution Approach 1:
The patent applies preliminary action by pre-computing the cumulative bit rate requirements for all video content at multiple quality levels before actual delivery begins. The system calculates and stores the total bits required for each quality level (e.g., 720p: 4Mbps, 1080p: 8Mbps) so that during live streaming, the system can quickly determine the minimum bit rate needed without performing complex real-time calculations.
Solution Approach 2:
The system pre-calculates bit rate requirements for multiple quality levels (partial action) and stores them as reference data. During actual delivery, the system uses these pre-computed values to quickly determine the minimum bit rate needed, avoiding the need for exhaustive real-time analysis of all possible quality levels and their bit rate requirements.
4Speed
If video data is delivered as fast as possible, then quality level can be maximized, but all video data must be delivered over the network in time for it to be decoded and displayed without interruption
Solution Approach 1:
The system pre-calculates the cumulative bit rate requirements and storage needs for all video content at each quality level before delivery begins. This preliminary computation allows the system to determine the exact bit rate threshold needed for continuous playback without interruptions, ensuring that delivery speed can be optimized while maintaining playback reliability.
Solution Approach 2:
The patent implements feedback mechanisms where the system continuously monitors actual network throughput and compares it against the pre-computed minimum bit rate requirements. Based on this feedback, the system dynamically adjusts the selected quality level to ensure that delivery speed remains high enough for optimal quality while maintaining sufficient buffer levels to prevent playback interruptions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The network contains one or more network based video servers connected to one or more video receivers over a shared network. Multiple pieces of video content are each encoded at a number of constant quality levels and stored on one or more of the network based servers. In response to requests from a receiver, video content is selected on a server and delivered over the shared network to the receiver. The system selects the quality level of the stream to deliver based on characteristics of the video stream currently being delivered, and the number of bits already buffered at the video receiver and the available network throughput. The aim is to select the video quality being delivered according to the available network throughput so as maximise the quality while ensuring that all video data is delivered over the network in time for it to be decoded and displayed without interruption.