Digital Image Processing Wavelets and Multiresolution Processing () Christophoros Nikou cnikou@cs.uoi.gr University of Ioannina - Department of Computer Science
2 Contents Image pyramids Subband coding The Haar transform Multiresolution analysis Series expansion Scaling functions Wavelet functions Wavelet series Discrete wavelet transform (DWT) Fast wavelet transform (FWT) Wavelet packets
3 Image pyramids, subband coding and the Haar transform play an important role in a mathematical framework called multiresolution analysis (MRA). In MRA, a scaling function is used to create a series of approximations of a signal each differing a factor of 2 in resolution from its nearest neighbour approximation. Additional functions, called wavelets are then used to encode the difference between adjacent approximations.
4 Series Expansions A signal or a function f(x) may be analyzed as a linear combination of expansion functions: f ( x) = akφk( x) k If the expansion is unique then the expansion functions are called basis functions and the expansion set { φ } k ( x) is called a basis. The functions that may be expressed as a linear combination of φ k ( x) form a function space called the closed span: V = Span{ φ ( x)} k k
5 Series Expansions (cont ) For any function space V and corresponding expansion set { φ k ( x) } there is a set of dual functions { φ } k ( x) used to compute the expansion coefficients α k for any f(x)œv as the inner products: α φ x f x φ x f xdx * k k( ), ( ) k( ) ( ) = = Depending on the orthogonality of the expansion set we have three cases for these coefficients.
6 Series Expansions (cont ) Case 1: The expansion functions form an orthonormal basis for V : 0, φk( x), φj( x) = δ jk = 1, Then, the basis functions and their duals are equivalent: * φ ( x) = φ ( x) and the expansion coefficients are: k αk = φk( x), f( x) k j j = k k
7 Series Expansions (cont ) Case 2: The expansion functions are not orthonormal but they are an orthogonal basis for V then: φ ( x), φ ( x) = 0, j k k j and the basis and its dual are called biorthogonal. The expansion coefficients are: * αk = φk( x), f( x) = φk( x) f ( xdx ) and the biorthogonal basis and its dual are such that: * 0, φj( x), φk( x) = δ jk = 1, j j = k k
8 Series Expansions (cont ) Case 3: The expansion set is not a basis for V then there is more than one set of coefficients α k for any f(x)œv. The expansion functions and their duals are said to be overcomplete or redundant. They form a frame in which: 2 2 2 φk k A f( x) ( x), f ( x) B f ( x), A> 0, B<, f ( x) V Dividing by the squared norm of the function we see that A and B frame the normalized inner products.
9 Series Expansions (cont ) Case 3 (continued): Equations similar to cases 1 and 2 may be used to find the expansion coefficients. If A=B, then the expansion is called a tight frame and it can be shown that (Daubechies [1992]): 1 f ( x) = φk( x), f ( x) φk( x) A k Except from the normalization term, this is identical to the expression obtained for orthonormal bases.
10 Scaling Functions Consider the set of expansion functions composed of integer translations and binary scalings of a real, square-integrable function φ( x) : φjk x φ x k j k φ x L j/2 j 2, ( ) = 2 (2 ),,, ( ) ( ). Parameter k determines the position of φ jk, ( along x) the horizontal axis. Parameter j determines how broad or narrow it is along the horizontal axis. The term 2 j/2 controls the amplitude. Because of its shape, φ( x) is called scaling function.
11 Scaling Functions (cont ) By choosing the scaling function φ( x) properly, the set { φ } jk, ( x) can be made to span the set of all measurable, square-integrable functions L 2 ( ). If we restrict j to a specific value j=j 0, the resulting expansion set { φ } j is a subset of that 0 kx ( ) { φ }, jk, ( x) spans a subspace of L 2 ( ) : V = Span{ φ ( x)} j j k k 0 0, V 0, ( ) That is, is the span of φ j j k x 0 over k. If f ( x) Vj 0 then we can write: f ( x) = akφ j ( ) 0, k x k
12 Scaling Functions (cont ) If f ( x) Vj 0 then we can write: More generally, V j = Span{ φ ( x)} k f ( x) = akφ j k( x) Increasing j, increases the size of V j allowing functions with fine details to be included in the subspace. This is a consequence of the fact that, as j increases, the { φ } jk, ( x) that are used to represent the subspace functions become narrower. j, k k 0,
13 Scaling Functions (cont ) Consider the unit-height, unit-width Haar scaling function: 1, 0 x 1 φ( x) = 0, otherwise and observe some of the expansion functions φ jk, ( x) generated by scaling and translations of the original function.
14 Scaling Functions (cont ) φjk x x k j/2 j, ( ) = 2 φ(2 ) As j increases, the functions become narrower.
15 Scaling Functions (cont ) Function f(x) does not belong to V 0 because the V 0 expansion functions are to coarse to represent it. Higher resolution functions are required.
16 Scaling Functions (cont ) Indeed, f(x)œv 1. f( x) = 0.5 φ1,0( x) + φ1,1( x) 0.25 φ1,4( x)
17 Scaling Functions (cont ) Note also that φ ( x) 0,0 may be decomposed as a sum of V 1 expansion functions. 1 1 φ0,0( x) = φ1,0 ( x) + φ1,1 ( x) = φ(2 x) + φ(2x 1) 2 2
18 Scaling Functions (cont ) In a similar manner, any V 0 expansion function may be decomposed as a sum of V 1 expansion functions: 1 1 φ0, k( x) = φ1,2 k( x) + φ 1,2k + 1( x) 2 2 Therefore, if f(x)œv 0, then f(x)œv 1. This is because all V 0 expansion functions are contained in V 1. Mathematically, we say that V 0 is a subspace of V 1 : V V 0 1
19 Scaling Functions (cont ) The simple scaling function in the preceding example obeys the four fundamental requirements of multiresolution analysis [Mallat 1989]. MRA Requirement 1: The scaling function is orthogonal to its integer translates. Easy to see for the Haar function. Hard to satisfy for functions with support different than [0, 1].
20 Scaling Functions (cont ) MRA Requirement 2: The subspaces spanned by the scaling function at low scales are nested within those spanned at higher scales. This means that: V V V V V V 1 0 2 1
21 Scaling Functions (cont ) Moreover, if f(x)œv j, then f(2x)œv j+1. The fact that the Haar scaling function satisfies this requirement is not an indication that any function with support of width 1 satisfies the condition. For instance, the simple function: 1, 0.25 x 0.75 φ( x) = 0, otherwise is not a valid scaling function for MRA.
22 Scaling Functions (cont ) MRA Requirement 3: The only common function to all subspaces V j is f(x)=0. In the coarsest possible expansion the only representable function is the function with no information f(x)=0. That is: j, = 0 V MRA Requirement 4: Any function may be represented with arbitrary precision. This means that in the limit: 2 j, V = L ( ) {} { }
23 Scaling Functions (cont ) Under these conditions, the expansion functions of subspace V j may be expressed as a weighted sum of the expansion functions of subspace V j+1 : Substituting φ ( x) = a φ + ( x) jk, n j 1, n n φjk x x k j/2 j, ( ) = 2 φ(2 ) and changing variable a n to h φ (n), we obtain: φ = ( j 1)/2 j 1 jk, ( x) h ( n)2 + φ φ(2 + x n) n
24 Scaling Functions (cont ) Because φ ( x) = φ( x) 0,0 we can set j=k=0 to obtain a simpler expression: φ( x) = hφ ( n) 2 φ(2 x n) n The coefficients h φ (n), are called scaling function coefficients. This equation is fundamental to MRA and is called the refinement equation, the MRA equation or the dilation equation.
25 Scaling Functions (cont ) φ( x) = hφ ( n) 2 φ(2 x n) n The refinement equation states that the expansion functions of any subspace may be obtained from double-resolution copies of themselves, that is, the expansion functions of the next higher resolution space. Note that the choice of reference V 0 is arbitrary. We can start at any resolution level.
26 Scaling Functions (cont ) The scaling function coefficients for the Haar function are the elements of the first row of matrix H 2, that is: 1 hφ(0) = hφ(1) = 2 Thus, the refinement equation is: 1 1 φ( x) = 2 φ(2 x) 2 φ(2x 1) φ(2 x) φ(2x 1) 2 + = + 2
27 Wavelet Functions Given a scaling function that meets the MRA criteria we can define a wavelet function ψ(x) that together with its integer translates and binary scalings, spans the difference between any two adjacent scaling subspaces V j and V j+1.
28 Wavelet Functions (cont ) { } We define the set ψ jk, ( x) of wavelets ψ jk x = x k j k j/2 j, ( ) 2 ψ (2 ),, That span the W j spaces. As with scaling functions: W j = Span{ ψ ( x)} k j, k If f(x)œw j, f ( x) = akψ j, k( x) k
29 Wavelet Functions (cont ) The scaling and wavelet function subspaces are related by V = j 1 V + j Wj where the symbol denotes the union of spaces. The orthogonal complement V j of in V j+1 is W j and all members of V j are orthogonal to the members of W j. φ ( x), ψ ( x) = 0, j, k, l. jk, jl,
30 Wavelet Functions (cont ) We can now express the space of all measurable, square-integrable function as 2 L ( ) V0 W0 W1 V1 W1 W2 = = 2 L ( ) W 2 W 1 W0 W1 W2 = which eliminates the scaling function and uses only wavelet functions
31 Wavelet Functions (cont ) If f(x)œv 1 but f(x) V 0 its expansion using 2 L ( ) = V0 W0 contains an approximation using scaling functions V 0 and wavelets from W 0 would encode the difference between this approximation and the actual function.
32 Wavelet Functions (cont ) The representation may be generalized to yield 2 L ( ) Vj Wj W j + 1 = 0 0 0 starting from an arbitrary scale and adding the appropriate wavelet functions that capture the difference between the coarse scale representation and the actual function.
33 Wavelet Functions (cont ) Any wavelet function, like its scaling function counterpart, reside in the space spanned by the next higher resolution level. Therefore, it can be expressed as a weighted sum of shifted, doubleresolution scaling functions: ψ ( x) = hψ ( n) 2 φ(2 x n) n The coefficients h ψ (n), are called wavelet function coefficients. It can also be sown that n hψ( n) = ( 1) hφ(1 n) Note the similarity with the analysis-synthesis filters.
34 Wavelet Functions (cont ) The Haar scaling function coefficients were defined as 1 hφ(0) = hφ(1) = 2 The corresponding wavelet coefficients are 0 1 1 1 hψ(0) = ( 1) hφ(1 0) =, hψ(1) = ( 1) hφ(1 1) = 2 2 These coefficients are the elements of the second row of the Haar transformation matrix H 2.
35 Wavelet Functions (cont ) Substituting this result into ψ ( x) = hψ ( n) 2 φ(2 x n) n we get 1 0 x 0.5 ψ ( x) = φ(2 x) φ(2x 1) = 1 0.5 x 1 0 otherwise
36 Wavelet Functions (cont ) Using ψ jk x = x k j k j/2 j, ( ) 2 ψ (2 ),, we can now generate the universe of translated and scaled Haar wavelets.
37 Wavelet Functions (cont ) Any function f(x)œ V 0 may be expressed by the scaling function φ(x):
38 Wavelet Functions (cont ) Any function f(x)œv 1 may be expressed by the scaling function φ(x) describing the coarse form and the wavelet function ψ(x) describing the details that cannot be represented in V 0 by φ(x).
39 Wavelet Functions (cont ) Remember the function of an earlier example f(x)œv 1 but f(x) V 0. This indicates that it could be expanded using V 0 to capture the coarse characteristics of the function and W 0 to encode the details that cannot be represented by V 0.
40 Wavelet Functions (cont ) f( x) = f ( x) + f ( x) a 3 2 2 2 2 fa ( x) = φ0,0( x) φ0,2( x) fd ( x) = ψ0,0( x) ψ0,2( x) 4 8 4 8 d Notice the equivalence to low pass and high pass filtering.