Frame Pacing and Dynamic Buffer Sizing for Smooth App Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional video streaming techniques face inefficiencies and disruptions due to static buffer sizes and fixed frame pacing, leading to stutter and frame drops under varying network conditions, particularly in applications requiring smooth and consistent playback.
Innovation Solution
Implementing dynamic buffer sizing and hardware-assisted frame pacing to adjust buffer size and frame presentation times based on real-time network conditions, using hardware components to synchronize with variable refresh rate displays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If static buffer sizes and fixed frame pacing are used, then system complexity is reduced, but video playback smoothness and consistency deteriorate under varying network conditions
Solution Approach 1:
The patent implements dynamic buffer sizing where the buffer size is adjusted in real-time based on network conditions. The buffer size parameter is made variable rather than fixed, allowing the system to adapt to changing network latency and jitter, thereby maintaining smooth video playback without requiring complex manual configuration.
Solution Approach 2:
The system changes key parameters (buffer size, frame presentation timing) dynamically based on network conditions. By monitoring network metrics and adjusting these parameters in real-time, the system resolves the contradiction between simple static configuration and reliable smooth playback under varying conditions.
2Reliability
If dynamic buffer sizing is implemented, then video playback smoothness is improved, but device complexity increases
Solution Approach 1:
The buffer management system operates autonomously by automatically monitoring network conditions and adjusting buffer size without user intervention. The system self-regulates based on measured network metrics, reducing the perceived complexity for users while maintaining consistent video playback.
Solution Approach 2:
The system implements feedback loops where network performance is continuously monitored and used to adjust buffer sizing decisions. This automated feedback mechanism manages the complexity internally while providing simple, consistent playback behavior to the user.
3Device complexity
If fixed frame pacing is used, then synchronization is simplified, but frame drops and stutter occur under network variability
Solution Approach 1:
The patent implements dynamic frame pacing where frame presentation times are adjusted based on actual frame arrival times and network conditions. Rather than using fixed intervals, the system dynamically calculates optimal presentation times to prevent frame drops and stutter while maintaining synchronization.
Solution Approach 2:
The system takes preliminary actions by pre-adjusting frame presentation timing based on predicted network conditions and buffer state. This proactive adjustment prevents frame drops before they occur, maintaining consistent playback without requiring complex real-time intervention.
4Adaptability or versatility
If adaptive streaming with limited frame pacing capabilities is used, then responsiveness to network conditions is improved, but high-quality video delivery consistency deteriorates
Solution Approach 1:
The system implements fine-grained parameter adjustments including buffer size, frame presentation timing, and refresh rate synchronization. By dynamically changing multiple parameters in coordination rather than relying on limited adaptive streaming protocols, the system maintains high-quality video consistency while remaining responsive to network conditions.
Data Source
AI summary
Various examples, systems, and methods are disclosed relating to buffer sizing and frame pacing. A first computing system decode an encoded bitstream of a data stream to extract a plurality of frames corresponding to a plurality of first presentation times. The first computing system can update a target buffer size of at least one buffer based on one or more deviations between one or more expected frame arrival times of the encoded bitstream and one or more actual frame arrival times. The first computing system can store the plurality of frames in the at least one buffer for scheduling presentation on a display. The first computing system can present the plurality of frames at a plurality of second presentation times on the display based on at least one tuning of the plurality of first presentation times responsive to an update in the target buffer size.


