Dynamic Huffman Table Generation With Reduced-Bit Symbol Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing DEFLATE compression algorithm requires a large number of latches and resources for sorting symbol counts during dynamic Huffman table generation, which is expensive in terms of area, power, and timing/wiring considerations.

Innovation Solution

A method and accelerator configuration that reduces the latch count by mapping 24-bit symbol frequencies to a 10-bit float-like representation using a 5-bit shift field and 5-bit mantissa, allowing for reduced-bit mapping and sorting of symbol counts, thereby generating a dynamic Huffman tree with fewer resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full-precision symbol counts are used for sorting during dynamic Huffman table generation, then sorting accuracy is improved, but latch count and hardware area increase significantly

Engineering Contradiction:
Improvesorting accuracyVSAvoidlatch count
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent changes the parameter representation from full-precision integer counts to a reduced-bit format using exponent-mantissa pairs. Symbol counts are transformed into exponential form where the exponent represents the magnitude order and the mantissa represents the significant digits, allowing accurate sorting with fewer bits. This parameter transformation resolves the contradiction by maintaining sorting accuracy while reducing the latch count from what would be required for full-precision storage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the symbol count value into two separate components: an exponent field and a mantissa field. The exponent (stored in fewer bits) captures the scale of the count, while the mantissa (stored in reduced bits) captures the significant variation. This segmentation allows the sorting operation to work with smaller, divided data structures rather than requiring full-precision latches, thus reducing hardware area while preserving sorting accuracy.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If full-precision symbol counts are used for sorting, then sorting accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvesorting accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

By transforming symbol counts into exponential representation with reduced-bit exponents and mantissas, the patent reduces the total number of bits that need to be processed, stored, and compared during sorting. Fewer bits mean fewer logical operations, smaller data paths, and reduced switching activity, all of which directly降低 power consumption while maintaining the accuracy needed for correct sorting.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Segmenting the count into exponent and mantissa allows independent optimization of each field's bit width. The exponent can use very few bits since it only needs to represent the order of magnitude, and the mantissa uses reduced bits for the significant figures. This segmentation reduces the total computational burden and power consumption compared to processing full-precision counts.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If full-precision symbol counts are used for sorting, then sorting accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvesorting accuracyVSAvoidtiming and wiring complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the data representation to exponential form with explicit exponent and mantissa fields, which simplifies the sorting logic. Instead of comparing full-precision integers requiring wide comparators and complex timing, the system compares exponents first (determining magnitude order) and then mantissas only when exponents are equal. This parameter transformation reduces timing complexity and wiring requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

By segmenting the symbol count into exponent and mantissa components, the patent enables a two-stage sorting process that is less complex than single-stage full-precision sorting. The exponent comparison is simpler and can be done with fewer bits, reducing comparator width and timing constraints. The mantissa comparison is performed only conditionally, further reducing average complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10693493B1Reducing latch count to save hardware area for dynamic Huffman table generation
Publication Date: 2020.06.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10693493B1 patent drawing
  • US10693493B1 patent drawing
  • US10693493B1 patent drawing

AI summary

Embodiments of the invention are directed to a DEFLATE compression accelerator and to a method for reducing a latch count required for symbol sorting when generating a dynamic Huffman table. The accelerator includes an input buffer and a Lempel-Ziv 77 (LZ77) compressor communicatively coupled to an output of the input buffer. The accelerator further includes a Huffman encoder communicatively coupled to the LZ77 compressor. The Huffman encoder includes a bit translator. The accelerator further includes an output buffer communicatively coupled to the Huffman encoder.