Variable-Length Data Compression with Fast Mask-Based Decompression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression and decompression methods using variable-length Huffman encoding are sequential, leading to slow decompression and inefficiencies, especially when frequent values appear in standard positions, and existing compressors are not effective when frequent values occur in specific locations within a data block.
Innovation Solution
The proposed solution involves a data compression device and method that uses a data value mask to indicate the presence of specific values in a data block, allowing for the omission of variable-length codewords for equal values, and a decompression device that reads this mask to reconstruct the original data values efficiently, improving compression and decompression latency by recording variable-length encoded values and using aggressive compression techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If variable-length Huffman encoding is used for data compression, then compression ratio is improved, but decompression speed deteriorates due to sequential processing requirements
Solution Approach 1:
The patent segments the decompression process by introducing length masks that divide the compressed data stream into fixed-length segments. Each segment's length is predetermined by the mask, allowing parallel processing of multiple segments simultaneously rather than sequential processing, thus resolving the speed bottleneck while maintaining compression efficiency
Solution Approach 2:
The patent performs preliminary action by pre-calculating and storing length masks during the compression phase. These masks contain length information that enables the decompression stage to skip ahead to specific positions without sequential decoding, effectively preparing the data structure in advance to enable faster decompression
2Reliability
If standard Huffman encoding processes all data values, then completeness is maintained, but processing efficiency deteriorates when frequent values appear in specific positions
Solution Approach 1:
The patent extracts frequently occurring values from the standard Huffman encoding process and handles them separately using length masks. By identifying and extracting these repetitive patterns, the system processes only the unique or less frequent values through full Huffman decoding while efficiently reconstructing the extracted frequent values, thereby improving processing efficiency without sacrificing data completeness
Solution Approach 2:
The patent applies local quality by treating different portions of the data differently based on their characteristics. Frequent values in specific positions are handled with optimized length-mask-based reconstruction, while other values undergo standard Huffman decoding, allowing the system to apply the most efficient processing method to each local region of the data
Data Source
AI summary
Methods, devices and systems for a compressor and a decompressor for encoding and decoding data in the cache/memory/data transferring subsystem in a computer system or in a communication network are described herein. Example variable-length compressors and decompressors are able to: compress more densely when specific values occur in specific positions in a data block; to improve compression and decompression latency when specific values that appear frequently occur in a data block; to also improve decompression latency by recording the lengths of variable-length encoded values of a compressed data block. The compressor and decompressor are able to support compression and decompression of common compression scenarios that are used in combination with variable-length compression to improve compressibility in the cache/memory/data transferring subsystem in a computer system or in a communication network.


