HLS Bitrate Prediction via Decoding Time Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing media playback systems struggle to predict and ensure real-time decoding of high bitrate variants due to inadequate CPU and memory resources, leading to playback stalls and oscillatory behavior in selecting appropriate HLS variants.
Innovation Solution
A system and method that predicts software frame decoding time for HLS variants by measuring the frame decoding time of the lowest bitrate variant and scaling up based on bitrate and resolution, allowing for the selection of optimal media program segments to prevent CPU overload and ensure real-time decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the client selects the highest bitrate available that can be downloaded for the given throughput, then network bandwidth utilization is improved, but CPU and memory resources become inadequate for real-time decoding
Solution Approach 1:
The system performs preliminary measurements of decoding time for the lowest bitrate variant before selecting media segments. This advance measurement allows the system to predict whether higher bitrate variants can be decoded in real-time, preventing CPU overload before it occurs. The decoding time measurement is performed in advance to guide subsequent segment selection decisions.
Solution Approach 2:
The system uses feedback from actual decoding time measurements to adjust segment selection. By measuring the time required to decode pictures from the lowest bitrate variant and comparing this against the segment duration, the system determines a maximum bitrate threshold and selects subsequent segments that will meet real-time decoding requirements.
2Adaptability or versatility
If software decoders are used to provide rendering to web browser applications, then accessibility and compatibility are improved, but CPU and memory resources are insufficient for high bitrate decoding
Solution Approach 1:
The system changes the parameter of bitrate selection based on measured decoding performance. Instead of always selecting the highest bitrate variant, the system adjusts the bitrate parameter downward to match the actual decoding capacity of the software decoder, ensuring real-time playback without overwhelming CPU and memory resources.
Solution Approach 2:
The system performs preliminary decoding time measurements before committing to higher bitrate segments. This advance assessment allows software decoders to operate within their capacity limits while maintaining browser compatibility and accessibility.
3Manufacturing precision
If the client requests higher bitrate variants, then media quality is improved, but playback stalls occur due to inadequate processing capacity
Solution Approach 1:
The system uses feedback from decoding time measurements to control bitrate selection. By continuously monitoring whether decoded pictures meet real-time requirements, the system adjusts segment selection to maintain playback continuity while maximizing quality within processing capacity.
Solution Approach 2:
The system performs preliminary decoding time measurements to predict whether higher bitrate segments can be decoded in time. This prevents playback stalls by avoiding segments that would exceed processing capacity, while still allowing quality optimization when capacity is sufficient.
4Ease of operation
If the system selects segments without considering decoding time, then segment selection simplicity is maintained, but oscillatory behavior occurs in variant selection
Solution Approach 1:
The system introduces feedback from decoding time measurements to stabilize variant selection. By using the measured decoding time and calculated maximum bitrate threshold as a selection criterion, the system prevents oscillatory behavior between variants while maintaining relatively simple segment selection logic based on clear numerical thresholds.
Data Source
AI summary
A method and apparatus for predicting the software frame decoding time for an HLS variant bit stream based on measurements of the frame decoding time for the lowest bit rate variant given in the master playlist and acquired and played at initial session startup. This permits the determination of a maximum bitrate setting to be refined and applied at startup such that a media program player does not attempt to download and decode variants that might exceed its CPU capacity, thus preventing playback stalls and similar failures.


