Depth Buffer Compression Using Row Column Slope Codewords
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current depth buffer compression techniques, such as those using differential pulse code modulation (DDPCM), are inefficient in utilizing bits, leading to suboptimal compression of depth buffer tiles, especially when objects approach the camera, resulting in increased memory bandwidth usage.
Innovation Solution
The method involves determining reference and slope codewords for pixel blocks, along with position-indicating representations and slope correction patterns, to efficiently compress and decompress depth buffer values, allowing for lossless representation of collinear pixel parameter values using fewer bits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If depth buffer compression is applied using traditional DDPCM schemes, then memory bandwidth usage is reduced, but compression fails when objects come too close to the camera
Solution Approach 1:
The patent changes the encoding parameters from traditional correction values {-1, 0, 1} requiring 2 bits per pixel to a new scheme using only 1 bit per pixel by exploiting the alternating slope pattern. This parameter change enables compression to work reliably even when objects approach the camera, increasing the compression success rate while maintaining memory bandwidth reduction.
Solution Approach 2:
The patent introduces dynamic slope adjustment where the correction value alternates between two values based on the position in the depth buffer. This dynamic approach allows the compression scheme to adapt to varying depth scenarios, including cases where objects are close to the camera, thereby improving reliability across different rendering conditions.
2Quantity of substance
If correction values of {-1, 0, 1} are used per pixel, then depth buffer compression is achieved, but 2 bits per pixel are required reducing compression efficiency
Solution Approach 1:
The patent extracts the alternating pattern from the depth buffer data and uses it to determine correction values. By taking out this regularity and exploiting it, the scheme reduces the bits required per pixel from 2 to 1, significantly improving compression efficiency while maintaining lossless reconstruction.
Solution Approach 2:
Instead of storing the full correction values {-1, 0, 1}, the patent inverts the approach by storing only 1 bit that indicates the position-dependent correction pattern. This inversion allows reconstruction of the full correction sequence, achieving better compression while preserving all necessary information.
3Loss of information
If only 1 bit per pixel correction value is used, then bits are saved improving compression, but only 93% of depth range can be compressed losslessly
Solution Approach 1:
The patent moves from a single-correction-value approach to a two-dimensional correction space by introducing position-dependent correction patterns. This dimensional change allows the 1-bit correction value to effectively represent multiple correction states based on position, expanding the compressible depth range beyond 93% while maintaining lossless accuracy.
Data Source
AI summary
The invention relates to compression of a pixel block (300) of depth values. A reference codeword (410) is determined as a representation of a reference depth value. A row (420) and a column (430) slope codeword are determined as representations of a basic depth slope for the rows (310) and columns (320) in the block (300), respectively. Representations indicating pixel positions where a slope change occurs along at least a portion of a row (310) or column (320) is determined for at least a subset of the rows (310) or columns (320). A mode codeword (440) is determined as a representation of a set of multiple slope correction patterns. A respect pattern codeword (450) is then selected for rows (310) or columns (320) as identifier of one of the slope correction patterns.


