Professional Documents
Culture Documents
The most commonly used image compression methods consist of three steps Source
Encoder (Linear Transform) Quantization and Entropy Coding. The first step, i.e. the
transform, may be accomplished using Wavelets. A signal can be processed by any of the
available mathematical tool called as transform (An algorithm or procedure that changes
one group of data into another group of data). The transformation is used to accomplish
the following: 1. to create a representation for the data in which there is less correlation
among the co-coefficient values and it is often referred as decorrelating the data. The
purpose of decorrelation is to reduce the redundancy, which enables us to quantize each
coefficient independently of the others. 2. To have a representation in which it is possible
to quantize different co-ordinates with different precision [1]-[7]. The mathematical
transforms used to process the signal like FT (Fourier Transform), STFT (Short Term
Fourier Transform), DCT (Discrete Cosine transform), Laplace Transform, Z Transform,
Hilbert Transform and Wavelets etc. [8]]-[15], are normally applied to the signals to
obtain information from that signal which is not readily available in the raw signal. Here
the raw signals in practice are time domain. When we plot Time Domain signals we
obtain a time amplitude representation of the signal. This representation is not always the
best representation of the signal for most signals processing application, because most of
the information of signal is hidden in the frequency content. The frequency spectrum of
55
signal shows what frequencies exist in the signal (frequency is something to do with the
change in rate). We can measure the frequency contents of signal using Fourier Transform
(A family of mathematical techniques based on decomposing signals into sinusoids).
Fourier Transform does not indicate the time in which time these frequency components
exist in the signal. Hence these signals are called the Stationary signals The theory of
Wavelets starts with the concepts of Multiresolution Analysis (MRA) [7],[16]-[25] ; the
detailed theory of Multiresolution is found at [5][[16][26][27]. Before dealing with
Multiresolution techniques let us first see the mathematical background for the
transforms.
3.1 Vector spaces:
Consider an example of 2-D vector space is
56
as said in above equation 3.1. We can get the coefficients of Vector through a product
called the Dot product or Inner product.
3.1.1 Dot or Inner product:
Let us consider two vectors, Vector A and Vector B
Such that
A1
A
A2
B1
B ......(3.2)
B 2
0
Uy ..(3.4)
1
57
A1
B1
A A2
B B 2 ..(3.7)
A3
B3
A1 B1
A B A2 B 2 .(3.8)
A3 B3
Scalar Multiplication:
We mean that the multiplication of vector with real or complex numbers.
Suppose Vector V is a vector space X, Y, Z are the vector elements: and are the
two scalar vectors then the following axioms are satisfied
X+Y = Y+X (Commutative)
(X+Y)+Z=X+(Y+Z) and ( ) X = (X) (Associative)
Their exist element in V that X+ = X for all X in is called the additive
identity
(X+Y)= X+ Y and ( + ) X = X + X (Distributive)
1.X = X and 0.X =
For every X in V there exit a (-X) such that X+(-X)= .
3.1.3 Subspace:
A subspace S of a Vector V is a subset of V whose members satisfy all the axioms of the
vector space and has the additional property that if X & Y are in S and is a scalar, then
X+Y and X is also in S.
3.1.4 Basis:
One way with which we can generate a subspace is by taking linear combinations of a set
of vectors. If this set of vectors is linearly independent then the set is called a basis for the
subspace. A set of vectors {X1, X2} is said to be linearly independent if no vectors of
the set can be written as a linear combination of the other vectors in the set.
58
f (t ) a 0
an cos n 0 t
n 1
n 1
bn sin 0 t ...(3.10)
Where
w0 2 / T
f (t )
Cne
jn 0 t
... (3.11)
59
We can easily move between the exponential and trigonometric representation by using
Eulers identity
cos
j sin
.....(3.12)
Where
j 1
We can find the coefficients of Cn by taking the inner product of f(t) and the basis vector
ejnw0t
T
jn 0 t
1 / T f (t ).e jn 0 t ....(3.13)
i.e. Cn f (t ), e
0
of function f(t)
n
The basis functions are sinusoids that differ from each other in how fast they fluctuate in
a given time interval. The basis vector e2jw0t fluctuate twice as fast as the basis vector ejw0t.
The coefficients of the basis Vectors Cn
profile. The amount of signal change is obtained by the rate in which the signal changes
at w0/2, 2w0/2, and 3w0/2 and so on. This information cannot be obtained by
representation
n
tells us little about how the signal changes with time. The ability to view the same signal
in different ways helps us to understand the nature of the signal and also we need to
develop tools for manipulation of the signal. Thus Fourier series provides us with
frequency representation of periodic signals. However many of the signals we will be
dealing within day-to-day activities is a periodic (not periodic). Fortunately, the Fourier
series concepts can be extended to non-periodic signals also.
For ex. Stationary (periodic) signal
60
F ( ) f (t )e jt dt . (3.14)
Fourier transform is suitable for Processing stationary signals or periodic signals, and not
suitable for non-periodic signals or Non stationary signals. For a Non-stationary signal
we can assume that some portion of the signal is stationary. Let us consider a nonstationary signal as shown in figure-3.2.1
61
Through FT we can obtain frequency components of the signal. But FT doesnt infer the
time instant of appearance of a particular frequency component in the frequency
spectrum. We may some times need the time instant of appearance of a particular
frequency component. One way to obtain this information is through the Short Term
Fourier Transform (STFT). In STFT we can consider some part of the signal to be
stationary.
62
In order to reduce the boundary effect we make the windowing ( ) each piece of before
we take the Fourier Transform. For Ex. 5khz may appear at T, 10 kHz appear at 2T, 20
kHz may appear at 3T. Thus we obtain an analysis of function of both time and frequency
F ( , T )
f (t ) g * (t T ) e
j t
dt (3.15)
63
resolution. The Wider Window gives the good frequency resolution but poor time
resolution. [16] This representation problem is depicted in the figures below. The Figure
3.2.3 (a) is the STFT of the above signal for a narrow window, which has very good time
resolution but relatively poor frequency resolution.
64
F ( m ,0 )
f (t ) g * te
jm 0 t
dt .....(3.16)
The basis function are g(t), g(t) e j 0t , g(t) e j 2 0t , and so on, the first three basis functions
are shown in figure 3.8. We can see that window is of constant size and with this window
we have sinusoids with an increasing number of cycles. Let us assume for instant number
of cycles are fixed but the size of the window keeps changing as shown in figure 3.12.
65
It clearly shows that the lower frequency function covers the long interval time, while
higher frequency covers the short time interval. This is called the frequency problem and
which is happening with STFT. Now STFT faces the problem of resolution, then question
arises about the use of proper kind of window it is because the narrower Window gives
the good time resolution but poor frequency resolution. The Wider Window gives the
good frequency resolution but poor time resolution. The problem is of course choosing
the window function (window size)[16][26][29][30][31].
3.3 Multi Resolution Analysis(MRA)
Although the time and frequency resolution problem are result of physical
phenomenon (the Heisenberg Uncertainty Principle) and exists regardless of the
transform used, it is possible to analyze any signal by using an approach called the Multi
Resolution Analysis (MRA). MRA, as the name implies, analyzes the signal at different
frequencies with different resolutions. Every spectral component is not resolved equally
as was the case in the STFT.
MRA is designed to give good time resolution and poor frequency resolution at
high frequencies and good frequency resolution and poor time resolution at low
frequency. This approach makes sense especially when signal at hand has high frequency
components for short durations and low frequency components for long durations for
example signal like non-stationary signal as shown in figure 3.3(a) and the time
frequency resolution as shown in figure 3.3(b). Fortunately, the signals that are
encountered in practical applications, in particular in the case of audio, are often of this
type.
66
(t ) called scaling function. By taking linear combinations of the scaling function and its
translates we can generate a larger function.
f (t ) ak (t k ) ...(3.17)
67
Then f(t) can be any piecewise continuous function that is constant in the interval [k,k+1]
for all k
Let us define (t ) (t k ) the set of all function that can be obtained using linear
combination of the set {k (t )}
f (t ) akk (t ) ..(3.19)
k
As the scaling function has the property that any function that can be represented exactly
by an expansion at some resolution j can also be represented by dilations of the scaling
function at resolution j+1. In particular, this means that the scaling function itself can be
represented by its dilations at higher resolutions.
The final equations of MRA is (t ) hk 2 (2t k ) ..(3.20)
Now this equation is useful for defining the wavelet transform, before going to see about
the wavelet transform we begin with What is scaling. The parameter scale is used in
wavelet analysis, as we use it to scale the map. In case of map scale, high scale
corresponds to a global view (i.e. non-detailed) and low scales corresponds a detailed
view. Similarly in terms of frequency Low frequencies correspond to global information
of signal (high scales). Whereas high frequencies correspond to the detailed information
of a hidden pattern in the signal (low scales). Scaling is a mathematical operations either
it dilates or compresses a signal. Larger scales correspond to dilated signals and small
scales correspond to compressed signals. In terms of mathematical functions if f(t) is a
given function f(st) (where s is scaling) corresponds to a contracted (compressed) version
of f(t) if s<1 and to an expanded (dilated) version of f(t) if s>1.[32][33]
68
Where * denotes the complex conjugation. The Equation (3.21) shows how function f (t)
is decomposed (sampled) into a set of basis functions s, (t ) called the wavelets. The
variables s and are the two new dimensions scale and translations. And the inverse
wavelet transform is given by
f (t ) ( s, )s , (t ) dds .. (3.22)
The wavelets are generated from a single basis wavelet (t ) , so called the mother
wavelet, by scaling transform
s , 1 / s * (t / s ) ..(3.23)
Where s is the scale factor and is translation factor and the factor
s is for energy
normalization across the different scales. For the function to be wavelet it should be
limited. For a given scaling parameter s we translate the wavelet by varying the
parameter . We define the wavelet transform as:
w( s, ) f (t ) *1 / s * (t / s )dt ..(3.24)
t
69
According to Equation (3.24) for every (s, ), we have wavelet transform coefficient
representing how much the scaled wavelet is similar to the function at location t= /s.
However, the Continuous wavelet Transform (CWT) still has three properties, which are
difficult to use:
The CWT (Equation 3.21) is calculated continuously shifting a continuously
scalable function over a signal and calculating the correlation between them and it
will be near an orthogonal basis and obtained wavelets coefficients will therefore
be highly redundant.
Even without the redundancy of the CWT we still have an infinite number of
wavelets in the wavelet transform.
Most of the functions of wavelet transforms have no analytical solutions and they
can be calculated only numerically by an optical analog computer [7][17]-[20].
The CWT in this form is not suitable for computer implementation. So, fast algorithms
are needed to be able to exploit the power of the wavelet transform and it is fact that the
existence of these fast algorithms that have put wavelet transforms where they are today
[7]. As mentioned in CWT it has two parameters (s and ) therefore contains high
amount redundant data. Instead of varying the parameters, this work has analyzed the
signal with a small number of scales with varying number of translations at each scale.
This is called the Discrete Wavelet Transform (DWT). This is achieved by modifying the
CWT (Continuous Wavelet Transform) through sampling specific wavelets coefficients
j , k (t ) 1 / s 0 j . (t k 0 s 0 j / s 0 j
i.e.
j , k (t ) s0
j/2
( s0 j t ko) (3.25)
70
That which is the function of j and k, we denote it as ( j , k ) , which defines the resolution
of the DWT in both time and frequency. If j & k are integers and s 0 >1 is fixed then it is
dilation step. The translation factor 0 depends on the dilation step. The effect of
discretising the wavelet is that the time scale is now sampled at discrete intervals. We
usually choose s 0 =2 so that the sampling of frequency axis corresponds to dyadic
sampling. For the translation usually we choose 0 =1. So, that we also have dyadic
sampling of this time axis. DWT results the series of Wavelet coefficients and it is
referred as Wavelet Decomposition.
Thus redundancy can be removed by making the discrete wavelets orthogonal and by
making the Discrete Wavelets orthonormal. Dilation and translation made orthogonal to
their own dilations and translations i.e.
j, k
(t ) * j , k (t ) dt
1
0
We can get the inverse wavelet transform for discrete wavelets by summing the
orthogonal wavelet basis function, weighted by the wavelet transform coefficients
f (t ) ( j , k ) j , k (t ) ..(3.27)
j ,k
Every time wavelets do not need the orthogonality because in some application the
redundancy can help to reduce the sensitivity to noise; this gives the disadvantage of
discrete wavelet (DWT). [17]-[20]
71
72
73
resolution Diagonal (HH), Vertical (LH) and Horizontal (HL). The operations can be
repeated on the low low (LL) i.e. on approximation band using the second identical filters
bank [41]. The decomposition process can be iterated, with successive approximations
being decomposed. However, in practice, more than one decomposition level is
performed on the image data. Successive iterations are performed on the low pass
coefficients (approximation) from the previous stage to reduce further the number of low
pass coefficients. Since the low pass coefficients contain most of the original signal
energy, this iteration process yields better energy compaction. The quality of compressed
image depends on the number of decomposition. Compression of an image can be
obtained by ignoring all coefficients less than the threshold value. If we use
decomposition iteration, it will be more successful in resolving DWT coefficient because
Human Visual System (HVS) is less sensitive to removal of smaller details.
Decomposition iterations depend on the filter order. Higher order does not imply better
image quality because of the length of the wavelet filter; this becomes a limiting factor
for decomposition. Usually, Five levels of decompositions are used in current wavelet
based image compression [8],[42]-[46]. The maximum levels of Decomposition of any
image can be determined by using the formula given in equation (3.28)
Maximum Levels of Decomposition = log2 xmax ....(3.28)
Where xmax is the maximum size of given image
75
performance, because there is no filter that performs the best for all images [47]. The
existing Compression system used the biorthogonal wavelet filters instead of orthogonal.
Because orthogonal filters have a property of energy preservation whereas, biorthogonal
filters lack it [48][49]. The choice of optimal wavelets has several criteria. The main
criteria are:
1.
Orthonormality
2.
Filter Length
3.
4.
Smoothness
5.
6.
Group delay
7.
Decomposition level
8.
Regularity
76
order preserves the energy. i.e. it preserves the important edge information. Therefore, we
must take care of wavelets in image compression application concerning that good
balance between filter orders, degree of smoothness and, computational complexity [58].
These properties depend on the image contents. Vanishing order is the measure of
compaction property of the wavelet and it corresponds to the number of zeros in the LL
sub band [50][59]. Filter Response is another critical property that affects the subjective
quality of the reconstructed image. The filter responses approach the ideal rectangular
response with the increase in the number of zeros and these numbers of zeros also
correspond to vanishing order of the wavelet. Group Delay Difference (GDD) measures
the deviation in-group delay of the orthogonal wavelets from the linear phase group
delay. A non-GDD introduces a phase distortion that affects encoding and decoding by
altering the DWT Subband structure. The decomposition process can be iterated with
successive approximations being decomposed. However, in practice more than one
decomposition level is performed on the image data. Successive iterations are performed
on approximation coefficients; this successive iterations process yields better energy
compaction. The quality of the compressed image depends on the number of
decompositions, and these decomposition iterations depend on the filter order. Higher
order does not imply better image quality because of the length of wavelet filter. This
becomes a limiting factor for decomposition. Usually five levels of decomposition are
used in wavelet-based compression [8][50][60][61]. Regularity is one of the properties of
the wavelet; greater regularity often does not improve the visual quality.
77
78
up to maximum number of decomposition this is one of the key differences between the
wavelet and wavelet packet [65][66].
Figure 3.5 shows the Wavelet Packet (WP) presenting on extension of the octave band
wavelet decomposition to full tree decomposition
79
(t ) 2 H k ( 2t k )
k
(t ) 2 Gk (2t k )
k
. (3.29)
80
The low-pass filter H and the high-pass filters G are N N matrix filters, instead of
scalars. In theory, N could be as large as possible, but in practice it is usually chosen to
be two. This degree freedom can be used to incorporate useful properties of the
Multiwavelet such as orthogonality, symmetry, and high order approximation [68]. For
single scaling and wavelet functions extend to the matrix version. The resulting two
channels, 2 2 matrix filter bank operates on two input data streams, filtering them into
four output streams. Each of these streams is then downsampled by a factor of two. This
procedure is as shown in Figure-3.6.1(a)
L1L2
L1H1
L1H2
L2L1
L2L2
L2H1
L2H2
H1L1
H1L2
H1H1
H1H2
H2L1
H2L2
H2H1
H2H2
81
As Scalar wavelet transforms give a single quarter sized low-pass sub band from the
original larger sub band. In Multiwavelets, the multilevel decompositions are performed
in the same. Multiwavelet iterates on the low-pass coefficients from the previous
decomposition; the quarter image of Low-pass coefficients is actually a 2x2 sub bands.
L1L1
L1L2
L2L1
L2L2
The next step decomposes the Low-Low-Pass sub matrix in the similar manner which
gives the Second level of Decomposition and as shown in Figure-3.6.2(b). An N number
of Decomposition of a 2D image will produce the 4(3N+1) subband (sub
images)[73][74].
L1L1
L1L2
L1H1
L1H2
L2L1
L2L2
L2H1
L2H2
H1L1
H1L2
H1H1
H1H2
H2L1
H2L2
H2H1
H2H2
H1L1
H2L1
H1L2
H2L2
L1H1
L1H2
L2H1
L2H2
H1H1
H1H2
H2H1
H2H2
82
In order to preserve the invariance by translation, the down sampling operation must be
suppressed and the decomposition obtained in redundant form, which is to be referred as
Stationary Wavelet Transform, depicted in figure 3.7(a). The redundancy of this
transform facilitates the identification of salient features in a signal, especially for
recognizing the noises. This approach gives good result for images but not for signal
analysis.
83
DWT
Wavelet Coefficient
DWT
Translation
Wavelet Coefficient
Input Image
Translation
1 ( x , y ) ( x ) ( y ) ..(3.30)
w1j 1 ( k x , k y )
g (lx)h(ly)c
lx ly
2
j 1
w (k x , k y )
j ,k 2 j
(lx, ly ) .......(3.33)
h(lx)g(ly)c
j ,k 2 j
lx ly
w 3j 1 ( k x , k y )
g (lx ) g (ly )c
lx ly
j ,k 2 j
(lx , ly ) ..(3.35)
84
3.8 Summary:
This Chapter describes the various multi-resolution techniques used in transform coding
by providing mathematical background for the transforms followed by the limitations of
time-frequency limitations of the STFT. It emphasis the theory and practical
implementation of wavelets i.e. Structure, properties required for the compression and
decompression of the image. This chapter also describes the limitations of wavelets and
how these are overcome through wavelet packet and Multiwavelet while discussing the
additional properties of the wavelet. Finally describes the stationary wavelet transform
(SWT). The experiments are carried out through these multi-resolution techniques
compression and de-nosing pertaining to the various applications in presence/absence of
noise discussed in Chapter 4.
85
References:
01
02
R.C. Gonzalez, R.E. Woods and Steven L Eddins, Digital Image Processing
using MATLAB, Second Edition, Pearson Education, 2004
03
04
David Salomon, Data Compression the Complete Reference, 2nd Ed. Springer
05
06
07
08
09
Yun Q. Shi and Huifang Sun. Image and Video Compression for Multimedia
Engineering: Fundamentals, Algorithms, and Standards. CRC Press LLC, Boca
Raton FL, first edition, 2000.
10
11
12
13
14
86
15
16
Wavelet
Tutorial
Part
I,
II&III
by
Robi
http://users.rowan.edu/~polikar/WAVELETS/Wttutorial.html
17
Simon Haykin & Barry Van Veen Signals and Systems Library of congress
catalog in publication Data 1999
18
C.Valens,
"A
really
C.Valens@mindless.com
19
20
21
22
23
24
25
Yinpeng Jin, Elsa Angelini and Andrew Laine, Wavelets in Medical Image
Processing: De-nosing, Segmentation and Registration, in Handbook of Medical
Friendly
Friendly
Guide
Guide
to
to
Polikar,
Wavelets",
Wavelets",
1999,
1999-2004,
26
27
28
29
30
31
32
33
34
35
M Vetterli and C Merely, Wavelets and Filter Banks: Theory and Design,
IEEE Transaction on Signal Processing Vol. 40 PP 2207-2232
36
37
38
39
40
Image Processing Toolbox for use with Matlab. The Mathworks Inc., Natick
MA, second edition, 1997
41
88
42
43
44
45
Imgeun Lee and Jongsik Kim et al. Wavelet transform image coding using
human visual system. IEEE Asia-Pacific Conference on Circuits and Systems,
pages 619623, 1994
46
M. Miloslavski and Yo-Sung Ho. Zero tree wavelet image coding based on the
human visual system model. IEEE Asia-Pacific Conference on Circuits and
Systems, pages 5760, 1998
47
Subhasis Saha & Rao Vemuri Analysis based adaptive Wavelet filter selection
in
Lossy image coding schemes, ISCAS-2000-IEEE International
Symposium on
Circuits and systems May , Geneva, Switzerland, 2000
48
49
John D. Villasenar, Benjamin Belzer and Judy Liao, Wavelet Filter Evaluation
for image compression, IEEE Transactions on Image Processing, Vol. 4. No. 8,
1995.
50
51
John D Villasenor, Benjamin Belzer, and Judy Liao, Wavelet filter evaluation
for image compression, IEEE Trans. On Image Processing, Vol. 4(8) 10531060, 1995.
52
Michael Lightstone, Eric Majani and Sanjit K. Mitra, Low bit-rate design
considerations for wavelet based image coding, Multidimensional system and
signal processing, Vol. 8(1-2) PP:11-128, 1997.
89
53
54
55
Gillbert Strang and Truong Nguyen, Wavelets and Filter Banks WellesleyCambridge Press, Wellesley MA, 1st Edition, 1996.
Michael Unser and Thierry Blu, Mathematical Properties of the JPEG2000
wavelet filters, IEEE Tran. On Image Processing, 2003
56
57
Yinfen Low and Rosli Besar Wavelet based Medical Image Compression using
EZW, Proceedings of 4th National Conference on Telecommunication
Technology, Shah Alam, Malaysia IEEE, PP. No 203-206
58
59
Zhuhan Jiang Xiling Guo, Wavelet of Vanishing moments and minimal filter
and the Application to image Processing IEEE, 2001.
60
Kwo-Jyr Wong et. al. Image Compression with Fully Decomposed Wavelet
Transform, University of Sothern California, Los Angeles, CA IEEE, 1992.
61
62
63
64
65
66
90
67
Michael B. Martin and A.E. Bell, New Image Compression Techniques Using
Multiwavelets and Multiwavelets Packets, IEEE Transactions on Image
Processing Vol. 10. No. 4. PP 500-510, 2001.
68
69
70
71
72
73
74
91