Abstract:
The invention provides an intelligent photo printer that enables a user to select a desired image enhancement algorithm that is suitable for a particular printer, download the algorithm to the printer and, if necessary makes a usage payment to the algorithm provider. Algorithm enhancements include such features as, color effects, red eye removal, image enhancement, adding logos and watermarks, adding text, and adding borders.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims priority to U.S. provisional patent application Ser. No. 60/619,614 submitted Oct. 18, 2004, which application is incorporated herein in its entirety by this reference thereto. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Technical Field  
         [0003]     The invention relates generally to the enhancement of printing devices. More specifically, the invention relates to the selective download of algorithms to a photographic printer for the purpose of enhancing the printer&#39;s image processing capabilities.  
         [0004]     2. Description of the Prior Art  
         [0005]     Recently, printers have become commonly available with practically every personal computer. The low price of ink-jet printers that provide color printing, together with the availability of high quality printing paper, have provided consistently higher quality printing. Advancements in digital photography in a variety of resolutions have also given the average user the ability to capture digital images and print them on demand at their convenience. Printers have become sophisticated and have significant processing power and memories, thus allowing them to handle the complex printing requirements of images in general, and photographic images in particular.  
         [0006]     As shown in  FIG. 1 , printers, such as printer  120 , may connect to a network  110  directly, or via a computer  130  ( 135 ), for example a personal computer (PC), connected to the network. Such printers can communicate with a server connected to the network for a variety of purposes described in prior art, including for example, updating of fonts, firmware, receiving print data, and the like. Some printers are also capable of receiving data through a memory slot for direct printing of images from a memory card of, for example, a digital camera. Such printers may have a small screen that allows the user to perform certain printing functions in connection with the photographs in the memory card.  
         [0007]     In the processing of images, a multitude of algorithms is commonly used to handle various aspects of the image to be printed. These algorithms provide among others, resolution enhancement, visual effects, colour rendering and more. However, with the advancement of photo printers there is a need in the art to provide a more flexible architecture to allow for the update of image processing algorithms that allow effective preferably automatic manipulation, of an image to be printed. It would be advantageous if this need would be resolved in such a way that would allow a provider of an algorithm to charge a fee for the use, or license thereof, of an algorithm. It would also be preferable if such algorithm would have a life meter to determine the maximum use time of the algorithm.  
       SUMMARY OF THE INVENTION  
       [0008]     The invention provides an intelligent photo printer that enables a user to select a desired image enhancement algorithm that is suitable for a particular printer, download the algorithm to the printer and, if necessary makes a usage payment to the algorithm provider. Algorithm enhancements include such features as, color effects, red eye removal, image enhancement, adding logos and watermarks, adding text, and adding borders. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]      FIG. 1  is a block diagram showing an exemplary network having at least a printer and server connected thereto;  
         [0010]      FIG. 2  is a block schematic diagram of intelligent photo printer controller having means for algorithm updates in accordance with the disclosed invention; and  
         [0011]      FIG. 3  is an exemplary flowchart showing algorithm download and control in accordance with the disclosed invention 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0012]     The presently preferred embodiment of the invention comprises a photo printer that is equipped with an intelligent photo printer controller which may be updated by any of various algorithms that provide additional imaging processing features to the printer. The algorithms may be downloaded selectively from, for example, a Web site of a provider of such algorithms and, if so required, the user can pay for a license that allows the use of such algorithm and cause the photo printer to install the algorithm for such use. In one embodiment of the disclosed invention, a user may exceed the downloaded algorithm either a predetermined number of uses or for a predetermined time interval before the usage license expires.  
         [0013]      FIG. 1  is a block schematic diagram showing a network  110  that connects between various elements of a printing network system  100 . Such networks are known in the art. A printer  120  may have direct access to network  110  thereby allowing, for example, a personal computer (PC)  130  to print over the network  110  on a network printer  120 . The PC  130  may also have a local printer  135  connected to it through an internal means of connection, such as a serial bus, parallel bus, universal system bus (USB), wireless connection including but not limited to Bluetooth, WiFi, WiMax, and the like.  
         [0014]     It is now common for photo printers to have a display and, hence, the network printer  120  may also have a display, optionally having touch screen capabilities, as well as a keyboard that allows for its independent operation. This is suitable, for example, to fit the purpose of printing photographs from a memory card inserted into one of its memory card slots. A server  140  is also shown connected to the network  110  to allow, for example, the server  140  to send a print job to the network printer  120 . The server  140  may, for example, be a host of a Web site at which a plurality of image processing algorithms are available in accordance with the disclosed invention and as further detailed herein below.  
         [0015]      FIG. 2  shows an intelligent photo printer controller  200  comprising a digital signal processor (DSP)  210 , a microcontroller  220 , a communication control  230 , and a print control  240 , all of which are connected to a system bus  215 . Also, connected to in this embodiment is a read only memory (ROM)  270 , a non-volatile memory (NVM), and a random access memory (RAM)  290 , typically comprised of, but not limited to, static RAM (SRAM) or double data rate (DDR) memory devices. In one embodiment of the invention, these elements are integrated as a single semiconductor device  205 , but they could be comprised of several semiconductor devices. The microcontroller  220  is further, optionally, connected to a display  250  and a keyboard  260 . The display  250  may, optionally, be equipped with touch screen capabilities. The DSP  210  is capable of communicating with the NVM  280  for the purpose of executing certain image processing algorithms that are stored in the NVM  280 . The NVM  280  is preferably configured to allow it to be loaded with new algorithms, to allow algorithms to be removed from the NVM  280 . The NVM  280  is capable of storing usage information concurring each algorithm, as discussed in more detail below.  
         [0016]     Under supervision of the microcontroller  220  it is possible to communicate with a server, for example a server  140 , to download an algorithm from the server  140 , through the communication control  230 , and into the NVM  280 . In one embodiment of the invention, if the algorithms are intended for a single use only, the algorithm is downloaded into a RAM  290 . In yet another embodiment of the invention, if the memory space available on-chip in the semiconductor device  205  is not sufficient for an algorithm, external memory devices may be added to the semiconductor device  205  to achieve the same goals. To access the server, the keyboard  260  and the display  250  may be used, under the control of the microcontroller  220 , operating under built-in code, typically stored in a ROM  270 . In another embodiment of the invention, access to the server is performed under the control of a PC, for example the PC  130 . Once an algorithm is downloaded into the NVM  280  of the intelligent photo printer controller  200 , an image may be printed using the desired image processing, including the features provided by the newly downloaded algorithm.  
         [0017]      FIG. 3  is a flow diagram showing where an exemplary and non-limiting method for the download of an algorithm to the NVM  280  of the intelligent photo printer controller  200 . In step S 310 , a list of potential algorithms is received over the network, for example the network  110 , from a server, for example the server  140 . In step S 320 , an algorithm is selected for downloading purposes. A person skilled-in-the-art would note that while the download of a single algorithm is discussed in this example, it is within the scope of the disclosed invention to download a plurality of algorithms to, for example, the NVM  280 . In one embodiment of the invention, a comparison is performed between the available amount of memory in, for example, the NVM  280 , and the amount of memory required by the image processing algorithm selected to be downloaded. Corrective action may be taken if there is insufficient memory space available. In step S 330 , a check is made to determine whether payment is required for the selected algorithm and, if so, then in step S 340  a plurality of steps respective of the necessary payment are performed; otherwise, execution continues with step S 350 .  
         [0018]     In accordance with the invention, a server  140  may contain a plurality of image processing algorithms for execution in conjunction with the capabilities of the DSP  210 . A user uploading algorithms to the server  140  may wish to be compensated for the use of the developed algorithm and, hence, the need to include a payment charging step in the process of downloading the algorithm into an intelligent photo printer controller  200 . Payment options may include a single use license, a life-time use license, a time based license, for example, use for a period of twelve months, or a quantity based license, for example, for printing twenty images using the downloaded image processing algorithm. Similar to the updating capabilities of the image processing algorithms, a person skilled-in-the-art would note that it is possible to extend this approach with regard to the licensing and/or selling of the rights to use the downloaded algorithm by updating the firmware used by the microcontroller  220 .  
         [0019]     In  FIG. 3 , in step S 350  the selected algorithm is downloaded into a memory, for example, the NVM  280 , into an available memory slot. In one embodiment of the invention, this ends the execution of the method and the method can be repeated as desired. In another embodiment of the invention, execution continues with steps S 360  through S 390 , and in yet another embodiment, these steps are a separate algorithm executed when necessary. In step S 360 , a desired printout is printed, for example a photograph, using the downloaded algorithm. In step S 370 , a check is performed to determine whether the algorithm usage permit has expired and, if so, execution continues with step S 380 ; otherwise, execution continues with step S 390 , where the usage information concerning the algorithm is updated. In step S 380  the algorithm for which a usage permit has expired is removed from, for example, the NVM  280 , thereby preventing additional use of the algorithm. In another embodiment, the algorithm is not actually removed from memory but is disabled from further use and, hence, is deemed unavailable to a user of the intelligent photo printer.  
         [0020]     In accordance with the disclosed invention there are also provided a compiler and an emulator for the use of those who develop the image processing algorithms discussed above. The developer develops the code in a computer language, for example C, and compiles the result into a low-level code suitable for running on the DSP of the disclosed system. The code is then emulated using the emulator that is capable of emulating the execution of the native code of the DSP, and a result as provided. If the result is satisfactory, such code can be made available to a user in the ways discussed above for the purpose of download for use on a local or networked printer.  
         [0021]     Accordingly, although the invention has been described in detail with reference to a particular preferred embodiment, persons possessing ordinary skill in the art to which this invention pertains will appreciate that various modifications and enhancements may be made without departing from the spirit and scope of the claims that follow.