Method and apparatus for generating simultaneously derived correlated digital halftone patterns

Abstract: Method and apparatus for generating a halftone image. An ensemble of correlated minimum visual modulation two-dimensional binary patterns are provided. Each pattern corresponds to one density level of a digital input signal. The set of patterns is generated simultaneously by minimizing an ensemble cost function which is the variance of non-zero spatial frequencies weighted by a human visual system modulation transfer function. The patterns are then modularly addressed to select bits to form halftone pattern.

Description: Technical Field The present invention relates to the field of digital image processing and more particularly to a method for digital halftoning continuous tone images using a correlated database of modulated bit-map patterns that are globally optimized for minimum visual modulation. Background Art Digital halftoning refers to the technique for simulating a continuous tone image by means of patterns of dots and no dots which the eye perceives as a representation of a gray-scale level. Halftoning might be used, for example, to represent a continuous tone photograph with a printing device such as a laser printer capable only of printing dots or leaving open spaces. As one might imagine, there are virtually limitless numbers of patterns of dots and no dots which may represent an average desired density or gray scale level. However, such patterns can produce images with visual noise such as moire patterns which seriously degrade image quality. The goal of the present invention, therefore, is to minimize the visually perceived modulation noise for patterns of dots and no dots that on average represent a particular signal gray level. Digital halftoning for generating continuous-tone images has been practical since the mid-1960's (see "Picture Generation with a Standard Line Printer," by Perry and Mendelsohn, Comm. of the ACM, Vol. 7, No. 5, pp 311-313.) The two major techniques in current use are dithering and error diffusion. See Digital Halftoning by Ulichney, MIT Press, Cambridge, Massachusetts, pp 77-79, 127, 239-240. The most notable dithering techniques are random dither, clustered-dot dither, dispersed dot dither, and dither pattern look-up-tables. Random dither was developed first but is rarely used as it produces images with the poor image quality. Clustered-dot dither and dispersed-dot dither are used with clustered-dot dither being by far the most prevalent. These techniques are based upon a threshold screen pattern that is generally a fixed size, e.g., 8x8 image pixels, which is compared with the input digital image values. If the input value is greater than the screen pattern number, the output is set to "on" else the output is set to "off." The threshold map generally is devised in a sequential manner, with output patterns being decided conditioned on decisions made on previous halftone density levels. In the case of the clustered-dot technique, the patterns are developed from a center growing dot, similar to the manner that halftones are created in graphic arts applications such a lithography in which dot size can vary. Larger patterns allow more levels, but also introduce a reduction in the effective resolution because the transition between levels is at a coarser pitch. At the medium pixel rate of copiers and laser printers, e.g., 300-500 dots per inch, pattern artifacts are visible for screen patterns larger than 4x4. The resulting number of effective levels, e.g., 16, is inadequate for typical continuous-tone imagery. Dither pattern look-up-tables attempt to circumvent the problem of reduced resolution typical of threshold methods while maintaining the implementation simplicity over methods such as error diffusion. These patterns are used as a data base in this technique that are accessed in a modular fashion. Each halftone pattern in the data base in this technique has been determined independently to have minimum visual distortion for a selected gray-scale, see "Design of Minimum Visual Modulation Halftone Patterns," by J. Sullivan, L. Ray and R. Miller, IEEE Transactions on Systems, Man and Cybernetics, Vol. 21, No. 1, 1991, pp. 33-38. From this publication it is known to use the grey value of an image pixel to select the appropriate bit patterns, and to use the 5 least significant bits of the pixel location in a modulo-32 manner to address the pattern. Such kind of technique of addressing the pattern is hereinafter referred to as "modularly addressing" the pattern. While these patterns are excellent for tint-fill applications, when applied to general imaging applications the results are disappointing. Error diffusion fundamentally is different from dither pattern halftoning approaches in that there is no fixed pattern. Instead a recursive algorithm is used that attempts causally to correct errors made by representing the continuous input signal by binary values. The two major components of error diffusion are a matrix of fractions that weight past errors and a threshold operator based on the sum of those weighted errors and the current pixel that determines whether to output "on" or "off." The best error diffusion techniques are two-dimensional, meaning that the error is fed back from previous lines as well as previous pixels. The error feed-back mechanism is usually linear and the sum error is a linear combination of past errors, but the thresholding is nonlinear thereby making the compound process nonlinear. Approximating thresholding as a signal-dependent gain, it can be shown that for positive error weights the output binary signal will be high-pass in uniform image regions introducing "blue-noise" into the image (see Ulichney, cited above). As discussed by Ulichney, this "blue-noise" is a very favorable feature because the perception of this noise will be reduced by the low-pass filtering of the human visual system causing a higher perceived signal-to-noise ratio. Unfortunately, the error weights are indirectly related to this preferred noise characteristic and therefore provide sub-optimal control, and for certain signal levels the causal feedback can become visually unstable generating correlated patterns or "worms" that are visually objectionable. The most common solution is modulating the weights randomly which reduces the "worms" but also increases the noise. Individual halftone patterns should be correlated in order to produce images of acceptable quality. Approaches which do not correlate the patterns result in severe image noise, nearly comparable to the results obtained using a random-dot dither pattern. A common approach is to determine a nested set of patterns. (see "Optimal Method for Two-Level Rendition of Continuous-Tone Pictures," by B.E. Bayer, Proc. IEEE Int. Comm. Conference Record, pp. (26-11)-(26-15)) The approach described in this specification guarantees that the patterns will be nested for successive gray-scale levels and that the correlation between patterns is maintained. Other halftoning approaches have used visual models to design halftone patterns. These patterns typically are referred to as "blue-noise" patterns. As discussed above, "blue-noise" is a desirable feature. In the prior art, however, the selection of the patterns is done sequentially, either by a lattice or a sequential decision process (see "Digital Halftoning with Correlated Minimum Visual Modulation Pattern," U.S. Patent Application, Serial No. 476,090 filed February 7, 1990 by Lawrence A. Ray and James R. Sullivan, and "Digital Halftoning Using a Blue Noise Mask," by Theophano Mitsa and Kevin J. Parker, in Image Processing Algorithms and Techniques II, SPIE Vol. 1452, 1991, pp. 47-56.) These methods are limited because of the dependence upon a sequential decision process. Such a sequential decision process attempts to optimize the results at each stage which may result in suboptimal results in subsequent pattern selection. In the present invention this limitation is eliminated by developing all patterns simultaneously. Correlated patterns result which are optimal as an ensemble. The present invention relates to a method for generating a halftone image and to a method of halftoning an image as referred to in claims 1 and 17, respectively. Further, the invention relates to a halftoning apparatus and to a method for generating a halftone image in a computer as referred to in claims 11 and 18, respectively. Preferred embodiments of the invention are disclosed in the dependent claims. Summary of the Invention The method according to the invention for generating a halftone image includes providing an ensemble of correlated minimum visual modulation two-dimensional binary patterns, each pattern corresponding to one density level of a digital input signal. The set of patterns is generated simultaneously by minimizing an ensemble cost function which is the sum of costs which are the variances of non-zero spatial frequencies weighted by a human visual system modulation transfer function. The patterns are then modularly addressed to select bits to form the halftone pattern. In one embodiment, the set of patterns is generated by stochastic annealing, a combinatorial minimization technique. In another embodiment the minimization technique is a genetic algorithm. The halftone pattern is determined by a two-dimensional pixel array the elements of which are integers representing the density levels of pixels of the input signal selected so that the halftone pattern has the correct mean density. It is preferred that the two-dimensional array be NxN, preferably 32x32. A suitable ensemble cost function is the sum of costs for individual bit patterns derived from the modulus of the discrete Fourier transform multiplied by the visual modulation transfer function. The NxN pixel (e.g., 32x32) array explicitly determines bit-map patterns for each density level in an image. The patterns are correlated and collectively have minimum visual noise within constraints imposed by the correlation and the modular addressing of the patterns with each pixel value and pixel location in the image. At each gray level the array uniquely determines a halftone pattern with the correct mean density. A key to the present invention is that the patterns are developed simultaneously as compared with a sequential process known in the prior art. The techniques of the invention can be implemented with minimal sophistication to generate optimal image quality. This quality is achieved by optimizing globally as compared to systems which are either optimized locally or the optimization is conditioned on prior decisions or optimizations. The prior art techniques result in patterns that, although correlated, begin to display undesirable spatial frequencies at levels highly conditioned on previous results. These spatial frequencies can not be removed because of the prior pattern selections. According to the invention, by optimizing the ensemble globally, a balance across the patterns can be set and a particular pattern is not disadvantaged because of irrelevant numerical characteristics, e.g., being an odd number. The cost function used in this invention spreads the noise associated with a halftone pattern in a way that appears as a completely random structure and is visually appealing. Thus, the present invention eliminates the isolated spatial frequencies that are observable to an observer in prior art techniques. Brief Description of the Drawing Fig. 1 is a graph of a human visual modulation transfer function; Fig. 2 is block diagram showing the digital halftone image processing technique of the invention. Description of the Preferred Embodiment In the following it is assumed that patterns for 256 gray scale levels are designed using a 32x32 array M. It is emphasized that the method of this invention is general and can apply to any number of levels and array size. For 256 gray scale levels, the elements of the array M are integer values between 0 and 255. At each gray level the array M uniquely determines a halftone pattern with the correct mean density. For a gray scale level q, the halftone pattern P q is determined by Individual halftone patterns need to be correlated in order to produce images of acceptable quality. As discussed above, approaches which do not correlate the patterns result in severe image noise, nearly comparable to the results obtained by using a random-dot dither pattern. The approach described by equation (1) above guarantees that the patterns will be nested for successive gray-scale levels, and that the correlation between patterns is maintained. The method for generating halftone images according to the present invention involves designing correlated minimum visual modulation patterns simultaneously for all input pixel levels, and modularly addressing the patterns to select bits to be used in the halftone image. The bit-map pattern design will be described first followed by description of the addressing and pattern selection process. The goal of the present invention is to minimize the visually perceived modulation for a pattern of dots and no dots that on average represent a particular signal level. Moreover, the patterns must be correlated sufficiently in order to reduce any artifacts that occur because of shifts in the input signal or textual differences between patterns. The first aspect of the pattern generation criteria requires the definition of visual modulation or cost for a given pattern and a method for cost minimization. The second aspect of the pattern generation is to correlate the patterns and determine an ensemble cost which is used to design the ensemble simultaneously. For normal viewing distance, i.e., 10 inches, the effective two-dimensional modulation transfer function, MTF, of the human visual system is shown in Fig. 1. This transfer function requires a definition of visual modulation which was established to first-order in a functional model of the low-contrast photopic MTF of the human visual system (see "Application of a noise adaptive contrast sensitivity function to image data compression," by S. Daly, SPIE Proc., Vol. 1077, 1989, pp. 217-227). The MTF function is given by where the constants a, b, c and d are calculated from empirical data to be 2.2, 0.192, 0.114 and 1.1 respectively, f ij is the radial spatial frequency in cycles/degree of visual subtense scaled for the viewing distance, and fmax is the frequency at which the functional MTF function peaks. To implement this function it is necessary to convert discrete horizontal and vertical document frequencies, {f i , f j }, into radial visual frequencies. For a symmetric printing grid, the horizontal and vertical discrete frequencies are periodic and given in terms of the dot pitch Δ and the number of frequencies N by f i = i - 1 ΔN f j = j - 1 ΔN Converting these to radial frequencies, and scaling the result to cycles/visual degree for a viewing distance, dis, in millimeters gives: f ij = π 180 arcsin( 1 1 + dis 2 ) f 2 i + f 2 j To account for variation in visual MTF as a function of viewing angle, , it is convenient to normalize these frequencies by an angular dependent function, S ij (), and use equation (4). This is f ij = f ij S ij Θ where the angular normalization function S ij () is given by Daly as, S ij (Θ) = 1 - w 2 cos 4Θ + 1 + w 2 with w being a symmetry parameter, and Θ = arctan ( f j f i ) Review of equation (6) shows that as w decreases, S ij () decreases near 45° which in turn increase f , and decreases V ij , making the visual MTF more low-pass at those angles. The visual MTF for Δ=0.0625 (i.e., 400 dots/inch), N = 32, and w = 0.7 at normal viewing distance is shown in Fig. 1, illustrating the low-pass nature of the visual system and the reduced sensitivity at 45°. There are many cost functions that can be forwarded, and the approach disclosed herein is not limited to a particular cost function. One obvious cost function is given by: where R ij 2 is the squared magnitude of the Fourier transform of the halftone pattern. If the human visual system truly was linear then the MTF of equation (2) would be sufficient to characterize fully the perception of halftoning noise. However, since the human visual system is not linear and is very sensitive to periodic noise and replicated patterns a cost function more sophisticated than represented by equation (8) is desirable. The cost function represented by equation (8) has a preference for discrete frequencies. An improved cost function detailed below attempts to spread the pattern signal in a smooth manner within the spatial frequency domain but in a manner consistent with the model of the human visual system. The effect of this is to reduce the preference to a discrete frequency. This preferred cost function is the variance of the non-zero spatial frequencies which have been weighted by the human visual system model. The goal is to minimize the variance, which can be considered as a weighted or visual white noise. Experimentally, this cost function produces patterns which have a more acceptable visual appearance. To evaluate the cost for a particular NxN bit pattern, P q , derived from the pattern M(ij), the modulus of the discrete Fourier Transform (DFT) of the pattern P q is calculated and multiplied by the visual MTF, and is denoted R(ij). The cost is the variance of the entries of the array R less R(0,0). The value of R(0,0) is the mean level and is constant for any configuration of the pattern P q . Lower costs are indicative of pattern noise which is visually white with no visual spatial frequency predominating. We denote this cost as C q . The overall cost of the ensemble is given by a weighted sum of all C q , for q = 1,...,254. Symbolically, where W q , q = 1,254 is a set of weights, with the present embodiment having all W q being equal. The choice of weights, W q , is a design parameter. If mid-gray-scale levels have more importance, then the relative weights are increased. The effective gray-scale of diffuse-dot patterns has been shown to vary from being linear as one might naively expect. See, I. Chen, "Stochastic Model of Halftone Images in Digital Electrography," Journal of Imaging Science, Vol. 35, No. 1, January/February 1991, pp. 44-48. However, the nonlinearity can easily be remedied by modifying the threshold map by selecting the table entries to be unique and applying the stochastic annealing process to determine the best correlated patterns. By applying the model from the Chen reference, the perceived gray-scale can be estimated and 256 values of the 1024 can be selected to maintain the linear response. Since a large number of pattern ensembles can be determined, the selection of an optimal ensemble becomes a significant combinatorial problem. One method to optimize the ensemble is a genetic algorithm (see "Genetic Algorithms in Search Optimization and Machine Learning," by David E. Goldberg, Addison-Wesley, Reading, Mass. 1989). Another method to optimize the ensemble is to apply a method known as stochastic annealing or simulated annealing (see "Design of Minimum Visual Modulation Halftone Patterns," by J. Sullivan, L. Ray and R. Miller, IEEE Trans. on Systems, Man and Cybernetics, Vol. 21, No. 1, January 1991, pp. 33-38). A key feature of this method is that it is well suited for a discrete search space and that local minima can be escaped by the possibility of accepting cost increases at each iteration. Stochastic annealing is implemented by selecting a current configuration and calculating its visual cost. Two entries in the array M are selected randomly, say (i,j) 0 and (i,j) 1 if M((i,j) 0 ) ≠ M((i,j) 1 ) then the two entries are exchanged. Say M((i,j) 0 ) = q 0 and M((i,j) 1 ) = q 1 , then all patterns P q for q 0 ≤q≤q 1 are perturbed and new visual costs must be computed in order to establish the cost of the new M array. In the following it assumed that the pattern size is 32x32, but with obvious modifications these patterns can be expanded to other array sizes. Details of the stochastic annealing are included in the following steps: 1. Initialize an array M with entries randomly selected such that pattern P q has the correct average gray-scale value. In the case of 256 gray-scale levels using a 32x32 array M the initialized array M has entries randomly selected such that four values like 51, 102, 153 and 204 are selected precisely 5 times, and all other values between 1 and 254 are selected precisely four times. 2. Determine the visual cost of the array M as described above, denoted C 0 . 3. Exchange two entries in M to form array M 1 and compute the cost C 1 . 4. Compute the absolute difference of C 0 and C 1 and store the result in a table. 5. Perform steps 1-4 many times, e.g., 1000, sort the table in descending order and select a value representing the percentage of cost increases to be accepted initially, e.g., 80% for table entry 800. 6. Calculate a test statistic τ given by: τ = exp(-Table (800)) This statistic commonly is known as the temperature of the system and will be used as the initial temperature. 7. Configure a new array M. 8. Calculate the visual cost of this array, and denote it by C old . 9. Exchange two entries of the array M and compute the resulting visual cost C new , and the change in visual cost, ΔCost = C old -C new . 10. If ΔCost ≤ 0.0, then accept the change and C old = C new . 11. If ΔCost > 0.0, compute statistic ρ = exp( - ΔCost/τ) and a random number ζ, 0<ζ<1. If ρ<ζ, then accept the new configuration and C old = C new . Otherwise, the array M remains as it was. 12. Repeat steps 8-11 many times, e.g., 1000, and then decrease the temperature τ by some factor κ, where κ<1, to form a new temperature κτ. 13. Repeat steps 8-12 many times, e.g., 100 or until the visual cost no longer diminishes. Fig. 2 is a block diagram illustrating the technique of this invention. Digital scanner 10 scans an input image such as a continuous tone photograph and for each pixel generates a binary representation of the gray-scale level of the pixel. The output from the digital scanner 10 is processed by a general purpose computer 12 which may be a supercomputer. The computer 12 develops the individual halftone patterns by the procedure set forth above to create a pattern for each gray-scale level. In the embodiments described above the computer 12 will generate 256 patterns which are stored in a memory within the computer 12. The pattern corresponding to the gray-scale level of a pixel is printed by a marking engine 14 which may be a printer such as a laser printer having a resolution of 300 to 500 dots per inch. The process is repeated for each pixel of the input material. In this way, a halftone image is created which minimizes visual noise.

Claims: Method for generating a halftone image comprising: providing an ensemble of correlated minimum visual modulation two-dimensional binary patterns, each pattern corresponding to one density level of a digital input signal, the set of patterns being generated simultaneously by minimizing an ensemble cost function which is the variance of non-zero spatial frequencies weighted by a human visual system modulation transfer function; and modularly addressing the patterns to select bits to form the halftone image. The method of claim 1 wherein the set of patterns is generated by a combinatorial minimization technique. The method of claim 2 wherein the combinatorial minimization technique is stochastic annealing. The method of claim 2 wherein the combinatorial minimization technique is a genetic algorithm. The method of claim 1 wherein the halftone pattern is determined by a two-dimensional array, the elements of which are integers representing the density levels of the input signal so that the halftone pattern has the correct mean density. The method of claim 5 wherein a halftone pattern P q for density level q is determined by where M (i,j) is the two-dimensional array. The method of claim 5 or 6 wherein the two-dimensional array is 32x32. The method of claim 1 wherein the ensemble cost function is where C q is the cost of a particular bit pattern P q derived from the modulus of the discrete fourier transform multiplied by the visual modulation transfer function and W q is a set of weights. The method of claim 8 wherein the ensemble cost is optimized by a combinatorial minimization technique. The method of claim 9 wherein the combinatorial minimization technique is stochastic annealing and is implemented by the steps of: (1) initializing an array M with entries randomly selected such that the pattern P q has the correct average gray-scale value; (2) determining the visual cost of the array M; (3) exchanging two entries in M to form array M 1 and compute the cost C 1 ; (4) computing the absolute difference of C 0 and C 1 and storing the result in a table; (5) performing steps 1 to 4 many times, sorting the table in descending order and selecting a value representing the percentage of cost increases to be accepted initially; (6) calculating a text statistic τ; (7) configuring a new array M; (8) calculating the visual cost of this array and denoting it by C old ; (9) exchanging two entries of the array M and computing the resulting visual cost C new , and the change in visual cost, ΔCost = C old - C new ; (10) if ΔCost ≤ 0.0, then accepting the change and making C old = C new ; (11) if ΔCost > 0.0 computing statistic ρ = exp (-ΔCost/τ) and a random number ζ, 0 < ζ <1. If ρ < ζ then accepting the new configuration and C old = C new . Otherwise the array m remaining as it was; (12) repeating steps 8-11 many times and then decreasing the temperature τ by sum factor k where k < 1 to form a new temperature kτ; (13) repeating steps 8-12 many times until the visual costs no longer diminishes. Halftoning apparatus comprising: digital scanner for generating from source material a digital signal representing density levels (gray levels) of pixels in the source material; a computer programmed to operate upon the digital signal from the scanner to generate an ensemble of correlated minimum visual modulation two-dimensional binary patterns, each pattern corresponding to one density level of the digital input signal, the set of patterns being generated simultaneously by minimizing an ensemble cost function which is the variance of non-zero spatial frequencies weighted by a human visual system modulation transfer function; the computer further programmed to address modularly the patterns to select bits to form the halftone pattern; and a marking engine driven by the computer to create a halftone image. The apparatus of claim 11 wherein the computer is programmed to generate the patterns by a combinatorial minimization technique. The apparatus of claim 12 wherein the combinatorial minimization technique is stochastic annealing. The apparatus of claim 12 wherein the combinatorial minimization technique is a genetic algorithm. The apparatus of claim 11 wherein the marking engine is a laser printer. The apparatus of claim 15 wherein the laser printer has a resolution in the range of 300 to 500 dots per inch. A method for halftoning an image by utilizing an ensemble of correlated minimum visual modulation two dimensional binary patterns, each pattern corresponding to one density level of a digital input signal, the set of patterns being generated simultaneously by minimizing an ensemble cost function, and modularly addressing said patterns so as to select bits to form the halftone image. A method for generating a halftone image in a computer comprising the steps of: simultaneously generating an ensemble of correlated minimum visual modulation two-dimensional binary patterns with each pattern corresponding to one density level of a digital input signal; and modularly addressing the patterns to select bits to form the halftone image.

Inventors: RAY LAWRENCE ALLEN, RAY, LAWRENCE ALLEN,, Ray, Lawrence Allen, c/o EASTMAN KODAK COMPANY
Applicants: EASTMAN KODAK CO, EASTMAN KODAK COMPANY (A NEW JERSEY CORPORATION)
Application year: 1993
Main classification: H04N1
IPC codes: H04N1, G06T5