3D Splat Texture Compression with Minimal Fidelity Loss
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Splat representations of 3D objects are large files unsuitable for streaming or rendering on devices with lesser resources, necessitating a reduction in size without compromising fidelity.
Innovation Solution
Cluster splats based on positional coherence and map their positional data to textures, using GPUs for efficient decoding and regeneration, thereby reducing file size with minimal fidelity loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the number of Gaussian splats is reduced to decrease file size, then the data volume is reduced, but the fidelity and quality of the splat representation deteriorate
Solution Approach 1:
The patent transforms the storage dimension from individual splat parameters to texture space, mapping splat positions onto 2D texture coordinates. This dimensional transformation allows compact representation of spatial data while preserving the ability to regenerate high-fidelity splat representations during rendering.
Solution Approach 2:
Instead of storing complete splat data for each primitive, the patent stores compressed positional information in textures and regenerates the full splat representations during rendering. This copying approach preserves fidelity while reducing storage requirements, as the visual appearance is reconstructed rather than directly stored.
2Manufacturing precision
If more Gaussian splats are used to maintain fidelity, then the quality is improved, but the file size increases making it unsuitable for streaming
Solution Approach 1:
The patent segments splat data into different components (positions, orientations, scales) and stores them in separate textures. This segmentation allows selective compression and efficient retrieval of only the necessary data for maintaining fidelity at reduced file sizes.
Solution Approach 2:
The patent changes the representation parameters by encoding splat positions as texture coordinates rather than direct 3D coordinates. This parameter transformation enables more efficient compression while preserving the spatial relationships necessary for high-fidelity reconstruction during rendering.
3Quantity of substance
If traditional compression methods are applied to splat representations, then the file size is reduced, but the complexity of the compression process increases
Solution Approach 1:
The patent makes the rendering system self-sufficient by embedding all necessary splat information within the texture data itself. The GPU automatically reconstructs splat representations during rendering without requiring external decompression processes, thereby reducing compression complexity while achieving file size reduction.
Solution Approach 2:
The patent uses textures to serve multiple functions simultaneously: storing splat positions, enabling compression, and providing a format that GPUs can process efficiently during rendering. This multi-functionality reduces the need for specialized compression/decompression pipelines, simplifying the overall system complexity.
Data Source
AI summary
A splat compression system and associated methods are provided to efficiently compress and decompress data of a three-dimensional (3D) splat representation using textures so that the size of the splat representation is reduced with minimal loss in fidelity. The compression includes receiving the splats that make up the 3D splat representation, determining clusters that are associated with a different set of the splats that are positioned about a different common plane, and defining each cluster with a position based on the positional data from the different set of splats associated with that cluster. The compression includes converting the positional data from the different set of splats associated with each cluster to offsets from the position of the associated cluster, and generating the compressed 3D representation with a definition for each cluster and a texture that stores the offsets for the different set of splats associated with each cluster.


