Parallel Prefix-Code Decoding with Leftover Bit Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decoding variable-length prefix codes is difficult to parallelize due to unknown boundaries between code words, limiting hardware efficiency and throughput in existing decoding processes.

Innovation Solution

The method involves preprocessing a stream of prefix code words into fixed-width chunks, using parallel decoder circuits and subsequent stages of leftover bit propagation to enable pipelined decoding, reducing dependence paths and allowing parallelization across inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If variable-length prefix codes are decoded using traditional sequential methods, then decoding accuracy is maintained, but throughput is limited and hardware efficiency is reduced

Engineering Contradiction:
Improvedecoding throughputVSAvoiddecoder structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The input bit stream is segmented into fixed-length words, where each word contains a portion of one or more encoded symbols. This segmentation enables parallel processing of multiple words simultaneously through multiple decoder circuits, thereby increasing throughput while maintaining manageable complexity through modular architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential one-dimensional processing to parallel multi-dimensional processing by introducing multiple decoder circuits that operate simultaneously on different fixed-length words. Multiple sets of decoder circuits process different portions of the bit stream in parallel, effectively adding a temporal parallelism dimension to the decoding process

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If parallel decoder circuits are used to increase throughput, then decoding speed improves, but handling variable-length boundaries becomes difficult

Engineering Contradiction:
Improvedecoding speedVSAvoidcode word boundary detection
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The bit stream is pre-processed into fixed-length words before parallel decoding begins. This preliminary action establishes uniform processing units that can be handled by parallel decoder circuits without requiring dynamic boundary detection during the decoding process itself, thereby enabling high-speed parallel operation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Fixed-length words serve as intermediaries between the variable-length prefix code stream and the parallel decoder circuits. These intermediary structures provide a uniform interface that masks the underlying variable-length nature of the codes, allowing parallel decoders to operate efficiently without directly confronting boundary detection complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If fixed-length words are used for parallel processing, then hardware efficiency increases, but precise symbol boundaries may be lost

Engineering Contradiction:
Improvehardware efficiencyVSAvoidsymbol boundary information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system employs feedback mechanisms where decoder circuits exchange information about their processing state and results. This feedback enables the system to track and reconstruct symbol boundaries across the fixed-length word boundaries, ensuring that no information is lost despite the fixed-length segmentation used for parallel processing

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12438557B2Parallelized decoding of variable-length prefix codes
Publication Date: 2025.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12438557B2 patent drawing
  • US12438557B2 patent drawing
  • US12438557B2 patent drawing

AI summary

Methods and systems are provided for decoding variable-length codes in a parallel process. A stream of variable-length code words is divided into fixed length words. A plurality of parallel sets of decoder circuits each receive, in parallel, a current fixed length word and a prior fixed length word. Each decoder circuit has a respective fixed leftover bit-count. Each decoder circuit generates a respective output that may include a decoded symbol and a new leftover bit-count. Each respective output is determined based on the respective current fixed length word, the respective prior fixed length word, and the respective fixed leftover bit-count. A set of selected decoder circuit outputs is generated for each set of the parallel sets of decoder circuits based on a set of first leftover bit-counts. One output from each set of selected decoder circuit outputs is selected as a final output based on a second prior leftover bit-count.