Video Data Processing System Block Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems, particularly in video processing, the latency and errors caused by consumer processing units trying to read partially written data blocks can result in unwanted artefacts and deadlocks, especially when dealing with block-wise encoded data.
Innovation Solution
A method where a video processor encodes video frames into blocks and stores them in a shared memory using a 'front-buffer' approach, updating the location indication for each block to ensure only fully written blocks are accessed by consumer processors, preventing partial data reads and maintaining data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a consumer processing unit reads data from shared memory during the writing process (front-buffer rendering), then latency is reduced, but data integrity deteriorates causing artefacts and deadlocks
Solution Approach 1:
The patent divides the data output into multiple blocks, each with its own location indication in the shared memory. This segmentation allows the system to manage partial data writes safely by tracking which blocks are fully written and ready for consumption, preventing consumers from reading incomplete data while maintaining low latency through selective access to ready blocks.
Solution Approach 2:
The patent implements a feedback mechanism where location indications are updated to reflect the current state of data blocks in memory. This feedback allows consumer processing units to determine which blocks are fully written and safe to read, preventing artefacts and deadlocks while enabling efficient data consumption without waiting for complete frame writes.
2Productivity
If a consumer processing unit attempts to read partially written blocks, then productivity is improved by continuous processing, but harmful factors increase causing artefacts and deadlocks
Solution Approach 1:
By segmenting the data output into blocks with individual location indications, the system enables continuous processing of ready blocks while preventing access to incomplete blocks. This segmentation allows consumers to read only fully written blocks, maintaining productivity without generating harmful artefacts or deadlocks.
Solution Approach 2:
The location indications act as intermediaries between the producer and consumer processing units. These indications mediate the data access process by providing consumers with information about which blocks are ready for reading, enabling continuous processing while preventing harmful effects from reading partially written data.
Data Source
AI summary
A data processing system includes a producer processor that produces a sequence of data outputs for use by consumer processors of the data processing system. The system also includes a memory for storing a sequence of data outputs produced by the data processor. The data processor encodes data outputs as encoded blocks of data, storing a particular encoded block of a first frame in a first location in the memory and an indication of the first location. The data processor stores a corresponding encoded block of a second data output in a second location and updates the indication to the second location.


