Adaptive Bitrate Streaming Stall Mitigation via Partial Chunk Playback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate streaming technologies face challenges in maintaining video quality and bandwidth efficiency due to unpredictable network conditions, leading to video stalls and frequent quality switches, especially when predicting a stall condition before receiving a notification from the server.
Innovation Solution
The implementation of a system that allows for the reception and playback of frames from a video chunk transmitted by a source device even after the indication to stop transmitting additional frames, using partial chunks and prioritizing reference frames, and employing multiple streams within a single transport connection to extend playback before receiving the next chunk, thereby reducing the likelihood and duration of stalls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If the system waits for the server notification to stop transmitting before receiving additional frames, then bandwidth efficiency is improved, but video stalls occur due to unpredictable network conditions
Solution Approach 1:
The system performs preliminary actions by sending a request to stop transmitting additional frames before actually receiving the server notification. This allows the system to proactively manage the transmission buffer and extend playback using already-transmitted but not-yet-received frames, preventing video stalls while maintaining bandwidth efficiency.
Solution Approach 2:
The system accepts partial video chunks by utilizing frames that have been transmitted by the source device but not yet fully received. By playing back these partially received frames, the system extends playback duration without requiring complete chunk reception, thereby reducing stalls while avoiding unnecessary bandwidth consumption for incomplete data.
2Reliability
If the system requests the next video chunk immediately after determining stall risk, then playback continuity is improved, but bandwidth is wasted due to frames already transmitted but not received
Solution Approach 1:
The system implements feedback by monitoring the receipt of frames and detecting when the number of received frames exceeds a threshold. This feedback mechanism triggers a request to stop transmitting additional frames, allowing the system to adapt to actual network conditions and avoid wasting bandwidth on frames that cannot be received in time for playback.
Solution Approach 2:
The system serves itself by autonomously determining when to request cessation of frame transmission based on the number of frames received. This self-service approach allows the system to manage its own playback continuity without requiring external control, optimizing the balance between playback continuity and bandwidth utilization.
3Duration of action of moving object
If the system uses multiple streams within a single transport connection, then playback extension is improved, but system complexity increases
Solution Approach 1:
The system achieves multi-functionality by using a single transport connection to carry multiple streams of video frames. This allows the system to extend playback duration by receiving and playing frames from different streams simultaneously, without requiring multiple separate transport connections, thereby reducing system complexity while maintaining extended playback capability.
Data Source
AI summary
A processing system may determine, during a downloading of a first video chunk associated with a first time block of a video, a risk of stall condition, the first video chunk encoded at a first bitrate of a plurality of available bitrates, determine that a number of a received first plurality of frames of the first video chunk exceeds a threshold, transmit a request for a next video chunk associated with a next time block of the video and an indication to a source device to stop transmitting additional frames of the first video chunk, receive a second plurality of frames of the first video chunk from the source device that were transmitted prior to the source device receiving the indication, receive frames of the next video chunk, and play the first and second plurality of frames of the first video chunk, and the frames of the next video chunk.


