Tile Based Depth Buffer Compression for 3D Graphics Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Quantity of substance
If depth values are compressed to reduce memory usage, then memory volume decreases, but decompression complexity increases
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.
Data Source
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.


