ASG Huffman Tree Decoding with Sub-Tree Bit Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Huffman decoding methods are slow and memory-inefficient when dealing with arbitrary-side growing Huffman trees, as they require significant memory capacity and are not optimized for speed.

Innovation Solution

A decoder system that includes a database and processing module configured to store and process parameters for an arbitrary-side growing Huffman tree, using Hashemian cut and bits-pattern-Xor operations to divide the tree into sub-trees, and a bit pattern matching module to decode bits into symbols, optimizing the decoding process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single-side growing (SSG) Huffman tree is used for fast decoding, then decoding speed is improved, but memory capacity requirement increases significantly when the tree is arbitrary-side growing (ASG)

Engineering Contradiction:
Improvedecoding speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the ASG Huffman tree into multiple sub-trees using Hashemian cut (HC) operation and bits-pattern-Xor (BPX) operation. Each sub-tree is processed independently with optimized bit pattern matching, allowing fast decoding without requiring the entire tree to be loaded in memory simultaneously. This segmentation resolves the contradiction by enabling high-speed decoding of ASG trees while reducing peak memory requirements through divide-and-conquer processing.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If sequential decoding is used for Huffman codes, then memory usage is reduced, but decoding speed decreases

Engineering Contradiction:
Improvememory usageVSAvoiddecoding throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent performs preliminary organization of the Huffman tree into sub-trees with pre-computed bit patterns and code lengths stored in a database. During decoding, these pre-organized structures enable parallel processing of multiple bit patterns simultaneously, achieving high throughput without requiring excessive memory. The preliminary segmentation and organization allow the system to maintain low memory usage while achieving fast decoding through efficient pattern matching.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If an arbitrary-side growing Huffman tree is processed using SSG tree algorithms, then the algorithm can handle ASG trees, but decoding becomes slower and more memory-inefficient

Engineering Contradiction:
Improvetree structure compatibilityVSAvoiddecoding efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies different processing strategies to different parts of the Huffman tree. By segmenting the ASG tree into sub-trees and applying specialized HC and BPX operations to each sub-tree, the system maintains adaptability to arbitrary tree structures while achieving high decoding efficiency. Each sub-tree is optimized locally with appropriate bit pattern matching, resolving the contradiction between handling diverse tree structures and maintaining high decoding performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7663512B2Decoder and method for decoding a message using an arbitrary-side growing Huffman tree
Publication Date: 2010.02.16 HON HAI PRECISION INDUSTRY CO LTD
  • US7663512B2 patent drawing
  • US7663512B2 patent drawing
  • US7663512B2 patent drawing

AI summary

A decoder for decoding a message using an arbitrary-side growing (ASG) Huffman tree including a plurality of codewords and symbols includes a database, a processing module, and a bit pattern matching module. The database stores a plurality of parameters corresponding to the ASG Huffman tree divided into several sub-trees according to a Hashemian cut operation and a bits-pattern-Xor (BPX) operation. The plurality of parameters include a bit pattern of a sub-tree of the ASG Huffman tree divided according to the BPX operation and a code length of the bit pattern. The processing module receives a bit stream corresponding to the ASG Huffman tree from an encoder. The bit pattern matching module selects bits from the bit stream according to the code length of the bit pattern and decodes the selected bits into a symbol in the ASG Huffman tree by comparing the selected bits with the bit pattern.