Occlusion Data Compression in Graphics Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing units (GPUs) face inefficiencies in handling occluded vertices and objects in 3D scenes, as existing methods like depth testing and occlusion culling are not optimized for data compression, leading to suboptimal performance and increased computational burdens.
Innovation Solution
A method and apparatus for occlusion data compression in a graphics processor that involves preliminary sorting of vertices to minimize distance and using XOR operations followed by run-length encoding (RLE), which generates longer sequences of zeros for efficient compression, reducing the amount of data needed to transmit occlusion information across multiple cameras capturing a 3D space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If depth testing and occlusion culling are used to determine vertex depth and remove occluded vertices, then processing efficiency is improved, but data transmission bandwidth is increased
Solution Approach 1:
The patent transforms occlusion data from uncompressed binary format to a compressed format using run-length encoding, changing the parameter of data representation. This encoding method converts sequences of identical values (particularly zeros representing non-occluded vertices) into compact representations, dramatically reducing the bandwidth required to transmit occlusion information while maintaining processing efficiency
Solution Approach 2:
The patent creates a simplified copy of the occlusion data structure that is optimized for transmission. Instead of transmitting the full uncompressed occlusion buffer, it transmits a compressed representation that can be reconstructed at the receiving end, reducing bandwidth requirements while preserving the essential occlusion information needed for rendering decisions
2Reliability
If occlusion data is transmitted in uncompressed format, then data integrity is maintained, but data transmission bandwidth is excessive
Solution Approach 1:
The patent applies run-length encoding to transform the occlusion data parameter representation, creating a compressed format that maintains full data integrity upon decompression. The encoding process is lossless, ensuring that the reconstructed occlusion data is identical to the original, while significantly reducing the bandwidth required for transmission
Solution Approach 2:
The patent introduces an intermediary compression/decompression process in the occlusion data transmission pipeline. The run-length encoding acts as an intermediary transformation that reduces data size for transmission, with the corresponding decoding process restoring the original data at the receiving end, thereby maintaining integrity while reducing bandwidth
3Ease of operation
If vertices are processed without optimization, then processing simplicity is maintained, but computational burden increases
Solution Approach 1:
The patent performs preliminary sorting of vertices based on their depth values before generating occlusion data. This preliminary action organizes the data in a way that creates longer sequences of identical values (particularly zeros), which dramatically improves the efficiency of subsequent run-length encoding compression, reducing computational burden while maintaining processing simplicity
Data Source
AI summary
An apparatus and method for occlusion data compression. For example, one embodiment of a graphics processing apparatus comprises: vertex generation circuitry/logic to generate vertices of objects in a 3D space including occlusion binary vectors for the vertices, the objects captured by a set of M cameras; sorting circuitry/logic to sort the vertices in accordance with coordinates of the vertices; pre-compression circuitry/logic to transform the occlusion binary vectors of the vertices by logically combining adjacent bit fields in the sorted order to generate converted bit strings having a larger number of binary zero values than the occlusion binary vectors; compression circuitry/logic to compress the converted bit strings using run length encoding (RLE) compression to generate compressed bit fields; and a memory and/or storage device to store the compressed bit fields.


