This disclosure relates to a computer-assisted process in which a designer may predict the appearance of a desired multi-colored pattern on a substrate that is generated using precisely delivered quantities of liquid colorants that are available in only a relatively few colors.  Specifically, this disclosure relates to a process by which a designer, working with a computer-aided design system, can reproduce an arbitrarily colored image using a relatively small palette of colors through the use of dithering and can be provided with an image that accurately predicts the appearance of that image on a specific substrate.  In other embodiments incorporating the process disclosed herein, specific actuation instructions for a specific dye injection machine capable of patterning a moving textile substrate may be generated. 
As is well known in the field of computer graphics, images displayed on a computer cathode ray tube (xe2x80x9cCRTxe2x80x9d) or liquid crystal display (xe2x80x9cLCDxe2x80x9d) or similar device typically are composed of a set of hundreds of thousands of individually addressable pixels or picture elements, each of which may carry a color shade that is selected from, say, 256 shades in a system in which the color is specified in an eight-bit digital system, to over 16 million different shades in a 24-bit system.  These shades are xe2x80x9cconstructedxe2x80x9d by appropriate combinations of three xe2x80x9cprimaryxe2x80x9d color componentsxe2x80x94red, green, and bluexe2x80x94of the color space traditionally associated with such display devices.  As a means of expanding the total number of colors that can be constructed from a given set of available xe2x80x9cprimaryxe2x80x9d colors, various techniques collectively known as xe2x80x9cditheringxe2x80x9d were developed to increase the apparent color range of the displayed image, although these techniques are generally not needed for systems using 16 or more bits. 
In the field of computer graphics, dithering is a term that is used to refer to a class of computer software algorithms that simulate, for display or patterning purposes, a greater number of apparent colors than those actually present on the display or substrate.  These algorithms use techniques that are somewhat similar to the halftone methods that are employed in the printing industry.  In such methods, small areas or xe2x80x9cdotsxe2x80x9d of the process colors (e.g., the colors of the different individual contrasting colorants or dyes available for use) are arranged in close proximity into groups.  These xe2x80x9cdotsxe2x80x9d are directly analogous to the xe2x80x9cpixelxe2x80x9d concept in computer graphics, and corresponding to the smallest area on the substrate in which a quantity of colorant can be precisely and reliably placed. 
When viewed by the unaided eye at a distance such that the eye cannot resolve the individual component dots, the dot grouping takes on a color that is an apparent blend of the colors of the individual dots, and can cause the eye to perceive a color that is different from that of any of the individual dots comprising the dot grouping.  In halftone and dithering methods, the size as well as the color of the individual dots may be varied to assist in achieving the desired colors.  The techniques described herein, however, are applicable whether or not the dot size (or the total quantity of ink per pixel) is varied. 
Consistent with the above, as used herein the term xe2x80x9cpixelxe2x80x9d shall refer to the smallest area or location in a pattern or on a substrate that can be individually addressable or assignable with a given color.  Alternatively, if clear from the context, the term xe2x80x9cpixelxe2x80x9d shall refer to the smallest pattern element necessary to define the line elements of the pattern to a predetermined level of detail, analogous to the pixel counts in imaging device resolution specifications (e.g., 1280xc3x971024). 
The techniques described herein are applicable to the patterning of a variety of substrates, but will be described in terms of an absorbent substrate such as a textile substrate.  Dye application techniques that may be considered include, but are not limited to, silk screen printing, offset printing, and various methods in which a stream of dye is directed onto the substrate surface.  While the techniques described herein can be used in conjunction with a variety of printing systems, they are particularly well suited to systems in which the dyed image is formed by the precise delivery of an individually specified aliquot of liquid dye to a predetermined location (i.e., the pixel to be colored) on the substrate surface.  One such technique for use in patterning textile substrates is described, for example, in commonly-assigned U.S. Pat.  Nos.  4,033,154; 4,116,626; 4,545,086; 4,984,169; and 5,195,043, all of which are hereby incorporated by reference herein.  It should be understood that other textile substrates, such as decorative or upholstery fabrics, or other absorbent substrates, may also be used. 
Machines embodying the patterning techniques described in the above-listed patent documents are particularly well-adapted for patterning textile substrates.  Such machines consist fundamentally of a plurality of fixed arrays of individually controllable dye jets, each array being supplied by a respective liquid dye supply system carrying liquid dye of a specified color (known as a xe2x80x9cprocessxe2x80x9d color).  Because the jets on each array are capable only of dispensing the liquid dye supplied to that array, the maximum number of different colors that can be directly applied to the substrate by the machine (i.e., the maximum number of process colors) equals the number of arrays.  As will be explained below, the number of colors generated on the substrate may be much greater through in situ blending techniques, and the number of colors perceived to be on the substrate might be much greater still, through the use of the dithering techniques disclosed herein. 
The arrays are positioned in parallel relationship, spanning the width of the substrate to be patterned (i.e., generally perpendicular to the direction of web travel).  While the substrate moves along the path, it passes under each of the arrays in turn and receives, at predetermined locations on the substrate surface (i.e., at the pixel locations specified by the pattern data), a carefully metered quantity of dye from one or more of the dye jets spaced along the array.  The control system associated with the machine provides for the capability of delivering a precise quantity of dye (which quantity may be varied in accordance with the desired pattern) at each specified location on the substrate as the substrate moves under each respective array, in accordance with electronically defined pattern information.  An important feature of this system is that a given pixel on the substrate may receive liquid dye from several different arrays, thereby providing for the in situ blending of different dyes on the substrate within the same pixel, resulting in the generation of colors visually distinct from the inherent colors of the individually applied liquid dyes.  It should be noted that the sequential nature of this process, with the second colorant being applied afterxe2x80x94and therefore on top ofxe2x80x94the first colorant, greatly complicates the task of predicting with accuracy the color of the resulting blend of colorants.  Making such predictions is essential if the blended color is to be used with confidence in a dithering algorithm for the purpose of reproducing pattern colors accurately. 
It should be understood that the techniques described herein are not limited to the specific patterning systems described above.  For example, an arrangement of liquid colorant (e.g., dye) applicators, perhaps grouped in terms of color to be applied, may be traversed across the path of a sequentially indexed substrate while dispensing measured quantities of dye.  Although such arrangement is distinct from the fixed array systems discussed above, it is believed that the teachings herein are fully applicable to and adaptable for use with such systems, e.g., screen printing systems, so long as absorbent substrates are used. 
It should be understood that, as used hereinbelow, the term xe2x80x9cconcentrationxe2x80x9d is intended to refer to the relative volumetric absorption of liquid colorant by the substrate, and not the relative dilution or chromophore content of the liquid colorantxe2x80x94i.e.,  a colorant applied to a pixel at a 50% concentration means that pixel has only been saturated to one half its capacity to absorb colorant, and additional colorant(s) may be applied without exceeding the absorptive capacity of the substrate at that location. 
To facilitate the descriptions that follow, four different color-related terms will be used.  The term xe2x80x9ctarget colorxe2x80x9d will refer to the desired color of the pixel as it appears in the design that is to be reproduced on the substrate.  The term xe2x80x9cprocess colorxe2x80x9d will refer to the inherent color of the individual, unblended dye or other colorant that is supplied to each of the individual dye jets comprising a given array, and that may be directly applied in pixel-by-pixel fashion to the substrate.  Note that the same process color may have a different visual appearance on different substrates, due to inherent substrate color, substrate texture, etc. 
The term xe2x80x9cblended colorxe2x80x9d shall be used where quantities of two or more colorants occupy the same pixel-sized location on a substrate; the term xe2x80x9cblended colorxe2x80x9d refers to the color of the physical combination or in situ blending of those two or more colorants, as viewed at the individual pixel level.  In a preferred embodiment, the blended color will incorporate and compensate for the inherent color, if any, of the substrate prior to the application of any colorant, as well as for the construction of the substrate; accordingly, in that embodiment, the term xe2x80x9cblended colorxe2x80x9d refers to the mixture of the colorants as that mixture would appear on the substrate at that pixel-sized location. 
The term xe2x80x9cperceived colorxe2x80x9d shall refer to the color of a small area of a substrate as viewed from a distance such that individual pixels comprising or adjacent to the small area are not readily resolvable by the eye, and the colors of the individual pixels are visually integrated by the eye of the observer to form a visual blend.  An example of perceived color is the color of an area of a pattern comprised of an assortment of different colored pixels (e.g., a uniform mixture of equal numbers of blue and yellow pixels in the form of a random arrangement) which, when viewed at a distance, appear to have a color (e.g., green) that is different from any of the individual pixels included in that pattern area. 
Because of the generally absorbent nature of textile substrates, the creation of various colors on such substrates with liquid dyes, particularly using the dye injection method described above, may involve one or several mechanisms or techniques. 
The most straightforward color formation technique shall be referred to as xe2x80x9csolid shadexe2x80x9d, which involves the application of a single color (i.e., a single liquid colorant) to a pattern area.  Typically, the concentration (in terms of substrate volumetric absorption capacity) is 100%, but may be lower if it is desired to create a lighter color or restrict the migration of dye outside the pixel area. 
As discussed above, xe2x80x9cIntrapixel Blendxe2x80x9d colors are formed by the deliberate application of two different colors (i.e., two different colorants) to the same xe2x80x9ccheckxe2x80x9d or pixel, thereby causing in situ blending of the two colorants within that pixel.  Typically, the concentration (in terms of substrate volumetric absorption capacity) of the applied colorants will sum to no more than 100% to assure normal substrate dye saturation.  For example, a blue and a yellow colorant may each be applied to the same pixel at a 50% concentration. 
A third basic process for forming color within a pattern area involves dithering, wherein individual members of a group of pixels are colored, using one or a combination of process colorants, in a way that, when viewed at a distance, expresses the desired color.  For example, gray may be constructed from black and white print dots, with lighter shades having a higher percentage of white dots, and darker shades a higher percentage of black dots.  Where necessary for clarity, this discussion will distinguish such dithering techniques, which are sometimes associated only with pattern areas in which the color is non-uniform, from halftone techniques, useful in pattern areas in which a continuous or uniform color is desired, in which a group of pixels that collectively express the proper color are tiled, as a repeating unit, into the appropriate areas.  Unless this distinction is made clear, either by statement or by context, the terms halftoning and dithering will have similar meanings. 
In a preferred embodiment, the techniques described herein involve the use of in situ blending of process colors on the substrate, as produced by the sequential application of two (or more) colorants of different colors to the same pixel on the substrate, using the intrapixel blending technique.  By use of this technique, it is possible to produce, for use in a dithering palette, pixels with colors that would be unavailable in the absence of such in situ blending.  By use of such blended colors, it is possible to produce a dithered image that provides for a much better perceived representation of the target colors in the pattern to be reproduced.  Use of such dithered images in conjunction with the dye jet patterning system disclosed herein is believed to produce patterned substrates having exceptional visual impact. 
In a preferred embodiment, a set of liquid colorants is selected, each colorant having a different color.  These colors become the xe2x80x9cprocessxe2x80x9d colors.  Determination of the process colors to be used can be quite important to the accuracy with which the target colors can be reproduced, even with the use of dithering techniques.  Historically, the decision as to what process colors should be selected usually involved one of the following: (1) identification (perhaps computer assisted) of the most common colors contained in the target pattern, and using those colors, (2) dividing the selected color space into arbitrary but equal increments and selecting colors that represent such equal increments of the color space (e.g., dividing the RGB color space, represented by an xe2x80x9cRGB Color Cubexe2x80x9d along each of the respective R, G, and B axes, and defining the process colors as the RGB values at the intersections of the increment boundaries), (3) using a set of colors associated with a readily available set of colorants (or set of colorants that are otherwise convenient or desirable to work with, without particular regard to their intrinsic color), (4) using a set of colors because their intrinsic color is aesthetically pleasing, or (5) some combination or variation of the preceding four methods. 
The introduction of the concept of blended colors presents an important additional consideration with respect to this choice of process colorsxe2x80x94specifically, consideration of the resulting range of blends that is theoretically possible with that combination of process colors and how best to maximize that range. 
Following the appropriate choice of process colors, predetermined combinations of the corresponding colorants are then chosen (e.g., where two different colorants are used, progressive, incremental combinations of, say, 10%/90%, 20%/80%, 30%/70%, etc.),  and a mathematical or heuristic xe2x80x9ccolor blendingxe2x80x9d algorithm may be used to calculate the blended color resulting from each such predetermined combination.  Among methods that may be used to predict the resulting blended colors are operator experience or graphical design software such as Adobe Photoshop(copyright), published by Adobe Systems Incorporated, San Jose, Calif. However, none of these systems is capable of satisfactorily and reliably predicting the color generated on a given substrate by the physical placement and blending of several liquid colorants, while accounting for the visual effect of the substrate""s physical characteristics such as its absorbent characteristics.  It is possible to generate samples on more-or-less a trial and error basis, but that approach generally is neither efficient nor inexpensive.  Accordingly, none of these systems is capable of accurately modeling and predicting the visual appearance of physically blended colors on the surface of the selected substrate. 
A preferred approach to predicting the visual appearance of various colorant blends on specific substrates involves use of the color blending algorithm described herein.  As will be described in greater detail below, this algorithm may be used to generate a color on a computer monitor that closely simulates each blended color, as it would appear on the substrate.  This information can also be made available to a conventional dithering algorithm.  Because of the wide range of visually accurate colors available to the dithering algorithm by the color blending algorithm (i.e., all process colors and all blended colors, as they will appear on the chosen substrate), it has been found that the selected dithering algorithm is likely to be much more effective in generating a dithered image that effectively matches the target colors than other, prior art systems. 
Using the terminology defined above, it is an object of this invention to generate, using a limited number of predetermined process colors and colorants, a perceived color on the selected substrate that most closely matches the target color for each target color in the pattern to be reproduced.