Split-Bit Data Compression for Full-Range 10-Bit Images
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, while maintaining high image quality and reducing latency and power consumption.
Innovation Solution
A method involving dividing n-bit data values into two subsets, where the first subset comprises the most significant bits and the second subset comprises the least significant bits, using different compression schemes for each subset, allowing for efficient compression and decompression of 10-bit data values without requiring additional hardware for 10-bit specific units.
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 support for 10-bit data is achieved, but silicon area increases significantly
Solution Approach 1:
The 10-bit data value is divided into two separate subsets: the first subset contains the most significant bits (MSBs) and the second subset contains the least significant bits (LSBs). Each subset is then compressed using dedicated compression modules designed for their specific bit depth, allowing the system to handle 10-bit data without requiring a complete 10-bit compression unit
Solution Approach 2:
The compression unit is designed to handle multiple data types (8-bit and 10-bit) using a unified architecture. By segmenting 10-bit data into MSB and LSB subsets, the system can use existing 8-bit compression modules for the MSBs while adding a simpler dedicated module for the LSBs, achieving multi-functionality without proportionally increasing silicon area
2Loss of energy
If data is compressed before transfer to memory, then memory bandwidth is reduced and power consumption decreases, but compression and decompression processing time is added
Solution Approach 1:
The compression process is segmented into two independent parallel operations: compressing the MSB subset and compressing the LSB subset. This segmentation allows both compression operations to proceed simultaneously using separate compression modules, reducing the total processing time compared to sequential compression while maintaining the power consumption benefits of compression
Solution Approach 2:
The data is pre-processed by dividing it into MSB and LSB subsets before compression. This preliminary organization enables the compression modules to work efficiently on predetermined data segments, optimizing the compression process and reducing overall processing time
3Area of stationary object
If 10-bit data values are compressed using existing 8-bit compression modules, then silicon area is reduced, but the full range of 10-bit values cannot be supported
Solution Approach 1:
The 10-bit data value is segmented into an 8-bit MSB subset and a 2-bit LSB subset. The existing 8-bit compression modules process the MSB subset, preserving the majority of the data range, while a dedicated 2-bit compression module processes the LSB subset, together maintaining support for the complete 10-bit value range
Solution Approach 2:
Different compression approaches are applied to different parts of the data: the MSB subset (containing the most significant information) is processed by general-purpose 8-bit compression modules, while the LSB subset (containing the least significant information) is processed by a specialized 2-bit compression module, optimizing both area and precision
Data Source
AI summary
A computer-implemented method for compressing an n-bit data value, the method comprising dividing the n bits of the data value into a first subset of bits and a second subset of bits, the first subset comprising the n−2 most significant bits of the data value and the second subset comprising the two least significant bits of the data value; performing compression of the first subset using a first compression module; and performing compression of the second subset using a second compression module, the first and second compression modules implementing different compression schemes.


