Abstract:
In accordance with the present invention, a system and method are described for producing pure gray tones on a multi-color document output device that includes a system for operating on device independent color data having multiple color components, which color data corresponds to one or more associated electronic documents. The system and method function to extract gray data by the use of tristimulus values in a range specified by a functional relationship of a selected tristimulus value.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The application pertains generally to the art of color image rendering, and more particularly to image rendering which extracts true or pure gray values, that is near neutral levels, from a color image represented in a multi-dimensional color coordinate scheme. It will be appreciated that the subject application is particularly advantageous in generating renderings of electronic documents, and will be described with particular reference thereto. However, it will be appreciated that the subject system is applicable to any image rendering operation which would benefit by extraction of color information for generation of multi-bit halftone images that correspond to both a pallet of an image file and to rendering capabilities of a document processing device.  
         [0002]     Earlier color image rendering systems frequently employ images that are described numerically relative to primary color components. Such color components are suitably additive in nature, such as red-green-blue (RGB), or subtractive, such as cyan, yellow, magenta (CYM), the latter of which is frequently coupled with a black color (K), referred to as CYMK or CYM(K). Many images rendered from such color descriptions include image portions which are gray. Gray objects that are rendered with multiple colors will typically lose edge definition and might have mis-registration artifacts, such as rainbowing. It is recognized that extraction of such gray information for rendering with a single color, such as black, can improve image quality and increase integrity of aspects such as edge generation. Furthermore, it is frequently less expensive and more expeditious to use a single, black color generator to render a gray, rather than multiple blends of color which require additional processing and added ink or toner use. While the preferred embodiment herein corresponds to gray extraction and rendering, it will be appreciated that the concepts disclosed herein are applicable to extraction and rendering of any image component that corresponds to a rendering capability of an associated document processing device.  
         [0003]     There are three basic ways that a gray is typically produced on a printer, such as using all four colors on a four color printer, by way of example. A first method employs a composite coloration scheme employing a balance of primaries, such as cyan, magenta and yellow colorants. A second method employs multi-color composites. By way of example, this is suitably comprised of cyan, magenta, yellow and black. A third option is to form a gray coloration solely by use of a single color, typically black. While a four color gray generation approach may provide darker, richer gray values, this is often at a cost of sharpness in edges and lines due to a large amount of toner needed in the overlaying of the four colors. In a typical system that employs the alternative, black color gray generation, a better edge definition is realized in edges and lines, but at a sacrifice of a production of as dark or rich a gray value. A particular choice as to which technique to use to render grays is frequently dependent on a selected object that is to be rendered, such as text, image, graphic stroke, graphic fill, and the like. Further, practical considerations, such as cost and speed, may govern which method is to be employed for generation of a gray level output.  
         [0004]     The concepts disclosed herein are better appreciated with an understanding of numeric models used to represent images, and image colorization, in image processing or rendering applications. CIE L*a*b* (CIELAB or Lab) is frequently thought of one of the most complete color models. It is used conventionally to describe all the colors visible to the human eye. It was developed for this specific purpose by the International Commission on Illumination (Commission Internationale d&#39;Eclairage, resulting in the acronym CIE). The three parameters (L, a, b) in the model represent the luminance of the color (L, by example, a low value, such as L=10 indicates a yields black and a high value such as L=95 indicates a white), its position between red and green (a, negative values indicate green, while positive values indicate red) and its position between yellow and blue (b, negative values indicate blue and positive values indicate yellow). Under the model, a maximum white occurs when illuminant is L*=100. Typically, the whitest possible paper is around 95 or 96. A value of L*=0 is absolute black, which value is generally not obtainable, except in an absolutely dark room or “black hole”. A more typically realized black is at an L* value in the range of 5-20.  
         [0005]     The Lab color model has been created to serve as a device independent reference model. It is therefore important to realize that visual representations of the full gamut of colors in this model are not perfectly accurate, but are used to conceptualize a color space. Since the Lab model is three dimensional, it is represented properly in a three dimensional space. A useful feature of the model is that the first parameter is extremely intuitive: changing its value is like changing the brightness setting in a TV set. Therefore only a few representations of some horizontal “slices” in the model are enough to conceptually visualize the whole gamut, wherein the luminance is suitably represented on a vertical axis.  
         [0006]     The Lab model is inherently parameterized correctly. Accordingly, no specific color spaces based on this model are required. CIE 1976 L*a*b* mode is based directly on the CIE 1931 XYZ color space, which sought to define perceptibility of color differences. Circular representations in Lab space corresponded to ellipses in XYZ space. Non-linear relations for L*, a*, and b* are related to a cube root, and are intended to correlate well with the response of the eye. Coloring information is referred to the color of the white point of the system.  
         [0007]     One of the first mathematically defined color spaces was the CIE XYZ color space (also known as CIE 1931 color space), created by CIE in 1931. A human eye has receptors for short (S), middle (M), and long (L) wavelengths, also known as blue, green, and red receptors. One need only generate three parameters to describe a color sensation. A specific method for associating three numbers (or tristimulus values) with each color is called a color space, of which the CIE XYZ color space is one of many such spaces. The CIE XYZ color space is based on direct measurements of the human eye, and serves as the basis from which many other color spaces are defined.  
         [0008]     In the CIE XYZ color space, tristimulus values are not the S, M and L stimuli of the human eye, but rather a set of tristimulus values called X, Y, and Z, which are also roughly red, green and blue, respectively. Two light sources may be made up of different mixtures of various colors, and yet have the same color (metamerism). If two light sources have the same apparent color, then they will have the same tristimulus values irrespective of what mixture of light was used to produce them.  
         [0009]     It would be advantageous to have a system that works on a defined color space, such as the XYZ color space, and extracts gray information for rendering on a single color, such as black, referred to herein as a “true gray” rendering.  
       SUMMARY OF THE INVENTION  
       [0010]     In accordance with the present invention, a system and method are described for producing single color or pure gray tones on a multi-color document output device that includes a system for operating on device independent color data having at least three color components, which color data corresponds to one or more associated electronic documents. The system and method function to extract gray data from such a device independent color data description in accordance with tolerance values associated with a selected component value. Such resultant data, inclusive of a color data portion rendering and a gray portion rendering, is thus completed in device independent form.  
         [0011]     In accordance with a more limited aspect of the present invention, there is taught a system and method for producing single color or pure gray tones by calculating a function of values of the at least three color components falling within a tolerance range that is either calculated as a function of a single tristimulus value or pre-stored in a lookup table.  
         [0012]     In accordance with a more limited aspect of the present invention, there is taught a system and method for producing gray tones which includes conversion of modified device independent data to that associated with the specified color space corresponding to at least one document processing device.  
         [0013]     An advantage of the present invention is the provision of a system by which true gray image aspects may be extracted from an image described in multi-dimension color space.  
         [0014]     Another advantage of the present invention is the teaching of a system which accomplishes extraction of true gray color aspects in device independent space.  
         [0015]     Yet another advantage is the provision of an image rendering system which provides extraction of true gray color aspects with improved image characteristics.  
         [0016]     Still other advantages, aspects and features of the present invention will become readily apparent to those skilled in the art from the following description wherein there is shown and described a preferred embodiment of this invention, simply by way of illustration of one of the best modes best suited for to carry out the invention. As it will be realized, the invention is capable of other different embodiments and its several details are capable of modifications in various obvious aspects all without departing from the scope of the invention. Accordingly, the drawing and descriptions will be regarded as illustrative in nature and not as restrictive. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     The subject invention is described with reference to certain figures, including:  
         [0018]      FIG. 1  which is an overall system diagram of a gray extraction and rendering system in connection with the subject invention;  
         [0019]      FIG. 2  is a flow diagram relative to gray extraction employed in the subject invention;  
         [0020]     FIGS.  3 ( a ) and  3 ( b ) illustrate alternative embodiments of obtaining tolerance values, using a lookup table and calculated values, respectively, employed by the subject invention; and  
         [0021]     FIGS.  4 ( a ) and  4 ( b ) illustrate functional relationships and discrete values, respectively, associated with tolerance values used in gray extraction employed by the subject invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0022]     Turning now to the drawings wherein the showings are for purposes illustrated in the preferred embodiment only, and not for the purpose of limiting the same.  FIG. 1  illustrates an overall system diagram for the gray scale extraction as contemplated herein.  
         [0023]     In  FIG. 1 , color rendering system A illustrates an electronic document processing system employing extraction of gray information in accordance with the subject invention. An electronic document is received at  10 , which document is suitably obtained from an application, such a word processing application, image editing application, drawing application, image creation application, etc. Input is suitably in any format, by way of example including portable document format (PDF), *.doc, TIFF, JPG, etc. A received electronic document is communicated to a gray extraction system  12 , the details of which will be described below. Once processed, data is communicated to a document renderer  14  for generation of a bitmapped image. Once completed, an output is suitably generated to allow a user to view the resultant document. Such output is suitably by a visual display terminal, or transitioned into a hard copy output, suitably obtained from a printer, such as a color laser printer, inkjet printer, etc.  
         [0024]     Single color gray scale generation, or black-only neutral coloration, allows for lessened toner pile height, and results in a rendering or generation of text or graphic images that appear sharper and smoother. Additionally, renderings benefit from a reduction of mis-registration artifacts on neutral text and graphic stroke objects.  
         [0025]     Image data from which gray scale information has been extracted is suitably communicated to a suitable color output device, such as laser printer, inkjet printer, dot matrix printer, and the like. Although the illustration is made in connection with an input as a scanning device and an output as printer, it is to be appreciated that a suitable digital image will be realized from any suitable input device, such as a digital camera, applications such as a drawing package, or receipt via input from an e-mail or storage device. Conversely, a suitable output can be a plotter, storage, transmission, and the like as will be appreciated by one of ordinary skill in the art.  
         [0026]     Turning now to  FIG. 2 , illustrated is a block diagram showing conversion suitably completed at the computer system  14  of  FIG. 1 . In  FIG. 2 , color input, such as that illustrated by the electronic document input  10  of  FIG. 1 , is communicated to a color space array  20 . In a typical conversion, a color-rendering path, such as used in an image path of the PostScript specification, data from the color space array is communicated directly to a color converter  22 . In the example of a PostScript conversion, a color conversion in color converter  22  is typically accomplished with a color rendering dictionary.  
         [0027]     The subject system accomplishes determination of gray state from numeric color representation information. As will be appreciated from the description below, this separation is suitably accomplished at the color input level, at an intermediate level between the color space array and the color converter, or at the device color output level. For the reasons detailed below, it is particularly advantageous to extract gray information at the intermediate level, and via gray extraction system  24 , as illustrated in  FIG. 2 .  
         [0028]     Document imaging devices which are able to generate tonal values corresponding to more than one level are advantageously used such that a threshold value of an array is used completely between available output levels. In the subject system, a lower output of two possible values is chosen in the event an image input value is less than a selected threshold value. If an image value is greater than or equal to the threshold, a value which is higher of two output values is advantageously generated.  
         [0029]     In determining a gray for particular color components, a determination is suitably made depending upon the location in a color conversion pipeline that a test determination is to be made. In an arbitrary three color system, components of which are suitably referred to as C 1 , C 2  and C 3 . A gray level is assumed to exist at a point where all components are assumed to be equal. However in this instance, a resultant gradation of gray level utilizing variations between the color components does not always hold true. This is particularly true for colors based on the CIE system described above. The subject invention is made in connection with the CIE color space. However, it is to be appreciated that any suitable color space, such as the International Color Consortium (ICC) space, Windows Color System (WCS) space, and the like, which is operable in a device independent profile connection space is suitable.  
         [0030]     In a CIE color specification, the color space is typically converted by means of a color space array  20  into intermediate values, such as X, Y and Z values, such as illustrated in  FIG. 2 . Once so converted, it is then converted to a device specific output format such as red, green, blue (RGB); cyan, yellow and magenta, (CYM) or CYM with a black component, CYMK. This is suitably completed via a color rendering dictionary which forms a typical conversion mechanism employed in the art. This output, in turn, forms device color input to a rendering device as illustrated in  FIG. 1 . As noted above, it is to be appreciated that a determination of a suitable gray value is suitably performed at an input stage, prior to color space array  20 , at an intermediate or XYZ stage as illustrated in  FIG. 2  at gray extraction  24 , or an output stage which is converted to a device dependent format after output of the color converter  22 .  
         [0031]     Considering the conversion option taken at the input stage, colors are suitably specified in a CIE based color space with a RGB type. Such gray levels are generally given by a condition wherein R=G=B, provided that input values have not been generated by a high precision calculation. In the event that image input is from a scanning device, or generated by a relatively low precision calculation, a definition of a gray color is not so easily defined. In some cases, a CIE color specification is made in a luminance-chrominance such as YCC (luminance Y, red chrominance C r , blue chrominance, C b ), CIE L*u*v* (designed for emissive colors and to be perceptually uniform), CIE L*a*b, noted above, and the like. Therein, a gray criteria will resemble a format such as C 2 =C 3 =0 in order to define a gray having a value determined by the C 1  component. Other than in situations wherein an input CIE color space is predetermined or is limited to known spaces, a gray determination at an input color value is generally not practical for a general case.  
         [0032]     In accordance with the foregoing, the subject invention teaches a conversion and extraction of a true gray value at an intermediate XYZ stage as illustrated in the preferred embodiment of  FIG. 2 . Conversion herein is advantageously chosen to occur in the XYZ space, (and not the more customary LAB space) insofar as: (1) it is an available parameter from the device independent image path, and (2) it avoids expensive processor overhead (clock cycles) required in a calculation of LAB values from those of XYZ space. The reason it is an available parameter is that the PostScript CSA emits tristimulus XYZ values. Therefore, the algorithm uses XYZ directly.  
         [0033]     In a typical application, an intermediate stage is formed between a color space array and color rendering dictionary, as used as a color converter by an Adobe Systems PostScript rendering mechanism as will be appreciated by one or ordinary skill in the art. As noted above, it is to be appreciated that such conversions are suitably employed, such as International Color Consortium (ICC) conversion, Microsoft Windows Coloring System (WCS), or any system employing a color system path wherein an operation is suitably accomplished in a profile connection space (PCS).  
         [0034]     Typically, a larger tolerance value is required insofar as an output of a multi-dimensional look-up table will not have precision to determine gray colors with sufficient accuracy. In the event that the color converter  22  incorporates a color-rendering dictionary that been constructed to include linearization and gray balance, that is, constructed from direct measurement data with linear transfer functions, then gray determination is not typically feasible at a color rendering dictionary output. This is attributed to the fact that equal amounts of toner or ink will not produce neutral gray and proportions of toner required to yield a gray are difficult to ascertain in advance for any particular printer.  
         [0035]     A suitable color converter incorporates a color rendering dictionary to facilitate conversion from an XYZ space to a color palette associated with an associated output device. As noted above, the subject invention teaches gray extraction at this intermediate level, and is therefore accomplished between the color space array  20  and color converter  22 . This extraction is completed at gray extraction mechanism  24 , which receives multi-dimensional color information, such as XYZ. A modified multi-dimensional description, with gray scale information extracted therefrom, is defined as (XYZ). This modified value is communicated to a color converter  22  for conversion to a format associated with a selective output device.  
         [0036]     Turning to  FIG. 3 , alternative embodiments of a suitable gray extraction mechanism  24  is provided in greater detail in FIGS.  3 ( a ) and  3 ( b ). Gray isolation, as noted above, is completed at an intermediate stage between a color space array and a color converter, such as a color rendering dictionary in connection with a postscript embodiment.  
         [0037]     In the embodiment of  FIG. 3 ( a ), XYZ input is received into the gray isolation system, as noted above, along with source illuminant values X w , Y w  and Z w . All ICC profiles and color space arrays provide a definition of the white point as a (required) parameter. Therefore, X w , Y w  and Z w  values are provided by this means. For the case of ICC profiles, the white point is set at a D50 illuminant value. For a PostScript color space array, its value is unspecified. The value is provided as a parameter. A selected tristimulus value, in the preferred embodiment tristimulus value Y, is communicated to a lookup table  30 , which lookup table returns tolerance values t x (Y) and t z (Y) which have been pre-stored therein and correspond to the received Y value. Suitable tolerance values will be described in more detail, below.  
         [0038]     Tolerance values from lookup table  30 , along with the received XYZ input, are communicated to a gray determination calculation means  32  for gray level extraction in accordance with the inputs in accordance with the function: 
 
|( X/X   w   −Y/Y   w )|&lt; t   x ( Y ); and 
 
|( Z/Z   w   −Y/Y   w )|&lt; t   z ( Y ). 
 
         [0039]     In the forgoing, both parameters must be satisfied in the preferred embodiment in order to ascertain that any associated pixel is in an extractable, or true, gray level within the prescribed tolerance.  
         [0040]     It is to be appreciated that t x  and t z  represent tolerances that allow an area around absolute gray to be defined as true gray. That is, while absolute gray is defined as a*=b*=0.0, true gray may have an a*=2 and b*=2. This is variable. An input to the process of determining the function (lookup table determined using a computer program) is the a*b* tolerance within which the pixel is defined as true gray.  
         [0041]     It will be noted that ordering of the differences |X/X w −Y/Yw| or |Z/Z w −Y/Y w | is inconsequential insofar as the absolute value thereof is unchanged. A calculated value (XYZ)′ thereby includes extracted gray information within the tolerance range, and forms an output to color converter  22  ( FIG. 2 ). It will be appreciated that the differences are both made with respect to Y/Y w . Thus, the tolerance values are advantageously calculated with respect to the tristimulus Y value. It is also contemplated that other relationships, such as |X/X w −Z/Z w | are also suitably used when coupled with a corresponding tolerance function.  
         [0042]      FIG. 3 ( b ) illustrates an alternative embodiment wherein the lookup table  30  of  FIG. 3 ( a ) is replaced with a functional calculator or calculation means  34 . This serves to calculate tolerance values (Z/Z w −Y/Y w ) in accordance with a selected functional relationship corresponding to a component input, such as that Y in the preferred embodiment. Functionality of gray isolation calculation is completed with means  32 ′ as noted in connection with  FIG. 3 ( a ), above, which values are suitably calculated or obtained by use of a look-up table, the later of which typically bears a speed advantage due to elimination of processor overhead required for calculation.  
         [0043]      FIG. 4  illustrated in greater detail obtaining of the tolerance values noted in connection with  FIG. 3 , above. It will be appreciated that tolerance functions are calculated relative to near neutrality in XYZ space.  FIG. 4 ( a ) illustrates suitable values used an interpolation scheme to derive the values in  FIG. 4 ( b ), which figure shows suitable lookup table values.  
         [0044]     It will be appreciated from the forgoing that the subject application teaches a system by which extractable grays information is advantageously isolated from a multi-color representation. This affords an image rendering which has increased edge definition, and is more efficiently rendered than systems in which all available colors are utilized for gray color representation.  
         [0045]     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.  
         [0046]     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.