Abstract:
A method is disclosed. The method includes receiving a print job to be printed, determining if the print job is to be processed according to a formula based workflow and invoking formula based International Color Consortium (ICC) profiles to perform color transformations if the print job is determined to be processed according to the formula based workflow.

Description:
FIELD OF THE INVENTION 
       [0001]    This invention relates generally to the field of printing systems. More particularly, the invention relates to implementing a formula based workflow in a color management workflow. 
       BACKGROUND 
       [0002]    Growth in color management has resulted in an increase in software packages that are used to generate International Color Consortium (ICC) profiles. ICC profiles describe color attributes of a particular device or viewing requirement by defining a mapping between a source or target color space and a Profile Connection Space (PCS), such as either CIELAB (L*a*b*) or CIEXYZ. 
         [0003]    A fundamental design of an ICC-based color managed workflow is the use of the PCS as an independent space between all devices, which has an advantage of requiring the characterization of the relationship between only the device and the PCS. A connection to any other device may then be made through the PCS. 
         [0004]    However, if another device does not use an ICC-based color managed workflow (e.g., red, green blue (RGB) to cyan, magenta, yellow, black (CMYK) conversion), matching the color transformations of this device becomes much more difficult, especially if the device is using formulas independent of the characteristics of the device such as paper type, toner color, or ink density. 
         [0005]    These non-color managed workflows often have no configurability and may differ from one printer or print server to the next. Moreover, a system that performs color management has no ability to implement a device dependent formula based workflow. 
         [0006]    As a result, a mechanism for implementing a formula based workflow in a color management workflow is desired. 
       SUMMARY 
       [0007]    In one embodiment, a method is disclosed. The method includes receiving a print job to be printed, determining if the print job is to be processed according to a formula based workflow and invoking formula based International Color Consortium (ICC) profiles to perform color transformations if the print job is determined to be processed according to the formula based workflow. 
         [0008]    In another embodiment, a printer is disclosed. The printer includes a control unit to process and render a print job and a color management unit to perform color transformations for received print jobs. The color management unit includes formula based International Color Consortium (ICC) profiles invoked by the control unit to perform a device dependent transformation on the print job using a color managed workflow upon indication that the print job is to be processed according to a formula based workflow. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which: 
           [0010]      FIG. 1  illustrates one embodiment of a printing system; 
           [0011]      FIG. 2  illustrates one embodiment of a control unit; 
           [0012]      FIG. 3  illustrates one embodiment of a components implemented at a formula based profile system; and 
           [0013]      FIG. 4  is a flow diagram illustrating one embodiment of a process for performing color management. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    A mechanism for implementing a formula based workflow in a color management workflow is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of the present invention. 
         [0015]    Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. 
         [0016]      FIG. 1  illustrates one embodiment of a printing system  100 . Printing system  100  includes a print application  110 , a server  120  and printer  130 . Print application  110  makes a request for the printing of a document. In one embodiment, print application  110  provides AFP, PS and PDF files for printing to print server  120 . 
         [0017]    Printer  130  includes a control unit  150  and a print engine  160 . According to one embodiment, control unit  150  processes and renders objects received from print server  120  and provides sheet maps for printing to print engine  160 .  FIG. 2  illustrates one embodiment of a control unit  150 . Control unit  150  includes a rasterizer  200 . 
         [0018]    Rasterizer  200  is implemented to process image objects received at control unit  150  by performing a raster image process (RIP) to convert an image described in a vector graphics format (e.g., shapes) into a raster image (e.g., pixels) that is to be stored as scan line data in a memory array (not shown) for output to print engine  160 . 
         [0019]    Rasterizer  200  includes a color management unit  210  that provides a color mapping from a source to a destination color space. In one embodiment, color management unit  210  uses ICC profiles to perform a color managed workflow by mapping to determine CMYK values for each pixel in a particular object to be printed at print engine  160 . According to one embodiment, color management unit  210  includes ICC profiles  215 , color lookup tables (CLUTs)  216  and formula based profiles  218 . 
         [0020]    ICC profiles  215  include various profiles used to print full color print jobs. CLUTs  216  support ICC profiles  215  and formula based profiles  218  used in printer  100  to enable the use of different color transforms, where each transform is tailored for a different effect. According to one embodiment, each profile includes up to 6 CLUT&#39;s, three for input (e.g., AtoB tables to convert from device space to PCS, and three for output (e.g., BtoA tables to convert from PCS to device space). 
         [0021]    In one embodiment, formula based profiles  218  perform a formula based workflow while implementing an ICC color workflow. In such an embodiment, formula based profiles unit  218  manipulates the ICC format using a shaping matrix to convert RGB to CMYK based on a process. The first step of the process includes converting RGB to CMY by setting Cyan channel=100% Red channel; Magenta channel=100% Green channel; Yellow channel=100% Blue channel; and Black channel=minimum of Cyan, Magenta, Yellow channels. The second step includes processing the Cyan, Magenta, and Yellow channels based on the Black channel. The final step includes converting CMY to CMYK by computing black generation on the black channel based on a nominal black value. 
         [0022]      FIG. 3  illustrates one embodiment of components implemented by a formula based profile  218  to perform the above-described process. In one embodiment, an input ICC profile  310  uses the PCS to convey the first step of the converted RGB to CMY, rather than CIELab or CIEXYZ. A color module  320  performs the second step of processing the Cyan, Magenta, and Yellow channels based on the Black channel. 
         [0023]    According to one embodiment, color module  320  performs the CMY to CMYK transformation based on modifications of the Cyan, Magenta, and Yellow channels. In one embodiment, color module  320  may perform the CMY to CMYK conversion using one of Under Color Removal (UCR), Gray Component Replacement (GCR), ink limited secondary colors, black only gray point, etc. 
         [0024]    In a further embodiment, each of the options for the profile is stored in the BtoA tables of CLUTs  216 . The options are used to change the device response based upon a selected a rendering intent corresponding to each option. In other embodiments, the processing performed by color module  320  may be bypassed. However, bypassing color module  320  may result in saturated colors with a maximum of 400% ink usage. 
         [0025]    An output ICC profile  330  conveys the CMY to CMYK transformation based upon a color processing option indicated by rendering intent. Referring back to  FIG. 2 , control unit  150  identifies and controls print jobs that are to perform a formula based workflow. In this embodiment, control unit  150  invokes one of formula based profiles  218  whenever a print job is identified having to perform a formula based workflow. 
         [0026]    In one embodiment, a print job is selected for formula based processing by an operator using a Graphical User Interface (GUI)  170  at printer  130 . In such an embodiment, the operator selects a particular formula based profile to be used, along with the rendering intent, which invokes control unit  150  to select the corresponding profile  218 . 
         [0027]    In another embodiment, the operator may select one of a list of print job jobs at GUI  170 , where each print job is designated as either color managed or formula. Upon selection of the print job control unit  150  invokes one of ICC profiles  216  or formula based profiles  218  based upon the selection. In other embodiments, the selections may be made at print application  110  and transmitted through server  120  to printer  130  via the print job data stream. 
         [0028]      FIG. 4  is a flow diagram illustrating one embodiment of a process for performing color management at printer  103 . The process may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (such as instructions run on a processing device), or a combination thereof. In one embodiment, the process is performed by color management unit  210  described with respect to  FIG. 2 . 
         [0029]    At processing block  410 , a print job is received at printer  103 . At decision block  420 , it is determined whether the print job implements a formula based workflow. If so, one of formula based profiles  218  is invoked as discussed above with reference to  FIG. 3 , processing block  430 . If it is determined that the print job implements a color managed workflow, one of color profiles  215  is invoked, processing block  340 . 
         [0030]    The above-described mechanism enables a printer that typically uses a color managed workflow to perform device dependent transformations that implement formula based color modifications. 
         [0031]    Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components. 
         [0032]    Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) via a communication link (e.g., a modem or network connection). 
         [0033]    Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.