You are on page 1of 5

Look-Up-Table Based Halftoning Algorithm∗

Pingshan Li and Jan P. Allebach


School of Electrical and Computer Engineering
Purdue University, West Lafayette, IN 47907
{pingshan,allebach}@ecn.purdue.edu

Abstract Let f [m, n] denote the input continuous-tone im-


Screen design requires that the stacking property be age, t[m, n] denote the screen matrix, and g[m, n] the
obeyed. This constraint limits the texture quality at output halftone image. Then a screening process can
each gray level. To improve texture quality, we in- be represented by
troduce a look-up-table based halftoning algorithm for 
which the stacking constraint is not necessarily satis- 1, if f [m, n] ≥ t[m, n],
g[m, n] = (1)
fied but the binary patterns for individual levels are 0, otherwise.
still correlated. The algorithm improves the halftone
The dot profile function p[m, n; a] is a stack of binary
image quality compared with screening.
textures used to represent each level of constant ab-
1 Introduction sorptance a.
Screening is a low complexity halftoning algorithm 
1, if a ≥ t[m, n],
that has been used in many applications. One of the p[m, n; a] = (2)
0, otherwise.
most popular screens is the particular dispersed dot
screen introduced by Bayer[1] for use with bitmap dis- The output halftone image can also be obtained by a
plays. In recent years, various techniques for macro point-to-point spatial mapping [5]
screen design have been developed [2][3].
For screen design, the binary patterns at each gray g[m, n] = p[m, n; f [m, n] ] (3)
level must satisfy the stacking constraint. The stack-
ing constraint ensures that the halftoning operation If the dot profile corresponds to a screen, it will satisfy
can be implemented by thresholding. However, it the stacking constraint:
severely limits the choice of texture at each gray level.
To improve the texture quality, look-up-table based p[m, n; b] = 1 =⇒ p[m, n; a] = 1, ∀a > b (4)
halftoning algorithms have been investigated by tak- To improve the texture quality, we design a more gen-
ing out the stacking constraint. eral form of LUT by relaxing the stacking constraint.
Sullivan et al described a look-up-table method in The LUT based halftoning process can still be repre-
which the binary patterns are optimized for individual sented by (3). However, (4) is not necessarily satisfied.
gray levels [4]. However, since the patterns are uncor- Because the stacking constraint is not necessarily
related, it produces poor quality halftone images when satisfied for the LUT, the halftone pixels may not
applied to general continuous-tone images. change consistently when image gray value changes.
We propose a new look-up-table (LUT) based There are two major artifacts caused by the incon-
halftoning algorithm in which the stacking constraint sistency of the LUT: black clusters and white voids.
is not necessarily satisfied, but the binary patterns are Black cluster artifacts occur where the halftone pixel
still correlated to minimize the artifact noise. toggles from white to black while actually the absorp-
2 Screen and LUT tance decreases; white void artifacts occur where the
halftoned pixel toggles from black to white while the
A screen is defined by a matrix of threshold values.
gray value increases.
This matrix is periodically tiled over the continuous-
We create a series of artificial images that produce
tone image. Each pixel is thresholded by the corre-
these artifacts. Consider two patterns at levels a and
sponding matrix threshold value.
b with a > b. The image that produces black clusters
∗ Research supported by the Hewlett-Packard Company. is defined as
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.4 0.7 0.7 0.7 0.4 0.4 0.7 0.4 0.4 0.4
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.4 0.7 0.7 0.7 0.7 0.4 0.7 0.4 0.4 0.4 0.4
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.4 0.7 0.4 0.7 0.4 0.4 0.7 0.4 0.7 0.4
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4
0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4

f [m, n] = 0.7 f [m, n] = 0.4 f B [m, n; 0.7, 0.4] f W [m, n; 0.7, 0.4]

p[m, n; 0.7] p[m, n; 0.4] g B [m, n; 0.7, 0.4] g W [m, n; 0.7, 0.4]

Figure 1: Black clusters and white voids between gray levels 0.4 and 0.7.

Let e[m, n] denote the error image obtained by



b, if p[m, n; a] = 0, p[m, n; b] = 1; e[m, n] = g[m, n] − f [m, n]. (8)
f B [m, n; a, b] =
a, otherwise.
(5) Then the perceived error between the halftone image
Similarly, the image that produces white voids can be and the continuous-tone image is represented as
defined as XX
 ẽ(x, y) = e[m, n]p̃(x − mX, y − nX), (9)
W a, if p[m, n; a] = 0, p[m, n; b] = 1; m n
f [m, n; a, b] =
b, otherwise.
(6) where p̃(x, y) is the point spread function obtained by
Figure 1 shows an example of the artificial images taking the inverse Fourier transform of H(u, v); and
f B [m, n; a, b] and f W [m, n; a, b] and the corresponding X corresponds to the lattice of addressable points of
halftone images g B [m, n; a, b] and g W [m, n; a, b] which the output device.
are obtained by applying the LUT. The error metric used as a cost function by DBS is
the total squared error given by
3 LUT Design Using DBS Z Z
The direct binary search (DBS) method uses a hu- E= |ẽ(x, y)|2 dxdy. (10)
man visual system (HVS) model and rendering device
model to minimize the perceived error between the An iterative toggling/swapping scheme is used to
halftone image and the continuous-tone image. The minimize E. The algorithm starts with an initial
HVS model is a linear shift-invariant low pass filter halftone image which can be obtained by randomly
[6][7]. The frequency response of this filter is given by thresholding or screening. For each pixel of the
√ halftone image, we evaluate the impact of toggling the
aLb exp(− u2 + v 2 ) pixel or swapping its value with one of its eight near-
H(u, v) = , (7) est neighbors. If any change reduces the error, the
c ln(L) + d
change which gives the greatest decrease in the error
where L is average monitor luminance in cd/m2 , a = is accepted. We iteratively repeat the process on the
131.6, b = −0.3188, c = 0.525, and d = 3.91. halftone image until no change is accepted.
The LUT is designed level by level starting with 0.018
level 0, the lightest level. The first pattern is designed
0.016
using the regular DBS method. After the initial pat-
0.014
tern is designed, we proceed to design the patterns at
the darker gray levels. 0.012

RMS error
We optimize the texture quality while minimizing 0.01
the artifact noise between the currently designed pat- 0.008 screen
tern and all the previously designed patterns. This is LUT
0.006
accomplished using the following error metric: LUT
0.004
DBS patterns
X
i−1 X
i−1 0.002
EiLUT = wi Ei + B
wi,j B
Ei,j + W W
wi,j Ei,j (11) 0
j=0 j=0 0 0.2 0.4 0.6 0.8 1
absorptance

where Ei is the perceived error between the binary


pattern at level i and the continuous-tone image with Figure 2: Comparison of RMS error of the binary pat-
constant absorptance N −1 i
; and E B and E W are the terns at individual gray levels for screen, LUT, and
perceived errors between the artificial images defined uncorrelated DBS patterns.
by (5) (6) and their corresponding halftone images ob-
tained from the LUT.
B W shown in Fig. 4, the sky region has better quality than
The weights wi , wi,j , and wi,j control the texture
the screen image; the artifacts are essentially unnotice-
quality at the specific gray level and the errors caused
able. Therefore, the overall halftone image quality is
by the inconsistency of the LUT. By adjusting the
better than that obtained from the DBS screen. When
weights, we can balance the halftone image quality at
wi = 25.0 in Fig. 5, although the quality of the sky
each level and the artifacts noise between levels.
region is better than in Fig. 4, the car body starts
The previous binary pattern p[m, n; Ni−1 −1 ] is used
i
showing minor void and cluster artifacts. In general,
as the initial pattern for p[m, n; N −1 ]. We first toggle there is a tradeoff between the texture quality and the
a number of pixels from white to black so that the artifact noise.
average pixel value is equal to the corresponding ab-
sorptance. Then in order to preserve the tone, only 5 Improving Memory Efficiency
i
swapping operations are performed on p[m, n; N −1 ] A screen can be stored as a matrix of threshold val-
LUT
until Ei is minimized locally. Unlike DBS screen ues. For a 256-level screen one byte per pixel is needed
design for which the stacking constraint must be sat- for the screen. However, extra memory is required for
isfied, the changes in LUT can take place at any loca- the same size LUT since one bit per pixel is needed to
i
tion. Note that whenever binary pattern p[m, n; N −1 ] store all the patterns. This memory requirement can
is updated, the corresponding artificial images f andB be reduced by representing the LUT halftoning algo-
f W and their halftone images g B and g W must also rithm as a thresholding process. Because the stack-
i ing constraint is not satisfied, more than one thresh-
be updated, since they are dependent on p[m, n; N −1 ].
We repeat this process for all levels until the darkest old may be needed for each location. Hence, each
level is finished. element in the matrix is an array of thresholds. We
use t[m, n; i] to denote this matrix. To determine the
4 Experimental Results thresholds for a specified location (m, n), we check
Figure 2 shows the peceived error between the the binary value of the dot profile function from level
halftone and continuous-tone images at each level for 0(white) to level 255(black). Let t[m, n; 0] be the first
B
different values of wi with wi,j = 0.8j−i ; wi,j
W
= 0.8j−i . pixel value at which the binary value in the LUT is
The LUT size is 128 × 128 × 256, where the first two 1; let t[m, n, 1] be the first pixel value at which the
dimensions are the spatial size, and the last one is binary value toggles back from 1 to 0; and t[m, n, 2]
the number of gray levels. It can be seen that as wi be the next pixel value where the binary value toggles
increases, the perceived error at each level decreases, from 0 to 1, and so on. To binarize a pixel we compare
and higher texture quality is obtained at each level. the pixel value with the thresholds one by one in the
Figures 3-5 compare halftone images generated corresponding array to determine the output binary
with the DBS screen (Fig. 3) and the LUT (Figs. value.
4-5). They are printed at 300 dpi. When wi = 15.0 as Since the binary patterns are correlated, this imple-
Figure 3: Halftone image generated by DBS screen.

comparisons memory trices for Digital Halftoning,” J. Electronic Imag-


/pixel (bytes) ing, vol. 6, pp. 208–230, April 1997.
DBS screen 1.000 16384
LUT (wi = 15.0) 1.067 18500 [3] Jan P. Allebach and Qian Lin, “FM Screen De-
LUT (wi = 25.0) 2.014 50866 sign Using DBS Algorithm,” Proceedings of the
1996 IEEE International Conference on Image
Processing, Lausanne, Switzerland, 16-19 Sept.
Table 1: Computational complexity and memory cost 1996.
for LUT with size 128 × 128 × 256.
[4] J. Sullivan, L. Ray, and R. Miller, “Design of
Minimum Visual Modulation Halftone Patterns,”
mentation is very efficient in saving memory, although IEEE Trans. System, Man, Cyb., vol. 21, pp. 33-
more threshold comparisons are needed for the LUT 38, January 1991.
process. Table 1 compares the memory required for
the different LUTs and the number of threshold com- [5] J. P. Allebach and B. Liu, “Analysis of Halftone
parisons that are needed to binarize the images shown Dot Profile and Aliasing in the Discrete Binary
in Figs. 3-5. For actual implementation, extra opera- Representation of Images,” J. Opt. Soc. Am., Vol.
tions such as addressing and loop counting are needed 67, No. 9, pp. 1147-1154, September 1977.
as well as extra memory to store the number of thresh- [6] D. Lieberman and J. P. Allebach, “Efficient
olds in the array at each location. Model Based Halftoning Using Direct Binary
Search,” Proceedings of the 1997 IEEE Inter-
References national Conference on Image Processing, Santa
[1] B. E. Bayer, “An Optimum Method for Two Barbara, CA, October 26–29 1997.
Level Rendition of Continuous-Tone Pictures”,
Proc. IEEE Int. Conf. Commun., Conference [7] R. Näsänen, “Visibility of Halftone Dot Tex-
Record, pp. (26-11)-(26-15), 1973. tures,” IEEE Trans. Syst. Man. Cyb., Vol. 14,
No. 6, 1984, pp. 920-924.
[2] K. E. Spaulding, R. L. Miller, and J. Schildkraut,
“Methods for Generating Blue-Noise Dither Ma-
Figure 4: Halftone image generated by LUT(wi = 15.0).

Figure 5: Halftone image generated by LUT(wi = 25.0).

You might also like