Variable-Length Symbol Decoding with Block Pre-Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Variable length symbol encoding schemes in data compression restrict throughput due to the need for sequential decoding, limiting parallel processing capabilities and resulting in inefficient decompression.

Innovation Solution

Divide encoded data into fixed-length blocks and pre-process each block to determine the starting position of symbols, allowing for parallel decoding by storing look-up tables to quickly identify symbol positions, enabling high-bandwidth pipelined decompression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential decoding is used for variable length symbols, then decoding accuracy is maintained, but throughput is significantly restricted

Engineering Contradiction:
ImprovethroughputVSAvoiddecoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the encoded data stream into fixed-length blocks, where each block contains a predetermined number of bits. This segmentation allows parallel processing of multiple blocks simultaneously, transforming the inherently sequential variable-length decoding problem into a parallelizable fixed-block structure. Each block can be processed independently once the starting position is determined, enabling high-throughput parallel decoding architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs pre-processing on each block before full decoding to determine the starting position of the first symbol within that block. This preliminary action involves analyzing the block structure and calculating where the first valid symbol begins, allowing subsequent parallel decoding operations to proceed efficiently without backtracking or sequential dependency. The starting position determination is performed in advance for all blocks, enabling pipelined processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If variable length encoding is used for data compression, then compression ratio is improved, but parallel processing capability is limited

Engineering Contradiction:
Improvedecompression speedVSAvoidprocessing simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

By segmenting the variable-length encoded stream into fixed blocks and determining starting positions for each block, the patent enables parallel processing units to work on multiple blocks simultaneously. This maintains the compression benefits of variable-length encoding while achieving high decompression speeds through parallel execution of multiple block decodings.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pre-processing step that determines starting positions for all blocks before full decoding enables simplified parallel processing. Once starting positions are known, multiple blocks can be decoded in parallel without complex synchronization or dependency management, greatly improving decompression speed while maintaining processing simplicity.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If sequential decoding is performed, then memory requirements are reduced, but processing time increases

Engineering Contradiction:
Improveprocessing timeVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

Dividing data into fixed blocks with predetermined sizes allows the system to process multiple blocks in parallel using the same memory structures repeatedly. Each block uses a fixed amount of memory for its decoding process, and the same memory can be reused across different blocks and processing cycles, preventing memory usage from scaling with the total data size while dramatically reducing total processing time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9088297B2High throughput decoding of variable length data symbols
Publication Date: 2015.07.21 MEDIATEK INC
  • US9088297B2 patent drawing
  • US9088297B2 patent drawing
  • US9088297B2 patent drawing

AI summary

A method of decoding data includes: receiving an encoded data stream transmitted as a plurality of variable length symbols; dividing the data stream into a sequence of blocks, each block having a sequence of adjacent bit positions starting a first bit position and ending with a last bit position; pre-processing each block prior to fully decoding each block, wherein pre-processing includes, for each block, selecting a bit position in a current block and determining a starting position of a first symbol in an adjacent block based on the selected bit position, wherein determining is initially performed for the last bit position in the current block, and is repeated sequentially for each preceding bit position through and including the first bit position; and fully decoding each block by decoding a first block starting at the first bit position and decoding each adjacent block starting at the starting position.