wavelets and multiresolution...
TRANSCRIPT
![Page 1: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/1.jpg)
Wavelets and Multiresolution Processing
Thinh Nguyen
![Page 2: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/2.jpg)
Multiresolution Multiresolution Analysis (MRA)Analysis (MRA)
A scaling function scaling function is used to create a series of approximations of a function or image, each differing by a factor of 2 from its neighboring approximations.
Additional functions called wavelets wavelets are then used to encode the difference in information between adjacent approximations.
![Page 3: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/3.jpg)
Express a signal as
If the expansion is unique, the are called basis functionsbasis functions, and the expansion set
is called a basisbasis
Series ExpansionsSeries Expansions
( )f x( ) ( )k k
kf x xα ϕ=∑
expansion coefficientsexpansion functions
( )k xϕ
{ }( )k xϕ
![Page 4: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/4.jpg)
All the functions expressible with this basis form a function spacefunction space which is referred to as the closed spanclosed span of the expansion set
If , then is in the closed span of and can be expressed as
Series ExpansionsSeries Expansions
{ }( )kk
V Span xϕ=
( )f x V∈ ( )f x{ }( )k xϕ
( ) ( )k kk
f x xα ϕ=∑
![Page 5: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/5.jpg)
The expansion functions form an orthonormal basis for V
The basis and its dual are equivalent, i.e.,and
OrthonormalOrthonormal BasisBasis
0( ), ( )
1j k jkj k
x xj k
ϕ ϕ δ≠⎧
= = ⎨ =⎩
( ) ( )k kx xϕ ϕ= %
( ), ( ) ( ) ( )k k kx f x x f x dxα ϕ ϕ∗= = ∫
![Page 6: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/6.jpg)
Consider the set of expansion functions composed
of integer translations and binary scalings of the
real square-integrable function defined by
for all and
By choosing the scaling function wisely,
can be made to span
Scaling FunctionsScaling Functions
( )xϕ
{ } { }/ 2, ( ) 2 (2 )j j
j k x x kϕ ϕ= −
,j k∈ 2( ) ( )x Lϕ ∈
{ }, ( )j k xϕ2( )L
( )xϕ
![Page 7: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/7.jpg)
Index k determines the position of
along the x-axis, index j determines its width;
controls its height or amplitude.
By restricting j to a specific value the
resulting expansion set is a subset of
One can write
, ( )j k xϕ
/ 22 j
{ } { }/ 2, ( ) 2 (2 )j j
j k x x kϕ ϕ= −
oj j=
{ }, ( )j k xϕ{ }, ( )
oj k xϕ
{ }, ( )o oj j k
kV Span xϕ=
![Page 8: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/8.jpg)
Example: The Example: The Haar Haar Scaling FunctionScaling Function
1,0 1,1 1,4( ) 0.5 ( ) ( ) 0.25 ( )f x x x xϕ ϕ ϕ= + −0, 1,2 1,2 1
1 1( ) ( ) ( )2 2k k kx x xϕ ϕ ϕ += +
0 1V V⊂
1 0 1( )
0x
xotherwise
ϕ≤ <⎧
= ⎨⎩
![Page 9: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/9.jpg)
1. The scaling function is orthogonal to its integer translates
2. The subspaces spanned by the scaling function at low scales are nested within those spanned at higher scales:
MRA RequirementsMRA Requirements
1 0 1 2V V V V V V−∞ − ∞⊂ ⊂ ⊂ ⊂ ⊂ ⊂ ⊂L L
![Page 10: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/10.jpg)
Given a scaling function which satisfies the MRA requirements, one can define a wavelet wavelet functionfunction which, together with its integer translates and binary scalings, spans the difference between any two adjacent scaling subspaces and
Wavelet FunctionsWavelet Functions
( )xψ
jV 1jV +
![Page 11: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/11.jpg)
Define the wavelet set
for all that spans the spacesWe write
and, if
{ } { }/ 2, ( ) 2 (2 )j j
j k x x kψ ψ= −
Wavelet FunctionsWavelet Functions
k∈ jW
{ }, ( )j j kk
W Span xψ=
( ) jf x W∈
,( ) ( )k j kk
f x xα ψ=∑
![Page 12: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/12.jpg)
This implies that
for all appropriateWe can write
and also
OrthogonalityOrthogonality:: 1j j jV V W+ = ⊕1j j jV V W+ = ⊕
, ,( ), ( ) 0j k j lx xϕ ψ =, ,j k l∈
20 0 1( )L V W W= ⊕ ⊕ ⊕L
22 1 0 1 2( )L W W W W W− −= ⊕ ⊕ ⊕ ⊕ ⊕ ⊕L L
(no need for scaling functions, only wavelets!)
![Page 13: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/13.jpg)
Example: Example: Haar Haar Wavelet Functions in Wavelet Functions in WW00 and and WW11
( ) ( ) ( )a df x f x f x= +
low frequencies
high frequencies
![Page 14: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/14.jpg)
A function can be expressed as
Wavelet Series ExpansionsWavelet Series Expansions
0 0
0
,,( ) ( ( )) ( ) ( )j jj j kk k
kj j
f x c kx xk d ψϕ∞
== +∑ ∑ ∑
2( ) ( )f x L∈
approximation or scaling coefficientsapproximation or scaling coefficientsdetail or wavelet coefficientsdetail or wavelet coefficients
00 ,( ) ( ), ( )jj k xc k f x ϕ=,( ) ( ), ( )j kjd x xk f ψ=
0 00
21( ) j jj WV WL += ⊕ ⊕ ⊕L
![Page 15: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/15.jpg)
ConsiderIf , the expansion coefficients are
Example: The Example: The Haar Haar Wavelet Series Wavelet Series Expansion of Expansion of yy==xx22
2 0 10x xy
otherwise
⎧ ≤ <= ⎨⎩
1 12 2
0 00 01 1
2 21 1
0,0
1,0
,
0
0 0
01,1
1 1(0) (0)3 4
2 3 2(0) (1)32
( )
( (
)
) )
(
32
c x xdx d x dx
xd x dx d x xx d
x ψ
ψ ψ
ϕ= = = = −
= = − = = −
∫ ∫
∫ ∫
0 0 1
1 0 0
2 1 1 0 0 1
0,0 1,0 10 0 ,1, ( )1 1 2 3 23 4
( ) ( ) (2 32
)3
V W WV V W
V V W V W W
x xx xy ψ ψ ψϕ
= ⊕
= ⊕ = ⊕ ⊕
⎡ ⎤⎡ ⎤= + − + − − +⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦L
14243 1442443 144444244444314444244443
14444444444244444444443
0 0j =
![Page 16: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/16.jpg)
Example: The Example: The Haar Haar Wavelet Series Wavelet Series Expansion of Expansion of yy==xx22
![Page 17: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/17.jpg)
Let denote a discrete function Its DWT is defined as
Let and so that
The Discrete Wavelet Transform (DWT)The Discrete Wavelet Transform (DWT)( ), 0,1, , 1f x x M= −K
00 ,
,
1( , ) ( )
1( , ) (
(
) ( )
)x
j
k
xk
jW j k f xM
W j k f x xM
xϕ
ψ ψ
ϕ=
=
∑
∑ 0j j≥
0
00 ,, ( )1 1( )( ) ( , ) ( , ) j kk j j k
j kf x W j k W j kM M
xxϕ ψ ψϕ∞
== +∑ ∑ ∑
approximation approximation coefficientscoefficients
detail detail coefficientscoefficients
2JM =0oj =0,1, , 1,0,1, , 1,0,1, ,2 1j
x Mj Jk
= −⎧⎪ = −⎨⎪ = −⎩
K
K
K
![Page 18: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/18.jpg)
Consider the discrete function
It isThe summations are performed over
and for andfor
Use the Haar scaling and wavelet functions
Example: Computing the DWTExample: Computing the DWT
(0) 1, (1) 4, (2) 3, (3) 0f f f f= = = − =24 2 2M J= = ⎯⎯→ =
0,1,2,3x = 0k = 0j =0,1k = 1j =
![Page 19: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/19.jpg)
Example: Computing the DWTExample: Computing the DWT
[ ]
[ ]
3
03
03
0
0,0
1
0,
3
0
,
1,
0
0
1
1(0,0) ( ) 1 4 3 0 12
1(0,0) ( ) 1 4 3 ( ) 0 ( ) 42
1(1,0) ( ) 1
1( ) 1 1 1 12
1( ) 2 2 0 0
1( ) 1 1 1
4 ( ) 3 0 1.5 22
1(1,1) ( ) 1
2
1( ) 0 0 2
12
32
4 0 (2
x
x
x
x
x
x
W f x
W f x
W f x
W f x x
xϕ
ψ
ψ
ψ
ψ
ψ
ψ
ϕ=
=
=
=
= = ⋅ + ⋅ − ⋅ + ⋅ =
= = ⋅ + ⋅ − ⋅ + ⋅ =
⎡ ⎤= = ⋅ + ⋅ − ⋅ + ⋅ = −⎣ ⎦
= = ⋅ + ⋅ − ⋅ + ⋅
− −
−
−
∑
∑
∑
∑ ) 12 .5 2⎡ ⎤ = −⎣ ⎦
![Page 20: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/20.jpg)
The DWT of the 4-sample function relative to the Haar wavelet and scaling functions thus is
The original function can be reconstructed as
for
Example: Computing the DWTExample: Computing the DWT
{ }1,4, 1.5 2, 1.5 2− −
0,0
1,0 1
0,
,1
0 ( )1( ) (0,0) (0,0)2
(1 (,0) (1,1 (
)
) )
(
)
f x W W
W W
x
x x
xϕ ψ
ψ ψ
ψϕ
ψ ψ
⎡= + +⎣
⎤+ ⎦0,1,2,3x =
![Page 21: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/21.jpg)
In 2-D, one needs one scaling function
and three wavelets
is a 1-D scaling function and is its corresponding wavelet
Wavelet Transform in 2Wavelet Transform in 2--DD
( , ) ( ) ( )x y x yϕ ϕ ϕ=
( , ) ( ) ( )( , ) ( ) ( )( , ) ( ) ( )
H
V
D
x y x yx y x yx y x y
ψ ψ ϕψ ϕ ψψ ψ ψ
⎧ =⎪ =⎨⎪ =⎩
•detects horizontal details
•detects vertical details
•detects diagonal details
(.)ϕ(.)ψ
![Page 22: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/22.jpg)
Define the scaled and translated basis functions
Then
22--D DWT: DefinitionD DWT: Definition
{ }
/ 2
/
,
2
,
, ,
2 (2 ,2 )
2 (2 ,2 ),( ,
( )
,
,
) ,ij m n
j j j
j i j
j m n
j
x m y n
x m yx n i H V D
x y
y
ϕϕ
ψψ
= − −
= − − =
{ }
0
1 1
00 0
1 1
0 0,
,
,
,
( ,
( ,
)
1( , , ) ( , )
1( , , ) ( , , ,
)
, )
M N
x yj m
M Ni
x
ij n
ym
nW j m n f x yMN
W j x ym n f
x y
x y i H V DMN
ϕ
ψ ψ
ϕ− −
= =
− −
= =
=
= =
∑ ∑
∑ ∑
0
0
0
,,
,
, ,
,
1( , ) ( ,
(
( , )
, )
, )
1 ( , , )
m n
i
i
j m
H V D j j m nm
n
ij n
f x y W j m nMN
W j m nM
x y
xN
y
ϕ
ψ ψ
ϕ
∞
= =
=
+
∑∑
∑ ∑ ∑∑
![Page 23: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/23.jpg)
Filter bank implementation of 2Filter bank implementation of 2--D D waveletwavelet
analysis FBanalysis FB
synthesis FBsynthesis FB
resulting resulting decompositiondecomposition
( , )f x y
LL
LHHL
HH
HHHL
LHLL
![Page 24: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/24.jpg)
Example: A ThreeExample: A Three--Scale FWTScale FWT
![Page 25: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/25.jpg)
Analysis and Synthesis FiltersAnalysis and Synthesis Filters
scaling scaling functionfunction
wavelet wavelet functionfunction
analysis analysis filtersfilters
synthesis synthesis filtersfilters
![Page 26: Wavelets and Multiresolution Processingweb.engr.oregonstate.edu/~thinhq/teaching/ece499/spring06/wavelet.pdfMultiresolution Analysis (MRA) A scaling function is used to create a series](https://reader034.vdocument.in/reader034/viewer/2022051801/5adf91667f8b9a97518c1f0a/html5/thumbnails/26.jpg)
“An Introduction to Wavelets,” by Amara Graps
Amara’s Wavelet Page (with many links to other resources) http://www.amara.com/current/wavelet.html
“Wavelets for Kids,” (A Tutorial Introduction), by B. Vidakovic and P. Mueller
Gilbert Strang’s tutorial papers from his MIT webpage
http://www-math.mit.edu/~gs/
Wavelets and Subband Coding, by Jelena Kovacevic and Martin Vetterli, Prentice Hall, 2000.
Want to Learn More About Wavelets?Want to Learn More About Wavelets?