Abstract:
A 2-color ink jet point of sale (POS) printer includes a converter for converting full color printing commands into a commands for printing in two colors, a primary color and an alternate color. A three color image is possible when using the background color of the paper as a color. The printer includes a print carriage which contains only two print cartridges. The printer determines a location of the print cartridge relative to a print location of the image to be printed, and when the print cartridges are both on one side of the print location, the print carriages traverses the paper in one direction, printing first with the primary color and then with the alternate color on the same pass. After the paper is advanced in the printer, the print carriage traverses the paper in the other direction, with the alternate color printing before the primary color.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of copending U.S. application Ser. No. 09/746,418 filed Dec. 21, 2000 entitled METHOD AND APPARATUS FOR TWO-COLOR INK JET POINT OFF SALE (POS) PRINTING, which is a continuation-in-part of U.S. application Ser. No. 09/544,941, fild Apr. 7, 2000 now U.S. Pat. No. 6,206,504. 
    
    
     FIELD OF THE INVENTION 
     The invention pertains to the field of ink jet printers, and in particular, to a point-of-sale (POS) printer that prints two colors using a single pass for each line. 
     BACKGROUND OF THE INVENTION 
     There are two ways to define colors, CMY and RGB. CMY stands for Cyan, Magenta, and Yellow. Mixing cyan, magenta, and yellow can be compared to blending paint. When cyan, magenta, and yellow are amalgamated together, the result is black. CMY is sometimes known as CMYK, which stands for Cyan, Magenta, Yellow and blacK (so as not to be confused with Blue). These colors are sometimes called process colors, because you use them in four-color printing. If you have a typical full color printer, the inks used consist of these primary colors. The term “primary colors” mean that mixing these colors together can create all colors. Cyan, magenta and yellow are theoretically all one needs, but to save costly color inks many printers also have a black cartridge. The CMY color model is called a subtractive color model, because the process ink pigments “subtracts” or absorbs certain colors and reflects others. 
     RGB stands for red, green, and blue. Mixing red, green, and blue together can be compared to blending light beams. When the lights off, everything looks black. If all the lights are on, the result is white. The RGB model is used in a television or computer monitor. The colored spots of a TV screen emit three colors, and the sum of these colors determines the color you see. This is called an additive color model. Each color in the RGB system has a value for the amount of Red, Green and Blue in each picture element (pixel). In the internal Microsoft® Windows® image descriptions, this value goes from 0 to 255, where 0 for all three colors equals black, and 255 for all three colors equals white. This means that one can get more than 16 million different colors (TrueColor) because 256*256*256=16,777,216, but one can only get 256 shades of gray. 
     A full color printer forms the various colors of an image by mixing inks of different colors on the paper. That is, a full color printer uses the CMY or CMYK color system. The amount of each color determines the hue. Typically the paper is white and no ink produces a white dot. Mixing yellow and cyan produces a red dot and mixing cyan, magenta, and yellow in equal amounts produces a black or gray dot. 
     Hue describes what shade of color a particular color is, such as red, orange, indigo, or green. As in the rainbow, the starting and ending color is red. Hue can be described as a color circle with red at 0 degrees, yellow at 60 degrees clockwise, continuing with green, cyan, blue, magenta, and red again at 360 degrees. Saturation is a term used with how bright the color is. 
     There are a number of different types of printers commercially available, but not all types are suited to be POS printers. POS printers are used to print cash register receipts or credit card charge statements. Full color printing is not required, nor is the ability to print on different types of paper. POS printers tend to be compact so as not to clutter up a cashier&#39;s work area. 
     Many types of POS single color printers are commercially available. Dot matrix printers, thermal printers, and ink jet printers are all used because of their speed and reliability. POS color printers are rare in the marketplace. POS dot matrix color printers require a multi-colored ribbon, which adds to the complexity and size of the printer. Color thermal printers are under development, but it is hard to do color graphics on a thermal printer. In addition, special paper is required. Color ink jet printers are unsuitable for POS printers because adding three additional ink jet cartridges for full color (also known as 4-color, i.e., three colors plus black) would add width and complexity to the printer. 
     A two-color printer typically makes one pass with the primary color followed by one pass with the alternate color. This is normally because of the time it takes to process and send the printer commands to the printer. In some cases, especially with technologically older inks, two passes are required to ensure that one color dries before the second color is printed. 
     SUMMARY OF THE INVENTION 
     Briefly stated, a 2-color ink jet point of sale (POS) printer includes a converter for converting full color printing commands into a commands for printing in two colors, a primary color and an alternate color. A three color image is possible when using the background color of the paper as a color. 
     According to an embodiment of the invention, a method of converting a full color image to a two color image, wherein the two colors are a primary color and an alternate color, includes the steps of providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; and determining a plurality of printer commands representing individual dot data from the image to be printed, the individual dot data being in a form of primary color dot data, alternate color dot data, and no-print dot data. 
     According to an embodiment of the invention, a method of converting a full color image to a two color image, wherein the two colors are a primary color and an alternate color, includes the steps of providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; determining a plurality of printer commands representing individual dot data from the image to be printed, the individual dot data being in a form of primary color dot data, alternate color dot data, and no-print dot data; and associating a first color value, a second color value, and a third color value for the individual dot data based on an intensity of the first color, the second color, and the third color present in the pixel. 
     According to an embodiment of the invention, a method of converting a full color image to a three color image, wherein the three colors are a primary color, an alternate color, and a background color, includes the steps of providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; determining first, second, and third color values for the first color, the second color, and third color, respectively; comparing each of first, second, and third color values to a given threshold and associating a color value with a first state if it meets a first criterion with respect to the given threshold, and associating a color value with a second state if it meets a second criterion with respect to the given threshold; and printing the three color image as 
     (a) the primary color if all color values are associated with the second state, 
     (b) the primary color if the first color value is associated with the first state and the second and third color values are associated with the second state and the primary color is the first color; 
     (c) the alternate color if the first color value is associated with the first state and the second and third color values are associated with the second state and the alternate color is the first color; and 
     (d) no color if all color values are associated with the first state. 
     According to an embodiment of the invention, an apparatus for converting a full color image to a two color image, wherein the two colors are a primary color and an alternate color, includes means for providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; means for determining a plurality of printer commands representing individual dot data from the image to be printed, the individual dot data being in a form of primary color dot data, alternate color dot data, and no-print dot data; and means for printing the individual dot data on a printable medium. 
     According to an embodiment of the invention, an apparatus for converting a full color image to a two color image, wherein the two colors are a primary color and an alternate color, includes means for providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; means for determining a plurality of printer commands representing individual dot data from the image to be printed, the individual dot data being in a form of primary color dot data, alternate color dot data, and no-print dot data; and means for associating a first color value, a second color value, and a third color value for the individual dot data based on an intensity of the first color, the second color, and the third color present in the pixel. 
     According to an embodiment of the invention, an apparatus for converting a full color image to a three color image, wherein the three colors are a primary color, an alternate color, and a background color, includes means for providing a color image on a host computer as display pixels, wherein the color image includes a combination of none, one, two, or all three of a first color, a second color, and a third color; means for determining first, second, and third color values for the first color, the second color, and third color, respectively; means for comparing each of first, second, and third color values to a given threshold and associating a color value with a first state if it meets a first criterion with respect to the given threshold, and associating a color value with a second state if it meets a second criterion with respect to the given threshold; and means for printing the three color image as 
     (a) the primary color if all color values are associated with the second state, 
     (b) the primary color if the first color value is associated with the first state and the second and third color values are associated with the second state and the primary color is the first color; 
     (c) the alternate color if the first color value is associated with the first state and the second and third color values are associated with the second state and the alternate color is the first color; and 
     (d) no color if all color values are associated with the first state. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram of a system which converts a full color image to a two/three color image according to an embodiment of the invention. 
     FIG. 2 shows a method for converting a full color image to a two/three color image according to an embodiment of the invention. 
     FIG. 3 shows a block diagram of a system which prints a two/three color receipt on a POS printer using a single pass for each line of print according to an embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, a host system  10  contains a color image to be printed. Host system  10  is typically some type of computing device, preferably a PC or equivalent. The image is contained in the memory of host system  10 , including color information for the image. “Color information” as used in this application means a color as that term is generally known, such as green, red, blue, yellow, orange, etc., but excluding black and white. The term “color” by itself includes black and white. 
     A driver  20  converts the image from host system  10  into commands that a printer  30  can understand. Various printer command protocols are known to those in the art. Driver  20  can be implemented in hardware, software, or a combination of hardware and software, and can be a separate device or contained in either host system  10  or printer  30 . 
     Printer  30  converts the color information received from driver  20  into a printed image that contains a primary color, an alternate color, and a background color. The primary color and alternate color are provided by ink jet pens (cartridges) such as those manufactured and sold by Hewlett-Packard, while the background color is provided by the paper stock the image is printed on. The background color is usually white since most paper, including that typically used for receipts, is white. The primary color is usually black, but does not have to be black as long as it is available in ink jet cartridge form. The alternate color can be any color available in ink jet cartridge form. 
     A “color value” is defined as any combination of data that defines the intensity of a color for a dot/pixel. In the plural, “color values” means a combination of one or more color values that makes up all the color intensity information for a dot/pixel, since display pixels can include varying amounts of red, green, and blue (RGB) or cyan, magenta, and yellow (CMY). If a color value for a particular color exceeds a given threshold, that color value is ON. If a color value for a particular color is below a given threshold, that color value is OFF. 
     The preferred coding for converting a full color image to a 2-color image is as follows. If all color values are OFF, the primary color is printed. If all color values are ON, no printing is done, resulting in a dot (space) of the background color. If a color value is ON that is the same color as the alternate color, a dot of the alternate color is printed. If the primary color is something other than black, a dot of the primary color is printed if a color value is ON that is the same color as the primary color. Color values communicated to printer  30  for a particular dot/pixel that do not fit the aforementioned cases are ignored, i.e., no color is printed resulting in a dot of the background color. This is summarized in Table 1. 
     
       
         
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Primary Color 
                 Alternate Color 
                 Result 
               
               
                   
                   
               
             
             
               
                   
                 ON 
                 ON 
                 Background Color 
               
               
                   
                 ON 
                 OFF 
                 Primary Color 
               
               
                   
                 OFF 
                 ON 
                 Alternate Color 
               
               
                   
                 OFF 
                 OFF 
                 Primary Color 
               
               
                   
                   
               
             
          
         
       
     
     The printer and method of the present invention does adjust the hue or saturation of the dots. It prints saturated dots of a predefined hue. Graphics images that are generated in a full color RGB or CMY environment are converted by the present invention for printing on a 2-color printer such as the PJ1000 Spot Color Printer manufactured by the Ithaca, New York facility of TransAct Technologies, Inc. 
     This is done by reading the full color image into the printer  30  program and converting it to a true color RGB image. The true color image is then processed to remove hue, saturation and all but 3 colors. The first two colors are preferably white and black. The third color is selected to match the color of the color cartridge in the printer. This conversion process can be adjusted by adjusting the saturation points where each color is converted to on or off. 
     A two-color printer such as the Ithaca POSjet™ 1000 Printer typically has white (the paper), black (an ink cartridge), and one other premixed color (for example, red). The printer does not mix the inks on the paper. It either leaves the paper color, prints a black dot, or a color dot. To allow the printer to use colors other than red, the architecture of the color provides for the sending of three color planes to the printer. 
     Because the printer does not mix colors, either CMY or RGB color definitions work. RGB color definition is preferable because the colors are closer to those most often used in print, and as a result, RGB color definition generally requires sending less data to the printer. RGB color definition also is convenient for use with Microsof® Windows® to generate data because it is the same as the display. 
     When a graphic is created for the 2-color printer, the colors used in the graphic must take into account the fact that colors other than the secondary pen color may print black or may not print at all. 
     There are some special considerations printing images on a 2-color printer such as the Ithaca POSjet™ Printer. The driver in printer  30  converts colors that the printer cannot print into an image as best it can. Color in the image that the printer does not have will not be printed. An example of this is an image that has green in it being printed on a printer that has black and red print cartridges. The green content in the image is not printed. Conversely, if an image has orange content, then it is printed as red on the printer. This red print would result because orange has a red component to it. 
     Color intensity also has an impact on how graphic images print on the printer. If a color&#39;s intensity is too low, then it is not printed. If a color&#39;s intensity is very high, i.e., dark, it may get printed in black. 
     Referring to FIG. 2, the method of the invention is shown in abbreviated form. The color image is provided on the host in step  50 . The pixels of the image are converted in step  60  to printer commands. The color values for each pixel are determined in step  70 . Then in step  80 , the color values are compared to a specified threshold and designated as either ON or OFF. In step  91  the primary color is printed if all color values are OFF, in step  92  the primary color is printed if the primary is ON and the alternate is OFF, in step  93  the alternate color is printed if the alternate is ON and the primary is OFF, and in step  94  no printing is done if all color values are ON. 
     Referring to FIG. 3, raw print data from block  20  of FIG. 1 is sent to a microprocessor  110 . Microprocessor  110  converts the data to the correct format for primary and alternate print cartridges  114 ,  116 . The data are sent to a print head driver circuit  112  which drives print cartridges  114 ,  116 , that is, print driver circuit  112  fires dots of ink from cartridges  114 ,  116  onto the paper. Path A is the print control information path from microprocessor  110  to print head driver circuit  112  to primary and alternate print cartridges  114 ,  116 . 
     Path B shows the path of carriage stepper motor control signals from microprocessor  110  to a carriage motor driver circuit  120  to a carriage motor  122 . Path C shows the path of paper advance stepper motor control signals from microprocessor  110  to a paper advance motor driver circuit  130  to a paper advance motor  132 . 
     Microprocessor  110  needs to be fast enough to perform the processing of block  30  of FIG. 1 while at the same time control the printing process, thus rendering the image processing invisible to a user. A 32-bit microprocessor running at 33 MHz is adequate for this task. 
     Stepper motors are preferably used for carriage motor  122  and paper advance motor  132  so that microprocessor  110  knows precisely where the print carriage (not shown) is at all times. Since microprocessor  110  also controls the printing process, microprocessor  110  knows where the printed image is at all times, and thus knows where the print carriage is with respect to the printed image. 
     The following is an example of sequence steps for a method of single pass printing with a two-color PIS printer. 
     1) If the print carriage is in the area where the image is to be printed, move the carriage to the right of the area where the image is to be printed. 
     2) If the print carriage is to the left of the area where the image is to be printed, go to Step 11. 
     3) Both print cartridges are at the right side of the area where the image is to be printed. 
     4) Under software control via electronics and mechanics, the print carriage begins travel to the left. 
     5) When the primary color cartridge is over the area where the image is to be printed, it prints any primary color dot present in the image to be printed. 
     6) When the alternate color cartridge is over the area where the image is to be printed, it prints any alternate color dot present in the image to be printed. 
     7) As carriage travel continues to the left, the primary color and alternate color cartridges print as specified by the image data in the single carriage pass. 
     8) Carriage travel continues to the left until both cartridges are to the left of the image area being printed. 
     9) The paper that the image is printed on is advanced an amount equal to the height of the information printed in this pass of the carriage. 
     10) If no more image is to be printed, go to step 19. 
     11) Both print cartridges are at the left side of the area where the image is to be printed 
     12) Under software control via electronics and mechanics, the print carriage begins travel to the right. 
     13) When the alternate color cartridge is over the area where the image is to be printed, it prints any alternate color dot present in the image to be printed. 
     14) When the primary color cartridge is over the area where the image is to be printed, it prints any primary color dot present in the image to be printed. 
     15) Carriage travel continues to the right and the primary color and alternate color cartridges print as specified in the image data in the single carriage pass. 
     16) Carriage travel continues to the right until both cartridges are to the right of the image being printed. 
     17) The paper that the image is printed on is advanced an amount equal to the height of the information printed in this pass of the carriage. 
     18) If there is more of the image to be printed, go to Step 3. 
     19) Done. 
     While the present invention has been described with reference to a particular preferred embodiment and the accompanying drawings, it will be understood by those skilled in the art that the invention is not limited to the preferred embodiment and that various modifications and the like could be made thereto without departing from the scope of the invention as defined in the following claims.