Dictionary Compression with Partial Matching and Variable Bit Lengths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional dictionary-based data compression algorithms often result in fixed or limited variable bit lengths, which can lead to suboptimal compression ratios, especially for repetitive input streams.
Innovation Solution
A method and apparatus that uses a dictionary-based compressor to generate variable bit lengths by looking backward in the input string to determine the last occurrence of characters, allowing for prediction by partial matching and constructing coding tables based on recent input context, thereby generating both a code stream and a literals stream for efficient compression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If conventional dictionary-based compression algorithms use fixed or limited variable bit lengths, then the encoding scheme is simple and easy to implement, but the compression ratio is suboptimal
Solution Approach 1:
The patent implements dynamic bit length assignment where the number of bits used to encode dictionary indices varies based on the current state of the dictionary and the frequency of pattern occurrences. Instead of fixed bit lengths, the system adaptively adjusts code lengths to optimize compression while maintaining implementation feasibility through structured dynamic allocation
2Loss of substance
If the compressor uses prediction by partial matching with coding tables based on recent input context, then the compression ratio improves, but the device complexity increases
Solution Approach 1:
The patent segments the input stream into patterns that match dictionary entries, processing matches separately from literal characters. The compression algorithm divides work into: (1) pattern matching against dictionary, (2) literal character handling, and (3) code stream generation, allowing complex compression through coordinated simple operations
Solution Approach 2:
The system performs preliminary actions by pre-building the dictionary from the input stream before final encoding, and by maintaining coding tables that are pre-computed based on recent input context. This preliminary preparation enables more efficient compression during the actual encoding phase without requiring complex real-time calculations
Data Source
AI summary
A method and apparatus for compressing data is described. A compressor builds a dictionary associated with the characters in the input string. A table in the dictionary is generated by looking backward from a current character being encoded in the input string to determine the last time the most recent one or more characters have occurred. The compressor determines whether the following characters at a point of encoding matches the next character being encoded.


