Entropy Encoding Layout for Fast Parallel GPU Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods for GPUs face challenges in achieving high compression and decompression speeds due to complex variable length encoding schemes, which increase latency and power consumption, especially in mobile devices, where memory bandwidth is limited.

Innovation Solution

The proposed method involves entropy encoding of data values in sets, where each set includes an indication of the number of bits used for each encoded value, allowing for simplified decoding by determining bit boundaries quickly, thereby reducing latency and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If variable length encoding schemes are used to compress data, then compression ratio is improved, but decoding complexity and latency increase

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

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the bit width of each encoded coefficient in a lookup table during the encoding phase. This allows the decoder to quickly retrieve the exact bit width of each coefficient without performing complex analysis, thereby reducing decoding complexity while maintaining high compression ratios through variable length encoding.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If variable length encoding schemes are used to compress data, then compression ratio is improved, but processing speed decreases

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-computing the bit width for each possible coefficient value and storing these in a lookup table during encoding. This eliminates the need for complex bit width calculations during decoding, enabling parallel processing of multiple coefficients simultaneously and significantly improving processing speed while maintaining compression efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the decoding process into independent parallel operations by providing each decoder unit with pre-stored bit width information for its assigned coefficients. This segmentation allows multiple coefficients to be decoded in parallel without requiring sequential analysis, thereby improving overall processing speed while maintaining variable length encoding compression benefits.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If compression is performed to reduce memory bandwidth usage, then power consumption is reduced, but latency increases

Engineering Contradiction:
Improvepower consumptionVSAvoidlatency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing bit width information during the encoding phase in lookup tables. This eliminates complex real-time calculations during decoding, reducing latency while maintaining compression benefits that lower power consumption. The pre-computed information enables rapid decompression without sacrificing compression efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data into fixed-size coefficient groups with pre-determined bit widths stored in lookup tables. This segmentation allows parallel decoding of multiple groups simultaneously, reducing overall latency while maintaining compression ratios that reduce memory bandwidth usage and power consumption.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10810763B2Data compression using entropy encoding
Publication Date: 2020.10.20 IMAGINATION TECH LTD
  • US10810763B2 patent drawing
  • US10810763B2 patent drawing
  • US10810763B2 patent drawing

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).