Hierarchical Layer Buffering for Adaptive Bitrate Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate streaming technologies face disruptions and delays due to unpredictable bandwidth fluctuations, leading to suboptimal video playback experiences, especially in variable network conditions.
Innovation Solution
A method of buffering encoded data streams using hierarchical layers, where a base layer segment and enhancement layer segment are received and decoded, allowing for dynamic adaptation of video quality based on available bandwidth, with the decoder using the base layer for minimal buffering and enhancing quality as bandwidth permits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If adaptive bitrate streaming is used to adjust video quality based on available bandwidth, then video playback continuity is improved, but playback disturbances and delays occur due to unpredictable bandwidth fluctuations
Solution Approach 1:
The encoded video stream is divided into segments with different bitrates and qualities. The system receives and buffers multiple segments at different quality levels, then selects and decodes appropriate segments based on current network conditions, enabling continuous playback without excessive delays while adapting to bandwidth fluctuations
Solution Approach 2:
The system performs preliminary buffering of multiple video segments at different quality levels before playback is needed. This advance preparation allows the decoder to immediately switch to appropriate segments when network conditions change, reducing playback delay while maintaining continuity
2Adaptability or versatility
If multiple encoded versions of video content are stored and transmitted to enable quality adaptation, then adaptability to network conditions is improved, but device complexity and storage requirements increase
Solution Approach 1:
The video content is segmented into multiple encoded versions at different quality levels, each stored separately. The system manages these segments through a simplified interface that automatically selects appropriate segments based on network conditions, reducing the complexity of handling multiple versions
Solution Approach 2:
The buffering mechanism serves multiple functions: it stores segments at different qualities, monitors network conditions, selects appropriate segments, and manages decoding. This multi-functionality reduces overall system complexity by consolidating operations into a unified mechanism
3Reliability
If the client buffers more video segments to handle network throughput variations, then playback reliability is improved, but storage requirements and initial buffering time increase
Solution Approach 1:
Instead of buffering the entire video stream, the system segments video content into discrete quality levels and buffers only the necessary segments. This selective buffering approach maintains playback reliability by having multiple quality options available while significantly reducing storage requirements compared to buffering complete segments
Solution Approach 2:
The system buffers more segments than strictly necessary for minimal playback, maintaining a surplus of quality options. This partial excessive action ensures playback reliability under varying network conditions while the segmented structure prevents excessive storage consumption by allowing selective decoding of only needed segments
Data Source
AI summary
A method of buffering, at a decoder, a segment (320′) of an encoded data stream (300′), the segment (320′) being arranged in hierarchical layers comprising a base layer segment (320-0) and an enhancement layer segment (320-1′), the base layer segment (320-0) being decodable to a base level of reproduction quality (LOQ#6), and the enhancement layer segment (320-1′), together with the base layer segment (320-0), being decodable to an enhanced level of reproduction quality (LOQ#1), the method comprising the steps of: receiving the encoded data stream (300′) for a prescribed time period so as to buffer the base layer segment (320-0) and as much of the enhancement layer segment (320-1′) as possible in the prescribed time period (P); and sending the buffered base layer segment (320-0) and what is received of the enhancement layer segment (320-1′) to a decoder for decoding and output.


