IP Library Granted Patent US 9,087,401
Granted Patent B1
US 9,087,401 · App. 13/550,222 · Granted Jul 21, 2015

Method of annotation across different locations

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 9,087,401
App. No.
13/550,222
Granted
Jul 21, 2015
Kind
B1
Abstract

A computer-implemented method, system and computer-readable storage device provide functionality for managing location information for planar regions in two-dimensional views of a three-dimensional environment. A request is received for a first two-dimensional view of a three-dimensional environment that identifies a first planar region associated with content within the three-dimensional environment. The first two-dimensional view is rendered and displayed. A request is received for a second two-dimensional view from a second location. A distance and direction between the location of the first planar region and the location for the second view are determined and used to establish a second location of the planar region in the second two-dimensional view, and then use this information to help render and display the second two-dimensional view.

Claims (86)

1. A computer-implemented method for managing location information for planar regions in two-dimensional views of a three-dimensional environment, the method comprising:

receiving a request for a first two-dimensional view of a three-dimensional environment from a first location in the three-dimensional environment, wherein the request for the first two-dimensional view identifies the location of a first planar region associated with content within the three-dimensional environment;

rendering the first two-dimensional view from the first location in the three-dimensional environment based on a plurality of images of the three-dimensional environment and metadata associated with the plurality of images;

displaying the first two-dimensional view;

receiving a request for a second two-dimensional view of the first planar region from a second location in the three-dimensional environment;

performing a coordinate transformation on the rendered first two-dimensional view to generate three-dimensional coordinates, the three-dimensional coordinates corresponding to the rendered first two-dimensional view and indicating at least the location of the first planar region within the three-dimensional environment;

determining a distance and a direction between the second location and the location of the first planar region based at least on the three-dimensional coordinates;

identifying, based on the distance and the direction between the second location and the location of the first planar region in the three-dimensional environment, corner points of a second planar region within the second two-dimensional view that correspond to respective corner points of the first planar region;

rendering the second two-dimensional view from the second location in the three-dimensional environment based on a plurality of images of the three-dimensional environment, metadata associated with the plurality of images, and the content associated with the planar region in the three-dimensional environment; and

displaying the second two-dimensional view.

2. The computer-implemented method of claim 1 , wherein the identifying comprises:

establishing an exact match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identifying, when the establishing of an exact match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

3. The computer-implemented method of claim 1 , wherein the identifying comprises:

establishing a partial match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identifying, when the establishing of a partial match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

4. The computer-implemented method of claim 3 , wherein establishing a partial match comprises:

generating occlusion masks that provide information about which parts of the content contained in the first planar region are visible from the second location; and

using the occlusion masks to determine whether establishing a partial match is successful.

5. The computer implemented method of claim 3 , wherein establishing a partial match comprises:

calculating a match score between the first planar region and the second planar region;

establishing that a partial match is successful when the match score exceeds a threshold value.

6. The computer-implemented method of claim 5 , wherein calculating the match score comprises:

dividing the first planar region and the second planar region into constituent pieces;

comparing the pieces of the first planar region to respective pieces of the second planar region to determine an amount of overlap;

calculating a match score based on the amount of overlap.

7. The computer-implemented method of claim 5 , wherein calculating the match score comprises:

comparing the first planar region and the second planar region to determine the largest contiguous area of content;

calculating a match score based on the amount of contiguous shared content.

8. A system for managing location information for planar regions in two-dimensional views of a three-dimensional environment, the system comprising:

a processor;

a planar region location manager, configured to use the processor to:

receive a request for a first two-dimensional view of a three-dimensional environment from a first location in the three-dimensional environment, wherein the request for the first two-dimensional view identifies the location of a first planar region associated with content within the three-dimensional environment;

render the first two-dimensional view from the first location in the three-dimensional environment based on a plurality of images of the three-dimensional environment and metadata associated with the plurality of images;

display the first two-dimensional view;

receive a request for a second two-dimensional view of the first planar region from a second location in the three-dimensional environment;

perform a coordinate transformation on the rendered first two-dimensional view to generate three-dimensional coordinates, the three-dimensional coordinates corresponding to the rendered first two-dimensional view and indicating at least the location of the first planar region within the three-dimensional environment;

determine a distance and a direction between the second location and the location of the first planar region based at least on the three-dimensional coordinates;

identify, based on the distance and the direction between the second location and the location of the first planar region in the three-dimensional environment, corner points of a second planar region within the second two-dimensional view that correspond to respective corner points of the first planar region;

render the second two-dimensional view from the second location in the three-dimensional environment based on a plurality of images of the three-dimensional environment, metadata associated with the plurality of images, and the content associated with the planar region in the three-dimensional environment; and

display the second two-dimensional view.

9. The system of claim 8 , wherein the planar region location manager is further configured to, in order to identify:

establish an exact match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identify, when the establishing of an exact match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

10. The system of claim 8 , wherein the planar region location manager is further configured to, in order to identify:

establish a partial match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identify, when the establishing of a partial match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

11. The system of claim 10 , wherein the planar region location manager is further configured to, in order to establish a partial match:

generate occlusion masks that provide information about which parts of the content contained in the first planar region are visible from the second location; and

use the occlusion masks to determine whether establishing a partial match is successful.

12. The computer implemented method of claim 10 , wherein the planar region location manager is further configured to, in order to establish a partial match:

calculate a match score between the first planar region and the second planar region;

establish that a partial match is successful when the match score exceeds a threshold value.

13. The system of claim 12 , wherein the planar region location manager is further configured to, in order to calculate the match score:

divide the first planar region and the second planar region into constituent pieces;

compare the pieces of the first planar region to respective pieces of the second planar region to determine an amount of overlap;

calculating a match score based on the amount of overlap.

14. The system of claim 12 , wherein the planar region location manager is further configured to, in order to calculate the match score:

compare the first planar region and the second planar region to determine the largest contiguous area of content

calculating a match score based on the amount of contiguous shared content.

15. A non-transitory computer readable storage device having instructions stored thereon that, when executed by one or more processors, cause the processors to execute a method for managing location information for planar regions in two-dimensional views of a three-dimensional environment, the method comprising:

receiving a request for a first two-dimensional view of a three-dimensional environment from a first location in the three-dimensional environment, wherein the request for the first two-dimensional view identifies the location of a first planar region associated with content within the three-dimensional environment;

rendering the first two-dimensional view from the first location in the three-dimensional environment based on a plurality of images of the three-dimensional environment and metadata associated with the plurality of images;

displaying the first two-dimensional view;

receiving a request for a second two-dimensional view of the first planar region from a second location in the three-dimensional environment;

performing a coordinate transformation on the rendered first two-dimensional view to generate three-dimensional coordinates, the three-dimensional coordinates corresponding to the rendered first two-dimensional view and indicating at least the location of the first planar region within the three-dimensional environment;

determining a distance and a direction between the second location and the location of the first planar region based at least on the three-dimensional coordinates;

identifying, based on the distance and the direction between the second location and the location of the first planar region in the three-dimensional environment, corner points of a second planar region within the second two-dimensional view that correspond to respective corner points of the first planar region;

rendering the second two-dimensional view from the second location in the three-dimensional environment based on a plurality of images of the three-dimensional environment, metadata associated with the plurality of images, and the content associated with the planar region in the three-dimensional environment; and

displaying the second two-dimensional view.

16. The computer storage device of claim 15 , wherein the identifying comprises:

establishing an exact match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identifying, when the establishing of an exact match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

17. The computer storage device of claim 15 , wherein the identifying comprises:

establishing a partial match between the content contained in the first planar region and the content contained in a second planar region in the second two-dimensional view that corresponds to the first planar region; and

identifying, when the establishing of a partial match is successful, the corner points of the second planar region as corresponding to respective corner points of the first planar region.

18. The computer storage device of claim 17 , wherein establishing a partial match comprises:

generating occlusion masks that provide information about which parts of the content contained in the first planar region are visible from the second location; and

using the occlusion masks to determine whether establishing a partial match is successful.

19. The computer storage device of claim 17 , wherein establishing a partial match comprises:

calculating a match score between the first planar region and the second planar region;

establishing that a partial match is successful when the match score exceeds a threshold value.

20. The computer storage device of claim 19 , wherein calculating the match score comprises:

dividing the first planar region and the second planar region into constituent pieces;

comparing the pieces of the first planar region to respective pieces of the second planar region to determine an amount of overlap;

calculating a match score based on the amount of overlap.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2012
From: ZHENG, WENTAO; TURNER, KENNETH JAMES
To: GOOGLE INC.
Reel/Frame 028560/0120 →