Aligned Fixed-Length Compression for Parallel Block Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression techniques, such as Huffman encoding, are computationally costly and inefficient due to their reliance on variable-length codes, which hinder parallel decoding and increase processing overhead.
Innovation Solution
A method involving a data storage controller that performs frequency analysis on equal-sized blocks of data, encoding frequently occurring blocks with unique fixed-length codes and infrequently occurring blocks with a common fixed-length code, organized in a compressed buffer with a header and masks, allowing for efficient compression and decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If variable-length encoding (Huffman encoding) is used to compress data, then data size is reduced, but decoding cannot be performed in parallel and processing becomes computationally costly
Solution Approach 1:
The patent changes the encoding parameter from variable-length to fixed-length codes. Each symbol is encoded with a predetermined fixed number of bits, allowing the decoder to process multiple symbols in parallel by reading fixed-width bit sequences simultaneously, thereby resolving the contradiction between compression ratio and decoding speed
Solution Approach 2:
The patent segments the compressed data into fixed-length code words that can be independently decoded. By organizing the compressed bitstream into aligned fixed-length units, the decoder can process multiple segments in parallel without needing to track variable boundaries, improving productivity while maintaining data size reduction
2Quantity of substance
If variable-length encoding is used to compress data, then data size is reduced, but computational complexity increases
Solution Approach 1:
The patent simplifies the encoding parameter structure by using fixed-length codes instead of variable-length codes. This eliminates the need for complex decoding logic to determine symbol boundaries, reducing computational complexity while maintaining effective data compression through selective encoding of frequent symbols
Solution Approach 2:
The patent uses simple fixed-length binary codes instead of complex variable-length Huffman codes. These simple codes are computationally inexpensive to encode and decode, reducing the computational complexity burden while still achieving compression goals through the selective application to frequent symbols
3Productivity
If fixed-length codes are used for all blocks, then decoding can be performed in parallel, but compression efficiency decreases
Solution Approach 1:
The patent applies different encoding strategies to different parts of the data based on local characteristics. Frequently occurring symbols are encoded with fixed-length codes for efficient parallel decoding, while less frequent symbols may use different encoding approaches, optimizing both decoding speed and compression efficiency locally across different symbol types
Data Source
AI summary
Systems and methods for performing compression of data. A data buffer is separated into equal-sized segments of data. A frequency count is performed to determine how often each segment of data appears in the data buffer. Frequently occurring segments are encoded with unique compression codes, while all other infrequently occurring segments are encoded with a common compression code. The compressed data buffer includes the compression codes, which are all of the same bit-length, and the uncompressed segments. The compression codes and the uncompressed segments are stored in the compressed data buffer in the order in which the corresponding segments appear in the original data buffer.


