Guaranteed Data Compression for Random-Access GPU Memory
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 transfer and power consumption.
Innovation Solution
The implementation of a data compression and decompression unit that uses a combination of lossless and lossy compression techniques, including truncation, bit replication, and adjustment values, to ensure a guaranteed compression threshold is met, allowing for efficient mapping of n-bit numbers to m-bit numbers, and incorporating hardware logic for truncation, look-up logic, and increment/decrement operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression is applied to reduce memory bandwidth and storage space, then memory bandwidth and storage space requirements are reduced, but compression ratio variability and random access inefficiencies occur
Solution Approach 1:
The patent segments data into fixed-size blocks that are independently compressed and stored. Each block is processed separately through the compression pipeline, allowing random access to individual blocks without decompressing entire data sets. This segmentation enables consistent compression ratios while maintaining random access efficiency.
Solution Approach 2:
The patent applies preliminary lossy compression to reduce data size before applying lossless compression. This two-stage approach ensures that the data is pre-processed to achieve guaranteed compression thresholds, and the lossless stage then provides consistent additional compression without variability issues.
2Manufacturing precision
If higher quality rendering algorithms are used, then rendering quality is improved, but memory bandwidth consumption increases
Solution Approach 1:
The patent changes the precision parameter of stored data by using 10-bit depth values compressed to smaller representations, then reconstructed to 10-bit values during rendering. This allows high-quality rendering with 10-bit precision while storing and transferring less data through the memory subsystem, directly reducing memory bandwidth consumption.
3Speed
If memory bandwidth is increased to support faster rendering, then rendering speed is improved, but power consumption increases
Solution Approach 1:
The patent changes the data precision parameter from standard 8-bit to 10-bit depth values, enabling higher quality rendering algorithms to run at full speed without increasing memory bandwidth requirements. The compression ensures that even with increased processing speed, the actual data transfer volume remains controlled, preventing power consumption increases.
4Measurement precision
If lossless compression is used to maintain data accuracy, then data accuracy is preserved, but compression ratio is reduced
Solution Approach 1:
The patent applies preliminary lossy compression as a first stage to achieve significant compression ratios, then applies lossless compression as a second stage to maintain data accuracy. This preliminary action of lossy compression allows the subsequent lossless stage to achieve its full compression potential while preserving accuracy for the final reconstructed data.
Solution Approach 2:
The patent uses a composite compression approach combining two different compression methods (lossy and lossless) in sequence. The lossy compression stage handles the bulk reduction while the lossless stage ensures accuracy preservation, creating a composite solution that achieves both high compression ratios and data accuracy.
Data Source
Figure 1
Figure 2A~2C
Figure 3A~3B
AI summary
Methods for converting an n-bit number into an m-bit number are described for situations where n>m and also for situations where n<m, where n and m are integers. The methods use truncation or bit replication followed by the calculation of an adjustment value which is applied to the replicated number.