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