Preface |
|
xvi | |
Acknowledgments |
|
xx | |
1 Vector Spaces, Signals, and images |
|
1 | (70) |
|
|
1 | (1) |
|
1.2 Some Common Image Processing Problems |
|
|
1 | (2) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
3 | (1) |
|
1.2.2 Transform-Based Methods |
|
|
3 | (1) |
|
|
3 | (7) |
|
|
4 | (1) |
|
1.3.2 Sampling, Quantization Error, and Noise |
|
|
5 | (1) |
|
|
6 | (2) |
|
|
8 | (1) |
|
|
9 | (1) |
|
1.3.6 Quantization and Noise for Images |
|
|
9 | (1) |
|
1.4 Vector Space Models for Signals and Images |
|
|
10 | (6) |
|
1.4.1 Examples-Discrete Spaces |
|
|
11 | (3) |
|
1.4.2 Examples-Function Spaces |
|
|
14 | (2) |
|
1.5 Basic Waveforms-The Analog Case |
|
|
16 | (4) |
|
1.5.1 The One-Dimensional Waveforms |
|
|
16 | (3) |
|
|
19 | (1) |
|
1.6 Sampling and Aliasing |
|
|
20 | (5) |
|
|
20 | (2) |
|
1.6.2 Aliasing for Complex Exponential Waveforms |
|
|
22 | (1) |
|
1.6.3 Aliasing for Sines and Cosines |
|
|
23 | (1) |
|
1.6.4 The Nyquist Sampling Rate |
|
|
24 | (1) |
|
|
24 | (1) |
|
1.7 Basic Waveforms-The Discrete Case |
|
|
25 | (3) |
|
1.7.1 Discrete Basic Waveforms for Finite Signals |
|
|
25 | (2) |
|
1.7.2 Discrete Basic Waveforms for Images |
|
|
27 | (1) |
|
1.8 Inner Product Spaces and Orthogonality |
|
|
28 | (11) |
|
1.8.1 Inner Products and Norms |
|
|
28 | (2) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (3) |
|
|
33 | (1) |
|
1.8.4 The Cauchy-Schwarz Inequality |
|
|
34 | (1) |
|
1.8.5 Bases and Orthogonal Decomposition |
|
|
35 | (4) |
|
|
35 | (2) |
|
1.8.5.2 Orthogonal and Orthonormal Bases |
|
|
37 | (2) |
|
1.8.5.3 Parseval's Identity |
|
|
39 | (1) |
|
1.9 Signal and Image Digitization |
|
|
39 | (6) |
|
1.9.1 Quantization and Dequantization |
|
|
40 | (3) |
|
1.9.1.1 The General Quantization Scheme |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
42 | (1) |
|
1.9.2 Quantifying Signal and Image Distortion More Generally |
|
|
43 | (2) |
|
1.10 Infinite-Dimensional Inner Product Spaces |
|
|
45 | (10) |
|
1.10.1 Example: An Infinite-Dimensional Space |
|
|
45 | (1) |
|
1.10.2 Orthogonal Bases in Inner Product Spaces |
|
|
46 | (2) |
|
1.10.3 The Cauchy-Schwarz Inequality and Orthogonal Expansions |
|
|
48 | (1) |
|
1.10.4 The Basic Waveforms and Fourier Series |
|
|
49 | (4) |
|
1.10.4.1 Complex Exponential Fourier Series |
|
|
49 | (3) |
|
1.10.4.2 Sines and Cosines |
|
|
52 | (1) |
|
1.10.4.3 Fourier Series on Rectangles |
|
|
53 | (1) |
|
1.10.5 Hilbert Spaces and L2(a, b) |
|
|
53 | (20) |
|
1.10.5.1 Expanding the Space of Functions |
|
|
53 | (1) |
|
|
54 | (1) |
|
1.10.5.3 A Converse to Parseval |
|
|
55 | (1) |
|
|
55 | (5) |
|
|
60 | (11) |
2 The Discrete Fourier Transform |
|
71 | (34) |
|
|
71 | (1) |
|
2.2 The Time Domain and Frequency Domain |
|
|
71 | (2) |
|
2.3 A Motivational Example |
|
|
73 | (5) |
|
|
73 | (1) |
|
2.3.2 Decomposition into Basic Waveforms |
|
|
74 | (1) |
|
2.3.3 Energy at Each Frequency |
|
|
74 | (1) |
|
2.3.4 Graphing the Results |
|
|
75 | (2) |
|
|
77 | (1) |
|
2.4 The One-Dimensional DFT |
|
|
78 | (7) |
|
2.4.1 Definition of the DFT |
|
|
78 | (2) |
|
2.4.2 Sample Signal and DFT Pairs |
|
|
80 | (4) |
|
2.4.2.1 An Aliasing Example |
|
|
80 | (1) |
|
|
81 | (1) |
|
|
82 | (2) |
|
2.4.3 Suggestions on Plotting DFTs |
|
|
84 | (1) |
|
|
84 | (1) |
|
2.5 Properties of the DFT |
|
|
85 | (5) |
|
2.5.1 Matrix Formulation and Linearity |
|
|
85 | (3) |
|
2.5.1.1 The DFT as a Matrix |
|
|
85 | (2) |
|
2.5.1.2 The Inverse DFT as a Matrix |
|
|
87 | (1) |
|
2.5.2 Symmetries for Real Signals |
|
|
88 | (2) |
|
2.6 The Fast Fourier Transform |
|
|
90 | (3) |
|
2.6.1 DFT Operation Count |
|
|
90 | (1) |
|
|
91 | (1) |
|
2.6.3 The Operation Count |
|
|
92 | (1) |
|
2.7 The Two-Dimensional DFT |
|
|
93 | (4) |
|
2.7.1 Interpretation and Examples of the 2-D DFT |
|
|
96 | (1) |
|
|
97 | (4) |
|
|
97 | (2) |
|
|
99 | (2) |
|
|
101 | (4) |
3 The Discrete Cosine Transform |
|
105 | (34) |
|
3.1 Motivation for the DCT-Compression |
|
|
105 | (1) |
|
3.2 Other Compression Issues |
|
|
106 | (1) |
|
3.3 Initial Examples-Thresholding |
|
|
107 | (5) |
|
3.3.1 Compression Example 1: A Smooth Function |
|
|
108 | (1) |
|
3.3.2 Compression Example 2: A Discontinuity |
|
|
109 | (1) |
|
3.3.3 Compression Example 3 |
|
|
110 | (2) |
|
|
112 | (1) |
|
3.4 The Discrete Cosine Transform |
|
|
112 | (4) |
|
3.4.1 DFT Compression Drawbacks |
|
|
112 | (1) |
|
3.4.2 The Discrete Cosine Transform |
|
|
113 | (3) |
|
3.4.2.1 Symmetric Reflection |
|
|
113 | (1) |
|
3.4.2.2 DFT of the Extension |
|
|
113 | (1) |
|
3.4.2.3 DCT/IDCT Derivation |
|
|
114 | (1) |
|
3.4.2.4 Definition of the DCT and IDCT |
|
|
115 | (1) |
|
3.4.3 Matrix Formulation of the DCT |
|
|
116 | (1) |
|
3.5 Properties of the DCT |
|
|
116 | (4) |
|
3.5.1 Basic Waveforms for the DCT |
|
|
116 | (1) |
|
3.5.2 The Frequency Domain for the DCT |
|
|
117 | (1) |
|
3.5.3 DCT and Compression Examples |
|
|
117 | (3) |
|
3.6 The Two-Dimensional DCT |
|
|
120 | (1) |
|
|
121 | (2) |
|
|
123 | (8) |
|
3.8.1 Overall Outline of Compression |
|
|
123 | (1) |
|
3.8.2 DCT and Quantization Details |
|
|
124 | (4) |
|
|
128 | (1) |
|
3.8.4 Sequential versus Progressive Encoding |
|
|
128 | (3) |
|
|
131 | (3) |
|
|
134 | (5) |
4 Convolution and Filtering |
|
139 | (46) |
|
|
139 | (1) |
|
4.2 One-Dimensional Convolution |
|
|
139 | (7) |
|
4.2.1 Example: Low-Pass Filtering and Noise Removal |
|
|
139 | (3) |
|
|
142 | (4) |
|
4.2.2.1 Convolution Definition |
|
|
142 | (1) |
|
4.2.2.2 Convolution Properties |
|
|
143 | (3) |
|
4.3 Convolution Theorem and Filtering |
|
|
146 | (6) |
|
4.3.1 The Convolution Theorem |
|
|
146 | (1) |
|
4.3.2 Filtering and Frequency Response |
|
|
147 | (3) |
|
4.3.2.1 Filtering Effect on Basic Waveforms |
|
|
147 | (3) |
|
|
150 | (2) |
|
4.4 2D Convolution-Filtering Images |
|
|
152 | (4) |
|
4.4.1 Two-Dimensional Filtering and Frequency Response |
|
|
152 | (1) |
|
4.4.2 Applications of 2D Convolution and Filtering |
|
|
153 | (3) |
|
4.4.2.1 Noise Removal and Blurring |
|
|
153 | (1) |
|
|
154 | (2) |
|
4.5 Infinite and Bi-Infinite Signal Models |
|
|
156 | (16) |
|
|
158 | (2) |
|
4.5.1.1 The Inner Product Space L2(N) |
|
|
158 | (1) |
|
4.5.1.2 The Inner Product Space L2(Z) |
|
|
159 | (1) |
|
4.5.2 Fourier Analysis in L2(Z) and L2(N) |
|
|
160 | (3) |
|
4.5.2.1 The Discrete Time Fourier Transform in L2(Z) |
|
|
160 | (1) |
|
4.5.2.2 Aliasing and the Nyquist Frequency in L2(Z) |
|
|
161 | (2) |
|
4.5.2.3 The Fourier Transform on L2(N)) |
|
|
163 | (1) |
|
4.5.3 Convolution and Filtering in L2(Z) and L2(N) |
|
|
163 | (3) |
|
4.5.3.1 The Convolution Theorem |
|
|
164 | (2) |
|
|
166 | (2) |
|
4.5.4.1 Two Points of View |
|
|
166 | (1) |
|
4.5.4.2 Algebra of z-Transforms; Convolution |
|
|
167 | (1) |
|
4.5.5 Convolution in CN versus L2(Z) |
|
|
168 | (3) |
|
|
168 | (1) |
|
4.5.5.2 Circular Convolution and z-Transforms |
|
|
169 | (1) |
|
4.5.5.3 Convolution in CN from Convolution in L2(Z) |
|
|
170 | (1) |
|
4.5.6 Some Filter Terminology |
|
|
171 | (1) |
|
4.5.7 The Space L2(Z x Z) |
|
|
172 | (1) |
|
|
172 | (4) |
|
4.6.1 Basic Convolution and Filtering |
|
|
172 | (2) |
|
4.6.2 Audio Signals and Noise Removal |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
176 | (9) |
5 Windowing and Localization |
|
185 | (20) |
|
5.1 Overview: Nonlocality of the DFT |
|
|
185 | (2) |
|
5.2 Localization via Windowing |
|
|
187 | (11) |
|
|
187 | (1) |
|
5.2.2 Analysis of Windowing |
|
|
188 | (4) |
|
5.2.2.1 Step 1: Relation of X and Y |
|
|
189 | (1) |
|
5.2.2.2 Step 2: Effect of Index Shift |
|
|
190 | (1) |
|
5.2.2.3 Step 3: N-Point versus M-Point DFT |
|
|
191 | (1) |
|
|
192 | (4) |
|
5.2.4 Other Types of Windows |
|
|
196 | (2) |
|
|
198 | (2) |
|
|
198 | (1) |
|
|
199 | (1) |
|
|
200 | (5) |
6 Frames |
|
205 | (46) |
|
|
205 | (1) |
|
|
205 | (3) |
|
6.3 Frames-Using more Dot Products |
|
|
208 | (3) |
|
6.4 Analysis and Synthesis with Frames |
|
|
211 | (7) |
|
6.4.1 Analysis and Synthesis |
|
|
211 | (2) |
|
6.4.2 Dual Frame and Perfect Reconstruction |
|
|
213 | (1) |
|
6.4.3 Partial Reconstruction |
|
|
214 | (1) |
|
|
215 | (1) |
|
|
216 | (2) |
|
6.4.5.1 Condition Number of a Matrix |
|
|
217 | (1) |
|
6.5 Initial Examples of Frames |
|
|
218 | (4) |
|
6.5.1 Circular Frames in R2 |
|
|
218 | (1) |
|
6.5.2 Extended DFT Frames and Harmonic Frames |
|
|
219 | (2) |
|
6.5.3 Canonical Tight Frame |
|
|
221 | (1) |
|
|
222 | (1) |
|
6.6 More on the Frame Operator |
|
|
222 | (3) |
|
|
225 | (12) |
|
6.7.1 Unitary Matrix Groups and Frames |
|
|
225 | (3) |
|
6.7.2 Initial Examples of Group Frames |
|
|
228 | (4) |
|
|
228 | (2) |
|
6.7.2.2 Symmetric Group Frames |
|
|
230 | (2) |
|
|
232 | (1) |
|
|
232 | (5) |
|
6.7.3.1 Flipped Gabor Frames |
|
|
237 | (1) |
|
|
237 | (5) |
|
|
239 | (1) |
|
6.8.2 Redundancy and other duals |
|
|
240 | (1) |
|
|
241 | (1) |
|
|
242 | (5) |
|
6.9.1 Frames and Frame Operator |
|
|
243 | (2) |
|
6.9.2 Analysis and Synthesis |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
247 | (4) |
7 Filter Banks |
|
251 | (68) |
|
|
251 | (1) |
|
|
252 | (8) |
|
7.2.1 The One-Stage Two-Channel Filter Bank |
|
|
252 | (4) |
|
7.2.2 Inverting the One-stage Transform |
|
|
256 | (1) |
|
7.2.3 Summary of Filter Bank Operation |
|
|
257 | (3) |
|
7.3 The General One-stage Two-channel Filter Bank |
|
|
260 | (4) |
|
7.3.1 Formulation for Arbitrary FIR Filters |
|
|
260 | (1) |
|
7.3.2 Perfect Reconstruction |
|
|
261 | (2) |
|
7.3.3 Orthogonal Filter Banks |
|
|
263 | (1) |
|
7.4 Multistage Filter Banks |
|
|
264 | (3) |
|
7.5 Filter Banks for Finite Length Signals |
|
|
267 | (14) |
|
|
267 | (2) |
|
7.5.2 Analysis of Periodic Extension |
|
|
269 | (5) |
|
7.5.2.1 Adapting the Analysis Transform to Finite Length |
|
|
270 | (2) |
|
7.5.2.2 Adapting the Synthesis Transform to Finite Length |
|
|
272 | (2) |
|
|
274 | (1) |
|
7.5.3 Matrix Formulation of the Periodic Case |
|
|
274 | (1) |
|
7.5.4 Multistage Transforms |
|
|
275 | (6) |
|
7.5.4.1 Iterating the One-stage Transform |
|
|
275 | (2) |
|
7.5.4.2 Matrix Formulation of Multistage Transform |
|
|
277 | (1) |
|
7.5.4.3 Reconstruction from Approximation Coefficients |
|
|
278 | (3) |
|
7.5.5 Matlab Implementation of Discrete Wavelet Transforms |
|
|
281 | (1) |
|
7.6 The 2D Discrete Wavelet Transform and JPEG 2000 |
|
|
281 | (8) |
|
7.6.1 Two-dimensional Transforms |
|
|
281 | (1) |
|
7.6.2 Multistage Transforms for Two-dimensional Images |
|
|
282 | (4) |
|
7.6.3 Approximations and Details for Images |
|
|
286 | (2) |
|
|
288 | (1) |
|
|
289 | (14) |
|
7.7.1 Filter Banks in the z-domain |
|
|
290 | (1) |
|
7.7.1.1 Downsampling and Upsampling in the z-domain |
|
|
290 | (1) |
|
7.7.1.2 Filtering in the Frequency Domain |
|
|
290 | (1) |
|
7.7.2 Perfect Reconstruction in the z-frequency Domain |
|
|
290 | (2) |
|
7.7.3 Filter Design I: Synthesis from Analysis |
|
|
292 | (3) |
|
7.7.4 Filter Design II: Product Filters |
|
|
295 | (2) |
|
7.7.5 Filter Design III: More Product Filters |
|
|
297 | (2) |
|
7.7.6 Orthogonal Filter Banks |
|
|
299 | (4) |
|
7.7.6.1 Design Equations for an Orthogonal Bank |
|
|
299 | (1) |
|
7.7.6.2 The Product Filter in the Orthogonal Case |
|
|
300 | (1) |
|
7.7.6.3 Restrictions on P(z); Spectral Factorization |
|
|
301 | (1) |
|
7.7.6.4 Daubechies Filters |
|
|
301 | (2) |
|
|
303 | (3) |
|
|
303 | (1) |
|
|
304 | (1) |
|
|
305 | (1) |
|
7.9 Alternate Matlab Project |
|
|
306 | (3) |
|
|
306 | (1) |
|
|
307 | (1) |
|
|
307 | (2) |
|
|
309 | (10) |
8 Lifting for Filter Banks and Wavelets |
|
319 | (42) |
|
|
319 | (1) |
|
8.2 Lifting for the Haar Filter Bank |
|
|
319 | (5) |
|
8.2.1 The Polyphase Analysis |
|
|
320 | (1) |
|
8.2.2 Inverting the Polyphase Haar Transform |
|
|
321 | (1) |
|
8.2.3 Lifting Decomposition for the Haar Transform |
|
|
322 | (2) |
|
8.2.4 Inverting the Lifted Haar Transform |
|
|
324 | (1) |
|
|
324 | (6) |
|
8.3.1 A Few Facts About Laurent Polynomials |
|
|
325 | (1) |
|
8.3.1.1 The Width of a Laurent Polynomial |
|
|
325 | (1) |
|
8.3.1.2 The Division Algorithm |
|
|
325 | (1) |
|
8.3.2 The Lifting Theorem |
|
|
326 | (4) |
|
8.4 Polyphase Analysis for Filter Banks |
|
|
330 | (9) |
|
8.4.1 The Polyphase Decomposition and Convolution |
|
|
331 | (2) |
|
8.4.2 The Polyphase Analysis Matrix |
|
|
333 | (1) |
|
8.4.3 Inverting the Transform |
|
|
334 | (4) |
|
|
338 | (1) |
|
|
339 | (12) |
|
8.5.1 Relation Between the Polyphase Matrices |
|
|
339 | (2) |
|
8.5.2 Factoring the Le Gall 5/3 Polyphase Matrix |
|
|
341 | (2) |
|
8.5.3 Factoring the Haar Polyphase Matrix |
|
|
343 | (2) |
|
|
345 | (1) |
|
8.5.5 Lifting to Design Transforms |
|
|
346 | (5) |
|
|
351 | (5) |
|
8.6.1 Laurent Polynomials |
|
|
351 | (3) |
|
8.6.2 Lifting for CDF(2,2) |
|
|
354 | (2) |
|
8.6.3 Lifting the D4 Filter Bank |
|
|
356 | (1) |
|
|
356 | (5) |
9 Wavelets |
|
361 | (60) |
|
|
361 | (2) |
|
|
361 | (1) |
|
9.1.2 Continuous from Discrete |
|
|
361 | (2) |
|
|
363 | (13) |
|
9.2.1 Haar Functions as a Basis for L2(0,1) |
|
|
364 | (8) |
|
9.2.1.1 Haar Function Definition and Graphs |
|
|
364 | (3) |
|
|
367 | (1) |
|
9.2.1.3 Completeness in L2(0,1) |
|
|
368 | (4) |
|
9.2.2 Haar Functions as an Orthonormal Basis for L2(R) |
|
|
372 | (2) |
|
9.2.3 Projections and Approximations |
|
|
374 | (2) |
|
9.3 Haar Wavelets Versus the Haar Filter Bank |
|
|
376 | (10) |
|
|
377 | (3) |
|
9.3.1.1 Functions from Sequences |
|
|
377 | (1) |
|
9.3.1.2 Filter Bank Analysis/Synthesis |
|
|
377 | (1) |
|
9.3.1.3 Haar Expansion and Filter Bank Parallels |
|
|
378 | (2) |
|
9.3.2 Multistage Haar Filter Bank and Multiresolution |
|
|
380 | (6) |
|
9.3.2.1 Some Subspaces and Bases |
|
|
381 | (1) |
|
9.3.2.2 Multiresolution and Orthogonal Decomposition |
|
|
381 | (1) |
|
|
382 | (2) |
|
9.3.2.4 Connection to Multistage Haar Filter Banks |
|
|
384 | (2) |
|
|
386 | (21) |
|
9.4.1 Essential Ingredients |
|
|
386 | (1) |
|
9.4.2 Constructing a Multiresolution Analysis: The Dilation Equation |
|
|
387 | (2) |
|
9.4.3 Connection to Orthogonal Filters |
|
|
389 | (1) |
|
9.4.4 Computing the Scaling Function |
|
|
390 | (4) |
|
9.4.5 Scaling Function Existence and Properties |
|
|
394 | (5) |
|
9.4.5.1 Fixed Point Iteration and the Cascade Algorithm |
|
|
394 | (1) |
|
9.4.5.2 Existence of the Scaling Function |
|
|
395 | (2) |
|
9.4.5.3 The Support of the Scaling Function |
|
|
397 | (2) |
|
9.4.5.4 Back to Multiresolution |
|
|
399 | (1) |
|
|
399 | (5) |
|
9.4.7 Wavelets and the Multiresolution Analysis |
|
|
404 | (3) |
|
9.4.7.1 Final Remarks on Orthogonal Wavelets |
|
|
406 | (1) |
|
9.5 Biorthogonal Wavelets |
|
|
407 | (4) |
|
9.5.1 Biorthogonal Scaling Functions |
|
|
408 | (1) |
|
9.5.2 Biorthogonal Wavelets |
|
|
409 | (1) |
|
9.5.3 Decomposition of L2(R) |
|
|
409 | (2) |
|
|
411 | (3) |
|
9.6.1 Orthogonal Wavelets |
|
|
411 | (3) |
|
9.6.2 Biorthogonal Wavelets |
|
|
414 | (1) |
|
|
414 | (7) |
Bibliography |
|
421 | (2) |
Appendix: Solutions to Selected Exercises |
|
423 | (16) |
Index |
|
439 | |