Circular Buffer for Legacy Sink Screen Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital media systems, particularly those using the DLNA pull model protocol, are unable to effectively share live content such as local screen data, like cursor movements and user interactions, with sink devices due to incompatibility with the push model data delivery standard, limiting the compatibility with legacy sink devices.
Innovation Solution
A method and apparatus that utilize a circular buffer to serve local screen data to sink devices at a consumption rate determined by the sink device, involving capturing, compressing, and formatting the data, and interpreting read pointers to manage the writing and reading of data based on requested playback modes, ensuring desired latency and supporting multiple playback modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the DLNA pull model protocol is used, then compatibility with legacy sink devices is improved, but the ability to share local screen data is lost
Solution Approach 1:
The source device captures and stores local screen data in a circular buffer before the sink device requests it. This preliminary action allows the sink device to retrieve historical screen data even though it uses the pull model protocol, resolving the contradiction between protocol compatibility and data sharing capability.
Solution Approach 2:
The circular buffer acts as an intermediary between the source device and sink device. It decouples the real-time capture process from the request-driven retrieval process, enabling legacy pull model sink devices to access local screen data that would otherwise be unavailable.
2Productivity
If local screen data is captured and stored in a circular buffer, then the ability to provide data to sink devices is improved, but device complexity increases
Solution Approach 1:
The circular buffer serves multiple functions: it stores screen data, manages playback modes (normal, rewind, fast-forward), controls latency, and handles sink device requests. This multi-functionality improves data provision capability while the buffer itself remains a relatively simple data structure.
Solution Approach 2:
The system manages complexity by dynamically adjusting buffer operations based on parameters such as playback mode, latency requirements, and sink device consumption rate. The circular buffer is configured with specific size and access patterns that optimize performance for different scenarios.
3Manufacturing precision
If the system maintains desired latency between writing and reading data, then data quality is improved, but the complexity of controlling read/write operations increases
Solution Approach 1:
The system continuously monitors the relationship between write position and read position in the circular buffer, adjusting operations to maintain desired latency. This feedback mechanism ensures data quality by preventing buffer underflow or overflow while managing the complexity of coordinated read/write operations.
Solution Approach 2:
The circular buffer is pre-configured with appropriate size and initialization parameters that establish baseline latency characteristics. This preliminary setup simplifies runtime control by establishing predictable buffer behavior before actual data streaming begins.
4Adaptability or versatility
If the system supports multiple playback modes, then versatility is improved, but the complexity of managing different modes increases
Solution Approach 1:
The circular buffer is initialized and configured to support multiple playback modes from the outset. This preliminary preparation allows the system to switch between normal playback, rewind, and fast-forward modes without adding complex runtime configuration logic, as the buffer structure is already optimized for these operations.
Data Source
AI summary
A method and apparatus is provided for providing local screen data of a source device, such as a personal computer, to a sink device, such as a television, game console, or home theatre system, at a rate determined by the sink device. In one example, the method and apparatus responds to requests from the sink device to provide local screen data by serving the local screen data to the sink device from a circular buffer. The local screen data is written to the circular buffer in FIFO order based on the requests from the sink device, and read from the circular buffer based on the requests.


