[0001] The invention relates to a printing method for a printer having a printhead with
a plurality of print elements and capable of printing a binary pixel image, the method
comprising the steps of: locating defective print elements, determining a camouflage
area in the vicinity of pixels that would have to be printed with the defective print
elements, and camouflaging defective print elements by modifying image information
in said camouflage area. The invention further relates to a printer and to a computer
program implementing this method.
[0002] The invention is applicable, for example, to an ink jet printer the printhead of
which comprises a plurality of nozzles as print elements. Typically, the nozzles are
arranged in a line that extends in parallel with the direction (subscanning direction)
in which a recording medium, e.g. paper, is transported through the printer, and the
printhead scans the paper in a direction (main scanning direction) perpendicular to
the subscanning direction. A complete swath of the image is printed in a single pass
of the printhead, and then the paper is transported by the width of the swath so as
to print the next swath. When a nozzle of the printhead is defective, e.g. has become
clogged, the corresponding pixel line is missing in the printed image, so that image
information is lost and the quality of the print is degraded.
[0003] A printer may also be operated in a multi-pass mode, in which only part of the image
information of a swath is printed in a first pass and the missing pixels are filled-in
during one or more subsequent passes of the printhead. In this case, it is sometimes
possible that a defective nozzle is backed-up by a non-defective nozzle, though on
the cost of productivity.
[0004] US-A-6 215 557 discloses a method of the type indicated above, wherein, when a nozzle
is defective, the print data are altered so as to bypass the faulty nozzle. This means
that a pixel that would have but cannot be printed with the defective nozzle is substituted
by printing an extra pixel in one of the neighbouring lines that are printed with
non-defective nozzles, so that the average optical density of the image area is conserved
and the defect resulting from the nozzle failure is camouflaged and becomes almost
imperceptible. This method involves a specific algorithm that operates on a bitmap,
which represents the print data, and shifts each pixel that cannot be printed to a
neighbouring pixel position. However, if this neighbouring pixel position happens
to be occupied by a pixel already printed, anyway, pursuant to the original print
data, then the extra pixel cannot be printed, and a loss of image information will
nevertheless occur.
[0005] It is an object of the invention to provide a printing method in which the camouflage
step can be performed more efficiently and is readily integrated in the workflow of
the print process.
[0006] According to the invention, the camouflaging step is incorporated in a halftoning
step, in which error diffusion is used for creating said binary pixel image, and comprises
a step of modifying an error propagation scheme for the camouflage area.
[0007] The print data of an image to be printed is frequently supplied to the printer in
the form of a multi-level pixel matrix, in which the grey level of each individual
pixel may vary over a continuous or practically continous range. For example, the
grey level of each pixel may be given by an 8-bit word, i.e. an integral number between
0 and 255, so that 256 different grey levels may be distinguished. However, since
the printer is only capable of printing a binary image or bitmap, in which each pixel
can only be either printed or not, it is necessary to perform a halftoning step in
which the multi-level pixel matrix is transformed into a bitmap with conservation
of the average grey level.
[0008] A commonly employed halftoning method is an error diffusion process. In this process,
the grey level of a pixel that is currently being processed is compared to a predetermined
threshold value. When the grey level is larger than the threshold value, the corresponding
pixel in the bitmap is made black, the threshold value is subtracted from the grey
level, and the rest or error is diffused, i.e. propagated or distributed over a number
of target pixels in the vicinity of the source pixel, i.e. the pixel that is being
processed. When the grey level of the source pixel is smaller than the threshold value,
the corresponding pixel in the bitmap is made white, and the error which is distributed
over the target pixels in the like manner is then formed by the whole grey level of
the source pixel. In order to distribute the error over the target pixels, the error
is multiplied with a specific weight factor for each target pixel. This weight factor
depends on the spatial relationship between the source pixel and the target pixel.
The grey level of the target pixel is increased by the product of the error and the
weight factor. When, later in the process, it is the turn of the target pixel to be
processed, the grey level that is compared to the threshold value will thus be larger
or smaller than the original grey level of the pixel as specified by the print data.
The result of this process is a bitmap in which the average grey level of a small
image area is approximately equal to the grey level of the same area in the original
multi-level pixel matrix,
[0009] An error diffusion process may be characterised by an error propagation scheme which
specifies the threshold value to be employed, the selection of target pixels and their
weight factors. If a pixel of the bitmap cannot be printed because the corresponding
print element of the printer is defective, then, according to the invention, the error
propagation scheme for this pixel and/or the pixels in the neighbourhood is modified
in order to achieve at least one of the following two objectives: (1) increasing the
likelihood that an error from a printable pixel is propagated onto other printable
pixels rather than to a non-printable pixel, and (2) avoiding that a non-printable
pixel is made black, and, instead, assuring that its image information is treated
as an error and is at least partly propagated onto to printable pixels. The first
objective can be achieved by increasing the weight factors assigned to printable target
pixels. This will lead to the creation of more black pixels in the neighbourhood of
the non-printable pixel, so that the image defect is camouflaged to some extent. The
second objective can be achieved by increasing the threshold value for the non-printable
pixels, possibly to infinity, and thereby increasing the error that is diffused onto
neighbouring printable pixels. Again, the result is an increased number of black pixels
in the vicinity of the non-printable pixel, and the image defect is camouflaged.
[0010] It is a main advantage of the present invention that the camouflage procedure does
not require an extra processing step but is incorporated in the error diffusion process
which needs to be executed anyway in order to create the bitmap. It should be noted
that the term "bitmap", as used here, does not mean that a bitmap must actually be
stored physically in a storage medium, but only means that the print data are provided
in binary form, so that each pixel is represented by a single bit. Thus, the "bitmap"
may well be generated "on the fly" during the print process.
[0011] The invention further has the advantage that the loss of image information caused
by defective print elements can reliably be controlled or even eliminated completely
by appropriately adapting the error propagation scheme. Another advantage is that
the method can be carried out at a comparatively early stage in the processing sequence,
so that the method can also be adapted, for example, to printer hardware which has
no sufficient processing capability for carrying out corrections on bitmap level.
It is even possible that the method according to the invention is executed in a host
computer from which the print data are sent to the printer, provided that the information
on the defective nozzles of the printer is made available at the host computer. Then,
if the printer forms part of a multi-user network, the data processing necessary for
carrying out the invention may be distributed over a plurality of computers in the
network.
[0012] Useful details and further developments of the invention are indicated in the dependent
claims.
[0013] The invention is particularly useful when the print data that are supplied to the
printer are in the multi-level format. However, if these data are in the binary format
already, it is a simple matter to reconvert these data into multi-level data, with
or without averaging over clusters of adjacent pixels, and then to employ the method
as described above.
[0014] Preferably, the camouflage area, where a modified error propagation scheme applies,
comprises both the source pixels for which a non-printable pixel is a target pixel,
and the target pixels associated with the non-printable pixels. In order to prevent
the error diffusion process from becoming recursive, it is common practice that the
target pixels are limited to those pixels that are processed later than the respective
source pixel. Thus, when the lines of the pixel matrix are processed in the order
of increasing line index, and the pixels within each line are processed in the order
of increasing column index, a target pixel will always have either a larger line index
or a larger column index than the corresponding source pixel. Then, when printing
in the single-pass mode, for example the camouflage area will be formed by one or
more pixel lines adjacent to the line that is affected by the nozzle failure. For
example, the camouflage area may then comprise the two direct neighbours of the line
that cannot be printed.
[0015] However, the invention is also applicable in multi-pass printing. Then, a nozzle
failure will generally not have the effect that a complete line is missing in the
printed image, but that, for example in the case of two-pass printing, typically only
half the pixels in the line will be missing. In this case, the camouflage area may
consist of the remaining, printable pixels in the line in which half of the pixels
are missing. Optionally, the camouflage area may also be extended to the adjacent
lines.
[0016] When the weight factors assigned to printable target pixels sum up to 100%, the image
information of the pixel will be conserved completely, except for those cases where
the camouflage area becomes saturated with black pixels. In a modified embodiment,
however, it is possible to use an error propagation scheme in which the sum of the
weight factors of printable pixels is smaller than 100%, so that a certain loss of
image information is admitted. To preserve the frequency of the image information
more precise the threshold value to be employed for the printable pixels in the camouflage
area can be decreased. This may have the effect that some of the black pixels that
cannot be printed are "shifted" in rearward direction, i.e. in the direction of decreasing
line and column indices.
[0017] Preferred embodiments of the invention will now be explained in conjunction with
the drawings, in which:
- Fig. 1
- is a schematic view of an ink jet printer to which the invention is applicable;
- Figs. 2A-C
- are diagrams of an area of 6x6 pixels of an image in various representations, illustrating
the effect of a nozzle failure and the camouflage process;
- Fig. 3
- is a diagram of a 5x5-pixel matrix illustrating the construction of a camouflage area
for a single-pass print mode;
- Fig. 4
- is a diagram illustrating a standard error propagation scheme;
- Figs. 5 and 6
- are diagrams illustrating modified error propagation schemes;
- Fig. 7
- is a diagram of a 5x5-pixel matrix illustrating the construction of a camouflage area
for a specific two-pass print mode;
- Fig. 8
- is a flow diagram illustrating an embodiment of the method according to the invention;
- Fig. 9
- is a flow diagram for a modified embodiment of the invention; and
- Figs. 10A, B
- are diagrams of a bitmap and a pixel matrix illustrating the modified embodiment.
[0018] As is shown in figure 1, an ink jet printer comprises a platen 10 which serves for
transporting a recording paper 12 in a subscanning direction (arrow A) past a printhead
unit 14. The printhead unit 14 is mounted on a carriage 16 that is guided on guide
rails 18 and is movable back and forth in a main scanning direction (arrow B) relative
to the recording paper 12. In the example shown, the printhead unit 14 comprises four
printheads 20, one for each of the basic colours cyan, magenta, yellow and black.
Each printhead has a linear array of nozzles 22 extending in the subscanning direction.
The nozzles 22 of the printheads 20 can be energised individually to eject ink droplets
onto the recording paper 12, thereby to print a pixel on the paper. When the carriage
16 is moved in the direction B across the width of the paper 12, a swath of an image
can be printed. The number of pixel lines of the swath corresponds to the number of
nozzles 22 of each printhead. When the carriage 16 has completed one pass, the paper
12 is advanced by the width of the swath, so that the next swath can be printed.
[0019] The printheads 20 are controlled by a processing unit 24 which processes the print
data in a manner that will be described in detail hereinbelow. The discussion will
be focused on printing in black colour, but is equivalently valid for printing in
the other colours.
[0020] Figure 2A shows an array of 6x6 pixels 26, which represents a portion of an image
to be printed. The pixels 26 are arranged in lines i-3, i-2, i-1, i, i+1, i+2 and
columns j-3, j-2, j-1, j. j+1 and j+2. Black pixels are indicated by dots 28 as printed
with the ink jet printer shown in figure 1. Since the ink droplet forming a dot 28
tends to spread on the recording medium (paper), the optical density of the dot decreases
gradually from the center toward the periphery, and the lighter peripheral portions
of the dot extend beyond the area of the pixel, so that neighbouring dots overlap.
The image that has been shown in largely magnified scale in figure 2A would give the
impression of a uniform grey area.
[0021] Figure 2B shows the same image in the case that the nozzle needed for printing the
line i is defective, so that the dots at the pixel positions (i, j-2) and (i, j) are
missing. This would give rise to a perceptible brighter gap in the printed image at
the position of the line i.
[0022] In order to eliminate or at least mitigate this image defect, the processing unit
24 shown in figure 1 performs a camouflage step which, in the given example, leads
to the insertion of an additional dot 30 at the pixel position (i-1, j-1), i.e. in
the pixel line i-1 directly adjacent to the defective line i. As a result, on the
macroscopic scale the image shown in Figure 2C resembles the ideal image shown in
Figure 2A.
[0023] This camouflage process will now be explained in detail. At first, it shall be assumed
that the print data are supplied to the printer in a multi-level format, in which
the grey value of each pixel is indicated by an 8-bit word, i.e. by an integral number
between 0 and 255. The number 0 represents a white pixel and the number 255 a black
pixel with maximum optical density. The print data are thus represented by a multi-level
pixel matrix 32 as is schematically shown in figure 3. In the single-pass mode, each
pixel line of this pixel matrix will be printed by only one of the nozzles 22 of the
printhead. The printer may be equipped with a detection system which automatically
detects and locates defective nozzles. As an alternative, the location of a defective
nozzle may also be input by the user. When, for example, the nozzle responsible for
printing the third line of the pixel matrix is defective, the pixels in this line
are non-printable pixels 34, whereas the other pixels 36, 38 and 40 are printable.
Pixels 38 and 40 in the lines directly adjacent to the non-printable pixels 34 are
shown in dark hatching. The non-printable pixels 34 and pixels 38 and 40 adjacent
thereto form a camouflage area that is involved in camouflaging the effect of the
defective nozzle.
[0024] An error propagation halftoning step is used for transforming the multi-level pixel
matrix 32 into a bitmap. Figure 4 illustrates a conventional error propagation scheme
42 (a Floyd Steinberg scheme) that is frequently used for this purpose. As is shown
in figure 4, a number of arrows originate from a source pixel 44 and point to four
target pixels 46 adjacent to the source pixel. The fractions (7/16, etc.) given in
the target pixels 46 indicate the weight factors with which the error remaining from
the source pixel is distributed over the target pixels. the theshold value th with
which the grey level of the source pixel 44 is compared is 255, for example. This
standard arrow propagation scheme will be used for the printable pixels 36 outside
of the camouflage area.
[0025] It is assumed here that the processing of the source pixels proceeds from left to
right and from top to bottom. As is indicated by the arrows, the error is propagated
only in "forward" direction, i.e. each source pixel is processed earlier than its
target pixels.
[0026] Figure 5 illustrates a modified error propagation scheme 48 that will be used for
the pixels 38 in the line that is processed immediately before the line including
the non-printable pixels 34. Here, the error from the source pixel 44 is propagated
with a weight factor of 1 (16/16) only to the next pixel in the same line. Thus, the
image information is kept in the line in which it can actually be printed, and the
non-printable pixels 34 in the line below are not used as target pixels. The theshold
value th for the source pixel 44 is again 255. The large weight factor with which
the error is propagated horizontally in figure 5 increases the likelihood that additional
black pixels are added in this line, in order to achieve a camouflage effect similar
to the one shown in figure 2C.
[0027] Figure 6 shows another modified error propagation scheme 50 that will be used for
the non-printable pixels 34 in figure 3. Here, the error from the (non-printable)
target pixel 44 is propagated only into the line below, i.e. the line formed by the
pixels 40 in figure 4. The sum of the weight factors is again equal to 1, so that
the error is fully transferred onto the neighbouring line. Moreover, in this scheme,
the threshold value for the non-printable pixels 34 is increased to a level above
255. In other words, even when the grey level of such a pixel is equal to 255, the
pixel will nevertheless be made white and the error of 255 will be propagated to the
line below. Thus, the image information of the line that cannot be printed because
of the nozzle defect will be fully transferred to the line immediately therebelow.
Again, this increases the likelihood that one of the pixels 40 in figure 3 will be
made black in order to camouflage the nozzle defect. The pixels 40 form part of the
camouflage area because they are affected by the error propagation scheme 50 shown
in figure 6. However, when the pixels 40 are themselves processed in the error diffusion
process, the standard error propagation scheme 42 of figure 4 may be used.
[0028] In the example given above, it has been assumed that the threshold value utilised
in the error diffusion process is either 255 (for the error propagation schemes 42
and 48) or infinity (for the scheme 50). In a modified embodiment, however, it would
be possible to use a somewhat lower threshold value for the pixels 38 and/or 40, in
order to further increase the likelihood of black pixels being created. Optionally,
in order to avoid an over-compensation, it is possible that the weight factors indicated
in figure 6 are reduced correspondingly. This modified embodiment would have the effect
that the likelihood of becoming black is increased for the pixels 38 (above the line
of the nozzle defect) and decreased for the pixels 40 (the line below the nozzle defect).
[0029] With the error propagation schemes of Figures 4 to 6, the target pixels 46 are not
more than one line or column away from the source pixel 44. In a modified scheme,
the maximum distance between source and target pixel may be larger, e. g. 2. Then,
the camouflage area would also include the first and the fifth line in Figure 3.
[0030] Figure 7 illustrates the case of a specific two-pass print mode. When one of the
two nozzles responsible for printing the third line in the pixel matrix 32 in figure
7 is defective, only every second pixel in this line will be a non-printable pixel
34, and the intervening pixels 52 will belong to the camouflage area. In the error
diffusion process, the pixel 52 will be treated with an error propagation scheme in
which the error is only propagated downward but not horizontally. For the non-printable
pixels 34 the error may be propagated horizontally (as in Figure 5) and/or downwardly.
In case of the pixels 38, two different error propagations schemes have to be used,
depending upon whether or not the pixel is located directly above a non-printable
pixel 34.
[0031] The camouflage process described above is particularly efficient for images which
mainly contain small or medium grey levels. In case of very dark images and, in the
extreme, in the case of solid black areas, it is increasingly difficult or even impossible
to add more black pixels in the camouflage area. Nevertheless, the camouflage process
may be useful even for dark or black images, depending upon the design of the printer.
Some known printers are capable of printing a plainly black area even when the percentage
of black pixels in the bitmap is somewhat smaller than 100%. In this case, the modified
error propagation schemes for the camouflage area may lead to an over-saturated bitmap
which would still mask the nozzle defect to some extent.
[0032] A specific embodiment of the method according to the invention will now be described
by reference to the flow diagram shown in figure 8. In step S100 the multi-level pixel
matrix 32 is established by reading-in the grey values of the pixels. The pixel lines
that are affected by nozzle failures of the printhead are identified in step S101.
Then, in step S102, the camouflage area is determined. An optional step S103 may involve
a decrease of the threshold value th, e. g. from 255 to 191, for the lines (pixel
38 in Figure 3) preceding the lines affected by the defect. Step S104 identifies the
pixels (such as the pixels 34 and 38 in Figure 3) for which a modified error propagation
scheme (50 or 48) has to be employed and selects the appropriate scheme. In step S105,
the error diffusion process is performed for all the pixels of the pixel matrix with
either the non-modified or the selected one of the modified error propagation schemes.
The resulting bitmap is then printed in step S106.
[0033] Alternatively, the step S100 may be performed after the step S101 or even after the
step S104.
[0034] Figure 9 illustrates another embodiment which is adapted to the case that the print
data are presented already in the format of a bitmap, i.e. a matrix of only black
and white pixels. The bitmap is read in step S200. The steps S201 and S202 correspond
to the steps S101 and S102 discussed above. In step S203 the part of the bitmap which
corresponds to the camouflage area is reconverted into a multi-level pixel matrix.
To this end, a value of 255 is assigned to each of the black pixels of the pixel matrix,
i.e. the pixels having the binary value 1, and the white 0-pixels are left as they
are. All non-printable pixels 34 may be set to 0. The steps S204, S205 and S206 correspond
again to the steps S104, S105 and S106, with the difference that steps S204 and S205
are performed only for the camouflage area and for the lines that contain the corresponding
target pixels.
[0035] Figure 10A shows an example of the bitmap read in step S200. Again, it is assumed
that the nozzle that is responsible for printing the pixels in line i in the single-pass
mode is defective. Figure 10B illustrates the corresponding multi-level pixel matrix
obtained in step S203.
[0036] The embodiment of Figure 9 has been exemplified for the single-pass mode, but it
goes without saying that this method is also applicable to a multi-pass mode, as has
been described in conjunction with Figure 7.
1. printing method for a printer having a printhead (20) with a plurality of print elements
(22) and capable of printing a binary pixel image, the method comprising the steps
of:
a) locating defective print elements,
b) determining a camouflage area (34, 38, 40; 52) in the vicinity of pixels (34) that
would have to be printed with the defective print elements, and
c) camouflaging defective print elements by modifying image information in said camouflage
area,
characterised in that the camouflaging step is incorporated in a halftoning step, in which error diffusion
is used for creating said binary pixel image, and comprises a step (S104; S204) of
modifying an error propagation scheme (48, 50) for the camouflage area.
2. The method of claim 1, wherein the error propagation scheme (48, 50) is modified such
that the error is propagated with an increased weight factor to printable pixels (38,
40) in the camouflage area and with a reduced weight factor or not at all to non-printable
pixels 34.
3. The method of claim 2, wherein the sum of the weight factors with which the error
is propagated to printable pixels (38, 40; 52) is equal to 1.
4. The method of claim 2 or 3, wherein different error diffusion thresholds (th) are
used inside and outside of the camouflage area.
5. The method of any of the preceding claims, wherein the image information of non-printable
pixels (34) is always treated as an error and is propagated to printable pixels (38,
40; 52).
6. The method of any of the preceding claims, wherein a single-pass print mode is employed,
a first modified error propagation scheme (48) is used for pixels (38) in a line that
is processed immediately before a line of non-printable pixels (34), said first modified
error propagation scheme (48) being adapted to propagate the error only within the
same line.
7. The method of one of the claims 1-5, wherein a multi-pass print mode is employed,
a first modified error propagation scheme (48) is used for pixels (38) in a line that
is processed immediately before a line of non-printable pixels (34), said first modified
error propagation scheme (48) being adapted to propagate the error only within the
same line or in pixels in a next line that are printed with non-defective nozzles.
8. The method of one of the claims 1-5, wherein a single-pass print mode is employed,
and a second modified error propagation scheme is used for the non-printable pixels
(34), said second modified propagation scheme being arranged such that the error is
propagated only onto pixels 40 in the same line but printed by non-defective nozzle's
in the subsequent line or in a line subsequent to the line of non-printable pixels.
9. The method of any of the preceding claims, wherein print data are received in the
form of a first binary pixel image and are converted into a multi-level pixel matrix
before the halftoning and camouflaging steps (204, 205) are carried out.
10. A printer capable of printing a binary pixel image, characterised by a processing unit (24) in which a method of one of the claims 1 to 9 is implemented.
11. A computer program comprising computer program code to make a processing unit (24),
which forms part of or is connectable to a printer, execute the method according to
one of the claims 1 to 8.