GPU Texture Decompression via Run-Length and Spatial Frequency Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-quality graphics processing in systems like personal computers and game consoles faces challenges with large texture data sizes, leading to slow loading times from hard disks and inefficiencies in decompressing highly compressed textures, especially when dedicated hardware is not available.

Innovation Solution

A graphics processing system with a graphics processing unit (GPU) that includes a run-length decoding section and a reciprocal spatial frequency conversion section, allowing for efficient decompression of compressed textures using compute shaders and a texture pool for caching, along with variable-length decoding based on an encoding table with immediate value fields.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If highly compressed textures are stored in main memory, then texture loading time is reduced and real-time handling is enabled, but dedicated decompression hardware is required which increases device complexity

Engineering Contradiction:
Improvetexture loading timeVSAvoiddecompression hardware
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The GPU's general-purpose shader cores are made to perform texture decompression functions, allowing the same hardware to serve both graphics rendering and compression decompression tasks, eliminating the need for dedicated decompression hardware

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses the GPU's own computational resources to decompress textures that are stored in main memory, allowing the graphics processor to serve its own decompression needs without external dedicated hardware

Inventive Principle:
Principle #25Self-service

2Device complexity

If compressed textures are decompressed by the CPU, then device complexity is reduced, but decompression time increases making real-time drawing difficult

Engineering Contradiction:
Improvesystem structureVSAvoiddecompression speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The CPU-based decompression approach is replaced with GPU-based parallel processing, substituting sequential CPU operations with concurrent GPU shader executions to achieve faster decompression

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

Solution Approach 2:

The system dynamically utilizes the GPU's parallel processing capabilities and shader cores to accelerate decompression operations, adapting the decompression throughput to the graphical workload requirements

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If uncompressed or lowly compressed textures are stored in storage device, then texture quality is maintained, but loading time increases making operations unstable

Engineering Contradiction:
Improvetexture qualityVSAvoidtexture loading time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system changes the compression parameter state by storing textures in a highly compressed format that can be rapidly decompressed, achieving a balance between storage efficiency and real-time decompression capability

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Textures are pre-compressed and stored in main memory in a compressed format, preparing them in advance for rapid decompression and rendering without requiring lengthy loading from storage devices

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9852522B2Image decoder, graphics processing system, image decoding method, and graphics processing method
Publication Date: 2017.12.26 SONY INTERACTIVE ENTERTAINMENT LLC
  • US9852522B2 patent drawing
  • US9852522B2 patent drawing
  • US9852522B2 patent drawing

AI summary

There is provided a graphics processing system that allows decompression of a compressed texture with high efficiency. The graphics processing system includes: a main memory; and a graphics processing unit, in which the graphics processing unit includes a run length decoding section adapted to run-length-decode a compressed texture, and a reciprocal spatial frequency conversion section adapted to restore the texture by performing reciprocal spatial frequency conversion on the run-length-decoded texture, and the main memory includes a texture pool adapted to partially cache the restored texture.