|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates generally to an image capture unit and more
particularly to a method and system for stamping of images captured with
an image capture unit.
BACKGROUND OF THE INVENTION
A popular feature in film-based cameras is a time-date stamp feature. By
choosing to use the time-date stamp feature, camera users easily track
when a picture was taken by recording the time and date directly on the
picture's image. Some cameras offer variations for the time-date feature
that allow users to select a stamp format appropriate for different
regions of the world. Usually, a small integrated circuit clock chip in
the camera back is included and contains LED's (light emitting diodes),
which are lit to directly print on the film when the image is captured.
Other types of stamps are often desirable for different picture-taking
situations. For example, professional photographers typically identify
their pictures by printing their name or studio logo onto their pictures.
In some cases, text indicating that the print is just a proof is used to
make the proofs undesirable as final prints but still able to provide an
image for making a selection and placing an order. Of course, special
equipment is normally required to produce the overprinting on print paper.
With the advancement of cameras from film-base to digital-base, such
features remain highly desirable. In general, modern digital cameras for
taking pictures of scenes and the like typically include an imaging device
which is controlled by a computer running a single threaded process. When
an image is captured, the imaging device is exposed to light and generates
raw image data representing the image. The raw image data is typically
stored in a single image buffer where it is then processed and compressed
by the processor. Many types of compression schemes are used to compress
the image data, with the joint photographic expert group (JPEG) standard
being the most popular. After the processor processes and compresses the
raw image data into JPEG image files, the processor stores the JPEG image
files into an internal memory or on an external memory card.
Some digital cameras are also equipped with a liquid-crystal display (LCD)
or other type of display screen on the back of the camera. Through the use
of the LCD, the processor can cause the digital camera to operate in one
of two modes, record and play, although some cameras only have a record
mode. In record mode, the LCD is used as a viewfinder in which the user
may view an object or scene before taking a picture. In play mode, the LCD
is used a playback screen for allowing the user to review previously
captured images either individually or in arrays of four, nine, or sixteen
images.
The ability to form, place, and apply multiple types of stamps is limited
in typical digital cameras. For example, to apply a stamp of a text or a
logo into a digital image, typically digital cameras require a picture of
the text or logo to be taken. The image captured can then be sized and
positioned to fit into constrained box positions across the top, middle,
or bottom of another captured image. The need to have images captured for
any text or graphical element for use as a stamp severely restricts the
ability to freely add stamps to digital images. Further, the constrained
areas for placement further limits the usefulness of "stamping" through
these techniques.
Further, the use of even a time-date stamp in digital images has
limitations. Applying a time-date stamp in a digital camera through the
use of creation in software and application during image processing is
fairly straightforward, however, difficulties arise when the orientation
of an image changes. In digital cameras employing an orientation sensor,
the image is automatically rotated during image processing, so that the
proper orientation is shown when displayed on the LCD. Unfortunately, a
problem arises in determining how the application of the time-date stamp
adjusts to the orientation of the image.
Therefore, a need exists for a method and system for applying stamps in a
digital image that has great flexibility and does not require special
overprinting equipment.
SUMMARY OF THE INVENTION
A method and system for digital image stamping are disclosed. A method
aspect, and system for providing same, stamps digital images captured with
a digital image capture unit. Included are the establishing of parameters
for at least one stamp type and the capturing of raw image data. Further
included are the processing of the raw image data into at least one image,
and the applying of the at least one stamp type to the at least one image.
Through the present invention, multiple types of stamps are capably
utilized in digital images. Users have great flexibility in determining
styles, formats, and content for the applied stamps. These and other
advantages of the aspects of the present invention will be more fully
understood in conjunction with the following detailed description and
accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a digital camera that operates in accordance
with the present invention.
FIG. 2 is a block diagram of an example embodiment for the imaging device
of FIG. 1.
FIG. 3 is a block diagram of an example embodiment for the computer of FIG.
1.
FIG. 4A is a memory map showing an example embodiment of the Dynamic
Random-Access-Memory (DRAM).
FIG. 4B is a block diagram illustrating the contents of one of the input
buffers and the contents of the frame buffer.
FIG. 5 is a block diagram illustrating the image file generation process,
which begins when the camera is in capture mode and the user presses the
shutter button to capture an image.
FIG. 6 is a block diagram illustrating an enhanced format of a still image
file.
FIGS. 7A and 7B are diagrams depicting the back and top view, respectively,
of a digital camera.
FIG. 8 illustrates a data flow diagram for stamping digital images in
accordance with one aspect of the present invention.
FIGS. 9A and 9B illustrate two examples of positioning of stamps
independently of image orientation in accordance with one aspect of the
present invention.
FIGS. 10A, 10B, 10C, and 10D illustrate various examples of stamp selection
in accordance with the present invention.
FIGS. 11 and 12 illustrate data flow diagrams for post-capture image
stamping in accordance with an alternate example embodiment of the present
invention.
FIG. 13 illustrates a flow diagram for pixel value determination for
automatic scaling operations in accordance with an aspect of the present
invention.
DETAILED DESCRIPTION OF THE INVENTION
The present invention relates to a method and system for providing stamps
in digital images. The following description is presented to enable one of
ordinary skill in the art to make and use the invention and is provided in
the context of a patent application and its requirements. Although the
present invention will be described in the context of a digital camera,
various modifications to the preferred embodiment will be readily apparent
to those skilled in the art and the generic principles herein may be
applied to other embodiments. That is, any image capture device which
displays images, icons and/or other items, could incorporate the features
described hereinbelow and that device would be within the spirit and scope
of the present invention. Thus, the present invention is not intended to
be limited to the embodiment shown but is to be accorded the widest scope
consistent with the principles and features described herein.
Referring now to FIG. 1, a block diagram of a digital camera 110 is shown
for use in accordance with the present invention. Camera 110 preferably
comprises an imaging device 114, a system bus 116 and a computer 118.
Imaging device 114 is optically coupled to an object 112 and electrically
coupled via system bus 116 to computer 118. Once a photographer has
focused imaging device 114 on object 112 and, using a capture button or
some other means, instructed camera 110 to capture an image of object 112,
computer 118 commands imaging device 114 via system bus 116 to capture raw
image data representing object 112. The captured raw image data is
transferred over system bus 116 to computer 118 which performs various
image processing functions on the image data before storing it in its
internal memory. System bus 116 also passes various status and control
signals between imaging device 114 and computer 118.
Referring now to FIG. 2, a block diagram of an example embodiment of
imaging device 114 is shown. Imaging device 114 typically comprises a lens
220 having an iris, a filter 222, an image sensor 224, a timing generator
226, an analog signal processor (ASP) 228, an analog-to-digital (A/D)
converter 230, an interface 232, and one or more motors 234.
In operation, imaging device 114 captures an image of object 112 via
reflected light impacting image sensor 224 along optical path 236. Image
sensor 224, which is typically a charged coupled device (CCD),
responsively generates a set of raw image data in CCD format representing
the captured object 112. The raw image data is then routed through ASP
228, A/D converter 230 and interface 232. Interface 232 has outputs for
controlling ASP 228, motors 234 and timing generator 226. From interface
232, the raw image data passes over system bus 116 to computer 118 (FIG.
1).
Referring now to FIG. 3, a block diagram of an example embodiment for
computer 118 is shown. System bus 116 provides connection paths between
imaging device 114, an optional power manager 342, central processing unit
(CPU) 344, dynamic random-access memory (DRAM) 346, input/output interface
(I/O) 348, non-volatile memory 350, and buffers/connector 352. Removable
memory 354 connects to system bus 116 via buffers/connector 352.
Alternately, camera 110 may be implemented without removable memory 354 or
buffers/connector 352.
Power manager 342 communicates via line 366 with power supply 356 and
coordinates power management operations for camera 110. CPU 344 typically
includes a conventional processor device for controlling the operation of
camera 110. In the preferred embodiment, CPU 344 is capable of
concurrently running multiple software routines to control the various
processes of camera 110 within a multithreaded environment. DRAM 346 is a
contiguous block of dynamic memory which may be selectively allocated to
various storage functions. LCD controller 390 accesses DRAM 346 and
transfers processed image data to LCD screen 402 for display.
I/O 348 is an interface device allowing communications to and from computer
118. For example, I/O 348 permits an external host computer (not shown) to
connect to and communicate with computer 118. I/O 348 also interfaces with
a plurality of buttons and/or dials 404, and an optional status LCD 406,
which in addition to the LCD screen 402, are the hardware elements of the
camera's user interface 408.
Non-volatile memory 350, which may typically comprise a conventional
read-only memory or flash memory, stores a set of computer-readable
program instructions to control the operation of camera 110. Removable
memory 354 serves as an additional image data storage area and is
preferably a non-volatile device, readily removable and replaceable by a
camera 110 user via buffers/connector 352. Thus, a user who possesses
several removable memories 354 may replace a full removable memory 354
with an empty removable memory 354 to effectively expand the
picture-taking capacity of camera 110. In the preferred embodiment of the
present invention, removable memory 354 is typically implemented using a
flash disk. Power supply 356 supplies operating power to the various
components of camera 110. In the preferred embodiment, power supply 356
provides operating power to a main power bus 362 and also to a secondary
power bus 364. The main power bus 362 provides power to imaging device
114, I/O 348, non-volatile memory 350 and removable memory 354. The
secondary power bus 364 provides power to power manager 342, CPU 344 and
DRAM 346.
Power supply 356 is connected to main batteries 358 and also to backup
batteries 360. In the preferred embodiment, a camera 110 user may also
connect power supply 356 to an external power source. During normal
operation of power supply 356, the main batteries 358 provide operating
power to power supply 356 which then provides the operating power to
camera 110 via both main power bus 362 and secondary power bus 364. During
a power failure mode in which the main batteries 358 have failed (when
their output voltage has fallen below a minimum operational voltage level)
the backup batteries 360 provide operating power to power supply 356 which
then provides the operating power only to the secondary power bus 364 of
camera 110.
Referring now to FIG. 4A, a memory map showing an example embodiment of
dynamic random-access-memory (DRAM) 346 is illustrated. In the example
embodiment, DRAM 346 includes RAM disk 532, a system area 534, and working
memory 530.
RAM disk 532 is suitably a memory area used for storing raw and compressed
image data and typically is organized in a "sectored" format similar to
that of conventional hard disk drives. In the preferred embodiment, RAM
disk 532 uses a well-known and standardized file system to permit external
host computer systems, via I/O 348 (FIG. 3), to readily recognize and
access the data stored on RAM disk 532. System area 534 typically stores
data regarding system errors (for example, why a system shutdown occurred)
for use by CPU 344 (FIG. 3) upon a restart of computer 118.
Working memory 530 suitably includes various stacks, data structures and
variables used by CPU 344 while executing the software routines used
within computer 118. Working memory 530 also includes several input
buffers 538 for temporarily storing sets of raw image data received from
imaging device 114 (FIG. 3), and a frame buffer 536 for storing data for
display on the LCD screen 402 (FIG. 3). In a preferred embodiment, each
input buffer 538 and frame buffer 536 are split into two separate buffers,
called ping-pong buffers (shown by the dashed lines), to improve the
display speed of the digital camera and to prevent the tearing of the
image in the display 402.
Referring now to FIG. 4B, the contents of one of the input buffers 538 and
the contents of the frame buffer 536 are illustrated. As shown, each input
buffer 538 includes an input buffer A and an input buffer B, and the frame
buffer 536 includes a frame buffer A and a frame buffer B. The input
buffers A and B of input buffer 538 alternate between an input cycle and a
processing cycle. During the input cycle, the input buffers 538 are filled
with raw image data from the image device 114, and during the processing
cycle, CPU 344 processes the raw data and transmits the processed data to
the frame buffers 536. The size of the input buffers 538 may vary, but in
a preferred embodiment, two of the input buffers 538 are required to
contain a full resolution image. One input buffer 538 can therefore
contain one image captured at 1/2 resolution. Since the LCD is capable of
displaying images at 1/4 resolution, the images generated during a live
view process are also 1/4 resolution and are therefore stored in one-half,
or in one of the ping-pong buffers of an input buffer 538.
Referring now to FIG. 5, in a preferred embodiment, the processing of image
data is performed by a live view generation process 612, which is stored
in non-volatile memory 350 (FIG. 3) and executed on CPU 344. However, the
image processing can also be implemented using hardware. During the
execution of the live view generation process 612, the CPU 344 takes the
raw image data from the input buffers 538, typically in CCD format, and
performs color space conversion on the data. The conversion process
performs gamma correction and converts the raw CCD data into either a RGB
or YCC color format which is compatible with the LCD screen 402. (RGB is
an abbreviation for Red, Green, Blue, and YCC is an abbreviation for
Luminance, Chrominance-red and Chrominance-blue). After converting the
data to YCC, the YCC image data is stored in the frame buffer 536. The LCD
controller 390 (FIG. 3) then transfers the processed image data from the
frame buffers to the LCD screen 402 for display.
The raw image data is suitably captured by the image device 114, e.g., when
a shutter button is pressed, at a resolution set by the user, and the raw
image data is stored into an appropriate number of input buffers 538. The
raw image data is then used to generate an enhanced image file 600 for the
captured image, as shown in FIG. 6, which is preferably created for each
image as the user takes pictures while the camera is in capture mode. The
image file 600 suitably includes a header 602, compressed image data 604,
a thumbnail image 606, a screennail 608, and an image tag field 610. The
image file 600 may also include a sound file (not shown) if a sound clip
has been attached to the particular image.
The header 602 includes information identifying the particular image file
and the image represented by the image data 604. The image data 604 is the
actual data comprising the full-sized captured image in compressed form,
preferably in JPEG format. Although the user can typically choose the
resolution mode in which images are captured, once an image is processed
and compressed, the compressed image data 604 is the high-resolution
representation of the image compared to the thumbnail 606 and screennail
608.
The thumbnail image 606 suitably refers to a small, uncompressed
low-resolution version of the image. In a preferred embodiment, the pixel
size of thumbnail image 606 is less than the display size of the LCD
screen 402 (e.g., 80.times.60 pixels), and has a storage size of
approximately ten kilobytes. The screennail image 608 suitably refers to a
medium-resolution version of the image and in a preferred embodiment is
also compressed, although compressing the scre | | |