LanZhou University, LanZhou, China. AbstractâDithering has been established as an important technique for producing visually appealing images on many.
A HIGH PERFORMANCE DITHERING METHOD FOR GRAY AND COLOR IMAGE QUANTIZATION Yi Wan, member IEEE,
Zhijun Yao,
Information science and engineering department,
Information science and engineering department, LanZhou
LanZhou University, LanZhou, China.
University, LanZhou, China. Abstract—Dithering has been established as an important technique for producing visually appealing images on many printing and display devices. Although various error diffusion filters have been developed for dithering, there has been in general a lack of results guided by both visual quality and objective measure on the image quality. In this paper we present a dithering method by designing the error diffusion filter coefficients
through
solving
a
constrained
least
Figure 1. Gray error diffusion, (a)Error diffusion to a single pixel. (b)The Floyd-Steinberg error diffusion coefficients.
square
optimization problem. The result minimizes the total square error between the final image and the original image in the error
A well-known choice of the {hs} are developed in [2]. Fig. 1 shows the grayscale error diffusion diagram and the
diffusion framework. Simulation results show that this method
Floyd-Steinberg error diffusion coefficients.
produces better visual quality than other commonly used methods. Keywords-error diffusion; dithering; halftone; quantization
The rest of the paper is organized as follows. Section II introduces the method of optimal design of the error diffusion filters following a least square optimization problem
INTRODUCTION
formulation. We introduce our method for dithering gray and
In digital image processing, whenever a quantization
color images separately. Simulation results are presented in
I.
process is carried out on an image, some information will be
section 3. Finally, we draw conclusions in section 4.
lost and the so-called blocky artifact often occurs. A typical
II.
example happens when displaying information on a printer,
For grayscale images, the error n(t) is the quantization
where the color pallet has far less number of color tones than
error at a single pixel t and (1) is a function of scalar
that of the original image. Digital halftoning is a technique for
coefficients {hs}. For color images, we can treat each color
exchanging the image spatial resolution for tonal resolution
band separately and do three independent scalar error
[1], [3]-[10]. On the other hand, dithering is a technique that
diffusion problems. But this approach ignores the correlation
doesn’t sacrifice the spatial resolution while producing
among the color bands. A better way is to allow the error to
visually appealing result. It diffuses the quantization error in a
diffuse across different color bands. In the following
local area of an image to its neighboring area. Mathematically
subsections we first develop the scalar error diffusion
it can be formulated as the following:
optimization procedure, then extend it to the case of color
~
x(t ) = x(t ) + ∑ hs n(t − s)
(1)
SCALAR AND VECTOR ERROR DIFFUSION
images. A. Scalar Error Diffusion
s
where x(t) is the original pixel value, the non-negative coefficients {hs } has the total sum of 1. n(t-s) is the quantization error o f i t s neighboring pixels.
Assume a grayscale image x of size N1 × N2. After the dithering process another image y is obtained through the relation
978-1-4244-3709-2/10/$25.00 ©2010 IEEE
~
(2)
y (t ) = Q( x(t ))
˜(t) is defined in (1). where x To minimize visual distortion, we expect the difference
Notice that in (8) the set {hs(k ) } is computed based on the set {hs( k −1) } . After the updating step, {hs(k ) } may no longer
between x and y to be minimized. The most commonly used
satisfy the constraint (5). We thus do a projection onto the
such difference measure is the squared Euclidean distance
hyperplane determined by (5), i.e.,
between them, i.e., ~
E =|| x − y ||2 = ∑ [ x(t ) − y (t )]2 = ∑[ x(t ) − Q( x(t ))]2 t
(3)
t
which will be the measure we use in this paper. Note that by using (3) can be equivalently expressed through n as
⎧⎡h1( k ) ⎤ ⎡1⎤ ⎫⎡1⎤ ⎡h1( k ) ⎤ ⎡h1( k ) ⎤ ⎪⎢ ( k ) ⎥ ⎢ ⎥ ⎪⎢ ⎥ ⎢ ( k ) ⎥ ⎢ (k ) ⎥ (9) ⎢h2 ⎥ − 1 ⎪⎨⎢h2 ⎥ • ⎢1⎥ ⎪⎬⎢1⎥ → ⎢h2 ⎥ ⎢h3( k ) ⎥ 4 ⎪⎢h3( k ) ⎥ ⎢1⎥ ⎪⎢1⎥ ⎢h3( k ) ⎥ ⎢ (k ) ⎥ ⎪⎢⎣⎢h4( k ) ⎥⎦⎥ ⎢⎣1⎥⎦ ⎪⎢⎣1⎥⎦ ⎢⎣⎢h4( k ) ⎥⎦⎥ ⎣⎢h4 ⎦⎥ ⎩ ⎭ The iteration procedure continues until a local minimum
as sufficiently closely reached. In this paper we use the condition
(4)
E = ∑ [n(t ) − ∑ hs n(t − s )]
2
t
E ( k −1) − E ( k )