GPU Index Compression via Delta Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer graphics systems face inefficiencies in index format, particularly with 16-bit indices, which hinder data transfer and processing between stages of the graphics pipeline, complicating shading procedures and memory management in rich virtual worlds.

Innovation Solution

The implementation of a method for index compression and decompression in graphics processing units (GPUs) that rotates indices to align the smallest index as a first value, calculates unsigned delta encoded values, and stores these in compressed groups, allowing for efficient bandwidth utilization and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If 16-bit index format is used in index buffer, then memory capacity is sufficient for rich virtual worlds, but data transfer efficiency and processing speed between graphics pipeline stages deteriorates

Engineering Contradiction:
Improveindex data capacityVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The index buffer data is segmented into multiple 16-bit index buffers, allowing the system to process smaller chunks of data more efficiently while maintaining the capacity to represent rich virtual worlds. Each segment can be processed independently through the graphics pipeline stages, improving overall throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation by using alternative index formats (such as 8-bit indices with offset techniques or compressed formats) that reduce the bit depth while maintaining adequate capacity for the scene. This parameter change enables faster processing and memory bandwidth utilization without sacrificing the ability to represent complex virtual environments.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If 16-bit index format is used, then vertex identification capacity is sufficient, but memory bandwidth utilization and shading procedure efficiency worsens

Engineering Contradiction:
Improvevertex identification capacityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies parameter changes by transitioning from 16-bit index format to more compact representations such as 8-bit indices combined with offset techniques or differential encoding. This reduces the memory bandwidth consumption while preserving the ability to identify all vertices in the scene through the use of base offsets and relative indexing.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an additional dimension to the indexing scheme by using base offsets and relative indexing mechanisms. Instead of storing absolute 16-bit vertex indices, the system uses smaller indices combined with offset values, effectively adding a hierarchical dimension to the index representation that reduces bandwidth requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If 16-bit indices are used for hardware instancing, then culling and memory efficiency improve, but data transfer between pipeline stages and shading procedure simplicity deteriorates

Engineering Contradiction:
Improveculling efficiencyVSAvoidpipeline data transfer complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the index parameter format to more compact representations that facilitate efficient hardware instancing and culling operations. By using reduced-bit indices with offset techniques, the system maintains culling efficiency while simplifying the data structures and reducing the complexity of data transfer between pipeline stages.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3580726B1Buffer index format and compression
Publication Date: 2021.06.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3580726B1 patent drawingFigure 1
  • EP3580726B1 patent drawingFigure 2
  • EP3580726B1 patent drawingFigure 3A

AI summary

Flexible, dynamic, and efficient compression and de-compression mechanisms are described. An example compression mechanism includes reading a plurality of groups of indices, identifying a smallest index in each of the plurality of groups, rotating indices in each of the plurality of groups such that the smallest index is a first value, calculating unsigned delta encoded values relative to the smallest index in each of the plurality of groups for remaining indices, converting the plurality of groups of indices into a plurality of compressed groups of indices, and storing the plurality of compressed groups of indices. An example de-compression mechanism include reading a plurality of compressed groups of indices, identifying a first index as an absolute value in each of the plurality of groups, calculating remaining indices of each of the plurality of groups, and converting the plurality of compressed groups of indices into a plurality of decompressed groups of indices.