Depth Buffer Compression via Tile Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for depth buffer compression, such as plane encoding and depth offset encoding, are inefficient for larger tile sizes like 8×8, leading to decreased compression ratios due to simplistic assumptions and increased computational costs for more complex methods, which affects memory bandwidth and power consumption in mobile devices.
Innovation Solution
A method that selects between primary and secondary compression modes by dividing larger tiles into sub-tiles, allowing for efficient compression of both 4×4 and 8×8 tiles using the same preset number of bits, and choosing the most efficient mode based on comparison of compression sizes, thereby optimizing memory usage and reducing power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If plane encoding or depth offset encoding is used for larger tile sizes (8×8), then compression is achieved, but compression ratios decrease due to simplistic assumptions and increased computational costs
Solution Approach 1:
The patent divides a larger tile (e.g., 8×8) into multiple smaller sub-tiles (e.g., four 4×4 sub-tiles). Each sub-tile is then independently compressed using appropriate compression modes. This segmentation allows the system to achieve better overall compression ratios by applying more effective compression algorithms to smaller, more manageable units rather than attempting to compress the entire large tile with simplistic methods.
2Quantity of substance
If more complex compression methods are used for larger tiles, then compression effectiveness improves, but processing time and power consumption increase
Solution Approach 1:
By segmenting large tiles into smaller sub-tiles, the patent enables parallel processing of multiple sub-tiles simultaneously. This reduces the overall processing time compared to applying complex compression methods sequentially to entire large tiles, while still achieving effective compression through the use of appropriate compression modes on each sub-tile.
Solution Approach 2:
The patent dynamically selects different compression modes for different sub-tiles based on their specific characteristics. Rather than applying a fixed complex compression method to all tiles, the system adapts the compression approach for each sub-tile, optimizing the balance between compression effectiveness and processing time.
3Device complexity
If the same preset number of bits is used for both 4×4 and 8×8 tiles, then hardware simplicity is maintained, but compression efficiency decreases for larger tiles
Solution Approach 1:
The patent resolves this contradiction by segmenting 8×8 tiles into four 4×4 sub-tiles. This allows the system to use the same preset number of bits per tile (maintaining hardware simplicity) while effectively compressing 8×8 regions through the combined compression of multiple sub-tiles. The segmentation strategy enables larger regions to benefit from the same bit allocation as smaller tiles without requiring hardware modifications.
Solution Approach 2:
The patent makes the compression system universal by using the same compression hardware and bit allocation for both 4×4 and 8×8 tiles. Through segmentation, a single compression unit can handle both tile sizes effectively, making the hardware multi-functional without requiring different compression mechanisms for different tile dimensions.
4Quantity of substance
If depth buffer is stored off-chip, then memory capacity is sufficient, but memory access speed decreases and power consumption increases
Solution Approach 1:
By compressing depth buffer data using the described methods, the patent significantly reduces the volume of data that needs to be transferred between off-chip memory and the processing unit. This segmentation and compression approach maintains sufficient memory capacity while reducing memory access frequency and duration, thereby improving effective access speed and reducing power consumption.
Data Source
AI summary
Device, computer readable medium, and method for selecting compression modes to be applied in a depth buffer (20). The method includes obtaining values corresponding to a tile (30) of the depth buffer (20), selecting a first compression mode (34) from a first plurality of compression modes, compressing the values of the tile (30), writing the compressed values into a first block, based on the first mode (34), and using a preset number of primary bits (34) to store information related to at least one of the first mode (34) and a compression size of the first block, selecting a set of secondary compression modes (32) from a second plurality of compression modes, determining a number of sub-tiles (28), that make up the tile (30), compressing values of the sub-tiles, writing the compressed values into a second block, based on the set of secondary modes (32), and using the same preset number of primary bits (34) to store information related to at least one of the set of secondary modes (32) and a compression size of the second block, comparing the compression size of the tile (30) to the compression size of the sub-tiles (28), choosing the first mode (34) or the set of secondary modes (32) and a corresponding tile size based on a result of the comparing, and storing the selected compressed tile or sub-tiles into the depth buffer (20) and writing into the preset number of primary bits (34) information related to the chosen first mode (34) or set of secondary compression modes (32) or a corresponding size.


