U.S. patent application number 10/414191 was filed with the patent office on 2003-09-25 for tagging for transferring image data to destination.
This patent application is currently assigned to Logitech Europe S.A.. Invention is credited to Bateman, John, Feldis, John J..
Application Number | 20030179301 10/414191 |
Document ID | / |
Family ID | 25409512 |
Filed Date | 2003-09-25 |
United States Patent
Application |
20030179301 |
Kind Code |
A1 |
Feldis, John J. ; et
al. |
September 25, 2003 |
Tagging for transferring image data to destination
Abstract
A method and system for sending image data on an image capturing
apparatus, to specified destination(s). The image capturing
apparatus includes a list of aliases for the various destinations
which can be specified. The data to be sent, and the alias
specifying the destination to which it is to be sent, is selected.
The alias is then inserted into the data, and the modified data is
downloaded to a host. The host contains a look-up table specifying
the destination address(es) corresponding to the alias. The
specified data is sent to this destination address.
Inventors: |
Feldis, John J.; (Menlo
Park, CA) ; Bateman, John; (San Francisco,
CA) |
Correspondence
Address: |
TOWNSEND AND TOWNSEND AND CREW, LLP
TWO EMBARCADERO CENTER
EIGHTH FLOOR
SAN FRANCISCO
CA
94111-3834
US
|
Assignee: |
Logitech Europe S.A.
Romanel-sur-Morges
CH
|
Family ID: |
25409512 |
Appl. No.: |
10/414191 |
Filed: |
April 14, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10414191 |
Apr 14, 2003 |
|
|
|
09898476 |
Jul 3, 2001 |
|
|
|
Current U.S.
Class: |
348/231.3 ;
386/E5.072 |
Current CPC
Class: |
H04N 2201/0084 20130101;
H04N 5/907 20130101; H04N 2201/3222 20130101; H04N 1/00127
20130101; H04N 1/32128 20130101; H04N 2201/3242 20130101; H04N
2201/3277 20130101; H04N 5/772 20130101; H04N 5/765 20130101; G11B
27/105 20130101 |
Class at
Publication: |
348/231.3 |
International
Class: |
H04N 005/76 |
Claims
What is claimed is:
1. An image capturing device for capturing data, the device
comprising: a recording module for converting sensed information
into recorded data; a processor coupled to the recording module to
process the recorded data; a memory coupled to the processor for
storing the recorded data; a user interface to allow a user to
select recorded data stored in memory and to select a tag to
associate with the selected recorded data; and a computer readable
media storing a program configured to cause the processor to attach
the selected tag to the selected recorded data by modifying the
recorded data.
2. The image capturing device of claim 1, wherein the recorded data
captured is one of still image data and video data.
3. The image capturing device of claim 1, wherein the recorded data
captured is audio data.
4. The image capturing device of claim 1, wherein the user
interface includes an electronic display.
5. The image capturing device of claim 1, wherein the user
interface comprises buttons.
6. The image capturing device of claim 1, wherein the tag comprises
an alias for a destination to which the selected image data is to
be sent.
7. The image capturing device of claim 1, wherein the tag comprises
a resolution tag.
8. The image capturing device of claim 1, wherein the tag comprises
a red-eye removal tag.
9. The image capturing device of claim 1, wherein the tag comprises
a cropping tag.
10. The image capturing device of claim 1, wherein the tag
comprises a subject matter tag.
11. A method for processing media data, comprising; receiving
selection of media data; receiving selection of an alias tag
specifying a destination to which the selected media data is to be
sent; and modifying the selected media data by inserting the
selected alias tag into the selected media data.
12. The method of claim 11, wherein the modification of the
selected image data is performed by inserting the selected tag
alias into a header portion of the selected media data.
13. The method of claim 11 wherein the media data is image data,
wherein the modification of the selected image data is performed by
interleaving the selected tag alias into pixels of the image data
itself.
14. The method of claim 11, further comprising: downloading the
modified media data onto a host; and looking-up a destination
address specified by the selected alias.
15. The method of claim 14 wherein the looking-up is performed on
the host.
16. The method of claim 14 wherein the looking-up is performed on a
second host.
17. The method of claim 14, further comprising: sending the
selected media data to the destination address.
18. The method of claim 17, further comprising: intelligently
formatting the data to be sent.
19. The method of claim 17, wherein the sending is performed on the
host.
20. The method of claim 17, wherein the sending is performed on a
second host.
21. The method of claim 17 wherein the destination address is an
email address.
22. The method of claim 17 wherein the destination address is an
instant messenger address.
23. The method of claim 17 wherein the destination address is a
cell-phone number.
24. The method of claim 14 wherein the host is a remote server.
25. The method of claim 14 wherein the host is a personal
computer.
26. The method of claim 14 wherein the host is a cell-phone.
27. A host for receiving media data from an image capturing device,
the host comprising: a receiving module to receive from the image
capturing device, media data including a tag; and an association
module communicatively coupled to the receiving module, which
associates the tag with predesignated instructions stored on the
host.
28. The host of claim 27, wherein the association module comprises
a look-up table, listing a plurality of tags, and instructions
associated with each of the plurality of tags.
29. An image capturing device, comprising: a data storage module
for storing a plurality of captured data; a display module
communicatively coupled to the data storage module for selecting
one of the plurality of captured data; and an alias storage module
for storing a plurality of aliases which can be attached to the
selected one of the plurality of captured data, wherein the
plurality of aliases refer to a plurality of destination addresses
to which the plurality of captured data can be sent.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S.
application Ser. No. 09/898,476, filed Jul. 3, 2001, entitled
"Image Tagging for Post-Processing" invented by John Feldis, which
is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION
[0002] The present invention relates to digital camera technology.
More specifically, the present invention relates to a method and
apparatus for tagging images and videos to facilitate transferring
them to a specified destination for easy playback, etc.
[0003] Digital cameras have been gaining wide acceptance among
consumers recently. At the same time, wide usage of email and the
Internet has led to increased electronic communication between
consumers. A natural result of these two factors is increased
desire among users to share still image and video files over the
Internet. Still images and videos can currently be sent over the
Internet by downloading the image data to a host, and then
associating certain image data with a destination address on the
host.
[0004] One type of digital camera is disclosed in U.S. Pat. No.
6,167,469, assigned to Agilent Technologies, Inc. The digital
camera enables digital images to be transmitted to a selected
destination. The application discloses that the address of the
destination is input into the camera. A voice message may be
attached to the digital images and sent to the selected
destination.
[0005] One recently adopted digital camera standard, DPOF Version
1.0, available on
"http:www.panasonic.co.jp/avc/video/dpof/dpof.sub.--110/whit-
e_e.htm," discloses some functions that may be performed in certain
digital cameras. DPOF Version 1.0 allows the following functions to
be specified on the camera: (1) multi-image print, (2) specifying
the size of printed images, (3)auto-transfer via Internet and fax,
and (4) auto play for slide show. The multi-image-print feature
enables one to specify the number of images to be printed on one
sheet. The specifying-the-size-of-printed-images feature enables
one to specify the size of the printed images, so that one could
use the prints for a variety of applications, such as displays and
certificate materials. The auto-transfer-via-Internet-and-fax
feature enables one to attach a message to image data and send the
resulting data via email. The auto-play-for-slide-show feature
enables one to specify the images to be played back on liquid
crystal displays of digital cameras, video projectors, or PCs for
slide show.
[0006] Another digital camera standard, Exif Reader, available on
"http://www.takenet.or.jp/.about.ryuui/minisoft/exifread/english/,"
provides a numerous TIFF/EP tags that may be attached to the image
data generated by digital cameras.
[0007] None of the above prior art, however, appears to address the
need to provide users with a digital camera with data that is
easily transferable to a destination, without inputting destination
addresses into the camera itself. In addition, none of the above
prior art appears to address the need to include image tags in both
still images as well as in video/audio data.
[0008] Thus there exists a need for a digital camera where still
image data as well as video/audio data can be easily transferred to
a destination without inputting destination addresses into the
camera.
SUMMARY OF THE INVENTION
[0009] The present invention provides a method, and corresponding
apparatus, for attaching a tag to data generated by an image
capturing device for post processing in a remote location. It is to
be noted that the data generated by an image capturing device can
include, amongst others, still image data, video data, and/or audio
data.
[0010] In one embodiment, a tag is affixed to the data (which can
be still image data, video data, or audio data) within the image
capturing device. In one embodiment of the present invention, the
tag can be attached within the header of the data file. In another
embodiment, the tag could be in the data portion of a still image
file, or within a stream of data in a video file.
[0011] In one embodiment, the tag is an alias for predetermined
instructions according to which the image data is to be processed.
Amongst other things, the tag can be a resolution tag, a cropping
tag, a red-eye removal tag, and a quick-send tag. In one
embodiment, the tag comprises an alias for a destination address to
which the image data is to be sent. For instance, the tag can be
"Mom" while the destination address to which this alias corresponds
can be mom's email address. The image capturing device itself may
contain only a listing of aliases, one or more of which can be
selected by the user. In a remote location, these aliases can then
be matched up with the actual destination addresses. This remote
location can be a personal computer, a cell phone, a PDA (Personal
Digital Assistant), a remote server, etc.
[0012] In one embodiment, the tag includes identifying information
about the content of the image (e.g., names of the subjects,
location, event, etc.). Further, in one embodiment, the tag
contains data indicating the status of the tag information within
the system, and the status of actions taken within the system to
process the tagged image/video data. It will be understood by one
skilled in the art that this concept of tags being matched up with
other information at a remote location need not be limited to tags
comprising an alias for a destination address, but rather can be
applied to various kinds of tags as well.
[0013] For a further understanding of the nature and advantages of
the invention, reference should be made to the following
description taken in conjunction with the accompanying
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG. 1A is a block diagram of a digital camera according to
one embodiment of the invention.
[0015] FIG. 1B depicts a block diagram of an image data file
according to one embodiment of the invention.
[0016] FIG. 2 depicts a block diagram of a computer system
according to one embodiment of the invention.
[0017] FIG. 3 depicts a simplified flow chart of a method of image
tagging for post processing according to one embodiment of the
invention.
[0018] FIG. 4 depicts a simplified flow chart of attaching an image
tag according to the method of FIG. 3.
[0019] FIG. 5 depicts a simplified flow chart of processing image
data according to the method of FIG. 3.
[0020] FIG. 6 depicts a block diagram of a computer connected to a
communication network according to one embodiment of the
invention.
[0021] FIG. 7A is a block diagram of a system in accordance with
one embodiment of the present invention.
[0022] FIG. 7B is a flowchart illustrating the working of a system
in accordance with an embodiment of the present invention.
DESCRIPTION OF THE EMBODIMENTS
[0023] The figures (or drawings) depict a preferred embodiment of
the present invention for purposes of illustration only. It is
noted that similar or like reference numbers in the figures may
indicate similar or like functionality. One of skill in the art
will readily recognize from the following discussion that
alternative embodiments of the structures and methods disclosed
herein may be employed without departing from the principles of the
invention(s) herein. It is to be noted that the present invention
relates to any type of data that can be captured by a digital
camera, such as, but not limited to, still image, video, or audio
data. For convenience, in some places "image" or other similar
terms may be used in this application. Where applicable, these are
to be construed as including any such data capturable by a digital
camera.
[0024] Referring to FIG. 1A, a digital camera 50 includes an
imaging device 100 and a processing system 150. The imaging device
includes a lens 102 having an iris, a filter 104, an image sensor
106, a timing generator 108, an analog signal processor (ASP) 110,
an analog-to-digital (A/D) converter 112, a digital signal
processor (DSP) 114, and one or more motors 116.
[0025] In operation, imaging device 100 captures an image of object
101 via reflected light impacting image sensor 106 along an optical
path 118. Image sensor 106 generates a set of raw image data
representing the captured image. The raw image data is then routed
through ASP 110, A/D converter 112 and DSP 114. DSP 114 has outputs
coupled to timing generator 108, ASP 110, and motors 116 to control
these components. DSP 114 also has its output coupled to processing
system 150 via a bus 151. The raw image data are transmitted to
system 150 and processed therein.
[0026] In one embodiment, processing system 150 includes a bus
interface 152, a processor 154, a read-only memory (ROM) 156, an
input device 158, a random access memory (RAM) 160, an I/O
interface 162, a flash memory 164, a non-volatile memory 166, and
an internal bus 168.
[0027] Bus interface 152 is a bi-directional first-in, first-out
interface for receiving the raw image data and control signals
passed between system 150 and DSP 114. Processor 154 executes
programming instructions stored in ROM 156 and RAM 160 to perform
various operations. ROM 156 generally stores a set of computer
readable program instructions which control how processor 154
accesses, transforms and outputs the image data. In one
implementation, ROM 156 also stores a start-up program or file that
enable a user to access the images stored in the flash memory using
any computer whether it has a companion driver software installed
or not.
[0028] Input device 158 generally includes one or more control
buttons (not shown) which are used to input operating signals that
are translated by processor 154 into an image capture request, an
operating mode selection request, and various control signals for
imaging device 100. I/O Interface 162 is coupled to internal bus
168 and has an external port connector (not shown) that can be used
to couple digital camera 50 to a computer 200 for viewing and
editing the image data stored in flash memory 164. The camera and
computer may be coupled to each other via a communication link 163.
In one implementation, I/O interface 62 is a universal serial bus
(USB) port.
[0029] Flash memory 164 stores the image data processed by the
processor as image data files (see FIG. 1B). In one implementation,
flash memory 164 is a removable flash card or disk, (e.g.,
SmartMedia.TM., CompactFlash.TM., SecureDigital (SD) card, etc.) so
that a user may replace a full flash card with a new flash card to
store additional image data. In other implementations, other types
of non-volatile memory other than flash cards may be used.
[0030] FIG. 1B illustrates a schematic block diagram of an image
data file 180 including a header 182, a compressed image data 184,
and a tag field 186. Header 182 includes information identifying
corresponding image data file 180. Image data 184 represents an
image captured with camera 50. The image data is generally in a
compressed form, e.g., in JPEG format, to conserve memory space of
flash card 164. Tag field 186 includes tags, e.g., a resolution tag
188, a cropping tag 190, a red-eye removal tag 192, and a
quick-send tag 194, that provides instructions to computer 200 for
post processing, as well as other types of tags.
[0031] Referring back to FIG. 1A, non-volatile memory 166 stores an
image counter whose current value becomes an identifier for each
new set of image data captured by camera 50. The counter is
preferably incremented each time a new image is captured.
[0032] Referring to FIG. 2, computer 200 includes an I/O interface
202 which can be used to couple computer 200 to camera 50. The
computer also includes a bus 204 for communicating data, a central
process unit (CPU) 206 coupled to bus 204 to process data, a memory
206 coupled to bus 204 to store data and instructions to be
executed by CPU 206, and a communication interface 208 coupled to a
network via a communication link 209. The communication interface
may be an integrated services digital network (ISDN) card, modem,
local area network (LAN) card, or the like. Computer 200 is coupled
to a display device 210, e.g., a monitor, via bus 204 to display
information and an input device 212, e.g., a keyboard, to input
data to the computer. In operation, computer 200 serves as a host
device for viewing, editing, and otherwise processing image data
files received from camera 50 via I/O interface 202, as explained
in more detail later in connection with FIG. 5. Alternatively,
another electronic device, e.g., a cellular phone or portable
digital assistant, may be used as the host device in place of the
computer. In another embodiment, the system may consist of an
interface (possibly wireless) in the camera itself communicating
with a router through which the camera can send data directly to a
server etc. Yet in other implementations, the image data files can
be transmitted to the host device via an intermediary electronic
device, such as a flash card reader (not shown).
[0033] Referring to FIG. 3, a process 300 depicts a method of image
tagging for post processing according to one embodiment of the
present invention. At step 302, a user takes a picture using camera
50, from which raw image data is generated by image sensor 106.
Processing unit 154 processes the raw image data, where the
processing includes compressing the data to a more manageable size
(step 304). In one implementation, the image data is compressed
into a Joint Photographic Expert Group (JPEG) format. The user
views the image corresponding to the saved image data and selects
one or more tags to be attached to the image data (step 306) via
the user interface of the input device 158. Thereafter, using the
tags, computer 200 can process the image data files automatically,
without specific user initiatives, upon receiving them from camera
50 according to the instructions specified in the tag. As a result,
camera 50 does not require a powerful processor since heavy data
processing functions may be allocated to be performed in computer
200. At the same time, the inconvenience to the user of editing or
otherwise processing the image data on computer 200 is reduced.
[0034] Once the user decides on the tags to be attached, they are
attached to the image data and stored in flash memory or flash card
164. That is, one or more tags are stored in tag field 186 of the
image data file. In other embodiments, the tags are stored in the
tag filed in the stream of a video file. In yet other embodiments,
the tags are interleaved or encoded into the still image or video
data itself. The image data file is transmitted to computer 200
either by linking camera 50 to the computer, or by removing the
flash card and inserting it into a flash card reader that is
coupled to the computer (step 308). Computer 200 processes the
image data file according to the tags in the tag field (step 310).
In one embodiment, the tags are extracted on the host PC, and the
tag is then looked-up in the database on the PC. As explained in
further detail below, in one embodiment, each tag in the database
has one or more destination addresses associate with it. In one
embodiment, the PC sends the image data, along with these
associated destination addresses, to a server. In one embodiment,
the image data may be automatically modified on the PC for
optimized delivery through the server to a recipient, based up on
various factors (e.g., file type, connection, internet congestion,
recipient's platform and conduit, etc.). The server then delivers
the image data to each of the specified destination addresses.
Another example is as follows. If the image data has a tag
instructing the computer to increase the pixel resolution of the
image data from one megapixels to three megapixels, the computer
performs an appropriate algorithm to increase the resolution size
of the image.
[0035] Referring back to step 306, a method 400 (FIG. 4) depicts a
method of attaching tags to the image data according to one
implementation of the present invention. At step 402, the user
views the image data stored in RAM 160 or flash card 164.
Generally, digital cameras, such as camera 50, include a liquid
crystal display (not shown) for viewing images. While viewing
images on the liquid crystal display, the user may select an action
to be performed subsequently by a host device (step 404). A tag
with appropriate instructions is attached to the image data (step
406). It should be noted that a tag may simply be an integer which
is interpreted on the host to indicate an action, or set of data,
or both. The user is prompted if he or she is finished with the
tagging (step 408). If so, method 320 ends and process 400
continues onto step 308. If not, steps 404 to 408 are repeated.
[0036] In one implementation, camera 50 enables the user to attach
one or more of the following tags to the image data: (1) resolution
tag 188, (2) cropping tag 190, (3) red-eye removal tag 192, (4)
quick-send tag 194 (see, FIG. 1B) and various other types of tags.
The resolution tag instructs a host device, e.g., computer 200, to
automatically convert the image data from one resolution size to
another resolution size. For example, camera 50 is configured to
save images in resolution size of one mega-pixel. The user may view
the captured image, and if he or she likes the picture and wishes
to enlarge it, the user may select to have the image data converted
to a greater resolution, e.g., three megapixels. A method of
converting an image from one resolution size to another resolution
size is described in U.S. Pat. No. 6,058,248, which is incorporated
by reference herein for all purposes.
[0037] In one implementation, the user may select from a plurality
of resolution sizes or manually input the desired resolution size.
In another implementation, the user may elect to have the image
converted to a lower resolution size, particularly when the user
wishes to email the image data to another person, to minimize use
of the communication bandwidth. Yet in another implementation, the
camera may be programmed to attach automatically attach a
resolution tag without specific user initiative. For example, the
user may set the default resolution size as two megapixels and
require the camera to automatically attach a resolution tag to
image data generated, where the resolution tag instructs a host
device to convert the image data from two megapixels to one
megapixel.
[0038] The cropping tag instructs computer 200 to automatically
remove undesired portions of a picture. The user may view the
captured image and decides which portion of the image to retain and
which to delete. A method of cropping an image data is described in
U.S. Pat. No. 5,978,519, which is incorporated by reference herein
for all purposes.
[0039] The red-eye removal tag instructs computer 200 to
automatically edit the image to remove the red-eye effects on
pictures taken in poorly lighted environments. Pictures taken in
poorly lighted environments may cause the pupils of people or
animals to take on red tint. The user may review the picture taken
and, if necessary, attach a tag instructing the computer to
automatically remove the red-eye effects on the picture. In one
implementation, the camera may be provided with a light sensor (not
shown) and programmed to attach a red-eye removal tag automatically
whenever a picture is taken in a poorly lighted environment. For
example, the red-eye removal tags may be automatically attached to
the images captured whenever a flash light (not shown) of the
camera goes off. A method of removing the red-eye effects is
described in U.S. Pat. No. 6,134,339, which is incorporated by
reference herein for all purposes.
[0040] The quick-send tag instructs computer 200 to automatically
send the image data to another person or entity via a communication
network. Camera 50 may include a plurality of communication
addresses, e.g., email addresses, in ROM 156. For each picture
taken, the user may select one or more recipients to whom the
picture should be sent. In one embodiment of the present invention,
the quick-send tag may comprise of an alias, rather than the actual
address of the recipient. The use of such aliases is discussed in
greater detail below with reference to FIGS. 7A and 7B. When the
image data files corresponding to the pictures are received by
computer 200, they are automatically sent to the selected
addresses, as explained in more detail below.
[0041] As mentioned above, tags can be of various other types. For
example, in one embodiment, the tag includes identifying
information about the content of the image (e.g., names of the
subjects, location, event, etc.). Further, in one embodiment, the
tag contains data indicating the status of the tag information
within the system, and the status of actions taken within the
system to process the tagged image/video data. For example, a
status tag could include information such as status=delivery
attempted <date>; result=failed; retry pending. In other
implementations, the user may attach other types of tags other than
those listed above, e.g., a stitching tag that instructs computer
200 to stitch two or more pictures together.
[0042] Referring back to step 310, a method 500 (FIG. 5) depicts a
method of processing image data file 330 in computer 200. At step
502, computer 200 receives the image data file via I/O interface
202. In one implementation, I/O interface 202 of computer 200 is
coupled to I/O interface 162 of camera 50 to enable the computer to
receive the image data file. In another implementation, flash card
164 is removed from camera 50 and inserted into a flash card
reader, which is coupled to I/O interface 202 of the computer, to
transmit the image data file to computer 200. The camera and flash
card reader may be coupled to the computer via a physical
connection or wireless connection.
[0043] Using CPU 206, computer 200 checks tag field 186 of the
received image data file to determine whether corresponding image
data 184 needs to be processed in a particular manner according to
tags in tag field 186 (step 504). In one implementation, the
received image data file is first stored in memory 208 before the
tag field is checked by CPU 206. If CPU 206 determines that the tag
field does not contain any tag, then image data 184 is processed
according to a default setting, i.e., the image data is
decompressed and displayed on display device 210 (step 510).
Thereafter, the user may edit, print, send, or perform other
functions on the image data 184 using input device 212.
[0044] On the other hand, at step 506, if there are one or more
tags (e.g., resolution tag 188 and quick-send tag 194) in the image
tag field, CPU 206 retrieves one of the tags to be processed (step
508). The tags may be retrieved in any order or in the order it was
attached in method 400. In this exemplary implementation, the
resolution tag is first retrieved, where the resolution tag
instructs the computer to convert the image data from the
resolution size of one mega-pixel to the resolution size of three
megapixels. The computer processes the image data by performing an
appropriate algorithm to increase the resolution size (step 510).
In one implementation, a resulting image data file 180' with new
image data 184' of three megapixels is saved in memory 208 of the
computer. Thereafter, the image with the increased resolution size
is displayed on display device 210 to the user for viewing,
editing, or performing other functions on the image data.
[0045] At step 512, the computer checks the tag field to determine
if there are any other tags in the tag field. Since another tag
exists in tag field 186 in this exemplary implementation, steps 508
to 510 are repeated. The remaining tag, quick-send tag 194, is
retrieved (step 508). In one implementation, these subsequent steps
may be performed prior to displaying the new image data 184' on the
display device. The tag instructs the computer to transmit the
image data file to one or more recipients, e.g., Jay Feldis and
Bryed Billerbeck. In one embodiment, the tag may include the email
addresses of these recipients. In another embodiment, the tag is
simply an alias or reference (e.g., an integer) to an entry in a
database on the host. The entry in the database matches up each tag
with one or more destination addresses, as explained below in more
detail with reference to FIGS. 7A&B. The computer connects to a
communication network via link 209. As shown in FIG. 6, computer
200 is coupled to a plurality of remote computers 230 to 234 via a
communication network 240, e.g., the Internet.
[0046] The computer initiates an Internet connection, and once
connected to the Internet, the image data file is sent to the email
addresses of Jay Feldis and Bryed Billerbeck. In one embodiment,
the data is sent via a local email client. In one embodiment, the
data is sent through a server, which then sends the data to the
recipients (e.g., via SMTP mail software component on the server).
Jay and Bryed having access to remote computers 230 and 232,
respectively, may retrieve the image data file transmitted by
computer 200. In one implementation, the transmitted image data
file is the original image data file 180 transmitted by camera 50,
where the image data is formatted to have a resolution size of one
mega-pixel. Therefore, upon receipt of image data file 180, the
remote computers may automatically increase the resolution size of
image data 184 to three megapixels according to the instructions
provided in resolution tag 188 before displaying the image on their
respective display devices. Alternatively, the transmitted image
data file may be the new image data file 180' with the new image
data 184' of three megapixels, thereby eliminating the need to
process the resolution tag before displaying the image. One
advantage of transmitting the original image data file 184 is
bandwidth conservation during transmission of the data file.
[0047] FIG. 7A is a block diagram of a system in accordance with
one embodiment of the present invention. FIG. 7A comprises an image
capturing device 710, a host 720, a network 730, and a destination
740. Data from the image capturing device 710 can be downloaded to
the host 720, and then be transferred to the destination 740 via
the network 730.
[0048] The image capturing device 710 comprises a data storage
module 712, an alias table 714, and a display module 716. In one
embodiment, the image capturing device 710 is a digital camera. In
one embodiment, the data storage module 712 comprises only internal
memory, such as NAND Flash, etc. In another embodiment, the data
storage module 712 comprises only external (or removable) memory,
such as Compact Flash, Smart Media Card, SD, memory sticks, etc. In
yet another embodiment, the data storage module 712 comprises both
internal and external memory.
[0049] In one embodiment, the alias table 714 is a listing of
various aliases set-up by the user. In one embodiment of the
present invention, the user sets up the aliases on the image
capturing device 710 itself. In another embodiment of the present
invention, the user sets up the aliases on a host 720, and these
can then be downloaded to the image capturing device 710, either
directly (e.g., if the host 720 is a personal computer), or via the
network 730. It will be obvious to one of skill in the art that the
use of the word "table" is simply illustrative. The aliases can be
stored as a table, a list, or in any other format. Table 1 below
provides an example of an alias table.
1 TABLE 1 Alias Mom Family Jay Bryed Friends Work
[0050] The display module 716 can display several things, including
but not limited to displaying a preview of data about to be
captured by the user, displaying previously captured data for
review by the user, and displaying a choice of aliases from which
the user can select one or more aliases. In one embodiment, the
display module 716 comprises a Liquid Crystal Display (LCD) or a
Liquid Crystal Monitor (LCM). Further, the display module 716 can
also be used to receive user selections/instructions, such as which
images are to be sent to what destinations, etc. In one embodiment,
this can be done by displaying a user interface on the display
module 716.
[0051] In one embodiment of the present invention, the host 720 is
a remote server. In one embodiment, the image capturing device 710
communicates with the remote server via the network 730. As an
example, a digital camera may not need to download pictures to a
local personal computer, but instead, may directly communicate with
a remote server over the network. In other embodiments, the host
720 is a personal computer, a cell-phone, a networked storage
device (a media library), a Personal Digital Assistant (PDA), etc.
In such embodiments, the image capturing device 710 communicates
directly with the host 720, without having to go through the
network 730. Such an embodiment is explained in further detail with
reference to FIG. 7B below.
[0052] The host 720 includes a receiving module 722 and a look-up
table 724. The receiving module 722 receives the image data from
the image capturing device 710. The look-up table 724 can be
created, in one embodiment, on the host 720. The tags, as well as
the instructions associated with each tag are entered on the host
720. The tags are then downloaded on to the image capturing device
710. In another embodiment, the look-up table 724 is harvested from
other applications on the host 710, or from elsewhere on the
network 730.
[0053] In one embodiment, the look-up table 724 comprises aliases
mapped to destination addresses. Thus, if some data is associated
with a specific alias, the look-up table 724 serves to translate
the alias to a destination address. It is to be noted that a single
alias could refer to a single destination address, or to multiple
destination addresses (i.e., to a group of destination addresses).
The destination addresses can be any type of address, such as email
addresses, Instant Messenger (IM) addresses, cell phone addresses,
etc. Moreover, it will be obvious to one of skill in the art that
the use of the word "table" is simply illustrative. The information
can be stored as a table, a list, or in any other format. Table 2
provides an example of a look-up table 724. It is to be noted that
in other embodiments, table 724 also includes other information
such as IM buddy names, the address of a storage location such as a
data storage location, media library, or website, etc.
2 TABLE 2 Alias Address(es) Mom jane@yahoo.com Family
john@hotmail.com, jane@yahoo.com, mary@abc123.com Jay
jay@feldis.com Bryed bryed@yahoo.com Friends susan@hotmail.com,
tim@yahoo.com, joanne@xyz.com, peter@rst.com
[0054] The network 730 is any type of network such as a wide area
network (WAN) or a local area network (LAN). The wide area network
may include the Internet, the Internet 2, and the like. The local
area network may include an Intranet, which may be a network based
on, for example, TCP/IP, belonging to an organization accessible
only by the organization's members, employees, or others with
authorization. The local area network may also be a network such
as, for example, Netware.TM. from Novell Corporation (Provo, Utah)
or Windows NT from Microsoft Corporation (Redmond, Wash.).
[0055] The destination 740 may be a specified by an email address,
an instant messenger address, an e-frame address, a cell phone
number, and so on. It will be obvious to a person of ordinary skill
in the art that the destination 740 is any destination where the
data can be sent. For instance, it is possible for the destination
to be the postal address of a person, where a DVD, video cassette,
and/or hard copies of photos could be delivered (via a store etc.
where the DVDs etc. are prepared).
[0056] FIG. 7B is a block diagram of another embodiment in
accordance with the present invention. The components of the system
include an image capturing device 710, a host 720, networks 730a
& b, a server 735, and a destination 740.
[0057] The image capturing device 710 is as described above with
reference to FIG. 7A. However, unlike in FIG. 7A, the image
capturing device 710 does not connect directly to the network 730.
Instead, the image capturing device connects to host 720, via which
it connects to the network 730a.
[0058] In one embodiment of the present invention, the host 720 is
a personal computer (PC). In other embodiments, the host 720 is a
cell-phone, a networked storage device (a media library), a
Personal Digital Assistant (PDA), etc. The host 720 includes a
receiving module 722 and a look-up table 724, which have been
described with reference to FIG. 7A. In addition, in one
embodiment, the host 720 also has an image modification module 725.
Amongst other things, the image modification module 725 modifies
(e.g., compresses) images/videos to satisfy quick download by
recipients, and to keep costs down. In one embodiment, such
compression and image modification is configurable, and is
specified by the server 735, and happens dynamically when the host
720 connects to the server 735.
[0059] The host 720 then connects to a server 735 through a network
730a. The server 735 connects to the destination 740 through a
network 730b. It is to be noted that networks 730a and 730b could
be the same network, or could be distinct networks. In one
embodiment, the server 735 serves various functions. For instance,
in one embodiment, the server 735 could create thumbnails of the
images/videos to send to the destination 740. In one embodiment,
the server 735 creates Hyper Text Markup Language (HTML) emails to
send to the destination 740. In one embodiment, the server 735
creates email text in the appropriate language. In yet another
embodiment, the server 735 reformats data to optimize delivery to
the recipient based on the data type, connection, network traffic,
etc. In still another embodiment, the server 735 selects
appropriate communication channels (e.g., email, instant messenger,
cell phone, etc.) based on factors such as address type, file size,
etc.
[0060] FIG. 7C is a flowchart illustrating how the systems in FIGS.
7A & 7B would work in accordance with one embodiment of the
present invention. Initially, the data (such as still image data,
video data, or audio data) to be processed (e.g., to be sent to a
destination) is selected by a user on the image capturing device
710. The image capturing device 710 thus receives selection of the
data 750. In one embodiment, the data from the data storage 712 is
displayed on the display module 716. This data may be displayed as
individual data items (e.g., individual still images) or as a
collection of these (e.g., thumbnails of several still images),
etc. The user can then select desired data via the display module
716, and the image capturing device 710 receives selection of the
data 750.
[0061] The user also selects one or more tags to be associated with
the data. The image capturing device 710 thus receives the
selection of a tag(s) to be associated with the selected image data
752. In one embodiment, the tag can refer to destination(s) to
which the selected data is to be sent. In another embodiment, the
tags can refer to the subject matter of the picture being taken.
(E.g., the picture being taken is of "mom" or of "Christmas" etc.).
In yet another embodiment, when the data being selected is video
data, the tag can be a video editing tag. Such a video editing tag
may include instructions to trim one or both ends of the video
file, mark one or more significant frames in the video file for
special processing (e.g., display on host), indicate which frame to
represent as a thumbnail, etc.
[0062] In one embodiment, the selection of the tags is performed by
the user by interacting with the display module 716. It will be
obvious to one skilled in the art that the user may select the tags
in one of several ways. For instance, in one embodiment, the
display module 716 displays a list of possible tags. An example of
such a list comprising of aliases is provided in Table 1 above. The
user can thus select one of the tags displayed. For instance, the
user may choose to send a particular video clip to "Mom." In
another embodiment, the user inputs (e.g., using a stylus, or by
using a "keyboard" that appears on the display module 716) the tag
using the display module 716, rather than selecting it from a list.
In another embodiment, the user manipulates certain input devices
(e.g., buttons on the image capturing device 710) to make the
selections (e.g., of the data and the tags). In any case, the image
capturing device 710 receives 752 the selection of one or more tags
to be associated with the selected data.
[0063] The selected tag(s) is then attached 754 to the selected
data. In one embodiment, the tag is inserted into the header of the
data. In another embodiment, the tag is encrypted an embedded into
the data itself. This can be done by interleaving the tag with
pixels of image data. In one embodiment, this interleaving is done
in a way that is not visible to the user when the data is
displayed. In another embodiment, this interleaved tag is extracted
before the data is displayed to the user. In one embodiment,
existing technologies (e.g., the JPEG-EXIF metadata standard) can
be used to insert tags still images and/or videos.
[0064] The modified data (i.e., the data including the destination
alias) is downloaded 756 to a host 720. The table look-up is then
performed 758 to identify the instructions corresponding to the
tags. For example, a look-up may identify which destination or
destinations are specified by each alias tag. An example of a
look-up table is provided in Table 2 above. It can be seen from
Table 2 that, for example, if "Mom" were the alias tag inserted 754
into the data, then the data would be emailed to jane@yahoo.com. If
"Family" were the alias tag inserted 754 into the data, then the
data would be emailed to john@hotmail.com, jane@yahoo.con, and
mary@abc123.com. It will be obvious to one skilled in the art, that
the present invention is not limited to sending data to email
addresses alone. Rather, the present invention can be used to send
data to instant messenger addresses, web-sites specified by URLs,
and any other such destinations which can be specified using a
destination address. Further, it should be noted that, as mentioned
above, the tags could identify things other than destination
addresses, such as the subject matter of the photograph, etc.
[0065] In one embodiment, the data is intelligently formatted 759.
In one embodiment, when the tag specifies a destination to which
the data is to be sent, intelligent formatting 759 includes sending
each recipient a single message (e.g., email), even if, for
example, multiple still images are to be sent to him. FIG. 7D
illustrates some details.
[0066] Referring to FIG. 7D, it can be seen that the tags are
associated with the data on the image capturing device 710. In one
embodiment, each piece of data (e.g., a still image, a video file,
etc.) is uploaded to the host 720 (and/or the server 735) only
once. The tags associated with each piece of data are then
looked-up in a look-up table as described above. Thus the
instructions associated with each tag (e.g., specific destination
address(es) corresponding to each tag, to which the still image
and/or video data is to be sent). The data for transfer is then
formatted intelligently such that each destination address is
followed by a list of still images and/or video data to be sent to
that address. In this way, each recipient only receives a single
message, regardless of how many pieces of data are received by
him.
[0067] In one embodiment, when the tag specifies a destination to
which the data is to be sent, intelligent formatting 759 includes
optimizing data transfer. Such optimization may include generation
of thumbnails of still image/video data, generating any text
accompanying the data, and so on. In one embodiment, data is
optimized based on the data type, recipient's network connection,
etc. In one embodiment, such information is obtained dynamically
from the network. In another embodiment, such information is
included in the look-up table.
[0068] Referring again to FIG. 7C, it can be seen that the data is
processed 760 in accordance with the instructions associated with
the tag. For example, if the tag is a destination tag, the data is
sent to the destination specified by the destination address(es)
corresponding to the alias tag(s). In one embodiment, the data can
be sent to various through communication channel (e.g., email,
instant messaging, cell phone, etc.). In one embodiment, if a
single recipient is identified by multiple different addresses
(from same or different communication channels), the recipient
receives the message containing still image/video data on only one
of these addresses. In another embodiment, the recipient receives
the message on all of these addresses.
[0069] As another example, if the tag is a subject matter tag, the
data is sorted by it (e.g., stored in a folder named by the subject
matter corresponding to the subject mater tag).
[0070] It is to be noted that the table look-up step 758, the
intelligent formatting of the data step 759, and the processing of
data step 760 may be performed on the same host, or on different
hosts. For example, in one embodiment, the table look-up is
performed on the host 720, while the intelligent formatting of the
data 759 and the processing of data 760 is performed on the server
735. In another embodiment, each of these three steps is performed
on the host 720. In yet another embodiment, each of these three
steps is performed on the server 735. It will be obvious to one of
ordinary skill in the art that any combination of these steps being
performed on the host 720 and the server 735 is possible. It is
also possible to have several hosts and/or servers for performing
these various steps.
[0071] As will be understood by those skilled in the art, the
present invention may be embodied in other specific forms without
departing from the essential characteristics thereof. For example,
the captured data could be audio data associated with an image, or
separate from an image. The tag could be imbedded in a field of the
audio data, in the data itself or a header. Accordingly, the
foregoing description is intended to be illustrative, but not
limiting, of the scope of the invention which is set forth in the
following claims.
* * * * *
References