Dynamic Huffman Table Generation With Reduced-Bit Symbol Sorting
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If full-precision symbol counts are used for sorting, then sorting accuracy is improved, but power consumption increases
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.
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.
3Measurement precision
If full-precision symbol counts are used for sorting, then sorting accuracy is improved, but device complexity increases
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.
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.
Data Source
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.


