Image Processing With Overlap Data Reuse for CNN Accelerators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
When processing large input images using a CNN accelerator, dividing the images leads to increased overhead in memory loading and arithmetic operations, reducing processing efficiency and increasing power consumption.
Innovation Solution
The image processing device divides input data into multiple pieces with overlap regions and allocates storage to minimize redundant data loading and calculations by reusing processed data in adjacent memory regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the image is divided into multiple pieces for processing, then the processing can be performed on large images that exceed accelerator capacity, but overhead in memory loading and arithmetic operations increases, reducing processing efficiency
Solution Approach 1:
The input image is divided into multiple division images that can be processed separately by the accelerator, enabling large images to be handled in chunks that fit within memory constraints
Solution Approach 2:
Overlap regions are added to division images before processing, and processed data from previous divisions is preserved in memory for reuse, eliminating the need to reload and reprocess boundary pixels
2Productivity
If the image is divided and processed repeatedly, then the final output image can be obtained, but extra arithmetic processing is required for pixels prior to division boundaries, increasing power consumption
Solution Approach 1:
Processed data from overlap regions of previous division images is preserved in memory and recovered for reuse in subsequent processing, eliminating redundant calculations and reducing energy consumption
Data Source
AI summary
An image processing device according to an embodiment includes: an image division unit dividing input image data into first division image data and second division image data having a predetermined overlap region with the first division image data according to a size of a kernel used for image processing; a reuse data determination unit determining first reuse data reused in performing the image processing to the second division image data among the first division image data; and a memory management unit, in a memory, storing first processed data of a first division image obtained by performing the image processing to the first division image data, in a region other than a region storing the first reuse data, and allocates a region storing the second division image data so as to be adjacent to the region storing the first reuse data.


