Adaptive Z-Buffer Compression for GPU Memory Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing z-buffer compression techniques often result in lossy compression, leading to noticeable artifacts in images, which is undesirable, and fail to effectively reduce memory accesses in GPUs without significant power consumption.

Innovation Solution

A method for adaptive z-buffer compression that stores only the minimum and maximum z-values of a tile, representing each fragment's z-value as a difference from these values, allowing for lossless or lossy compression based on threshold settings, thereby reducing memory usage and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If lossy compression is applied to z-buffer data, then memory bandwidth and power consumption are reduced, but image quality deteriorates due to visible artifacts

Engineering Contradiction:
Improvepower consumptionVSAvoidimage quality
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the precision of z-value storage based on the scene's depth complexity. When depth variation is small, lower precision is used to save power; when depth variation is large, higher precision is maintained to avoid artifacts. This resolves the contradiction by adapting the compression aggressiveness to the actual scene requirements rather than using fixed lossy compression.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically switches between different compression modes (lossless, lossy, or hybrid) based on real-time analysis of z-buffer characteristics. This dynamic adaptation allows the system to minimize power consumption in simple scenes while maintaining image quality in complex scenes, effectively resolving the static trade-off between power savings and artifact generation.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If traditional z-buffer compression is applied, then memory bandwidth is reduced, but manufacturing precision is lost due to compression artifacts

Engineering Contradiction:
Improvememory bandwidthVSAvoidz-value precision
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent implements local quality by applying different compression strategies to different regions of the z-buffer based on their depth characteristics. Regions with uniform depth use aggressive compression, while regions with high depth variation maintain full precision. This local adaptation reduces overall memory bandwidth usage while preserving manufacturing precision where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The z-buffer is segmented into multiple tiles or regions, each processed independently with its own compression parameters. This segmentation allows the system to apply lossless compression to critical regions and lossy compression to less critical regions, thereby reducing total memory bandwidth requirements while maintaining necessary precision in important areas.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If lossless compression is used to maintain image quality, then memory bandwidth reduction is insufficient and power consumption remains high

Engineering Contradiction:
Improveinformation preservationVSAvoidpower consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The system changes the compression parameter (precision level) dynamically based on scene analysis. When the scene allows, it transitions from lossless to lossy compression, thereby maintaining information preservation where necessary while reducing power consumption overall. This parameter adaptation resolves the contradiction by making information preservation selective rather than universal.

Inventive Principle:
Principle #35Parameter changes

4Use of energy by stationary object

If z-buffer compression is applied to reduce memory accesses, then power consumption is reduced, but device complexity increases due to compression/decompression operations

Engineering Contradiction:
Improvepower consumptionVSAvoidcompression operations
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The patent extracts only the essential z-value information needed for depth testing, storing it in a compressed format. By taking out only the necessary data (minimum and maximum z-values per tile, and selective individual z-values), the system reduces memory bandwidth and power consumption while keeping the compression logic relatively simple and focused on the critical depth information.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10565677B2System and method for adaptive z-buffer compression in low power GPUS and improved memory operations with performance tracking
Publication Date: 2020.02.18 QUALCOMM INC
  • US10565677B2 patent drawing
  • US10565677B2 patent drawing
  • US10565677B2 patent drawing

AI summary

Z-buffer compression may be useful for reducing memory usage bandwidth and for performance optimizations. A trackable method of doing the same may be additionally advantageous, as a lossy z-buffer compression scheme may noticeably alter a displayed object. A z-buffer compression unit receives an uncompressed tile, including a matrix of fragments, each representing a pixel and including a z-value. A minimum and maximum z-values of the tile are determined, and a comparison between each z-value of the tile to the minimum/maximum z-value generates a difference value. Basic tile information is then stored, and a compressed tile is stored in the z-buffer memory if the difference value is below a first threshold, such that each fragment is represented by a difference value and an indicator bit, to indicate if the difference is from the minimum z-value or the maximum z-value. The basic tile information includes the minimum z-value, and the maximum z-value.