# US 9,520,002 B1 · Virtual place-located anchor

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

- Number: US 9,520,002 B1
- Document ID: US9520002B1
- Status: Granted
- Kind: B1
- Application number: 14/748,715
- Filed: 2015-06-24
- Published: 2016-12-29
- Granted: 2016-12-13
- Earliest claimed: 2015-06-24
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Anatolie Gavriliuc; Dan Osborn; Stephen Heijster; Hongwu Huai
- Inventors: Anatolie Gavriliuc; Dan Osborn; Stephen Heijster; Hongwu Huai
- Web page: https://patentgrep.com/patent/US9520002B1

## CPC

- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G02B 27/0103: {comprising holographic elements}
- G02B 27/0172: {characterised by optical features}
- G03H 1/0005: {Adaptation of holography to specific applications (holographic optical element G02B5/32; holographic scanner G02B26/106; recognition using holographic mask G06V10/88; holographic memories G11B7/0065, G11C13/042)}
- G03H 1/2294: {Addressing the hologram to an active spatial light modulator}
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/147: using display panels
- G06Q 10/40: Business processes related to social networking or social networking services
- H04L 51/52: for supporting social networking services
- G02B 27/017: {Head mounted}
- G02B 2027/014: {comprising information/image processing systems}
- G02B 2027/0174: {holographic}
- G02B 2027/0178: {Eyeglass type (eyeglass details G02C)}
- G02B 2027/0187: {slaved to motion of at least a part of the body of the user, e.g. head, eye}
- G03H 2227/02: Handheld portable device, e.g. holographic camera, mobile holographic display
- G03H 2270/55: being an optical element, e.g. spectacles
- G06T 2200/04: involving 3D image data
- G06T 2219/024: Multi-user, collaborative environment
- G09G 2370/16: Use of wireless transmission of display information
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- 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)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

A method is disclosed that may include, in a creating phase: receiving an instruction to generate a virtual place-located anchor at a virtual location that is world-locked; receiving data items from a target data source; linking a subset of the data items to the virtual place-located anchor; and receiving a permission from a first user specifying a condition under which a second user may view one or more holograms of the subset of data items. In a viewing phase, first display data may be transmitted to cause a first display device to display the holograms to the first user at the virtual place-located anchor; and if the condition is satisfied, second display data may be transmitted to cause a second display device to display the holograms to the second user at the virtual place-located anchor.

## Claims

### Claim 1

A method, comprising:
in a creating phase:
receiving an instruction to generate a virtual place-located anchor at a virtual location that is world-locked;
receiving a plurality of data items from a target data source at which a first user has an account;
linking a subset of the plurality of data items to the virtual place-located anchor;
receiving a permission via user input from the first user, the permission specifying a condition under which a second user is authorized to view one or more holograms of the subset of data items;
in a viewing phase:
transmitting first display data to a first display device comprising an at least partially see-through display configured to visually augment a view of a real world three dimensional environment through the display, the first display data causing the first display device to display the one or more holograms of the subset of data items to the first user at the virtual place-located anchor at the virtual location;
determining if the condition is satisfied; and
if the condition is satisfied, transmitting second display data to cause a second display device to display the one or more holograms of the subset of data items to the second user at the virtual place-located anchor at the virtual location.

### Claim 2 (depends on 1)

The method of claim 1, wherein the target data source comprises a social network, and the subset of the plurality of data items comprises third party comments to a posting from the first user on the social network.

### Claim 3 (depends on 2)

The method of claim 2, further comprising, in the creating phase, transmitting an instruction to the social network to indicate that the posting is associated with the virtual place-located anchor.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first display data causes the first display device to:
display at the virtual location an anchor hologram representing the virtual place-located anchor; and
display the one or more holograms within a predetermined distance of the anchor hologram.

### Claim 5 (depends on 1)

The method of claim 1, wherein the virtual location is world-locked to a position that is fixed in a three dimensional coordinate space overlaid upon the real world three dimensional environment.

### Claim 6 (depends on 1)

The method of claim 1, wherein the virtual location is world-locked to a position relative to an object in the real world three dimensional environment.

### Claim 7 (depends on 6)

The method of claim 6, wherein the object is at an initial real world location, further comprising:
in the creating phase:
receiving sensor data from the first user device;
using the sensor data, identifying the object at a subsequent real world location different from the initial real world location; and
in the viewing phase:
transmitting subsequent display data to the first display device that causes the first display device to display the one or more holograms to the first user at the virtual place-located anchor at the virtual location world-locked to the position relative to the object at the subsequent real world location.

### Claim 8 (depends on 1)

The method of claim 1, wherein the virtual place-located anchor is a base virtual place-located anchor, the method further comprising:
in the creating phase:
receiving an instruction to generate a mirrored virtual place-located anchor at another virtual location that is world-locked; and
in the viewing phase:
transmitting mirror display data to the first display device that causes the first display device to display the one or more holograms to the first user at the mirrored virtual place-located anchor at the other virtual location.

### Claim 9 (depends on 1)

The method of claim 1, wherein the plurality of data items are a first plurality of data items, the target data source is a first target data source, the method further comprising:
in the creating phase:
receiving a second plurality of data items from a second target data source at which the first user has an account;
linking a subset of the second plurality of data items to the virtual place-located anchor; and
in the viewing phase:
transmitting second target data source display data to the first display device that causes the first display device to display one or more world-locked holograms of the subset of the second plurality of data items to the first user at the virtual place-located anchor.

### Claim 10 (depends on 1)

The method of claim 1, wherein the target data source is a social network and the permission is a connection permission, and if the second user is connected with the first user via the social network, then the condition is satisfied.

### Claim 11 (depends on 1)

The method of claim 1, wherein the permission is a place-based permission, and if the second user device is located within a predetermined viewing range of the virtual place-located anchor, then the condition is satisfied.

### Claim 12

A computing device, comprising:
an anchor program executed by a processor of the computing device, the anchor program configured to:
in a creating phase:
receive an instruction to generate a virtual place-located anchor at a virtual location that is world-locked;
receive a plurality of data items from a target data source at which a first user has an account;
link a subset of the plurality of data items to the virtual place-located anchor;
receive a permission via user input from the first user, the permission specifying a condition under which a second user is authorized to view one or more holograms of the subset of data items;
in a viewing phase:
transmit first display data to a first display device comprising an at least partially see-through display configured to visually augment a view of a real world three dimensional environment through the display, the first display data causing the first display device to display the one or more holograms of the subset of data items to the first user at the virtual place-located anchor at the virtual location;
determine if the condition is satisfied; and
if the condition is satisfied, transmit second display data to cause a second display device to display the one or more holograms of the subset of data items to the second user at the virtual place-located anchor at the virtual location.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein the virtual location is world-locked to a position that is fixed in a three dimensional coordinate space overlaid upon the real world three dimensional environment.

### Claim 14 (depends on 12)

The computing device of claim 12, wherein the virtual location is world-locked to a position relative to an object in the real world three dimensional environment.

### Claim 15 (depends on 14)

The computing device of claim 14, wherein the object is at an initial real world location, and the anchor program is configured to:
in the creating phase:
receive sensor data from the first user device;
using the sensor data, identify the object at a subsequent real world location different from the initial real world location; and
in the viewing phase:
transmit subsequent display data to the first display device that causes the first display device to display the one or more holograms to the first user at the virtual place-located anchor at the virtual location world-locked to the position relative to the object at the subsequent real world location.

### Claim 16 (depends on 12)

The computing device of claim 12, wherein the subset of the plurality of data items comprises third party comments related to an image, a video, a comment, or an update that is posted by the first user to the target data source.

### Claim 17 (depends on 12)

The computing device of claim 12, wherein the anchor program is configured to:
in the creating phase:
receive from the first display device an image of an object in the real world three dimensional environment at the virtual location, wherein the image is posted to the target data source; and
filter the plurality of data items by selecting third party comments associated with the image as the subset of the plurality of data items.

### Claim 18 (depends on 12)

The computing device of claim 12, wherein the virtual place-located anchor is a base virtual place-located anchor, and the anchor program is configured to:
in the creating phase:
receive an instruction to generate a mirrored virtual place-located anchor at another virtual location that is world-locked; and
in the viewing phase:
transmit mirror display data to the first display device that causes the first display device to display the one or more holograms to the first user at the mirrored virtual place-located anchor at the other virtual location.

### Claim 19 (depends on 12)

The computing device of claim 12, wherein the plurality of data items are a first plurality of data items, the target data source is a first target data source, and the anchor program is configured to:
in the creating phase:
receive a second plurality of data items from a second target data source at which the first user has an account;
link a subset of the second plurality of data items to the virtual place-located anchor; and
in the viewing phase:
transmit second target data source display data to the first display device that causes the first display device to display one or more world-locked holograms of the subset of the second plurality of data items to the first user at the virtual place-located anchor.

### Claim 20

A method, comprising:
in a creating phase:
receiving an instruction to generate a virtual place-located anchor at a virtual location that is world-locked to a position relative to an object in the real world three dimensional environment;
receiving a plurality of data items from a social network at which a first user has an account;
linking a subset of the plurality of data items to the virtual place-located anchor, the subset of data items comprising third party comments to a posting from the first user on the social network;
receiving a permission via user input from the first user, the permission specifying a condition under which a second user is authorized to view virtual content of the subset of data items;
in a viewing phase:
transmitting first display data to a first display device configured to visually augment a view of a real world three dimensional environment, the first display data causing the first display device to display the virtual content of the subset of data items to the first user at the virtual place-located anchor at the virtual location;
determining if the condition is satisfied; and
if the condition is satisfied, transmitting second display data to cause a second display device to display the virtual content of the subset of data items to the second user at the virtual place-located anchor at the virtual location.
