Surface Normal Encoding With Consistent Octahedral Tile Distances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for encoding and decoding normals of geometric representations of surfaces suffer from unfair distance penalties between points on adjacent surfaces, particularly when using flattened geometric shapes like the octahedron, which reduces the effectiveness of entropy encoding.
Innovation Solution
The use of composite tiles and tile assemblies that maintain consistent distances between points regardless of their location on the octahedron, combined with techniques like periodic tiling, inverted tiling, and transforming points to a baseline region, ensures equal treatment of all points and enhances entropy encoding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If flattened geometric shapes like the octahedron are used to represent normals, then the representation simplifies the encoding process, but unfair distance penalties occur between points on adjacent surfaces reducing entropy encoding effectiveness
Solution Approach 1:
The octahedron surface is segmented into multiple tiles, each representing a portion of the surface. By dividing the geometry into manageable segments, the patent maintains consistent distance relationships within each tile while avoiding the unfair distance penalties that occur in fully flattened representations. This segmentation allows entropy encoding to work more effectively on each segment independently.
Solution Approach 2:
The patent applies different encoding strategies to different regions of the octahedron surface. Each tile can be independently processed with local coordinate transformations that preserve distance relationships locally, while maintaining overall consistency across the entire surface. This local quality approach ensures that entropy encoding effectiveness is maintained in each region without compromising the global representation.
2Loss of information
If points are transformed to a baseline region using inversion operations, then consistent distances between points are maintained improving entropy encoding, but additional transformation steps increase computational complexity
Solution Approach 1:
The patent performs inversion operations and baseline region transformations as preliminary steps before the main entropy encoding process. By pre-processing the point data to establish consistent distance relationships and organize points into baseline regions, the subsequent entropy encoding can proceed more efficiently. This preliminary action reduces the computational burden during the actual encoding phase.
Solution Approach 2:
The patent employs inversion operations that transform points from their original positions into inverted coordinate systems where distance relationships are preserved. This inversion approach reverses the problematic distance penalties by creating a transformed space where entropy encoding can operate more effectively, then inverts the results back to the original coordinate system.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Methods and apparatus to encode and/or decode normals of geometric representations of surfaces are disclosed herein. An example method includes receiving a plurality of points, each point representing a normal to the surface and being arranged within a tile; generating a plurality of regions within the tile, each region including points of the plurality of points; retrieving a first and second point, the first point representing a first normal and the second point representing a second normal, the first point being outside of a specified baseline region; performing a point transformation operation on the first point to produce a transformed first point of the baseline region and performing the point transformation on the second point to produce a transformed second point; generating a difference between the transformed first point and the transformed second point to produce a difference value; and encoding the difference value.