Huffman Code Table Generation with Merged Low-Frequency Symbols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dynamic Huffman coding requires significant processing time and circuit resources when dealing with a large number of symbols, as it constructs a Huffman tree and determines code lengths for each symbol, leading to inefficiencies in code table generation.
Innovation Solution
The code table generation device reduces processing by dividing symbols into top K high-frequency symbols and (N-K) low-frequency symbols, treating the latter as a single leaf node or representative symbol, thereby reducing the number of leaf nodes in the Huffman tree and processing requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dynamic Huffman coding constructs a Huffman tree for all symbols, then coding efficiency is optimized, but processing time and circuit resources increase significantly
Solution Approach 1:
The patent segments symbols into two categories: high-frequency symbols (top K) and low-frequency symbols (remaining N-K). The Huffman tree is constructed only for high-frequency symbols, while low-frequency symbols are handled separately with a simplified encoding approach. This segmentation reduces the tree construction complexity from O(N) to O(K), where K << N, thereby reducing processing time while maintaining coding efficiency for the majority of symbols.
Solution Approach 2:
The patent merges all low-frequency symbols into a single representative node or handles them with a default encoding scheme. This merging reduces the number of leaf nodes in the Huffman tree from N to K+1 (or fewer), significantly reducing the circuit scale and processing time required for tree construction while accepting a minor trade-off in compression efficiency for the low-frequency portion.
2Measurement precision
If dynamic Huffman coding constructs a Huffman tree for all symbols, then accurate code length determination is achieved, but circuit scale increases
Solution Approach 1:
The patent segments the symbol set into high-frequency and low-frequency groups, constructing the Huffman tree only for the high-frequency group (top K symbols). This reduces the number of gates and circuit elements required for tree construction and code length determination, as the circuit complexity is proportional to the number of symbols processed. Low-frequency symbols are encoded using a simplified mechanism, reducing overall circuit scale.
Solution Approach 2:
The patent extracts low-frequency symbols from the main Huffman tree construction process and handles them separately. By removing these symbols from the tree building process, the circuit scale is reduced without significantly impacting overall coding efficiency, since low-frequency symbols contribute minimally to the total compressed data size.
3Productivity
If dynamic Huffman coding processes all symbol types, then optimal compression is achieved, but processing complexity increases
Solution Approach 1:
The patent divides symbols into high-frequency (top K) and low-frequency (N-K) groups, applying different processing strategies to each. The complex Huffman tree construction is applied only to the high-frequency group where it provides maximum benefit, while the low-frequency group uses a simpler encoding approach. This segmentation maintains high compression ratios for the dominant high-frequency symbols while reducing overall processing complexity.
Solution Approach 2:
The patent applies different levels of processing quality to different symbol groups: optimal Huffman coding for high-frequency symbols (where compression benefit is highest) and simplified encoding for low-frequency symbols (where compression benefit is minimal). This local quality approach optimizes the trade-off between compression ratio and processing complexity by concentrating computational resources where they provide the most value.
Data Source
AI summary
According to one embodiment, a code table generation device includes a table generation unit, a merge unit and a tree generation unit. The table generation unit generates a frequency table including symbols and frequencies of occurrence respectively associated with the symbols, based on a frequency of occurrence for each symbol of input symbols. The merge unit acquires top K symbols in descending order of the frequencies of occurrence and remaining symbols from the symbols, divides the remaining symbols into one or more symbol sets, and determines a frequency of occurrence associated with a root node of each of subtrees correspond to the respective symbol sets. The tree generation unit generates a Huffman tree using the K symbols and the root node of each of the subtrees.


