Adaptive Streaming Buffer Rate Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current buffering techniques in streaming data applications, particularly in mobile networks, result in prolonged buffering times during session start-up and channel zapping, leading to a poor user experience and hindering the adoption of video streaming services.
Innovation Solution
A method that involves buffering streaming data in a terminal device, where the rendering of data begins at a lower rate than the server data rate, with the rate being adapted based on the terminal buffer filling, using techniques such as resampling and audio time stretching to minimize noticeable artifacts and reduce buffering latency to about 2 seconds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If buffering is used to handle network rate variations, then reliability of media playback is improved, but loss of time (buffering latency) increases
Solution Approach 1:
The patent applies dynamics by making the buffer management adaptive rather than static. The system dynamically adjusts the playback rate based on real-time buffer level monitoring. When the buffer level drops below a threshold, the playback rate is reduced to preserve buffer content and avoid playback interruptions. This dynamic adjustment resolves the contradiction by allowing the system to maintain reliability only when necessary, rather than requiring constant large buffers that would always increase latency.
Solution Approach 2:
The patent changes the playback rate parameter dynamically based on buffer conditions. Instead of maintaining a constant playback rate, the system modifies this parameter in response to buffer level changes. This allows the system to switch between different operational states (normal playback vs. buffer-preserving playback) to balance reliability and latency requirements.
2Reliability
If a larger buffer is used to absorb network jitter, then reliability of continuous playback is improved, but loss of time (start-up and zapping delay) increases
Solution Approach 1:
The system dynamically adjusts playback rate based on real-time buffer monitoring, allowing it to function effectively with smaller buffers. When buffer levels are sufficient, normal playback speed is maintained, enabling fast start-up and zapping. When levels drop, the system slows playback to prevent buffer depletion, thus maintaining continuous playback reliability without requiring permanently large buffers.
Solution Approach 2:
The buffer management system is self-regulating, automatically adjusting playback rate in response to buffer conditions without external intervention. This self-service mechanism allows the system to maintain playback continuity while minimizing buffering delays, as the system adapts to its own buffer state rather than relying on fixed pre-configured buffer sizes.
3Reliability
If playback rate is reduced to preserve buffer content, then reliability is improved, but speed of playback decreases
Solution Approach 1:
The system employs periodic monitoring of buffer levels and adjusts playback rate in discrete steps rather than continuous variation. The playback rate is reduced only when buffer levels fall below thresholds and restored when levels are replenished. This periodic adjustment minimizes the duration and extent of speed reduction, preserving reliability only when necessary while maintaining normal playback speed during most operation.
Solution Approach 2:
The playback rate parameter is dynamically changed based on buffer conditions. The system transitions between different playback rate states (normal rate and reduced rate) in response to buffer level changes, allowing it to maintain high speed during favorable conditions while ensuring reliability when buffer levels become critical.
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A method of streaming data from a server (S) at a server data rate (Cs) via a network to at least one terminal at a terminal reception data rate (Crec) is provided. A streaming section from the server (S) is requested by the terminal (T). Streaming data is forwarded from the server (S) to the network (N) at a server data rate (Cs) and from the network (N) to the terminal (T) at a reception data rate (Crec). Data received from the network (N) is buffered in the terminal buffer (AL) for at least a first period. The rendering of the buffered data is initiated after the first period at a first rendering rate (Cren), which is lower than the server data rate (Cs) or the reception data rate (Crec). The first rendering data rate (Cren) is adapted according to the filling of the terminal buffer (AL) with received streaming data until the rendering data rate (Cren) corresponds to the server data rate (Cs).