Tunstall Code Decoder Architecture for Parallel Symbol Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing decoders for Tunstall codes, particularly in the context of resource-constrained devices, suffer from inefficient decoding processes, leading to high computational complexity and slow inference speeds due to variable-length codewords, which are difficult to decode in parallel.

Innovation Solution

Implement a Tunstall decoder comprising a sub-decoder, symbol memory, and controller to efficiently decode Tunstall codes using a Tunstall tree structure, allowing for parallel processing of multiple symbols and reducing decoding complexity to O(n) by comparing input codewords with stored codewords at each level of the tree.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If Fixed-to-Variable (F2V) coding methods such as Huffman coding are used to compress quantized weights, then compression ratio is improved, but decoding complexity increases significantly and decoding speed decreases

Engineering Contradiction:
Improvecompression ratioVSAvoiddecoding speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent inverts the conventional F2V coding approach by using Variable-to-Fixed (V2F) Tunstall coding. Instead of encoding fixed-length symbols into variable-length codewords for compression, the system encodes variable-length symbol sequences into fixed-length codewords. This inversion enables parallel decoding by allowing the entire codeword to be processed simultaneously rather than requiring sequential bit-by-bit processing, thus maintaining high compression ratios while dramatically improving decoding speed.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent segments the decoding process into multiple parallel processing units that can simultaneously decode different fixed-length codewords. By dividing the decoding task into independent parallel segments, the system achieves high throughput while maintaining the compression benefits of entropy coding. Each processing unit handles fixed-length codewords independently, enabling parallel execution without complex synchronization.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If variable-length codewords are used in F2V coding methods, then compression efficiency is improved, but parallel processing becomes difficult and decoding complexity increases to O(n·k)

Engineering Contradiction:
Improvecompression efficiencyVSAvoiddecoding complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent fundamentally inverts the coding direction from F2V to V2F. Conventional F2V methods map fixed-length symbols to variable-length codewords, making parallel processing difficult. The patent instead maps variable-length symbol sequences to fixed-length codewords, enabling simple parallel processing with O(n) complexity while preserving compression efficiency through the entropy-coded structure of the V2F mapping.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent changes the fundamental parameter of codeword length from variable to fixed. By transforming the codeword representation from variable-length to fixed-length, the system enables efficient parallel processing and reduces decoding complexity from O(n·k) to O(n), while maintaining compression efficiency through the statistical properties exploited by the Tunstall coding scheme.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If conventional F2V decoding methods are used, then compression is achieved, but memory access requirements increase and energy consumption rises due to sequential processing

Engineering Contradiction:
ImprovecompressionVSAvoidenergy consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent inverts the coding paradigm to enable more efficient memory access patterns. By using fixed-length V2F codewords instead of variable-length F2V codewords, the system can load and process multiple codewords simultaneously from memory, reducing memory access latency and energy consumption. The fixed-length structure allows for predictable memory access patterns that can be optimized for parallel processing architectures.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent performs preliminary encoding offline to create the V2F codebook mapping, which is then stored for efficient online decoding. This preliminary action allows the online decoding phase to simply perform table lookups and comparisons rather than complex sequential processing, significantly reducing real-time computational requirements and energy consumption during inference.

Inventive Principle:
Principle #10Preliminary action

4Area of stationary object

If resource-constrained devices with limited memory are used, then device area is reduced, but memory capacity for storing weights becomes insufficient for complex neural networks

Engineering Contradiction:
Improvechip areaVSAvoidmemory capacity
Core Design Contradiction:
Area of stationary objectVSQuantity of substance

Solution Approach 1:

The patent changes the bit representation parameters by using V2F Tunstall coding to compress weight values into fixed-length codewords with fewer bits. This parameter transformation reduces the memory capacity requirement by achieving higher compression ratios while maintaining numerical precision through the entropy-coded structure, allowing complex neural networks to fit within limited on-chip memory resources.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent inverts the conventional approach of storing raw or quantized weight values by instead storing compressed V2F codewords. This inversion of the storage representation achieves significant memory capacity reduction, enabling resource-constrained devices to store larger neural network models within limited memory resources while maintaining inference accuracy.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12592719B2Decoders for decoding a codeword of a tunstall code
Publication Date: 2026.03.31 NANYANG TECH UNIV
  • US12592719B2 patent drawing
  • US12592719B2 patent drawing
  • US12592719B2 patent drawing

AI summary

A decoder for decoding a codeword of a Tunstall code is provided, including: a sub-decoder configured to receive an input codeword of the Tunstall code to the decoder and output a decoded symbol of the input codeword; a symbol memory configured to receive and store the decoded symbol of the input codeword from the sub-decoder; and a controller configured to control the symbol memory to output one or more decoded symbols stored in the symbol memory. The sub-decoder includes: a node memory configured to store, for a plurality of nodes of a Tunstall tree of the Tunstall code corresponding to a first level of the Tunstall tree, a plurality of codewords of the Tunstall code assigned to the plurality of nodes, respectively; and a comparator configured to compare the input codeword with the plurality of codewords assigned to the plurality of nodes corresponding to the first level of the Tunstall tree received from the node memory and produce the decoded symbol of the input codeword with respect to the first level of the Tunstall tree based on the comparison. Another decoder for decoding a codeword of a Tunstall code is also provided, including: a symbol memory comprising a plurality of memory entries, each memory entry having stored therein one or more decoded symbols of a codeword of the Tunstall code corresponding to the memory entry; and a controller configured to receive an input codeword of the Tunstall code to the decoder and control the symbol memory to output the one or more decoded symbols stored in one of the plurality of memory entries corresponding to the input codeword.