GPU Data Compression with Fast Bit-Boundary Parsing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods for image data in graphics processing units (GPUs) face challenges in achieving high compression ratios while maintaining low computational complexity and efficient decoding, particularly due to the complexity of variable length encoding schemes and the need for precise bit boundary determination.

Innovation Solution

The method involves performing spatial decorrelation and entropy encoding on 2x2 sets of data values, where each set includes an indication of the number of bits used for each encoded data value, allowing for simplified decoding by clearly defining bit boundaries within a header section, and using a packing scheme to store the encoded data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If variable length encoding schemes are used to compress data, then compression ratio is improved, but decoding complexity increases due to difficulty in determining bit boundaries

Engineering Contradiction:
Improvedata sizeVSAvoiddecoding complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent segments the encoded data stream into fixed-size blocks (e.g., 64-bit blocks) and uses block-based encoding where each block contains a predetermined number of encoded coefficients. This segmentation allows the decoder to process data in fixed-size units with known boundaries, eliminating the complexity of determining bit boundaries in variable-length schemes while maintaining compression efficiency through selective precision encoding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the encoding parameter from variable-length bit representations to fixed-block structures with embedded precision metadata. Each block contains coefficients encoded with varying precision (full precision, half precision, quarter precision) but organized in fixed-size blocks, allowing the decoder to know exactly where each block begins and ends while still achieving compression through precision reduction.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If compression processes are made slower to achieve higher compression ratios, then compression efficiency is improved, but processing speed deteriorates

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing speed
Core Design Contradiction:
Loss of substanceVSSpeed

Solution Approach 1:

The patent performs preliminary analysis during the encoding phase to determine the precision requirements of each coefficient block before final encoding. By pre-determining which blocks can use reduced precision (half or quarter precision) versus full precision, the encoder optimizes compression ratio in advance, allowing the decoder to simply apply the predetermined precision levels without complex analysis, thus maintaining high processing speed.

Inventive Principle:
Principle #10Preliminary action

3Loss of substance

If variable length encoding is used to achieve high compression, then compression ratio is improved, but memory bandwidth requirements increase due to complex decoding operations

Engineering Contradiction:
Improvedata sizeVSAvoidmemory bandwidth
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The patent segments compressed data into fixed-size blocks with predetermined structures, allowing the GPU to fetch and process fixed amounts of data per operation. This block-based approach enables efficient memory bandwidth utilization by avoiding the need to fetch variable amounts of data for each decoded coefficient, as the block structure provides predictable memory access patterns.

Inventive Principle:
Principle #1Segmentation

4Loss of substance

If complex encoding schemes are used to improve compression, then compression ratio is improved, but decoding time increases

Engineering Contradiction:
Improvedata sizeVSAvoiddecoding time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent changes the decoding approach by embedding precision metadata directly in the fixed-block structure, allowing the decoder to quickly determine the number of valid bits in each block without complex analysis. The decoder simply reads the precision indicator and processes the corresponding number of coefficients at the specified precision level, dramatically reducing decoding time compared to variable-length schemes where boundary detection is required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3468200B1Data compression
Publication Date: 2022.07.27 IMAGINATION TECH LTD
  • EP3468200B1 patent drawingFigure 1
  • EP3468200B1 patent drawingFigure 2
  • EP3468200B1 patent drawingFigure 3

AI summary

Data compression (and corresponding decompression) is used to compress blocks of data values involving processes including one or more of colour decorrelation, spatial decorrelation, entropy encoding and packing. The entropy encoding generates encoded data values which have variable sizes (in terms of the number of bits). The entropy encoding uses size indications for respective sets of data values to indicate the number of bits used for the encoded data values of the set. The size indications allow the encoded data values to be parsed quickly (e.g. in parallel).