U.S. patent application number 14/209133 was filed with the patent office on 2014-08-14 for storing location information with metadata of visual media.
The applicant listed for this patent is Hewlett-Packard Development Company, L.P.. Invention is credited to Robert P. Cazier, Shane D. Voss, Jason Yost.
Application Number | 20140226917 14/209133 |
Document ID | / |
Family ID | 47219278 |
Filed Date | 2014-08-14 |
United States Patent
Application |
20140226917 |
Kind Code |
A1 |
Cazier; Robert P. ; et
al. |
August 14, 2014 |
STORING LOCATION INFORMATION WITH METADATA OF VISUAL MEDIA
Abstract
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.
Inventors: |
Cazier; Robert P.; (Fort
Collins, CO) ; Voss; Shane D.; (Fort Collins, CO)
; Yost; Jason; (Windsor, CO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Hewlett-Packard Development Company, L.P. |
Houston |
TX |
US |
|
|
Family ID: |
47219278 |
Appl. No.: |
14/209133 |
Filed: |
March 13, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13115106 |
May 24, 2011 |
8712208 |
|
|
14209133 |
|
|
|
|
Current U.S.
Class: |
382/305 |
Current CPC
Class: |
H04N 1/00323 20130101;
H04N 2201/3253 20130101; H04N 21/4334 20130101; G06F 16/5866
20190101; H04N 2201/0084 20130101; H04N 21/4223 20130101; H04N
2201/3274 20130101; H04N 21/84 20130101; H04N 21/42202 20130101;
H04N 2101/00 20130101; H04N 9/8205 20130101 |
Class at
Publication: |
382/305 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
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.
Description
RELATED APPLICATIONS
[0001] 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
[0002] 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
[0003] 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.
[0004] FIG. 1 illustrates a device with an image capture component
and a location tracking component according to an embodiment.
[0005] FIG. 2A illustrates a location tracking component providing
location data according to an embodiment.
[0006] FIG. 2B illustrates a block diagram of a first location and
a second location being identified according an embodiment.
[0007] FIG. 3 illustrates a block diagram of a first location being
stored within metadata of visual media according to an
embodiment.
[0008] FIG. 4A illustrates a block diagram of a second location
being stored within metadata of visual media according to an
embodiment.
[0009] FIG. 4B illustrates a block diagram of metadata of visual
media being updated according to an embodiment.
[0010] 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.
[0011] FIG. 6 is a flow chart illustrating a method for managing
visual media according to an embodiment.
[0012] FIG. 7 is a flow chart illustrating a method for managing
visual media according to an embodiment.
DETAILED DESCRIPTION
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
* * * * *