Hierarchical Huffman Encoding for Multi-Dimensional Symbols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Huffman coding methods restrict symbol dimensionality and range of values to keep memory requirements low, leading to suboptimal codeword lengths and increased memory demands, especially for symbols with high data rates and statistical dependencies.

Innovation Solution

A flexible, hierarchical, and multi-dimensional Huffman coding scheme that extends symbol dimensionality with minor memory increases by using multi-dimensional symbols and escape sequences, allowing better adaptation of codeword lengths to symbol probabilities and exploiting statistical dependencies between neighboring symbols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If symbol dimensionality is extended to exploit statistical dependencies, then coding efficiency improves, but memory requirements increase

Engineering Contradiction:
Improvecoding efficiencyVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The codebook is segmented into multiple codebooks with different dimensions. Instead of using one large codebook that requires excessive memory, the system divides it into smaller codebooks of dimensions 1, 2, 3, and 4. The encoder selects the appropriate codebook dimension based on the statistical dependencies of the current symbol, thereby achieving high coding efficiency without requiring excessive memory for a single large codebook.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The codebook dimension is made dynamic rather than fixed. The encoder adaptively selects the codebook dimension (1-4) based on the statistical properties of the input symbol. This dynamic adaptation allows the system to exploit statistical dependencies when present (improving coding efficiency) while using smaller codebooks when dependencies are weak (reducing memory requirements).

Inventive Principle:
Principle #15Dynamics

2Productivity

If codeword length is adapted to symbol probabilities, then compression ratio improves, but codeword length may exceed predefined limits

Engineering Contradiction:
Improvecompression ratioVSAvoidcodeword length
Core Design Contradiction:
ProductivityVSLength of moving object

Solution Approach 1:

The codeword length is made dynamic through adaptive codebook selection. By selecting codebooks of different dimensions based on symbol probabilities and statistical dependencies, the system generates codeword lengths that are optimized for each specific symbol. This allows the compression ratio to improve when symbols have strong statistical patterns, while preventing excessively long codewords by switching to lower-dimensional codebooks when appropriate.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of codebook dimension (from 1 to 4) to optimize codeword length. When symbols exhibit strong statistical dependencies, higher-dimensional codebooks are used to achieve better compression. When dependencies are weak or codeword length approaches limits, lower-dimensional codebooks are selected, thereby maintaining codeword length within acceptable bounds while preserving compression efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2297856B1Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
Publication Date: 2023.01.04 FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
  • EP2297856B1 patent drawingFigure 1
  • EP2297856B1 patent drawingFigure 2A
  • EP2297856B1 patent drawingFigure 2B

AI summary

In a method for encoding a symbol it is determined whether the symbol can be encoded by a codeword of a first code- book. In case this is true, the appropriate codeword for the symbol is selected from the first codebook. Otherwise, a codeword is selected from the first codebook indicating that the symbol cannot be encoded by a codeword of the first codebook and the symbol is split into a plurality of first sub-symbols and for at least one of the first sub- symbols a codeword is selected from a second codebook. Also a corresponding method for decoding is described.