IP Library Granted Patent US 9,336,240
Granted Patent B2
US 9,336,240 · App. 13/184,277 · Granted May 10, 2016

Geo-tagging digital images

Inventor: Nikhil Bhatt (Cupertino, CA)
Assignee: Apple Inc.
G06F17/30268G06F17/30241G06F17/30265
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,336,240
App. No.
13/184,277
Granted
May 10, 2016
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, are described for automatically and/or interactively editing image metadata. In one aspect, the methods include the actions of obtaining two from among three items of geo-metadata associated with an image. The three items of geo-metadata include an acquisition geo-location for the image, an acquisition geo-orientation for the image and a geo-location of a subject depicted in the image. The methods further include the actions of representing on a map the two obtained items of geo-metadata associated with the image, and determining candidates for the third item of geo-metadata based on the representations of the two obtained items of geo-metadata. In addition, the methods can also include the actions of determining the third item of geo-metadata associated with the image from among the generated candidates.

Claims (75)

1. A method performed by one or more processes executing on a computer system, the method comprising:

obtaining, from geo-metadata associated with an image, an acquisition geo-location for the image and, an acquisition geo-orientation for the image;

representing on a map the acquisition geo-location and the acquisition geo-orientation;

identifying one or more objects based, at least in part, on the acquisition geo-location and the acquisition geo-orientation, wherein the one or more objects represent one or more candidates of a subject depicted in the image;

determining, for each of the one or more candidates, a distance between a focus point of the image and a geo-location associated with each of the one or more candidates;

identifying, based on the determining, a primary candidate, the primary candidate positioned at the distance nearest the focus point;

identifying the primary candidate as the subject of the image; and

representing the subject on the map.

2. The method of claim 1 , further comprising:

overlaying on the map a vector having an origin at the obtained acquisition geo-location and a direction corresponding to the obtained acquisition geo-orientation; and

identifying the one or more candidates positioned along the direction of the vector based on geo-information including polygonal contours corresponding to the one or more candidates.

3. The method of claim 2 , wherein identifying the primary candidate as the subject of the image comprises:

determining which of the one or more identified candidates is the subject based on a user selection.

4. The method of claim 2 , wherein identifying the primary candidate as the subject of the image comprises:

selecting a candidate from among the one or more identified candidates that is located within a specified range of the acquisition geo-location.

5. The method of claim 2 , further comprising tagging the image in accordance with hierarchical geo-location information associated with the determined subject.

6. The method of claim 2 , further comprising generating metadata for a focus distance, wherein the focus distance is substantially equal to a length of the overlaid vector representing the acquisition geo-orientation.

7. The method of claim 2 , wherein identifying the one or more candidates positioned along the direction of the vector further comprises:

receiving a user request to identify an object depicted in the image along the direction of the vector;

extending, in response to the received user request, a length of the vector; and

identifying the object upon the extended vector reaching a polygonal contour of the object.

8. The method of claim 7 , wherein reaching the polygonal contour occurs when the extended vector is separated from the polygonal contour by less than a predetermined distance.

9. The method of claim 2 , where the image comprises a frame included in a sequence of video frames, and the method further comprises associating the subject with the sequence of video frames.

10. The method of claim 9 , further comprising:

obtaining an acquisition geo-location and an acquisition geo-orientation of an other frame of the sequence of video frames;

representing on the map the obtained acquisition geo-location and geo-orientation of the other frame, at least in part, by overlaying on the map an other vector having an origin at the obtained acquisition geo-location of the other frame and a direction corresponding to the obtained acquisition geo-orientation of the other frame;

identifying along the direction of the other vector one or more other candidates of a subject depicted in the image based, at least in part, on geo-information including polygonal contours corresponding to the one or more other candidates;

determining, for each of the one or more other candidates, a distance between a focus point of the image and a geo-location associated with each of the one or more other candidates;

identifying, based on the determining, an other primary candidate, the other primary candidate positioned at the distance nearest the focus point;

identifying the other primary candidate as the subject of the other frame; and

associating the subject of the other frame with the sequence of video frames.

11. A non-transitory computer readable medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to:

obtain from geo-metadata associated with an image, an acquisition geo-location for the image and an acquisition geo-orientation for the image;

represent on a map the acquisition geo-location and the acquisition geo-orientation;

determine one or more objects based, at least in part, on the acquisition geo-location and the acquisition geo-orientation, wherein the one or more objects represent one or more candidates of a subject depicted in the image;

determine, for each of the one or more candidates, a distance between a focus point of the image and a geo-location associated with each of the one or more candidates;

identify, based on the determination, a primary candidate, the primary candidate positioned at the distance nearest the focus point;

identify the primary candidate as the subject of the image; and

represent the subject on the map.

12. The non-transitory computer readable medium of claim 11 , wherein the instructions to cause the data processing apparatus to represent on a map the acquisition geo-location and the acquisition geo-orientation comprise instructions to cause the data processing apparatus to:

overlay on the map a vector having an origin at the obtained acquisition geo-location and a direction corresponding to the obtained acquisition geo-orientation, and

wherein the instructions to cause the data processing apparatus to determine one or more candidates for a geo-location of a subject comprise instructions to cause the data processing apparatus to identify the one or more candidates positioned along the direction of the vector based on geo-information including polygonal contours corresponding to the one or more candidates.

13. A system comprising:

at least one display device;

at least one processor; and

storage configured to store instructions that are operable, when executed by the processor, to cause the system to perform operations comprising:

obtaining from geo-metadata associated with an image, an acquisition geo-location for the image and an acquisition geo-orientation for the image;

representing on a map the acquisition geo-location and the acquisition geo-orientation;

determining one or more objects based, at least in part, on the acquisition geo-location and the acquisition geo-orientation, wherein the one or more objects represent one or more candidates of a subject depicted in the image;

determining, for each of the one or more candidates, a distance between a focus point of the image and a geo-location associated with each of the one or more candidates;

identifying, based on the determining, a primary candidate, the primary candidate positioned at the distance nearest the focus point;

identifying the primary candidate as the subject of the image; and

representing the subject on the map.

14. The system of claim 13 , further comprising:

overlaying on the map a vector having an origin at the obtained acquisition geo-location and a direction corresponding to the obtained acquisition geo-orientation; and

identifying the one or more candidates positioned along the direction of the vector based, at least in part, on geo-information including polygonal contours corresponding to the one or more candidates.

15. A non-transitory computer readable medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to:

obtain from geo-metadata associated with an image an acquisition geo-location for the image and a geo-location of a subject depicted in the image, wherein the subject is a point of interest in the image;

represent on a map the acquisition geo-location and the geo-location of the subject;

overlay on the map a first indicator corresponding to the acquisition geo-location and a polygonal contour corresponding to the geo-location of the subject;

determine an angular range between the acquisition geo-location and boundaries of the polygonal contour;

overlay on the map a vector having an origin at the obtained acquisition geo-location and a length representative of a focus distance associated with the image;

determine, based at least in part on the angular range, one or more candidates for an acquisition geo-orientation;

determine from the one or more candidates the acquisition geo-orientation; and

represent the determined acquisition geo-orientation on the map.

16. The non-transitory computer readable medium of claim 15 , wherein the instructions to cause the data processing apparatus to determine from the one or more candidates the acquisition geo-orientation comprise instructions to cause the data processing apparatus to:

receive a request to orient the vector in a direction within the angular range;

orient the vector in the requested direction; and

generate a value of the acquisition geo-orientation based, at least in part, on an angle of the oriented vector.

17. A non-transitory computer readable medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to:

obtain from geo-metadata associated with an image an acquisition geo-orientation for the image and a geo-location of a subject depicted in the image, wherein the subject is a point of interest in the image;

represent the acquisition geo-orientation and the geo-location of the subject on a map;

determine one or more candidates for an acquisition geo-location based on the acquisition geo-orientation and the geo-location of the subject depicted in the image;

determine from the one or more candidates the acquisition geo-location based, at least in part, on a point along the acquisition geo-orientation at a distance from the geo-location of the subject that is substantially equal to a focus distance associated with the image; and

represent the acquisition geo-location on the map.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2011
From: BHATT, NIKHIL
To: APPLE INC.
Reel/Frame 026704/0325 →
Continuity (1)
Related Publication 20130018881A1 · Jan 17, 2013