Predefined Huffman Dictionary Selection for Fast High-Ratio Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods, particularly in the networking and storage industries, face challenges in achieving optimal compression ratios and rates due to the limitations of static and dynamic Huffman encoding, which either compromise on compression ratio or performance, and require complex hardware and computational overhead.

Innovation Solution

A method for automatically generating a bank of predefined Huffman dictionaries by applying a repetition removal algorithm, translating frequencies to probabilities, and building dynamic Huffman trees, allowing for the selection of an optimum dictionary based on file correlation and distribution, thereby achieving close-to-dynamic Huffman compression ratios at static Huffman compression rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If dynamic Huffman encoding is used to achieve optimal compression ratio, then compression ratio is improved, but computational overhead and processing time increase

Engineering Contradiction:
Improvecompression ratioVSAvoidcomputational overhead
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent pre-generates multiple Huffman dictionaries offline based on different file type characteristics (text, binary, compressed, etc.) before actual compression needs occur. These pre-computed dictionaries are stored and ready for immediate use, eliminating the need for real-time dynamic Huffman tree construction during compression operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically selects the most appropriate pre-generated Huffman dictionary based on the characteristics of the input file being compressed. By analyzing file properties and matching them with the最适合的预生成字典, the system achieves adaptive compression without the computational burden of real-time dictionary construction.

Inventive Principle:
Principle #15Dynamics

2Productivity

If static Huffman encoding is used to achieve optimal performance, then processing speed is improved, but compression ratio deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidcompression ratio
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent segments the compression process into two distinct phases: an offline phase where multiple specialized Huffman dictionaries are pre-generated for different file types, and an online phase where the appropriate dictionary is selected and applied. This segmentation allows computationally intensive operations to occur when processing speed is not critical.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of Huffman encoding by using different pre-generated dictionaries optimized for specific file types (text, binary, already-compressed files). Each dictionary is tailored with specific frequency distributions and symbol sets appropriate for its target file type, enabling high compression ratios without real-time computation.

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If dynamic Huffman trees are constructed in real-time, then compression ratio is improved, but latency increases

Engineering Contradiction:
Improvecompression ratioVSAvoidlatency
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

Huffman dictionaries are constructed in advance during an offline preparation phase, allowing time-consuming tree construction to occur when latency is not a constraint. The pre-built dictionaries are then immediately applicable during compression operations, eliminating real-time construction delays.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8542135B2Compression algorithm incorporating automatic generation of a bank of predefined huffman dictionaries
Publication Date: 2013.09.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8542135B2 patent drawing
  • US8542135B2 patent drawing
  • US8542135B2 patent drawing

AI summary

A system and method of selecting a predefined Huffman dictionary from a bank of dictionaries. The dictionary selection mechanism of the present invention effectively breaks the built-in tradeoff between compression ratio and compression rate for both hardware and software compression implementations. A mechanism is provided for automatically creating a predefined Huffman dictionary for a set of input files. The dictionary selection mechanism achieves high compression rate and ratio leveraging predefined Huffman dictionaries and provides a mechanism for dynamically speculating which predefined dictionary to select per input data block, thereby achieving close to a dynamic Huffman ratio at a static Huffman rate. In addition, a feedback loop is used to monitor the ongoing performance of the preset currently selected for use by the hardware accelerator. If the current preset is not optimal it is replaced with an optimal preset.