Abstract:
A method for processing an image. The method includes receiving an image having image values and described in a first color space and determining the image color space from a received image. Image values in the first color space are associated with values in a second color space so as to generate associated image values. Values in the second color space are converted to a third color space for display, wherein the third color space differs from the second color space by including additive primary colors.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention is directed to a system and method for processing an image. More specifically, the present invention is directed to a method of generating additive primary colors from PostScript code to drive a visual display.  
         [0002]     A primary application of the PostScript language is to describe the appearance of text, graphical shapes, and sampled images on printed or displayed pages according to the Adobe imaging model. More specifically, a program in the PostScript language communicates a description of an image or document from a composition system to a printing system or control the appearance of text and graphics on a display. Within the PostScript language, colors are suitably specified in a variety of ways including: grayscale, red, green, and blue (RGB), cyan, magenta, yellow, and black (CMYK), and Commission Internationale de l&#39;Eclairage-based (CIELab).  
         [0003]     Furthermore, a duotone is the result of a method to colorize a grayscale image or to create a visual special effect. The term “duotone” refers to an image reproduced with two colorants. A duotone differs from a spot color. A spot color is defined by coordinates in a color space. In contrast, a duotone is defined by either a vector from a white point to the maximum saturation value defined by the spot color coordinates in that color space, a plane defined by the vector of two colors, or, in the case of three or more spot colors, a three dimensional gamut defined by the vector of the three spot colors from white to each saturation value.  
         [0004]     Duotone use represents one of the more difficult color reproductions in image generation, particularly in the values of each colorant used. In addition to duoton, monotones, one color, tritons, three colors, and quadtones, four colors, are also known for image generation. The term quadtone is often times confusing. In some instances, a quadtone refers to an image reproduced with four spot colorants. In other instances, a quadtone is used by photographers to describe images produced in 4, 6, and 7 shades of black and gray colorants on an inkjet printer or offset press. As used herein, the term duotone will be used to refer to an image produced with any number of colorants. Susan: Photoshop users can use primary colors.  
         [0005]     As mentioned, an original intent of the PostScript language, and of a duotone, is to prepare data contained in a grayscale image for reproduction with user selected colorants, such as a number of black and spot or match colorants. However, it is also useful to prepare these images for reproduction on printers having cyan, magenta, yellow, and black (CMYK) colorants and for display on red, green, and blue (RGB) monitors. Therefore, a conversion from named colorants to device colorants is desirous. Moreover, there is a need for a system and method for generating additive primaries for visual display, such as in a monitor with red, green, and blue (RGB) data being generated from PostScript code.  
       SUMMARY OF THE INVENTION  
       [0006]     In accordance with the present invention, there is provided a system and method for processing an image. Further, in accordance with the present invention, there is provided a system and method that generates monitor red, green, and blue (RGB) data from PostScript code.  
         [0007]     Still further, in accordance with the present invention, there is provided a system for processing an image. The system includes means adapted for receiving an image having image values and described in a first color space, means adapted for determining the image color space from a received image, means adapted for associating the image values in the first color space to values in a second color space so as to generate associated image values, and means adapted for converting the associated values in the second color space to a third color space for display, the third color space differing from the second color space by including additive primary colors.  
         [0008]     In a preferred embodiment of the preset invention, the image is described in the PostScript language and the third color space is the red, green, and blue (RGB) color space.  
         [0009]     In another embodiment of the present invention, a three-dimensional look up table (LUT) created in CIELab color space is used for looking up, referencing, and/or converting colorant values.  
         [0010]     Still further, in accordance with the present invention, there is provided a method for processing an image. The method comprises the steps of receiving an image having image values and described in a first color space and determining the image color space from a received image. The method further includes associating the image values in the first color space to values in a second color space so as to generate associated image values and converting the associated values in the second color space to a third color space for display, the third color space differing from the second color space by including additive primary colors.  
         [0011]     In a preferred embodiment of the present invention, if the image is determined to be a grayscale image, the method further includes the steps of requesting linearization curves, requesting colorants, obtaining CIELab values, and associating gray levels with steps in CIELab. If the image is determined not to be a grayscale image, the method further includes the steps of converting the image to a grayscale image, requesting linearization curves, requesting colorants, obtaining CIELab values, and associating gray levels with steps in CIELab. Similarly, if the image is determined to be a duotone, the method further includes the steps of reading colorants, converting the image values to CIELab values, and associating gray levels with steps in CIELab.  
         [0012]     These and other aspects, advantages, and features of the present invention will be understood by one of ordinary skill in the art upon reading and understanding the specification. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]     The subject invention is described with reference to certain parts, and arrangements to parts, which are evidenced in conjunction with the associated drawings, which form a part hereof and not, for the purposes of limiting the same in which:  
         [0014]      FIG. 1  is a block diagram illustrative of the system of the present invention; and  
         [0015]      FIG. 2  is a flowchart illustrating a method for processing an image in accordance with principles of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0016]     The present invention is direct to a system and method for processing an image. In a preferred embodiment, the present invention is directed to a method of generating monitor red, green, and blue (RGB) data from PostScript code.  FIG. 1  is a block diagram illustrating an exemplary environment for practicing the present invention. System  100  comprises an image generating device  102  and a hardware platform  104 . The image generating device  104  is placed in data communication with the user interface  102  as generally indicated at reference numeral  106 . More specifically, and in some embodiments of the present invention, the image generating device  102  is placed in data communication with the hardware platform  104  through electrical coupling provided by a cable  106 . In other embodiments of the present invention, the image generating device  102  is placed in data communication with the hardware platform  104  using a network (not shown).  
         [0017]     Image generating device  102  is any device capable of generating image outputs in a tangible medium, such as, for example, a printer, a facsimile machine, a scanning device, a copier, a multifunctional peripheral device, or other like peripheral devices. Image generating device  102  generally comprises a processor  108 , a memory  110 , and a tangible medium generating mechanism  112 . Processor  108  and memory  110  store and execute program code to control tangible medium generating mechanism  112  such that image generating device  102  has one or more functions including, but not necessarily to limited to, printing, faxing, scanning, and copying.  
         [0018]     In some embodiments of the present invention, processor  108  and/or memory  110  are suitably referred to as a raster image processor (RIP). In a preferred embodiment of the present invention, processor  108  and memory  110  store and execute program code written in the PostScript language.  
         [0019]     Tangible medium generating mechanism  112  includes hardware that allows the mechanism  112  to produce images and/or documents in a tangible medium in one of a number of different color spaces. For example, in some embodiments of the present invention, mechanism  112  includes hardware that produces grayscale images. In other embodiments of the present invention, mechanism  112  includes hardware that produces duotone images. Typically, the term “duotone” refers to an image reproduced with two colorants. As used herein, the term “duotone” refers to an image produced with any number of combinations of non-primary colorants. Thus, the term “duotone” includes monotones, tritones, quadtones, etc. In yet other embodiments of the present invention, mechanism  112  includes hardware that produces images in color spaces other than grayscale and duotone images.  
         [0020]     Hardware platform  104  suitably comprises a central processing unit  114 , a display screen or monitor  116 , a keyboard  118 , and a mouse  120 . Central processing unit  114  includes a processor  122  and a memory  124  for storing and executing program code. Keyboard  118  and mouse  120  are used to input data, while monitor  116  is used to view or display data, such as images and/or documents.  
         [0021]     In various embodiments of the present invention, monitor  116  includes hardware that uses a number of primary colorants. For example, in a preferred embodiment of the present invention, monitor  116  includes hardware that produces red, green, and blue (RGB) primary colorants. In numerous other embodiments of the present invention, a suitable user interface  102  is a personal computer, a laptop computer, a mainframe computer, a computer terminal, or the like. Standing alone, or in combination, image generating device  102  and hardware platform  104  provide a system  100  for processing an image.  
         [0022]     In view of the foregoing structural and functional features described above, methodologies in accordance with various aspects of the present invention will be better appreciated with reference to  FIG. 2 .  FIG. 2  is a flowchart illustrating a method  200  for processing an image according to the present invention. More specifically,  FIG. 2  shows an exemplary method of processing a grayscale or duotone image for display. For example, such an image is suitably generated on image generating device  102  and displayed on monitor  116 , both of which are shown in  FIG. 1 .  
         [0023]     While, for purposes of simplicity of explanation, the methodology of  FIG. 2  is shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some aspects suitably, in accordance with the present invention, occur in different orders and/or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect of the present invention.  
         [0024]     In addition, methodologies of the present invention are suitably implemented in software, hardware, or a combination of software and hardware. In one embodiment, for example, method  200  is stored as a computer-readable medium in memory  110  and executed by processor  108  of image generating device  102 , shown in  FIG. 1 .  
         [0025]     Referring now to  FIG. 2  at  202 , the image generating device  102  receives image data representing a source image. In one embodiment, the processor  108  of the image generating device  102  generates a three-dimensional look up table (LUT) is created in the CIELab color space as defined by the Commission Internationale de l&#39;Eclairage (CIE). The look up table is characterized by an ability to calculate  256  steps from any coordinate position in the look up table (LUT) to white. The look up table (LUT) is used to look up, reference and/or convert colorants as will be described hereinafter.  
         [0026]     In other embodiments of the present invention, one or more formulas are suitably used to define a CIELab color space. However, those of ordinary skill in the art will appreciate that a look up table (LUT) is used to ease processing and/or improve processing speed. In yet other embodiments, a look up table or formulas suitably similarly define other color spaces.  
         [0027]     At  204  an image, such as a PostScript image, having values and described in a color space is analyzed and the color space of the image is determined. If the image is determined to be a grayscale image, processing proceeds to  206 , and if the image is determined to be a duotone, processing proceeds to  224 . Again, the term “duotone” refers to an image produced with any number of non-primary colorants. Similarly, if the image is determined to be other than a grayscale or duotone image, processing proceeds to  220 .  
         [0028]     If the image is determined to be a grayscale image, a request is made for linearization curves at  208 . In a preferred embodiment, such a request is made using a curves interface. At  210 , a request is made for colorants. In a preferred embodiment, the request is made using a list of colorants, e.g., Pantone, interface, and the like. Moreover, the listing includes the colorant name and the colorant CIELab value. At  212 , CIELab values are obtained from the list of colorants.  
         [0029]     At  214 , each gray level in the image data is associated with a corresponding step in CIELab. At  216 , each image data point defined in CIELab is converted to the red, green, and blue (RGB) color space. In one embodiment, the conversion is performed using a preselected formula. In another embodiment, the conversion is preformed using a look up table, such as an International Color Consortium (ICC) profile. At  218 , the image is displayed.  
         [0030]     In other embodiments of the present invention, each image data point defined in CIELab is converted to the primary colors of other color spaces. Thus, the present invention is not limited to particular primary colors in particular color spaces. Rather, the red, green, and blue (RGB) color space is merely used for purposes of illustration since monitors typically include hardware that produces red, green, and blue (RGB) primary colorants.  
         [0031]     If the image is determined not to be a grayscale image, as indicated at  220 , the image is converted to a grayscale image at  222 . The conversion is performed using any suitable method known to those skilled in the art. For example, in one embodiment, the conversion is performed using a formula. In another embodiment, the conversion is performed using a look up table (LUT), e.g. an International Color Consortium (ICC) profile. Processing then continues as before beginning at  206 .  
         [0032]     If the image is determined to be a duotone, e.g., a PostScript duotone, as indicated at  224 , the colorants list is read from the header of the image data at  226 . Processing then continues to  212  and proceeds as discussed above.  
         [0033]     Thus, system  100  and method  200 , shown and described in conjunction with  FIGS. 1 and 2 , respectively, generates monitor red, green, and blue (RGB) data from PostScript code.  
         [0034]     The invention extends to computer programs in the form of source code, object code, code intermediate sources and object code (such as in a partially compiled form), or in any other form suitable for use in the implementation of the invention. Computer programs are suitably standalone applications, software components, scripts or plug-ins to other applications. Computer programs embedding the invention are advantageously embodied on a carrier, being any entity or device capable of carrying the computer program: for example, a storage medium such as ROM or RAM, optical recording media such as CD-ROM or magnetic recording media such as floppy discs. The carrier is any transmissible carrier such as an electrical or optical signal conveyed by electrical or optical cable, or by radio or other means. Computer programs are suitably downloaded across the Internet from a server. Computer programs are also capable of being embedded in an integrated circuit. Any and all such embodiments containing code that will cause a computer to perform substantially the invention principles as described, will fall within the scope of the invention.  
         [0035]     The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to use the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.