Flexible Huffman Tree Approximation for Low-Latency Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Huffman encoding, while optimal for integer length codes, is inefficient in terms of computing resources and poses challenges for hardware implementations, particularly in achieving low latency and high-speed encoding.

Innovation Solution

A new algorithm, Quantization Interval Huffman Approximation (QuIHA), approximates Huffman coding by using phases such as Shannon-based binning, code space optimization, tree completion, and code assignment, which allows for efficient encoding with reduced computing resources and latency, suitable for hardware implementations like FPGAs and ASICs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If Huffman encoding is used, then optimal compression ratio is achieved, but computing resource efficiency deteriorates and latency increases

Engineering Contradiction:
Improvecompression ratioVSAvoidencoding speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the Huffman encoding process into distinct phases: probability calculation, code generation, and encoding execution. This segmentation allows parallel processing of multiple symbols during the encoding phase, significantly improving throughput while maintaining optimal compression ratios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-calculating and storing Huffman codes in lookup tables during an initialization phase. This pre-computation eliminates the need for real-time tree traversal during actual encoding, reducing latency and enabling high-speed hardware implementation without sacrificing compression optimality.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If traditional Huffman encoding is used, then optimal integer length codes are achieved, but hardware implementation complexity increases

Engineering Contradiction:
Improvecode optimalityVSAvoidhardware implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent uses lookup tables that store pre-computed Huffman codes as copies of the optimal coding scheme. Instead of implementing complex real-time tree traversal logic in hardware, the system copies the essential information (code assignments) into accessible memory structures, dramatically simplifying hardware while preserving code optimality.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical tree-traversal process with a direct memory access system. Instead of physically navigating through tree structures using comparators and switches, the system substitutes this mechanical process with electronic lookup in pre-computed tables, reducing hardware complexity and improving speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If Huffman encoding is used, then optimal compression is achieved, but latency increases due to computational overhead

Engineering Contradiction:
Improvecompression efficiencyVSAvoidencoding latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs all computationally intensive operations (probability calculation, code generation) in advance during an initialization phase. The results are stored in lookup tables, allowing the actual encoding to proceed with minimal computation and latency, thus resolving the time-efficiency tradeoff.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system serves itself by automatically generating and storing the Huffman codes during initialization without requiring external intervention or real-time computation. This self-service approach eliminates ongoing computational overhead during encoding operations, reducing latency while maintaining compression efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10862509B1Flexible huffman tree approximation for low latency encoding
Publication Date: 2020.12.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10862509B1 patent drawing
  • US10862509B1 patent drawing
  • US10862509B1 patent drawing

AI summary

Techniques are described for encoding symbols using a new algorithm that provides a flexible Huffman tree approximation and that can be used for low latency encoding. For example, the new algorithm can perform encoding using one or more of the following phases: Shannon-based binning, code space optimization, tree completion, and code assignment.