STORING LOCATION INFORMATION WITH METADATA OF VISUAL MEDIA

A device to detect location data, store a first location of the device within metadata of visual media if the location data is available, and store a second location within the metadata of the visual media if the location data is unavailable.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
RELATED APPLICATIONS

The present application is a Continuation of U.S. patent application Ser. No. 13/115,106, filed May 24, 2011, titled “Storing a Location within Metadata of Visual Media,” the disclosure of which is incorporated herein by reference in its entirety.

BACKGROUND

A user can initially capture an image using an image capture device. The user can then access the captured image using one or more input buttons to manually add information to the image. Additionally, the user can access the captured image from another device and proceed to add the information to the image. The information entered by the user can include who is included in the image, where the image was taken, and/or notes of the image.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features and advantages of the disclosed embodiments will be apparent from the detailed description which follows, taken in conjunction with the accompanying drawings, which together illustrate, by way of example, features of the disclosed embodiments.

FIG. 1 illustrates a device with an image capture component and a location tracking component according to an embodiment.

FIG. 2A illustrates a location tracking component providing location data according to an embodiment.

FIG. 2B illustrates a block diagram of a first location and a second location being identified according an embodiment.

FIG. 3 illustrates a block diagram of a first location being stored within metadata of visual media according to an embodiment.

FIG. 4A illustrates a block diagram of a second location being stored within metadata of visual media according to an embodiment.

FIG. 4B illustrates a block diagram of metadata of visual media being updated according to an embodiment.

FIG. 5 illustrates a media application on a device and the media application stored on a removable medium being accessed by the device according to an embodiment.

FIG. 6 is a flow chart illustrating a method for managing visual media according to an embodiment.

FIG. 7 is a flow chart illustrating a method for managing visual media according to an embodiment.

DETAILED DESCRIPTION

When managing visual media captured by a device, the device can poll a location tracking component for location data in response to an image capture component capturing the visual media. Using the location data, the device can identify a current coordinate and/or a current location of the device. Additionally, using the current coordinate of the location data, the device can identify a first location of the device corresponding to the current location of the device and store the first location of the device to metadata of the visual image. As a result, the device can accurately identify and record within the metadata where the visual image was captured.

If the location data and the current coordinate are unavailable, the device can access a second location of the device corresponding to a last known location and/or last known coordinate of the device. The device can then store the second location to the metadata of the visual media. By storing the second location within the metadata of the visual media, even if a current coordinate of the device is available through location data, the device can continue to identify and record a most likely location of where the visual image is captured.

FIG. 1 illustrates a device with an image capture component 170 and a location tracking component 130 according to an embodiment. In one embodiment, the device 100 can be a cellular device, a PDA (Personal Digital Assistant), an E (Electronic)-Reader, a tablet, a camera and/or the like. In another embodiment, the device 100 can be a desktop, a laptop, a notebook, a tablet, a netbook, an all-in-one system, a server, and/or any additional device which can include an image capture component 170 and a location tracking component 130.

As illustrated in FIG. 1, the device 100 includes a controller 120, an image capture component 170, a location tracking component 130, and a communication channel 150 for the device 100 and/or one or more components of the device 100 to communicate with one another. In one embodiment, the device 100 includes a media application stored on a computer readable medium included in or accessible to the device 100. In other embodiments, the device 100 includes additional components and/or is coupled to additional components in addition to and/or in lieu of those noted above and illustrated in FIG. 1.

As noted above, the device 100 can include a controller 120. The controller 120 can send data and/or instructions to the components of the device 100, such as the image capture component 170, the location tracking component 130, and/or the media application. Additionally, the controller 120 can receive data and/or instructions from components of the device 100, such as the image capture component 170, the location tracking component 130, and/or the media application.

The media application is an application which can be utilized in conjunction with the controller 120 to manage visual media 160. For the purposes of this application, the visual media 160 can include one or more images and/or videos captured by an image capture component 170 of the device 100. The image capture component 170 is a hardware component of the device 100 configured to capture visual media 160 as a two-dimensional and a three-dimensional image or video.

In response to the image capture component 170 capturing the visual media 160, the controller 120 and/or the media application can poll a location tracking component 130 of the device 100 for location data 180. For the purpose of this application, the location tracking component 130 is a hardware component of the device 100 configured to identify location data 180 corresponding to a location of the device 100 and provide the location data 180 to the controller 120 and/or the media application. In one embodiment, the location tracking component 130 can be a GPS (global positioning system) receiver and/or a radio device configured to detect one or more signals from satellites, base stations, and/or cellular towers to identify a location of the device 100.

One or more of the signals can include communication signals, ranging signals, and/or navigation messages which are utilized by the location tracking component 130 to identify a coordinate of the device 100. The location tracking component 130 can include the coordinate of the device 100 as the location data 180. If the coordinate of the device 100 is identified, the location tracking component 130 can notify the controller 120 and/or the media application that the location data 180 is available. If the coordinate of the device 100 is not identified, the location tracking component 130 can notify the controller 120 and/or the media application that the location data 180 is not available.

If the location data 180 is available, the location tracking component 130 can provide the location data 180 to the controller 120 and/or the media application. In response to receiving location data 180, the controller 120 and/or the media application can identify a first location of the device 100 and store the first location within metadata 165 of the visual media 160. For the purposes of this application, the first location corresponds to a current location of the device 100 and is based on the location data 180 from the location tracking component 130. The metadata 165 can include data and/or information associated with the visual media 160. The metadata 165 can be included as part of the visual media 160 or as a separate file associated with the visual media 160.

If the location data 180 is not available, the location tracking component 130 can notify the controller 120 and/or the media application that the location data is unavailable. The controller 120 and/or the media application can then proceed to access a second location and store the second location within the metadata 165 of the visual media 160. For the purposes of this application, a second location is a last known location of the device 100. In one embodiment, the second location is based on the recently identified and/or a previously identified coordinate from the location tracking component 130 before the signal was not detected. Using the second location, the controller 120 and/or the media application can identify a last known location of the device 100.

The media application can be firmware which is embedded onto the controller 120, the device 100, and/or a storage device coupled to the device 100. In another embodiment, the media application is an application stored on the device 100 within ROM (read only memory) or on the storage device accessible by the device 100. In other embodiments, the state application is stored on a computer readable medium readable and accessible by the device 100 or the storage device from a different location. The computer readable medium can include a transitory or a non-transitory memory.

FIG. 2A illustrates a location tracking component 230 providing location data 280 according to an embodiment. As noted above, the location tracking component 230 can be polled for the location data 280 in response to an image capture component 270 capturing visual media 260. The image capture component 270 is a hardware component of the device 200 configured by a user, the controller 220, and/or the media application 210 to capture visual media 260 as one or more images and/or videos. In one embodiment, the image capture component 270 can be a camera, scanner and/or photo sensor.

The visual media 260 can be stored by the image capture component 270, the controller 220, and/or the media application 210 as an image file, a video file, a media file, and/or any additional file on a storage component 240 accessible to the device 200. Additionally, the visual media 260 can include metadata 265. The metadata 265 can include data and/or information which can be populated by the controller 220 and/or the media application 210 with a location corresponding to where the visual media 260 was captured.

The metadata 265 can be included as part of the visual media 260. In another embodiment, the metadata 265 can be another file associated with the visual media 260 and stored on a storage component 240 accessible to the device 200. The storage component 240 can be a hard drive, a compact disc, a digital versatile disc, a Blu-ray disk, a flash drive, a network attached storage device, and/or any additional non-transitory computer readable memory accessible to the controller 220 and/or the media application 210.

As noted above, in response to the image capture component 270 capturing any visual media 260, the controller 220 and/or the media application 210 can poll the location tracking component 230 for location data 280. As noted above and illustrated in FIG. 2A, the location tracking component 230 is a hardware component of the device 200 configured to detect one or more signals 235 from satellites, base stations, and/or communication towers. One or more of the signals 235 can include communication signals, ranging signals, and/or navigation messages.

When identifying the location data 280, the location tracking component 230 can attempt to identify a current coordinate of the device 200. In one embodiment, the location tracking component 230 can identify a current coordinate if the location tracking component 230 is coupled to at least three communication devices, such as satellites, communication towers, and/or base stations. When coupled to at least three communication devices, the location tracking component 230 can receive signals 235 from the communication devices and use the signals 235 to identify a current coordinate of the location tracking component 230.

In one embodiment, the location tracking component receiver 230 identifies the current coordinate by triangulating the position of the location tracking component 230 using the signals 235. The current coordinate can include one or more numbers which correspond to a current location of the device 200. In other embodiments, other methods and/or process cases be used to identify the current coordinate or current location of the device 200. Once the current coordinate has been identified, the location tracking component 230 can supply the current coordinate to the controller 220 and/or the media application 210 as the location data 280.

The location tracking component 230 can be polled by the controller 220 and/or the media application 210 for the location data 280 in response to an image capture component 270 of the device capturing visual media 260. In another embodiment, the location tracking component 230 can be polled by the controller 220 and/or the media application 210 for the location data 280 in response to the device 200 powering on. The device 200 can be powered on if the controller 220 and/or one or more components of the device 200 receive power from one or more power sources.

FIG. 2B illustrates a block diagram of a first location 283 and a second location 285 being identified according an embodiment. As shown in the present embodiment, in response the location tracking component 230 identifying a current coordinate, the current coordinate can be supplied to the controller 220 and/or the media application 210 as location data. In response to receiving the location data, the controller 220 and/or the media application 210 can store the location data as a first location 283 of the device 200. As noted above, the first location 283 corresponds to a current location of the device 200.

In one embodiment, the current coordinate of the location data can be stored as the first location 283 within a storage component 240 of the device 200. In another embodiment, the first location 283 can be stored within a cache of the location tracking component 230 and/or on any additional storage device accessible to the controller 220 and/or the media application 210. In other embodiments, the controller 220 and/or the media application 210 can additionally identify an address, city, and/or name of a location associated with the current coordinate. The address, city, and/or name of the location can then be stored onto the storage component 240 and/or the location tracking component 230 as the first location 283.

Additionally, as illustrated in FIG. 2B, the controller 220 and/or the media application 210 can store a copy of the first location 283 as a second location 285. As noted above, the second location 285 corresponds to a last known location of the device and includes the most recent coordinate detected by the location tracking component 230. As a result, the second location 285 can be a backup coordinate or location.

In one embodiment, the controller 220 and/or the media application 210 can additionally include a time stamp with the second location 285 to identify when it was created. By storing a copy of the first location 283 as the second location 285, the first location 283 can continue to be updated with updated location data while the last known coordinate is maintained as a backup even if the location tracking component 230 loses signal.

Once the second location 285 has been stored, the controller 220 and/or the media application 210 can continue to poll the location tracking component 230 for an updated location data at predefined intervals. In one embodiment, each time the location tracking component 230 detects a new or updated coordinate, the controller 220 and/or the media application 210 can overwrite the first location 283 with the new or updated coordinate.

By detecting the position or location of the device 200 changing over time, controller 220 and/or the media application 210 can detect a speed and/or velocity which the device 200 is repositioning. The controller 220 and/or the media application 210 can additionally modify a rate of polling the location tracking component 230 for the location data based on the detected velocity of the device 200 repositioning. In one embodiment, the controller 220 and/or the media application 210 can increase a rate of polling the location tracking component 230 for the location data if the velocity of the device 200 repositioning is increases. In another embodiment, the controller 220 and/or the media application 210 can decrease a rate of polling the location tracking component 230 for the location data if the velocity of the device 200 repositioning decreases.

FIG. 3 illustrates a block diagram of a first location being stored within metadata 365 of visual media 360 according to an embodiment. As shown in the present embodiment, the image capture component 370 has captured visual media 360. In response, the captured visual media 360 is stored within a storage component 340 of the device. The controller 320 and/or the media application 310 then proceed to poll a location tracking component 330 for location data.

As noted above, the location tracking component 330 detects for one or more signals 335 from communication devices, such as satellites, base stations, and/or communication towers to identify a current coordinate of the device. In one embodiment, the location tracking component 330 can identify an amount of satellites which the location tracking component 330 is receiving signals 335 from. If the location tracking component 330 receives signals from at least three communication devices, the location tracking component 330 will be coupled to at least three communication devises and the location tracking component 330 can use the signals to triangulate the current coordinate of the device. In other embodiments, other algorithms and/or methods can be used by the location tracking component 330 to identify the current coordinate.

In response to identifying the current coordinate, the location tracking component 330 can provide the controller 320 and/or the media application 310 the current coordinate as location data. In one embodiment, the current coordinate can include one or more numbers which correspond to a location of the device. In response to receiving the location data, the controller 320 and/or the media application 310 can store the current coordinate within metadata 365 of the captured visual media 360 as a first location. In another embodiment, the controller 320 and/or the media application 310 store an address, city, and/or name of a place or location associated with the current coordinate within the metadata 365 as the first location.

FIG. 4A illustrates a block diagram of a second location 485 being stored within metadata 465 of visual media 460 according to an embodiment. As noted above, the second location 485 is stored to the metadata 465 if location data from the location tracking component 430 is unavailable. As shown in the present embodiment, the image capture component 470 has captured visual media 460 and the controller 420 and/or the media application 410 poll the location tracking component 430 for the location data.

As shown in FIG. 4A, the location tracking component 430 does not detect one or more signals 435. As a result, a current coordinate of the device is unavailable. In response, the location tracking component 430 notifies the controller 420 and/or the media application 410 that location data is unavailable. In response, the controller 420 and/or the media application 410 proceed to access a second location 485 previously stored on the storage component 440 and/or on a cache of the location tracking component 430.

As noted above, the second location 485 is a copy of the first location previously created from a last known location or coordinate of the device. The controller 420 and/or the media application 410 store the second location 485 within metadata 465 of the captured visual media 460. By storing the second location 485 within the metadata 465 of the visual media 460, the controller 420 and/or the media application 410 can use a last known coordinate or location to represent a location of where the current visual media 460 is captured. In one embodiment, the controller 420 and/or the media application 410 can add a time stamp to the metadata 465 to identify when the visual media 460 was captured.

Additionally, the controller 420 and/or the media application 410 can further mark the metadata 465 and/or the visual media 460 to identify that a second location 485 was used to identify where the visual media 460 was taken. The controller 420 and/or the media application 410 can mark the metadata 465 and/or the visual media 460 by flagging the metadata 465 and/or the visual media 460. In another embodiment, a header of the metadata 465 and/or the visual media 460 can be edited by the controller 420 and/or the media application 410 when marked.

FIG. 4B illustrates a block diagram of metadata 465 of visual media 460 being updated according to an embodiment. In one embodiment, while no location data is available from the location tracking component 430, the controller 420 and/or the media application 410 can determine whether the device is repositioning. As shown the present embodiment, the controller 420 and/or the media application 410 can access one or more sensors to determine whether the device is moving or repositioning.

As shown in FIG. 4B, one or more sensors can include an accelerometer 490 configured to detect a direction of the device repositioning. Additionally, one or more sensors can include a gyroscope 495 to detect an orientation of the device repositioning. In other embodiments, one or more sensors can include a magnetometer and/or any additional device which can detect the device repositioning.

If the device is not detected to be repositioning, the controller 420 and/or the media application 410 can determine that the second location is accurate 485 and the second location 485 can continue to be used as a location where visual media 460 is captured. Additionally, the controller 420 and/or the media application 410 can remove any mark which were made to images 460 or metadata 465 if the image 460 was taken while the device is stationary.

In another embodiment, if the device is detected to be repositioning, the controller 420 and/or the media application 410 can proceed to generate a stand-in location. The stand-in location is a coordinate, address, city, and/or name of a location corresponding to the coordinate where corresponding to a most likely location where the device is when the visual media 460 is captured.

When generating the stand-in location, the controller 420 and/or the media application 410 can initially identify an amount of time which no current coordinate is identified by the location tracking component 430. As noted above, the last known coordinate 485 can be time stamped as to when it was originally created or updated. The controller 420 and/or the media application 410 can compare the time stamp to a current time to identify the amount of time which no current coordinate is available. In another embodiment, if a signal is redetected or reestablished by the location tracking component 430, the amount of time which no location data is available can be based on the time stamp of the last known coordinate a the current time when a current coordinate is identified.

Using the second location 485, a time which the visual media 460 was captured, the amount of time which no location data is available, a direction of the device repositioning, and/or an orientation of the device repositioning, the controller 420 and/or the media application 410 can generate a stand-in coordinate. The controller 420 and/or the media application 410 can use one or more interpolation methods and/or algorithms to generate the stand-in coordinate. In other embodiments, additional methods and/or algorithms can be utilized to generate a stand-in location.

The controller 420 and/or the media application 410 can then proceed to identify a number of marked metadata 465 corresponding to the visual media 460 which was captured when no location data was available and if the device was repositioning. Additionally, the controller 420 and/or the media application 410 can identify when each of the visual media 460 were captured. The controller 420 and/or the media application 410 can then generate stand-in locations for each visual media 460 which was captured while no location data was available.

The controller 420 and/or the media application 410 can then proceed to access the metadata 465 for each of the visual media 460 and overwrite the second location 485 stored within the metadata 465 with the corresponding stand-in location for the visual media 460. In another embodiment, a user can additionally utilize an input component of the device to edit and/or overwrite one or more of the locations stored within the metadata 465 of the visual media 460. The input component can include a touch panel, a touch screen, one or more buttons, one or more alphanumeric keys, and/or any additional input component accessible to a user of the device.

FIG. 5 illustrates a media application 510 on a device 500 and the media application 510 stored on a removable medium being accessed by the device 500 according to an embodiment. For the purposes of this description, a removable medium is any tangible apparatus that contains, stores, communicates, or transports the application for use by or in connection with the device 500. As noted above, in one embodiment, the media application 510 is firmware that is embedded into one or more components of the device 500 as ROM. In other embodiments, the media application 510 is an application which is stored and accessed from a hard drive, a compact disc, a flash disk, a network drive or any other form of computer readable medium that is coupled to the device 500.

FIG. 6 is a flow chart illustrating a method for managing visual media according to an embodiment. The method of FIG. 6 uses a device with a controller, an image capture component, a location tracking component, and/or an image application. In other embodiments, the method of FIG. 6 uses additional components and/or devices in addition to and/or in lieu of those noted above and illustrated in FIGS. 1, 2, 3, 4, and 5.

As noted above, the media application is an application which can be utilized independently and/or in conjunction with the controller to manage visual media captured by the device. When managing visual media, the controller and/or the media application poll a location tracking component for location data in response to an image capture component of the device capturing the visual media at 600. The image capture component can be a camera and/or photo sensor which can capture the visual media as one or more images and/or videos.

The location tracking component can be a GPS (global positioning system) receiver and/or radio component which can detect for signals from one or more satellites, base stations, and/or communication towers to identify a current coordinate of the device. In one embodiment, location tracking component can identify the current coordinate by triangulating signals detected from at least three satellites, base stations, and/or communication towers. If the location tracking component can identify the current coordinate, the location data can be available and provided to the controller and/or the media application.

The controller and/or the media application can then store a first location of the device to metadata of the visual media in response to receiving the location data at 610. In one embodiment, storing the first location on the metadata includes storing the current coordinate within the metadata. In another embodiment, storing the first location on the metadata includes identifying an address, city, and/or name of a location corresponding to the current location and storing the address, city, and/or name to the metadata of the visual media.

If the current coordinate cannot be identified by the location tracking component, the location data can be determined to be unavailable. The controller and/or the media application can then proceed to store a second location of the device to the metadata of the visual media if the location data is unavailable at 620. As noted above, the second location is to a backup location or coordinate corresponding to last known location or coordinate of the device. As a result, the second location is a location or a coordinate which was previously identified by the controller and/or the media application as the first location. The method is then complete. In other embodiments, the method of FIG. 6 includes additional steps in addition to and/or in lieu of those depicted in FIG. 6.

FIG. 7 is a flow chart illustrating a method for managing an image according to another embodiment. Similar to the method disclosed above, the method of FIG. 7 uses a device with a controller, an image capture component, a location tracking component, and/or an image application. In other embodiments, the method of FIG. 7 uses additional components and/or devices in addition to and/or in lieu of those noted above and illustrated in FIGS. 1, 2, 3, 4, and 5.

In response to the device powering on, the location tracking component can initially detect location data for the device. The controller and/or the media application can continue to poll the location tracking component for the location data at periodic intervals. By continuing to poll for the location data, the controller and/or the media application can determine whether the device is repositioning and identify a velocity or speed of the device repositioning. Based on the velocity or speed of the device repositioning, the controller and/or the media application can modify a rate of polling the location tracking component for the location data at 700.

As the controller and/or the media application receive the location data, the controller and/or the media application can identify a first location of the device based on a current coordinate included in the location data. In response to identifying the first location of the device, the controller and/or the media application can copy the first location of the device and store the copy as the second location of the device at 710. By backing up the first location, a most recent location of the device can be retained within the second location and the first location can continue to be updated each time a new coordinate is detected by the location tracking component. In one embodiment, each time the first location is updated, the second location can additionally be updated with a copy of the first location.

The controller and/or the media application can then determine whether the image capture component has captured visual media 720. The image capture component can capture visual media in response to an instruction from the controller, the media application, and/or from a user of the device. If no visual media is captured, the controller and/or the media application can continue to determine whether visual media has been captured at 720. If an image and/or video have been captured, the controller and/or the media application can proceed to poll the location tracking component for location data to determine whether a current coordinate is available at 730.

If the current coordinate is available, the location tracking component can supply the current coordinate as location data to the controller and/or the media application. The controller and/or the media application can then update the previously identified first location and store the updated first location within metadata of the visual media at 740. As noted above the first location can be stored within metadata as the current coordinate and/or as an address, city, or name of a location associated with the current coordinate. Alternatively, if the current coordinate is not available, the location tracking component can notify the controller and/or the media application that location data is unavailable. In one embodiment, the controller and/or the media application can further identify a time when the location data was initially determined to be unavailable.

The controller and/or the media application can then proceed to access the second location corresponding to the last known location or coordinate of the device. The controller and/or the media application can then store the second location within metadata of the visual media and mark the metadata and/or the visual media at 750. By marking the metadata and/or the visual media, the controller and/or the media application can keep track of which visual media includes the second location.

The controller and/or the media application can then track an amount of time which no location data is available by comparing the previously identified time to the current time at 760. In another embodiment, the amount of time which no location data is available can be based on when the location tracking component redetects signals and/or reestablishes connection to the satellites, base stations, and/or communication towers. The controller and/or the media application can then detect for the device repositioning at 770. In one embodiment, if the device is not repositioning, the controller and/or the media application can unmark any visual media or their corresponding metadata if the corresponding visual media was taken while the device is stationary.

In another embodiment, if the device is repositioning, the controller and/or the media application can generate a stand-in location. The stand-in location corresponds to an estimated location or coordinate of where the device was when capturing the visual media. The controller and/or the media application can generate the stand-in location by interpolating the second location, a time which the visual media was captured, the amount of time which no location data is available, a direction of the device repositioning, and/or an orientation of the device repositioning at 780. The controller and/or the media application can then overwrite the second location stored within metadata of marked visual media at 790. The controller and/or the media application can repeat this for each marked visual media. The method is then complete. In other embodiments, the method of FIG. 7 includes additional steps in addition to and/or in lieu of those depicted in FIG. 7.

Claims

1. A method for operating a computing device, comprising:

determining that a visual media item has been captured using an image capture component of the computing device;
in response to determining that the visual media item has been captured, determining whether a current location information of the computing device is available; and
in response to determining that the current location information of the computing device is unavailable: determining a previous location information of the computing device; storing the previous location information with metadata of the visual media item; and marking the metadata of the visual media item to indicate that the metadata includes the previous location information.

2. The method of claim 1, further comprising:

determining that the computing device is repositioning after marking the metadata of the visual media item.

3. The method of claim 2, wherein determining that the computing device is repositioning includes receiving information from one or more sensors of the computing device, the one or more sensors including at least one of an accelerometer, a gyroscope, or a magnetometer.

4. The method of claim 3, further comprising:

in response to determining that the computing device is repositioning, overwriting the previous location information stored with the metadata with a generated stand-in location information.

5. The method of claim 4, wherein the stand-in location information is generated based on a timestamp of the previous location information, an amount of time in which no current location information is available, and a current time.

6. The method of claim 1, wherein the previous location information is a last known location of the computing device determined by a location tracking component of the computing device before determining that the current location information of the computing device is unavailable.

7. The method of claim 1, further comprising:

polling a location tracking component of the computing device, at a rate of polling based on a velocity of the computing device, for current location information.

8. A non-transitory computer-readable medium storing instructions that, when executed by a processor of a computing device, causes the computing device to perform operations comprising:

determining that a visual media item has been captured using an image capture component of the computing device;
in response to determining that the visual media item has been captured, determining whether a current location information of the computing device is available; and
in response to determining that the current location information of the computing device is unavailable: determining a previous location information of the computing device; storing the previous location information with metadata of the visual media item; and marking the metadata of the visual media item to indicate that the metadata includes the previous location information.

9. The non-transitory computer-readable medium of claim 8, wherein the instructions cause the computing device to further perform operations comprising:

determining that the computing device is repositioning after marking the metadata of the visual media item.

10. The non-transitory computer-readable medium of claim 9, wherein the instructions cause the computing device to determine that the computing device is repositioning based on information received from one or more sensors of the computing device, the one or more sensors including at least one of an accelerometer, a gyroscope, or a magnetometer.

11. The non-transitory computer-readable medium of claim 10, wherein the instructions cause the computing device to further perform operations comprising:

in response to determining that the computing device is repositioning, overwriting the previous location information stored with the metadata with a generated stand-in location information.

12. The non-transitory computer-readable medium of claim 11, wherein the stand-in location information is generated based on a timestamp of the previous location information, an amount of time in which no current location information is available, and a current time.

13. The non-transitory computer-readable medium of claim 8, wherein the previous location information is a last known location of the computing device determined by a location tracking component of the computing device before determining that the current location information of the computing device is unavailable.

14. The non-transitory computer-readable medium of claim 8, wherein the instructions cause the computing device to further perform operations comprising:

polling a location tracking component of the computing device, at a rate of polling based on a velocity of the computing device, for current location information.

15. A mobile computing device, comprising:

a memory storing instructions;
an image capture component; and
a processor coupled to the memory and the image capture component, to execute the instructions to cause the mobile computing device perform operations comprising: determining that a visual media item has been captured using the image capture component; in response to determining that the visual media item has been captured, determining whether a current location information of the computing device is available; and in response to determining that the current location information of the computing device is unavailable: determining a previous location information of the computing device; storing the previous location information with metadata of the visual media item; and marking the metadata of the visual media item to indicate that the metadata includes the previous location information.

16. The mobile computing device of claim 15, wherein the instructions cause the mobile computing device further perform operations comprising:

determining that the computing device is repositioning after marking the metadata of the visual media item; and
in response to determining that the computing device is repositioning, overwriting the previous location information stored with the metadata with a generated stand-in location information.

17. The mobile computing device of claim 16, further comprising:

one or more sensors including at least one of an accelerometer, a gyroscope, or a magnetometer;
wherein the instructions cause the mobile computing device to determine that the computing device is repositioning based on information received from the one or more sensors.

18. The mobile computing device of claim 17, wherein the stand-in location information is generated based on a timestamp of the previous location information, an amount of time in which no current location information is available, and a current time.

19. The mobile computing device of claim 15, further comprising:

a location tracking component;
wherein the previous location information is a last known location of the computing device determined by the location tracking component before determining that the current location information of the computing device is unavailable.

20. The mobile computing device of claim 15, wherein the instructions cause the mobile computing device further perform operations comprising:

polling a location tracking component of the computing device, at a rate of polling based on a velocity of the computing device, for current location information.
Patent History
Publication number: 20140226917
Type: Application
Filed: Mar 13, 2014
Publication Date: Aug 14, 2014
Inventors: Robert P. Cazier (Fort Collins, CO), Shane D. Voss (Fort Collins, CO), Jason Yost (Windsor, CO)
Application Number: 14/209,133
Classifications
Current U.S. Class: Image Storage Or Retrieval (382/305)
International Classification: G06F 17/30 (20060101);