Abstract:
A system for controlling effects performed on an image includes a digital camera having a display that displays the image. A masking tool positions a graphical representation on the display, the graphical representation defining a portion of the image that is altered when the effects are applied to the image. The masking tool is positioned over a masked portion of an image and an effect is applied. The effect is applied on the image inside the masked portion.

Description:
CROSS REFERENCES RELATED TO THE APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 11/948,889 filed Nov. 30, 2007, now U.S. Pat. No. 7,587,100, which is a continuation of U.S. patent application Ser. No. 11/273,055 filed Nov. 14, 2005, now U.S. Pat. No. 7,391,929, which is a continuation in part of U.S. patent application Ser. No. 09/782,235 filed Feb. 12, 2001, now U.S. Pat. No. 7,027,663, which claims the benefit of U.S. Provisional Application No. 60/181,778 filed Feb. 11, 2000. 
    
    
     FIELD OF THE INVENTION 
     This invention relates generally to graphical editing technologies, and more particularly, to controlling applications of effects by using masking tools. 
     BACKGROUND OF THE INVENTION 
     With the increasing popularity of computing and the use of the Internet in many fields, the ability to control computers and similar devices in a simple, convenient manner has become extremely important. However, existing interfaces to computers and similar devices can be cumbersome and complicated. 
     In particular, many users of graphical editing programs would benefit from an improved interface used to control the application of various special effects onto an image. For example, graphical editing programs would benefit from improved control of the application of the effects with respect to the intensity and the area of the image that is being subjected to modification by application of the effect 
     Some software applications implement mask tools that are similar to applying a cut out or stencil to protecting area of the underlying image. They also implement control that applies effects only to a localized area, similar to a street paint tool. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The embodiments of the invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate these embodiments. 
         FIG. 1A  illustrates an exemplary system implemented with an embodiment of the invention. 
         FIG. 1B  illustrates a network overview of the present invention. 
         FIG. 1C  illustrates a basic processor of the present invention. 
         FIG. 2A  illustrates an embodiment of a masking tool operating in accordance with the invention. 
         FIG. 2B  illustrates another embodiment of a masking tool operating in accordance with the invention. 
         FIG. 2C  illustrates another embodiment of a masking tool operating in accordance with the invention. 
         FIG. 3  illustrates an exemplary embodiment of a selection process for the masking tool of  FIGS. 2A-2C . 
         FIG. 4  illustrates an exemplary embodiment of a customization process for the masking tool of  FIGS. 2A-2C . 
         FIG. 5  illustrates a flow diagram of one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     In the following detailed description of the embodiments of the invention, references are made to the accompanying drawings in which like references indicate similar elements, in which, is shown by way of illustration of specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
     A. General System Architecture 
     Beginning with an overview of the operation of the invention,  FIG. 1A  illustrates a system  100  which can control the effects of image manipulation according to one embodiment of the present invention. System  100  includes server  101  and one or more clients  103 . Stored in memory resident within server  101 , a typical software application  104  is an image-editing package adapted to manipulate images provided by client  103 . The operations of software application  104  may be controlled by server  101  or through control information from client  103 . Within the software application  104 , an effects block  110  and a masking tool block  112  reside. These “blocks” denote a collection of one or more instructions, including but not limited to a routine, function, or any other process. The effects block  110  applies a specific effect to the image and the masking tool block  112  selectively limits the area of the image which is modified by the effects block  110 . 
     As shown in  FIG. 1B , client  103  may establish communications with server  101  through a wide area network. For instance, client  103  may communicate directly with an Internet Service Provider (ISP) that communicates with server  101 . 
     A client  103  represents any device that may enable user&#39;s online access to information. Illustrative examples of a “client” may include, but are not limited or restricted to a digital camera, a stand-alone device to view images inclusive of a kiosk, a hand-held image viewing device (e.g., portable computer, personal digital assistant, iPOD® or other music/video/image viewing device, etc.), a camera cellular phone, and the like. In this embodiment, client  103  may provide a user interface to communicate information to the user. It should be noted that although  FIG. 1A  illustrates only two modules performing the above functionality, more or less modules may be used to perform this functionality. 
     One exemplary embodiment of client  103  is a digital camera  140  that is illustrated in  FIG. 1C . For this embodiment, digital camera  140  includes a processor  150 , a memory  155  and an input/output device  160  coupled to a bus  165 . Input/output device  160  includes an interface to establish a wired or wireless communication path with server  101 . Memory  155  is configured to store images that are captured by digital camera  140  and processed by processor  150 . 
     Memory  155  encompasses various types of computer readable media, including any type of storage device that is accessible by processor  150 . One of the skilled the art will immediately recognize that the term “computer readable media” encompasses any suitable storage medium such as a programmable electronic circuit, any type of semiconductor memory device such as a volatile memory (e.g., random access memory, etc.) or non-volatile memory (e.g., read-only memory, flash memory, etc.), a hard drive disk, or any portable storage such as a floppy diskette, an optical disk (e.g., compact disk or digital versatile disc “DVD”), memory stick, a digital tape or the like. 
     Of course, it is appreciated that digital camera  140  may be controlled by operating system software including instructions executed by processor and stored in internal memory. Also, software application  104  may be implemented within memory  155  or another memory component that is integrated within processor  150  or external to processor  150  in lieu of or in addition to such storage within server  101 . Thus, the digital camera  140  may perform masking operations and applying effects to the image directly. 
     As a first illustrative example, software application  104  may be loaded into server  101  to perform the masking and application of effects on an image as described below. These masking operations are controlled by the digital camera  140 . According to a second illustrative example, the software application  104  may be loaded within digital camera  140  to perform the masking and application of effects on an image, but the masking tool is fetched by digital camera  140  from memory implemented within server  101 . According to a third illustrative embodiment, a high-resolution image targeted for manipulation is loaded on server  101  while a low-resolution image loaded in digital camera  140 . In response to selected operations on the low-resolution image, corresponding operations are performed on the high-resolution image. 
     B. Embodiments of the Masking Tool 
       FIG. 2A  illustrates a first embodiment of a masking tool as described in block  112  of  FIG. 1A . Display  200  represents a sample screen while utilizing the software application  104  ( FIG. 1A ). A masking tool  210  is shown on the display  200 , where masking tool  210  features one or more graphical representations. These graphical representations may be have a predetermined shape and size and/or may be set by the user to produce a customizable graphical representation. The predetermined forms of masking tool  210  may be preloaded into the digital camera during manufacturer or downloaded from a source over a network connection. The customized graphical representations of masking tool  210  may be stored within digital camera upon completion by the user, and may be transmitted to the server  101  for storage. 
     For instance, as shown in  FIG. 2A , the embodiment of masking tool  210  is translucent and is defined by the clear outline. The masking tool  210  allows a selective application effects from the effects block  110  ( FIG. 1A ) by moving the masking tool  210  with respect to a static image as shown on the display  200 . The portion of the static image as shown on the display  200  which is within the masking tool  210  is not modified by the application of the effects. This static image may be still image or an image from a video stream. 
     Furthermore, the masking tool  210  is capable of being dynamically moved with respect to the static image during the application of the effects. This allows the user to selectively apply the effect by interactively moving the mask tool simultaneously while applying the effect. 
     Another embodiment includes a masking tool that is able to interact directly with a localized image editing operation. For example, the masking tool may become entirely transparent in the immediate area where a user is currently applying an image effect. This allows the user to see the entire area that is mask without a mask or line obstructing the immediate work area. 
       FIG. 2B  illustrates a second embodiment of masking tool  215  represented on display  200 . Masking tool  215  shows the portion within masking tool  215  to have a cross-hatched shading. Any type of shading can be utilized to illustrate the portion within the masking tool. 
       FIG. 2C  illustrates a third embodiment of the masking tool represented on display  200 . According to this embodiment, the shape of the masking tool can be easily created and modified. For example, within the display  200  there are a first masking tool  220 , a second masking tool  230  and a third masking tool  240 . Each of the first, second and third masking tools ( 220 ,  230 , and  240 ) have differing sizes and may function independently or may be combined to form a single masking tool. Naturally, this specific example utilizes three portions to form independent or combined masking tools and any number of portions may be utilized to accomplish the same. 
     Like masking tools that take different sizes, masking tools may also take any multitude of shapes. The masking tools may simulate the use of a fixed edge such as a French Curve. The shape of the mask tool is infinitely changeable. Furthermore, the user may mask as much area of the image as desired and perform a global image effect on the entire image while protecting portions of the image from the image effects with the masking tools. 
       FIG. 3  illustrates an exemplary embodiment of a screen display  300  featuring icons  310  representing various shapes for the masking tool. According to this embodiment, upon execution, a masking tool  320  is selected from icons  310  corresponding to a plurality of masking tool with graphical representations, namely different fixed shapes and sizes. Such selection may be accomplished by cycling through a series of masking tool icons  310  displayed on screen display  320  of a digital camera  330  using at least one control button  340  of digital camera  330 . Alternatively, although not shown, such selection may be accomplished through a menu displayed on screen display  300  of digital camera  330 , where the menu illustrates images or lists textual descriptions of the plurality of masking tool types. The selection of the menu entry is also controlled by control button(s)  340 . 
       FIG. 4  illustrates an exemplary embodiment of customization of the masking tool is shown. Display  200  of client  103  features an image  400 . Using a stylus  410 , for example, a pattern  420  is traced over image  400  illustrated by display  200 . Upon completion of an enclosed pattern, a determination is made whether the area within the enclosed pattern  420  is selected to be the masking tool, illustrated in a transparent form, or whether the area outside the enclosed pattern  420  constitutes the masking tool. For instance, upon touching stylus  410  within a first area  430 , namely the area within enclosed pattern  420  is considered to be the masking tool. As a result, when applied, an effect will be applied to the portion of image  400  outside first area  430  while no effect is applied inside first area  430  outlined by the masking tool. The transparent nature of the masking tool allows the user to see the lack of effects applied to the masked area. However, upon touching the stylus within a second area  440 , namely the area outside enclosed pattern  420 , any effect will be applied to the portion of image  400  inside first area  430  because the masking tool now covers second area  440 . 
     C. Operations of the Masking Tool 
       FIG. 5  illustrates a flow diagram. At block  500 , the application software  104  ( FIG. 1A ) is initiated. The user may build, create, and/or modify the shape and size of the masking tool in Block  510 . The user may position the masking tool relative to the static image (Block  510 ). The user may position the masking tool relative to the static image (Block  520 ). The user may apply the image effect selectively to the image that is not masked by the masking tool (Block  530 ). The user may dynamically reposition the masking tool while simultaneously applying the image effect (Block  540 ). 
     Although specific embodiments have been illustrated and described herein, will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for specific embodiments shown. This application is intended to cover any of the adaptations of variations of the present invention. 
     The terminology used in this application with respect to network architecture is meant to include all client/server environments. Therefore it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.