Parallel Data Decompression Using Split Flag and Literal Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression and decompression techniques, such as LZ77 and LZ78 algorithms, are inefficient in handling data with minimal repetition, as they rely on distance-length pairs and literals, which can lead to suboptimal compression ratios and are not well-suited for parallel processing.
Innovation Solution
The proposed solution involves separating compressed data into streams of distance-length pairs, literals, and flags, using a detector to identify consecutive literal flags, and a data copier to efficiently decode data into an output memory area, optimized for use with processors like the Cell microprocessor, allowing for parallel processing and improved decompression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional LZ77/LZ78 algorithms are used for data compression, then compression is achieved by replacing data with distance-length pairs, but decompression efficiency deteriorates due to sequential processing requirements and suboptimal performance on data with minimal repetition
Solution Approach 1:
The patent segments the decompression process into three independent parallel streams: a distance-length pair stream, a literal stream, and a flag stream. Each stream is processed independently and simultaneously, eliminating the sequential dependencies in traditional LZ77/LZ78 decompression. The flag stream acts as a control mechanism that directs the other streams, enabling parallel execution while maintaining correct decompression logic.
Solution Approach 2:
The patent transforms the traditional single-stream sequential decompression into a multi-dimensional parallel processing architecture. By introducing the flag stream as a control dimension and separating data into multiple independent streams, the system achieves parallelism across multiple processing dimensions simultaneously, fundamentally changing the temporal execution model from sequential to concurrent.
2Speed
If distance-length pairs and literals are used to encode data, then compression is achieved, but the number of instructions required for decompression increases, reducing processing speed
Solution Approach 1:
The patent uses copying mechanisms where the flag stream controls the copying of data from either the distance-length pair stream or the literal stream. The data copier component automatically copies the appropriate number of data items based on flag values, reducing the instruction count by eliminating the need for individual processing of each distance-length pair or literal through complex decoding logic.
Solution Approach 2:
The flag stream serves itself as a control mechanism that automatically directs the decompression process. By encoding the control logic directly in the flag stream, the system eliminates the need for external control logic or complex state machines, allowing the decompression process to self-regulate based on the flag values without requiring additional instruction overhead.
Data Source
AI summary
Data decompression apparatus is disclosed which is arranged to act on compressed data comprising: an ordered stream of references to groups of previously decoded data items; an ordered stream of direct representations of data items to be decoded; and an ordered stream of flags indicating whether each successive decompression operation should act on a reference or a direct representation. The apparatus comprises an output memory area; a detector to detect the number n of consecutive flags indicating that a decompression operation should act on a direct representation; and a data copier for copying to the output memory area either a next referenced group of previously decoded data or a group of n consecutive direct representations from the ordered stream of direct representations.


