Variable-Length Symbol Encoding for Parallel Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inherent sequential nature of decoding variable length symbol streams in data compression formats makes parallel decoding difficult, limiting the efficiency of data processing in computer systems.

Innovation Solution

A source system partitions an initial symbol stream into multiple symbol sub-streams, converts them into fixed bit-width data chunks with corresponding pull timing information, and multiplexes them into a bit stream for parallel decoding by multiple decoders at a destination system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If variable length symbols are used in data compression, then compression efficiency is improved, but decoding must be sequential which reduces processing speed

Engineering Contradiction:
Improvecompression efficiencyVSAvoiddecoding speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent divides the variable length symbol stream into multiple fixed-width data chunks, where each chunk contains a fixed number of bits (e.g., 16 bits). This segmentation allows multiple decoders to process different chunks simultaneously in parallel, transforming the inherently sequential decoding process into a parallel one while maintaining compression efficiency through the original variable length encoding scheme.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If variable length symbols are used, then data size is reduced, but the decoding process becomes inherently sequential

Engineering Contradiction:
Improvedata sizeVSAvoiddecoding process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the compressed data stream into fixed-width chunks that can be independently decoded. Each chunk is processed by a separate decoder unit, allowing parallel execution. The system includes multiple decoders (e.g., Decoder A, Decoder B) that simultaneously decode different chunks, reducing overall decoding time while maintaining the data compression achieved through variable length encoding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by processing multiple data chunks simultaneously across different decoder units. Instead of processing one variable length symbol at a time sequentially, the system processes multiple fixed-width chunks in parallel across multiple decoder instances, effectively adding a temporal and spatial dimension to the decoding process.

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

3Ease of manufacture

If sequential decoding is used for variable length symbols, then implementation is simpler, but processing throughput is limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent divides the decoding task into multiple independent segments (fixed-width data chunks) that can be processed in parallel. Each decoder unit handles a specific chunk independently, and the results are combined to form the complete decoded output. This segmentation enables throughput scaling by adding more decoder units without significantly increasing implementation complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple parallel decoding operations into a unified system architecture. Multiple decoders process different data chunks simultaneously, and their outputs are combined to produce the final decoded symbol stream. This merging of parallel processes achieves high processing throughput while maintaining relatively simple individual decoder implementations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10721019B2Encoding variable length symbols to enable parallel decoding
Publication Date: 2020.07.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10721019B2 patent drawing
  • US10721019B2 patent drawing
  • US10721019B2 patent drawing

AI summary

An approach is provided in which a source system selects a symbol in a first bit stream that is partitioned into at least a first data chunk and a second data chunk. The beginning of the selected symbol resides in the first data chunk. The source system generates a first pull timing indicator in response to determining that at least a portion of the selected first symbol resides in the second data chunk. The source system generates a multiplexed bit stream by combining the first bit stream with a second bit stream based on the first pull timing indicator and transmits the multiplexed bit stream to a destination system.