Sliding Data Buffer for Image Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques for embedded imaging applications on cost-sensitive platforms with limited on-chip memory are inefficient, either requiring excessive computation or time-consuming data movement, particularly when processing images that require overlapping input data blocks.
Innovation Solution
The sliding buffer method, which loads an initial input data array, performs operations, and iteratively loads new data while resetting an array pointer to the overlap data, eliminating the need for data movement by shifting the array pointer within the buffer, thereby maintaining computation efficiency without data relocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If history buffering is used to improve computation efficiency, then computation efficiency is improved, but data movement time increases
Solution Approach 1:
The patent implements a dynamic buffer management system where the buffer pointer advances automatically with each processing iteration, eliminating the need for static data copying. The buffer dynamically slides through memory space as processing progresses, with the pointer position adjusted based on the overlap width and processing block size, thereby avoiding time-consuming data movement while maintaining computation efficiency.
Solution Approach 2:
Instead of physically copying overlap data to different memory locations, the patent uses a virtual copying mechanism through pointer manipulation. The buffer pointer effectively 'copies' the logical position of data without actual data movement, allowing the same physical memory locations to be reused across iterations after the pointer advances, thus eliminating redundant data transfer operations.
2Manufacturing precision
If block processing with overlapping input blocks is used to handle spatial dependency, then processing accuracy is improved, but memory usage increases
Solution Approach 1:
The patent employs a dynamic sliding buffer approach where the buffer pointer advances iteratively, allowing the same physical buffer space to serve multiple processing iterations. This dynamic reuse of memory space maintains the required overlap width for accurate spatial processing while preventing memory consumption from growing linearly with the number of iterations, thus resolving the contradiction between processing accuracy and memory usage.
Solution Approach 2:
The patent implements a memory recovery mechanism where previously used buffer space becomes available for new data after processing. As the buffer pointer advances through iterations, old buffer positions are discarded (no longer needed for overlap) and recovered (reused for new input data), maintaining processing accuracy through overlap while preventing memory usage from accumulating, effectively managing limited on-chip memory resources.
Data Source
AI summary
A method for managing image processing data buffers for processes having overlap input data between iterations includes loading a data buffer with an initial input data array and performing an image data array operation on the input data array. The method repeats the following steps for plural iterations including loading the data buffer with new input data forming a new input data array for a next iteration and performing the input data array operation on the new input data array. The overlap data consists of pixels at an end of each scan line. Loading new input data includes loading pixels following the overlap data for each scan line.


