XR Graph Spatial Synchronization Through Coordinate Transforms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing render control APIs and node mapping glTF extensions in XR applications do not adequately define how to achieve spatial synchronization between a main graph and external graphs, particularly in terms of bounding box alignment, anchor placement, and transformation matrix computation.
Innovation Solution
A method and apparatus for spatial synchronization between XR graphs involve determining coordinate transforms and communicating these transforms along with node identifiers to renderers, utilizing a configuration phase and runtime phase to ensure alignment and synchronization, including the use of Khronos OpenXR API for trackable detection and spatial anchor creation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing render control APIs and node mapping glTF extensions are used, then basic XR rendering is supported, but spatial synchronization between main graph and external graphs is inadequate
Solution Approach 1:
The patent pre-computes and stores transformation matrices during a configuration phase before runtime rendering. The first transformation matrix (from external graph space to main graph space) and second transformation matrix (from main graph space to device space) are calculated in advance and communicated to external renderers, eliminating the need for complex real-time computations during rendering.
Solution Approach 2:
The patent introduces an intermediary coordinate system (main graph space) that mediates between external graph space and device space. This intermediary system provides a standardized reference frame that simplifies spatial synchronization by allowing all transformations to go through a common coordinate system rather than requiring direct complex transformations between external graphs and device space.
2Reliability
If multiple external graphs are synchronized with main XR graph, then spatial consistency is improved, but computational overhead for transformation increases
Solution Approach 1:
Transformation matrices are pre-computed during a configuration phase before the actual rendering process. This preliminary computation reduces the computational burden during runtime by replacing complex real-time matrix calculations with simpler matrix multiplications using pre-computed values.
Solution Approach 2:
The patent performs full transformation matrix computations periodically during configuration phases rather than continuously during rendering. The configuration phase establishes transformation relationships that remain valid until the next configuration update, reducing computational frequency and energy consumption during the high-frequency rendering loop.
3Measurement precision
If bounding box alignment and anchor placement are precisely defined, then spatial synchronization accuracy is improved, but API complexity increases
Solution Approach 1:
The patent uses universal transformation matrices that can handle multiple spatial relationships (bounding box alignment, anchor placement, node positioning) through a single mathematical framework. This universal approach provides precise spatial alignment for various synchronization scenarios without requiring separate complex API structures for each case.
Solution Approach 2:
The patent represents complex spatial relationships through simple parameter changes in transformation matrices. By encoding spatial alignment information (bounding box offsets, anchor positions, rotation angles) as parameters within transformation matrices, the system achieves high precision spatial alignment while maintaining a relatively simple API that only requires communicating matrix parameters rather than complex geometric definitions.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Spatial synchronization is provided between extended reality (XR) graphs. An example method includes: determining a first coordinate transform between a first coordinate system, being a global coordinate system of a main graph, and a second coordinate system of a first node in the main graph; determining a second coordinate transform between the second coordinate system and a third coordinate system of a second node in an auxiliary graph; based on the first and second coordinate transforms, determining a third coordinate transform between the first and third coordinate systems; and communicating the third coordinate transform and an identifier of the second node to a renderer of the auxiliary graph. The renderer uses this information to determine a fifth coordinate transform, PB'B, between the first and fourth coordinate system. The renderer may then convert the coordinates of nodes or trackables into the coordinate system of the auxiliary graph.