Download Method and system for transferring and sharing images between

Transcript
US007117256B1
(12)
United States Patent
(10) Patent N0.:
(45) Date of Patent:
Blinn
(54)
METHOD AND SYSTEM FOR
TRANSFERRING AND SHARING IMAGES
BETWEEN DEVICES AND LOCATIONS
Oct. 3, 2006
OTHER PUBLICATIONS
Hales, M., “Even Easier Image Manipulation”, Journal.‘ PC User
No. 293, p. 71, Publisher: EMAP Computing, Oct. 16-29, 1996, p.
71.
(75) Inventor: Arnold Neil Blinn, Bellevue, WA (US)
(73) Assignee: Microsoft Corporation, Redmond, WA
(Us)
Notice:
US 7,117,256 B1
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.C. 154(b) by 793 days.
Tan, F.L., et al., “Shareware graphical image viewers and converters
a survey”, Computing & Control Engineering Journal, vol. 8 No. 6,
pp. 273-280 (Dec. 1999).
Adobe Photoshop 6.0, “New Feature Highlights”, (Mac OS 85,86,
and 9.0/Windows, 98/Windows NT 4.0/WindoWs 2000, pp. 1-23.
Graphic Pump, Version 1.1 User's Manual, Copyright 2000-2001
by Graphic Pump, http://wwwgraphicpumpcom, pp. 1-27.
* cited by examiner
(21) Appl. No.: 09/997,575
(22)
Filed:
(51)
Int. Cl.
L.L.P.
G06F 15/16
G06F 9/44
(52)
(58)
Primary ExamineriZarni Maung
Assistant ExamineriKaren Tang
(74) Attorney, Agent, or FirmiShook, Hardy & Bacon
Nov. 29, 2001
(2006.01)
(2006.01)
US. Cl. ..................................... ..
(57)
ABSTRACT
709/219; 717/110
348/64;
A method and system of formatting and transferring image
710/33; 382/263; 709/218, 219; 717/110
See application ?le for complete search history.
data alloWs a user to easily select image data format settings
and format received image data in accordance With the user
selected format settings. The user can save the image data to
Field of Classi?cation Search ................ ..
(56)
References Cited
a second location in the format that the user so chooses.
Manipulation of image data Within the same application
U.S. PATENT DOCUMENTS
usable to transfer that data eliminates the need to rely on
5,978,016
6,715,003
6,788,824
6,980,232
A *
B1*
B1*
B1*
11/1999 Lourette et al. ............ .. 348/64
3/2004 Safai ......................... .. 710/33
9/2004 Prestia ..................... .. 382/263
12/2005 Suzuki ..................... .. 709/218
multiple applications.
48 Claims, 14 Drawing Sheets
‘ m an F‘miill
202
203
204
205
206
207
U.S. Patent
0a. 3, 2006
Sheet 1 0f 14
US 7,117,256 B1
/106 [100
/
.
- 108
:
1 04
Removable
Storage
hsnyésntlim
W
/
Non-Removable /
K 102
Storage
Processing
Output
Unit
Device(s)
- 1 10
- 1 16
I
volat'le
Input
Non-Volatile
/
/
1 14
Device(s)
Communication
Connection(s)
FIG. 1
[-1 12
U.S. Patent
0a. 3, 2006
Sheet 2 0f 14
201
207
FIG. 2
US 7,117,256 B1
U S. Patent
0a. 3, 2006
Sheet 3 0f 14
US 7,117,256 B1
Km
5
En N:0, wow w
MMM
V,
3
m
, .U
‘sag
‘. ‘
2mSM in$0,
5NNM
N
,. ownP
6
wmmhwm
Em. own
,,
mgm
5
E“mUEBuM.Em
vw
in
uoQm. ,
2E3-
.
N8
5
n
U S. Patent
0a. 3, 2006
wow wow
mow
Sheet 4 0f 14
US 7,117,256 B1
New N;
wow
.2 5
wow
wow
U.S. Patent
0a. 3, 2006
Sheet 5 0f 14
US 7,117,256 B1
501
User speci?es all
destinations with their
associated format
settings that he/she
wishes to pump the
image to.
502
YES
is the image a
network image?
503
50k M2228)
Download
from ?le
lmagigslgifrom a
system.
'
i
505
Apply appropriate format rules /
that correspond to the ?rst
destination.
"
506
Copy the image to the
?rst destination device.
507
NO
is there another
destination to send the
image to?
DONE
Apply
appropriate
508
format rules for
destination.
"
510
509
Copy the image J
to the device'
FIG. 5
U.S. Patent
Oct. 3, 2006
Sheet 6 0f 14
US 7,117,256 B1
Source user
601
retrieves an image
file.
I
Source user retrieves
602
\
an initial destination(s)
(which includes
formatting information
and destination device
information).
The source user's
603
pump application
applies formatting rules
for the desired device.
V
The source user's
pump application
transfers the formatted
J
604
image file to the
destination device.
YES
The pump
application asks
whether there is another
destination to share the
image with‘?
605
606
FIG. 6
U.S. Patent
0a. 3, 2006
702
Sheet 7 0f 14
703
US 7,117,256 B1
704
701
705
706
707
FIG. 7
U.S. Patent
0a. 3, 2006
Sheet 8 0f 14
US 7,117,256 B1
812 i
801
802
03
:XGraphicPumpXTestSoUrce-W ‘
05
806
810
811
FIG. 8
808
U.S. Patent
0a. 3, 2006
Km
.
Sheet 9 0f 14
WW m
§
901
902
903
FIG. 9
US 7,117,256 B1
U.S. Patent
0a. 3, 2006
Sheet 10 0f 14
US 7,117,256 B1
Preliminary
image data is
automatically
retrieved from a
source according to
ls the image a
web image?
l
1003
-
The pump application
.
-
The
automatically
pm“? “PM?”
copies
aummamaw
the image ?les from J
downloads the image
.
_
the appropriate local
from appropriate URL.
?re System‘
YES
1 005
The pump application
automatically retrieves
formatting rules and
destination for ?rst
destination according to the
task.
1006
The pump application
\l foimatting
automatically
applies
ruies according to
the task.
1007
The pump application
\ automatically copies the
image data to destination
devioe.
set of format settings
nd destination"
YES
U.S. Patent
0a. 3, 2006
Sheet 11 0f 14
US 7,117,256 B1
11119“
: Never run
1101
1102
1103
1108
FIG. 11
U.S. Patent
0a. 3, 2006
Sheet 12 0f 14
902
US 7,117,256 B1
U.S. Patent
0a. 3, 2006
Sheet 13 0f 14
4| 3 AU 2
1304
1305
1306
FIG. 13
US 7,117,256 B1
U.S. Patent
0a. 3, 2006
Sheet 14 0f 14
1403
1402
Destination
c
1406
EEraphump'?lDe
1407
FIG. 14
US 7,117,256 B1
1404
US 7,117,256 B1
1
2
METHOD AND SYSTEM FOR
TRANSFERRING AND SHARING IMAGES
BETWEEN DEVICES AND LOCATIONS
formed through scripting, and there are Ways With the
FIELD OF THE INVENTION
knowledge of the applications being used to perform the
standard programs mentioned above that one can create
“Macros” of manipulation functions to perform image pro
cessing. HoWever, both of these techniques require deep
manipulation and as such are out of the reach of most casual
The present invention relates generally to the ?eld of
image processing, and more particularly, relates to a tech
nique for providing a user With the ability to easily and
users.
In addition, existing graphic editing and manipulation
applications do not provide a mechanism for transferring an
quickly reformat and physically transfer images from Within
a single application.
While applying formatting rules that a user had previously
BACKGROUND OF THE INVENTION
lation, such as cropping, resiZing, padding, adding borders,
image from a device or location to a neW device or location
speci?ed. Thus, even applications that alloW data manipu
etc., force a user to set pertinent rules each and every time
that the user Wishes to save the image. They also force the
user to “save” the image to the hard disk and ultimately use
some other means to transfer the image to the target device.
Currently, there are many different devices on the market
that have the ability to display images. Most of these devices
serve other purposes as Well. Commercial products for
displaying images include digital picture frames (such as the
SMART PICTURE FRAME by KODAK, that cooperates
With the STORYBOX netWork, and digital picture frames by
One example of such a graphical manipulation program is
PHOTOSHOP. In PHOTOSHOP a user can graphically
20
manipulate and edit image ?les. HoWever, the user must
DIGI-FRAME), pocket/hand-held computers, cell phones,
choose from palettes, brush options, cropping options, etc.,
and personal computers (PCs). Certain devices, such as
FOTOSHOW digital image center by IOMEGA, have the
after the image is selected. For example, the user might
choose a background ?rst. Then the user can go to a different
menu to choose brush options, and still a different menu for
ability to render images via a television screen.
Complicating the user experience, these various image
display devices have a spectrum of display characteristics
and image data format requirements. Different devices gen
erally render images at different resolutions utiliZing differ
25
user then ultimately must use a different application to
ent formatting options. For example, a digital picture frame
may be able to display an image at a resolution of 640x480
30
pixels in 24-bit color, While a hand-held computer may at
best be able to render an image at a resolution of 320x240
pixels in 8-bit color. Support for many other options also
varies from one device to another. For example, some, but
not all, devices provide support for embedded thumbnails
(thumbnail images inside the image ?le) for a more ef?cient
user experience. The varying image processing and render
ing capabilities are often tied to the memory capacity and
processing characteristics of a device, but may also be the
result of other design choices and compromises.
In addition to the various format options and special
features, all of Which may be referred to using the umbrella
term “format settings”, that may be supported, most devices
35
DEBABELIZER is very similar to PHOTOSHOP. HoW
program to manipulate an image, but rather requires script
40
image manipulation tools for canvas resiZing and scaling, as
Well as commands to ?ip, rotate, and crop images. In
addition, a user can set speci?c settings for intensity, con
45
trast, gamma, hue, saturation, and brightness controls for
later use. HoWever, DEBABELIZER does not alloW a user
to save manipulation settings Without the use of a script.
DEBABELIZER, a program designed for business level
automated digital media processing, does not provide the
50 ease of use necessary to alloW an unsophisticated user to
quickly and simply execute image manipulation and trans
and special features, the currently available general methods
for manipulating and transferring image data require the
execution of many steps in a number of application pro
grams. For example, to ?rst manipulate image data, a user
can choose from among a plethora of image manipulation
softWare, such as PICTURE IT! by MICROSOFT and
ing on the part of the user. DEBABELIZER is a program that
alloWs a user to perform a range of script-based image
processing operations through batch processing. It has
such as a PC. Parameters associated With image ?les such as
siZe, resolution, compression, embedded meta-data (such as
thumbnails), bit depth, etc., can affect this image data ?le
siZe and the overall quality of the rendered image.
Because different devices support varying format options
transfer the image data to another display device such as
another PC. Finally, if the user Wants to save another image
With the same formatting, they must repeat the above steps
even When the target device, such as a pocket PC, is the
same. When using PHOTOSHOP, an advanced user might
create a “macro” to repeat these image processing opera
tions, but this is both dif?cult to learn and cumbersome to set
up.
ever, unlike PHOTOSHOP, it does not require a graphical
also support image transfer to or from one or more devices.
Thus, there are generally different devices and locations to
Which an image ?le may be saved from a particular device
cropping options. Then the user must, for example, save the
image to a disk specifying image compression settings. The
fer.
There are similar shortcomings in graphical “photo
album” and thumbnail manipulation applications. THUMB
55
SPLUS by CERIOUS SOFTWARE executes various types
of thumbnail manipulation. For example, THUMBSPLUS
can create thumbnails corresponding to ?les, either auto
matically or manually, alloWing a user to: (1) specify a
ADOBE PHOTOSHOP. These and other graphic manipu
lation programs alloW editing and manipulation of images,
each and every time that the user saves an image, even When
the user saves the same image multiple times for use on
thumbnail vieW from customizable vieWs; (2) customiZe
these vieWs; and (3) create galleries of thumbnails. These
galleries in THUMBSPLUS can be displayed together in
?les as a graphical photo album. Manipulation programs
multiple devices. There currently does not exist an image
editing and manipulation application that alloWs a user to
easily and automatically apply format settings to an image at
de?ned by ?le name. In addition, they alloW basic image
formatting, such as adjusting color, rotating, resiZing, over
but require a user to separately specify format information
60
such as THUMBSPLUS generally alloW images to be
65
save time. There are programs (such as DEBABELIZER)
laying images or text, ?ltering, cropping, and adding back
that alloW batch image processing operations to be per
grounds, for different siZes and resolutions through a save
US 7,117,256 B1
3
4
dialog. However, such applications are normally limited to
processing image ?les With certain siZe and resolution
user-selected intervals. This alloWs a user to automatically
characteristics. In addition, to the extent that THUMB
as once per day, once per Week, or once per month.
SPLUS alloWs thumbnail graphical manipulation, it is not
generally applicable in that it only alloWs manipulation of
Modes of transferring image data include, but are not
limited to: (1) transfer through a serial port, (2) transfer from
thumbnails. These applications are also tailored to vieWing
images on computers in broWser applications, and are inap
plicable to a Wider variety of devices.
As described brie?y above, after a user has spent the time
necessary to edit and manipulate an image in a ?rst program,
and (3) transfer over the Internet, a local area netWork
(LAN), a Wide area netWork (WAN), or another netWork.
In an embodiment, a user of a receiving device is provided
send images to a desired location via a pre-set schedule, such
one location on a hard drive to the same or another location,
With an ability to con?gure the receiving device to auto
matically format and save or transfer image data based upon
the user generally must then use a second program to
transfer the image data to another display device. Sometimes
an identi?cation of a sending source from Which the image
data came. This is accomplished by use of a set of rules at
speci?c display devices such as the DIGI-FRAME are
shipped With applications that facilitate integration of image
the receiving side that select image data format options and
data onto the speci?c device. HoWever, these applications
are normally crude, rarely contain formatting rules, and are
greatly limited because they are device speci?c.
The STORYBOX NETWORK, Which supports
target locations based upon the sending device or sender
identity. Thus, for example, in an embodiment a receiving
user’s PC has pre-set rules that associate an identi?cation of
a sending user or their sending device to a set of format
KODAK’s SMART PICTURE FRAME, does alloW a user
to schedule delivery of photographs though a modem to the
display frame. The SMART PICTURE FRAME is set by
20
settings and a location in the receiving user’s device. In this
manner, image data received by the receiving user from the
speci?ed sending user Will automatically be properly for
default to doWnload images from a user’s account on the
matted and transferred to the speci?ed location.
Internet (into Which the user previously uploaded images) in
Further embodiments of the present invention alloW a user
to send a plurality of images to the same device or to a
the STORYBOX NETWORK at 6:30 AM. daily. Auser can
change this setting, and may have the Frame connect to the
netWork up to four times per day. HoWever, there is only
25
very limited user control available in this system. In fact, the
only control exercised by the user is over Whose images are
in his account on the netWork and the schedule on Which
images are doWnloaded. In addition, the user must go to a
BRIEF DESCRIPTION OF THE DRAWINGS
30
separate Web site to exercise the limited control that he has
over the pictures that are received. Further, While this
FIG. 1 is a block diagram generally illustrating an exem
plary computer system usable in an embodiment of the
invention;
FIG. 2 is a simulated vieW of an exemplary user interface,
application Will siZe the image before doWnloading it to the
frame, it is very limited because images ?rst must be loaded
to a speci?c site, a user does not have substantial control
over Which images are sent at each scheduled time or at the
plurality of devices.
or dialog, according to an embodiment of the invention,
35
presented to a user When the user chooses to create a pro?le;
FIG. 3 depicts a user interface, or dialog, presented to a
user in an embodiment of the invention to alloW the user to
end of each scheduled interval, and it only Works With this
device in this limited capacity.
set rules for image data formatting and manipulation;
FIG. 4 depicts a user interface, or dialog, presented to a
SUMMARY OF THE INVENTION
40
user in an embodiment of the invention to alloW the user to
pump, or transfer, image data;
A method and system are described herein that provide a
user With the capability to easily transfer and share images
betWeen tWo different display devices, or locations, With
possibly different display characteristics. In an embodiment,
FIG. 5 is a How chart illustrating a process used to retrieve
image data from one destination and save it to another
45
destination While applying image data formatting rules in an
embodiment of the invention;
the different locations are on one device. The described
FIG. 6 is a How chart illustrating a process used in an
techniques and system provide enhanced ease of use for the
embodiment of the invention to share images With pre-set
formatting, con?guring, and saving of digital photos of
formatting options;
different siZes and resolutions. In an embodiment, the
present invention enables a user to place images on multiple
FIG. 7 depicts a user interface, or dialog, presented to a
50
devices Without the need to recon?gure, reformat, and
create and manipulate tasks;
resave the image as a neW image ?le. Generally, this is
achieved by providing the ability to set format settings (i.e.
formatting rules and manipulation functions) before an
image ?le is selected.
55
In one embodiment of the invention, a user can save
desired format settings in a single ?le, termed a “pro?le,” at
quickly and easily save an image to a speci?c device and
apply format settings tailored to that device in one embodi
ment of the invention.
In a further embodiment of the invention, the formatting
and transferring of an image to different locations and
devices can be scheduled for automatic periodic execution at
FIG. 8 depicts a user interface, or dialog, presented to a
user in an embodiment of the invention for setting an image
data source;
FIG. 9 depicts a user interface, or dialog, presented to a
user in an embodiment of the invention for setting an image
processing schedule;
or before save time. Each pro?le can be associated With a
speci?c device that a user may Wish to transfer an image to,
and may be named in a Way that facilitates an association in
the user’s mind to the appropriate device. Thus, a user can
user in an embodiment of the invention to alloW the user to
60
FIG. 10 is a How chart illustrating a process used by a
scheduled task to format and transfer image ?les from a
netWork or directory in an embodiment of the invention;
FIG. 11 depicts a user interface, or dialog, presented to a
user in an embodiment of the invention to facilitate task
setting by the user;
65
FIG. 12 depicts a user interface, or dialog, presented to a
user in an embodiment of the invention regarding a sched
uled task;
US 7,117,256 B1
6
5
(removable and/or non-removable) including, but not lim
FIG. 13 depicts a user interface, or dialog, presented to a
ited to, magnetic or optical disks or tape. Such additional
storage is illustrated in FIG. 1 by removable storage 108 and
user in an embodiment of the invention to allow the user to
set format options for a task; and
FIG. 14 depicts a user interface, or dialog, presented to a
non-removable storage 110. Computer storage media
user in an embodiment of the invention in the case Where the
include volatile and nonvolatile, removable and non-remov
able media implemented in any method or technology for
storage of information such as computer readable instruc
tions, data structures, program modules or other data.
user has selected a Directory as the destination for all images
received through the running of a scheduled task.
DETAILED DESCRIPTION OF THE
PREFERRED EMBODIMENTS
Memory 104, removable storage 108 and non-removable
storage 110 are all examples of computer storage media.
Computer storage media includes, but is not limited to,
Turning to the draWings, Wherein like reference numerals
RAM, ROM, EEPROM, ?ash memory or other memory
refer to like elements, the invention is illustrated as being
implemented in a suitable computing environment.
Although not required, the invention Will be described in the
general context of computer-executable instructions, such as
technology, CDROM, digital versatile disks (DVD) or other
optical storage, magnetic cassettes, magnetic tape, magnetic
disk storage or other magnetic storage devices, or any other
medium Which can be used to store the desired information
program modules, being executed by a personal computer.
Generally, program modules include routines, programs,
objects, components, data structures, etc. that perform par
ticular tasks or implement particular abstract data types.
Moreover, those skilled in the art Will appreciate that the
invention may be practiced With any computer system
and Which can be accessed by device 100. Any such com
puter storage media may be part of device 100.
Device 100 may also contain one or more communica
20
With other devices. Communications connections 112 are an
example of communication media. Communication media
con?gurations, including hand-held devices, multi-proces
typically embodies computer readable instructions, data
sor systems, microprocessor based or programmable con
sumer electronics, netWork PCs, minicomputers, mainframe
computers, and the like. The invention may also be practiced
in distributed computing environments Where tasks are
performed by remote processing devices that are linked
25
“modulated data signal” means a signal that has one or more
of its characteristics set or changed in such a manner as to
encode information in the signal. By Way of example, and
30
both local and remote memory storage devices.
In overview, the present invention relates to methods and
systems for transferring and sharing image data in an
ef?cient and user-friendly Way. More speci?cally, certain
embodiments provide for the transfer and sharing of images
structures, program modules or other data in a modulated
data signal such as a carrier Wave or other transport mecha
nism and includes any information delivery media. The term
through a communications netWork. In a distributed com
puting environment, program modules may be located in
tions connections 112 that alloW the device to communicate
not limitation, communication media includes Wired media
such as a Wired netWork or direct-Wired connection, and
35
betWeen tWo devices or locations, Wherein the format set
Wireless media such as acoustic, RF, infrared and other
Wireless media. As discussed above, the term computer
readable media as used herein includes both storage media
and communication media.
Device 100 may also have one or more input devices 114
tings of an image at transfer is associated With base line
display features for the receiving device, freeing a user from
such as keyboard, mouse, pen, voice input device, touch
selecting format options for an image each time the image is
input device, etc. One or more output devices 116 such as a
saved. A user can pre-set formatting rules to be applied each
time any image is saved or transferred to a particular device
40
display, speakers, printer, etc. may also be included. All
these devices are Well knoWn in the art and need not be
discussed at greater length here.
or location. In addition, in one embodiment, the user may
command that the pump application apply arbitrary format
In this embodiment of the invention, We Will refer to an
options to the image data, rather than select or set format
application as the “pump application.” The term “pump”
settings. A set of format settings includes any manipulation
functions, user-entered settings, etc., used to process, print,
store, and/or manipulate data.
45
In general, there are a number of Ways provided for a user
In one embodiment, the user names each set of saved
format settings, so that subsequent uses of a particular set of
format settings can be achieved by simply choosing the
indicates a process of moving, or pumping, images from one
location to another While applying transformations.
50
to initiate the pump application described herein, such as by
clicking on a graphic pump icon presented on the desktop of
a PC, or if the pump application is integrated With the
appropriately named format pro?le. Typically, a user Would
operating system, by right clicking on an image of interest
name the set of format settings to correspond to a device that
or on an icon associated thereWith. Once the pump appli
the format settings are designed to accommodate, thus
cation is running, and an associated dialog box presented,
alloWing a user to quickly and easily format and save
the user may select a ?le menu option presented in the dialog
box and open an image ?le into the pump application.
subsequent images to the device.
55
Alternatively, the user may drag and drop an image ?le icon
into the pump application dialog box. At that point the user
With reference to FIG. 1, one exemplary system for
implementing embodiments of the invention includes a
computing device, such as computing device 100. In its most
is presented With numerous options under a ?le menu
including an option to pump an image on demand. Once the
basic con?guration, computing device 100 typically
includes at least one processing unit 102 and memory 104.
60
Depending on the exact con?guration and type of computing
device, memory 104 may be volatile (such as RAM),
illustrated in FIG. 4. If the user instead selects format
pro?les from the Edit menu, the user is presented With the
format pro?les dialog illustrated in FIG. 2. If the user clicks
non-volatile (such as ROM, ?ash memory, etc.) or some
combination of the tWo. This most basic con?guration is
illustrated in FIG. 1 Within line 106. Additionally, device
100 may also have additional features/functionality. For
example, device 100 may also include additional storage
user selects this option, he is presented With the dialog
either “New” button 202 or “Edit” button 203, the user is
65
presented With the format settings dialog in FIG. 3. HoW
ever, in one embodiment, a user may select a format pro?le
from the list in dialog box 201 and invoke this format pro?le
US 7,117,256 B1
7
8
by actuating the “OK” button 207. Each of these activities
and options Will be discussed in greater detail hereinafter.
display resolution of 100x50 pixels, unless otherWise speci
?ed by the user. Similarly, selecting GroW to SiZe Will
expand an image With a display resolution of 10x20 pixels
Generally, a user of a PC or other display device retrieves
an image from a ?rst location. The user may retrieve the
image data from any one of a number of sources, such as via
to a display resolution of 50><100 pixels to better ?t on a
device With a display resolution of 100x100 pixels.
scanning of a photograph, via transfer from a capture device
Once the user invokes either resiZe function, the user may
such as a digital camera, via transfer from a ?le system
stored in either non-volatile or volatile memory or storage,
Wish to ?ll the pixels that are left empty because of the image
resiZing due to the unchanged image aspect ratio. To do so,
or via a ?le stored on a node of a netWork. The user Will
the user invokes the padding function by checking padding
box 317. The “Change” button 318, When selected, alloWs
often desire to manipulate the image data or format the
image data for display on a second device or location, such
as a digital picture frame.
the user to alter the color of the padding. The user optionally
may align the image data to pad the image in different
con?gurations. To do so, the user simply speci?es Whether
If the user Wishes to save format settings for use in the
future, the user may access a user interface (UI), such as that
Edit menu associated With the main dialog. This dialog
to align the image right, left, or center, on the horiZontal
scale by use of drop doWn menu 320, and Whether to align
the image to the top, bottom, or center, in vertical drop doWn
illustrated in FIG. 2 alloWs a user to create a format pro?le.
menu 319.
The use of a point and click system pictured is one possible
UI, but a skilled artisan Will recogniZe that there are many
in the resulting image ?le. For example, the jpeg standard
depicted in FIG. 2, by selecting “format pro?les” from the
types of interfaces that Would alloW a user to invoke the
functions of this method.
Available format pro?le attributes settable by the user
include a pro?le name and pro?le settings, Which are chosen
through a setting dialog, such as that pictured in FIG. 3.
Once the user creates a format pro?le, the format pro?le
dialog box, as pictured in FIG. 2, alloWs the user to easily
The user may also specify that a thumbnail be embedded
20
25
image to give the image a photographic feel. In the embodi
ment illustrated in FIG. 3, the user creates such a margin via
the margin dialog box 306. To construct the margins, the
30
user ?rst chooses to create a margin by checking box 321,
then speci?es margin dimensions by entering the desired
dimensions in data ?elds 322325 for top, left, right, and
bottom, respectively. The “Change” button 326, When
the user to create a neW format by invoking a dialog box that
saves a pro?le by name as Will be discussed hereinafter. By
selecting the “Edit” button 203, a user invokes an edit
dialog, Which alloWs a user to edit an existing format pro?le,
according to the user’s choice from a pro?le list 201. This
alloWs a user to edit both the pro?le name and the pro?le
respectively.
The user may also Want to create margins around the
and quickly perform image manipulation according to the
saved pro?le by simply identifying that pro?le, such as by
name, prior to transfer or saving of image data.
The “New” button 202, When activated by the user, alloWs
alloWs a smaller resolution image to be Written to the ?nal
?le for optimiZing the display on certain devices. In the
embodiment illustrated in FIG. 3, the user checks thumbnail
box 309 and sets thumb Width and thumb height by entering
a desired height and Width in data ?elds 310 and 311,
selected, alloWs a user to choose the color of the created
35
margin.
Other formatting options are preferably made available to
settings through a pro?le settings dialog box, such as that
the user as Well. In an embodiment, the user is given the
illustrated in FIG. 3.
A user can delete an existing format pro?le by using the
“Delete” button 204. In order to use this function, the user
ability to rotate an image in order to transfer the image data
to a device With different resolution aspects. For example,
the user may choose to transfer image data from a display
device With a display resolution of 640x480 pixels to a
40
preferably ?rst selects a pro?le from the pro?le list 201 and
then invokes the delete function by clicking the “Delete”
button. The user applies a format pro?le to an image by
selecting the format pro?le and clicking a graphic actuator,
such as “OK” button 207.
45
In one embodiment, the format settings dialog, as illus
trated in FIG. 3, alloWs a user to specify settings When the
user creates a neW format pro?le or edits a pre-existing
pro?le selected from the dialog box illustrated in FIG. 2.
This dialog alloWs a user to pre-set all his format settings for
50
quick and easy saving.
In particular, referring to the Format Settings dialog
illustrated in FIG. 3, a user has the option of setting
numerous graphic display rules and invoking numerous
manipulation functions such as a resiZing function, a rotat
55
device that has limited memory, the user can choose to have
the image data compressed. In order to have the image data
compressed to the appropriate degree, the user speci?es that
the image be compressed, as Well as the degree of compres
ing function, a padding function, a compression function,
and any other available functions. For example, if the user
desires to set a target siZe, the user invokes the resiZing
function and sets the target Width and target height by
entering a desired height and Width in the target Width ?eld
display device With a display resolution of 240x320 pixels.
The user resiZes the display resolution of the image and
rotates the image to better ?t the display device resolution
characteristics by selecting the rotate function. The user
selects “Rotate to SiZe” via check box 314, speci?es a
direction through the use of drop doWn menu 315, be it
clockWise or counterclockWise, and speci?es the desired
image height and Width in data ?elds 307 and 308, respec
tively. Selecting this option Will cause the image to be
resiZed to the user speci?ed target Width and height and
rotated ninety degrees in the speci?ed direction in order to
better display the image on the second device.
If the user is saving or transferring the image ?le to a
sion, by selecting the compression depth in drop doWn menu
307 and the target height ?eld 308. The user invokes the
resiZe function by either checking the “Shrink to Size” box
316 under JPEG settings dialog 304, as depicted in FIG. 3.
Those of skill in the art Will recogniZe that other base line
formatting options not set forth herein may be applied in the
312 or “GroW to SiZe” box 313. Both of the resiZing
above-described manner Within the scope of the invention.
60
functions maintain the aspect ratios of the images. Thus, for
example, if the user Wishes to shrink an image With a display
resolution of 200x100 pixels to ?t on a device With a display
resolution of 100x100 pixel, the image Will be resiZed to a
65
In addition, those of skill in the art Will recogniZe that in
this embodiment some of the above examples (compression,
thumbnails) are speci?c to the JPEG ?le format and stan
dards. HoWever, this functionality may be applied to any
US 7,117,256 B1
10
other image ?le format or standard, such as graphics inter
correspond to a netWork image, such as a Web image, then
change format (gif) and portable document format (pdf). In
in step 504 the image is copied from the appropriate local
?le. Those of skill in the art Will appreciate that the image
one embodiment, format settings might include other com
mon image processing functionality, such as cropping an
image to a desired siZe, Where to crop, lighten, darken, etc.
data may not correspond to a netWork image or a local ?le,
but rather may be accessible via a non-netWork connection,
such as via a serial port of the user’s PC. In such a case, the
As previously stated, typical image processing and trans
pump application recogniZes this at step 502 from an exami
nation of the identi?cation of the image data, and retrieves
the data via the connection in an alternative step (not shoWn)
fer mechanisms require the user to choose certain format
settings at save time, and perform certain manipulation
functions prior to save time in order for an image to be
properly formatted for a particular device or location. HoW
to steps 503 and 504.
ever, the pump application alloWs the user to save the format
In step 505, the pump application applies the appropriate
settings previously discussed in a format pro?le. Subse
quently at image save time, the user simply selects the
desired format pro?le to apply the format pro?le operations
format settings for the ?rst destination to the initial image
?le that is retrieved. Typically, the user applies format
settings previously saved in a format pro?le that Was pre
viously speci?ed. As discussed hereinafter, the user can set
the format pro?le through the use of a drop doWn menu 403,
and rules to the image data being saved or transferred. This
ability saves a user time by alloWing him to save a properly
formatted image Without the need to choose values for, and
as illustrated in FIG. 4. The user can also specify that a neW
apply, all appropriate image data manipulation operations
format be con?gured by selecting the “Format” button 404.
Accordingly, after the format settings are applied to the
?rst image, the pump application copies, or saves, the
properly formatted image ?le to the proper destination in
step 506. The reader Will appreciate that during the process
shoWn in FIG. 5, the originally retrieved image data may be
each time the user Wishes to manipulate, save, or transfer the
image data.
20
Turning to FIG. 5, a How chart shoWing the steps of the
image pumping function Within an embodiment of the
invention is illustrated. Initially, in step 501, the pump
application on the personal computer 100 retrieves an iden
ti?cation of the image data and information regarding a
25
destination from the user. In a further embodiment, the user
saved as a temporary ?le, Whereupon the format settings and
manipulation functions may be applied to this temporary ?le
to develop the properly formatted ?le to be copied or saved
speci?es multiple destinations and format settings in this
to the selected destination in step 506. In a further embodi
initial step. The user may enter these destinations in the
pump dialog or, in an embodiment Where a task is being
ment, the application also applies these transformations to a
copy of the image in memory.
In step 507, the pump application determines Whether the
user speci?ed multiple destinations and, if so, it determines
the next destination for the image. If the user had chosen a
directory as a destination, the user may have either: (1)
entered a directory in the directory dialog 406 or (2) broWsed
implemented, the destinations are speci?ed in the attributes
of the task, discussed fully hereinafter. The destination
30
information preferably includes the desired image format
ting rules, as speci?ed by the user or as speci?ed in a pro?le
selected by the user, and the identity of the target device.
There are a number of different methods usable to initially
35
the ?le system for a desired directory by selecting the
40
“Browse” button 407. In this manner, the pump application
determines Whether there is another set of format settings for
and destination to Which to send the image ?le, and if so,
What the destination and format settings are. If it is deter
mined that there is another destination and format, the pump
retrieve the subject image data. If the image data is already
on the saving or transferring user’s PC, such as in the
non-removable storage 110, the ?le is simply retrieved from
the appropriate ?le on the storage 110. If the image data
resides on a netWork, such as the Internet, that the user’s PC
application executes step 507 and the steps that logically
is connectable to, the image data is retrieved over the
netWork by a doWnloading operation, such as via the http,
folloW. OtherWise, the process terminates at step 510.
The logical process loop shoWn in FIG. 5 at step 507 et
https, ftp or other netWork protocol. Another possible source
of image data is an image source device connected to the
user’s PC 100, such as through a serial port interface.
Retrieval from such a device may be by Way of any
communication mode usable betWeen the external device
and the PC. One skilled in the art Will recogniZe that there
seq. thus alloWs the user to send an image to multiple
45
to different formats and destinations until all speci?ed
destinations have been served.
are many Ways to retrieve a ?le from a location, and the
examples set out above are presented for purposes of clari
50
FIG. 4 depicts a user interface for invocation by the user
of the process depicted by the How chart of FIG. 5. In this
embodiment, the image is only formatted and saved to one
destination. Initially, the user identi?es the image to be
?cation and are not meant to limit the scope of the invention.
In step 502, the pump application examines the identi?
cation of the image data and determines Whether or not the
image is a netWork image, such as a Web image, depending
upon the address or ?le name, such as that entered by the
user in source dialog box 401, to be used to retrieve the
image data. In an exemplary embodiment, the user may also
destinations and apply multiple format settings Without
re-invoking the pump application. In particular, as shoWn,
the pump application sequentially processes the image data
55
pumped in source ?eld 401. To accomplish this, the user can
insert in the source ?eld 401 the name of the ?le that is to
be pumped. Alternatively, a user can activate button 402 to
access a broWse facility Whereby the user can vieW all ?les
specify a ?lename by selecting the “Browse” button 402,
accessible by the personal computer 100 in order to ?nd the
Which, When selected, alloWs the user to search a ?le system
?le or ?les to pump. This embodiment demonstrates the
and click on the name of a ?le to select that ?le. A skilled 60 ability to enter a URL or ?le name as the source of the
artisan Will recogniZe that there are other methods usable to
retrieve an image from a scanner, other capture devices, etc.
image. In this embodiment, the user also speci?es the
applicable format pro?le or pro?les at this time.
The destination option ?eld 405 illustrated in FIG. 4 and
discussed in the How chart of FIG. 5 contains the description
In step 502, if the pump application determines that the
image data corresponds to a netWork image, i.e. an image
residing on a node of the Internet or other netWork, then the
netWork image is doWnloaded at step 503. If at step 502 the
pump application determines that the image data does not
65
of the image ?le save target. This destination can be any one
of a number of different locations, but, in one exemplary
embodiment, tWo generaliZed destinations to Which the