Dual-Buffer Video Streaming Mitigates Rebuffering Stalls
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate (ABR) streaming experiences quality of experience (QoE) disturbances due to rebuffering, particularly in areas with poor network coverage and intermittent bandwidth, leading to playback stalls and a degraded viewing experience.
Innovation Solution
Implementing a dual-buffer system that simultaneously buffers high-quality (HQ) and low-quality (LQ) streams, allowing seamless playback from the LQ stream during HQ stream rebuffering, and discarding segments to maintain buffer space for upcoming content, while also providing supplemental content during stalling events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ABR streaming is used to handle volatile network conditions, then the system can adapt to different bandwidth levels, but rebuffering events still occur causing playback stalls and degraded QoE
Solution Approach 1:
The system performs preliminary actions by buffering content at multiple bitrate levels (e.g., 2-3 different qualities) simultaneously before playback is needed. This allows the player to have pre-prepared content at various quality levels ready to switch to immediately when network conditions deteriorate, preventing rebuffering stalls while maintaining adaptability to bandwidth changes.
Solution Approach 2:
The system changes the parameter of content quality (bitrate) dynamically by maintaining multiple bitrate versions in the buffer. When network conditions change, the system switches between different bitrate parameters (e.g., from high quality to medium or low quality) to ensure continuous playback without stalls, thus resolving the contradiction between adaptability and reliability.
2Manufacturing precision
If content is buffered at higher bitrate for better quality, then video quality is improved, but buffer underrun occurs more frequently under temporary bandwidth loss
Solution Approach 1:
The system prepares multiple bitrate versions of content in advance and buffers them simultaneously. This preliminary action ensures that when bandwidth loss occurs, the player already has lower bitrate content ready in the buffer, preventing buffer underrun while maintaining the ability to provide high quality content when bandwidth is sufficient.
Solution Approach 2:
The system provides beforehand cushioning by maintaining a buffer of content at multiple bitrate levels. This cushioning effect ensures that when network conditions deteriorate temporarily, the player can switch to lower bitrate content that is already buffered, preventing buffer underrun and maintaining playback continuity without sacrificing overall video quality experience.
3Reliability
If dual-buffering at two bitrate levels is implemented, then rebuffering-caused stalls are eliminated, but device complexity and memory usage increase
Solution Approach 1:
The system segments the buffer into multiple partitions, each dedicated to a specific bitrate level (e.g., high, medium, low quality buffers). This segmentation simplifies management by allowing independent tracking and switching between bitrate segments, reducing the overall complexity compared to managing a single complex buffer with multiple bitrate contents mixed together.
Solution Approach 2:
The system manages complexity by parameterizing the buffer structure around bitrate levels. Instead of managing arbitrary content segments, the system organizes buffers by bitrate parameters, making the management logic more systematic and predictable. This parameter-based organization reduces management complexity while maintaining the ability to switch between quality levels for continuous playback.
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.


