A method of halftoning digitized grey value images and an image processing device suitable for performing such a method

Abstract: A method of halftoning digitized grey value images divided into pixels, comprising successive thresholding of grey values of the pixels and transportation of a quantization error made in these conditions for each pixel to at least one neighbouring pixel still to be thresholded, by adding the quantization error or part thereof to a grey value of the at least one pixel, the method comprising dividing the pixels into groups, group-wise thresholding the grey values of the pixels divided into groups, and transportation of the quantization error from a pixel of a group to solely pixels of at least one other group. Also relates to an image processing device for performing the method.

Description: The invention relates to a method of halftoning digitized grey value images divided into pixels, comprising successive thresholding of grey values of the pixels and transportation of a quantization error made in these conditions for each pixel to at least one neighbouring pixel still to be thresholded, by adding the quantization error or part thereof to a grey value of the at least one pixel. The invention also relates to an image processing device comprising input means for receiving grey value signals representing pixels, a halftoning unit connected to the input means, for halftoning the grey value signals, output means connected to the halftoning unit, for outputting binary signals, the halftoning unit being provided with: thresholding means for thresholding grey value signals to be fed thereto to produce thresholded signals, quantization error determining means for determining an error signal representative of a difference between a grey value signal to be fed to the thresholding means and corresponding to a pixel and the thresholded signal corresponding thereto and produced by the thresholding means, and error division means for transporting at least a part of the error signal to a grey value signal still to be fed to the thresholding means and corresponding to at least one neighbouring pixel. A method of this kind is known from Ulichney, Robert: "Digital Halftoning, MIT Press, 1987, Chapter 8, under the name of error diffusion. In this a grey value of a pixel is compared with a given threshold value. If this threshold value is exceeded a logic "one" or "zero" is generated. By means of this a binary printer, e.g. a black/white printer, can print the pixel as black or white. The error which occurs when a grey value is reduced to either black or white is known as the quantization error. Apart from texts and lines, insofar as they do not contain grey tints, a quantization error of this kind will lead to an unacceptable result in the case of photographs and screens. However, by dividing the quantization error over and adding it to grey values which have not yet been thresholded of a number of neighbouring pixels, a grey value impression perceived by the eye to correspond to the grey value before thresholding will nevertheless be obtained despite the fact that there are only two values to print. A grey surface whose grey value is, for example, approximately equal to the threshold value will as a result be converted to a mixture of approximately as many black as white pixels which over a larger area will give the same grey value impression as that of the original grey surface. Fig. 1A shows the general principle of an error diffusion method. A digitized grey value l(n) corresponding to the grey value of a pixel n of an image divided into pixels is subjected to a first threshold processing 1. In this case, the digitized grey value l(n) may consist, for example, of an 8-bit data word with which 256 possible grey values of a pixel can then be reproduced. It should be noted that the term "grey value" in this context is not intended to indicate the colour grey but an intensity value. The "grey value" can thus also refer to a colour of a colour separation image of a colour image made up of elementary colours such as cyan, magenta and yellow. The grey value l(n) may originate, for example, from a document scanner, an image memory or a communications line. Finally, the said pixels will frequently be arranged in horizontal lines and vertical columns with, for example, 300 pixels per inch or 600 pixels per inch. The said threshold processing 1 usually consists of a comparison of the grey value information l(n) supplied and a fixed threshold value T. For example, T = 128 in the case of 8-bit grey value information. However, without departing from the error diffusion principle, different location-dependent threshold values can be applied. These can be obtained, for example, by means of a dither matrix. After thresholding of the grey value l(n), the result O(n) will be "0" (black) or "1" (white, colour) depending on whether the grey value l(n) is less than or greater than the threshold value T. This result is suitable for supplying to a binary printer or reproduction system, e.g. a black/white printing laser or LED printer. It should be noted that halftoning is not restricted solely to converting grey value signals to binary signals. Halftoning can also be used, for example, for converting 8-bit grey value signals to 4-bit grey value signals. A difference, hereinafter referred to as a quantization error, between the grey value l(n) and the binary value O(n), obtained by thresholding, of a pixel n, is determined in a rounding-off error determining step 2 and divided, by a dividing operation 3, over and added, via adding step 4, to next grey values l(n + 1),l(n + 2),... still to be thresholded. Depending on the pixels over which, and the weighting factors with which, the quantization error is transported, a specific error diffusion method is obtained. In the above-mentioned work by Ulichney, various methods are described for dividing and adding or transporting the quantization error. For example, according to Floyd and Steinberg, transport to 4 neighbouring pixels is applied, or, according to Jarvis, Judice and Ninke, transport to 12 neighbouring pixels. In these cases the quantization error is transported to the neighbouring pixels with different weighting factors. Fig. 1B gives an example of transportation of the quantization error according to Floyd and Steinberg. The quantization error of the thresholded pixel n indicated by a dot is transported, with the weighting factors indicated in the Figure, to the following pixel n + 1 on the same image line and to the pixels n + m, n + m + 1, n + m + 2 on a following image line. The thresholding sequence is indicated by a given path formed, for example, by a line raster, the lines of which are successively traversed from left to right and from top to bottom. Various error diffusion methods are obtained inter alia by the choice of pixels to which the quantization error is transported, the weighting factors with which this is done, and the choice of path. One disadvantage of the method according to the error diffusion principle is the visibility of regular tracks of successive pixels having the same grey value in the print. Such tracks occur as a result of the transportation of the quantization error in accordance with a fixed distribution. Accordingly it is known to suppress these regular tracks to some extent, for example by providing a random fluctuating component for the weighting factors with which the quantization errors are divided. Other likewise known methods of suppressing such tracks are based on a less regular path by which the pixels are successively processed. For example the pixels may be processed in accordance with a serpentine-like path, in which the pixels are traversed alternately line-wise from left to right and vice-versa. Thus Fig. 1C, for example, illustrates a serpentine path 5, in which the pixels n, n + 1 ... are processed alternately from left to right and from right to left. The pixels are therefore thresholded consecutively one by one in the sequence n, n + 1, ... n + m, n + m + 1... etc. In this way the occurrence of "tracks" as a result of the transmission of errors in the same direction is suppressed to a certain extent. Another example is a path traversing a pseudo-random curve such as meander-shaped Hilbert or Peano-curve. Fig. 2 gives an example of such a path 6 as described by I.A. Witten and R. M. Neal in "Using Peano-curves for bilevel display of continuous tone images" (IEEE Computer Graphics & Applications; May (1982), pages 47-52). A path of this kind also traverses all the pixels in which the pixels are thresholded consecutively one by one. A quantization error from a pixel n is in this case transported over the next pixel n + 1 on the curve. As a result the distribution of the quantization error also acquires a quasi-random character. The said literature also describes dividing an image into different parts each traversed by a Peano-curve. In this case, however, the quantization error of a pixel is always transported to a pixel of the same curve. A disadvantage of pseudo-random curves of this kind is that the reproduction of spatial details is reduced since the quantization error is now always distributed in changing directions, as noted by G.S. Fawcett and G.F. Schrack in "Halftoning techniques using error correction" (Proceedings of the SID, 27 , (1986), pages 305-308). Another disadvantage of halftoning methods based on error diffusion is the serial character: for example a pixel at the end of a scanning line cannot be processed until the pixels in front of it on the scanning line have been processed so that the quantization error to be added to the pixel is available. Consequently, this method is less suitable for a simultaneous and parallel processing of pixels. Although the processing time can be reduced by dividing an image into different sub-images, each of which is subjected to an error diffusion processing operation separately by means of its own path, the boundaries between the sub-images will still remain visible. The sub-images must also have minimum dimensions for good distribution of the quantization error. The method according to the invention obviates the above disadvantages and is characterised in that the method comprises dividing the grey value image into rows and columns of pixels and forming, for each row at least a group of pixels situated in odd columns of the row and forming for each row at least a group of pixels situated in even columns of the row, simultaneously thresholding of the grey value of each pixel in a group and simultaneously transportation of the quantization error from each pixel of the group to solely pixels of at least one other group. Since the quantization errors originating from the pixels of a group are transported only to pixels of another group, all the pixels within a group can be thresholded independently of one another and even simultaneously. For the quantization errors occurring during thresholding are transported to pixels of another group. Marginal effects, as mentioned above in the case of parallel processing of different sub-images, are now avoided since the transportation of a quantization error to the other group is not restricted to boundaries within a group. Parallelisation per se can now be effected simply, although this is not a requirement to achieve an advantage of the method according to the invention. The image processing device according to the invention is characterised in that the halftoning unit is suitable for dividing the grey value image into rows and columns of pixels and for forming for each row at least a group by pixels situated in even columns of the row and for forming for each row at least a group by pixels situated in odd columns of the row and for simultaneously thresholding the grey value signal of each pixel in a group, and the error division means are suitable for transportation of an error signal from each pixel of the group simultaneously solely to grey value signals, still to be thresholded, of pixels of at least one other group. The invention will be explained with reference to the accompanying drawings, in which Figs. 1A, 1B and 1C illustrate a first example of a known method of error diffusion, Fig. 2 shows a second example of a known method of error diffusion, Figs. 3A, 3B and 3C show a first embodiment of a method according to the invention, Figs. 4A to 4D show a second embodiment of a method according to the invention, Figs. 5A to 5J give an example of a digitized image processed by the method according to Figs. 4A to 4D, Figs. 6A to 6E show a third embodiment of a method according to the invention, Figs. 6F and 6G show an example of a digitized image processed by the method according to Figs. 6A to 6E, and Figs. 7A and 7B diagrammatically illustrate an image processing device according to the invention. Figs. 3A and 3B show a first embodiment of the method according to the invention. Fig. 3A shows the condition for the transportation of the quantization error. The quantization error of the pixel n in a row is divided by the weighting factors shown in Fig. 3A and added to the adjacent pixels n + 1 of a following row. Fig. 3B shows the groups n, n + 1 in which the pixels are distributed. These groups n, n + 1 are thus formed by the horizontal rows. The pixels n within a group n are simultaneously thresholded, the quantization error being transported, in accordance with the condition shown in Fig. 3A, to the following pixels n + 1 for thresholding in the group n + 1. The pixels n + 1 of the group n + 1 are then thresholded with transportation of the quantization error to the pixels n + 2 of group n + 2 and so on. It is essential that a quantization error should not be divided within a group so that the different pixels of the group can be thresholded independently or even simultaneously. Thus to summarise, the quantization error is transported row by row as follows: 1st row from group n according to Fig. 3A to group n + 1 2nd row from group n + 1 according to Fig. 3A to group n + 2 3rd row etc. Fig. 3C shows how the grey values G are converted to binary values B by thresholding or to grey values G' by transportation of a quantization error. Other embodiments of the method according to the invention are obtained by different conditions for distributing the quantization error. For example by different weighting factors with or without a random factor. Nor is it necessary for the pixels within a group first to be thresholded before starting thresholding the pixels of the next group. The pixels of the next group to which the quantization error of the instantaneous group has already been added can be thresholded meanwhile. At the same time simultaneous thresholding can be limited to some of the pixels of a group (e.g. 16 each time). As already stated, a quantization error of a pixel is not distributed over pixels of the same group. In the case of groups formed by, for example, horizontal lines, it would not be possible then for transportation to be carried out horizontally. However, by defining a first and a second group of pixels in such manner that the pixels of the two groups are situated, for example, on a horizontal line, this difficulty can be overcome. Figs. 4A, 4B and 4C show a second method according to the invention which illustrates this. Figs. 4A and 4B respectively show a first and a second condition for the transportation of the quantization error from the pixels 2n and 2n-1 shown in Fig. 4C and situated in the groups 2n and 2n-1. The quantization errors of the pixels 2n-1 of the group 2n-1 (the odd-numbered pixels) are transported in accordance with the condition shown in Fig. 4A while the quantization errors of the pixels 2n of the group 2n (the even-numbered pixels) are transported in accordance with the condition shown in Fig. 4B. This is repeated for each subsequent line, i.e. after processing of the line with the groups 2n and 2n-1 the line with the groups 2n + 2 and 2n + 1 is processed, and so on. The groups of pixels in this case are therefore formed by line-wise cross-sections of the even and odd numbered columns. Quantization errors of the odd-numbered pixels 2n-1 of the group 2n-1 are thus transported to the even-numbered pixels 2n in the same horizontal row. This therefore gives a distribution in the horizontal direction. Quantization errors of the even-numbered pixels 2n in the group 2n are then transported to the odd-numbered pixels 2n + 1 of a subsequent row. In this way part of the quantization error is also transported to a following row. To summarise, the quantization error is transported as follows: 1st row from group 2n-1 according to Fig. 4A to group 2n from group 2n according to Fig. 4B to group 2n + 1 2nd row from group 2n + 1 according to Fig. 4A to group 2n + 2 from group 2n + 2 according to Fig. 4B to group 2n + 3 3rd row etc. Fig. 4D illustrates how the grey values G are converted to binary values B by thresholding or to grey values G' by transportation of a quantization error. The outlined characters illustrate the values changed in these conditions. Figs. 5A to 5J give an example of part of a grey value image before, during and after processing in accordance with the method described in Figs. 4A to 4C. Fig. 5A represents a uniform grey value area with a grey value of 60 out of a possible range of grey values between 0 and 100. In the following Figures 5B to 5I the changes in the grey values are shown consecutively as they occur after processing in accordance with Fig. 4A or Fig. 4B. Fig. 5B shows the result after processing according to Fig. 4A (transportation of the quantization error to the left-hand and right-hand neighbour) in the case of thresholding of the odd pixels in the first row (group 2n-1) in Fig. 4C. Fig. 5C shows the result after processing according to Fig. 4B (transportation of the quantization error to the left-hand and right-hand neighbour in the following row) on the even pixels in the first row (group 2n) of Fig. 4D. The first row is now thresholded, the quantization errors being distributed to the second row. Figs. 5D and 5E show the result after the same processing operations carried out on the second row, Figs. 5F and 5G the result after processing carried out on the third row and finally Figs. 5H and 5I show the result after processing carried out on the fourth row. Fig. 5J illustrates the finally obtained pattern of binary values. Of the 25 pixels in this example 15 are "ones", i.e. 60% of the total, corresponding to the grey value of 60. Figs. 6A to 6E illustrate a third embodiment of a method according to the invention. Whereas in the embodiments according to Figs. 3A and 3B, and Figs. 4A to 4C, respectively, the pixels in a horizontal line are divided up into one and two characteristic groups respectively, in the embodiment shown in Figs. 6A to 6E the pixels of a horizontal line are divided into four characteristic groups. Fig. 6E shows the division of the pixels. The characteristic groups are formed in each horizontal row by the pixels having the numbering 2n-1, 2n, 2n + 1 and 2n + 2. Figs. 6A, 6B, 6C and 6D respectively illustrate the conditions for transportation of the quantization error from the pixels 2n-1, 2n, 2n + 1 and 2n + 2 of the groups 2n-1, 2n, 2n + 1, 2n + 2 shown in Fig. 6E. Also, compared with the embodiments described hereinbefore, in this embodiment the quantization error is transported over more than one other group, as will be apparent from the conditions shown in Figs. 6A, 6B and 6C. The sequence in which the groups of pixels are thresholded is as follows: 1st row from group 2n-1 according to Fig. 6A to group 2n and group 2n + 1 and group 2n + 6 from group 2n according to Fig. 6B to group 2n + 2 and group 2n + 5 from group 2n + 1 according to Fig. 6C to group 2n + 2 and group 2n + 4 from group 2n + 2 according to Fig. 6D to group 2n + 3 2nd row from group 2n + 3 according to Fig. 6A to group 2n + 4 and group 2n + 5 and group 2n + 10 from group 2n + 4 according to Fig. 6B to group 2n + 6 and group 2n + 9 from group 2n + 5 according to Fig. 6C to group 2n + 4 and group 2n + 8 from group 2n + 6 according to Fig. 6D to group 2n + 3 3rd row etc. Finally, Figs. 6F and 6G illustrate how the grey values G are converted to binary values B by thresholding or are corrected to grey values G' by transportation of a quantization error. The outlined characters indicate the instantaneously changed values. Fig. 7A illustrates a halftoning unit 7 suitable for performing the method indicated in Figs. 4A to 4C. Grey value signals l(p,2q) and l(p,2q-2) of pixels, situated in even columns 2q and 2q-2, in a row p of a grey value image divided up into rows p and columns q are fed to input buffers 8. Under the control of control signals C also fed to the latter the grey value signals l(p,2q) and l(p,2q-2) buffered therein are then fed to adding units 9 of the halftoning unit 7 at the time when the error signals e(p,2q + 1), e(p,2q-1) and e(p,2q-3), corresponding to the pixels situated in the odd columns 2q + 1, 2q-1 and 2q-3 of the same row p are available, said error signals being transported to the said grey value signals via said adding units 9. The grey value signals l(p,2q + 1), l(p,2q-1) and l(p,2q-3) which are not fed to the input buffers 8 and which correspond to the pixels of row p situated in the odd columns 2q + 1, 2q-1 and 2q-3 are, on the other hand, fed directly to the adding units 9 of halftoning unit 7. The error signals e(p-1,2q-4), e(p-1,2q-2), e(p-1,2q) and e(p-1,2q+2) which are to be transported to these signals and which correspond to the pixels of the previous processed row p-1 situated in the even columns 2q-4, 2q-2 and 2q are in fact already available. These have already been calculated in the previous processing step with respect to line p-1 and are stored in the error buffers 13. Each grey value signal l(p,...) corrected by the error signals in the manner described above is then fed to a corresponding thresholding unit 11. The thresholding units 11 compare these corrected grey value signals l(p,...) with a predetermined threshold value T. The thresholding units 11 generate output signals O(p,...) which can assume one of two possible logic values. One or other of the logic values is generated according to whether the grey value signals l(p,...) fed are larger or smaller than the threshold value T. Subtraction units 12, by reference to the output signals O(p,...) thus generated and fed to said units, and the corrected grey value signals l(p,...), determine the magnitudes of the quantization errors made by thresholding. The error signals e(p,...) representing the quantization error are then each divided in half via error division units 10 and fed to the above-mentioned adding units 9. Error signals e(p,2q) and e(p,2q-2)corresponding to the pixels situated in the even columns 2q and 2q-2 are first stored in the error buffers 13 in these conditions. The error signals e(p,2q) and e(p,2q-2) stored therein are read out and fed to the connected error division units 10 at a time when grey value signals l(p + 1,...) of a following pixel row p + 1 are fed to the halftoning unit 7. The error buffers 13 thus store the error signals for at most the processing time required for one row. It should be noted that the number of grey value signals l(p,...) to be processed in parallel is arbitrary and Fig. 7A simply shows the processing of a limited number of grey value signals l(p,...). Fig. 7B diagrammatically shows how the halftoning unit 7 shown in Fig. 7A can be coupled to a grey value memory 14 and to a binary or bit map memory 15. A control unit 16 generates address reading signals R for the selection of grey value signals l(p,...) to be fed to the halftoning unit 7 and the input buffers 8. The control unit 16 also generates address write signals W for writing the binary output signals O(p,...) generated by the halftoning unit 7 into the bit map memory 15. Finally, the control unit 16 generates control signals C, e.g. synchronization signals.

Claims: A method of halftoning digitized grey value images divided into pixels, comprising successive thresholding of grey values of the pixels and transportation of a quantization error made in these conditions for each pixel to at least one neighbouring pixel still to be thresholded, by adding the quantization error or part thereof to a grey value of the at least one pixel, characterised in that the method comprises dividing the grey value image into rows and columns of pixels and forming, for each row at least a group of pixels situated in odd columns of the row and forming for each row at least a group of pixels situated in even columns of the row, simultaneously thresholding of the grey value of each pixel in a group and simultaneously transportation of the quantization error from each pixel of the group to solely pixels of at least one other group. A method according to claim 1, characterised by transportation of the quantization error from a pixel of a row situated in an odd column to the pixels still to be thresholded in the two adjacent even columns of the same row and transportation of the quantization error from a pixel of a row situated in an even column to the pixels still to be thresholded in the two adjacent odd columns of an adjacent row. A method according to any one of the preceding claims, characterised by transportation of the quantization error with identical weighting factors. An image processing device comprising: input means for receiving grey value signals representing pixels, a halftoning unit connected to the input means, for halftoning the grey value signals, output means connected to the halftoning unit, for outputting binary signals, the halftoning unit being provided with: thresholding means for thresholding grey value signals to be fed thereto to produce thresholded signals, quantization error determining means for determining an error signal representative of a difference between a grey value signal to be fed to the thresholding means and corresponding to a pixel and the thresholded signal corresponding thereto and produced by the thresholding means, and error division means for transporting at least a part of the error signal to a grey value signal still to be fed to the thresholding means and corresponding to at least one neighbouring pixel, characterised in that the halftoning unit is suitable for dividing the grey value image into rows and columns of pixels and for forming for each row at least a group by pixels situated in even columns of the row and for forming for each row at least a group by pixels situated in odd columns of the row and for simultaneously thresholding the grey value signal of each pixel in a group, and the error division means are suitable for transportation of an error signal from each pixel of the group simultaneously solely to grey value signals, still to be thresholded, of pixels of at least one other group. An image processing device according to claim 4 characterised in that the error division means are suitable for transporting the error signal from a pixel of a row, situated in an odd column, to the grey value signals, still to be thresholded, of the two adjacent pixels of the same row, situated in the even columns, and transporting the error signal from a pixel of a row, situated in an even column, to the grey value signals, still to be thresholded, of the two pixels of an adjacent row situated in the adjacent odd columns. An image processing device according to any one of claims 4 to 5, characterised in that the error division means are suitable for transporting the error signal with identical weighting factors to the grey value signals still to be thresholded. A system comprising a scanner and a printer provided with an image processing unit according to any one of claims 4 to 6.

Inventors: MOOLENAAR ABRAHAM, MOOLENAAR, ABRAHAM
Applicants: OCE TECH BV, OCE-TECHNOLOGIES B.V.
Application year: 1994
Main classification: H04N1
IPC codes: G06T5, H04N1