IP Library Granted Patent US 11,430,189
Granted Patent B2
US 11,430,189 · App. 17/110,235 · Granted Aug 30, 2022

Cloud assisted generation of local map data using novel viewpoints

Inventors: Ross Edward Finman (Redwood City, CA); Si ying Diana Hu (Mountain View, CA)
Assignee: Niantic, Inc.
G06T19/006G06T17/05G06T2200/04G06T2200/08G06T2219/2004
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,430,189
App. No.
17/110,235
Granted
Aug 30, 2022
Kind
B2
Abstract

An augmented reality system generates computer-mediated reality on a client device. The client device has sensors including a camera configured to capture image data of an environment and a location sensor to capture location data describing a geolocation of the client device. The client device creates a three-dimensional (3-D) map with the image data and the location data for use in generating virtual objects to augment reality. The client device transmits the created 3-D map to an external server that may utilize the 3-D map to update a world map stored on the external server. The external server sends a local portion of the world map to the client device. The client device determines a distance between the client device and a mapping point to generate a computer-mediated reality image at the mapping point to be displayed on the client device.

Claims (64)

1. A method of generating map data on a client device, the method comprising:

capturing an image with a camera of the client device, the image depicting a view of an environment around the client device;

identifying the view of the environment as a novel viewpoint based on a comparison of the image to one or more preexisting images of the environment captured from one or more other viewpoints;

responsive to identifying the image as a novel viewpoint, generating novel local map data from the image, the novel local map data including a three-dimensional (3D) point cloud; and

providing the novel local map data to an external server for fusing with aggregated map data generated from local map data corresponding to at least some of the one or more other viewpoints.

2. The method of claim 1 , further comprising:

receiving a portion of the aggregated map data from the external server;

determining a distance between a mapping point in the portion of aggregated map data and a spatial position of the client device in the portion of aggregated map data;

generating a computer mediated reality image at the mapping point in the portion of aggregated map data based at least in part on the distance between the mapping point and the spatial position of the client device; and

displaying the computer mediated reality image at the mapping point.

3. The method of claim 2 , further comprising:

determining a subsequent distance between the mapping point in the portion of aggregated map data and a subsequent spatial position of the client device in the portion of aggregated map data;

adjusting the computer mediated reality image at the mapping point in the portion of aggregated map data based on the subsequent location data; and

displaying the adjusted computer mediated reality image at the mapping point.

4. The method of claim 2 , further comprising transmitting the image to the external server, wherein the portion of aggregated map data is selected based on the image.

5. The method of claim 2 , wherein the computer mediated reality image comprises a virtual object that is fixed at the mapping point in the portion of aggregated map data.

6. The method of claim 1 , wherein identifying the view of the environment as a novel viewpoint comprises:

determining an overlap between fields of view of the image and each of the one or more preexisting images is below an overlap threshold.

7. The method of claim 1 , wherein identifying the view of the environment as a novel viewpoint comprises:

retrieving the one or more preexisting images, the one or more preexisting images associated with geographic positions within a threshold radius of a geographic position of the client device;

filtering the one or more preexisting images based on a comparison of a set of features identified in the image to features identified in the one or more preexisting images; and

determining that the image does not match the filtered one or more preexisting images.

8. The method of claim 7 , wherein determining that the image does not match the filtered one or more preexisting images comprises:

comparing the image to the filtered one or more preexisting images using a machine learned model; and

determining that the image does not match the filtered one or more preexisting images based on an output of the model.

9. The method of claim 2 , wherein the computer mediated reality image comprises a virtual object that is fixed at the mapping point in the local portion of aggregated map data.

10. The method of claim 9 , further comprising receiving a virtual object from the external server, wherein the computer mediated reality image comprises a view of the received virtual object.

11. The method of claim 1 , wherein generating the novel local map data comprises:

identifying one or more objects in the environment from the image;

determining one or more spatial positions for each of the objects from the image; and

generating a 3D point cloud comprising a set of 3-D points for each of the objects.

12. The method of claim 11 , wherein generating the novel local map data further comprises:

classifying each object into one of a plurality of object types, the plurality of object types including a stationary type describing objects that are expected to remain in substantially a same spatial position.

13. A method comprising:

storing aggregated map data that describes a plurality of environments at a plurality of geolocations, the aggregated map data for each environment derived from images captured from one or more viewpoints within the corresponding environment;

receiving, from a client device, novel local map data generated from an image captured from a novel viewpoint in an environment around the client device, the novel local map data comprising a 3D point cloud spatially describing the environment around the client device;

confirming the novelty of the viewpoint by comparing the image to a portion of the aggregated map data describing the environment around the client device;

responsive to confirming the novelty of the novel viewpoint, adding at least some of the novel local map data to the portion of the aggregated map data describing the environment around the client device.

14. The method of claim 13 , further comprising:

transmitting the portion of the aggregated map data to the client device.

15. The method of claim 13 , further comprising:

generating a virtual object to be displayed by the client device in the environment; and

transmitting the virtual object to the client device.

16. The method of claim 13 , wherein comparing the image to the aggregated map data comprises:

determining an overlap between fields of view of the images captured from the one or more viewpoints within the environment around the client device is below an overlap threshold.

17. The method of claim 13 , wherein comparing the image to the aggregated map data comprises:

receiving a geographic position of the client device;

retrieving a portion of the aggregated map data corresponding to the geographic position of the client device, the portion of the aggregated map data derived from one or more corresponding images captured from one or more viewpoints within a threshold radius of the geographic position of the client device;

filtering the one or more viewpoints based on a comparison of a set of features identified in the image to features identified in the one or more corresponding images captured from the one or more viewpoints; and

determining that the novel viewpoint does not match the filtered one or more viewpoints.

18. A non-transitory computer-readable storage medium storing instructions for generating map data on a client device, the instructions, that when executed by the client device, cause the client device to perform operations comprising:

capturing an image with a camera of the client device, the image depicting a view of an environment around the client device;

identifying the view of the environment as a novel viewpoint based on a comparison of the image to one or more preexisting images of the environment captured from one or more other viewpoints;

responsive to identifying the image as a novel viewpoint, generating novel local map data from the image, the novel local map data including a three-dimensional (3D) point cloud; and

providing the novel local map data to an external server for fusing with aggregated map data generated from local map data corresponding to at least some of the one or more other viewpoints.

19. The storage medium of claim 18 , wherein the operations further comprise:

receiving a portion of the aggregated map data from the external server;

determining a distance between a mapping point in the portion of aggregated map data and a spatial position of the client device in the portion of aggregated map data;

generating a computer mediated reality image at the mapping point in the portion of aggregated map data based at least in part on the distance between the mapping point and the spatial position of the client device; and

displaying the computer mediated reality image at the mapping point.

20. The storage medium of claim 19 , further comprising:

determining a subsequent distance between the mapping point in the portion of aggregated map data and a subsequent spatial position of the client device in the portion of aggregated map data;

adjusting the computer mediated reality image at the mapping point in the portion of aggregated map data based on the subsequent location data; and

displaying the adjusted computer mediated reality image at the mapping point.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2020
From: FINMAN, ROSS EDWARD; HU, SI YING DIANA
To: NIANTIC, INC.
Reel/Frame 054553/0114 →
Continuity (3)
Continuation 16029530 · Jul 6, 2018
Provisional Application 62529492 · Jul 7, 2017
Related Publication 20210082202A1 · Mar 18, 2021