Tile Based Depth Buffer Compression for 3D Graphics Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional depth buffers in 3D computer graphics systems require large memory and result in a high number of memory accesses, leading to increased costs and resource demands due to the need for a large and fast memory subsystem.

Innovation Solution

The method involves compressing depth buffer data by identifying planes within tiles, predicting depth values, and storing slight differences in fewer bits, while keeping pixels not assigned to planes uncompressed, thereby reducing memory usage and access frequency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional depth buffer is used to store depth values for all pixels, then complete depth information is maintained, but memory size and memory access frequency increase significantly

Engineering Contradiction:
Improvedepth information completenessVSAvoidmemory volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential depth information by identifying planar regions and storing their mathematical representations (equations) rather than every individual depth value. This removes redundant data while preserving the complete depth buffer functionality, directly resolving the contradiction between maintaining complete depth information and reducing memory volume.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the representation parameter of depth data from storing raw depth values for each pixel to storing plane equations (mathematical parameters) that define regions of pixels with similar depth characteristics. This parameter transformation enables compact storage while maintaining the ability to retrieve complete depth information when needed.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If a large depth buffer memory is allocated to handle all polygon fragments, then all depth comparisons can be performed, but the memory subsystem cost and bandwidth requirements increase

Engineering Contradiction:
Improvedepth buffer operation capacityVSAvoidmemory subsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a compressed representation (copy) of the depth buffer data that occupies minimal space. Instead of allocating and managing a large memory subsystem to hold all depth values, the system stores compact plane equation representations that can be expanded back to full depth buffer functionality only when necessary, reducing memory subsystem complexity while maintaining operational capacity.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If depth values are compressed to reduce memory usage, then memory volume decreases, but decompression complexity increases

Engineering Contradiction:
Improvestored data volumeVSAvoidcompression algorithm complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the depth buffer into distinct planar regions and applies different compression strategies to each segment. By dividing the depth buffer into manageable planar segments rather than applying a single complex compression algorithm to the entire buffer, the system achieves effective compression while keeping the complexity of individual compression operations manageable and systematic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10388032B2Method and apparatus for tile based depth buffer compression
Publication Date: 2019.08.20 IMAGINATION TECH LTD
  • US10388032B2 patent drawing
  • US10388032B2 patent drawing
  • US10388032B2 patent drawing

AI summary

A method and apparatus are provided for compressing depth buffer data in a three dimensional computer graphics system. The depth buffer data is divided into a plurality of rectangular tiles corresponding to rectangular areas in an associated image. The number of starting point locations in a tile are identified and a difference in depth value determined between each starting point and depth values of each of at least two further locations. Using this information depth values are predicted at a plurality of other locations in the tile and where these predicated values substantially match an actual depth value at location is assigned to a plane associated with respective starting point. Starting point location depth value difference data and plane assignment data for each tile and locations in the tile not assigned to a plane, then stored.