Paletted Data Compression for Four-to-One Ratio
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression techniques, such as variable-width differential compression (VDC), struggle to achieve high compression ratios, particularly a four-to-one compression ratio, which is necessary to reduce bandwidth requirements in computer systems like GPUs, where efficient memory access is crucial.
Innovation Solution
A subsystem employing a paletted compression method that processes sequences of four bytes, determines non-zero bytes, generates a five-bit header based on their number and position, and appends data bits to achieve a four-to-one compression ratio by efficiently encoding sequences of zeros and varying data lengths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If variable-width differential compression (VDC) is used, then data compression is achieved, but the compression ratio is limited and cannot reach four-to-one
Solution Approach 1:
The patent segments the data stream into 4-byte groups and processes each group independently using a 5-bit header encoding scheme. This segmentation allows the encoder to efficiently represent sequences of zeros (common in video data) with minimal bits, achieving the target four-to-one compression ratio that VDC cannot attain with its traditional approach.
Solution Approach 2:
The patent changes the encoding parameters by using a 5-bit header to represent the number and position of non-zero bytes within each 4-byte group, rather than using fixed-width or differential encoding. This parameter change enables more efficient representation of data patterns, particularly sequences of zeros, thereby achieving higher compression ratios.
2Quantity of substance
If higher compression ratios are achieved, then bandwidth to DRAM is reduced, but data transmission and processing efficiency may be compromised
Solution Approach 1:
The patent performs preliminary organization of data into 4-byte groups with 5-bit headers that encode the position and count of non-zero bytes. This preliminary structuring facilitates efficient decompression and processing, as the decoder can quickly skip over sequences of zeros indicated by the header, maintaining processing efficiency while achieving high compression ratios and reduced bandwidth usage.
Data Source
AI summary
A subsystem configured to encode an RGBA8 data stream assembles sequences of four-byte groups from the data stream. The subsystem decorrelates the red and blue channels, and computes a difference between each four-byte group and an anchor value. The anchor is encoded at full value. The subsystem then assigns each group a five-bit header based on the number and location of non-zero bytes and on the data content of the non-zero bytes within the group. The subsystem favors zero valued bytes. Thus, when a group includes only zero valued bytes, the header is sufficient to encode the group; no data bits are necessary. Further, two successive groups of zero-valued bytes may be encoded as a single header with no data bits, achieving further data reduction. Finally, the subsystem concatenates all the headers with associated data to yield the source data stream compressed to some ratio, e.g. four-to-one.


