Pipelined Hardware Decompressor for Variable-Block Boundary Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data compression schemes produce variable-sized compressed blocks, making it challenging to decompress them efficiently, as the end of one block must be identified before decompressing the next, leading to pipeline stage inefficiencies.

Innovation Solution

An integrated circuit with block pipeline stages that operate on different compressed data blocks concurrently, using header processing and symbol data decoding stages to extract and decode information from blocks encoded with various compression schemes, allowing for concurrent processing based on whether the end of block location is indicated in the header or the data portion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sequential processing is used to ensure proper block boundary identification, then decompression accuracy is maintained, but processing throughput decreases

Engineering Contradiction:
Improveblock boundary identification accuracyVSAvoiddecompression throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts block information from compressed data blocks in advance, before the symbol data decoder completes decoding. By performing the information extraction operation beforehand and using asynchronous notification mechanisms, the system prepares boundary identification data ahead of time, allowing the decoding pipeline to proceed without waiting for sequential completion of each block.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a pipelined architecture where multiple block processing operations occur concurrently rather than sequentially. The symbol data decoder and information extractor operate in parallel on different blocks, maintaining continuous productive action throughout the decompression process rather than having idle periods between sequential block processing.

Inventive Principle:
Principle #20Continuity of useful action

2Productivity

If concurrent processing of multiple blocks is implemented, then decompression throughput increases, but pipeline stage synchronization complexity increases

Engineering Contradiction:
Improvedecompression throughputVSAvoidpipeline synchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the decompression process into distinct pipeline stages: a symbol data decoder stage and an information extraction stage. Each stage processes different blocks concurrently, with clear stage boundaries and data flow interfaces. This segmentation allows independent optimization of each stage while managing synchronization through defined stage transitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses an asynchronous notification mechanism as an intermediary between the symbol data decoder and the information extractor. Rather than requiring direct synchronous coordination, the decoder notifies the extractor when data is ready, allowing both stages to operate independently at their own speeds while maintaining proper data flow coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If variable-sized blocks are processed, then compression efficiency is improved, but pipeline stage efficiency deteriorates due to boundary identification delays

Engineering Contradiction:
Improvecompression efficiencyVSAvoidblock boundary identification time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts block information including boundary identifiers from compressed blocks in advance, before the symbol data decoder completes decoding. This preliminary extraction eliminates the time delay that would otherwise occur when waiting for decoding to complete before identifying block boundaries, allowing variable-sized blocks to be processed efficiently in a pipelined manner.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10691361B2Multi-format pipelined hardware decompressor
Publication Date: 2020.06.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10691361B2 patent drawing
  • US10691361B2 patent drawing
  • US10691361B2 patent drawing

AI summary

Data compression schemes may indicate the length of the compressed data block in a header or in the compressed data itself. If the start and end of the data block are known before the decoding process has completed by the decoding stage, a header processing stage can ‘skip ahead’ to the start of the next block to begin processing the header of the next block while the current block is still being decoded. Thus, the header processing stage and the decoding stage are operated concurrently. If the end of the compressed block is indicated in the compressed data itself the end of the data block is not known until the end of the compressed data block is reached. For these types of compressed data blocks, the header processing stage waits until the decoding stage finishes with the preceding block before processing the header of the current block.