Image Data Compression for Lower SRAM and DRAM Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image processing systems face challenges in efficiently managing SRAM and DRAM resources, particularly in high-throughput applications, due to high bandwidth requirements and power consumption, necessitating the reduction of SRAM storage and optimizing DRAM bandwidth usage.
Innovation Solution
A method of processing image data by determining representative values based on relationships between neighboring data positions, reducing the bit depth of each data value while preserving sequence length and position count, thereby compressing the data without requiring additional SRAM and allowing efficient use of DRAM bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If SRAM is used for storing image data to achieve low latency and predictable access, then access speed is improved, but storage cost and resource requirement increase
Solution Approach 1:
The patent divides the image data into multiple sequences (e.g., color channels or data groups) and processes them separately through parallel processing paths. This segmentation allows the system to use smaller SRAM buffers for each sequence while maintaining overall processing throughput, reducing total SRAM requirement while preserving fast access characteristics.
Solution Approach 2:
The patent introduces a time-dimension approach by processing image data in sequential batches rather than requiring all data to be simultaneously available in SRAM. Data is streamed through the processor in controlled sequences, allowing DRAM to serve as the primary storage with SRAM used only for temporary buffering of current processing sequences, thereby reducing SRAM requirements while maintaining processing speed.
2Quantity of substance
If DRAM is used for storing large amounts of image data to reduce cost, then storage cost is reduced, but bandwidth requirement and power consumption increase
Solution Approach 1:
The patent implements periodic data transfer between DRAM and SRAM buffers, processing image data in sequential batches. Only the current batch of data sequences resides in SRAM at any given time, while other data remains in DRAM. This periodic access pattern reduces the amount of data that needs to be continuously transferred over the high-bandwidth SRAM interface, thereby reducing power consumption while maintaining adequate storage capacity in DRAM.
3Quantity of substance
If DRAM is used for storing image data to reduce cost, then storage cost is reduced, but available bandwidth for other components decreases
Solution Approach 1:
By segmenting image data into multiple sequences that are processed in parallel batches, the patent enables more efficient utilization of DRAM bandwidth. Each processing batch requires bandwidth proportional to its size rather than the entire frame, allowing other system components to share the DRAM interface during idle periods between batches, thereby improving overall system productivity while maintaining adequate storage capacity.
4Quantity of substance
If bit depth is reduced to compress image data, then data size is reduced, but image quality may deteriorate
Solution Approach 1:
The patent dynamically adjusts processing parameters including bit depth reduction strategies based on local image characteristics. In regions with smooth gradients or uniform colors, more aggressive bit depth reduction is applied, while regions with high frequency content or edges retain higher precision. This adaptive parameter adjustment achieves effective data compression while preserving critical image quality attributes.
Data Source
AI summary
A method of processing image data, the image data comprising a plurality of data values arranged in two or more sequences, each sequence comprising a first number of data positions each having a data value of the plurality, and each data value comprising a second number of bits, the method comprising: upon receiving each sequence of the two or more sequences, processing the data values of the sequence to determine, for each given data position of the first number of data positions, a representative value for the given data position based on a relationship between the data value at the given data position and the data value at one or more neighbouring data positions.


