Initial Bitrate Selection Using Stored Playback Bandwidth History
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing adaptive bitrate streaming technologies face challenges in providing optimal streaming experiences due to buffering issues and lower-than-expected video quality, often resulting from suboptimal initial bitrate selection that does not consider available bandwidth.
Innovation Solution
An adaptive bitrate algorithm that utilizes historical information from previous playback sessions to select a profile with a more suitable bitrate, adjusting for current network conditions and reducing the likelihood of buffering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional adaptive bitrate streaming is used without historical information, then the system is simpler to implement, but buffering issues and lower video quality occur due to suboptimal initial bitrate selection
Solution Approach 1:
The system performs preliminary actions by collecting and storing network performance metrics (bandwidth, latency, packet loss) from previous playback sessions before the actual streaming begins. This historical data is then utilized to make informed initial bitrate selections, preventing buffering issues before they occur rather than reacting to them during playback.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring network conditions during playback and using this information to adjust bitrate selections. The algorithm compares actual network performance against historical data and adjusts the streaming quality dynamically, creating a closed-loop system that improves reliability through continuous adaptation.
2Loss of time
If initial bitrate is selected without considering available bandwidth, then the selection process is faster, but buffering issues occur during playback
Solution Approach 1:
The system performs preliminary network assessments by measuring bandwidth, latency, and packet loss during connection establishment and previous sessions. These preliminary measurements are stored and used to predict suitable initial bitrates, enabling fast startup without sacrificing buffering performance. The system prepares bitrate recommendations in advance based on pre-collected network data.
Solution Approach 2:
The algorithm dynamically changes bitrate parameters based on network conditions by selecting from multiple pre-encoded video versions with different bitrates. It adjusts the selected bitrate parameter according to real-time network measurements and historical performance data, optimizing the balance between startup speed and buffering prevention.
3Measurement precision
If historical information is collected and stored from previous sessions, then bitrate selection accuracy improves, but data storage requirements increase
Solution Approach 1:
The system extracts only the most relevant network performance parameters (bandwidth, latency, packet loss) from complete playback session data. By selectively extracting and storing only these critical metrics rather than all possible data points, the system achieves accurate bitrate selection while minimizing data storage requirements. Irrelevant data is discarded to maintain efficiency.
Solution Approach 2:
The algorithm applies different levels of data collection and processing to different aspects of network performance. It focuses detailed measurement on critical parameters that most affect bitrate selection (such as bandwidth and latency) while using coarser measurements for less critical factors. This localized precision approach optimizes the balance between accuracy and storage efficiency.
Data Source
AI summary
In some embodiments, a method determines whether to use first logic or second logic to select a profile from a list of profiles to download a segment of content. When using the second logic: selecting historical information from one or more previous playback sessions; determining a bandwidth using the historical information; and selecting the profile using a bitrate that is determined based on the bandwidth. When using the first logic, selecting the profile without using the historical information.


