Control-Vector Data Compression for Parallel Pipelined Decompression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression methods for seismic data processing face challenges in achieving high-speed parallelized compression and decompression, particularly due to the complexity of run-length encoding and variable rate schemes, which result in memory bandwidth limitations and reduced computational performance.

Innovation Solution

A method involving data compression by partitioning data into superblocks, quantizing to increase zero-value items, generating a presence vector, removing zero-value blocks, and compressing non-zero blocks using a fixed-rate scheme, along with a separate control vector for decompression, enables efficient compression and decompression on hardware accelerators like FPGAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If variable rate compression schemes are used, then compression efficiency is improved, but device complexity and memory bandwidth requirements increase

Engineering Contradiction:
Improvedata sizeVSAvoidcompression scheme complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent divides the data stream into fixed-size blocks and processes them independently. Each block is compressed using the same fixed-rate scheme, eliminating the complexity of variable rate decision-making while maintaining efficient compression through block-level parallelization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the compression approach from variable rate (adapting compression strength based on data characteristics) to fixed rate (consistent compression strength). This parameter change simplifies the compression scheme while achieving efficient compression through fixed-block processing and hardware optimization.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If parallelized decompression is implemented, then processing speed is improved, but memory bandwidth limitations worsen

Engineering Contradiction:
Improvedecompression speedVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary organization of compressed data into fixed-block structures with associated control information during the compression phase. This preliminary action enables the decompression hardware to process multiple blocks in parallel without requiring complex real-time memory arbitration, thus improving speed while managing bandwidth requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces control vectors as intermediary data structures that manage the parallel decompression process. These control vectors act as mediators between the compressed data blocks and the decompression logic, enabling efficient parallel processing by pre-establishing the processing order and data dependencies without requiring high memory bandwidth during decompression.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If fixed-block compression is used, then device complexity is reduced, but compression efficiency deteriorates

Engineering Contradiction:
Improvecompression schemeVSAvoidcompression ratio
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The patent segments data into fixed blocks and applies compression at the block level. This segmentation enables simple, repeatable compression logic that reduces device complexity while the block structure itself becomes the basis for achieving efficient compression through parallel processing and hardware optimization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses identical compression logic copied across multiple fixed blocks. This copying approach simplifies the device design by repeating the same simple compression unit rather than implementing complex variable-rate decision logic, while achieving good compression ratios through the volume of parallel processing.

Inventive Principle:
Principle #26Copying

4Productivity

If large buffers are used to sustain high throughput, then productivity is improved, but device complexity and memory requirements increase

Engineering Contradiction:
ImprovethroughputVSAvoidbuffer size
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent implements periodic processing of fixed-size data blocks through the compression and decompression pipeline. This periodic action with fixed block boundaries enables high throughput through parallel processing while minimizing buffer requirements, as data flows in regular, predictable chunks rather than requiring large buffers to handle variable-length streams.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary organization of data into fixed blocks with associated control information before processing. This preliminary structuring enables high throughput by allowing parallel processing units to operate independently on pre-prepared blocks, eliminating the need for large buffers to sustain throughput during processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8847798B2Systems and methods for data compression and parallel, pipelined decompression
Publication Date: 2014.09.30 GROQ UK LTD
  • US8847798B2 patent drawing
  • US8847798B2 patent drawing
  • US8847798B2 patent drawing

AI summary

A method of data compression includes obtaining a data set comprising a sequence of data blocks comprising a predetermined number of data items, partitioning said data set into one or more groups each comprising a predetermined number of data blocks, and performing data compression on one or more groups of data blocks. Data compression is performed by associating a control data item with each of said blocks, generating a control vector comprising the control data items assigned to each of said blocks within a group, removing data blocks comprising entirely data items having said specified value, compressing data blocks comprising at least one data item having a value different from said specified value using a fixed-rate compression scheme, providing a compressed data stream comprising said compressed data blocks, and providing an associated control vector stream to enable control of said compressed data stream.