# US 10,504,232 B2 · Sharing of sparse slam coordinate systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,504,232 B2
- Document ID: US10504232B2
- Status: Granted
- Kind: B2
- Application number: 16/279,283
- Filed: 2019-02-19
- Published: 2019-06-13
- Granted: 2019-12-10
- Earliest claimed: 2016-05-31
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Tracy K. Ard; Gabriel Takacs; David M. Gedye; James Fletcher; Matthew Sammis Ashman
- Web page: https://patentgrep.com/patent/US10504232B2

## CPC

- G06T 7/30: Determination of transform parameters for the alignment of images, i.e. image registration
- A63F 13/213: comprising photodetecting means, e.g. cameras, photodiodes or infrared cells (A63F13/219 takes precedence)
- A63F 13/65: automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- G02B 27/0172: {characterised by optical features}
- G03H 1/08: Synthesising holograms, {i.e. holograms synthesized from objects or objects from holograms}(using electric digital computers G06F; G06T)
- G06F 1/163: {Wearable computers, e.g. on a belt}
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/012: {Head tracking input arrangements}
- G06T 7/55: from multiple images
- G06T 11/26: Drawing of charts or graphs
- G06T 15/20: Perspective computation
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- A63F 13/525: Changing parameters of virtual cameras
- G02B 2027/0174: {holographic}
- G06T 2215/16: Using real world measurements to influence rendering
- G06T 2219/024: Multi-user, collaborative environment
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G02B: OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G03H: HOLOGRAPHIC PROCESSES OR APPARATUS (holograms, e.g. point holograms, used as ordinary optical elements G02B5/32; producing stereoscopic or other three-dimensional effects G02B30/00; diffraction-grating systems G02B27/44; systems using moiré fringes G02B27/60; optical logic elements G02F3/00; stereo-photography G03B35/00; photosensitive materials or processes for photographic purposes G03C; {stereo-photographic or similar processes G03C9/00}; apparatus for processing exposed photographic materials G03D; analogue computers performing mathematical operations with the aid of optical elements G06E3/00; authentication by radiation, of concealed information carried by holograms or diffraction gratings G06K19/16; holographic storage G11B7/0065, G11C13/04; {stereoscopic or other three dimensional effects in television systems H04N13/00})
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Mixed-reality systems are provided for using anchor data structures, such as anchor graphs, within a mixed-reality environment. These systems utilize anchor components, such as anchor vertexes, that comprise at least one first key frame, a first mixed-reality element, and at least one first transform connecting the at least one first key frame to the first mixed-reality element. Anchor connecting components, such as anchor edges, comprise transformations that connect the anchor components (e.g., anchor vertexes).

## Claims

### Claim 1

A computer system for connecting anchor components in a mixed-reality environment, comprising:
one or more processors; and
one or more computer-readable medium having stored computer-executable instructions that are executable by the one or more processors to cause the computer system to perform a method that includes at least the following:
identifying a first anchor component in the mixed-reality environment that includes a first mixed-reality element and at least one first key frame that is connected to the first mixed-reality element with at least one first transform;
identifying a second anchor component in the mixed-reality environment that includes a second mixed-reality element and at least one second key frame that is connected to the second mixed-reality element with at least one second transform; and
creating an anchor connecting component that includes a single connecting transform that connects the first anchor component to the second anchor component and which omits at least a separate transform between an individual key frame in the first anchor component with an individual key frame in the second anchor component.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the method further includes:
saving the first and second anchor component, along with the single connecting transform, within a single anchor data structure.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein the single anchor data structure comprises an anchor graph.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein the method further includes:
identifying a third anchor component in the mixed-reality environment that includes a third mixed-reality element and at least one third key frame that is connected to the third mixed-reality element with at least one third transform;
creating a second anchor connecting component between the second anchor component and the third anchor component; and
creating a third anchor connecting component between the third anchor component and the first anchor component.

### Claim 5 (depends on 4)

The computer system as recited in claim 4, wherein the method further includes tuning the first anchor connecting component based upon values associated with the third anchor connecting component.

### Claim 6 (depends on 4)

The computer system as recited in claim 4, wherein:
the second anchor connecting component is created based upon one or more sensor readings gathered along a pathway that links the second anchor component and the third anchor component; and
the third anchor connecting component is created based upon a combination of the first anchor connecting component and the second anchor connecting component.

### Claim 7 (depends on 1)

The computer system as recited in claim 1, wherein creating the first anchor connecting component comprises calculating a direct transformation between the first anchor component and the second anchor component.

### Claim 8 (depends on 1)

The computer system as recited in claim 1, wherein identifying a first anchor component comprises creating the first anchor component.

### Claim 9 (depends on 8)

The computer system as recited in claim 8, wherein creating the first anchor component comprises creating the at least one first transform.

### Claim 10 (depends on 9)

The computer system as recited in claim 9, wherein the at least one first transform is based upon an interpolation of a coordinate location associated with the first mixed-reality element, which coordinate location is derived from coordinates associated with the at least one key frame.

### Claim 11 (depends on 9)

The computer system as recited in claim 9, wherein the at least one first transform includes a plurality of transforms that connect a plurality of respective key frames, including the at least one key frame, to the first mixed-reality element.

### Claim 12

A method implemented by a computer system for connecting anchor components in a mixed-reality environment, comprising:
identifying a first anchor component in the mixed-reality environment that includes a first mixed-reality element and at least one first key frame that is connected to the first mixed-reality element with at least one first transform;
identifying a second anchor component in the mixed-reality environment that includes a second mixed-reality element and at least one second key frame that is connected to the second mixed-reality element with at least one second transform; and
creating an anchor connecting component that includes a single connecting transform that connects the first anchor component to the second anchor component and which omits at least a separate transform between an individual key frame in the first anchor component with an individual key frame in the second anchor component.

### Claim 13 (depends on 12)

The method of claim 12, wherein the method further includes:
saving the first and second anchor component, along with the single connecting transform, within a single anchor data structure.

### Claim 14 (depends on 13)

The method of claim 13, wherein the single anchor data structure comprises an anchor graph.

### Claim 15 (depends on 12)

The method of claim 12, wherein the method further includes:
identifying a third anchor component in the mixed-reality environment that includes a third mixed-reality element and at least one third key frame that is connected to the third mixed-reality element with at least one third transform;
creating a second anchor connecting component between the second anchor component and the third anchor component; and
creating a third anchor connecting component between the third anchor component and the first anchor component.

### Claim 16 (depends on 15)

The method as recited in claim 15, wherein the method further includes tuning the first anchor connecting component based upon values associated with the third anchor connecting component.

### Claim 17 (depends on 15)

The method as recited in claim 15, wherein:
the second anchor connecting component is created based upon one or more sensor readings gathered along a pathway that links the second anchor component and the third anchor component; and
the third anchor connecting component is created based upon a combination of the first anchor connecting component and the second anchor connecting component.

### Claim 18 (depends on 12)

The method as recited in claim 12, wherein creating the first anchor connecting component comprises calculating a direct transformation between the first anchor component and the second anchor component.

### Claim 19 (depends on 12)

The method as recited in claim 12, wherein identifying a first anchor component comprises creating the first anchor component by at least creating the at least one first transform and wherein the at least one first transform includes a plurality of transforms that connect a plurality of respective key frames, including the at least one key frame, to the first mixed-reality element.

### Claim 20

A computer program product comprising one or more hardware storage device(s) having stored computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to perform a method that includes at least the following:
identifying a first anchor component in a mixed-reality environment and that includes a first mixed-reality element and at least one first key frame that is connected to the first mixed-reality element with at least one first transform;
identifying a second anchor component in the mixed-reality environment and that includes a second mixed-reality element and at least one second key frame that is connected to the second mixed-reality element with at least one second transform; and
creating an anchor connecting component that includes a single connecting transform that connects the first anchor component to the second anchor component and which omits at least a separate transform between an individual key frame in the first anchor component with an individual key frame in the second anchor component.
