Virtual Buffer for Adaptive Bitrate Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing adaptive bitrate streaming algorithms face challenges in estimating future network behavior and buffer size, particularly when the playback buffer is small, leading to suboptimal bitrate selection and increased buffering events during live video streaming.

Innovation Solution

The implementation of a virtual buffer that simulates a populated playback buffer during initial population, adjusting its fullness based on content fragments, download cancellations, and time, combined with a goodness value calculation using logarithmic and linear terms to balance quality and re-buffering risk, allows for more accurate bitrate selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If existing ABR algorithms are used with small playback buffers for live video streaming, then the system can begin playback quickly, but the bitrate selection becomes inaccurate leading to increased buffering events

Engineering Contradiction:
Improveplayback start speedVSAvoidbitrate selection accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by initializing a virtual buffer with a predetermined fullness value before actual playback begins. This allows the ABR algorithm to make informed bitrate selections from the start, rather than waiting for the physical buffer to populate. The virtual buffer is initialized to represent an expected stable state, enabling accurate bitrate decisions to be made in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a virtual buffer as an intermediary between the actual empty physical buffer and the ABR algorithm's decision-making process. This virtual buffer mediates the information flow by providing simulated buffer fullness data that the algorithm can use to make accurate bitrate selections without requiring actual buffer population.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If the playback buffer is kept small for live event streaming, then the latency is reduced, but the ABR algorithm cannot accurately estimate future buffer size leading to suboptimal bitrate selection

Engineering Contradiction:
Improvestreaming latencyVSAvoidbuffer size estimation accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent creates a copy of the buffer state in the form of a virtual buffer that mimics the expected fullness of the physical buffer. This virtual copy allows the ABR algorithm to perform accurate buffer size estimations and bitrate selections without requiring the physical buffer to be large or fully populated, thus maintaining low latency while improving estimation accuracy.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If the ABR algorithm prioritizes maximizing video quality by selecting highest bitrate, then the video quality is improved, but the risk of buffering events increases when buffer is empty

Engineering Contradiction:
Improvevideo qualityVSAvoidbuffering events
Core Design Contradiction:
Manufacturing precisionVSObject-affected harmful factors

Solution Approach 1:

The patent implements feedback by continuously monitoring the virtual buffer's fullness value and using this information to dynamically adjust bitrate selections. The ABR algorithm receives feedback about the simulated buffer state and adapts its decisions to balance video quality with buffering risk, selecting bitrates that are appropriate given the current virtual buffer conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10992975B1Techniques for short buffer adaptive bitrate streaming
Publication Date: 2021.04.27 AMAZON TECH INC
  • US10992975B1 patent drawing
  • US10992975B1 patent drawing
  • US10992975B1 patent drawing

AI summary

Systems, methods, and computer storage media are described herein for optimizing adaptive bitrate streaming for content (e.g., streams of live events). Bitrate selections may be made based at least in part on the current state of the playback. When the playback is in a transient state (e.g., when the user has recently played or navigated within the content), bitrate selections may be determined utilizing a virtual buffer that simulates a playback buffer. The virtual buffer may be initialized with a predetermined fullness value. As content fragments are received and queued on the playback buffer, the fullness values for the virtual buffer and the playback buffer may be adjusted differently. When the fullness of the playback buffer exceeds the virtual buffer, subsequent bitrate selections may be determined utilizing the playback buffer. The virtual buffer may be utilized to simulate a steady state playback buffer while the playback buffer populates.