Variable-Length Symbol Encoding for Parallel Decoding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Quantity of substance
If variable length symbols are used, then data size is reduced, but the decoding process becomes inherently sequential
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.
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.
3Ease of manufacture
If sequential decoding is used for variable length symbols, then implementation is simpler, but processing throughput is limited
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.
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.
Data Source
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.


