10-Bit Data Compression Using LSB Encoding Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression techniques for image data, particularly in GPUs, face challenges in efficiently compressing and decompressing 10-bit data values without increasing silicon area, as existing compression and decompression units are often optimized for 8-bit data and lack efficient methods to handle 10-bit data effectively.
Innovation Solution
A method that compresses the two least significant bits of each data value by mapping them onto specific encodings, using either a first group of encodings for uniform bits or a second group for equal bits across data values, minimizing error and allowing for efficient compression and decompression of 10-bit data without requiring significant additional hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If compression and decompression units are configured in hardware to compress and decompress 10-bit data values in addition to 8-bit data values, then the capability to handle 10-bit data is improved, but the silicon area increases significantly
Solution Approach 1:
The compression unit is designed with a universal encoding system that can handle both 8-bit and 10-bit data values using the same hardware structure. The unit selects from 256 possible encodings (8-bit encodings) to represent 10-bit data by compressing the two least significant bits, allowing one hardware unit to serve multiple data width requirements without increasing silicon area
Solution Approach 2:
The invention changes the parameter being compressed from the entire 10-bit value to specifically the two least significant bits. This parameter change allows the use of existing 8-bit compression hardware while still achieving compression for 10-bit data, maintaining compatibility without requiring new hardware designs
2Area of stationary object
If existing compression and decompression units optimized for 8-bit data are used, then the silicon area is kept small, but the ability to efficiently compress and decompress 10-bit data is lost
Solution Approach 1:
The 10-bit data value is segmented into two parts: the eight most significant bits and the two least significant bits. The existing compression unit processes the eight most significant bits efficiently, while a separate encoding mechanism handles the two least significant bits by selecting from 256 possible encodings, thereby maintaining high processing efficiency for 10-bit data using existing 8-bit optimized hardware
3Productivity
If the two least significant bits are compressed by mapping onto 256 possible encodings, then the compression efficiency is improved, but the complexity of the encoding and decoding process increases
Solution Approach 1:
The two least significant bits are compressed in advance by selecting from 256 possible encodings before the main compression process. This preliminary encoding action simplifies the subsequent decompression process, as the encoder can directly select from pre-defined encoding patterns rather than performing complex calculations during real-time compression
Solution Approach 2:
The encoding selection mechanism acts as an intermediary between the two least significant bits and the final compressed output. Instead of directly compressing the bits through complex algorithms, the system uses an intermediate encoding layer that maps the bits to one of 256 possible patterns, simplifying the overall compression process while maintaining efficiency
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
A computer-implemented method for compressing, an input group of m data values comprising compressing the two least significant bits of each of the data values by mapping the two least significant bits of each of the data values in the input group of m data values collectively onto an m-bit encoding and storing the m-bit encoding, the m-bit encoding being selected from 2m m-bit encodings, the 2m m-bit encodings comprising a first group of encodings comprising (2m - 4) m-bit encodings and a second group of encodings comprising four m-bit encodings, wherein if the selected encoding is an encoding from the first group of encodings then the selected encoding represents the two least significant bits for a representative group of m data values in which the second least significant bit of each of the data values is the same as a respective bit of the m-bit encoding, and wherein if the selected encoding is an encoding from the second group of encodings then the selected encoding represents the two least significant bits for a representative group of m data values in which the two least significant bits for each of the data values in the representative group are equal to the two least significant bits of the other data values in the representative group.