Digital Camera Patent Abstract
A system and a method for the transfer of data between a digital
camera and a host using a novel combination of hardware and software
related elements. An aspect of the hardware-related elements provides
a camera base unit which remains connected with the host, and which
the camera is connected with to facilitate the transfer of data
to the host. The camera base unit significantly simplifies the connection
between the camera and the host by alleviating the need to directly
connect the camera with a host. Furthermore, the camera base unit,
by providing a pass-through connection and placement guides that
mate with the camera, assures that an intuitive placement of the
camera on the camera base unit also enables an electronic connection
between the camera and the host. Therefore, the simple placement
of the camera in contact with the camera base unit ensures a proper
interface between the camera and the host, which is connected with
the camera base unit. Another aspect of the hardware-based elements
is directed towards a "quick send" button. Pushing the
"quick send" button causes all the selected on-camera
data to be transferred to a local or remote host. The transfer of
data is caused by a series of software operations which are initiated
in response to the camera connecting with the camera base unit,
and which are performed either automatically or following the pushing
of the "quick send" button. Digital Camera Patent Claims
What is claimed is:
1. A camera system for transfering data between a camera and an
intelligent host, said system comprising: a camera configured to
capture one or more images and store image data corresponding to
said images in a memory of said camera; a cradle configured to receive
said camera and provide a communication interface between said camera
and said intelligent host; a one-button device configured to cause
a transfer of said image data from said camera to said host; and
a computer useable medium having computer readable cod embodied
therein for causing the interfacing of said camera with said intelligent
host, said computer readable code further comprising: (i) an interface
recognizing code portion configured to cause said camera to recognize
its interface with said cradle; (ii) an interfacing code portion
configured to cause said camera to interface with said intelligent
host; (iii) an external storage recognizing code portion configured
to cause said camera to recognize a storage location on said intelligent
host; (iv) a data transferring code portion configured to cause
a transfer of data between said camera and said storage location,
wherein said system is configured to transfer said image data stored
on said camera to said host once said camera is docked onto said
cradle and establishes a communication link between said camera
and said host.
2. The system of claim 1 wherein said cradle is interfaced with
said intelligent host via a wireless connection.
3. The system of claim 1 wherein said cradle is interfaced with
said intelligent host via tethered connection.
4. The system of claim 1 wherein said image data are transferred
to said host automatically once said camera is connected to said
cradle.
5. The system of claim 1 wherein all data stored on said camera
is transferred to said host, said transfer of all data from said
camera to said host occurs in response to activating said one-button
device after said camera is connected to said cradle.
6. The system of claim 1 wherein said image data including first
data that represents a first image, said first data being associated
with a first selected action that is to be performed by said host
after receiving said firs data from said camera.
7. The system of claim 1 wherein said camera comprises a dual mode
digital camera having at least a first mode and a second mode of
operation, wherein in said first mode said camera is a digital still
camera, and in said second mode, said camera is a digital video
camera.
8. The system of claim 1 wherein said intelligent host is selected
from the group consisting of a personal computer, a handheld computer,
interactive set-top box, a thin client computing device, a personal
access device, a cellular telephone, an internet appliance, an internet
connected digital picture frame and combinations thereof.
9. The system of claim 1 wherein said interface recognizing code
portion further comprises routines for providing a visual indication
to an operator to indicate that an interface between said camera
and said host is established.
10. The system of claim 1 wherein said data transferring code portion
is configured to transfer data in at least a first mode and a second
mode, wherein in said first mode, said data transferring code portion
causes a transfer of said data from said camera to said intelligent
host, and wherein in said second mode, said data transferring code
portion causes a transfer of data from said intelligent host to
said camera.
11. The system of claim 1 wherein said one-button device is a part
of said camera.
12. The system of claim 1 wherein said one-button device is a part
of said cradle.
13. The system of claim 6 wherein said image data including second
data that represents a second image, said second data being associated
with a second selected action that is to be performed by said host
after receiving said second data from said camera, said second selected
action being different than said first selected action.
14. The system of claim 9 wherein said visual indication is provided
by a light emitting diode (LED), wherein said LED is activated upon
recognizing that an interface between said camera and said intelligent
host is established.
15. The system of claim 13 wherein said data transferred from said
camera to said host includes second data that represents a second
image, said second data being associated with a second selected
action that is to be performed by said host after receiving said
second data from said camera, said second selected action being
different than said first selected action.
16. The system of claim 1 wherein said cradle further comprises:
a base; a pedestal connected with said base and configured to be
connected with said camera, and having means for guiding the connection
of said camera and said pedestal; a pedestal connector connected
with said pedestal and configured to be connected with said camera;
and a cable having a near end configured to be connected with said
pedestal connector, and said cable having a far end configured to
be connected with a far-end connector, wherein said cable is passed
through said cradle so as to be connectable with a camera at its
near end, and capable of interfacing with an intelligent host a
its far end.
17. The system of claim 16 wherein said pedestal is rotatably connected
with said base.
18. The system of claim 16 wherein said cable is a USB cable, and
wherein said cable's far-end connector is a USB connector, and wherein
said near end connector is a mini USB connector.
19. A method of transferring data between a camera and an intelligent
host, said method comprising: connecting a cradle to an intelligent
host, said cradle being configured to enable a camera to be docked
or undocked to said cradle; connecting said camera to said cradle
by docking said camera to said cradle, said cradle providing a communication
interface between said camera and said intelligent host; transferring
data between said camera and said intelligent host; initializing
said camera, wherein said initializing further comprises, recognizing
a connection between said camera and said intelligent host; interfacing
said camera with said intelligent host; and recognizing by said
camera a storage location on said intelligent host, wherein said
transferring comprises transferring all data from said camera to
said host.
20. The method of claim 19 wherein said transferring occurs automatically
once said camera is connected to said cradle.
21. The method of claim 19 wherein said transferring occurs in
response to activating a one-button device.
22. The method of claim 19 wherein said camera comprises a digital
camera having at least a first mode and a second mode of operation,
wherein in said first mode said camera is a digital still camera,
and in said second ode, said camera is a digital video camera.
23. The method of claim 19 wherein said cradle further comprises:
a base; a pedestal connected with said base and configured to be
connected with said camera; a pedestal connector connected with
said pedestal and configured to be connected with said camera; and
a cable having a near end configured to be connected with said pedestal
connector, and said cable having a far end configured to be connected
with a far-end connector, wherein said cable is passed through said
cradle so as to be connectable with a camera at its near end, and
capable of interfacing with an intelligent host at its far end.
24. The method of claim 19 wherein said intelligent host is selected
from the group consisting of a personal computer, a handheld computer,
an interactive set-top box, a thin client computing device, a personal
access device, a cellular telephone, an internet appliance and an
internet connected digital picture frame.
25. The method of claim 19 wherein said transferring data between
said camera and said storage location on said intelligent host is
configured to transfer data in at least a first mode and a second
mode, wherein in said first mode, said data transferring is from
said camera to said intelligent host, and wherein in said second
mode, said data transferring is from said intelligent host to said
camera.
26. The method of claim 19 wherein said data transferred from said
camera to said host includes first data that represents a first
image, said first data being associated with a first selected action
that is to be performed by said host after receiving said first
data from said camera.
27. The method of claim 21 wherein said one-button device is a
part of one of said camera and said cradle.
Digital Camera Patent Description
BACKGROUND OF THE INVENTION
The present invention relates to digital cameras. More particularly,
the present invention is directed towards methods and systems for
the transfer of image data from a digital still camera to an intelligent
host such as a personal computer.
Digital still cameras typically use an image sensor to capture
an image of a scene and use electronic memory devices to store the
captured images as image files on the camera. Digital still cameras
are commercially available from many manufacturers as either stand
alone digital still cameras or as a feature on digital video cameras.
Digital still cameras are also available as a feature of dual-purpose
cameras. Dual-purpose cameras, when connected with an intelligent
host such a personal computer function as Internet video cameras,
which are also know as web cams. When detached from the intelligent
host, the dual-purpose camera functions as a digital still camera.
The camera's control panel allows its operator to snap, save and
delete pictures.
An essential factor to the commercial success of digital cameras
is their ease of use. An essential aspect of the ease of use of
a digital camera is the ease of transferring image data from the
camera to a host. Typical dual-purpose cameras, rely on a connection,
such as a USB connection, to transfer images, captured in their
still camera mode, from the camera's memory to the host. Most consumers
do not, on a regular basis, repeatedly connect, disconnect and reconnect
a device such as a digital camera with their personal computers,
and hence may find this aspect of the use of a digital camera rather
cumbersome. Moreover, once a connection between a camera and its
host has been established, the operator must maneuver through various
menus of an application program to select, preview and transfer
image data from the camera to its host. Presently, both the connection
and data transfer operations are at best difficult to maneuver.
Some have provided improvements in the areas of data transfer from
a digital camera. One such improvement is described in U.S. Pat.
No. 6,167,469, entitled "Digital Camera Having Display Device
for Displaying Graphical Representation of User Input and Method
for Transporting the Selected Images Thereof." The '469 patent
provides a method and apparatus for the transfer of image data directly
to a communication network without requiring the camera to be interfaced
with a local host computer. The method of the '469 patent relies
on an executable program resident on the camera to send image data
from the camera to a destination over a communication network. The
motivation for the '469 patent appears to be that many who own digital
cameras may not own or may not have access to a local host computer
to transfer their camera's image data to a destination. Thus the
'469 patent requires the camera device to have the necessary hardware,
firmware and software to achieve the data transfer operation. Such
requirements generally tend to add complexity and cost to the camera
device itself, which may impede the proliferation of such devices.
Further, many who use digital cameras, also wish to edit the captured
images on their local computers, and thus require a transfer of
image data from a camera to a host. Clearly, the method of the '469
patent does not address this need.
Another device that has gained popularity for interfacing a peripheral
device with a local host is the device commonly referred to as a
cradle or a docking station. While cradles or docking stations are
commonly used with many peripheral devices, their implementation
in conjunction with digital cameras and especially dual mode digital
cameras has not been pursued as vigorously by the digital camera
community. Further, both the approach of the '469 patent and the
use of the cradle device do not address the need for a rapid transfer
of camera's data to a local host.
There is therefore a need to improve the connection and data transfer
operations between a digital camera and its host. And further, it
is likely that cameras that are easily connectable to a host and
those that can simply and quickly transfer their data to a host,
will also be ones most adopted by consumers, and thus lead to commercial
successes for their manufacturers.
SUMMARY OF THE INVENTION
The present invention provides a method and a system for the transfer
of data between a digital camera and a host using a novel combination
of hardware and software-based elements. More specifically, the
digital camera of the present invention is a dual mode digital camera
where the camera, when connected with an intelligent host such as
a personal computer, functions as an Internet video cameras, and
when detached from the intelligent host, the dual-purpose camera
functions as a digital still camera.
An aspect of the hardware-based elements is directed towards providing
a camera base unit which remains connected with the host, and which
the camera is connected with to facilitate the transfer of data
to the host. The connection between the camera base unit and the
host includes both tethered and wireless connections; where in the
wireless case, the base unit is capable of wirelessly transmitting
to and receiving data from the intelligent host. The camera base
unit significantly simplifies the connection between the camera
and the host by alleviating the need to directly connect the camera
with a host. Furthermore, the camera base unit, by providing a pass-through
connection and placement guides that mate with the camera, assures
that an intuitive placement of the camera on the camera base unit
also enables an electronic connection between the camera and the
host. Therefore, the simple placement of the camera in contact with
the camera base unit ensures a proper interface between the camera
and the host, which is connected with the camera base unit.
Another aspect of the hardware-based elements is directed towards
a "quick send" button. Pushing the "quick send"
button causes all the selected on-camera data to be transferred
to a local host. The transfer of data is caused by a series of software
operations which are initiated in response to the camera connecting
with the camera base unit, and which are either performed automatically
after connecting the camera with the base unit or are performed
following the pushing of the "quick send" button.
Another aspect of the system and method of the present invention
is that the camera and/or the base unit are enabled to provide a
visual and/or audible indication of the establishment of a proper
interface between the camera and the host. The audible indication
includes the output of a "beep" tone. In some embodiments,
the visual indication includes the activation of a light emitting
diode (LED) near the "quick send" button. Thus, an illumined
"quick send" button indicates to an operator that the
camera is properly interfaced with the host and is ready to transfer
its data thereto.
Yet another aspect of the system and method of the present invention
is that the on-camera and on-host software allow for a bi-directional
communication, which enables the flow of data from the local or
remote host back to the camera. This backward flow of data allows
for the camera to be uploaded with the most current list of file
directory locations, web folder locations, instant messenger IDs
and/or addresses, or more generally Universal Resource Locators
(URLs), for the transfer of data out of the camera, so that the
camera and the operator are enabled to choose from options, which
were not previously available on the camera. Further, the backward
flow of data allows for the transfer of image data to the camera,
thus allowing a camera to serve as a digital picture frame.
These and other embodiments of the present invention, as well as
its advantages and features, are described in more detail in conjunction
with the description below and attached figures.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system for the transfer of data
between a peripheral and an intelligent host according to an embodiment
of the present invention.
FIG. 2 is a block diagram showing an embodiment of the camera unit
and camera base unit showing the "quick send" button.
FIG. 3 is a diagram of the camera unit and the camera bases unit
showing the camera connected with the base unit.
FIG. 4 is a diagram of the camera unit and the camera base unit.
FIG. 5 is a flow diagram of an embodiment of the method of the
present invention for the transfer of data from a digital camera
to a host.
FIG. 6 is a logical block diagram of the operation of an embodiment
of the data transfer system where a host executable program receives
a device arrival notification message.
FIG. 7 is a logical block diagram of the operation of an embodiment
of the data transfer system where a host executable program recognizes
and responds to a button click.
DESCRIPTION OF THE SPECIFIC EMBODIMENTS
Embodiments of the present invention are directed to methods and
systems for the transfer of data from a peripheral device to a local
or a remote intelligent host. More specifically, the peripheral
device includes a digital camera, where the digital camera may be
a stand-alone digital camera or a dual mode digital camera and the
data comprises digital image data that is stored on the camera.
Furthermore, data stored on the camera can include audio in addition
to image data. As used herein, digital image data includes both
digital still and video image data. A dual mode digital camera is
a digital camera that operates in at least two modes, where in a
first mode, the camera is a stand alone digital still camera, and
in a second mode, the camera is a digital still or video camera,
which is also commonly known as an Internet video camera or a web
cam. The local or remote intelligent host is most commonly a personal
computer. However, since advancements in technology are blurring
the boundaries between computing and communication devices, an intelligent
host as used herein is meant to include other examples of any host
having a processor, memory, means for input and output, and means
for storage. Other examples of intelligent hosts, which are also
equally qualified to be used in conjunction with embodiments of
the present invention include a handheld computer, an interactive
set-top box, a thin client computing device, a personal access device,
a cellular or wireless telephone, an internet appliance and an internet
connected digital picture frame.
FIG. 1 is a top-level block diagram of a system 100 configured
to transfer data between a peripheral device 102 and an intelligent
host 108 according to an embodiment of the present invention. The
peripheral device 102 is a dual mode digital camera connected to
a base or a cradle 104. The cradle 104 is connected to a local intelligent
host 108 via a connection 106 through an external bus such as a
Universal Serial Bus (USB). The connection between the camera base
unit and the host includes both tethered and wireless connections;
where in the wireless case, the base unit is capable of wirelessly
transmitting to and receiving data from the intelligent host. Furthermore,
the local intelligent host 108 may be connected via an Internet
connection 110 to a remote intelligent host 112. The remote host
112 can also be a remote file server hosting a web site.
Image data captured by the camera 102 is selected and various actions
are assigned to each selected image by an operator of the camera.
The image selection and action assignment operations, which are
described below, include selecting an image to be transferred to
a host and selecting an image to be further processed by a host,
where further processing by a host can include printing a selected
image or forwarding a selected image to a remote host, or an electronic
mail recipient. The capturing of images and the image selection
and action assignment operations are carried out by an operator
of the camera in its digital still mode, while it is disconnected
from the cradle 104. The operator captures images, selects images
and assigns actions to the selected images using on-camera software
programs which are configured to carry out these operations and
which receive input from various push buttons on the camera, which
are activated by the camera operator. The on-camera software is
further enabled to be configured by the user to designate that all
subsequently captured images are to be automatically assigned actions
to be carried out when the camera is interfaced with the host.
On-camera and on-host software programs enable the transfer of
selected image data from the camera 102 to the local host 108 or
the remote host 112. In some embodiments the transfer of data from
the camera 102 to the local host 108 or the remote host 112 is initiated
in response to an operator pressing a button 114 on the camera 102,
or alternately the button 114' on the cradle 104. Alternately, the
image transfer is initiated automatically after an interface between
the camera and the host is recognized by the camera. Yet alternately,
the image transfer is initiated, without user intervention, by the
application software running on a local or remote host. In addition,
the user may initiate the transfer by clicking a button in the application
software. As used herein, the button 114 (or 114') is referred to
as the "quick send" button, since once the button is activated
all the data selected for transfer out of the camera is send to
the host without requiring any further input from the camera operator.
The on-camera and on-host software operations as well as the image
selection and action assignment are described in more detail below.
However, as a brief introduction, image selection includes selecting
captured images which are to be transferred to the local host 108
once the operator engages the "quick send" button 114
(or 114'). Further, action assignment includes assigning particular
actions to the selected images that will be carried out by the host
once the image data has been transferred to the host. Examples of
particular actions include the sending of the image data to particular
directory locations residing on a local 108 or a remote host 112
and/or electronically mailing the image data to selected recipients,
as well as those described above.
The advantage of on-camera image and action selection is that once
the camera is connected to the cradle, the operator by pushing one
button (the "quick send" button) transfers all the selected
images to the local host. This one-button operation provides a significant
improvement over the current method of transferring data from a
camera to a host, which typically includes starting up a host application
program and maneuvering through various menus to preview the on-camera
data and then pulling the data from the camera to the host. Furthermore,
the advantage of the camera base or cradle is that it provides for
a very easy, operator-friendly and improved method of connecting
the camera to the host. Placing the camera on the base unit, alleviates
the need to use a cable to connect the camera to the host, as is
done with other digital still cameras and which may require restarting
the local host to recognize the newly connected camera. Thus the
method and system of the present invention improve the operability
and reduce the time needed to connect a camera to a host. Embodiments
of the present invention improve the operability of transferring
data from a digital still camera to a host by simplifying the connection
of a camera to a host by using a base unit (cradle) and also by
simplifying the data transfer by using the 1-button "quick
send" feature. The use of the base unit and the 1-button "quick
send" feature not only improve the usability of the digital
still camera, but also reduce the time needed to connect the camera
to the host and transfer image and audio data from a camera to a
host.
FIG. 2 is a block diagram 200 showing an embodiment of the camera
unit 102 and camera base unit or cradle 104 showing the "quick
send" button 114 located on the camera base unit (cradle) 104.
Alternately, the "quick send" button 114' may be located
on the camera unit 102. The camera unit includes an image sensor
202 such as a charge-coupled device (CCD) image sensor for capturing
an image of a scene. The camera unit 102 also includes a microcontroller
204 for processing an operator's push-button inputs (not shown).
The push-button input operations include, but are not limited to
operations for turning the camera on and or off, capturing an image,
selecting a captured image for transfer to the host, deleting an
image and assigning various actions to the selected images. The
microcontroller 204 communicates with a camera digital signal processor
and microprocessor 206. The microprocessor 206 is also in communication
with the sensor 202 and a microphone 208 and a liquid crystal display
210. Images and sound captured by the sensor 202 and microphone
208 are stored in memory 212. The memory 212 is a fixed memory such
as an EEPROM. Alternately, a removable memory 213 such as a removable
memory card is used to store image and audio data. A power circuit
214 provides the necessary power for the proper operation of the
camera.
A connection 216 on the camera unit 102 provides for connecting
the camera to a host. In one embodiment, the camera connection 216
is a mini USB jack configured to receive a mini USB plug 218 located
on the camera base unit 104. Plug 218 is connected with a connection
106 and terminates at a USB plug 220, which is connectable with
a host. An operator depressing the "quick send" button
114 (or 114') will initiate the transfer of data from the memory
212 or 213 to a host. In this embodiment, the camera base unit 104
serves as pass through device for a USB cable connection between
a host and the camera 102.
FIG. 3 is a diagram 300 of an embodiment of the camera unit 102
connected to the camera base unit 104 with the "quick send"
button 114 on the camera base unit 104. Alternately, the "quick
send" button 114' may be located on the camera unit 102. In
some embodiments, an LED (not shown) illuminates the "quick
send" button once a connection between the camera and the host
is recognized by the camera. The illumined "quick send"
button indicates to the operator that the camera is properly interfaced
with the host and ready to initiate a transfer of data to the host.
Alternately, the indication of a proper interface between the camera
and the base is provided by an audible tone.
FIG. 4 is a diagram 400 showing a physical arrangement of an embodiment
of the camera unit 102 and the camera base unit 104. This figure
(FIG. 4) also shows an embodiment of the physical configuration
of the camera base unit 104 and its connection with the cable 106
for connecting the camera 102 to the host. As can be seen from this
figure (FIG. 4), the base unit 104 has a base 402 and a pedestal
404, which is connected to the base 402. In some embodiments, the
pedestal 404 is rotatably connected to the base 402 so as to allow
for the pedestal to rotate with respect to the base 402. The rotation
of the pedestal 404 with respect to the base 402 is especially useful
when the camera is being operated in its web cam mode, since it
will allow the camera to be easily turned to point at different
directions. The base 402 and the pedestal 404 are manufactured using
plastic materials, which are easy to manufacture at a low cost.
The base is chosen to have the sufficient weight and/or size such
that the camera 102 and the base unit 104 combination is stable
when the camera 102 is placed on the base unit 104. In some embodiments,
to help position the camera 102 properly on the base unit 104, a
plurality of bosses 406 are molded integrally with the pedestal
404 which protrude from the pedestal 404 and which mate with matching
depressions 408 on the bottom of the camera unit.
The base unit 104 has openings in its body to allow for a cable
106 to be fed therethrough. In some embodiments, the cable 106 terminates
at a mini USB plug 218 at its near end and a standard USB plus at
its far end 220. The USB plug 220 is used to connect the base unit
104 with a host. Once the camera unit 102 is placed on the base
unit 104, bosses 406 are mated with depressions 408 to, in a stable
manner, hold the camera 102 in contact with the base unit 104. Also
the bosses 406 and the depressions 408 will guide the operator to
properly connect the mini USB plug 218 with the mini USB jack 216.
During the normal usage of the camera in its digital still mode,
the camera is not connected to the base while the base unit is preferably
connected with the host. Once the operator desires to transfer stored
data from the camera to the host, the operator simply places the
camera 102 on the base unit 104. The user is intuitively guided
to a correct placement since the bosses 406 and depressions 408
only allow for a single and proper arrangement for the placement
of the camera unit on the base unit. The placement guidance mechanism
provided by the bosses 406 and the depressions 408 will also assure
a proper connection between the plug 218 and the jack 216. Once
the camera 102 is placed in contact with the base unit 104, the
user is ready to power up the camera. The powering up of the camera
will initiate a sequence of operations which will lead to the camera's
recognition of an interface with the host, which will in turn result
in the camera providing an audio or visual indication (e.g. activating
and LED on the "quick send" button) that the camera is
ready to transfer data to the host. This sequence of operations
is carried out primarily in response to a combination of operator
actions and software operations. The operator actions include image
selection and action assignments as described above, which are performed
by the operator using the camera in its stand-alone digital camera
mode. Some of the software operations are carried out by the on-camera
software, and which include operations for selecting images and/or
assigning actions. And some other portions of the software operations
are carried out by host-resident software, and which include operations
for the transfer of data between the host and the camera. The operator
actions and software operations are described below in conjunction
with FIGS. 5 through 7.
FIG. 5 is a flow diagram 500 of an embodiment of the method of
the present invention for transferring data from a digital camera
to a host. In one embodiment, the method of FIG. 5 describes a mode
of operation of a system where an operator has previously installed
various programs on the host through an application install operation.
This application install operation installs software programs which
include at least (a) an executable program for passing hardware
events, such as connecting a camera to the base unit or a camera-initiated
button click, to a host-resident user executable, where the host-resident
user executable is configured to transfer image data between the
camera and the host, (b) camera device drivers and (c) information
files as necessitated by the operating system of a particular host
which typically specify the files that are required to be present
or downloaded for use by the operating system's setup component.
As an aid to description, the sequence of operations provided below
are described in the context of digital camera which has been connected
to an intelligent host, through a USB connection, running a common
operating system such as the Windows.TM. series of operating systems.
This particular hardware and software configuration is for description
purposes only and is not to be limiting of the scope of the embodiments
of the present invention. The embodiments of the present invention
may be practiced on numerous implementations of various hosts, communications
ports/busses and operating systems.
In step 502, the operator selects an image that has been previously
captured by the camera and assigns a particular action to the selected
image. The image selection and action assignments are carried out
using on-camera push buttons in conjunction with the on-camera LCD
and various LCD option screens. For example, the operator previews
a captured image using the camera LCD, and selects it to be sent
to a particular file directory location on the local or the remote
host. A list of file directory locations that has been previously
transferred and stored on the camera memory (during an initial connection
to the host, most typically done during the initial install operation),
is presented to the operator on the camera LCD, for the operator
to select from using various push button operations. Default file
directory locations can be pre-selected, thus not requiring a selection
of a particular directory location by the operator. Alternately,
and/or by default the entire collection of previously captured images
can be selected for transfer to a host, thus bypassing the individual
image selection operation. In addition to selecting a particular
directory location, the operator may specify an address for file
transfer where, for example, the address is a recipient's electronic
mail (Email) address, which in some embodiments is selected from
a pre-stored list. A previously stored list of addresses is also
loaded in the camera memory in a manner similar to the list of stored
file directory locations described above. Other data that may also
be associated with a selected image may include a web page property
information (e.g. account and authentication information) in case
the user is selecting an image to be sent to a remote host.
Having completed the image selection and action assignments, the
operator next connects the camera to the camera base unit (step
504). Connecting the camera to the base unit causes the USB host
controller and/or driver to recognize the presence of the camera
device on the bus. FIG. 6 is a logical block diagram 600 of the
operation of an embodiment of the data transfer system where a host
executable program receives a device arrival notification message.
The host executable program (i.e. user mode executable) is the software
portion that is configured to carry out the transfer of data between
the camera and the host.
As shown in FIG. 6, connecting the camera 602 to the base unit
603, which effectively connects the camera with the USB bus 604,
causes the USB host controller or driver 606 to recognize the presence
of the camera device 602 on the bus 604 and query the device 602
for a product identification (PID) and vendor identification (VID),
which in one embodiment are stored on the camera memory. The USB
host controller/driver 606 passes the PID and VID to the kernel
mode plug and play manager (PnP manager) 608, which in turn passes
control to user mode PnP manager 608. The PnP manager 608 loads
operating system driver files that inspect operating system information
files on the host to locate appropriate device driver files for
the camera device based on the PID-VID. Once the PnP manager 608
has completed the loading of the operating system driver files,
control is passed back to the kernel mode PnP manager 608 which
loads device driver files and the hardware event server executable
610. The hardware event server executable is a software program
that passes hardware events such as device connections and button
clicks to the user mode executable 612. Next, the PnP manager sends
the device arrival notification message to the hardware event server
executable 610. The hardware event server executable 610 then responds
by launching the host user mode executable 612 (step 506).
At the end of this step (step 506), the camera has established
an interface with the host, and the connection is recognized by
the camera and the host. As described above, this recognition may
include the activation of an LED to illuminate the "quick send"
button to indicate to the operator that the camera is ready to transfer
the selected data to the host. Next, the operator initiates the
transfer of data from the camera to the host by activating the "quick
send" button (step 508). FIG. 7 is a logical block diagram
700 of the operation of an embodiment of the data transfer system
where a host executable program (user mode executable) recognizes
and responds to a button click.
Inherent in the description of events shown in FIG. 7 is that various
software components have already been loaded at the host through
an application install as described above. In addition, the application
install causes the hardware event server to be registered with an
operating system-level event definition program, which in the context
of this example is referred to as the Kernel Streaming Proxy (KSP)
component of the operating system. With the camera 702 connected
with the bus 704, the operator will activate the "quick send"
button 706 to initiate the transfer of data (selected images with
assigned actions) from a camera to a host. The camera (or camera
base) button-push operations get passed to the KSP component 712
through a USB host controller/driver 708 (i.e. same as 606 on FIG.
6) and the camera device driver 710. The KSP 712 sends the button
"click" event to the hardware event server 714 (i.e. same
as 610 on FIG. 6). The hardware event server 714 responds by launching
the host user mode executable 716 (step 510). The user mode executable
is the executable program that carries out the bulk of the data
transfer operations between the camera and the host.
In one embodiments, the launching of the user mode executable (step
510) spawns further operations which will cause the user mode executable
to build an image-action list (step 512) and then process the actions
on the image action list (step 514). The building of the image-action
list (step 512), in turn includes an inspection of the images files
and the data associated with each image stored on the camera to
build a list of related actions for the transfer of the image data.
The inspection of the image files and associated data is carried
out by a proprietary device driver interface. Alternately, the camera
can identify itself to the host as a mass storage device (e.g. a
USB device), which can then be browsed by the host's operating system.
Yet alternately, the inspection of the image files and the associated
data takes place in the host application software after it has downloaded
the data from the camera along with the image files. At the end
of this inspection step, the user mode host executable builds an
"image-action" list that is a list of image files and
associated transfer actions to carry out.
Next, the user mode host executable processes the image-action
list (step 514). The processing which is predominantly directed
to a transfer of data from the camera to the local host can encompass
several operations, which include: (1) downloading images and associated
data to the intelligent host; (2) combining multiple images associated
with a similar operation or destination for more efficient processing;
(3) image compression and/or reformatting for the remote host or
electronic mail delivery; (4) creating additional copies of an image;
(5) adding trailers or animated wrappers around images; (6) authentication
with remote host sites; (7) input of further information from the
operator, such as an electronic mail message; (8) automatic generation
of an electronic mail message; (9) uploading of images and data
to a remote site and (10) launching a URL of a web site on the local
host.
In alternate embodiments, the user mode executable automatically
processes the image action list to transfer data without requiring
the operator to click the "quick synch" button. This automatic
transfer is initiated and carried out once the interfacing of the
camera with the host has been recognized by the camera and the host.
Another aspect of the operation of the user mode executable is
the capability of providing for a bi-directional communication between
the camera and the local or remote host. This bi-directional aspect
enables the flow of data from a local or remote host back to the
camera. This bi-directional aspect provides a significant improvement
over systems and methods that transfer data from a digital camera
to a local or remote host, by enabling the on-camera memory to be
updated with relevant information from the local or remote host.
This information includes file directory names on a local or remote
host that an operator has created for storing the data from the
camera, and which were previously not available on the on-camera
list for the operator to select therefrom. This backward flow of
data allows for the camera to be uploaded with the most current
list of file directory locations, web folder locations, instant
messenger IDs and/or addresses, or more generally Universal Resource
Locators (URLs), for the transfer of data out of the camera, so
that the camera and the operator are enabled to choose from options,
which were not previously available on the camera. As described
above, one of the data types that a user can associate with a selected
image file is a file directory location selected from an on-camera
list to receive the transferred on-camera image file. The bi-directional
feature of the user mode executable, by sending data from the local
or remote host to the camera, enables the operator to choose from
a list of file directory locations that is updated to reflect the
most currently available file directory locations on a local or
remote host.
Other data types that are also transferred from a local or remote
host back to the camera include electronic mail addressees, as well
web property identification information and others as described
above. The data being transferred from a local or remote host is
passed back to the user mode executable in response to a query from
the user mode executable. The user mode executable then sends the
data back to the camera device via the same interface described
above. The camera device then stores the transferred data on the
camera's fixed or removable memory.
Another alternate embodiment of the method of the present invention
enables the transfer of data between a camera and a host that is
not connected with a camera base unit, or a host that has not previously
interfaced with the camera. This alternate embodiment has utility
when the operator is at a location where the operator's local host
is not available, as in when the operator is on a trip away from
home but has access to another host. In this embodiment, once the
camera is directly connected to the host (e.g. via a USB connection),
the camera identifies itself to the host's operating system as a
USB mass storage device. The host USB controller/driver then loads
a default USB mass storage device driver and mounts a drive for
the camera as a storage device. Upon inspecting a file allocation
table on the camera the host's operating system opens an "autorun"
information file and loads and runs the executable specified in
the "autorun" information file, which resides on the camera's
memory. As specified above, the executable program performs the
functions of the user mode executable directly, or by launching
the default browser on the host to a URL, which automatically downloads
more software to accomplish the data transfer tasks.
Another advantage of the bi-directional data transfer enabled by
the host executable is expressed in an alternate embodiment where
the camera identifies itself as a USB mass storage device. In this
alternate embodiment, with the camera connected to a host, an operator
is enabled to copy an image file to the camera, since the camera
is recognized as a mass storage device like any other storage device.
The camera's LCD is then used to display the transferred image file,
and in a sense the camera becomes a versatile and portable digital
frame.
As will be understood by those of skill in the art, the present
invention may be embodied in other specific forms without departing
from the essential characteristics thereof. For example, the "quick
send" button may be either implemented as a part of the dual
camera or as a part of the camera base unit (cradle), or that the
transfer of data from the peripheral device to the intelligent host
may be initiated as an automated process without requiring a manual
button click, via a tethered or wireless connection. Accordingly,
the foregoing disclosure is intended to be illustrative, but not
limiting, of the scope of the invention, which is set forth in the
following claims. |