Image Tag Distribution Across Memory Banks for Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current image processing systems for autonomous vehicles and augmented reality applications face challenges with limited energy budget and physical size, requiring efficient and fast processing of large images, which is hindered by high computational intensity and power consumption, especially in feature extraction tasks.
Innovation Solution
The method involves allocating multiple memory banks and dividing images into tags, with each tag row distributed across memory banks for simultaneous access, reducing memory accesses and power consumption by avoiding overlapping data reads and enabling efficient data retrieval in minimal clock cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If images are processed using conventional memory access methods, then processing can be performed, but memory bandwidth is limited and power consumption is high
Solution Approach 1:
The patent divides the image into multiple tags and distributes tag rows across multiple memory banks, enabling parallel access to multiple memory banks simultaneously. This segmentation of image data into manageable tags that can be processed in parallel directly increases memory bandwidth while reducing the energy required per access operation.
Solution Approach 2:
The patent introduces a new dimension of parallelism by distributing tag rows across multiple memory banks along the bank dimension, rather than accessing sequential pixels within a single memory bank. This dimensional change enables simultaneous access to multiple memory locations, dramatically increasing throughput and reducing power consumption.
2Productivity
If images are divided into tags and distributed across memory banks, then memory bandwidth and throughput increase, but device complexity increases
Solution Approach 1:
The image is segmented into tags with a hierarchical structure (image → tags → tag rows → pixels), and this segmentation is mapped to the memory bank structure. This organized segmentation enables systematic parallel access patterns that increase throughput while keeping the complexity manageable through regular, predictable data distribution.
Solution Approach 2:
The memory bank structure is designed to be universally applicable for different image processing operations. The same tag distribution mechanism serves multiple functions: enabling parallel readout, supporting different image sizes, and facilitating various feature extraction algorithms, thereby justifying the added complexity through multi-functionality.
3Device complexity
If sequential pixel-by-pixel distribution is used, then memory organization is simple, but rereads of overlapping data kernels are required
Solution Approach 1:
By segmenting the image into tags and distributing tag rows across memory banks, the patent ensures that each memory bank contains complete tag row data without requiring rereads. This segmentation strategy eliminates the need for overlapping data rereads that would occur with sequential pixel distribution, reducing processing time while maintaining reasonable organizational complexity.
Solution Approach 2:
The patent performs preliminary distribution of tag rows across memory banks in a specific sequential pattern that anticipates future access patterns. This preliminary organization prevents the need for rereads during processing, as all necessary data is already positioned in the appropriate memory banks before feature extraction begins.
Data Source
AI summary
An image processing method including allocating a plurality of memory banks. Each memory bank includes a plurality of memory bank rows. The image is divided into a plurality of tags, wherein each tag has tag rows, each tag row has a plurality of pixels, and each tag row is consecutively distributed over different memory banks such that each tag row of the tag is accessible to be read out from the memory banks simultaneously. The consecutive distribution of the tag rows is performed by distributing the tag rows (r) in order starting from a first tag row (r) and to the memory banks (b) in order starting at the first memory bank (b), until all tag rows (r) have been distributed.


