LZSS Multi-Dictionary Compression for Variable Window Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression algorithms, such as the deflate algorithm, face inefficiencies due to static window and dictionary sizes that do not optimize compression ratios, leading to suboptimal compression ratios and increased space requirements for transmitting tree definitions.

Innovation Solution

A method that generates multiple 'virtual' dictionary and window sizes to determine the optimal combination for maximum compression, allowing for dynamic adjustment of dictionary and window sizes during the compression process, and optionally performs a post-processing pass to further optimize the output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed Huffman coding tree is used, then the encoding process is simpler and faster, but the compression ratio is lower because the tree may not accurately represent the actual probabilities

Engineering Contradiction:
Improvecompression ratioVSAvoidencoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic dictionary and window sizes that can be adjusted during compression based on the actual data characteristics. Instead of using static sizes, the system dynamically selects from multiple predefined sizes (e.g., 1K, 2K, 4K, 8K, 16K, 32K, 64K, 128K) to optimize compression ratios for different data patterns while maintaining manageable encoding complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters of dictionary and window sizes during the compression process. By examining data characteristics and selecting from multiple predefined size combinations, the patent adjusts these parameters to achieve better compression ratios without requiring the transmission of full tree definitions, thus balancing compression efficiency with encoding simplicity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If an optimal Huffman coding tree is generated and transmitted, then the compression ratio improves, but the space required to send the tree definition reduces the compression ratio

Engineering Contradiction:
Improvecompression ratioVSAvoidtransmission space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts and transmits only the essential elements needed for decompression - specifically the selected dictionary and window size parameters - rather than transmitting the complete Huffman tree definition. This selective transmission approach maintains improved compression ratios while significantly reducing the overhead space required for tree definition transmission.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of transmitting the full optimal Huffman tree, the system transmits a partial representation (the size parameters) that is sufficient for the decompressor to reconstruct the necessary information. This partial transmission approach achieves the desired compression improvement without the excessive space cost of full tree definition transmission.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If static window and dictionary sizes are used, then the algorithm is simpler to implement, but the compression ratio is suboptimal because the sizes may not be optimal for every data stream

Engineering Contradiction:
Improvecompression ratioVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic selection of dictionary and window sizes from multiple predefined options based on the characteristics of the input data stream. The system examines the data and selects the most appropriate size combination (e.g., 1K-1K, 2K-2K, 4K-4K, etc.) to optimize compression ratios for different data patterns, moving beyond static single-size implementations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the compression process into multiple passes or evaluations, examining different dictionary and window size combinations to determine which provides the best compression for the specific data stream. This segmentation approach allows the system to find optimal parameters without requiring a single complex adaptive algorithm, balancing simplicity with performance.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7889102B2LZSS with multiple dictionaries and windows
Publication Date: 2011.02.15 RED HAT INC
  • US7889102B2 patent drawing
  • US7889102B2 patent drawing
  • US7889102B2 patent drawing

AI summary

A method and apparatus for compressing data is described. An input string to be compressed is received. The input string is encoded with compressor using a compression algorithm using several sizes of dictionaries and windows. The compressor processes the input string with a selected size of the dictionary and window yielding the most compression of the input string among the different sizes of dictionaries and windows.