You are on page 1of 39

Digital image processing Chapter 3.

Image sampling and quantization


IMAGE SAMPLING AND IMAGE QUANTIZATION

1. Introduction

2. Sampling in the two-dimensional space


Basics on image sampling
The concept of spatial frequencies
Images of limited bandwidth
Two-dimensional sampling
Image reconstruction from its samples
The Nyquist rate. The alias effect and spectral replicas superposition
The sampling theorem in the two-dimensional case
Non-rectangular sampling grids and interlaced sampling
The optimal sampling
Practical limitations in sampling and reconstruction

3. Image quantization
4. The optimal quantizer
The uniform quantizer
5. Visual quantization
Contrast quantization
Pseudo-random noise quantization
Halftone image generation
Color image quantization
Digital image processing Chapter 3. Image sampling and quantization

1. Introduction

f(x,y) fs(x,y) u(m,n)


Sampling Quantization Computer

Digitization
u(m,n) D/A
Computer Display
conversion

Analog display

Fig 1 Image sampling and quantization / Analog image display


Digital image processing Chapter 3. Image sampling and quantization

2. Sampling in the two-dimensional space

Basics on image sampling

f(x,y)

y
Digital image processing Chapter 3. Image sampling and quantization
The concept of spatial frequencies

- Grey scale images can be seen as a 2-D generalization of time-varying signals (both in the analog
and in the digital case); the following equivalence applies:
1-D signal (time varying) 2-D signal (grey scale image)
Time coordinate t Space coordinates x,y
Instantaneous value: f(t) Brightness level, point-wise: f(x,y)
A 1-D signal that doesn’t vary in time (is constant) A perfectly uniform image (it has the same
= has 0 A.C. component, and only a D.C. brightness in all spatial locations); the D.C.
component component = the brightness in any point
The frequency content of a 1-D signal is The frequency content of an image (2-D signal) is
proportional to the speed of variation of its proportional to the speed of variation of its
instantaneous value in time: instantaneous value in space:
νmax ~ max(df/dt) νmax,x ~ max(df/dx); νmax,y ~ max(df/dy)
=> νmax,x , νmax,y = “spatial frequencies”
Discrete 1-D signal: described by its samples => a Discrete image (2-D signal): described by its
vector: u=[u(0) u(1) … u(N-1)], N samples; the samples, but in 2-D => a matrix: U[M×N],
position of the sample = the discrete time moment U={u(m,n)}, m=0,1,…,M-1; n=0,1,…,N-1.
The spectrum of the time varying signal = the real The spectrum of the image = real part of the
part of the Fourier transform of the signal, F(ω); Fourier transform of the image = 2-D
ω=2πν. generalization of 1-D Fourier transform, F(ωx,ωy)
ωx=2πνx; ωy=2πνy
Digital image processing Chapter 3. Image sampling and quantization

Images of limited bandwidth

• Limited bandwidth image = 2-D signal with finite spectral support:

F(νx, νy) = the Fourier transform of the image:

 
 
F  x , y    f x, y e  j  x  x  j  y  y
e
 
dxdy    f x, y e

 j 2   x  x  y  y dxdy.
   

|F(νx, νy)|
νy
F ( x , y )  0,| x |  x0 ,| y |  y0
νy0
-νx0 νx
νx0 νx
νx0
-νy0
-νy0
νy
The Fourier transform of the The spectral support region
limited spectrum image

The spectrum of a limited bandwidth image and its spectral support


Digital image processing Chapter 3. Image sampling and quantization

Two-dimensional sampling (1)

The common sampling grid = the uniformly spaced, rectangular grid:


y

 
g(x, y ) ( x, y)     ( x  mx, y  ny)
x m   n  
y

x
Image sampling = read from the original, spatially continuous, brightness function f(x,y), only in the black
dots positions ( only where the grid allows):

 f ( x, y ), x  mx, y  ny
 f s ( x, y )   ,
0 , otherwise
m, n  Z.

 
 f s ( x, y)  f ( x, y) g(x, y ) ( x, y)    f (mx, ny) ( x  mx, y  ny)
m   n  
Digital image processing Chapter 3. Image sampling and quantization

Two-dimensional sampling (2)

• Question: How to choose the values Δx, Δy to achieve:


-the representation of the digital image by the min. number of samples,
-at (ideally) no loss of information?
(I. e.: for a perfectly uniform image, only 1 sample is enough to completely represent the image =>
sampling can be done with very large steps; on the opposite – if the brightness varies very sharply => very
many samples needed)
The sampling intervals Δx, Δy needed to have no loss of information depend on the spatial frequency
content of the image.
Sampling conditions for no information loss – derived by examining the spectrum of the image  by
performing the Fourier analysis:
f s ( x, y )  f ( x, y ) g (x, y ) ( x, y )  Fourier transform :
   j 2  y  y    j 2  y  y
FS ( x , y )    f S ( x, y )  e  j 2  x  x  e dxdy    f ( x, y )  g ( x, y ) ( x, y )  e  j 2  x  x  e dxdy.
   

The sampling grid function g(Δx, Δy) is periodical with period (Δx, Δy) => can be expressed by its Fourier
series expansion: k l
j 2   x j 2   y
 
x y
g ( x, y ) ( x, y )    a(k , l )  e e ,
k   l  
where :
k l
1 1 x y  j 2   x  j 2   y
x  e y
a(k , l )      g ( x, y ) ( x, y )e dxdy.
x y 0 0
Digital image processing Chapter 3. Image sampling and quantization

Two-dimensional sampling (3)

Since:
1, if x  y  0
for ( x, y )  [0; x)  [0; y ), g ( x, y ) ( x, y )   ,
0 , otherwise

 , k , l   ;  .
1 1
 a(k , l ) 
x y
Therefore the Fourier transform of fS is:
 2 k  x 2 l  y 
     j j   j 2  y  y
 e x  e y   e  j 2  x  x  e
1
FS ( x , y )    f ( x, y )     dxdy
   k   l   x  y 
 
  k   l 
      j 2  x x    j 2  y  y   
1  x   e  y 
 FS ( x , y )        f ( x, y )  e dxdy
x  y      k   l   

 
 k   l 
     j 2  x x    j 2  y  y  
1  x   e  y 
 FS ( x , y )       f ( x, y )  e dxdy
x  y k   l      
1    k l 
 FS ( x , y )     F  x  , y  .
x  y k   l    x y 
 The spectrum of the sampled image = the collection of an infinite number of scaled spectral replicas
of the spectrum of the original image, centered at multiples of spatial frequencies 1/Δx, 1/ Δy.
Digital image processing Chapter 3. Image sampling and quantization

Original image Original image spectrum – 3D Original image spectrum – 2D

2-D rectangular sampling grid


Sampled image spectrum – 3D Sampled image spectrum – 2D
Digital image processing Chapter 3. Image sampling and quantization
Image reconstruction from its samples

y 1/x

ys
 xs  2 x0 ,  ys  2 y 0 x 
1
,y 
1
ys-y0
2
2 x 0 2 y 0
2y0  1/y
y0  1
 ,( , )  
H ( x , y )   ( xs ys ) x y
1
3 
0, otherwise
2x0 ~
x0 F ( x ,  y )  H ( x ,  y ) Fs ( x ,  y )  F ( x ,  y ) 
xs x
f  x, y   h  x, y   f s  x, y 
xs-x0 ~
xs

Fig.4 The sampled image spectrum  


 f  x, y    f s mx, ny hx  mx, y  ny 
~

m   n  
Let us assume that the filtering region R is rectangular, at the middle distance between two spectral
replicas:


1
 
 xs
 
 ys
sinx xs  sin y ys  
2  h  x, y  
, x and y
H ( x ,  y )   ( xs  ys ) 2 
0,  x xs y ys
 otherwise

 f x, y  
~  
   
 
 

sinx xs  m sin  y ys  n 
  s   s
f
m   n  
mx, ny h x  mx, y  ny  f
m   n  
mx, ny
  x xs  m 

 y ys  n  
Digital image processing Chapter 3. Image sampling and quantization

 
 f s mx, ny sincx xs  msincy ys  n, where sinca  
sin a
 f x, y  
~

m   n   a

Since the sinc function has infinite extent => it is impossible to implement in practice the ideal LPF
it is impossible to reconstruct in practice an image from its samples without error if we sample it
at the Nyquist rates.

Practical solution: sample the image at higher spatial frequencies + implement a real LPF (as close to
the ideal as possible).

1-D sinc function


2-D sinc function
Digital image processing Chapter 3. Image sampling and quantization

The Nyquist rate. The aliasing. The fold-over frequencies

 xs  2 x 0 , ys  2 y 0
y

y0

0 2 y0

2 x0
The Moire effect
0 x0 x
Fig. 5 Aliasing – fold-over frequencies
Note: Aliasing may also appear in the reconstruction process,
due to the imperfections of the filter!
How to avoid aliasing if cannot increase the sampling frequencies?
“Jagged” boundaries
By a LPF on the image applied prior to sampling!
Digital image processing Chapter 3. Image sampling and quantization
Non-rectangular sampling grids. Interlaced sampling grids n
n
νy F(νx, νy)=1
1/2 2
1/ 2

νx 1
1 2 2
-1/2 1/2
-1 0 1 1 2 3 m -2 -1 0 1 2 m
-1/2

a) Image spectrum b) Rectangular grid G1 c) Interlaced grid G2

2 2
1

x x

-1 0 1
1 1
x x

d) The spectrum using G1 e) The spectrum using G2


Interlaced sampling

Optimal sampling = Karhunen-Loeve expansion: f ( x, y)   a m ,n  m ,n
m ,n  0
Digital image processing Chapter 3. Image sampling and quantization

Image reconstruction from its samples in the real case

The question is: what to fill in the “interpolated” (new) dots?


Several interpolation methods are available; ideally – sinc function in the spatial domain; in
practice – simpler interpolation methods (i.e. approximations of LPFs).
Digital image processing Chapter 3. Image sampling and quantization

Image interpolation filters:

The 1-D Graphical The 2-D Frequency


interpolation representation p(x) interpolation response pa(1,0)
function function pa(1,2)
pa(x,y)=p(x)p(y)
1/x 1
Rectangular      
(zero-order 1  x p0 ( x) p0 ( y) sinc 1  sinc 2 
rect    2x 0   2y 0 
filter) -x/2
0
x/2 x x  x  0
x

p0(x) 4x0

1/x 1
Triangular 1  x       
2
tri   sinc 1  sinc 2  
(first order x  x  p1 ( x) p1 ( y)
  2x 0   2y 0  
filter) -x x x x
p0 ( x)  p0 ( x)
0 0
p1(x) 4x0

1
n-order filter       
n 1

n=2, quadratic p0 ( x ) p0 ( x ) pn ( x) pn ( y) sinc 1  sinc 2  


n=3, cubic spline   2x 0   2y 0  
0
x n convolu@ii 0
x

pn(x) 4x0

1
1  x2  1  ( x2  y2 ) 
 2 2  2 exp 
 
exp
Gaussian 2  2 2 2  exp  2 2 2 (12  22 )
2

pg(x) 0
x
0
x

2

1  x 1  x  y      
sinc  sinc  sinc  rect  1  rect  2 
Sinc 0
x x  x  xy  x   y   2x 0   2y 0  0
2x 2x0
Digital image processing Chapter 3. Image sampling and quantization

Image interpolation examples:

1. Rectangular (zero-order) filter, or nearest neighbour filter, or box filter:

1/x

-x/2 x/2 x
0

Original Sampled Reconstructed


Digital image processing Chapter 3. Image sampling and quantization

Image interpolation examples:

2. Triangular (first-order) filter, or bilinear filter, or tent filter:

1/x

-x x x
0

Original Sampled Reconstructed


Digital image processing Chapter 3. Image sampling and quantization

Image interpolation examples:

3. Cubic interpolation filter, or bicubic filter – begins to better approximate the sinc function:

x
0
2x

Original Sampled Reconstructed


Digital image processing Chapter 3. Image sampling and quantization
Practical limitations in image sampling and reconstruction

Input Scanning g(x,y) Ideal sampler gs(x,y) Analog display g~(x,y)


image system x,y pa(-x,-y)
aperture
ps(-x,-y)
Real scanner model

Fig. 7 The block diagram of a real sampler & reconstruction (display) system
Pa(1,0)
Interpolation filter or
display system spectrum

-xs/2 xs/2 1

Sampled Input image spectrum


image
Reconstructed Spectral losses
spectrum
image spectrum

- 0
0
-xs/2 xs/2

Interpolation error

Fig. 8 The real effect of the interpolation


Digital image processing Chapter 3. Image sampling and quantization

3. Image quantization
3.1. Overview
Quantizer’s
u u’ output
Quantizer rL

rk

t1 t2 tk tk+1 tL+1

Quantization
r2 error

r1

Fig. 9 The quantizer’s transfer function


Digital image processing Chapter 3. Image sampling and quantization

3.2. The uniform quantizer


The quantizer’s design:
• Denote the input brightness range: u  lmin ; LMax 
• Let B – the number of bits of the quantizer => L=2B reconstruction levels
• The expressions of the decision levels: E.g. B=2 => L=4
Uniform quantizer transfer function

t1  lmin ; t L 1  LMax r4=224

t k  t k 1  t k 1  t k  constant  q

Reconstruction levels
r3=160

t l
q  L 1 1 ,tk  tk 1  q  q  Max min
t L
L L r2=96

• The expressions of the reconstruction levels:


r1=32

t t
rk  k k 1  rk  t k 
q
t1=0 t2=64 t3=128 t4=192 t5=256
2 2 Decision levels

• Computation of the quantization error: for a given image of size M×N pixels,
U – non-quantized, and U’ – quantized => we estimate the MSE:
1 M 1N 1 L t k 1
   um, n  u ' m, n    (u  rk ) 2 hlin,U (u)du
2
MN m  0 n  0 k 1 t k
Digital image processing Chapter 3. Image sampling and quantization

Examples of uniform quantization and the resulting errors:


B=1 => L=2
Uniform quantizer transfer function Non-quantized image Quantized image

r2=192
Reconstruction levels

r1=64

t1=0 t2=128 t3=256


Decision levels
Quantization error; MSE=36.2
1000

900

800

700

600

500

400

300

200

100

0 50 100 150 200 250

The histogram of the non-quantized image


Digital image processing Chapter 3. Image sampling and quantization

Examples of uniform quantization and the resulting errors:


B=2 => L=4
Non-quantized image Quantized image
Uniform quantizer transfer function

r4=224
Reconstruction levels

r3=160

r2=96

r1=32

t1=0 t2=64 t3=128 t4=192 t5=256


Decision levels

Quantization error; MSE=15


1000

900

800

700

600

500

400

300

200

100

0 50 100 150 200 250

The histogram of the non-quantized image


Digital image processing Chapter 3. Image sampling and quantization

Examples of uniform quantization and the resulting errors:


B=3 => L=8;Uniform
false contours present
quantizer transfer function
Non-quantized image Quantized image
r8=240

r7=208

r6=176
Reconstruction levels

r5=144

r4=112

r3=80

r2=48

r1=16

t1=0 t2=32 t3=64 t4=96 t5=128 t6=160 t7=192 t8=224 t9=256


Decision levels

1000 Quantization error; MSE=7.33


900

800

700

600

500

400

300

200

100

0 50 100 150 200 250

The histogram of the non-quantized image


Digital image processing Chapter 3. Image sampling and quantization

3.2. The optimal (MSE) quantizer (the Lloyd-Max quantizer)

t L 1 L ti 1
e  E[(u  u' ) ]   (u  u' ) hu (u)du
2 2
    (u  ri ) 2 hu (u )du
t1 i 1 ti


tk

 (tk  rk 1 ) 2  (tk  rk ) 2 hu (tk )  0 
t k 1

 2  (u  rk )hu (u )du  0 1  k  L
rk t k

t k 1

r r
 uhu (u)du
t k  k k 1 rk   E u | u  k 
tk
t k 1
2
 hu (u)du
tk

1
pu (u)  pu (tj ), tj  (t j  t j 1 ), t j  u  t j 1
z k  t1
2
 [hu (u )]
1 / 3
A du
t k 1   t1
t1
t L 1

 [hu (u )]
1 / 3
du
t1
Digital image processing Chapter 3. Image sampling and quantization

3
1 t
L 1 
   [hu (u )] du 
1/ 3
12 L2  t 
1

pu(u)

u
t1 t2 tj tj+1 tL+1

  (u   ) 2  
exp   u   
1
hu (u )  exp  
 (Gaussian) , or hu (u )  (Laplacian)
 2
2
2 2
 2
2
2  ( variance , - mean)

Digital image processing Chapter 3. Image sampling and quantization

Examples of optimal quantization and the quantization error:


B=1 => L=2
Functia de transfer a cuantizorului optimal
Non-quantized image Quantized image
Nivelele de reconstructie

r2=153

r1=24

t1=0 t2=89 t3=256


Nivelele de decizie
The quantization error; The evolution of MSE
1000
MSE=19.5 in the optimization, starting
900

800
from the uniform quantizer
38
700
36
600
34
500
32
400
30
300
28
200 26

100 24

0 22

20
0 50 100 150 200 250
18
The non-quantized image histogram 1 2 3 4 5 6 7 8
Digital image processing Chapter 3. Image sampling and quantization

Examples of optimal quantization and the quantization error:


B=2 => L=4
Functia de transfer a cuantizorului optimal Non-quantized image Quantized image
Nivelele de reconstructie

r4=181

r3=156

r2=115

r1=20

t1=0 t2=68 t3=136 t4=169 t5=256


Nivelele de decizie
The quantization error; The evolution of MSE
1000
MSE=9.6 in the optimization, starting
900

800 from the uniform quantizer


700 15

600
14
500
13
400

300 12

200
11
100

0 10

0 50 100 150 200 250


9
The non-quantized image histogram 1 2 3 4 5 6 7 8 9 10
Digital image processing Chapter 3. Image sampling and quantization

Examples of optimal quantization and the quantization error:


B=3 => L=8
Non-quantized image Quantized image
Functia de transfer a cuantizorului optimal

r8=224
Nivelele de reconstructie

r7=181
r6=165
r5=147

r4=125

r3=101

r2=54

r1=14

t1=0 t2=34 t3=78 t4=113 t5=136 t6=156t7=173 t8=203 t9=256


Nivelele de decizie

1000 The quantization error; The evolution of MSE


900
MSE=5 in the optimization, starting
800
from the uniform quantizer
700
7.5
600
7
500

400
6.5

300
6
200

100 5.5

0
5
0 50 100 150 200 250
4.5
The non-quantized image histogram 0 2 4 6 8 10 12 14
Digital image processing Chapter 3. Image sampling and quantization

3.3. The uniform quantizer = the optimal quantizer for the uniform grey level
distribution:
 1
 , t1  u  t L1
hu (u )   t L1  t1
0 otherwise

(t k21  t k2 ) t k 1  t k
rk  
2(t k 1  t k ) 2

t k 1  t k 1 tk  tk 1  tk 1  tk  constant  q
tk 
2
t t q
q  L1 1 , t k  t k 1  q, rk  t k 
L 2
q /2
1 q2
q  q/ 2
 u du 
2
12


 22B , therefore SNR  10log10 22B  6  B dB
u2
Digital image processing Chapter 3. Image sampling and quantization

3.4. Visual quantization methods


• In general – if B<6 (uniform quantization) or B<5 (optimal quantization) => the "contouring"
effect (i.e. false contours) appears in the quantized image.
• The false contours (“contouring”) = groups of neighbor pixels quantized to the same value <=>
regions of constant gray levels; the boundaries of these regions are the false contours.
• The false contours do not contribute significantly to the MSE, but are very disturbing for the
human eye => it is important to reduce the visibility of the quantization error, not only the MSQE.
Solutions: visual quantization schemes, to hold quantization error below the level of visibility.
Two main schemes: (a) contrast quantization; (b) pseudo-random noise quantization

Uniform quantization, B=4 Optimal quantization, B=4 Uniform quantization, B=6


Digital image processing Chapter 3. Image sampling and quantization

3.4. Visual quantization methods


a. Contrast quantization
• The visual perception of the luminance is non-linear, but the visual perception of contrast is linear
uniform quantization of the contrast is better than uniform quantization of the brightness
contrast = ratio between the lightest and the darkest brightness in the spatial region
just noticeable changes in contrast: 2% => 50 quantization levels needed  6 bits needed with a
uniform quantizer (or 4-5 bits needed with an optimal quantizer)

Brightness
-
f( ) c MMSE c’ f 1( ) u’
u brightness- contrast -
quantizer
contrast brightness

c   ln(1  u ),0  u  1; typ.  6...18,    / ln(1  )


or
c  u  ; typ.  1;   1 / 3
Digital image processing Chapter 3. Image sampling and quantization

Examples of contrast quantization:

• For c=u1/3: 250


The transfer function of the contrast quantizer

0.9
200

0.8

0.7
150

Reconstruction levels
0.6

0.5
100

0.4

0.3
50

0.2

0.1
0
t2=3.9844
t1=0 t3=31.875 t4=107.5781 t5=255
Decision levels
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1000

900

800

700

600

500

400

300

200

100

0 50 100 150 200 250


Digital image processing Chapter 3. Image sampling and quantization

Examples of contrast quantization:


The transfer function of the contrast quantizer
• For the log transform: 250

4.5
200
4

Reconstruction levels
3.5
150
3

2.5
100
2

1.5

1 50

0.5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 t1=0 t2=46.0273 t3=102.2733 t4=171.0068 t5=255
Decision levels
1000

900

800

700

600

500

400

300

200

100

0 50 100 150 200 250


Digital image processing Chapter 3. Image sampling and quantization

b. Pseudorandom noise quantization (“dither”)

u’(m,n)
u(m,n) v(m,n) K bits v’(m,n)
 quantizer 
+ +
+ -

(m,n)
Uniformly distributed
pseudorandom noise,
[-A,A] Large dither amplitude

Uniform quantization, B=4


Prior to dither subtraction Small dither amplitude
Digital image processing Chapter 3. Image sampling and quantization

Fig. 13
a b a. 3 bits quantizer =>visible false contours;
c d b. 8 bits image, with pseudo-random noise added in the range [-16,16];
c. the image from Figure b) quantized with a 3 bits quantizer
d. the result of subtracting the pseudo-random noise from the image in
Figure c)
Digital image processing Chapter 3. Image sampling and quantization

Halftone images generation

Thresholding
v’
Luminance v(m,n) v’(m,n)
Halftone
+
0  u(m,n)  A + display
+
A
0  (m,n)  A
Pseudorandom matrix
Fig.14 Digital generation of halftone images

 52 44 36 124 132 140 148 156 


 60 4 28 116 200 228 236 164 

 40 60 150 10 
90  68 12 20 108 212 252 244 172 
 80 170 240 200 110  
H2  
  76 84 92 100 204 196 188 180 
H1  140 210 250 220 130 132 140 148 156 52 44 36 124 
   
120 190 230 180 70 
200 228 236 164 60 4 28 116 
 20 100 160 50 30  212 252 244 172 68 12 20 108 
 
204 196 188 180 76 84 92 100 
Demo: http://markschulze.net/halftone/index.html

Fig.15 Halftone matrices


Digital image processing Chapter 3. Image sampling and quantization

Fig.3.16
Digital image processing Chapter 3. Image sampling and quantization

Color images quantization

RN T1 T1’ RN’
Quantizer

GN T2 T 2’ Color space GN’


Color space Quantizer inverse
transformation transformation
T3 T3’ BN’
BN
Quantizer

Fig.17 Color images quantization

You might also like