Reduced Bit-Depth Compression for Predictable GPU Memory Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression methods in graphics processing units (GPUs) face challenges in reducing memory bandwidth and storage space efficiently, especially in mobile devices, due to varying compression ratios and the need for random access to compressed data, which can lead to inefficiencies in memory allocation and power consumption.
Innovation Solution
A method of data compression that determines the bit depth of input data by comparing its size to pre-defined thresholds, using a mapping parameter to reduce bit depth and encode it for compression, ensuring a guaranteed compression ratio, thereby optimizing memory usage and power efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression is applied to reduce memory bandwidth and storage space, then memory efficiency improves, but compression ratio variability and random access inefficiencies worsen
Solution Approach 1:
The patent performs preliminary analysis of the data block to determine the optimal bit depth reduction level before compression. By calculating the required bit depth reduction in advance based on data characteristics and compression targets, the system ensures consistent compression ratios without requiring post-compression adjustments or multiple compression attempts.
Solution Approach 2:
The patent dynamically changes the bit depth parameter of the data before compression based on the determined reduction level. By adjusting this fundamental parameter preliminarily, the system achieves predictable and consistent compression ratios while maintaining efficient random access capabilities, as the bit depth reduction is applied uniformly across the data block.
2Productivity
If bit depth reduction is applied before compression, then compression ratio improves, but data precision deteriorates
Solution Approach 1:
The patent applies bit depth reduction locally to specific data blocks rather than uniformly to all data. By analyzing each data block's characteristics and determining the appropriate bit depth reduction level for that specific block, the system achieves higher compression ratios where possible while preserving data precision in blocks where it is not feasible to reduce bit depth, thus balancing compression efficiency with data accuracy.
3Quantity of substance
If compression is applied to reduce storage space, then memory usage decreases, but random access capability deteriorates
Solution Approach 1:
The patent segments the data into fixed-size blocks with predetermined bit depth reduction levels. Each block is independently compressed and stored with its compression parameters, enabling efficient random access to specific blocks without requiring decompression of entire data sets. This segmentation maintains storage efficiency while restoring random access capabilities through block-level independence.
4Measurement precision
If higher quality rendering algorithms are used, then image quality improves, but memory bandwidth consumption increases
Solution Approach 1:
The patent performs preliminary bit depth reduction on rendering data before it is transferred to memory, reducing the volume of data that needs to be moved through the memory subsystem. By applying this reduction early in the rendering pipeline, high-quality rendering algorithms can operate with reduced memory bandwidth requirements, as the preliminary bit depth optimization decreases the data transfer burden without significantly impacting final image quality.
Data Source
AI summary
A method of data compression in which the total size of the compressed data is determined and based on that determination, the bit depth of the input data may be reduced before the data is compressed. The bit depth that is used may be determined by comparing the calculated total size to one or more pre-defined threshold values to generate a mapping parameter. The mapping parameter is then input to a remapping element that is arranged to perform the conversion of the input data and then output the converted data to a data compression element. The value of the mapping parameter may be encoded into the compressed data so that it can be extracted and used when subsequently decompressing the data.


