Dynamic Huffman Coding with Periodic Regeneration for Faster Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic Huffman coding schemes are inefficient due to constant modification of the coding tree during encoding and decoding, leading to slow performance in high-speed applications requiring rapid data compression and decompression, especially in large data sets with unknown token frequency distributions.

Innovation Solution

A fast approximate dynamic Huffman coding method with periodic regeneration and precomputation, where the Huffman coding tree is updated less frequently, allowing for optimizations that enhance encoding and decoding speed while maintaining compatibility between data streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the Huffman coding tree is modified every time a token is encoded or decoded to adapt to dynamic data streams, then the compression ratio is improved, but the encoding and decoding speed deteriorates due to the expensive tree modification operations

Engineering Contradiction:
Improvecompression ratioVSAvoidencoding and decoding speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent implements periodic regeneration of the Huffman coding tree at predetermined intervals rather than modifying it continuously with every token. This periodic action allows the system to maintain good compression ratios by adapting to dynamic data patterns while significantly improving encoding and decoding speeds by avoiding expensive tree modification operations for every token processed.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent precomputes and stores coding information (code tables, bit lengths, and tree structures) in advance during regeneration periods. This preliminary action allows the decoder to operate efficiently using pre-computed data without performing expensive tree modifications during normal encoding and decoding operations, thus improving speed while maintaining compression quality.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the Huffman coding tree is constantly modified to track dynamic token frequency distributions, then the adaptability to changing data patterns is improved, but the complexity of the encoding and decoding process increases

Engineering Contradiction:
Improveadaptability to dynamic data patternsVSAvoidencoding and decoding process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By regenerating the Huffman tree periodically rather than continuously, the patent reduces the complexity of the encoding and decoding process. The periodic regeneration allows the system to adapt to changing data patterns while keeping the operational complexity low during normal processing, as the expensive tree modification operations are performed only at predetermined intervals rather than with every token.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent segments the processing into distinct phases: regeneration phases where the tree is rebuilt from scratch using collected frequency statistics, and normal processing phases where pre-computed coding information is used. This segmentation allows adaptability during regeneration while maintaining simplicity during normal operation, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #1Segmentation

3Reliability

If decoding operations are performed bit at a time to accommodate constantly changing codes, then compatibility between encoder and decoder is maintained, but the decoding speed deteriorates

Engineering Contradiction:
Improvecompatibility between encoder and decoderVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent precomputes complete coding information including code tables, bit lengths, and tree structures during regeneration phases. This preliminary action allows the decoder to perform faster batch decoding operations using the pre-computed information rather than processing bit-by-bit, significantly improving decoding speed while maintaining compatibility through the use of synchronized pre-computed data between encoder and decoder.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates complete copies of the Huffman tree structure and coding information and stores them in pre-computed tables. The decoder uses these copied structures for fast lookup-based decoding instead of traversing and modifying the tree structure in real-time, maintaining compatibility while achieving much faster decoding speeds through the use of pre-copied coding information.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7796059B2Fast approximate dynamic Huffman coding with periodic regeneration and precomputing
Publication Date: 2010.09.14 POSTQ IPR OY
  • US7796059B2 patent drawing
  • US7796059B2 patent drawing
  • US7796059B2 patent drawing

AI summary

A fast data compression method approximating dynamic Huffman coding for applications with exteremely large data sets is disclosed. The method includes periodic regeneration of the Huffman coding tables and use of precomputed information to speed up encoding and decoding.