GPU Texture Compression via Variable Rate Residual Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face performance bottlenecks and high energy consumption due to memory bandwidth constraints caused by memory access during texture mapping, especially with increasing resolutions like 4K, which necessitates efficient image compression techniques to reduce memory accesses.

Innovation Solution

A system and method for variable rate compression of image data in a GPU, involving partitioning image data into blocks, identifying non-flat channel-blocks, generating residual blocks, and using run-length encoding and entropy coding to reduce redundancy, while maintaining losslessness and transparency to end users and applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If image data is compressed using run-length encoding and entropy coding, then memory bandwidth usage is reduced, but device complexity increases

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidcompression hardware complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The image data is divided into 4x4 pixel blocks, and each block is processed independently through the compression pipeline. This segmentation allows the complex compression operations to be distributed across multiple simple processing units rather than requiring a single complex processor, reducing overall device complexity while maintaining compression effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional software-based compression algorithms with dedicated hardware circuits that perform run-length encoding and entropy coding operations. This substitution of mechanical/computational processes with specialized hardware reduces the complexity burden on the main processor and enables parallel processing of multiple image blocks simultaneously.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Manufacturing precision

If lossless compression is applied to texture data, then image quality is preserved, but processing time increases

Engineering Contradiction:
Improveimage qualityVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The compression operations are performed on texture data in advance, during the texture loading phase, rather than during the critical rendering path. By pre-compressing texture data and storing it in compressed format in video memory, the system eliminates the need for real-time compression during rendering, thus preserving image quality while avoiding processing time penalties during frame generation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compression hardware operates continuously in the background during texture loading and transfer operations, utilizing otherwise idle processing capacity. This continuous operation ensures that compression is completed before rendering begins, maintaining both image quality and real-time performance.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If image data is fetched from memory before filtering, then processing flexibility is maintained, but energy consumption increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidenergy consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent changes the data format parameter of texture data from uncompressed to compressed format, reducing the volume of data that needs to be transferred from video memory to the rendering pipeline. This parameter change maintains processing flexibility because the compression is lossless and can be applied to any texture data, while simultaneously reducing energy consumption by minimizing memory bandwidth usage.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10776957B2Online image compression in hardware
Publication Date: 2020.09.15 SAMSUNG ELECTRONICS CO LTD
  • US10776957B2 patent drawing
  • US10776957B2 patent drawing
  • US10776957B2 patent drawing

AI summary

A method of variable rate compression including: partitioning the image data into a plurality of blocks, each including channel-blocks; and for one of the one or more non-flat channel-blocks: generating a residual block including residual values corresponding to values of the one of the one or more non-flat blocks; in response to determining that a particular residual value of the residual values is equal to a corresponding previous residual value: incrementing a run counter; and in response to determining that the run counter is greater than a threshold, generating a run-mode flag and writing the run-mode flag after the particular residual value in a compressed output stream; and in response to determining that the particular residual value is not equal to a corresponding previous value: in response to determining that the run counter is greater than the threshold, generating a run-length after the run-mode flag in the compressed output stream.