Buffer Management for Synchronized Display Data Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In display and other streaming systems, the asynchronous nature of write and read processes often leads to synchronization loss and increased, unpredictable latency due to the read process being faster than the write process, resulting in potential data staleness and visual or audio artifacts.
Innovation Solution
A method is introduced to determine a portion of a buffer based on the write and read rates, allowing the read process to start only after the write process has completed, ensuring that data is read from the buffer without overtaking the write process, thereby reducing latency and data staleness. This involves calculating a portion of the buffer using formulas that account for the read and write rates, ensuring synchronized data streaming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple buffers are used to mitigate synchronization loss, then data staleness is reduced, but latency increases and becomes unpredictable
Solution Approach 1:
The patent applies dynamics by making the buffer selection dynamic rather than static. Instead of always using multiple buffers, the system dynamically selects between single-buffer and multi-buffer modes based on real-time synchronization status. When synchronization is maintained, single-buffer mode is used for minimal latency; when desynchronization is detected, multi-buffer mode is activated to prevent data staleness, thus adaptively optimizing the trade-off between reliability and latency.
Solution Approach 2:
The patent changes the parameter of buffer quantity from a fixed value to a variable that adjusts based on synchronization conditions. The system monitors synchronization metrics and dynamically adjusts the number of buffers used (1 or 2) to optimize performance. This parameter change allows the system to transition between different operational states, reducing latency when possible while maintaining reliability when necessary.
2Productivity
If the read process runs faster than the write process, then data throughput is improved, but synchronization is lost and data staleness occurs
Solution Approach 1:
The patent implements feedback by continuously monitoring the synchronization status between read and write processes. The system measures the time difference between write completion and read operations, and uses this feedback to detect desynchronization. When desynchronization is detected (read process getting ahead of write process), the system responds by switching to multi-buffer mode or adjusting timing, thus maintaining synchronization reliability while allowing high throughput operation.
Solution Approach 2:
The patent applies preliminary action by proactively detecting synchronization issues before data staleness occurs. The system continuously monitors the relative speeds of read and write processes and predicts potential synchronization loss. When the read process is approaching a state where it might read stale data, the system preemptively adjusts buffer usage or timing to prevent the problem, rather than reacting after data staleness has already occurred.
Data Source
AI summary
Disclosed herein is a method of writing data to, and reading data from, one or more buffers. The method comprises: determining a write rate of writing data into a first buffer; determining a read rate of reading data from the first buffer; determining, using the write rate and the read rate, a portion of the first buffer; writing data into the portion of the first buffer; starting to read data from the first buffer when the writing of data to the portion of the first buffer has finished; and writing data into a remaining part of the first buffer, different from the portion of the first buffer. The portion of the first buffer is determined such that the reading of data from the first buffer does not overtake the writing of data into the first buffer.


