Dual-Bitrate Video Buffering to Prevent Streaming Stalls
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing adaptive bitrate (ABR) streaming technologies struggle with rebuffering events, leading to playback stalling and a degraded viewing experience due to unpredictable network conditions, despite their ability to handle volatile bandwidth.
Innovation Solution
Implementing a dual-buffer system that simultaneously streams content at two bitrate levels, one high quality (HQ) and one low quality (LQ), allowing seamless playback to continue from the LQ stream during HQ stream rebuffering, and discarding LQ segments after HQ segments are decoded.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ABR streaming is used to handle volatile network conditions, then adaptability to bandwidth changes is improved, but playback stalling due to rebuffering still occurs
Solution Approach 1:
The system performs preliminary action by buffering content at multiple bitrate levels before playback is needed. When network conditions deteriorate, the system can immediately switch to pre-buffered lower bitrate content, preventing playback stalls without requiring real-time adaptation decisions during buffer underrun events.
Solution Approach 2:
The system applies beforehand cushioning by maintaining buffer inventories at multiple bitrate levels. This creates a cushion of pre-downloaded content that protects against network failures and rebuffering events, allowing seamless playback continuation even when network conditions become unpredictable.
2Reliability
If content is buffered at multiple bitrate levels to prevent rebuffering, then playback continuity is improved, but device complexity increases
Solution Approach 1:
The system implements self-service by automatically monitoring buffer levels and selecting appropriate bitrate content without user intervention. The buffer management system autonomously decides when to download additional content at different quality levels and when to switch between them, reducing the perceived complexity for users while maintaining robust playback continuity.
Solution Approach 2:
The system applies parameter changes by dynamically adjusting the bitrate parameter based on buffer status and network conditions. Instead of maintaining fixed complex buffer structures, the system changes the content quality parameter in response to buffer levels, simplifying the management approach while ensuring continuous playback.
3Reliability
If lower quality stream is played during rebuffering to prevent stalls, then playback continuity is improved, but video quality deteriorates
Solution Approach 1:
The system applies dynamics by making video quality adaptable rather than static. The playback quality dynamically adjusts based on real-time network conditions and buffer status, switching between higher and lower quality streams as needed. This ensures playback continuity while minimizing quality deterioration to only when absolutely necessary.
Solution Approach 2:
The system uses parameter changes by modifying the bitrate parameter in response to network conditions. When network conditions improve or buffer levels are sufficient, the system switches back to higher quality streams, temporarily using lower quality only during actual rebuffering events to maintain playback continuity.
Data Source
AI summary
Systems and methods are disclosed to mitigate stalling of streaming content due to rebuffering so that, e.g., the content consumer does not experience gaps in playback. In some embodiments, by buffering streaming content simultaneously at two bitrate levels—e.g., one of the lowest bitrates and a better-quality bitrate, within the bandwidth limitations—rebuffering-caused gaps in playback of a higher quality (HQ) stream may be filled with a lower quality (LQ) stream. For instance, client-side dual buffers may store n segments from the HQ stream during a given time and a multiple of n number of segments from the LQ stream, thus allowing for many of the LQ segments to be output if the HQ stream is rebuffering. If a segment of content is beginning to be played back as an LQ segment, there is no reason to buffer the same segment from the HQ stream. Moreover, after a segment of content is played back (or decoded) as either HQ or LQ, the corresponding HQ segment and/or LQ segment may be discarded from the dual buffer, e.g., to create buffer space for upcoming segments.


