Dictionary Compression with Partial Matching and Variable Bit Lengths

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of implementationVSAvoidcompression ratio
Core Design Contradiction:
Ease of manufactureVSLoss of substance

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

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecompression ratioVSAvoidalgorithm complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7872596B2Dictionary-based compression
Publication Date: 2011.01.18 RED HAT INC
  • US7872596B2 patent drawing
  • US7872596B2 patent drawing
  • US7872596B2 patent drawing

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.