# US 10,871,934 B2 · Virtual content displayed with shared anchor

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

- Number: US 10,871,934 B2
- Document ID: US10871934B2
- Status: Granted
- Kind: B2
- Application number: 15/586,721
- Filed: 2017-05-04
- Published: 2018-11-08
- Granted: 2020-12-22
- Earliest claimed: 2017-05-04
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Jonathan Gustav Paulovich; John Copic; Karim Audrey Luccin; Haley Nicole Eisenshtadt
- Web page: https://patentgrep.com/patent/US10871934B2

## CPC

- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/1454: {involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay}
- G02B 27/017: {Head mounted}
- G02B 27/0172: {characterised by optical features}
- G03H 1/2249: {Holobject properties}
- G06F 3/012: {Head tracking input arrangements}
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06F 3/1423: {controlling a plurality of local displays, e.g. CRT and flat panel display}
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G02B 2027/0138: {comprising image capture systems, e.g. camera}
- G02B 2027/0141: {characterised by the informative content of the display}
- G02B 2027/0174: {holographic}
- G03H 2001/2252: {Location of the holobject}
- G03H 2226/02: Computing or processing means, e.g. digital signal processor [DSP]
- G03H 2226/04: Transmission or communication means, e.g. internet protocol
- G03H 2226/05: Means for tracking the observer
- G06F 3/013: {Eye tracking input arrangements (G06F3/015 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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})
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods, computing devices and display devices are disclosed for displaying virtual content at a target location that is determined relative to a shared anchor. Image data of a physical environment may be captured. A shared anchor tag may be identified in the image data. Based on identifying the shared anchor tag, shared anchor tag image data may be transmitted to a server. Based at least on data retrieved by the server, a data packet comprising a shared anchor associated with a second display device is received, wherein the shared anchor defines a three-dimensional location in the physical environment. A hologram is displayed at a target location determined relative to the location of the shared anchor.

## Claims

### Claim 1

At a first display device, a method comprising:
capturing image data of a physical environment;
identifying in the image data a first shared anchor tag comprising a first object located in the physical environment;
identifying in the image data a second shared anchor tag comprising a second object located in the physical environment;
transmitting the first shared anchor tag image data to a server computing device;
receiving a data packet comprising a first shared anchor that is linked to the first shared anchor tag and associated with a second display device, wherein the first shared anchor defines a three-dimensional location in the physical environment, wherein the data packet comprises data retrieved by the server computing device using at least a portion of the first shared anchor tag image data;
based on identifying the first shared anchor tag and the second shared anchor tag, displaying a first conflict resolution indicator at a first location that is associated with the first shared anchor tag and a second conflict resolution indicator at a second location that is associated with the second shared anchor tag;
receiving a user input selecting the first conflict resolution indicator; and
in response to receiving the user input, displaying a hologram at a target location corresponding to the selected first conflict resolution indicator.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second display device is displaying the hologram at the target location in an orientation relative to the first shared anchor, and wherein displaying the hologram further comprises displaying the hologram in the orientation relative to the first shared anchor.

### Claim 3 (depends on 2)

The method of claim 2, wherein the second display device is participating in an application session, the method further comprising:
joining the application session; and
receiving display data for the hologram from one or more of the server computing device and the second display device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data packet comprises tracking information, the method further comprising determining the three-dimensional location of the first shared anchor using the tracking information.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second display device is displaying the hologram at another location in another physical environment that is outside a field of view of the first display device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first display device comprises a head-mounted display device comprising an at least partially see-through display.

### Claim 7

A computing device for displaying virtual content via a first display device, the computing device comprising:
a processor; and
a memory holding instructions executable by the processor to:
capture image data of a physical environment;
identify in the image data a first shared anchor tag comprising a first object located in the physical environment;
identify in the image data a second shared anchor tag comprising a second object located in the physical environment
transmit the first shared anchor tag image data to a server computing device;
receive a data packet comprising a first shared anchor that is linked to the first shared anchor tag and associated with a second display device, wherein the first shared anchor defines a three-dimensional location in the physical environment, wherein the data packet comprises data retrieved by the server computing device using at least a portion of the first shared anchor tag image data;
based on identifying the first shared anchor tag and the second shared anchor tag, display a first conflict resolution indicator at a first location that is associated with the first shared anchor tag and a second conflict resolution indicator at a second location that is associated with the second shared anchor tag;
receive a user input selecting the first conflict resolution indicator; and
in response to receiving the user input, display a hologram at a target location corresponding to the selected first conflict resolution indicator.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein the second display device is displaying the hologram at the target location in an orientation relative to the first shared anchor, and wherein the instructions are executable to display the hologram in the orientation relative to the first shared anchor.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the second display device is participating in an application session, and the instructions are executable to:
join the application session; and
receive display data for the hologram from one or more of the server computing device and the second display device.

### Claim 10 (depends on 7)

The computing device of claim 7, wherein the data packet comprises tracking information, and the instructions are executable to determine the three-dimensional location of the first shared anchor using the tracking information.

### Claim 11 (depends on 7)

The computing device of claim 7, wherein the second display device is displaying the hologram at another location in another physical environment that is outside a field of view of the first display device.

### Claim 12 (depends on 7)

The computing device of claim 7, wherein the first display device comprises a head-mounted display device comprising an at least partially see-through display.

### Claim 13 (depends on 7)

The computing device of claim 7, wherein the instructions are executable to:
based at least on identifying the first shared anchor tag before identifying the second shared anchor tag, transmit the first shared anchor tag image data to the server computing device.

### Claim 14

A head-mounted display device, comprising:
an at least partially see-through display;
a processor; and
a memory holding instructions executable by the processor to:
capture image data of a physical environment;
identify in the image data a first shared anchor tag comprising a first object located in the physical environment;
identify in the image data a second shared anchor tag comprising a second object located in the physical environment;
transmit the first shared anchor tag image data to a server computing device;
receive a data packet comprising a first shared anchor that is linked to the first shared anchor tag and associated with another display device, wherein the first shared anchor defines a three-dimensional location in the physical environment and the other display device is displaying a hologram at a target location that is determined relative to the location of the first shared anchor, wherein the data packet comprises data retrieved by the server computing device using at least a portion of the first shared anchor tag image data;
based on identifying the first shared anchor tag and the second shared anchor tag, display a first conflict resolution indicator at a first location that is associated with the first shared anchor tag and a second conflict resolution indicator at a second location that is associated with the second shared anchor tag;
receive a user input selecting the first conflict resolution indicator; and
in response to receiving the user input, display the hologram at a location corresponding to the selected first conflict resolution indicator.

### Claim 15 (depends on 14)

The head-mounted display device of claim 14, wherein the other display device is participating in an application session, and the instructions are executable to:
join the application session; and
receive display data for the hologram from one or more of the server computing device and the other display device.
