Ring Buffer Allocation Between Pixel Processing and Entropy Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image processing systems face inefficiencies due to mismatched processing speeds between pixel processors and entropy encoders/decoders, leading to dropped frames and reduced video quality when using fixed-size ping-pong buffers.
Innovation Solution
Implementing a ring buffer that dynamically allocates space based on image data size, allowing asynchronous operation and decoupling of processing speeds between pixel processors and entropy encoders/decoders.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fixed-size ping-pong buffers are used to buffer image data between pixel processor and entropy encoder, then the buffer structure is simple and deterministic, but processing speed mismatch causes frame drops and reduced video quality
Solution Approach 1:
The patent applies dynamics by transitioning from fixed-size ping-pong buffers to variable-size ring buffers. The ring buffer dynamically adjusts its allocation of read and write portions based on real-time processing speed differences between the pixel processor and entropy encoder, allowing the buffer to adapt to changing throughput requirements and prevent frame drops while maintaining high processing efficiency
Solution Approach 2:
The patent changes the parameter of buffer size from fixed to variable. By allowing the read portion and write portion of the ring buffer to have different sizes based on processing speed ratios, the system optimizes buffer utilization and prevents underflow/overflow conditions that cause frame drops, while the variable sizing maintains high processing throughput
2Productivity
If pixel processor and entropy encoder operate at different processing speeds, then each processor can be optimized for its specific task, but fixed buffers cannot accommodate the speed mismatch leading to inefficiency
Solution Approach 1:
The ring buffer dynamically adjusts the size of its read and write portions to match the processing speed ratio between the pixel processor and entropy encoder. This dynamic adaptation eliminates idle waiting time by ensuring the buffer can accommodate data at the exact rate it is produced and consumed, maximizing processing efficiency without sacrificing optimization for specific tasks
Solution Approach 2:
The variable-size ring buffer acts as an intermediary that mediates between the pixel processor and entropy encoder with different processing speeds. By adjusting its internal allocation, the buffer absorbs speed differences and prevents idle time, allowing both processors to operate at their optimized speeds without causing delays
3Productivity
If the buffer allocates fixed space for each processor, then memory management is simple, but unoccupied space cannot be utilized reducing overall system throughput
Solution Approach 1:
The patent changes the buffer management approach from fixed allocation to variable allocation based on processing speed ratios. This allows unoccupied space to be utilized by dynamically adjusting the read and write portion sizes, increasing system throughput while the complexity is managed through automated ratio-based allocation algorithms
Data Source
AI summary
A device includes a ring buffer. The device also includes an entropy encoder coupled to the ring buffer and configured to retrieve, from the ring buffer, first image data of a first image frame of a sequence of image frames. The entropy encoder is also configured to encode the first image data to generate first bitstream data. The device also includes a pixel processor coupled to the ring buffer and configured to process a second image frame of the sequence of image frames to generate second image data. The pixel processor is also configured to store the second image data in the ring buffer.


