Color Image Quantization and Dithering Method Based on Human Visual System Characteristics*

Kyeong Man Kim, Chae Soo Lee, Eung Joo Lee, and Yeong Ho Ha Department of Electronic Engineering, Kyungpook National University Taegu 702-701, Korea

Abstract of an initially selected . Variations on this idea include the manner in which the initial palette is chosen New methods for both color palette design and - and the in which the quantization is per- ing based on human visual system (HVS) characteris- formed. The refinement algorithm, commonly known as tics are proposed. Color quantization for palette design the K-means or Linde–Buzo–Gray (LBG) algorithm,1 uses the relative visual sensitivity and spatial masking is a vector extension of the Lloyd quantizer for scalars. effect of HVS. The dithering operation for printing uses The algorithm seeks to reduce the total squared error nonlinear quantization, which considers the overlapping (TSE) between the original and the quantized image at phenomena among neighbor printing dots, and then a each iteration until a (local) minimum is found. This modified dot-diffusion algorithm is followed to compen- method yields high-quality images and, with a properly sate the degradation produced in the quantization pro- chosen initial palette, will result in the lowest TSE for a cess. The proposed techniques can produce high-quality given palette size. The method is, however, images in low-bit color devices. computationally intensive, and its performance is sen- sitive to the choice of the initial palette. Also there are Introduction splitting algorithms2,3,6 that divide the color space into disjoint regions and pick a representative color from each Recently, the use of color image data has been growing region as a palette color. The algorithms vary according fast in the area of image processing.1–7 To express natu- to the methods used to split the color space. As an ex- ral color in conventional low-cost color devices, the color ample of such an algorithm, the median-cut algorithm2 image should be quantized for monitoring and dithered invented by Heckbert was undertaken as an alternative for printing. to the popularity algorithm. The median-cut algorithm A video monitor displays a color image by modu- repeatedly subdivides the color space into smaller rect- lating the intensity of three primary colors (red, green, angular boxes until the desired number of boxes is gen- and blue) at each pixel of the color image. In a digitized erated. The split point is the median point, i.e., the plane color image, each primary color is usually quantized with that divides the box into two halves so that an equal 8 bits of resolution to eliminate distinguishable quanti- number of colors is on each side. The main advantage zation steps in trichromatic specification (luminance, of the split algorithm is lower computational time cost hue, and saturation). Thus, full-color digital display sys- and memory space for the spatial storage scheme, mostly tems use 24 bits to specify the color of each pixel on the because it is simple to compute the split point. How- screen. However, the cost of high-speed memory needed ever, a number of problems are associated with this to support such a display on a high-resolution monitor method. One problem is that partitioning a box by a makes many applications impractical. An alternative plane passing through the median point does not neces- approach in currently available displays is to provide a sarily lead to a lower quantization error. limited number of bits, such as 8 bits, for specifying the As explained above, the conventional color quanti- color at each pixel. Each of these 28 values is then used zation algorithms usually use the TSE as the distortion as an index of a user-defined color table, i.e., color pal- measure.1–7 This measure is, however, perceptually insuf- ette. Each entry in the table contains a 24-bit value that ficient when accurately estimating the perceptual differ- specifies each primary component of the color image. ence between an original image and its quantized repre- In this way, the user is allowed to select a small subset sentation.5–7 The TSE does not take into account the spa- of the color palette from the full range of 224 colors. The tial correlation linked with perceptually adjacent pix- drawback of this scheme is that it restricts the number els. With such a measure we have no means of knowing of colors that may be simultaneously displayed.1–7 whether the observed degradation is the result of sev- Because natural images typically contain a large eral particularly noticeable degradations. The measure number of distinguishable colors, displaying such im- must be reconsidered, this time by duly integrating the ages with a limited palette is difficult. Several techniques notion of locally observable errors. Thus, we propose to exist for color quantization, some of which are based on use a new distortion measure that takes into account the a more general class of vector quantization (VQ) tech- spatial activity in local regions of the input image. The niques. One approach involves the iterative refinement activity is computed as the mean of the sensitivity-

Chapter II—Digital Halftoning and the Human Visual System—35 weighted difference between the input and the local mean The process is usually performed by treating three color color in a 4 × 4 region. Then, using the distortion mea- components (red, green, and blue) independently in the sure, a hierarchical quantization algorithm is proposed by RGB color space. Although three color components can considering the spatial masking effect,8,9 a characteristic be decorrelated by transforming the color space to YIQ, of the HVS. The algorithm consists of initial and subdivi- Lab, or some other color spaces, independent quantiza- sion steps both to reduce the computational time and to tion in these spaces is inefficient because a certain pro- minimize the measured distortion. portion of these spaces lies outside the RGB color space. Digital dithering is the process for generating a pat- In any event, color transformations are of little use in tern of dots with a limited number of gray levels to re- quantization for display; their proper place is in the im- produce a continuous tone image on the paper media for age compression systems. Thus we quantize the colors hard copy. Display of continuous tone images on the of the original image into K (usually K = 256 or less) paper media is impossible without a dithering process. colors, called the color palette, in the RGB color space Thus, many dithering techniques can be found in the The color image is assumed to be on the rectangular printing algorithms.10–13 Printers are able to produce grid of M × M pixels. The set of all grid points is de- marked dots on a part of a Cartesian grid with horizon- noted by F and its members f ∈F may be explicitly writ- tal and vertical spacing. Conventional digital dithering ten as f = (i, j), where i and j are the row and column methods use linear quantization in which input gray lev- indices (0 ≤ i, j ≤ M – 1). The color value of the pixel at T els are equally divided by the printer resolution, dots grid point f is denoted by c f = [rf ,gf ,bf ] , where the com- per inch (dpi). Errors produced by the quantization are ponents are the red, green, and blue tristimulus values diffused to the neighborhood to compensate for the lo- for the pixel in the RGB color space, and superscript T cal gray level.14–17 In this process, accurate gray levels means transpose. As explained above, the color quanti- are not represented because of poor printer resolution, zation is selecting K colors to be displayed on the moni- in general, and also because diffusion of the contrast in tor. The K colors are usually composed of the centroids the edge region is not considered. Therefore, a new of K color clusters. In this report, the k-th cluster is de- Ω ≤ ≤ method using linear quantization and diffusion is re- noted by k (1 k K), and the centroids of the clusters µ T ≤ ≤ quired to reduce the degradation of images produced by are denoted by k = [rk, gk, bk] , (1 k K), each of the conventional dithering method. which composes the color palette. Thus the input image For printing the monitor-displayed image on the pa- colors are mapped to the centroid colors after the quan- per media, we propose a nonlinear quantization that con- tization, and the mapped colors are displayed on the siders the overlapping of printing dots and a modified monitor simultaneously. Therefore the color quantiza- dot-diffusion method. For the nonlinear quantization, tion algorithm finds the optimal color cluster and its cen- each quantization step is adjusted in proportion to the troid with almost no difference between the original overlapping area that is subtracted from the total area of image and the reconstructed image. each neighboring printing dot. To compensate for errors produced in the quantization, the modified dot diffusion Weighted-Distortion Measure of HVS Color Activity. adjusts the quantization error to be diffused according In this report a new distortion measure based on the spa- to the characteristics of the input image. Filtering of the tial masking effect of the HVS is proposed. The spatial quantization error by a low-pass filter is carried out be- masking effect means that human vision is more sensi- fore dot diffusion so that the quantization error has to tive to quantization errors in the smooth region than to be diffused only in the smooth region. Also, to apply the those in the edge region. To use this effect, the activity proposed method to color printing, intensity and color of color in the local region must be computed to judge change must be considered simultaneously. Thus quan- whether the color is in the smooth region or in the edge tization error is diffused in the Hue, Saturation, and In- region. Because human vision is sensitive to each color tensity (HSI) color coordinate that represents the HVS component differently, the proposed color activity is(1) color coordinate system. The low-pass filtering must be computed as the mean of sensitivity-weighted differences considered to prevent color degradation due to the dif- between input color in the local region of 16(4 × 4) pix- fusion of quantization error in the color edge region. els and mean color This report is organized as follows: In the next sec- T  =  cm [rm , gm ,bm ]  tion, which starts by defining the color space in which the quantization algorithm operates, the proposed dis- tortion measure and hierarchical quantization algorithm of all input colors in the region, as follows: are described. The succeeding section describes the printer model, the proposed nonlinear quantization, and 16 = 1 ∆( ) the modified dot-diffusion method for color printing. The A(c) 16 ∑ cn , cm section that follows reports the simulation results of the n=1 1 proposed techniques. Finally we present our conclusion. 16  2 2 2  2 = 1 α(r − r ) + β(g − g ) + γ (b − b )  , 16 ∑  n m n m n m  Proposed Color Quantization Algorithm n=1 ∆ The color quantization for palette design is described as where ( c n, c m) is the sensitivity-weighted difference T selecting the prescribed number of colors to display an and c n = [rn, gn, bn] is the nth input color in the local image with almost no noticeable perceived difference. region. The coefficients (α, β, and γ) are the relative vi-

36—IS&T's Recent Progress in Digital Halftoning II 2000.00 ) 1

0.02 ) 2 R σ 1500.00 0.02

1000.00 0.01

500.00 0.01 Intercluster variance ( 0.00 Clolor activity histrogram (R 0.00 0 50 100 150 200 250 300 0 50 100 150 200 250 300 Red level (l) Red level (l) (a) (b) Figure 1. Activity histogram and its intercluster variance in the red component of the Peppers image: (a) activity histogram and (b) intercluster variance.

sual sensitivities of the HVS in the CIE standard, and increased. Thus, if a color cluster of maximum distor- they are the coefficients of the luminance equation. This tion is more finely quantized, the total distortion based computed activity is similarly assigned to each color on the masking effect can be much less. included in the local region, that is, the same activity The proposed quantization algorithm has a hierar- value to each color in the same local region. This is per- chical structure, so that the color of lower activity should formed for all local regions of the image. Then we can be more finely quantized.

obtain the activity (A( c f)) of a pixel f as the activity of the local region in which the pixel is included. Accord- Proposed Hierarchical Color Quantization Algorithm ing to the masking effect, a higher activity means that Based on the activity and the distortion measure, the the color is in the edge region and its quantization error proposed color quantization algorithm can be performed is less sensitive in human vision, whereas a lower activ- in two hierarch steps. In the first step, the input colors ity means that the color is in the smooth region and its are divided into eight initial color clusters by a quantization error is more sensitive. Therefore, we can thresholding method using intercluster variances.18 To see that the activity is inversely proportional to the er- compute the intercluster variance, an activity histogram

ror sensitivity of the HVS. (xl , x = R, G, or B component) with respect to gray Using this property, the new distortion measure is level (l, 0 ≤ l ≤ 255) of each color component is ob- proposed to determine which color should be more finely tained. The activity histogram of the red component of quantized to decrease the distortion based on the mask- the Peppers image used in the experiment is shown in ing effect. The total distortion is given by Fig. 1(a). According to the activity histogram, the intercluster K variance for each component is calculated as follows: = D ∑ dk k=1 2 2 K  Tk   255  1 2 1 1 = c − µ σ 2 = P  ∑ x − x + P  ∑ x − x , ∑ ∑ 2 f k x 1 + l 2  − l   Th 1 =   255 Th = +  k=1 c ∈Ω A(c ) l 0 l Th 1 f k f (2) K 1 ≤ T ≤ 255 1 h = ∑ ∑ E , 2 q P = (x + x + ⋅⋅⋅ + x ) / X (3) k=1 c ∈Ω A(c ) 1 0 1 Th f k f = + + ⋅⋅⋅ + = − P2 (xT +1 xT +2 x255 ) / X 1 P1, h h where dk is the distortion of the kth color cluster and Eq is the quantization error. Because the input color is in- cluded in the kth cluster, the quantization error is in- 255 versely weighted by the activity of the input color. If = = where X ∑ xl and x X / 256. so, the distortion error is decreased by the activity. l=0 Therefore, if the input color is in the edge region, the

activity is much higher and the quantization error of the The value Th signifies threshold, and it is the gray value color is relatively much reduced, which means that the of the maximum intercluster variance. The calculated distortion of the cluster is decreased. If the input color variance of Fig. 1(a) is shown in Fig. 1(b). The thresh- is in the smooth region, the activity is much lower and old values (R ,G ,B ) for red, green, and blue can Th Th Th the quantization error of the color is relatively less re- be selected as Th . By using the thresholds, eight clusters duced, which means that the distortion of the cluster is are obtained, as given below.

Chapter II—Digital Halftoning and the Human Visual System—37 TABLE I. Quantized Level and Reconstructed Gray Level Based on cluster 1: r < R , g < G , and b < B f Th f Th f Th Marking Area. < < ≥ cluster 2 : r R , g G , and b B Quantized NPN Reconstructed Increment f Th f Th f Th level gray level (r ) cluster 3 : r < R , g ≥ G , and b < B f Th f Th f Th 1 1 0 230 25 cluster 4 : r < R , g ≥ G , and b ≥ B f Th f Th f Th 2 2 0 205 25 ≥ < < 3 3 2 189 16 cluster 5 : rf RT , g f GT , and b f BT h h h 4 4 4 173 16 cluster 6 : r ≥ R , g < G , and b ≥ B f Th f Th f Th . (4) 5 5 5.5 154 19 ≥ ≥ < 6 6 7 136 18 cluster 7 : rf RT , g f GT , and b f BT h h h 778.511818 ≥ ≥ ≥ cluster 8 : rf RT , g f GT , and b f BT 8 8 10 100 18 h h h 9 9 12.5 87 13 In the second step, the color cluster of maximum 10 10 15 73 14 distortion is again divided into eight color clusters, us- 11 11 17.5 59 14 ing the proposed distortion measure and the thresholding 12 12 20 46 13 method based on the masking effect. This process is re- 13 13 23 34 12 peatedly applied until K(=256 or less) color clusters are 14 14 26 23 11 15 15 29 11 12 obtained. Then the color palette is composed of the cen- 16 16 30 0 11 troids of the obtained color clusters, and, finally, the in- put colors are mapped to the color palette. The proposed algorithm is shown in Fig. 2. Proposed Color Dithering Method

Printer Model and Nonlinear Quantization Most conventional dithering methods use linear quantization that equally divides input gray level accord- ing to printer resolution. This algorithm has simple pro- cessing and less computational time. However, because the algorithm does not consider the hardware character- istics of the printer, a gray-level difference between the printed image and the displayed image on the monitor is produced. As shown in Fig. 3, printers produce circular black dots, rather than square ones. The most elementary deg- radation introduced by most printers is illustrated as fol- lows: their dots are larger than the minimal covering size, as if “ink spreading” has occurred. Other degradations are caused by heat finishing, reflections of light within the paper, etc. Also the inks are not perfect. As a result, the gray level produced by the printer in the vicinity of pixel (i, j) depends in some complicated way on neigh- boring dots. However, due to the close spacing of dots and the limited spatial resolution of the eye, the gray level can be modeled as having a constant value within the area of the ideal circular pixel (i, j). Figure 2. The proposed hierarchical color quantization algorithm. Therefore, we developed a quantization method that improves the quality of printed images. The method de- creases the quantization error and distributes the remain- ing quantization error more effectively, both spatially and across the intensity range. We propose here a nonlinear quantization that ac- counts for the dot overlap degradation due to hardware characteristics. This approach is adequate to illustrate quantization errors produced in the multilevel quantiza- tion due to printer resolution. In black-and-white printing, all the overlapping ar- eas have the same gray level as the dots, so that the re- produced gray level is proportional to the marked area. The marked area in the printing is changed according to marking position and dither matrix. If the difference in the marking area is not considered, the printed image is not equal in gray level to the image displayed on the Figure 3. The marking area of dots in the dither matrix. monitor.

38—IS&T's Recent Progress in Digital Halftoning II The proposed nonlinear quantization for dithering for edge components; therefore, the input image is modi- can improve this drawback. The quantization step is ad- fied by the sum of the filtered errors and the quantized justed in proportion to the overlapping area, which is values. In the dithering process, dot diffusion is applied subtracted from the total area of each printed neighbor to the modified image so that diffusion of the quantiza- dot. The total area of each pixel is the area of the 4 ¥ 4 tion error can be minimized in the edge regions and re- dither matrix in the 300-dpi printer, and the area of each tained in the smooth region. Thus the proposed modi- dot is the area of a circle. Therefore, the reconstructed fied dot diffusion can compensate local gray level in the gray level due to actual marked area is calculated as smooth region and retain sharpness in the edge regions. follows: In this work, the 3 × 3 average filter is used for simple   π   and fast processing. The block diagram for printing is =  − ×   + ×  × r 1 N   PN K' 255, (5) shown in Fig. 4.  32  where r is the reconstructed gray level, N is the number TABLE II. The Comparison of Peak Signal-to-Noise Ratio (PSNR),

of marked dots, PN is the sum of the overlapped area and Quantization Errors (Qe) in CIE (Lu*V*), and Computation Time half of the dots marked in the outer region of the 4 × 4 Using PC in Each Algorithm dither matrix among the marked dots, K′ is 2 × K, and π the area of K is (( –2)/32)/4. The actual marked areas Image Algorithm PSNR [dB] Qe in Lu*v* Time [s] and their calculated gray levels are shown in Table I. In LBG 30.6 15.13 4150 the printed image, this nonlinear quantization reduces Girl Heckbert 28.86 22.86 11 the degradation that is generated due to hardware char- The proposed 30.87 11.37 24 acteristics. LBG 30.15 5.37 2307 Lena Heckbert 29.80 6.20 11 Modified Dot Diffusion The proposed 31.83 4.56 24 The ordered dither method produces a binary-recursive LBG 28.92 8.72 3262 and computerized texture that is unsuitable for most ap- Pepper Heckbert 25.88 19.57 11 plications. The Floyd–Steinberg error diffusion method The proposed 29.28 8.42 24 usually gives more pleasing results but it has occasional LBG 31.71 4.08 1828 problems with intrusive, snakelike patterns that call at- Zelda Heckbert 29.66 5.29 11 tention to themselves. It would be desirable to have a The proposed 34.80 3.35 24 solution that does not retain both previous properties but has both the sharpness of the Floyd–Steinberg method and the parallelism of ordered dither. Dot diffusion has the desired property but it tends to blur the image in the edge regions through the diffusion of the quantization error. To prevent the diffusion of the quantization error between the neighboring different gray-level regions, edge detection and thresholding may be considered, but the methods need complex, lengthy computation. There- fore, a fast and adaptive diffusion algorithm is required. The frequencies of the quantization errors are, in general, not homogeneously distributed. These frequen- cies can be divided into two components, one of which is dependent on the object frequencies and one that is independent. In printing, the separation of the object in- formation from the quantization error during the recon- struction is desired. The linear component of the object-dependent error component lies at the same fre- quency as the object information and can be much stron- ger than all other error components. Also, most of the object-dependent components of the quantization error lie at the low frequency. Thus, control over the object- dependent error is desired to allow better reconstruction. We propose a modified dot diffusion that diffuses the object-dependent components of the quantization error. To compensate local gray level in the smooth re- gion and maintain sharpness in the edge regions, the in- Figure 4. Block diagram for printing put image should be modified. We divide the input im- age into two parts, one of which is quantized values and Modified Dot Diffusion for Color Printing the other is quantization errors. To modify the input im- In this section we present models for color printers age, filtering the quantization error by a low-pass filter and modified dot diffusion for color printing. Such print- before dot diffusion is suggested. The filtered errors in- ers are capable of producing colored dots on a piece of clude most of the object-dependent components except paper, at any and all sites of a Cartesian grid with hori-

Chapter II—Digital Halftoning and the Human Visual System—39 Figure 5. Original and result image of vari- ous quantization algorithms: (a) original image, (b) result of LBG algorithm, (c) re- sult of Heckbert algorithm, and (d) result of the proposed algorithm.

(a) (b)

(c) (d)

Figure 6. Magnified images of Fig. 5: (a) Mag- nified portion original, (b) magnified image from LBG algorithm, (c) magnified image from Heckbert algorithm, and (d) magnified image from the proposed algorithm.

(a) (b)

(c) (d)

40—IS&T's Recent Progress in Digital Halftoning II (a) (b)

(c)

Figure 7. Printed image using various methods: (a) Printed image using linear quantization and ordered dithering, (b) printed image using linear and dot diffusion, and (c) printed image using the proposed method.

Chapter II—Digital Halftoning and the Human Visual System—41 zontal and vertical spacing. The reciprocal of spacing is where ∆H′ and ∆S′ are the hue and saturation to be dif- the printer resolution in dots per inch (dpi). Color print- fused, ∆H and ∆S are the hue and saturation errors that ers use cyan (C), magenta (M), and yellow (Y) inks to occurred in the quantization process, S is the saturation produce color dots. These colors form the basis for the value, and I is the intensity value. subtractive system of colors. The relationship to the ad- In color printing using modified dot diffusion, we ditive colors (RGB) follows: suggest filtering the quantization error by a low-pass fil- ter before dot diffusion, because the quantization error R = 1 – C must be diffused only in the smooth region. Therefore, G = 1 – M . (6) the printed image can prevent color degradation through B = 1 – Y the diffusion of quantization error between neighboring regions of different color. Cyan ink absorbs red light, magenta absorbs green, and yellow absorbs blue. Dots of different inks can be Experimental superimposed to produce red, green, blue, and black dots. In practice, however, the inks are not perfect, i.e., there In the experiments, we used a PC with a VGA board of are unwanted absorptions. Thus, many printers use a 256 colors and an HP DeskJet 560K 300-dpi ink-jet separate black ink (K) to produce better black dots. In printer. Color quantization operations were performed the remainder of this discussion we will assume that the separately on each color component: R, G, and B. The printer uses all four types of ink. The printer is controlled images used in the experiment were 256 × 256 Girl, Lena, by an array of four-dimensional vectors with binary com- Peppers, and Zelda. Table II compares the peak signal- ponents, to-noise ratio (PSNR), quantization errors in uniform color coordinate system space, and computation time, = ( C M Y K ) bi, j bi, j ,bi, j ,bi, j ,bi, j , (7) using the PC in three algorithms (LBG, Heckbert, and (8) the proposed one). In the table, the proposed algorithm C = where bi, j 1 indicates that a cyan dot is to be placed at takes a little longer computation time than Heckbert’s C = pixel (i, j) and bi, j 0 indicates that no cyan dot is to be algorithm, but it takes much shorter computation time M Y placed at the site. The magenta bi, j , yellow bi, j , and than that for LBG. Figure 5 shows the results of the color K black bi, j components are defined similarly. When all quantization with the Girl image. Here Fig. 5(a) is the components are zero, the site remains white. When more original image, 5(b) is the result of the LBG algorithm, than one component is equal to 1, different inks are 5(c) is the result of the Heckbert algorithm, and 5(d) is printed on top of each other. In principle, we can specify the result of the proposed algorithm. Figure 6 compares 24 = 16 different colors for each dot, but nine of these magnified images of Fig. 5. The displayed image on the colors are variations of black. Usually, the black ink is monitor using the proposed color quantization method used only in combination with the other three inks to shows almost no noticeable difference from the result of produce solid black dots, thus reducing the number of the LBG method and from the original image. Figure 7 colors that each dot can include to 23 = 8 shows printed images using (a) linear quantization and As we can see in black-and-white printing, printers ordered dithering, (b) linear and dot diffusion, and (c) produce circular, rather than square, dots, and the quan- the proposed method, along with the original image. The tization error produced in the quantization process must printed result using the proposed color dithering method be compensated. To apply the proposed algorithm to is of high quality and shows less color degradation than color printing, color change, as well as intensity, must that of the control image produced by a conventional be considered. Thus, quantization error is diffused accord- printing method. ing to the characteristics of the input image in the HSI color- coordinate system, which represents HVS color-sensing Summary and Conclusion properties. In the dithering process, dot diffusion is modi- fied by adjusting the amount of hue and saturation dif- New methods for displaying and printing high-resolu- fusion according to the intensity and saturation of the tion full-color images on limited color output devices input image in the HSI color-coordinate system. The HSI are proposed. The color quantization for palette design coordinate system has higher sensitivity in the highest consists of a hierarchical method based on HVS charac- and lowest intensities and lower saturation in the mid- teristics. This technique uses an activity-weighted dis- range intensities. To compensate the nonuniform prop- tortion measure based on the relative visual sensitivity erty in the HSI coordinate system, the amount of diffu- and spatial masking effect of the HVS. In color printing, sion is given by dithering of nonlinear quantization is proposed to reduce color degradation by considering the overlapping phe-  I nomena of printing dots. In the dithering process, modi- ∆H × S × , I ≤ 127  127 fied dot diffusion is also proposed. The proposed tech- ∆H' =  (255 − I) niques enable limited-color-output devices to display and ∆H × S × , otherwise  127 print high-quality color images.  I ∆S × S × , I ≤ 127  127 ∆S' =  − ∆ × × (255 I)  S S , otherwise  127

42—IS&T's Recent Progress in Digital Halftoning II References with edge enhancement, J. Opt. Soc. Amer. A, 8 (12): l844– 1850 (1991). * Presented in part at IS&T/SID 3rd Color Imaging Con- 11. R. Ulichney, Digital Halftoning, MIT Press, Cambridge, ference, 1995. Massachusetts (1987). 12. R. S. Gentile. E. Walowit, and J. P. Allebach, Quantiza- 1. Y. Linde, A. Buzo, and R. Gray, An algorithm for vector tion and multi-level halftoning of color images for quantizer design, IEEE Trans. Commun. COM-28 (1): 84– near-original image quality, J. Opt. Soc. Amer. A 7: 95, (1980). 1019–1026 (1990). 2. P. S. Heckbert, Color image quantization for frame buffer 13. S. C. Wells, G. J. Williamson, and S. E. Carrie, Dith- display, Comput. Graph. 16 (3), 297–307 (1982). ering for 12-bit true-color graphics, IEEE Comput. 3. N. Goldbert, Color image quantization for high resolu Graph. Appl.: 18–29 (1991). tion graphics display, Image Vision Comput. 9 (5) (1991). 14. D. E. Knuth, Digital halftones by dot diffusion, ACM 4. M. T. Ochard and C. A. Bouman, Color quantization of Trans. Graph. 6 (4): 245–273 (1987). images, IEEE Trans. Signal Process. 39 (12) (1991). 15. F. Fettuer and O. Bryngdahl, Quantization noise and the 5. A. Tremeau, M. Calonnier, and B. Laget, Color quantiza- error diffusion algorithm, J. Elec. Imaging 3(1): 37–44 tion error in terms of perceived image quality, in 1994 (1994). ICASSP. 16. H. G. Lamming and W. L. Rhodes, A simple method for 6. R. Balasubramanian, Color-image quantization with use improved color printing of monitor images, ACM Trans. of fast binary splitting techniques, J. Opt. Soc. Amer. A, Graph. 9 (4): 345–375 (1990). 11 (11), 1994. 17. M. C. Stone, W. B. Cowan, and J. C. Beatty, Color gamut 7. T. S. Liu and L.-W. Chang, Fast color image quantization mapping and the printing of digital color images, ACM with error diffusion and morphological operations, Sig. Trans. Graph. 7(4): 249–292 (1988). Process. 43: 293–303 (1995). 18. N. Otsu, A threshold selection method for gray level histo- 8. A. Netravali and B. Prasada, Adaptive quantization of pic- grams, IEEE Trans. Sys. Man and Cybern. SMC-9: 62– ture signals using spatial masking, in Proc. IEEE 65: 536– 66 (1979). 548 (1977). 9. J. D. Mollon and L. T. Sharps, Color Vision, Physiology ❈ Previously published in the Journal of Imaging Science and Psychophysics, Academic Press Inc. (1983). and Technology 40(6), 502–509 (1996). 10. R. Eschbach and K. T. Knox, Error diffusion algorithm

Chapter II—Digital Halftoning and the Human Visual System—43