G-Buffer Checkerboard Compression for Lower GPU Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing size and complexity of G-buffers in graphics processing lead to high memory bandwidth requirements and reduced parallelism in power-limited devices, particularly in mobile GPUs, due to the need to store and move large amounts of geometrical data for deferred shading.

Innovation Solution

A compression technique that leverages data correlation between pixels, using checkerboard patterns and quad-level processing to reduce G-buffer size by up to 2:1, allowing hardware-accelerated decompression and blending without quality loss, and optimizing GPU operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If G-buffer stores complete geometry information for all pixels, then rendering quality is maintained, but memory bandwidth requirements increase and parallelism decreases

Engineering Contradiction:
Improverendering qualityVSAvoidmemory bandwidth requirements
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the pixel grid into a checkerboard pattern, dividing pixels into two groups (even and odd coordinates). Only one texture component is stored for each segment, reducing the amount of data that needs to be moved through memory while maintaining the ability to reconstruct complete geometry information for rendering quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the storage parameter from storing all texture components for all pixels to storing only alternating texture components in a checkerboard pattern. This parameter change reduces memory bandwidth requirements by approximately half while allowing reconstruction of the full geometry information through shader computations.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If G-buffer stores complete geometry information for all pixels, then rendering quality is maintained, but device complexity increases

Engineering Contradiction:
Improverendering qualityVSAvoiddata storage complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the pixel grid into a checkerboard pattern, dividing pixels into two groups (even and odd coordinates). Only one texture component is stored for each segment, reducing the amount of data that needs to be moved through memory while maintaining the ability to reconstruct complete geometry information for rendering quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a compressed copy of the geometry information by storing only alternating texture components. The full geometry information is reconstructed during rendering by copying data from neighboring pixels and performing shader computations, reducing storage complexity while maintaining rendering quality.

Inventive Principle:
Principle #26Copying

3Use of energy by moving object

If G-buffer size is reduced through compression, then memory bandwidth requirements decrease, but decompression complexity increases

Engineering Contradiction:
Improvememory bandwidth requirementsVSAvoiddecompression complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent implements self-service decompression where the GPU shaders themselves perform the reconstruction of missing geometry information. Instead of requiring a separate decompression hardware unit, the rendering pipeline automatically reconstructs the compressed data using neighboring pixel information and standard shader computations, adding minimal complexity to the existing pipeline.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces potential dedicated decompression hardware with software-based shader computations. The reconstruction of compressed geometry information is performed through programmable shader code that uses neighboring pixel data, substituting mechanical decompression systems with flexible software processing that integrates with the existing GPU architecture.

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

4Quantity of substance

If checkerboard pattern compression is applied, then G-buffer size is reduced by up to 2:1, but data correlation between pixels must be exploited

Engineering Contradiction:
ImproveG-buffer sizeVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the pixel grid into a checkerboard pattern, dividing pixels into two groups (even and odd coordinates). Only one texture component is stored for each segment, reducing the amount of data that needs to be moved through memory while maintaining the ability to reconstruct complete geometry information for rendering quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses feedback from neighboring pixels to reconstruct missing geometry information. The shader computations for one pixel group utilize data from the other pixel group, creating a feedback loop where compressed data is recovered through inter-pixel correlations and differential computations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12561844B2G-buffer compression
Publication Date: 2026.02.24 SHARP GROWTH (CANADA) LTD
  • US12561844B2 patent drawing
  • US12561844B2 patent drawing
  • US12561844B2 patent drawing

AI summary

A method for geometry buffer compression includes generating, based on geometry information of pixels in a frame, compressed geometry information for buffering in a geometry buffer (G-buffer). The compressed geometry information includes first texture component for first pixels and omits the first texture component for at least a second pixel. The second pixel has one or more neighboring pixels in the first pixels. Further, the method includes accessing the geometry buffer to obtain the compressed geometry information, and generating reconstructed geometry information of the pixels based on the compressed geometry information. The reconstructed geometry information includes the first texture component for the second pixel that is reconstructed based on the first texture component of the one or more neighboring pixels in the first pixels. Then, the method includes performing a rendering to generate an image according to the reconstructed geometry information of the pixels.