Method and apparatus for printing an enhanced image

Abstract: A method and apparatus for enhancing the quality of images printed by dot printers or dot displays are disclosed. Image irregularities caused by quantization are smoothed by using a set of rules to transform an initial pattern (Fig. 2A) into an enhanced pattern (Figs. 2E, 2F) for printing. The initial pattern (Fig. 2A) may consist of a matrix of bits representing an image having X dots per inch along an intended direction of printing. An intermediate pattern (Fig. 2B) is formed by replicating columns of bits from the initial pattern (Fig. 2A). Image enhancement rules (Fig. 2C) are applied to the intermediate pattern (Fig. 2B) to invert (Fig. 2D) one or more bits in the intermediate pattern (Fig. 2B) to create an enhanced pattern (Figs. 2E, 2F). The enhanced pattern (Figs. 2E, 2F) is printed (Fig. 2F) at n*X dots per inch along the direction of printing where n > 1.

Description: Field of the Invention This invention relates to dot printers or other types of dot display systems, and more particularly, to a method and apparatus to enhance the quality of images printed by dot printers or otherwise displayed by dot display systems. Background of the Invention Dot printers produce a printed image by depositing a pattern of individual dots of ink upon a recording medium, such as a sheet of paper. Ideally, if the individual dots are sufficiently small and closely spaced, only the overall image, and not the individual dots, are perceived by the human eye. However, depending on the relative size of the smallest detail of the overall image and the size of the individual dots, certain irregularities may be perceived due to the discrete nature of the dots and due to the inherent nature of the printing process. For example, undesirable stepping (quantization) and jagged edges are generally apparent when the image consists of a diagonal line at a slight angle to the print direction, or a diagonal line at a steep angle to the print direction. Jagged edges are also noticeable in images with curved lines. Thus, what is needed is a print image enhancement system for providing a more pleasing dot image. This print enhancement system should meet three important criteria. Firstly, the appearance of the final image must be improved in most cases with only minimal degradation in the remainder of cases. Secondly, the print image enhancement system must have a minimal impact on printer throughput. Thirdly, the print image enhancement system must be low cost and compatible with existing systems. European patent application No. EP-A-0506379 discloses a method of using a dot printer to print a final image generated from an initial pattern of bits corresponding to an A by B matrix of bits, representing an initial image having X dots per inch along an intended direction of printing. The method includes equivalent steps to: forming from said initial pattern an intermediate pattern of C by D bits wherein C>A and D>B; determining whether said intermediate pattern matches a rule pattern, said rule pattern being one of a plurality of rule patterns; applying at least one rule action from a plurality of rule actions, if said intermediate pattem matches a rule pattern, to modify said intermediate pattern to create an enhanced pattern of bits, said enhanced pattern of bits corresponding to said final image; and printing said final image, corresponding to said enhanced patter at n*X dots per inch along said direction of printing. Summary of the Invention According to the present invention there are provided a method of using a dot printer and an apparatus as defined in the appended claims 1 and 6. A print image enhancement system according to this invention enhances the quality of images printed by dot printers or otherwise displayed by dot display systems. In the preferred embodiment, the print image enhancement system resides in a dot printer. The print image enhancement system effectively smoothes out noticeable quantization in the dot pattern by using a set of rules to transform an initial dot (or bit) pattern into an enhanced pattern. The printed image is generated by printing the enhanced pattern. The initial (pre-corrected) pattern input to the print image enhancement system may consist of a matrix of A rows and B columns of bits representing an initial image of A by B dots for printing at X dots per inch along the intended direction of printing. Each of the rules is represented by a rule-pattern and a rule-action such that the rule application step includes the steps of: (i) comparing the intermediate pattem with a rule-pattern to find a match; and (ii) if a match is found, inverting at least one bit of the intermediate pattern, as dictated by the corresponding rule-action, to form the enhanced pattern. Brief Description of the Drawings Figure 1 shows an illustrative diagram of the preferred method used by the print image enhancement system. Figure 2A shows an illustrative diagram of an initial pattern, for printing at X dots per inch along an intended direction of printing, before any processing by the print image enhancement system. Figure 2B illustrates the intermediate pattern that results from duplicating columns of dots in the initial pattern of Figure 2A. Figure 2C illustrates the particular rule-pattern which matches the intermediate pattern of Figure 2B. Figure 2D illustrates the rule-action to be applied to the intermediate pattern of Figure 2B. Figure 2E illustrates the enhanced pattern that results from application of the rule-action of Figure 2D to the intermediate pattern of Figure 2B. Figure 2F illustrates the enhanced final image, printed at 2X dots per inch along the direction of printing, that corresponds to the enhanced pattern of Figure 2E. Figure 3 illustrates one embodiment of the print image enhancement system according to this invention. Figure 4 illustrates the preferred internal implementation details of the ASIC of Figure 3. Figures 5A through 5DD illustrate examples of rule-patterns with their corresponding rule-actions to be taken in the event of a match between an intermediate pattern and a rule-pattern. Description of the Preferred Embodiment A print image enhancement system according to this invention resides in a dot printer and interfaces with a conventional, bit-mapped memory containing an initial dot or bit pattern. This initial pattern corresponds to a conventional dot pattern which is printed by conventional dot printers. A flowchart of the method used by the print image enhancement system to improve the print quality of this initial pattern is shown in Figure 1. In the flowchart, it is assumed that the initial pre-corrected pattern is already stored in a conventional bit mapped memory, using prior art techniques, as illustrated by step 101 of Figure 1. In the preferred embodiment, a 7 row by 3 column matrix portion (correction window) of the initial pattern in the memory is effectively isolated from the initial pattern for enhancement. One example of this 7 by 3 correction window is represented by Figure 2A as if printed by a dot printer at X by X dots per square inch. It will be assumed for this example that the intended printer scans a printhead along a horizontal axis across a sheet of paper. The black dots in Figure 2A represent 1's in the initial bit pattern corresponding to ink-dots that would be printed by a prior art dot printer without the print enhancement system. The white dots represent 0's in the initial pattern corresponding to where no ink-dots would be printed. Although this embodiment uses white and black dots to represent 0's and 1's in the bit mapped memory, this notation may be reversed. Also, although this embodiment operates on a 7 by 3 array correction window, this invention may be practiced on any size correction window. As illustrated by step 102 in Figure 1, after the print image enhancement system isolates the 7 by 3 correction window portion of the initial pattern, the enhancement system forms an intermediate pattern. The intermediate pattern in this particular example is illustrated by Figure 2B. The intermediate pattern of Figure 2B is obtained by duplicating each column of dots of Figure 2A and results in a 7 by 6 array of dots or bits. Step 102 of this invention is not restricted to only duplication of a portion of the initial pattern. For example, step 102 may include triplicating each column of dots of a correction window of the initial pattern, thus resulting in a 7 by 9 array. As illustrated by step 103 in Figure 1, after forming the 7 by 6 array intermediate pattern, the print image enhancement system compares the intermediate pattern with a number of rule-patterns to see if a match exists. These rule patterns may be hard-coded into an ASIC, such as the ASIC 304 shown in Fig. 3, or even stored in a conventional memory. An applicable rule-pattern for this example is illustrated by Figure 2C. The black dots of Figure 2C represent bit values in the intermediate pattern which must be 1 in order to match with the rule-pattern. The white dots of Figure 2C represent bit values in the intermediate pattern which must be 0 in order to match with the rule-pattern. The hatched dots in Figure 2C represent "don't care" values which indicate that the corresponding bits in the intermediate pattern could be either 1 or 0 and still result in a match with the rule-pattern. Each of the rule-patterns is associated with a rule-action, such that if an intermediate pattern matches a rule-pattern, then the action dictated by the corresponding rule-action is performed on the intermediate pattern. The rule-action corresponding to the rule-pattern of Figure 2C is illustrated by Figure 2D. The hatched dots in the rule-action illustrated by Figure 2D indicate that no action is to be taken on those bits. The white dot of Figure 2D indicates that the corresponding bit of the intermediate pattern of Figure 2B must be changed from 1 to 0 to create the enhanced pattern. Conversely, a black dot in the rule-action (e,g., Figure 5B) would indicate that the corresponding bit of the intermediate pattern must be changed from 0 to 1 to create the enhanced pattern. As illustrated by step 104 in Figure 1, if there is a match in step 103, then the intermediate pattern is modified to form an enhanced pattern by performing the action dictated by the corresponding rule-action. Step 104 is shown enclosed with a broken line boundary to indicate that if there is no match in step 103, no modification is made to the intermediate pattern. In the example of the intermediate pattern of Figure 2B matching the rule-pattern of Figure 2C, the action indicated by the rule-action of Figure 2D is applied to the intermediate pattern to create the enhanced pattern illustrated by Figure 2E. Steps 102, 103, and 104 may be performed on multiple correction windows of the initial pattern at the same time, such that large sections of the initial pattern in memory may be enhanced in parallel. Once processing is completed for all or a selected portion of the initial pattern, the enhanced pattern is stored as shown in step 105. Steps 102, 103, 104, and 105 may be repeated as often as necessary via control return step 106 of Figure 1 so as to process all or a desired amount of the initial pattern received in step 101. As shown in step 107 of Figure 1, the enhanced pattern is printed at a dots per inch (dpi) density along the direction of printing (e.g., along the horizontal axis for a scanning inkjet printer) which is a multiple of the original dots per inch density along the intended direction of printing of the initial pattern and, consequently, at a dot spacing along the direction of printing which is a fraction of the dot spacing of the initial pattern. Figure 2F illustrates the final printed image that corresponds to the portion of the initial image of Figure 2A. In an illustrative example, if the initial image of Figure 2A were to be printed at 300 dpi along the direction of printing (e.g., along the horizontal axis), the final image is printed at 600 dpi along the direction of printing at half-dot spacing, since the initial pattern was duplicated to obtain the intermediate pattern (Figure 2B). In the above example, only the dpi along a horizontal direction of printing is increased, and the dpi along the vertical direction is unchanged by the print enhancement process. This will be the case where an inkjet printer is used which incorporates a scanning printhead having vertical, linear arrays of ink-ejection nozzles which are scanned in a horizontal direction across a sheet of paper. The dpi in the horizontal direction is a function of the frequency of the ink-ejection signals supplied to the printhead. Since the printed dot density in the vertical direction is solely a function of the nozzle arrangement, the dpi density in the vertical direction is fixed. In other types of printers where the dpi may be variable in either or both of the vertical and horizontal directions, enhancement of the image using the disclosed inventive techniques may take advantage of increasing the dpi in either the vertical or horizontal directions or both. Figure 3 illustrates in block diagram form the preferred embodiment print image enhancement system of this invention. A host processor 300, such as a conventional personal computer, outputs image data in ASCII form or in some other format. If necessary, a character/graphics converter 302 inside dot printer 301 converts the image data from host processor 300 into an initial pattern of bits. The initial pattern of bits is then stored in bit mapped memory 303. The print image enhancement system is implemented in this embodiment by ASIC 304. A Hewlett-Packard ASIC model 1TY8-0001 is used in one embodiment. ASIC 304 is hard-wired with a particular set of rule-patterns and rule-actions and performs the steps 102-105 in Figure 1 to smooth out certain quantization irregularities in the initial pattern. For each column of bits processed for enhancement by ASIC 304, two columns are generated, which will be referred to as an even column and an odd column. ASIC 304 then stores the even columns bits generated by ASIC 304 back in memory 303 and the odd column bits generated by ASIC 304 in an additional bit mapped memory 305. Multiplexer 306 combines the odd column and even column bits from memories 303 and 305 to effectively recreate the enhanced pattern for printing. The enhanced pattern is sent by printhead driving circuit 307 to printhead 308 for printing on the print medium. The print image enhancement system of one particular embodiment works incrementally on 16 by 16 array portions of the initial pattern stored in memory 303. Figure 4 shows an 18 by 22 storage array 401 which initially contains the 16 by 16 array being worked on by ASIC 304. The 16 by 16 array is shown by a dotted line 404 inside the 18 by 22 array. The bit pattern contained in array 401 is loaded from the larger bit mapped memory 303, shown in Figure 3, using conventional data transfer techniques. The bits surrounding the 16 by 16 array 404 consist of one additional column of bits on either side of array 404 and three additional rows of bits on the top and bottom of array 404. The additional rows and columns in array 401 surrounding array 404 are necessary because the rules of the print image enhancement system are applied on the central bit of a 7 by 3 array correction window. For example, in order to have a 7 by 3 array correction window 405 surrounding the left corner bit of the 16 by 16 array 404, it is necessary to include the top three rows and the left most column of array 401. Although this embodiment works incrementally on a 16 by 16 array, this invention is not so limited. For example, storage array 401 may contain the whole of the initial pattern, half of the initial pattern, or some arbitrary portion of the initial pattern. A four-bit column address is applied to multiplexers 402 to select a column of the 16 by 16 array for enhancement as well as the left and right adjacent columns. Figure 4 shows three 16:1 column selection multiplexers associated with each row of array 401, for selecting three adjacent columns at a time. Therefore, for a given column address, multiplexer set 402 outputs an addressed column of 22 bits as well as the left and right adjacent columns. Figure 4 also shows rule application logic 403, which performs the method of steps 102-105 in Figure 1 on each group of three columns of bits applied to logic 403. In the above method, rule application logic 403 applies the rule-patterns and appropriate rule-actions simultaneously to the central sixteen 7 by 3 bit groups outputted by multiplexers 402, as described with respect to Figures 1 and 2. For each 16 bit column of array 404 processed by logic 403, two columns of 16 bits are generated, since logic 403 generates two bits for every bit in array 404 processed. That is to say, for every central bit in a 7 by 3 array correction window evaluated for printing enhancement, two bits are generated to provide the printing enhancement. Therefore, an additional memory 305 is need to store the added bits generated by logic 403. In one embodiment, the 16 bit columns outputted in parallel by logic 403 are alternately stored in bit mapped memory 303 of Figure 3 and in the additional bit mapped memory 305 of Figure 3. In another embodiment, all bits outputted by logic 403 may be stored in a single memory buffer. Although in this embodiment, the original bits in the 18 by 22 array 401 remain unchanged while each column is processed, it is possible for either the odd column bits or the even column bits or some combination of these two to be written back into the 18 by 22 array 401 to implement a print image enhancement system using feed-back. The above process is repeated for each column of the 16 by 16 array 404 until all 16 columns have been processed. A new set of 18 by 22 bits from memory 303 is then loaded into array 401 from memory 303 for processing. In another embodiment, array 401 is eliminated and bits are applied to multiplexers 402 directly from memory 303 in Figure 3. In the preferred embodiment, although an intermediate pattern (e.g., Figure 2B) of 7 by 6 bits is described above as being compared to the various rule patterns, the sixth column in the 7 by 6 matrix is not required for comparison with the rule patterns since it is identical to the fifth column. Consequently, a 7 by 5 intermediate pattern is actually generated and processed by ASIC 304 to avoid unnecessary complexity. This also makes it easier to identify the central bit in the 7 by 5 array. A multitude of rules may be used in conjunction with this invention. Examples of various rule-patterns and their associated rule-actions which may be used with this embodiment are shown in Figures 5A through 5DD. It is to be noted that more than one bit may be inverted in the intermediate pattern if the rule-action so dictates. All hardware necessary to implement an embodiment of the print image enhancement system in accordance with the above description would be known to one of ordinary skill in the art. In another embodiment of the invention, the function performed by ASIC 304 is performed by software programmed into a computer, or performed by a combination of hardware and software. Although in the preferred method the dots per inch printing density along the printing direction is increased for the enhanced pattern, this may not a requirement for enhancement of the image in certain types of printing applications. A print image enhancement system in accordance with the above invention has numerous advantages. Firstly, the appearance of the image is improved in most cases with minimal degradation for the remaining cases, depending on the rule-patterns and rule-actions used. Secondly, this system has minimal impact on printer throughput. Thirdly, this system is low cost and compatible with existing systems. For example, the 18 by 22 storage array 401 of Figure 4 could double up as a data rotator to rotate an 18 by 22 bit block of data by 90° before being enhanced as described above. Such a rotator is typically used to convert a bit pattern from one to be printed one dot at a time across a page, such as with a laser printer, to one to be printed by printing a vertical array of dots at a time as a printhead is scanning horizontally across a page, such as with an inkjet printer. This invention may be practiced wholly in the host processor, wholly in the dot printer, or partly in the host processor and partly in the dot printer. This invention may be practiced with a correction window of virtually any size, depending on the rule-patterns and rule-actions the designer chooses to use. Moreover, this invention may be practiced on a variety of dot printers, such as laser jet printers and ink jet printers. One such inkjet printer comprises a printhead incorporating one or more arrays of nozzles through which ink droplets are selectively ejected. The printhead scans across a sheet of paper or other recording medium to print a pattern of dots. This invention may even be practiced on dot printing display devices such as a cathode ray tube display or a liquid crystal display. The description of an embodiment of this invention is intended to be illustrative and not limiting. Numerous modifications to and variations of this embodiment will be apparent to those skilled in the art after reading this disclosure, all of which are intended to be included within the scope of this invention.

Claims: A method of using a dot printer to print or otherwise display a final image generated from an initial pattern of bits corresponding to an A by B matrix of bits, representing an initial image having X dots per inch along an intended direction of printing, said method comprising the steps of: forming (102) from said initial pattern an intermediate pattern of C by D bits wherein C ≥ A and D > B; determining (103) whether said intermediate pattern matches a rule-pattern, said rule-pattern being one of a plurality of rule-patterns; applying (104) at least one rule-action from a plurality of rule-actions, if said intermediate pattern matches a rule-pattern, to modify said intermediate pattern to create an enhanced pattern of bits, said enhanced pattern of bits corresponding to said final image; and printing (107) said final image, corresponding to said enhanced pattern, at n*X dots per inch along said direction of printing where n > 1; wherein said A by B matrix of bits comprises A rows and B columns of bits located in a first memory (303), and wherein said intermediate pattern duplicates one or more of said columns, said enhanced pattern comprising two or more columns of bits, said method further comprising the steps of: storing (105) certain ones of said columns of said enhanced pattern in said first memory (303) and storing certain other ones of said columns of said enhanced pattern in a second memory (305); and multiplexing (306) bits stored in said first memory (303) and said second memory (305) to recreate said enhanced pattern for printing. The method of Claim 1 wherein said step of forming (102) said intermediate pattern comprises duplicating one or more columns of bits in said A by B matrix of bits and wherein n = 2. The method of Claim 1 wherein said applying step (104) comprises the step of: on finding a match between said intermediate pattern and a rule-pattern in said determining step (103), inverting at least one bit from said intermediate pattern, said bit being indicated by a rule-action paired with said rule-pattern. The method of Claim 3 wherein said rule-pattern comprises a matrix of bits. The method of Claim 1 wherein said step of printing said final image comprises scanning a printhead (308) of an inkjet printer across a recording medium at a density of n*X dots per inch along said direction of printing. An apparatus comprising: an initial pattern memory means (303) for storing an initial pattern of bits corresponding to an A by B matrix of bits, said A by B matrix of bits representing an initial image having X dots per inch along an intended direction of printing; a transforming means (304,403) for detecting said initial pattern and transforming said initial pattern into an intermediate pattern of C by D bits, wherein C ≥ A and D > B; a determining means (304,403) for determining whether said intermediate pattern matches a rule-pattern stored in a memory means (403) along with other rule-patterns; a modifying means (304,403) for applying a rule-action to said intermediate pattern to modify said intermediate pattern to create an enhanced pattern of bits if said intermediate pattern matches a rule-pattern; and a storing means (304,403) for storing said enhanced pattern of bits in a memory means (303,305), said enhanced pattern corresponding to a dot pattern to be printed at n*X dots per inch along said direction of printing where n > 1; wherein said A by B matrix of bits comprises A rows and B columns of bits located in said initial pattern memory means (303), wherein said transforming means (304,403) for transforming said initial pattern into said intermediate pattern duplicates one or more of said columns, and wherein said enhanced pattern comprises two or more columns of bits, said storing means (304,403) for storing said enhanced pattern comprising: a distributing means for storing certain ones of said columns of said enhanced pattern in said initial pattern memory (303) and storing certain other ones of said columns of said enhanced pattern in a second memory means (305), said apparatus further comprising: multiplexer means (306) for multiplexing bits stored in said initial pattern memory means (303) and said second memory means (305) to recreate said enhanced pattern for printing. The apparatus of Claim 6 wherein said initial pattern is stored in a bit-mapped memory (303) along with a plurality of other initial patterns of bits corresponding to an A by B matrix of bits. The apparatus of Claim 6 wherein said transforming means (304,403) for transforming said initial pattern into said intermediate pattern duplicates one or more columns of bits in said A by B matrix of bits, and wherein n = 2.

Inventors: BLUME J ERIK, MCDONOUGH TIMOTHY M, SCANDALIS ANEESA R, BLUME, J. ERIK, MCDONOUGH, TIMOTHY M., SCANDALIS, ANEESA R.
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1994
Main classification: G06K15
IPC codes: G06K15, H04N1, G06T5, B41J2, G09G5