209 20 6MB
English Pages 426 [441] Year 2015;2014
Amir Z. Averbuch · Pekka Neittaanmäki Valery A. Zheludev
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing Volume II: Non-Periodic Splines
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing
Amir Z. Averbuch Pekka Neittaanmäki Valery A. Zheludev •
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing Volume II: Non-Periodic Splines
123
Valery A. Zheludev School of Computer Science Tel Aviv University Tel Aviv Israel
Amir Z. Averbuch School of Computer Science Tel Aviv University Tel Aviv Israel Pekka Neittaanmäki Department of Mathematical Information Technology University of Jyväskylä Jyväskylä Finland
Additional material to this book can be downloaded from http://extras.springer.com. ISBN 978-3-319-22302-5 DOI 10.1007/978-3-319-22303-2
ISBN 978-3-319-22303-2
(eBook)
Library of Congress Control Number: 2015946739 Springer Cham Heidelberg New York Dordrecht London © Springer International Publishing Switzerland 2016 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. Printed on acid-free paper Springer International Publishing AG Switzerland is part of Springer Science+Business Media (www.springer.com)
To Dorit Peled-Averbuch Neittaanmäki Family Tatiana Zheludev
Preface
Since their introduction in the pioneering work by Schoenberg [73], splines have become one of the powerful tools in mathematics [2, 44, 74, 75, 94] and, for example, in computer-aided geometric designs [20, 27, 43, 45, 56, 103]. In recent decades, splines have served as a source for the wavelet [1, 3, 4, 10, 12, 15, 29, 37, 38, 57, 68, 78, 87, 90, 91, 95, 100, 101, 102], multiwavelet [11, 41, 72, 80], and wavelet frame constructions [14, 17, 19, 35, 36, 42, 64, 69]. Splines and splinebased wavelets, wavelet packets, and frames have been extensively used in signal and image processing applications [5, 6, 9, 13, 16, 22, 24, 25, 31, 32, 46, 49, 51, 52, 63, 79, 84, 86, 88, 89], to name a few. An excellent survey for the state-of-the-art (as of year 1999) on spline theory and applications is given in [85]. This survey motivated us in writing the present book. Another motivation was the emergence in recent years of new contributions of splines to wavelet analysis and its applications. In addition, we believe that the so-called discrete splines and their applications deserve a systematic exposure. Discrete splines [30, 50, 58, 59, 60, 61, 65, 75, 92], whose properties mimic the properties of polynomial splines, are the discrete-time counterparts of polynomial splines. They provide natural tools for handling discrete-time signal processing problems and serve as a source for the design of wavelet transforms [7, 8, 54, 66] and frames transforms [14, 18, 105], whose properties perfectly fit signal/image processing applications. The goal of this book is to provide a universal toolbox accompanied by a MATLAB software for manipulating polynomial and discrete splines, spline-based wavelets, wavelet packets, and wavelet frames for signal/image processing applications. The book is divided into two volumes. In Volume I ([26]), periodic splines and their diverse signal processing applications are discussed. The current Volume II deals with non-periodic splines. In this book, known and new contributions of splines to signal and image processing are described from a unified perspective, which is based on the Zak transform (ZT) [28, 93]. Being applied to B-splines, the ZT produces sets of so-called exponential splines (in Schoenberg [74]
vii
viii
Preface
sense), which are similar to Fourier exponentials. The ZT of discrete B-splines produces exponential discrete splines. Periodic exponential splines form orthogonal bases of periodic splines spaces which are very similar to periodic Fourier exponentials. Representation of periodic splines via orthonormal bases produces the so-called Spline Harmonic Analysis (SHA) [99, 101], which combines the approximation abilities of splines with the computational strength of the Fast Fourier transform (FFT). It introduces the harmonic analysis methodology into periodic spline spaces. SHA is a basic working tool in Volume I of the book. Non-periodic exponential splines generate integral representations of polynomial and discrete splines, which have much in common with the Fourier integral. The ZT approach provides explicit constructions of different types of splines such as interpolating, quasi-interpolating, and smoothing splines, best-approximation splines, and orthonormal bases for spline spaces. Constructions and utilization of various spline-wavelets and spline-wavelet packets have become natural. Coupled with the Lifting scheme [82] of a wavelet transform, the ZT methodology utilizes polynomial and discrete splines for the design of a versatile library of biorthogonal wavelets, multiwavelets, and wavelet and multiwavelet frames (framelets) in signal space [7, 8, 10, 11, 12, 14, 15, 17, 18, 19, 105]. Properties of the designed wavelets and framelets, such as symmetry, flat spectra, vanishing moments, and good localization in either time or frequency domains, are valuable for signal/image processing applications. For example, the so-called Butterworth biorthogonal wavelets and wavelet frames, which originate from discrete splines, have proved to be especially efficient in signal/image processing applications. Digital filters, which have been produced during wavelets design process, give birth to subdivision schemes for the fast explicit computation of splines values at dyadic and triadic rational points [20, 103, 104], which is needed for interpolation, resampling, and geometric transformations of images. The following topics are covered in Volume II of the book: Introduction: Two introductory chapters briefly outline necessary facts about digital signals and images and their Fourier and z-transforms, which are needed for further constructions. In addition, digital filters and filter banks are outlined. Computation of many splines and spline-wavelets to be presented use filters whose impulse responses are infinite. Recursive implementation of such filtering is described in Chap. 2. Zak transform (ZT): The ZTs of functions which belong to the space L1 are introduced and their properties are outlined. In particular, they include the Poisson summation formulas (for example, [67, 77]). Realizations of the ZT in spline spaces produce integral representations of polynomial and discrete splines, which are extensively used in the spline and spline-wavelet design. Elements of spline theory and design: Different types of polynomial and discrete splines with equidistant nodes are presented and their properties are outlined.
Preface
ix
The design of interpolating, smoothing, shift-orthogonal splines becomes straightforward due to the ZT methodology. Constructions of these spline types utilize filters with infinite impulse response (IIR). Due to their recursive implementation, the computational complexity of filtering with IIR is competitive to the complexity of filtering with finite impulse response (FIR) filters. However, an advantage of FIR filtering is that it can be utilized for real-time processing. For this purpose, local quasi-interpolating and smoothing splines, which are constructed by filtering data samples with FIR filters, can be used, [15, 96, 98]. Their properties are close to the properties of global interpolating and smoothing splines. These splines are presented in detail in Chap. 5 of this volume. Cubic local splines on non-uniform grid: In the whole book, except for Chap. 6, we a deal with splines constructed on uniform grids. Chapter 6, which is based on [81, 97], describes two types of local cubic splines on non-uniform grids: (1) Variation-diminishing splines and (2) Quasi-interpolating splines. These splines are computed by simple fast computational algorithms, which utilize the relation between cubic splines and cubic interpolation polynomials. These splines can serve as an efficient tool for real-time processing of arbitrarily sampled signals. The capability to adapt the grid to the structure of an object and consuming low operating memory are great advantages for offline processing of signals and multidimensional data arrays. Spline subdivision and signals (images) upsampling: If a spline’s samples at grid points are given, then the computation of its values between the grid points is called a spline subdivision. Fast subdivision algorithms, which explicitly derive spline values at dyadic and triadic rational points from the samples taken at integer grid points in one and two dimensions, are described. The computer-aided geometric design is a main field of application for subdivision schemes (for example, see [27, 70]). However, these techniques suit well signals and images upsampling to restore sparsely sampled signals and images at intermediate points. These upsampling procedures increase the objects resolution. On the other hand, when data are corrupted by noise, upsampling from a sparse grid can significantly reduce the noise level. Appears in Chap. 7 of this volume. Design of polynomial spline-wavelets: Constructions of different types of spline-wavelets in an explicit form and fast implementation of the corresponding transforms using recursive filtering are described. Generators of spline-wavelet spaces are presented such as B-wavelets and their duals and the Battle-Lemarié wavelets whose shifts form orthonormal bases of the spline-wavelet spaces. The spline-wavelets construction utilizes the integral representation of splines and simple two-scale relations between exponential splines from different resolution scales. The Fourier spectra of spline-wavelets from different resolution scales partition the frequency domain in a logarithmic way. The shapes of the magnitude spectra of the Battle-Lemarié wavelets tend to be rectangular as the spline’s order increases. Appears in Chap. 8 of this volume. Discrete splines: The space of discrete splines, which is a subspace of the signal space, is described. Properties of the discrete splines mirror the properties of polynomial splines. The Zak transform applied to discrete B-splines produces
x
Preface
exponential discrete splines and an integral representation of discrete splines. The integral representation simplifies manipulations with the discrete splines. In particular, it provides explicit expressions for interpolating and smoothing discrete splines in one and two dimensions and fast algorithms for calculation of discrete splines values from grid samples. This is a useful tool for upsampling signals and images. Appears in Chap. 9 of this volume. Discrete splines wavelets: Similarly to the polynomial splines case, the wavelet transforms are introduced to the discrete spline space. These transforms are based on the relations between the exponential discrete splines from different resolution scales. Practically, the wavelet transforms of signals are implemented by multirate filtering of signals by two-channel filter banks with the downsampling factor 2 (critically sampled filter banks). The filtering implementation is accelerated by switching to the polyphase representation of signals and filters. Appears in Chap. 10 of this volume. Design of biorthogonal wavelets: The polynomial and discrete splines may contribute to wavelet analysis in another way. They are a source for a family of filters, which generate biorthogonal wavelets, whose properties are valuable for signal processing. Although these wavelets originate from splines, they, unlike the spline-wavelets, do not belong to spline spaces. Design of biorthogonal wavelets and efficient implementation of the signals’ transforms is carried out through the Lifting scheme [82]. The idea is to split the signal into even and odd subarrays. Then, the even subarray is filtered using some prediction filter in order to predict the odd subarray. The predicted subarray is extracted from the original odd subarray. The difference array is filtered by an update filter and it is used to update the even subarray in order to eliminate aliasing. These operations are then applied to the updated even subarray and so on. Thus, multiscale wavelet decomposition is achieved. Reconstruction is implemented in the reverse order. The key point is a proper choice of the prediction and update filters. Naturally, odd samples can be predicted from midpoint values of either polynomial or discrete splines, which interpolate or quasi-interpolate the even samples of the signal. In this way, a number of linear phase IIR and FIR prediction filters are designed. Being properly modified, they are used for the update step as well. By using these filters, a diverse library of biorthogonal wavelets is constructed [7, 8, 10]. Exclusive properties are demonstrated by the so-called Butterworth wavelets, which originate from discrete interpolatory splines. They are related to the Butterworth filters [62] that are widely used in signal processing. Appears in Chaps. 11 and 12 of this volume. Data compression: This is a critical area in signal processing. Data compression is needed for efficient transmission and storage of huge data including rich multimedia context, seismic, and hyperspectral data. The compression ratio should be as high as possible without damaging the decoding capabilities and without degrading the quality of the source data after decompression. Generally, a lossy compression consists of three procedures: appropriate transform, which corresponds with the structure of the compressed object (lossless), quantization (lossly), and entropy coding (lossless).
Preface
xi
• Wavelet transforms have successful history in achieving high compression ratios for still images and some types of 3D objects. Coding schemes, which are associated with wavelet transforms that rely on the space-frequency localization of the wavelets and on the tree structure of the coefficients arrays in its multiscale representation, were developed. Examples are EZW [76], SPIHT [71], and JPEG-2000 standard [83] that are based on wavelet transforms. A proper wavelet transform, which retains the essential contents of the object in a small number of coefficients, is crucial for the compression success. The Butterworth biorthogonal wavelets described in Chap. 12 ([9, 13]) demonstrate excellent performance in comparison with other known wavelets such as, for example, the most popular 9/7 biorthogonal wavelets [6]. • Some types of data, such as seismic, hyperspectral data and many multimedia images have a mixed structure. They are piecewise smooth in one direction(s) and have oscillating events in the other direction. A hybrid algorithm which combines wavelet and local cosine transform (LCT) [39], proved to be highly efficient to compress such data. If, for example, the data array is piece-wise smooth in the horizontal direction and has oscillations in the vertical direction (that is typical for seismic data), then wavelet transform is applied to the horizontal direction while LCT is applied to the vertical direction. In this way, near optimal sparsity of the data representation is achieved. To apply the coding schemes to a mixed coefficients array, reordering of the LCT coefficients takes place. This algorithm outperforms other algorithms that are based only on 2(3)D “pure” wavelet transforms. Its compression capabilities are also demonstrated on multimedia images that have a fine texture. The wavelet part in the mixed transform of the hybrid algorithm utilizes the library of Butterworth wavelet transforms ([21, 23]). Appears in Chap. 13 of this volume. Wavelet frames (framelets). Design and implementation: Recently frames, which provide redundant expansions of signals, have attracted considerable interest from researchers working in signal processing. When the requirement of one-to-one correspondence between the signal and its transform coefficients is dropped, there is more freedom to design and implement frame transforms. In addition, frame transforms demonstrate resilience to the data corruption and loss. Wavelet transforms use critically sampled filter banks. On the other hand, wavelet frame transforms are implemented by the application of oversampled perfect reconstruction (PR) pairs of filter banks. It means that the number of channels in the filter banks exceeds the downsampling factor. Moreover, translations of the impulse responses of filters, which constitute such filter banks, form wavelet frames in the signal space [33, 40, 55]. Generally, the synthesis filter bank in the PR pair differs from the analysis filter bank. In the case when both filter banks are the same, the corresponding frame is tight. Tight frames can be regarded as redundant counterparts of orthogonal bases. The design of a variety of three- and four-channel PR filter banks, which generate tight frames in the space of periodic signals, is described in Chap. 14. The filter banks comprise one low-pass, one high-pass, and either one or two band-pass
xii
Preface
filters. All these filters are derived from spline-based prediction filters which were used for the design of biorthogonal wavelet transforms. The so-called semi-tight frames are introduced, where the low- and high-pass filters in the synthesis filter bank are the same as in the analysis filter bank, while the band-pass filters are different. The utilization of a wide range of IIR and FIR filter banks with a relaxation of the tightness requirement provides additional design opportunities. Properties such as symmetry, interpolation, and flat spectra combined with fine time-domain localization of framelets as well as a high number of vanishing moments can be easily achieved. The transforms are implemented using recursive filtering. Multiwavelets originated from Hermite splines: The wavelet frame transforms are generalizations of wavelet transforms. Another generalization of wavelet transforms, which enables us to achieve a high approximation accuracy by using filters with very short supports, is the multiwavelet transform. Like wavelet transforms (and unlike frame transforms), the multiwavelet transforms retain one-to-one correspondence between signals and sets of their transform coefficients, although they use more filters than wavelet transforms. Chapter 15 presents multiwavelet transforms for the manipulation of discrete-time signals. The transforms are implemented in two phases: (1) Pre (post)-processing, which transforms a scalar signal into a vector signal (and back). (2) Wavelet transforms of the vector signal using multifilter banks. Both phases are performed in a lifting manner. The cubic interpolating Hermite splines ([34], for example) are used as a predicting aggregate in the vector wavelet transform. The presented pre(post)-processing algorithms do not degrade the approximation accuracy of the vector wavelet transforms. The transform results in signals expansion over biorthogonal bases that consist of translations of a few discrete-time wavelets which are symmetric and have short supports. Multiwavelet frames: The Hermite spline-based multiwavelets design is extended to the construction of multiwavelet frames in the signal space. The frames are generated by three-channel perfect reconstruction oversampled multifilter banks. The design of the multifilter bank starts from a pair of interpolating multifilters, which originate from the cubic Hermite splines. The remaining multifilters are designed by factorizing of polyphase matrices. The input to the oversampled analysis multifilter bank is a vector signal, which is produced from an initial scalar signal by the same preprocessing algorithms as in the multiwavelets processing. The postprocessing algorithms convert the vector output from the synthesis multifilter banks into the scalar signal . The discrete-time framelets, generated by the designed filter banks, are (anti)symmetric and have short support. Note that most multiframe constructions reported in the literature are based on the multiresolution analysis in the space L2 that provide continuous-time frames in L2 ([47, 48, 53], for example). On the contrary, the design presented in Chap. 16, which is based on oversampled multifilter banks, provides discrete-time frames in the signals’ space l1 .
Preface
xiii
All the presented methods are accompanied by MATLAB codes. A software guide is given in Appendix. The authors thank Steve Legrand for thorough proofreading. Tel Aviv, Israel Jyväskylä, Finland Tel Aviv, Israel June 2015
Amir Z. Averbuch Pekka Neittaanmäki Valery A. Zheludev
References 1. P. Abry, A. Aldroubi, Designing multiresolution analysis-type wavelets and their fast algorithms. J. Fourier Anal. Appl. 2(2), 135–159 (1995) 2. J.H. Ahlberg, E.N. Nilson, J.L. Walsh, The Theory of Splines and Their Applications (Academic Press, New York, 1987) 3. A. Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of l2. SIAM J. Math. Anal. 25(5), 1412–1432 (1994) 4. A. Aldroubi, M. Unser, Families of multiresolution and wavelet spaces with optimal properties. Numer. Funct. Anal. Optim. 14(5–6), 417–446 (1993) 5. O. Amrani, A. Averbuch, T. Cohen, V. Zheludev, Symmetric interpolatory framelets and their erasure recovery properties. Int. J. Wavelets Multiresolut. Inf. Process. 5(4), 541–566 (2007) 6. M. Antonini, M. Barlaud, P. Mathieu, I. Daubechies, Image coding using wavelet transform. IEEE Trans. Image Process. 1(2), 205–220 (1992) 7. A. Averbuch, A.B. Pevnyi, V. Zheludev, Biorthogonal Butterworth wavelets derived from discrete interpolatory splines. IEEE Trans. Signal Process. 49(11), 2682–2692 (2001) 8. A. Averbuch, A.B. Pevnyi, V. Zheludev, Butterworth wavelet transforms derived from discrete interpolatory splines: Recursive implementation. Signal Process. 81(11), 2363–2382 (2001) 9. A. Averbuch, V. Zheludev, in Image compression using spline based wavelet transforms, ed. by A. Petrosian, F. Meyer. Wavelets in Signal and Image Analysis: From Theory to Practice (Kluwer Academic Publishers, Dordrecht, 2001), pp. 341–376 10. A. Averbuch, V. Zheludev, Construction of biorthogonal discrete wavelet transforms using interpolatory splines. Appl. Comput. Harmon. Anal. 12(1), 25–56 (2002) 11. A. Averbuch, V. Zheludev, Lifting scheme for biorthogonal multiwavelets originated from Hermite splines. IEEE Trans. Signal Process. 50(3), 487–500 (2002) 12. A. Averbuch, V. Zheludev, in Splines: a new contribution to wavelet analysis, ed. by J. Levesley, I.J. Anderson, J.C. Mason. Algorithms for Approximation IV: Proceedings of the 2001 International Symposium (University of Huddersfield, 2002), pp. 314–321 13. A. Averbuch, V. Zheludev, A new family of spline-based biorthogonal wavelet transforms and their application to image compression. IEEE Trans. Image Process. 13(7), 993–1007 (2004) 14. A. Averbuch, V. Zheludev, Wavelet and frame transforms originated from continuous and discrete splines, in Advances in Signal Transforms: Theory and Applications, ed. by J. Astola, L. Yaroslavsky (Hindawi Publishing Corporation, New York, 2007), pp. 1–56 15. A. Averbuch, V. Zheludev, Wavelet transforms generated by splines. Int. J. Wavelets Multiresolut. Inf. Process. 5(2), 257–291 (2007)
xiv
Preface
16. A. Averbuch, V. Zheludev, Spline-based deconvolution. Signal Process. 89(9), 1782–1797 (2009) 17. A. Averbuch, V. Zheludev, T. Cohen, Interpolatory frames in signal space. IEEE Trans. Signal Process. 54(6), 2126–2139 (2006) 18. A. Averbuch, V. Zheludev, T. Cohen, Tight and sibling frames originated from discrete splines. Signal Process. 86(7), 1632–1647 (2006) 19. A. Averbuch, V. Zheludev, T. Cohen, Multiwavelet frames in signal space originated from Hermite splines. IEEE Trans. Signal Process. 55(3), 797–808 (2007) 20. A. Averbuch, V. Zheludev, G. Fatakhov, E. Yakubov, Ternary interpolatory subdivision schemes originated from splines. Int. J. Wavelets Multiresolut. Inf. Process. 9(4), 611–633 (2011) 21. A. Averbuch, V. Zheludev, M. Guttmann, D.D. Kosloff, LCT-wavelet based algorithms for data compression. Int. J. Wavelets Multiresolut. Inf. Process. 11(5), 1–25 (2013) 22. A. Averbuch, V. Zheludev, M. Khazanovsky, Deconvolution by matching pursuit using spline wavelet packets dictionaries. Appl. Comput. Harmon. Anal. 31(1), 98–124 (2011) 23. A. Averbuch, V. Zheludev, D. Kosloff, Multidimensional seismic compression by hybrid transform with multiscale based coding, in Handbook of Geomathematics, ed. by W. Freeden, M.Z. Nashed, T. Sonar (Springer, Berlin, 2010), pp. 1261–1287 24. A. Averbuch, V. Zheludev, P. Neittaanmäki, J. Koren, Block based deconvolution algorithm using spline wavelet packets. J. Math. Imaging Vision. 38(3), 197–225 (2010) 25. A. Averbuch, V. Zheludev, N. Rabin, A. Schclar, Wavelet-based acoustic detection of moving vehicles. Multidimension. Syst. Signal Process. 20(1), 55–80 (2009) 26. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, Berlin, 2014) 27. R. Bartels, J. Beatty, B. Barsky, An Introduction to Splines for Use in Computer Graphics And Geometric Modeling (Morgan Kaufmann Publishers, San Mateo, 1987) 28. M.J. Bastiaans, Gabor’s expansion and the Zak transform for continuous-time and discrete-time signals, in Signal and Image Representation in Combined Spaces, number 7 in Wavelet Anal. Appl., ed. by Y.Y. Zeevi, R. Coifman (Academic Press, San Diego, 1998), pp. 23–69 29. G. Battle, A block spin construction of ondelettes. I. lemarié functions. Commun. Math. Phys. 110(4), 601–615 (1987) 30. M.G. Ber, Natural discrete splines and the averaging problem. Vestn. Leningrad Univ. Math. 23(4), 1–4 (1990) 31. O. Bernard, D. Friboulet, P. Thévenaz, M. Unser, Variational B-spline level-set method for fast image segmentation, in 2008 5th IEEE International Symposium on Biomedical Imaging: From Nano to Macro. Proceedings. IEEE (2008), pp. 177–180 32. T. Blu, P.-L. Dragotti, M. Vetterli, P. Marziliano, L. Coulot, Sparse sampling of signal innovations. IEEE Signal Process. Mag. 25(2), 31–40 (2008) 33. H. Bölcskei, F. Hlawatsch, H.G. Feichtinger, Frame-theoretic analysis of oversampled filter banks. IEEE Trans. Signal Process. 46(12), 3256–3268 (1998) 34. E. Catmull, R. Rom, A class of local interpolating splines, in Computer Aided Geometric Design, ed. by R.E. Barnhill, R.F. Riesenfeld (Academic Press, New York, 1974), pp. 317– 326 35. C.K. Chui, W. He, Compactly supported tight frames associated with refinable functions. Appl. Comput. Harmon. Anal. 8(3), 293–319 (2000) 36. C.K. Chui, W. He, J. Stöckler, Compactly supported tight and sibling frames with maximum vanishing moments. Appl. Comput. Harmon. Anal. 13(3), 224–262 (2002) 37. C.K. Chui, J.-Z. Wang, On compactly supported spline wavelets and a duality principle. Trans. Amer. Math. Soc. 330(2), 903–915 (1992)
Preface
xv
38. A. Cohen, I. Daubechies, J.-C. Feauveau, Biorthogonal bases of compactly supported wavelets. Comm. Pure Appl. Math. 45(5), 485–560 (1992) 39. R.R. Coifman, Y. Meyer, Remarques sur l’analyse de Fourier à fenêtre. C. R. Acad. Sci. Paris Sér. I Math. 312(3), 259–261 (1991) 40. Z. Cvetković, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245–1255 (1998) 41. W. Dahmen, B. Han, R.-Q. Jia, A. Kunoth, Biorthogonal multiwavelets on the interval: Cubic Hermite splines. Constr. Approx. 16(2), 221–259 (2000) 42. I. Daubechies, B. Han, A. Ron, Z. Shen, Framelets: MRA-based constructions of wavelet frames. Appl. Comput. Harmon. Anal. 14(1), 1–46 (2003) 43. P. Davis, B-splines and geometric design. SIAM News. 29(5), (1997) 44. C. de Boor, A Practical Guide to Splines (Springer, New York, 1978) 45. P. Dierckx, Curves and Surface Fitting with Splines (Oxford University Press, New York, 1993) 46. B. Dong, Z. Shen, Pseudo-splines, wavelets and framelets. Appl. Comput. Harmon. Anal. 22 (1), 78–104 (2007) 47. B. Han, Dual multiwavelet frames with high balancing order and compact fast frame transform. Appl. Comput. Harmon. Anal. 26(1), 14–42 (2008) 48. B. Han, Q. Mo, Multiwavelet frames from refinable function vectors. Adv. Comput. Math. 18(2–4), 211–245 (2003) 49. H.S. Hou, H.C. Andrews, Cubic splines for image interpolation and digital filtering. IEEE Trans. Acoust. Speech Signal Process. 26(6), 508–517 (1978) 50. K. Ichige, M. Kamada, An approximation for discrete B-splines in time domain. IEEE Signal Process. Lett. 4(3), 82–84 (1997) 51. S. Jonić, P. Thévenaz, G. Zheng, L.-P. Nolte, M. Unser, An optimized spline-based registration of a 3D CT to a set of C-arm images. Internat. J. Biomed. Imaging. 2006(47197), p.12 (2006) 52. M. Kamada, K. Toraichi, R.E. Kalman, A smooth signal generator based on quadratic B-spline functions. IEEE Trans. Signal Process. 43(5), 1252–1255 (1995) 53. H.O. Kim, R.Y. Kim, J.K. Lim, New look at the constructions of multiwavelet frames. Bull. Korean Math. Soc. 47(3), 563–573 (2010) 54. V.A. Kirushev, V.N. Malozemov, A.B. Pevnyi, Wavelet decomposition of the space of discrete periodic splines. Math. Notes. 67(5–6), 603–610 (2000) 55. J. Kovačević, P.L. Dragotti, V.K. Goyal, Filter bank frame expansions with erasures. IEEE Trans. Inform. Theory. 48(6), 1439–1450 (2002) 56. B. Kvasov, Methods of Shape-Preserving Spline Approximation (World Scientific, River Edge, 2000) 57. P.G. Lemarié, Ondelettes à localisation exponentielle. J. Math. Pures Appl. (9). 67(3), 227– 236 (1988) 58. V.N. Malozemov, N.V. Chashnikov, Discrete periodic splines with vector coefficients and geometric modeling. Dokl. Math. 80(3), 797–799 (2009) 59. V.N. Malozemov, A.B. Pevnyi, Discrete periodic B-splines. Vestn. St. Petersburg Univ. Math. 30(4), 10–14 (1997) 60. V.N. Malozemov, A.B. Pevnyi, Discrete periodic splines and their numerical applications. Comput. Math. Math. Phys. 38(8), 1181–1192 (1998) 61. V.N. Malozemov, A.N. Sergeev, Discrete nonperiodic splines on a uniform grid, in Proceedings of the St. Petersburg Mathematical Society, Vol. VIII, ed. by N.N. Uraltseva. Volume 205 of Amer. Math. Soc. Transl., Ser. 2 (2002), pp. 175–187. First published in Trudy Sankt-Peterburgskogo Matematicheskogo Obshchestva, Vol. 8 (2000), 199–213 (Russian).
xvi
Preface
62. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010) 63. D. Pang, L.A. Ferrari, P.V. Sankar, B-spline FIR filters. Circ. Syst. Sig. Process. 13(1), 31– 64 (1994) 64. A.P. Petukhov, Symmetric framelets. Constr. Approx. 19(2), 309–328 (2003) 65. A.B. Pevnyi, V. Zheludev, On the interpolation by discrete splines with equidistant nodes. J. Approx. Theory. 102(2), 286–301 (2000) 66. A.B. Pevnyi, V. Zheludev, Construction of wavelet analysis in the space of discrete splines using Zak transform. J. Fourier Anal. Appl. 8(1), 59–83 (2002) 67. M. Pinsky, Introduction to Fourier Analysis and Wavelets (Brooks Cole, Boston, 2002) 68. G. Plonka, M. Tasche, On the computation of periodic spline wavelets. Appl. Comput. Harmon. Anal. 2(1), 1–14 (1995) 69. A. Ron, Z. Shen, Compactly supported tight affine spline frames in L2 ðRd Þ. Math. Comp. 67 (221), 191–207 (1998) 70. M. Sabin, Analysis and Design of Univariate Subdivision Schemes, Volume 6 of Geometry and Computing (Springer, Berlin, 2010) 71. A. Said, W.A. Pearlman, A new, fast, and efficient image codec based on set partitioning in hierarchical trees. IEEE Trans. Circuits Syst. Video Tech. 6(3), 243–250 (1996) 72. A. Schneider, Biorthogonal Cubic Hermite Spline Multiwavelets on the Interval with Complementary Boundary Conditions (Reihe Mathematik. University, 2007) 73. I.J. Schoenberg, Contributions to the problem of approximation of equidistant data by analytic functions. Quart. Appl. Math. Parts A and B 4(45–99), 112–141 (1946) 74. I.J. Schoenberg, Cardinal Spline Interpolation (SIAM, Philadelphia, 1973) 75. L.L. Schumaker, Spline Functions: Basic Theory (John Wiley & Sons, New York, 1981) 76. J.M. Shapiro, Embedded image coding using zerotrees of wavelet coefficients. IEEE Trans. Signal Process. 41(12), 3445–3462 (1993) 77. E. Stein, G. Weiss, Introduction to Fourier Analysis on Euclidean Spaces (Princeton University Press, Princeton, 1971) 78. J.-O. Strömberg, A modified Franklin system and higher-order spline systems of Rn as unconditional bases for Hardy spaces, in Conference on Harmonic Analysis in Honor of Antoni Zygmund, Vol. I, II (Chicago, Ill., 1981) (Wadsworth, Belmont, 1983), pp. 475–494 79. H. Sugiyama, M. Kamada, R. Enkhbat, Image compression by spline wavelets orthogonal with respect to weighted sobolev inner product. Adv. Model. Optim. 10(2), 163–175 (2008) 80. H. Sun, Z. He, Y. Zi, J. Yuan, X. Wang, J. Chen, S. He, Multiwavelet transform and its applications in mechanical fault diagnosis—a review. Mech. Syst. Signal Proc. 43 (2014) 81. M.G. Suturin, V. Zheludev, On the approximation on finite intervals and local spline extrapolation. Russ. J. Numer. Anal. Math. Model. 9(1), 75–89 (1994) 82. W. Sweldens, The lifting scheme: A custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 83. D.S. Taubman, M.W. Marcellin (eds.), in JPEG2000: Image Compression Fundamentals, Standards, and Practice, Springer International Series in Engineering and Computer Science, vol. 642 (Springer, Berlin, 2002) 84. K. Toraichi, S. Yang, M. Kamada, R. Mori, Two-dimensional spline interpolation for image reconstruction. Pattern Recogn. 21(3), 275–284 (1988) 85. M. Unser, Splines: A perfect fit for signal and image processing. IEEE Signal Process. Mag. 16(6), 22–38 (1999). IEEE Signal Processing Society’s 2000 magazine award 86. M. Unser, Splines: A perfect fit for medical imaging, in Medical Imaging 2002: Image Processing, volume 4684 of Proc. SPIE, ed. by M. Sonka, J.M. Fitzpatrick (2002), pp. 225– 236 87. M. Unser, A. Aldroubi, M. Eden, On the asymptotic convergence of B-spline wavelets to Gabor functions. IEEE Trans. Inf. Theory. 38(2), 864–872 (1992)
Preface
xvii
88. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. I. Theory. IEEE Trans. Signal Process. 41(2), 821–833 (1993). IEEE Signal Processing Society’s 1995 best paper award 89. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. II. Efficiency design and applications. IEEE Trans. Signal Process. 41(2), 834–848 (1993) 90. M. Unser, A. Aldroubi, M. Eden, A family of polynomial spline wavelet transforms. Signal Process. 30(2), 141–162 (1993) 91. M. Unser, P. Thévenaz, A. Aldroubi, Shift-orthogonal wavelet bases using splines. IEEE Signal Process. Lett. 3(3), 85–88 (1996) 92. K.F. Üstüner, L.A. Ferrari, Discrete splines and spline filters. IEEE Trans. Circ. Syst. II: Analog Digital Signal Process. 39(7), 417–422 (1992) 93. J. Zak, Finite translations in solid-state physics. Phys. Rev. Lett. 19(24), 1385–1387 (1967) 94. Yu.S. Zav’yalov, B.I. Kvasov, V.L. Miroshnichenko, Methods of Spline-Functions (Nauka, Moscow, 1980) (In Russian) 95. V. Zheludev, Spline harmonic analysis and wavelet bases, Mathematics of Computation 50th Anniversary Symposium, August 9–13, 1993, Vancouver, British Columbia, ed. by W. Gautcshi, Amer. Math. Soc., 48, 415–419 (1994) 96. V. Zheludev, Local spline approximation on a uniform mesh. USSR. Comput. Math. Math. Phys. 27(5), 8–19 (1987) 97. V. Zheludev, Local spline approximation on arbitrary meshes. Sov. Math. 8, 16–21 (1987) 98. V. Zheludev, Local smoothing splines with a regularizing parameter. Comput. Math. Math. Phys. 31, 11–25 (1991) 99. V. Zheludev, An operational calculus connected with periodic splines. Sov. Math. Dokl. 42 (1), 162–167 (1991) 100. V. Zheludev, Wavelets based on periodic splines. Russ. Acad. Sci. Dokl. Math. 49(2), 216–222 (1994) 101. V. Zheludev, Periodic splines, harmonic analysis, and wavelets, in Signal and Image Representation in Combined Spaces, volume 7 of Wavelet Anal. Appl., ed. by Y.Y. Zeevi, R. Coifman (Academic Press, San Diego, 1998), pp. 477–509 102. V. Zheludev, Wavelet analysis in spaces of slowly growing splines via integral representation. Real Anal. Exch. 24(1), 229–261 (1998/99) 103. V. Zheludev, Interpolatory subdivision schemes with infinite masks originated from splines. Adv. Comput. Math. 25(4), 475–506 (2006) 104. V. Zheludev, A. Averbuch, Computation of interpolatory splines via triadic subdivision. Adv. Comput. Math. 32(1), 63–72 (2010) 105. V. Zheludev, V.N. Malozemov, A.B. Pevnyi, Filter banks and frames in the discrete periodic case, in Proceedings of the St. Petersburg Mathematical Society, Vol. XIV, volume 228 of Amer. Math. Soc. Transl., Ser. 2, ed. by N.N. Uraltseva (2009), pp. 1–11
Contents
1
Introduction: Signals and Transforms . . . . . . . . . . . 1.1 Continuous-Time Decaying Signals . . . . . . . . . . 1.1.1 One-Dimensional Signals . . . . . . . . . . . 1.1.2 Two-Dimensional Signals . . . . . . . . . . 1.2 Discrete-Time Signals . . . . . . . . . . . . . . . . . . . 1.2.1 One-Dimensional Discrete-Time Signals 1.2.2 Two-Dimensional Discrete Signals . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
1 1 1 4 5 5 7 8
2
Introduction: Digital Filters and Filter Banks. . . . . . . . . . . . . 2.1 Filtering Decaying Signals . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Polyphase Representation. . . . . . . . . . . . . . . . . . 2.1.4 Interpolating Filters . . . . . . . . . . . . . . . . . . . . . . 2.2 Bases and Frames Generated by Filter Banks . . . . . . . . . . 2.2.1 Examples of Filter Banks Implementation . . . . . . 2.2.2 Implementation of Causal—Anticausal IIR Filters with a Rational Transfer Function . . . . . . . . . . . . 2.3 Discrete-Time Butterworth Filters . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
9 9 9 13 13 17 20 21
... ... ...
25 27 30
.......
31
. . . . . .
31 31 32 35 35 37
3
. . . . . . . .
. . . . . . . .
. . . . . . . .
Mixed Convolutions and Zak Transforms . . . . . . . . . . . 3.1 Mixed Discrete-Continuous Convolution and Zak Transform . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Mixed Discrete-Continuous Convolution . . . 3.1.2 Zak Transform of Continuous-Time Signals . 3.2 A Leading Example: Polynomial Splines . . . . . . . . . 3.2.1 B-Splines. . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Spline Spaces . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
xix
xx
Contents
3.3
Discrete-Discrete Convolution and Zak Transform . . . . . . . . . 3.3.1 A Leading Example: Discrete Splines . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40 43 49
4
Non-periodic Polynomial Splines . . . . . . . . . . . . . . . . . . . . . . 4.1 Integral Representation of Splines . . . . . . . . . . . . . . . . . . 4.1.1 Decaying Polynomial Splines . . . . . . . . . . . . . . . 4.1.2 Zak Transform of B-Spline (Exponential Spline). . 4.1.3 Integral Representation of Splines . . . . . . . . . . . . 4.2 Generators of Spline Spaces . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Examples of the Spline Space Generators . . . . . . 4.3 Polynomial Interpolating Splines. . . . . . . . . . . . . . . . . . . 4.3.1 Example: Cubic Interpolating Spline . . . . . . . . . . 4.3.2 Exponential Decay of Generators of Spline Spaces 4.3.3 Minimal Norm Property of Even-Order Splines . . 4.4 Polynomial Smoothing Splines (Global). . . . . . . . . . . . . . 4.4.1 Explicit Expression of Smoothing Splines . . . . . . 4.4.2 Computation of Smoothing Splines . . . . . . . . . . . 4.4.3 Smoothing Generators for the Spline Spaces . . . . 4.4.4 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
51 51 51 52 54 58 59 68 69 71 73 74 75 78 79 82 85
5
Quasi-interpolating and Smoothing Local Splines . . . . 5.1 Moments of B-Splines . . . . . . . . . . . . . . . . . . . . 5.2 Local Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Simplest (Variation-Diminishing) Splines . 5.2.2 Quasi-interpolating Splines. . . . . . . . . . . 5.2.3 Examples. . . . . . . . . . . . . . . . . . . . . . . 5.3 Approximation Properties of Splines . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
87 87 90 90 91 105 108 113
6
Cubic Local Splines on Non-uniform Grid . . . . . . . . . . 6.1 Preliminaries: Divided Differences and Interpolating Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Cubic Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Simplest Cubic Splines . . . . . . . . . . . . . . 6.3.2 Quasi-interpolating Cubic Splines . . . . . . . 6.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
........
115
. . . . . . .
. . . . . . .
115 117 117 118 119 123 125
Splines Computation by Subdivision . . . . . . . . . . . . . . . . . . . . . . 7.1 Interpolatory Subdivision for Non-periodic Splines . . . . . . . . . 7.2 Binary Subdivision for Non-periodic Splines . . . . . . . . . . . . .
127 127 128
7
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Contents
xxi
7.2.1 Spline Filters for Binary Subdivision . . . . . . . . 7.2.2 Splines Computation at Dyadic Rational Points 7.2.3 Practical Implementation . . . . . . . . . . . . . . . . 7.3 Ternary Subdivision . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Spline Filters for Ternary Subdivision . . . . . . . 7.3.2 Splines Computation at Triadic Rational Points 7.3.3 Practical Implementation . . . . . . . . . . . . . . . . 7.4 Upsampling Examples . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
129 131 132 135 135 137 140 142 144
8
Polynomial Spline-Wavelets. . . . . . . . . . . . . . . . . . . . . . 8.1 Two-scale Relations . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Two-scale Relations for Exponential Splines 8.1.2 Exponential Wavelets . . . . . . . . . . . . . . . . 8.2 Spline-Wavelet Transforms . . . . . . . . . . . . . . . . . . 8.2.1 One Step of the Spline Wavelet Transforms . 8.2.2 Multiscale Spline Wavelet Transforms . . . . . 8.3 Generators of the Wavelet Space . . . . . . . . . . . . . . 8.3.1 B-Wavelets . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Generators and Dual Generators . . . . . . . . . 8.3.3 Examples of the Wavelet-space Generators . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
145 147 147 149 151 151 155 156 157 162 164 169
9
Non-periodic Discrete Splines . . . . . . . . . . . . . . . . . . . 9.1 Discrete Splines’ Spaces . . . . . . . . . . . . . . . . . . . 9.2 Integral Representation of Discrete Splines. . . . . . . 9.2.1 Exponential Discrete Splines . . . . . . . . . . 9.2.2 Characteristic Functions of the Discrete Splines’ Spaces. . . . . . . . . . . . . . . . . . . . 9.2.3 Implications of the Integral Representation of Discrete Splines . . . . . . . . . . . . . . . . . 9.2.4 Computation of Discrete Splines . . . . . . . . 9.3 Generators of Discrete Splines’ Spaces . . . . . . . . . 9.3.1 Generators and Their Duals . . . . . . . . . . . 9.3.2 Examples of Generators. . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
171 171 173 173
........
175
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
177 178 181 181 183 188
10 Non-periodic Discrete-Spline Wavelets . . . . . . . . . . . . . . 10.1 Discrete Splines’ Spaces . . . . . . . . . . . . . . . . . . . . 10.2 Discrete Exponential Wavelets . . . . . . . . . . . . . . . . 10.3 Generators of the Discrete Spline Wavelet Spaces . . . 10.3.1 Discrete B-Wavelets . . . . . . . . . . . . . . . . . 10.3.2 Generators and Dual Generators of Discrete Spline Wavelet Spaces. . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
189 189 191 193 194
.......
196
. . . .
xxii
Contents
10.4 Wavelet Transforms of Discrete Splines. . . . . . . . . . . . . . 10.4.1 Matrix Representation of the Two-Scale Relations 10.4.2 Transform of Splines’ Coordinates . . . . . . . . . . . 10.5 Discrete-Spline Wavelet Transform of Signals . . . . . . . . . 10.5.1 One Step of Discrete-Spline Wavelet Transform . . 10.5.2 Multiscale Signal’s Transform . . . . . . . . . . . . . . 10.5.3 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
202 202 203 206 206 211 211 214
11 Biorthogonal Wavelet Transforms . . . . . . . . . . . . . . . . . . . . . 11.1 Two-Channel Filter Banks . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Matrix Expression of Filter Banks. . . . . . . . . . . . 11.1.2 Biorthogonal Bases Generated by PR Filter Banks 11.1.3 Multilevel Discrete-Time Wavelet Transforms . . . 11.2 Compactly Supported Biorthogonal Wavelets . . . . . . . . . . 11.2.1 Design of the Biorthogonal Filter Bank . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
215 216 216 218 221 228 228 237
12 Biorthogonal Wavelet Transforms Originating from Splines . . . 12.1 Lifting Scheme of Wavelet Transforms . . . . . . . . . . . . . . . 12.1.1 Primal Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.2 Dual Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.3 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Filter Banks Originating from Polynomial Splines. . . . . . . . 12.2.1 Prediction Filters Derived from Polynomial Splines. 12.2.2 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.3 Examples of Filters Originating from Splines . . . . . 12.3 Flter Banks Originating from Discrete Splines . . . . . . . . . . 12.3.1 Summary for the Discrete Splines of Span 2 . . . . . 12.3.2 Prediction Filters. . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
239 239 239 240 241 245 245 247 252 261 261 263 273
.......
275
. . . . . . . .
275 279 281 281 282 286 287 289
13 Data Compression Using Wavelet and Local Cosine Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1 Spatial and Spectral Meaning of Wavelet Transform Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 SPIHT Coding Scheme . . . . . . . . . . . . . . . . . . . . . 13.3 Local Cosine Transform for Data Compression. . . . . 13.3.1 Local Cosine Transform (LCT). . . . . . . . . . 13.3.2 A Hybrid Algorithm for Data Compression . 13.4 Numerical Examples . . . . . . . . . . . . . . . . . . . . . . . 13.4.1 Seismic Compression . . . . . . . . . . . . . . . . 13.4.2 Fingerprints . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Contents
xxiii
13.4.3 Compression of Multimedia Images . . . . . . . . . . . . . 13.4.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1 Oversampled Filter Banks and Frames. . . . . . . . . . . . . . . 14.1.1 Matrix Expression of Filter Banks with the Downsampling Factor 2. . . . . . . . . . . . . . . . . . . 14.1.2 Frames Generated by Filter Banks . . . . . . . . . . . 14.2 Design of Three-Channel Filter Banks Which Generate Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.1 Interpolating Filter Banks for Frame Generation . . 14.2.2 Frames Derived from Triangular Factorization . . . 14.2.3 Design of Frames Using Spline Filters. . . . . . . . . 14.2.4 2D Frame Transforms . . . . . . . . . . . . . . . . . . . . 14.3 Design of Four-Channel Filter Banks Which Generate Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1 Four-Channel Oversampled Filter Banks . . . . . . . 14.3.2 Low-Pass Filters . . . . . . . . . . . . . . . . . . . . . . . . 14.4 Four-Channel Filter Banks Using Spline Filters . . . . . . . . 14.4.1 Summary of the Filter Bank Design Scheme . . . . 14.4.2 Outline of the Frame Transforms’ Implementation 14.4.3 Examples of Filter Banks with FIR Filters . . . . . . 14.4.4 Four-Channel Filter Banks with IIR Filters. . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Biorthogonal Multiwavelets Originated from Hermite Splines . 15.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.1 Cubic Hermite Splines. . . . . . . . . . . . . . . . . . . . 15.1.2 Multifilters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Lifting Scheme of Wavelet Transform of Vector-Signals . . 15.3 Multifilter Banks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1 Structure of Multifilter Banks . . . . . . . . . . . . . . . 15.3.2 Approximation Properties of Multifilters . . . . . . . 15.4 Lifting Algorithms for Pre/Post-processing Phases. . . . . . . 15.4.1 An Orthogonal Scheme of Third Approximation Order (Haar Algorithm) . . . . . . . . . . . . . . . . . . . 15.4.2 Schemes of the Fifth Approximation Order . . . . . 15.5 Bases for the Space of Discrete-Time Signals . . . . . . . . . . 15.5.1 Bases of Zero Level . . . . . . . . . . . . . . . . . . . . . 15.5.2 Bases of the First Level . . . . . . . . . . . . . . . . . . .
291 295 296
... ...
299 300
... ...
300 303
. . . . .
. . . . .
. . . . .
308 308 310 312 329
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
331 331 336 340 340 341 343 350 360
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
363 364 364 365 368 370 370 372 374
. . . . .
. . . . .
. . . . .
375 376 380 380 381
xxiv
Contents
15.6 Extension of the Multiwavelet Transforms to Coarser Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7 Two-Dimensional Multiwavelet Transforms . . . . . . . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Multiwavelet Frames Originated From Hermite Splines . . . 16.1 Oversampled Multifilter Banks . . . . . . . . . . . . . . . . . . 16.1.1 Three-Channel Multifilter Banks . . . . . . . . . . . 16.1.2 Bases of Zero Level . . . . . . . . . . . . . . . . . . . 16.1.3 Analysis Filter Banks of the First Level. . . . . . 16.1.4 Synthesis Filter Banks of the First Level . . . . . 16.2 Multiwavelet Frames . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.1 Signal’s Expansion Over the First-Level Multi-frame . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.2 Extension of the Multi-frame Transforms to Coarser Levels . . . . . . . . . . . . . . . . . . . . . 16.3 Design of Multifilter Banks Generating Frames . . . . . . 16.3.1 Design Scheme. . . . . . . . . . . . . . . . . . . . . . . 16.3.2 Transfer Functions of the Multifilter Banks . . . 16.3.3 Example: Framelets Originating From the Haar Pre-Post-processing Scheme (j ¼ 0): . . . . . . . . References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
393 394 394 395 396 397 398
.....
398
. . . .
. . . .
399 401 401 402
..... .....
404 407
Appendix A: Guide to SplineSoftN . . . . . . . . . . . . . . . . . . . . . . . . . . .
409
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
421
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
423
. . . .
. . . . . . .
. . . .
. . . . . . .
388 391 392
. . . .
Acronyms
(I)DFT (I)DTFT 1D 2D bpp DS DVM EQIS FFT FIR FR i.i.d. IIR IR IS LC LCT MDCC MR PR PSNR QIS STF TF TF VM ZT
(inverse) Discrete Fourier transform (inverse) Discrete-time Fourier transform One-dimensional Two-dimensional Bits per pixel Discrete spline Discrete vanishing moment Extended quasi-interpolating spline Fast Fourier transform Finite impulse response Frequency response Independent identically distributed Infinite impulse response Impulse response Interpolating spline Local cosine Local cosine transform Mixed discrete-continuous convolution Magnitude response Perfect reconstruction Peak signal to noise ratio Quasi-interpolating spline Semi-tight frame Tight frame Transfer function Vanishing moment Zak transform
xxv
Chapter 1
Introduction: Signals and Transforms
Abstract This introductory chapter contains some definitions and facts concerning one- and two-dimensional signals and their Fourier and z-transforms. In this chapter, we collect some well-known facts about signals and transforms that are needed later. For details we refer to the classical textbooks [1, 2].
1.1 Continuous-Time Decaying Signals In this section, properties of one- and two dimensional decaying signals, their Fourier and z-transforms are outlined. The symbols R, Z and N denote the sets of all real numbers, all integers and all natural numbers, respectively.
1.1.1 One-Dimensional Signals In this section, we deal with continuous-time signals whose magnitudes tend to zero as their argument (time) tends to ±∞. The space L 1 [R] is the normed space of integrable complex-valued functions where the norm is defined by def
f 1 =
∞
−∞
| f (t)|dt.
(1.1)
The space L 2 [R] is a Hilbert space of square integrable (finite energy) complexvalued functions where the inner product and the norm are defined as def
f, h =
∞ −∞
∗
def
f (t) h (t)dt, f =
∞
−∞
| f |2 (t)dt.
(1.2)
Here and throughout the book, h ∗ (t) denotes complex conjugation to h(t).
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_1
1
2
1 Introduction: Signals and Transforms
Definition 1.1 We call (piece-wise) continuous functions f ∈ L 1 [R] continuous-time signals.
L 2 [R] the
The convolution of two signals is g = f h ⇐⇒ g(t) =
∞ −∞
f (t − τ ) h(τ )dτ =
∞
−∞
h(t − τ ) f (τ )dτ.
(1.3)
If the signals f and h belong to L 1 L 2 then the same is true for their convolution g. The Fourier transform of a signal and its inverse are def fˆ(ω) =
∞
f (t) e−iωt dt, f (t) =
−∞
1 2π
∞
fˆ(ω) eiωt dω.
−∞
(1.4)
Below, we list a few properties of the Fourier transforms. Scaling:
def
If f T (t) = f (t T ) then 1 ω . fˆT (ω) = fˆ T T
The Parseval identities f, h =
1 2π
(1.5)
for decaying signals are
∞
−∞
1 fˆ(ω) hˆ ∗ (ω)dω, f 2 = 2π
∞
−∞
ˆ 2 f (ω) dω.
(1.6)
The second of the identities in Eq. (1.16) is called the Plancherel equation. The Fourier transform of the convolution g = f h is g(ω) ˆ = =
∞
∞
−∞ −∞ ∞ ∞ −∞ −∞
Differentiation and shift: 1 2π
f (t − τ ) h(τ )dτ e−iωt dt ˆ f (θ )h(τ ) e−iω(θ+τ ) dθ dτ = h(ω) fˆ(ω).
Equation (1.4) implies that
∞
f (s) (ω) = (iω)s fˆ(ω), fˆ(ω) (iω)s eiωt dω =⇒ −∞ ∞ 1 def f d (t) = f (t + d) = fˆ(ω) eiωd eiωt dω 2π −∞ =⇒ fˆd (ω) = eiωd fˆ(ω). f (s) (t) =
(1.7)
(1.8)
(1.9)
1.1 Continuous-Time Decaying Signals
3 def
def
Finite differences: The functions Δd [ f ](t) = f (t + d) − f (t) and δd [ f ](t) = f (t + d/2) − f (t − d/2) are called the forward and the central finite differences, respectively. Their Fourier transforms are derived directly from Eq. (1.9): iωd Δ − 1) fˆ(ω), d [ f ](ω) = (e
(1.10)
ωd ˆ iωd/2 δ − e−iωd/2 ) fˆ(ω) = 2i sin f (ω). (1.11) d [ f ](ω) = δ d [ f ](ω) = (e 2
Finite differences of higher order are defined iteratively: def
def
n−1 n Δnd [ f ](t) = Δd [Δn−1 d [ f ](t)](t), δd [ f ](t) = δd [δd [ f ](t)](t).
Their Fourier transforms are n n [ f ](ω) = (eiωd − 1)n fˆ(ω), δ n [ f ](ω) = 2i sin ωd fˆ(ω). Δ d d 2
(1.12)
There exist explicit expressions for the higher order differences that are readily derived from Eqs. (1.12) and (1.9): Δnd [ f ](t)
=
n
n k=0
where
n k
k
(−1)n−k f (t + k),
(1.13)
is the binomial coefficient.
Proposition 1.1 Assume that Pn−1 (t) is a polynomial of degree n − 1. Then, Δnd [Pn−1 ](t) = δdn [Pn−1 ](t) ≡ 0. Proof Take f (t) = t k . The finite difference Δd [ f ](t) = (t + d)k − t k , k ≤ n, is a polynomial of degree k − 1. Thus, the application of the difference Δn−1 d , which is the n − 1 times iterated application of the difference Δd , to the polynomial Pn−1 (t), results in a constant. The subsequent application of Δd eliminates the polynomial. Fourier series If a continuous function f (t) is T -periodic then it can be expanded into the Fourier series The Fourier expansion of a periodic signal is: f (t) =
1
cn ( f ) e2πint/T , T n∈Z
where cn ( f ) =
T 0
f (t) e−2πint/T dt are the so-called Fourier coefficients.
(1.14)
4
1 Introduction: Signals and Transforms
1.1.2 Two-Dimensional Signals The continuous-time 2D signals are the functions f (x, y) defined on the real plane R2 such that their absolute values are integrable on R2 :
∞
∞
−∞ −∞
| f (x, y)| d x d y < ∞ ⇐⇒ f ∈ L 1 [R2 ]
and their squares are integrable on R2 :
∞
∞
−∞ −∞
| f (x, y)|2 d x d y < ∞ ⇐⇒ f ∈ L 2 [R2 ].
The inner products and the norms of 2D signals are def
f, h =
∞
∞
−∞ −∞
∗
def
f (x, y) h (x, y) d x d y, f =
∞
∞
−∞ −∞
| f (x, y)|2 d x d y.
The convolution of two signals is g = f h ⇐⇒ g(x, y) =
∞
∞
−∞ −∞
f (x − ξ, y − η) h(ξ, η) dξ, dη.
The Fourier transform of a 2D signal and its inverse are def fˆ(ϑ, ω) =
∞
−∞ −∞
f (x, y) =
∞
1 4π 2
∞
f (x, y) e−i(ϑ x+ωy) d x d y, ∞
−∞ −∞
(1.15) fˆ(ϑ, ω) ei(ϑ x+ωy) dϑ dω.
Properties of the 2D Fourier transforms are similar to their 1D counterparts. In particular, The Parseval identities: f, h =
1 4π 2
f 2
1 4π 2
=
∞
∞
−∞ −∞ ∞
∞
−∞ −∞
fˆ(ϑ, ω) hˆ ∗ (ϑ, ω) dϑ dω, (1.16) | fˆ(ϑ, ω)|2 dϑ dω.
The Fourier transform of the 2D convolution
g = f h is
ˆ g(ϑ, ˆ ω) = h(ϑ, ω) fˆ(ϑ, ω).
(1.17)
1.1 Continuous-Time Decaying Signals
5
Differentiation and shifts: (s,t) f x,y (ϑ, ω) = (iϑ)s (iω)t fˆ(ϑ, ω),
(1.18)
f c,d (x, y) = f (x + c, y + d), f c,d (ϑ, ω) = ei(ϑc+ωd) fˆ(ϑ, ω). (1.19) def
1.2 Discrete-Time Signals 1.2.1 One-Dimensional Discrete-Time Signals def
The symbol l1 [Z] denotes the normed space of complex-valued sequences x = {x[k]}, k ∈ Z where the norm is defined by def
x1 =
|x[k]|.
k∈Z def
The symbol l2 [Z] denotes the Hilbert space of complex-valued sequences x = {x[k]}, k ∈ Z where the norm is defined by def
x2 =
|x[k]|2 ,
k∈Z
and the inner product is def
x, h =
x[k]h ∗ [k].
k∈Z
def
Proposition 1.2 If a sequence x = {x[k]} belongs to l1 [Z] then it belongs to l2 [Z] as well. def def Proof Assume the sequence x = {x[k]} belongs to l1 [Z], thus S = k∈Z |x[k]| < def ∞. If M = maxk |x[k]| then, k∈Z |x[k]|2 ≤ M k∈Z |x[k]| = M S. def
Definition 1.2 We refer to the sequences x = {x[k]}, k ∈ Z, which belong to the space l1 [Z], (and, consequently, to l2 [Z]) as discrete-time signals. The discrete convolution of two decaying signals is y = x h ⇐⇒ y[k] =
l∈Z
x[k − l] h[l] =
l∈Z
h[k − l] x[l].
(1.20)
6
1 Introduction: Signals and Transforms
If x and h belong to l1 l2 then the same is true for their convolution y. In signal processing, convolution of a discrete-time signal x with another discrete-time signal is called digital filtering of the signal x. The discrete-time Fourier transform (DTFT) of a signal x is def
= x(ω) ˆ
x[k] e−iωk =
k∈Z
1
2π x[−k] eiωk . 2π
(1.21)
k∈Z
The function x(ω) ˆ is 2π -periodic. Equation (1.21) can be viewed as its expansion into the Fourier series, where the samples 2π x[−k] serve as the Fourier coefficients. Hence, the inverse formula for the DTFT becomes x[k] =
1 2π
2π
x(ω) ˆ eiω k dω,
(1.22)
0
and the Parseval identities, which stem from the Parseval identities for the Fourier series, are: x, y =
x[k] y ∗ [k] =
k∈Z
x2 =
1 2π
2π
1 2π
2π
x(ω) ˆ yˆ ∗ (ω) dω,
(1.23)
0
2 |x(ω)| ˆ dω.
(1.24)
0 def
x(z) =
z −n x[n]
(1.25)
n∈Z
absolutely converges then it is referred to as the z-transform of a signal x. Unless otherwise specified, we assume that z = eiω , ω ∈ R. In this case, the series converges ˆ and the z-transform coincides with the DTFT, such that x(eiω ) = x(ω). The relations between the discrete-time signals and their transforms are similar to the relations for the continuous-time signals. We only mention the convolution, integer shift (delay), time inversion and the finite differences operations. Discrete convolution (filtering): If y = x h then the DTFT and the z-transform are
x[k] e−iωk x[k − l] h[l] yˆ (ω) = k∈Z
=
l∈Z
h[l]
l∈Z
x[k − l] e−iωk =
k∈Z
ˆ = x(ω) ˆ h(ω)
h[l]e−iωl
l∈Z
and
y(z) = x(z) h(z).
x[k] e−iωk
k∈Z
(1.26)
1.2 Discrete-Time Signals
7 def
If xi = {x[−k]} then
Time inversion:
∗ ˆ , xi (z) = x(1/z). xˆi (ω) = (x(ω))
Shift (delay):
(1.27)
def
If xd = {x[k + d]}, where d is an integer, then ˆ xd (z) = z d x(z). xˆd (ω) = ei ωd x(ω),
Finite differences: then
(1.28)
def
If the finite difference Δ[x] = {x[k + 1] − x[k]} , k ∈ Z,
ω ˆ Δ[x](z) = (z − 1) x(z). ˆ = 2i ei ω/2 sin x(ω), Δ[x](ω) = (ei ω − 1) x(ω) 2 def
Higher order finite differences are defined iteratively by Δn [x] = Δ[Δn−1 [x]]. The DTFT and the z-transform are n [x](ω) = (ei ω − 1)n x(ω) Δ ˆ = (2i)n ei ωn/2 sinn
ω 2
x(ω), ˆ
Δn [x](z) = (z − 1)n x(z).
(1.29)
def
The central finite difference of the second order is δ 2 [x] = {x[k + 1] def −2x[k] + x[k − 1]}, and δ 2r [x] = δ 2 [δ 2n−2 [x]]. The DTFT and the z-transform are 2n [x](ω) = (ei ω/2 − e−i ω/2 )2n x(ω) δ ˆ = (−4)n sin2n
ω 2
δ 2n [x](z) = (−z + 2 − 1/z)n x(z).
x(ω), ˆ
(1.30)
def
Proposition 1.3 If Pn−1 = {Pn−1 (k)} , k ∈ Z, is a sampled polynomial of degree not exceeding n − 1, then the difference Δn [Pn−1 ] = 0. If n = 2r then δ 2r [P2r−1 ] = 0. Proof Similar to the proof of Proposition 1.1.
1.2.2 Two-Dimensional Discrete Signals def
Two-dimensional discrete signals are complex-valued arrays x = {x[k, n]}, k, n ∈ Z such that
|x[k, n]| < ∞ =⇒ |x[k, n]|2 < ∞. k,n∈Z
k,n∈Z
8
1 Introduction: Signals and Transforms
The inner product and the norm in the signals space are
def
x, h =
∗
def
x[k, n] h [k, n], x2 =
k,n∈Z
|x[k, n]|2 .
(1.31)
x[k − l, n − m] h[l, m].
(1.32)
kn,∈Z
The discrete convolution of two decaying signals is
y = x h ⇐⇒ y[k, n] =
l,m∈Z
The DTFT of a signal and its inverse are defined by def
x(ϑ, ˆ ω) =
x[k, n] e−i(ϑk+ωn) .
k,n∈Z
1 x[k, n] = 4π 2
2π 0
2π
x(ϑ, ˆ ω) ei(ϑk+ωn) dϑ dω
(1.33)
(1.34)
0
The Parseval identities are: def
x, h =
k,n∈Z
x2 =
x[k, n] h ∗ [k, n] =
2π 2π 1 x(ϑ, ˆ ω), hˆ ∗ (ϑ, ω) dϑ dω, 4π 2 0 0
2π 2π 1 |x(ϑ, ˆ ω)|2 dϑ dω. 4π 2 0 0
(1.35) (1.36)
The relations between the 2D discrete signals and their DTFT are similar to the relations that exist for 1D signals. We only mention the convolution and the shift operations here. Convolution:
If y = x h then the DTFT ˆ yˆ (ϑ, ω) = x(ϑ, ˆ ω) h(ϑ, ω).
Shift:
(1.37)
def
If xc,d = {x[k + c, n + d]}, where c and d are integers, then ˆ ω). xc,d (ϑ, ω) = ei (ϑc+ωd) x(ϑ,
(1.38)
References 1. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010) 2. A. Papoulis, Signal Analysis (McGraw-Hill, New York, 1977)
Chapter 2
Introduction: Digital Filters and Filter Banks
Abstract A basic operation of spectr is filterin. In this introductory chapter, processing of one- and two-dimensional signals by digital filters and filter banks is outlined. A polyphase implementation of multirate filtering is described. The application of filtering with IIR filters, whose transfer functions are rational, is described. Bases and frames in the signals’ space that are generated by perfect reconstruction filter banks are discussed. The Butterworth filters, which are used in further constructions, are introduced. We collect in this chapter some known facts about filtering discrete-time signals. For a detailed presentation of this topic we refer to [3–5].
2.1 Filtering Decaying Signals def
Recall that under a discrete-time signal is a sequence x = {x[k]} of real numbers, def where the norm x1 = k∈Z |x[k]| < ∞.
2.1.1 Filters A linear operator H : y = H x in the space of decaying signals is time-invariant def if the integer shift xd = {x[k + d]} of the input signal results in the same shift def
yd = {y[k + d]} of the output signal. Such operators are called digital filters. The symbol δ[k]: def 1, if k = 0; δ[k] = 0, otherwise, denotes the Kronecker delta (impulse). If the input signal i = {δ[k]}, then the output signal h = {h[k]} is called the impulse response (IR) of the filter H . Any discrete-time signal x can be represented as a linear combination of impulses by x[k] = l∈Z x[l] δ[k − l] = x i. Then, due to the time-invariance of the filter H , the output signal becomes © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_2
9
10
2 Introduction: Digital Filters and Filter Banks
y = H x = x h ⇐⇒ y[k] =
h[k − l]x[l].
(2.1)
l∈Z
Thus, a filter is completely defined by its impulse response (IR) h and application of the filter to a discrete-time signal is implemented via a discrete convolution. If the IR sequence h is finite then the filter H is called a finite IR (FIR) filter. Otherwise it is called an infinite IR (IIR) filter. A filter h = {h[k]} is called causal if h[k] = 0, k < 0 and anticausal if h[k] = 0, k > 0. Other ways to characterize a filter are to define either its frequency response (FR) ˆ h(ω) =
h[k] e−iωk ,
(2.2)
k∈Z
which is the DTFT of the IR, or the transfer function(TF) def
h(z) =
h[k] z −k ,
(2.3)
k∈Z
which is the z-transform of the IR. We will refer to a filter by its IR h = {h[k]} or by its transfer function h(z). Recall that filtering of a signal reduces to multiplication in the frequency and z-domains: ˆ x h ⇐⇒ h(ω) x(ω) ˆ ⇐⇒ h(z) x(z).
(2.4)
The frequency response of a filter can be represented in a polar form i ˆ ˆ h(ω) = h(ω) e
ˆ arg(h(ω))
,
(2.5)
ˆ where the positive 2π -periodic function h(ω) is referred as the magnitude response ˆ (MR) of h and the real 2π -periodic function arg(h(ω)), whose values lie within the interval [−π, π ], is called the phase response of h. If the phase response of a filter is a linear function of ω then the filter is referred to as a linear phase one. If the impulse response of a filter h is symmetric or antisymmetric, then h is a linear phase filter. A filter h is called low-pass if it passes low frequencies of signals but attenuates or completely rejects frequencies higher than the cutoff frequency. On the contrary, a high-pass filter attenuates or rejects frequencies lower than the cutoff frequency. A band-pass filter passes frequencies within a certain range (passband) and attenuates (rejects) frequencies outside that range (stopband). Examples of low-pass, band-pass and high-pass filters are displayed in Fig. 2.1. Allpass filters The filters, whose magnitude responses are constant and equal to 1, are referred to as allpass filters. Application of such a filter to a signal does not change the magnitudes
2.1 Filtering Decaying Signals
11
Fig. 2.1 Examples of low-pass, band-pass and high-pass filters. Left frames represent magnitude responses of the filters. Right frames represent their impulse responses
of all the signal’s frequencies. We list a few specific properties of the allpass filters here. 2.1 Assume that h = {h[k]} , k ∈ Z, is an allpass filter, that is Proposition ˆ h(ω) ≡ 1. Then: 1. If a signal y = h x then y = x (Energy conservation). 2. The signals hl = {h[k − l]} , k, l ∈ Z, form a basis in the signal space. 3. The basis {hl } , l ∈ Z, is orthonormal in l2 (Z). Proof 1. Equations (1.26), (1.23) and (1.24) imply h x2 =
1 2π
2π 0
2π 2 2 1 ˆ dω = x2 . x(ω) ˆ ˆ dω = h(ω) x(ω) 2π 0
2. We show that any signal x can be uniquely represented as a linear combination x = l∈Z ξ [l]hl . ˆ The function |h(ω)| ≡ 1 on the real line, thus the same is true for the function ˆ ˆ 1/|h(ω)|. Therefore, the filter g = {g[k]} , l ∈ Z, whose FR is g(ω) ˆ = 1/h(ω), is all-pass. Apply the filter g to the signal x to get ξ = g x ⇐⇒ ξ [k] =
l∈Z
x[l] g[k − l] ⇐⇒ ξˆ (ω) =
x(ω) ˆ . ˆ h(ω)
12
2 Introduction: Digital Filters and Filter Banks
Then, the convolution ˆ ξ [l] h[k − l] ⇐⇒ yˆ (ω) = ξˆ (ω) h(ω) = x(ω). ˆ y=hξ = l∈Z
This means that x = y = l∈Z ξ [l]hl . 3. Using Eq. (1.38) and the Parseval identities, we write the inner product hl , hm =
1 2π
0
2π
2π 2 1 ˆ eiω(l−m) h(ω) dω = eiω(l−m) dω = δ[l − m]. 2π 0
2.1.1.1 Multirate Filtering def
Suppose x = {x[k]} is a decaying signal and M > 1 is a natural number. The operation (↓ M)x = {x[Mk]} is called downsampling the signal x by factor M. The operation x[l], if l = k M; (↑ M)x = x˜ , x[k] ˜ = , l ∈ Z, (2.6) 0, otherwise. is called upsampling the signal x by factor M. If filtering a signal is accompanied by either downsampling or upsampling, then ˜ ˜ it is called multirate filtering. Let h = {h[k]} and h = h[k] be some filters. Denote ˜ Application of the filter h¯ to a signal x, ˜ the time-reversed filter h. by h¯ = h[−k] which is followed by downsampling by factor M, produces the signal y = {y[k]} ,
y[k] =
˜ − Mk] x[l]. h[l
l∈Z
Application of the filter h to a signal y = {y[k]}, which is upsampled by factor M, produces the signal
xˇ = x[k] ˇ ,
x[k] ˇ =
l∈Z h[k
− Ml] y[l]
ˆˇ ˆ ⇐⇒ x(z) ˇ = h(z) y(z M ), x(ω) = h(ω) yˆ (Mω).
(2.7)
2.1 Filtering Decaying Signals
13
2.1.2 Filter Banks k ˜ def The set of filters H = h˜ , k = 1, . . . , K , which, being time-reversed and applied K −1 to an input signal x, produces a set of output signals {˜yk }k=0 downsampled by factor M: (2.8) h˜ k [n − Ml] x[n], k = 1, . . . , K , l ∈ Z, y k [l] = n∈Z def
is called the K −channel analysis filter bank. The set of filters H = hr , k = 1, . . . , K , which, being applied to a set of input signals y˜ k , k = 1, . . . , K , that are upsampled by factor M, produces the output signal xˇ
x[l]) ˇ =
K
h k [l − Mn] y k [n], l ∈ Z,
(2.9)
k=1 n∈Z
is called the K −channel synthesis filter bank. If the upsampled signals y˜ k , k = 1, . . . , K , which are defined in Eq. (2.8), are used as an input to the synthesis filter bank and the output signal xˇ = x, then the pair of analysis–synthesis filter banks form a perfect reconstruction (PR) filter bank. If the number of channels K equals the downsampling factor M, then the filter bank is said to be critically sampled. If K > M then the filter bank is oversampled. Critically-sampled PR filter banks are used in wavelet analysis, while oversampled PR filter banks serve as a source for the frames’ design.
2.1.3 Polyphase Representation Polyphase representation provides tools to handle multirate filtering.
2.1.3.1 DTFT and z-Transform def
A signal x = {x[k]} can be decomposed into a superposition of M signals, which are downsampled by the factor M, such that x=
M−1
def
xm,M , xm,M = {x[m + k M]} , k ∈ Z.
(2.10)
m=0
This representation is referred to as the polyphase decomposition of the signal x. The signals xm,M are called the polyphase components of x. Their z-transforms are denoted by xm,M (z). The z−transform of x can represented as follows:
14
2 Introduction: Digital Filters and Filter Banks
x(z) =
z −k x[k] =
k∈Z
+
z −Mk x[Mk] +
k∈Z
z −Mk+1 x[Mk + 1] + · · ·
k∈Z
z −Mk+M−1 x[Mk + M − 1] =
k∈Z
M−1
z −m xm,M (z M ).
(2.11)
m=0
The DTFT of the signal x is represented as x(ω) ˆ =
e
−iωl
x[k] =
l∈Z
M−1
eimω xˆm,M (Mω).
(2.12)
m=0
Proposition 2.2 The DTFT and the z-transform of the zero-polyphase component x0,M are M−1 xˆ0,M (Mω) =
k=0
x(ω ˆ + 2π k/M) , xk,0 (z M ) = M
Proof The function xˆm,M (Mω) = respect to ω. Thus, M−1
x(ω ˆ + 2π k/M) =
l∈Z e
−il Mω
M−1 M−1
M−1 2πik/M k=0 x z e . M (2.13)
xm,M [l] is 2π/M-periodic with
eim(ω+2π k/M) xˆm,M (Mω)
k=0 m=0
k=0
=
M−1 m=0
eimω xˆm,M (Mω)
M−1
e2πimk/M .
k=0
M−1 2πimk/M The sum k=0 e is equal to zero for m = 1, . . . M − 1 and to M as m = 0. Thus, the first equation in Eq. (2.13) follows. The second one is a direct consequence ˆ of the relation x(eiω ) = x(ω).
Examples: M = 2. Then, x0,2 = {x[2k]} and x1,2 = {x[2k + 1]} are the even and odd subsequences of the signal x. The z-transforms are ˆ = xˆ0,2 (2ω) + e−iω xˆ1,2 (2ω) x(z) = x0,2 (z 2 ) + z −1 x1,2 (z 2 ), x(ω) x(z) + x(−z) x(ω) ˆ + x(ω ˆ + π) , xˆ0,2 (2ω) = , (2.14) x0,2 (z 2 ) = 2 2 x(z) − x(−z) x(ω) ˆ − x(ω ˆ + π) x1,2 (z 2 ) = , xˆ1,2 (2ω) = . (2.15) 2z −1 2 e−iω
2.1 Filtering Decaying Signals
15
M = 3. Then, x0,3 = {x[3k]}, x1,3 = {x[3k + 1]}, x2,3 = {x[3k + 2]}. The ztransforms are x(z) = x0,3 (z 3 ) + z −1 x1,3 (z 3 ) + z −2 x2,3 (z 3 ), x(z) + x(e2πi/3 z) + x(e4πi/3 z) , 3 x(z) + e−4πi/3 x(e2πi/3 z) + e−2πi/3 x(e4πi/3 z) x1,3 (z 3 ) = , 3z −1 x(z) + e−2πi/3 x(e2πi/3 z) + e−4πi/3 x(e4πi/3 z) x2,3 (z 3 ) = . 3z −2
x0,3 (z 3 ) =
(2.16)
Explicit expressions for the DTFT and the z-transforms of the polyphase components xm,M , m = 1, . . . , M − 1, for any M ∈ N, are given in the forthcoming Remark 3.3.1. When it does not lead to confusion, xm and xm (z) stand for xm,M and xm,M (z), respectively.
2.1.3.2 Filtering in a Polyphase Form Filtering a signal can be implemented in a polyphase form. Let h˜ m , m = ˜ and h˜ m (z) be their 0, . . . , M − 1, be the polyphase components of a filter h, z-transforms. We apply the time-reversed filter h˜ to a signal x. Then, the z-transform of the output signal y is ˜ −1 ) x(z) = y(z) = h(z
M−1
z m−n h˜ m (z −M )xn (z M )
m,n=0
=
M−1 r =0
z
−r
M−1
h˜ m (z
−M
)xm+r (z ) . M
m=0
Hence, it follows that z-transforms of the polyphase components yr,M of the output signal y are yr,M (z) =
M−1
h˜ m (1/z) xm+r (z), r = 0, . . . , M − 1.
m=0
Downsampling the filtered signal y by factor M means that only the zero polyphase component y0 = y0,M is retained, while the others are discarded:
16
2 Introduction: Digital Filters and Filter Banks
y0 [l] =
˜ − Ml] x[n] ⇐⇒ y0 (z) = h[n
n∈Z
M−1
h˜ m (1/z)xm (z)
(2.17)
m=0
⎞ x0 (z)
⎜ x1 (z) ⎟ ⎟. = h˜ 0 (1/z) h˜ 1 (1/z) · · · h˜ M−1 (1/z) · ⎜ ⎠ ⎝ ... x M−1 (z) ⎛
Using the relations of type we can express the application of a K-channel (2.17), ˜ = h˜ k , k = 1, . . . , K with the downsampling factor M to analysis filter bank H the signal x (see Eq. (2.8)) via matrix multiplication ⎛
⎞ ⎛ ⎞ y 0 (z) x0,M (z) ⎜ y 1 (z) ⎟ ⎜ x1,M (z) ⎟ ⎜ ⎟ ˜ ⎜ ⎟, ⎝ ... ⎠ = P(1/z) · ⎝ ... ⎠ K −1 x M−1,M (z) (z) y
(2.18)
where the K × M analysis polyphase matrix is ⎛ ˜0 h 0 (z) h˜ 01 (z) · · · 1 ⎜ h˜ 11 (z) · · · def ⎜ h˜ 0 (z) ˜ = ⎝ P(z) ... ... ... h˜ 0K −1 (z) h˜ 1K −1 (z) · · ·
⎞ h˜ 0M−1 (z) h˜ 1M−1 (z) ⎟ ⎟. ⎠ h˜ K −1 (z)
(2.19)
M−1
Here, h˜ km (z) denotes the z-transform of the m-th polyphase component of the filter h˜ k , k = 1, . . . , K , m = 0, . . . , M − 1. If filtering is applied to an upsampled signal y as in Eq. (2.7), then x(z) ˇ = h(z)y(z M ) =
M−1
h m,M (z)y(z M ).
m=0
Thus, the polyphase components of the output signal are xˇm (z) = h m (z)y(z), m = 0, . . . , M − 1.
(2.20)
Equation (2.20) allows to apply the synthesis filter bank H = hk , k = 1, . . . , K to the set of upsampled signals y k (see Eq. (2.9)) via matrix multiplication ⎞ ⎞ ⎛ 0 y (z) xˇ0 (z) ⎟ ⎜ xˇ1 (z) ⎟ ⎜ 1 ⎜ ⎟ = P(z) · ⎜ y (z) ⎟ , ⎝ ... ⎠ ⎝ ... ⎠ xˇ M−1 (z) y K −1 (z) ⎛
(2.21)
2.1 Filtering Decaying Signals
17
where the M × K synthesis polyphase matrix is ⎛
⎞ h 10 (z) · · · h 0K −1 (z) h 00 (z) h 11 (z) · · · h 1K −1 (z) ⎟ def ⎜ h 01 (z) ⎟. P(z) = ⎜ ⎝ ... ⎠ ... ... K −1 0 1 h M−1 (z) h M−1 (z) · · · h M−1 (z)
(2.22)
Here, h km (z) denotes the z-transform of the m-th polyphase component of the filter hk , and k = 1, . . . , K , m = 0, . . . , M − 1. If the relation ˜ −1 ) = I M , P(z) · P(z
(2.23)
where I M is the M × M identity matrix, holds then ⎞ ⎛ ⎞ x0,M (z) x0,M (z) ⎜ x1,M (z) ⎟ ⎜ x1,M (z) ⎟ ⎟=⎜ ⎟. ˜ P(z) · P(1/z) ·⎜ ⎠ ⎝ ⎠ ⎝ ... ... x M−1,M (z) x M−1,M (z) ⎛
˜ H of filter Thus, Eq. (2.23) is the condition for the analysis–synthesis pair H, banks to form a PR filter bank. Remark 2.1.1 Polyphase implementation of filter banks is computationally advantageous over direct implementation. In the analysis phase, the polyphase components xm of x, which are M times shorter than the original signal, are processed separately k of h ˜ k , which are simpler than the original filter. In by the polyphase components h˜ m the synthesis phase, instead of processing the M-fold upsampled signals y˜ k by the k. filters hk , the non-upsampled signals y˜ k are processed by simpler filters hm
2.1.4 Interpolating Filters If the zero polyphase component of a filter h is constant, i.e. h 0 (z) ≡ C, then the filter is called interpolating. In this case, Eq. (2.20) implies that the z-transform of the zero polyphase component of the output signal xˇ is xˇ0 (z) = C y(z). This means that x[k ˇ M] = C y[k], k ∈ Z. Example: Linear interpolation, M=2 FIR filter h, whose impulse response and transfer function are ⎧ ⎨ 1, if k = 0; h[k] = 1/2, if k = −1, 1; ⎩ 0, otherwise,
h(z) = 1 + z −1
1 + z2 , 2
18
2 Introduction: Digital Filters and Filter Banks
respectively, provides the linear interpolation of signals upsampled by factor 2 in the following way: x[k] ˇ =
h[k − 2l]y[l] ⇐⇒ x(z) ˇ = y(z 2 ) +
l∈Z
⇐⇒ x[k] =
z −1 + z y(z 2 ) 2
y[l], if k = 2l; (y[l] + y[l + 1])/2, if k = 2l + 1.
Example: Linear interpolation, M=3 FIR filter h, whose impulse response and transfer function are ⎧ ⎪ ⎪ 1, ⎨ 2/3, h[k] = ⎪ 1/3, ⎪ ⎩ 0,
if k = 0; if k = −1, 1; if k = −2, 2; otherwise,
h(z) = 1 + z −1
2 + z3 2z 3 + 1 + z −2 , 3 3
(2.24)
respectively, provides the linear interpolation of signals upsampled by factor 3: 2 + z3 2z 3 + 1 h[k − 3l]y[l] ⇐⇒ x(z) ˇ = 1 + z −1 + z −2 y(z 3 ) 3 3 l∈Z ⎧ if k = 3l; ⎨ y[l], ⇐⇒ x[k] = (2(y[l] + y[l + 1])/3, if k = 3l + 1; ⎩ ((y[l] + 2y[l + 1])/3, if k = 3l + 2. x[k] ˇ =
Interpolation of a signal upsampled by factor 3 is illustrated in Fig. 2.2. Example: Critically sampled PR filter bank, M=2 Assume that the transfer functions of a two-channels analysis filter bank with downsampling by factor 2 are 2 1 z − 1/z 2 −1 1 + z h (z) = √ − +z , 2 2 2 1 + z −2 −z + 2 − z −1 1 + z −1 = z −1 h˜ 1 (z) = √ − , √ 2 2 2 2 ˜0
and the transfer functions of the synthesis filter bank are z + 2 + z −1 1 + z2 1 = h 0 (z) = √ 1 + z −1 , √ 2 2 2 2 2 1 1 + z −2 1 −1 z − 1/z +z h (z) = √ − . 2 2 2
2.1 Filtering Decaying Signals
19
Fig. 2.2 Interpolation of a signal upsampled by factor 3
The filter h0 is interpolating. Its frequency response is √ ω e−iω + 2 + eiω hˆ 0 (ω) = = 2 cos2 , √ 2 2 2 whicht means that it possesses a zero phase. All the other filters in the filter bank have a linear phase. Example: Oversampled PR filter bank, M=2 Assume that the transfer functions of the three-channels analysis and synthesis filter banks with downsampling by factor 2 are z + 2 + z −1 h˜ 0 (z) = h 0 (z) = , √ 2 2 z −1 − z h˜ 1 (z) = h 1 (z) = 2 −z + 2 − z −1 h˜ 2 (z) = h 2 (z) = . √ 2 2
(2.25)
1 All the filters in the filter banks have a constant phase and, except for h˜ and h1 , they are interpolating.
20
2 Introduction: Digital Filters and Filter Banks
2.2 Bases and Frames Generated by Filter Banks Oversampled PR filter banks generate specific types of frames in the signals’ space, whereas critically-sampled PR filter banks generate biorthogonal bases. def Definition 2.1 A system Φ˜ = {φ˜ j } j∈Z of signals forms a frame of the signal space if there exist positive constants A and B such that for any signal x = {x[k]}k∈Z
Ax2 ≤
|x, φ˜ j |2 ≤ Bx2 .
j∈Z
If the frame bounds A and B are equal to each other then the frame is called tight. If the system Φ˜ is a frame then there exists another frame Φ = {φ i }i∈Z of the signals’ space such that any signal x can be expanded into the sum x = i∈Z x, φ˜ i φi . The analysis Φ˜ and the synthesis Φ frames can be interchanged. Together, they form a ˜ bi-frame. If the frame is tight then Φ can be chosen as Φ = cΦ. If the elements {φ˜ j } of the analysis frame Φ˜ are linearly independent then the synthesis frame Φ is unique, its elements {φ j } are linearly independent and the frames Φ˜ and Φ form a biorthogonal basis of the signal space. Otherwise, many synthesis frames can be associated with a given analysis frame. K −1 ˜ = h˜ k with downsampling by factor Assume that an analysis filter bank H k K −1k=0 M ≤ K and a synthesis filter bank H = h k=0 form a PR filter bank. Then, after ˜ and H to a signal x, we have subsequent application of the filter banks H def
x[l] =
K −1
h k [l − Mn] y k [n], l ∈ Z,
(2.26)
k=0 n∈Z
where y k [l] = h˜ k [n − Ml] x[n], k = 0, . . . , K − 1.
(2.27)
n∈Z
For k = 0, . . . , K − 1, we denote ϕ˜ k = {ϕ˜ k [l] = h˜ k [l]}l∈Z , ϕ k = {ϕ k [l] = h k [l]}l∈Z , def
def
where {h˜ k [l]} and {h k [l]} are the impulse responses of the filters h˜ k and hk , respectively. Then, Eqs. (2.26) and (2.27) can be rewritten as x=
K −1 k=0
def
xk , xk =
y k [n] ϕ k [· − Mn],
(2.28)
n∈Z
y k [n] = x, ϕ˜ k [· − Mn] , k = 0, . . . , K − 1.
(2.29)
2.2 Bases and Frames Generated by Filter Banks
21
A condition for Eqs. (2.28) and (2.29) to be a frame expansion of signals x is established in [2]. Following [2], we call a rational function stable if it does not have poles on the unit circle. K −1 ˜ = h˜ k ˜ Theorem 2.1 ([2]) A filter bank H , whose polyphase matrix P(z) conk=0 sists of stable rational functions, provides a frame expansion of signals if and only if there exists a matrix P(z) of stable rational functions, which is the left inverse of ˜ P(z) such that ˜ P(z) P(z) = cI, (2.30) where I is the identity matrix. K −1 ˜ ˜ = h˜ k , whose polyphase matrix P(z) conTheorem 2.2 ([2]) A filter bank H k=0 sists of stable rational functions, provides a tight frame expansion of signals if and only if ˜ −1 ) = cI, P˜ T (z) P(z (2.31) ˜ where P˜ T (z) is the transposed matrix P(z). def If the conditions of Theorem 2.1 are satisfied, then the system Φ˜ = {ϕ˜ k (·−Mn)}n∈Z , k = 0, . . . , K − 1, of M−sample translations of the signals ϕ˜ k forms an analysis def
frame of the signal space. The system Φ = {ϕ k (· − Mn)}n∈Z , k = 0, . . . , K − 1, of M−sample translations of the signals ϕ k forms a synthesis frame of the signal space. Together Φ˜ and Φ form a bi-frame. In a special case when the filter banks are critically sampled, that is K = M, the pair Φ˜ and Φ forms a biorthogonal basis. If the condition (2.31) is satisfied, then the synthesis filter bank can be chosen to be equal to the analysis one (up to a constant factor).
2.2.1 Examples of Filter Banks Implementation In this section we discuss, in details, two typical examples.
2.2.1.1 Example 1: Oversampled PR Filterbank with FIR Filters, M=2 Assume that the transfer functions of the three-channels filter banks with downsampling by factor 2 is given by Eq. (2.25) (Fig. 2.3): z + 2 + z −1 z −1 − z ˜ 2 h˜ 0 (z) = , h˜ 1 (z) = h (z) = h˜ 0 (−z). √ 2 2 2
(2.32)
22
2 Introduction: Digital Filters and Filter Banks
Fig. 2.3 Left frequency responses of the filters defined in Eq. (2.32). Right their impulse responses. 1 2 Top panels: FR and IR of the filter h˜ (band-pass), center panels FR and IR of the filter h˜ (high0 pass), bottom panels FR and IR of the filter h˜ (low-pass)
The polyphase matrix of the filter bank √ ⎞ ⎛√ 2 (1 + z)/ 2 1 ˜ 1−z √ ⎠ P(z) = ⎝ √0 2 2 −(1 + z)/ 2 0
consists of polynomials that, certainly, are stable. The low-pass h˜ and the high-pass 2 h˜ filters are interpolating. All the filters have a constant phase. The product ˜ −1 ) P˜ T (z) P(z √ ⎞ ⎛√ √ √ 2 (1 + 1/z)/ 2 1 2√ 0 2 √ 10 1 − 1/z √ ⎠ = · ⎝ √0 = . 01 4 (1 + z)/ 2 1 − z −(1 + z)/ 2 2 −(1 + 1/z)/ 2 According to Eq. (2.18), application of the analysis filter bank to a signal x provides the output signals: √ ⎞ ⎞ ⎛√ y 0 (z) 2 (1 + 1/z)/ 2 x0 (z) ⎠ ⎝ y 1 (z) ⎠ = 1 ⎝ 0 1 − 1/z √ · ⇐⇒ x1 (z) 2 √ y 2 (z) 2 −(1 + 1/z)/ 2 ⎛
√ y 0 [k] = (x[2k] + (x[2k − 1] + x[2k + 1])/2) 2, y 1 [k] = (x[2k + 1] − x[2k − 1])/2, √ y 2 [k] = (x[2k] + (x[2k − 1] + x[2k + 1])/2) 2.
We emphasize that the even and odd polyphase components of the input signal x are processed separately. To derive the output signals y0 and y2 , the even component
2.2 Bases and Frames Generated by Filter Banks
23
√ is simply divided by 2, while the odd component is processed by a moving average. When deriving the signal y1 , the even component is canceled, while the odd component is processed by a moving difference. According to Eq. (2.21), application of the synthesis filter bank to the signals yk , k = 0, 1, 2, provides the polyphase components of the input signal x: ⎛ 0 ⎞ √ y (z) 2√ 0 2 √ · ⎝ y 1 (z) ⎠ ⇐⇒ (1 + z)/ 2 1 − z −(1 + z)/ 2 y 2 (z) √ x[2k] = (y 0 [k] + y 2 [k])/ 2, √ x[2k + 1] = [(y 0 [k] + y 0 [k + 1] − y 2 [k] − y 2 [k + 1]) 2 + y 1 [k] − y 1 [k + 1]]/2.
xˆ0 (z) xˆ1 (z)
1 = 2
√
We emphasize that even and odd polyphase components of the signal x are derived separately. To derive the even component, we simply put together the output signals y0 and y2 . The odd component is derived by apparent arithmetic operations over moving averages and differences of the signals yk , k = 0, 1, 2.
2.2.1.2 Example 2: Oversampled PR Filterbank with IIR Filters, M=2 The transfer functions of a three-channel filter bank with downsampling by factor 2 are (z + 2 + z −1 )2 2z −1 (z − z −1 )2 h˜ 0 (z) = √ , h˜ 2 (z) = h˜ 0 (−z).
, h˜ 1 (z) = −2 z + 6 + z2 2 z −2 + 6 + z 2 (2.33) def The function q(z) All the three filters have a linear phase. Denote q(z) = z +6+1/z. √ has two negative real-valued roots r1 = −α, α = 3 − 2 2 ≈ 0.172, r2 = 1/r1 , which lie far away from the unit circle. Therefore, the polyphase matrix of the filter bank ⎞ ⎛ 1 √ 4(1 + z)/q(z) 1 ˜ P(z) = √ ⎝ 0 2(z − 2 + 1/z)/q(z) ⎠ 2 1 −4(1 + z)/q(z) 0 2 consists of stable rational functions. The low-pass h˜ and the high-pass h˜ filters ˜ −1 ) = I, therefore the filter bank generates are interpolating. The product P˜ T (z) P(z a tight frame in the signal space. Figure 2.4 displays the impulse and frequency ˜k responses of the filters h defined in Eq. (2.33). We observe that the impulse responses ˜ h[n] are symmetric. Their supports are infinite but they decay rapidly (∼ 0.172n 0 2 as n grows). Note that the frequency responses of the filters h˜ and h˜ mirror each other.
24
2 Introduction: Digital Filters and Filter Banks
Fig. 2.4 Left frequency responses of the filters defined in Eq. (2.33). Right: their impulse responses. 1 2 Top panels FR and IR of the filter h˜ (band-pass), center panels FR and IR of the filter h˜ (high-pass), 0 bottom panels FR and IR of the filter h˜ (low-pass)
Aplication of the analysis filter bank to the signal x provides the output signals: ⎛
⎞ ⎞ ⎛ 1 √ 4(1 + 1/z)/q(z) y 0 (z) 1 ⎝ y 1 (z) ⎠ = √ ⎝ 0 2(z − 2 + 1/z)/q(z) ⎠ · x0 (z) ⇐⇒ x1 (z) 2 1 −4(1 + 1/z)/q(z) y 2 (z) 1 1 + 1/z y 0/2 (z) = √ x0 (z) ± 4 x1 (z) , z + 6 + 1/z 2 √ z − 2 + 1/z x1 (z). y 1 (z) = 2 z + 6 + 1/z While the even polyphase component of x either remains intact (up to a constant factor) or becomes discarded, the odd component is subjected to filtering by filters, whose transfer functions are rational functions. The denominator q(z) = z + 6 + 1/z of these rational functions is invariant about inversion √ z → 1/z. It has two simple real-valued roots r1 = α, r2 = 1/r1 , where α = 3 − 2 2 ≈ 0.172 < 1. Thus, q(z) =
1 (1 + αz)(1 + αz −1 ), 0 < α < 1. α
(2.34)
Many filters, which are to be designed and utilized in the subsequent sections can be factorized into products of elementary rational functions, whose denominators have a structure similar to Eq. (2.34). Therefore, we will discuss in Sect. 2.2.2 the implementation of such IIR filters f, whose transfer function is f (z) =
a+z , 0 < α < 1. (1 + αz)(1 + αz −1 )
2.2 Bases and Frames Generated by Filter Banks
25
2.2.2 Implementation of Causal—Anticausal IIR Filters with a Rational Transfer Function Assume that the transfer function of a filter f is f (z) =
a+z , 0 < α < 1. (1 + αz)(1 + αz −1 )
(2.35)
and y = f x ⇐⇒ y(z) = f (z) x(z),
(2.36)
where f = { f [k]} and f (z) is defined in Eq. (2.35). FIR approximation of IIR filters The function f (z) defined in Eq. (2.35) can be expanded into a Laurent series, which converges on the unit circle z = eiω . For this, we denote b = (a − α)/(1 − α 2 ), c = (1 − aα)/(1 − α 2 ) and represent f (z) as the sum ∞ ∞ −α k b cz f (z) = + +c =b (−αz)k . 1 + αz −1 1 + αz z k=0
(2.37)
k=1
Since 0 < α < 1, the terms in the series decay exponentially on the unit circle. Therefore, the series can be truncated to f (z) ≈
M M −α k b +c (−αz)k , z k=0
k=1
where M is chosen in a way that the tail of the series that satisfies ∞ −α k (|b| + |c|)α M+1 b + c (−αz)k < z 1−α k=M+1
becomes negligible. Then, the filtering is implemented via the convolution y[l] ≈ b
M k=0
(−α)k x[l − k] (causal) + c
M
(−α)k x[l + k] (anticausal). (2.38)
k=1
Because of presence of anticausal component in (2.38), processing is implemented via a moving average with the delay M. In practice, signals have a finite duration x = {x[k]} , K 0 ≥ k ≥ K 1 . Thus, in order to derive the values y[l], l = K 0 , . . . , K 0 + M, the input signal x is extended beyond the initial value x[K 0 ]. Different ways for the extension are discussed in [1]. Most common in signal and, especially, in image processing is mirroring around the
26
2 Introduction: Digital Filters and Filter Banks
point K 0 − 1/2. To derive the values y[l], l = K 1 − M + 1, . . . , K 1 , we mirror the input signal x around the point K 1 + 1/2. Thus, ⎧ x[K 0 + l − 1] ⎪ ⎪ ⎨ x[k], x[k] ˇ = x[K 1 − l + 1] ⎪ ⎪ ⎩ 0
if k = K 0 − l, l = 1, . . . , M; if K 0 ≥ k ≥ K 1 ; if k = K 1 + l, l = 1, . . . , M; otherwise.
(2.39)
Parallel recursive filtering Denote def
y1 (z) =
b x(z), 1 + αz −1
def
y2 (z) =
cz x(z). 1 + αz
(2.40)
Then y1 (z)(1 + αz −1 ) = b x(z) ⇐⇒ y1 [k] = b x[k] − α y1 [k − 1], (2.41) y2 (z)(1 + αz) = c zx(z) ⇐⇒ y2 [k] = c x[k + 1] − α y1 [k + 1]. (2.42) We are interested in the values y[k] = y1 [k] + y2 [k], K 0 ≥ k ≥ K 1 . To start the computations in Eqs. (2.40) and (2.41), we need to know the values y1 [K 1 ] and y2 [K 2 ], respectively. These values can be evaluated using Eqs. (2.38) and (2.39) such that y1 [K 0 ] ≈ b
M
ˇ 0 − k], (−α)k x[K
k=0
y2 [K 1 ] ≈ c
M
ˇ 1 + k]. (−α)k x[K
(2.43)
k=1
Then, the values y1 [k], k > K 1 are calculated by causal (left–to–right) recursion as in Eq. (2.41), while the values y2 [k], k > K 1 are calculated by anticausal (right– to–left) recursion as in Eq. (2.42). Cascade recursive filtering For this, the filter f is represented as a cascade of simple filters which are being implemented subsequently as y = f x = f3 f2 f1 x, where 1 1 . , f 3 (z) = f 1 (z) = a + z, f 2 (z) = 1 + αz −1 1 + αz The cascade algorithm is implemented by the following steps: 1. Apply FIR filtering: def
x1 = f1 x ⇐⇒ x1 [k] = ax[k] + x[k + 1], x1 [K 1 ] = (1 + a) x[K 1 ]. 2. Apply the causal recursion def
x2 = f2 x1 ⇐⇒ x2 [k] = x1 [k]−α x2 [k−1], x2 [K 0 ] ≈
M k=0
(−α)k x1 [K 0 +k].
2.2 Bases and Frames Generated by Filter Banks
27
3. Apply the anticausal recursion def
y = f3 x2 ⇐⇒ y[k] = x2 [k] − α y[k + 1],
y[K 1 ] ≈
M
(−α)k x2 [K 1 − k].
k=0
In a more general case, the transfer function can be represented as a product of the elementary blocks: f (z) =
P(z) (1 + α1 z)(1 + α1 z −1 ) · . . . · (1 + αm z)(1 + αm z −1 )
,
(2.44)
where P(z) is a Laurent polynomial and α1 , α2 , . . . , αm are positive numbers smaller than 1. Then, the filter f can be implemented via a cascade of successive causal – anticausal recursions preceded by the application of FIR filtering with the transfer function P(z). Another option is to split f (z) into a sum of elementary fractions f (z) = Q(z) +
bm c1 z cm z b1 + ··· + , + + 1 + α1 z −1 1 + α1 z 1 + αm z −1 1 + αm z
where Q(z) is a Laurent polynomial, and implement the elementary IIR filters in parallel.
2.3 Discrete-Time Butterworth Filters The Butterworth filters are widely used in signal processing [3]. Their characteristic feature is the maximal flatness of the magnitude response in their passband. The magnitude response is monotonic in the passband and in the stopband. When the orders of the filters increase, the shape of their magnitude responses tend to rectangles. In Chap. 12, we discluss a close relation between half-band Butterworth filters and discrete splines. Here, we briefly outline some properties of these filters. r (ω) of the low- and r (ω) and F The magnitude-squared frequency responses F l h high-pass digital Butterworth filters of order r , respectively, are given by | Fˆlr (ω)|2 =
1 , 1 + ((tan ω/2)/(tan ωc /2))2r
lr (ω)|2 = | Fˆhr (ω)|2 = 1 − | F
1 , 1 + ((tan ω/2)/(tan ωc /2))2r
where ωc is the so-called cutoff frequency.
28
2 Introduction: Digital Filters and Filter Banks
We are interested in the half-band Butterworth filters where ωc = π/2. In this case 1 cos2r ω/2 = , (2.45) 2r 1 + tan ω/2 cos2r ω/2 + sin2r ω/2 1 sin2r ω/2 lr (ω)|2 = | Fˆhr (ω)|2 = 1 − | F = . 1 + cot 2r ω/2 cos2r ω/2 + sin2r ω/2
lr (ω)|2 = |F
If z = eiω then we obtain the magnitude-squared transfer functions of the low-pass def
and high-pass filters. The notation ρ(z) = z + 2 + z −1 will be repeatedly used. The transfer functions are
2r 1 + z −1 ρ r (z) = r =
2r
2r , (2.46) ρ (z) + ρ r (−z) 1 + z −1 + (−1)r 1 − z −1
2r (−1)r 1 − z −1 ρ r (−z) r 2 = |Fh (z)| = r
2r
2r . ρ (z) + ρ r (−z) 1 + z −1 + (−1)r 1 − z −1 |Flr (z)|2
Figure 2.5, which is produced by the MATLAB code plot_buttN, displays the magnitude-squared frequency responses Fˆlr (ω) and Fˆhr (ω) of the half-band lowand high-pass Butterworth filters of orders r = 1, 2, 5. These frequency responses, especially of the order -five filters, are flat within their pass-band, while practically vanish at the stop-band.
Fig. 2.5 The magnitude-squared frequency responses Fˆlr (ω) (solid lines) and Fˆhr (ω) (dashed lines) of the low- and high-pass Butterworth filters of orders r = 1, 2, 5
2.3 Discrete-Time Butterworth Filters
29
The following property of the denominators def
Dr (z) = (z + 1)2r + (−1)r (z − 1)2r
(2.47)
of the rational functions |Flr (z)|2 and |Fhr (z)|2 is important for the constructions in Chap. 8. Proposition 2.3 If the filter’s order is r = 2 p + 1, then Dr (z) = 4r (α1r α2r . . . αrp )−1 z r
p
(1 + αkr z −2 )(1 + αkr z 2 ),
(2.48)
k=1
where αkr = cot 2
( p + k)π < 1, k = 1, . . . , p. 2r
If r = 2 p then Dr (z) = 2(α1r α2r . . . αrp )−1 z r
p
(1 + αkr z −2 )(1 + αkr z 2 ),
(2.49)
k=1
where αkr = cot 2
(2 p + 2k − 1)π < 1, k = 1, . . . , p. 4r
Proof Assume that r = 2 p + 1. The equation Dr (z) = 0 is equivalent to (z + 1)2r = (z − 1)2r . The roots of this latter equation can be found from the relation z k + 1 = e2πik/2r (z k − 1), k = 1, 2, . . . , 2r − 1. Consequently, zk =
kπ e2πik/2r + 1 = −i cot , k = 1, 2, . . . , 2r − 1. 2πik/2r e −1 2r
The points xk = cot Therefore, Dr (z) = 4r z
kπ 2r
2p
(2.50)
are symmetric about zero and x2 p+1−k = xr −k = 1/xk .
(z 2 + xk2 ) = 4r z
k=1
p
(z 2 + αkr )(z 2 + (αkr )−1 ),
(2.51)
k=1
where αkr = x 2p+k . Hence, Eq. (2.48) follows. When r = 2 p, the roots are derived from the equation z k +1 = e2πi(k−1/2)/2r (z k − 1). Thus, (2k + 1)r π z k = −i cot , k = 0, 1, . . . , 2r − 1. (2.52) 4r Hence, Eq. (2.49) follows.
30
2 Introduction: Digital Filters and Filter Banks
References 1. C.M. Brislawn, Classification of nonexpansive symmetric extension transforms for multirate filter banks. Appl. Comput. Harmon. Anal. 3(4), 337–357 (1996) 2. Z. Cvetkovi´c, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245– 1255 (1998) 3. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010) 4. A. Papoulis, Signal Analysis (McGraw-Hill, New York, 1977) 5. P.P. Vaidyanathan, Multirate Systems and Filter Banks (Prentice Hall, Englewood Cliffs, 1993)
Chapter 3
Mixed Convolutions and Zak Transforms
Abstract In this chapter we introduce the mixed continuous–discrete and discrete– discrete convolutions. Important special cases of such convolutions are the polynomial and discrete splines, respectively. The Zak transforms, which are introduced in the chapter, provide integral representation of signals, which, in the following chapters, serves as a tool for the design of splines and spline-wavelets and operations over them. The exponential splines, which are the Zak transforms of polynomial and discrete B-splines are introduced. Explicit formulas for the characteristic functions of splines’ spaces are derived.
3.1 Mixed Discrete-Continuous Convolution and Zak Transform 3.1.1 Mixed Discrete-Continuous Convolution def
Assume that f (t) is a continuous-time signal and q = {q[k]} , k ∈ Z, is a discrete time signal. The series def q f (t) = q[l] f (t − l) (3.1) l∈Z
is called the mixed discrete-continuous convolution (MDCC). Proposition 3.1 If f (t) is a continuous function that belongs to L 2
L 1 and q ∈ l1 [Z], then g(t) = q f (t) is a continuous function and belongs to L 2 L 1 . def
Proof The entries of the series in Eq. (3.1) satisfy |q[l] f (t − l)| < max | f (t)| |q[l]|. t∈R
The series l∈Z |q[l]| converges. Then, the series l∈Z q[l] f (t/ h − l) converges uniformly and its sum g(t) is a continuous function. Due to the uniform convergence of the series, the norm satisfies
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_3
31
32
3 Mixed Convolutions and Zak Transforms
g1 =
∞ ∞ |q[l] f (t − l)| dt = q[l] f (t − l) | f (t)|dt |q[l]| < ∞. dt ≤ −∞ −∞ −∞ ∞
l∈Z
l∈Z
l∈Z
Similarly, 2 ∞ 2 g2 = q[l] f (t − l) dt ≤ | f (t)|2 dt |q[l]|2 < ∞. −∞ −∞
∞
l∈Z
l∈Z
Thus, g(t) is a continuous-time signal. Let h be a positive number. Denote by Mh [ f ] the subspace of the continuoustime signals’ space, which consists of mixed convolutions of different discrete-time signals q with the continuous–time signal f (t) in the following way g ∈ Mh [ f ] ⇐⇒ g(t) =
q[l] f
l∈Z
t −l . h
(3.2)
The signal f (t) is called the generator of Mh [ f ]. Remark 3.1.1 If a signal g(t) belongs to the space Mh [ f ] then the same is true for all its “h×integer” shifts g(t + hd), d ∈ Z. Thus, Mh [ f ] is a shift-invariant space ([7]).
3.1.2 Zak Transform of Continuous-Time Signals We introduce a transform of signals which perfectly fits the MDCC. Assume that a signal f (t) has a piece-wise continuous second derivative, which belongs to L 1 . Then, its Fourier transform fˆ(ω) decays as at least |ω|−2 as |ω| −→ ∞. Thus, the subsequent formulas are justifiable. The shift f (t − k) is represented by f (t − k) = =
1 2π 1 2π
∞
−∞ 2π
1 2π ˆ fˆ(ω) eiω(t−k) dω = f (ω + 2πl) ei(ω+2πl)(t−k) dω 2π 0 l∈Z
Z [ f ](ω, t) e−iω k dω,
(3.3)
0
where def
Z [ f ](ω, t) =
l∈Z
fˆ (ω + 2πl) ei(ω+2πl)t = eiωt
fˆ (ω + 2πl) e2πilt . (3.4)
l∈Z
The function Z [ f ](ω, t) of two variables is 2π -periodic with respect to the variable ω for any fixed value t. Comparing Eqs. (3.3) and (1.14), we observe that
3.1 Mixed Discrete-Continuous Convolution and Zak Transform
33
2π { f (t − k)} , k ∈ Z, are the Fourier coefficients of the function Z [ f ](ω, t). Thus, the expansion of the function i Z [ f ](ω, t) nto the Fourier series can be rep
resented as a mixed convolution of f (t) with the sequence e−iωk in the following way Z [ f ](ω, t) = eiωk f (t − k) = e−iωk f (t + k). (3.5) k∈Z
k∈Z
Definition 3.1 The function Z [ f ](ω, t), which is defined by Eq. (3.4) (or equivalently, by Eq. (3.5)) is called the Zak transform of the signal f (t) ([2, 17]). By combining different representations (Eqs. (3.4) and (3.5)) of the Zak transform, we get the following relation Z [ f ](ω, t) =
e−iωk f (t + k) =
k∈Z
fˆ (ω + 2π l) ei(ω+2πl)t .
(3.6)
l∈Z
Equation (3.6) can be viewed as a generalized Poisson Summation Formula (see [6, 12]), for example). It implies the following well-known particular cases: Z [ f ](ω, 0) =
e−iωk f (k) =
k∈Z
Z [ f ](0, t) =
fˆ (ω + 2π l) ,
(3.7)
fˆ (2π l) e2πilt .
(3.8)
l∈Z
f (t + k) =
k∈Z
l∈Z
Using the scaling property (1.5) of the Fourier transform, Eq. (3.8) is extended to k∈Z
f (t + T k) =
1 ˆ 2π l e2πilt/T . f T T
(3.9)
l∈Z
The function f˜T (t) = k∈Z f (t +T k) is T −periodic and Eq. (3.9) can be viewed as its Fourier expansion (compare with Eq. (1.14)). Thus, Eq. (3.9) implies, in particular, the relation between the Fourier coefficients of the T −periodic signal f˜T (t) and the Fourier transform of the signal f : 2π l ˜ ˆ . cl ( f T ) = f T
(3.10)
It is seen from Eq. (3.5) that the hd–shift of a signal f (t), where d is an integer, results in multiplication of its Zak transform: Z [ f ](ω, t + hd) = eiωd Z [ f ](ω, t),
Z [ f ](ω, hd) = eiωd Z [ f ](ω, 0), d ∈ Z. (3.11)
34
3 Mixed Convolutions and Zak Transforms
Equation (3.3), which expresses a signal via the Zak transform, provides an integral representation for signals from the space Mh [ f ]. def
g(t) =
k∈Z
=
1 2π
2π 1 t e−iω k dω q[k] Z [ f ] ω, (3.12) 2π h 0 k∈Z 2π 1 t t ˆ dω. Z [ f ] ω, q[k]e−iω k dω = q(ω)Z [ f ] ω, h 2π 0 h
q[k] f (t/ h − k) = 0
2π
k∈Z
Proposition 3.2 Assume that the function Z [ f ](ω, 0) = k∈Z e−iωk f (k) does not vanish on the real axis. Then, any discrete-time signal x can be uniquely interpolated by a function g(t) ∈ Mh [ f ], such that g(hk) = x[k], k ∈ Z. Proof Let g(t) = l∈Z q[l] f (t/ h − l). Then, g(hk) = l∈Z q[l] f ((k − l)) is the discrete convolution of the discrete-time signal q with the sampled signal f (t). By the application of the DTFT to both parts of the relation g(hk) = x[k], k ∈ Z, and due to Eqs. (1.26) and (1.22), we get the following relation ˆ q(ω)
ˆ e−iωk f (k) = xˆ (ω) =⇒ q(ω) =
k∈Z
q[k] =
1 2π
2π
xˆ (ω) , Z [ f ](ω, 0)
(3.13)
q(ω) ˆ eiω k dω.
0
Corollary 3.1 If the function Z [ f ](ω, 0) = k∈Z e−iωk f (k) does not vanish on the real axis, then Eqs. (3.13) establish a one-to-one correspondence between Mh [ f ] and the space of discrete-time signals. The functions { f (t/ h − l)} , l ∈ Z, are linearly independent and, consequently, form a basis for M [ f ]. In addition, the signals def fl = { fl [k]} , fl [k] = { f (k − l)} , k, l ∈ Z, form a basis for the space of discrete-time signals. Proof Assume that the functions { f (t/ h −l)} , l ∈ Z, are linearly dependent. Then, there exists a combination G(t) = l∈Z q[l] f (t/ h − l) ≡ 0. The function G(t) interpolates the signal consisting of zeros. It follows from Eqs. (3.13) that all the coefficients q[l] = 0. In addition, any signal x can be represented by x[k] = l∈Z q[l] f (k − l), that is x = l∈Z q[l]fl , where the coordinates {q[l]} are determined by Eqs. (3.13). def Definition 3.2 The function F(ω) = Z [ f ](ω, 0) = k∈Z e−iωk f (k) is called the characteristic function of the shift-invariant space Mh [ f ].
3.2 A Leading Example: Polynomial Splines
35
3.2 A Leading Example: Polynomial Splines Definition 3.3 A polynomial spline S(t) of order p is a function that consists of pieces of polynomials of degree p − 1, which are linked to each other at the nodes {tk } , k ∈ Z, in such a way that S(t) is continuous together with its derivatives up to the order p − 2 (S(t) ∈ C p−2 ). Unless the opposite is specified, we assume that the spline’s nodes are equidistant, such that tk+1 − tk = h, for all k.
3.2.1 B-Splines The centered B-spline of first order is defined by
B (t) = 1
1, if t ∈ [−1/2, 1/2]; 0, otherwise.
Its Fourier transform is ∞ sin ω/2 1 −iω t 1 ˆ = sinc(ω/2π ). e B (t) dt = B (ω) = ω/2 −∞
(3.14)
The centered B-spline of order p is defined via the iterated convolution B p (t) = B p−1 (t) ∗ B 1 (t) p ≥ 2. Due to Eq. (1.7), its Fourier transform becomes Bˆ p (ω) =
sin ω/2 ω/2
p = sinc(ω/2π ) p .
It follows from the definition of B-splines that the convolution of two B-splines B p B q (t) = B p+q (t) is again a B-spline. The B-spline of order p is supported on the interval (− p/2, p/2). It is positive within its support and symmetric about zero. The B-spline B p (t) consists of pieces of polynomials of degree p − 1 that are linked to each other at the nodes such that B p (t) ∈ C p−2 . Nodes of B-splines of even and odd orders are located at points {k} and {(k + 1)/2}, k ∈ Z, respectively. There exists an explicit expression for the B-spline: B p (t) =
p p−1 p p 1 def t, if t ≥ 0; t + −k (−1) p , t+ = 0, otherwise. k ( p − 1)! 2 + k=0 (3.15)
36
3 Mixed Convolutions and Zak Transforms
The MATLAB function b_splN.m computes values of B-splines of any order. Denote by p p p def 1 p f t +h δh [ f ] = p (−1) p −k k h 2 k=0
the p-th central divided difference of the function f (t). Then B (t) = p
p δ1
p−1 t+ . ( p − 1)!
Figures 3.1 and 3.2, which are produced by the MATLAB code bsplsN.m, display the B-splines of different orders and their Fourier transforms, respectively. Note that the spectrum of the third order B-spline has negative values, unlike the spectra of even-order B-splines. Remark 3.2.1 Visually, the B-spline curves tend to Gaussian when the spline order increases. It is proved in [14] that
lim
p→+∞
1 p p p B t = √ exp(−t 2 /2). 12 12 2π
Figure 3.3 (MATLAB code bsplsN.m) displays the B-spline B 12 (t} of twelfth order and the Gaussian curve g(t) = (2π )−1/2 exp(−t 2 /2). We observe that the curves are hardly distinguishable.
Fig. 3.1 B-splines of orders 2 (piecewise linear), 3, 4 and 8
3.2 A Leading Example: Polynomial Splines
37
Fig. 3.2 Fourier spectra of the B-splines of orders 2, 3, 4 and 8
Fig. 3.3 Solid line B-splines of order 12. Dotted line Gaussian curve
3.2.2 Spline Spaces The B-splines generate the shift-invariant spaces denoted by p Sh : t p t = −k , q[k] B S (t) ∈ Sh ⇐⇒ S (t) = q B h h p
p
p
p
k∈Z
(3.16)
38
3 Mixed Convolutions and Zak Transforms
Table 3.1 Samples of the B-splines B p (t) at grid points k -4 -3 -2 -1 0 B 2 (k) B 3 (k) × 8 B 4 (k) × 6 B 5 (k) × 384 B 6 (k) × 120 B 7 (k) × 26 6! B 8 (k) × 7! B 9 (k) × 28 7!
0 0 0 0 0 0 0 1
0 0 0 0 0 1 1 6552
0 0 0 1 1 722 120 331610
0 1 1 76 26 10543 1191 2485288
1 6 4 230 66 23548 2416 4675014
1
2
3
4
0 1 1 76 26 10543 1191 2485288
0 0 0 1 1 722 120 331610
0 0 0 0 0 1 1 6552
0 0 0 0 0 0 0 1
where q are discrete- time signals. Obviously, S p (t) ∈ p Sh are the splines of order p, whose nodes are located at points {hk} when p is even and at points {(k +1/2)h}, k ∈ Z, when p is odd. The Zak transform of the B-spline is def
ζ p (ω, t) = Z [B p ](ω, t) = =
eiωk B p (t − k)
k∈Z
ei(ω+2πl)t
l∈Z
sin(ω + 2πl)/2 (ω + 2πl)/2
(3.17)
p .
Due to compact supports of B-splines, the first series in Eq. (3.17) converges for all real ω and t; thus ζ p (ω, t) is a spline of order p. The second series in (3.17) converges as well. Schoenberg in [10] refers to the splines S(t) = k∈Z s k B p (t − k) as exponential splines. In that sense, ζ p (ω, t) is an exponential spline, where s = eiω . Thus, we refer to the splines ζ p (ω, t) as the exponential splines. Table 3.1 provides values of B-splines B p (t) of orders 2 to 9 at grid points. The samples of higher order splines were computed by the MATLAB function bspuvN.m. They are gathered in the file BSUV.mat. Proposition 3.3 The following relations for the B-splines of any order p
∞
−∞
B p (τ ) dτ =
B p (t − k) ≡ 1
k∈Z
hold. Proof Due to Eq. (3.8), the sum is k∈Z
B p (t − k) =
l∈Z
Bˆ p (2π l) e2πilt =
sin π l p l∈Z
πl
e2πilt .
3.2 A Leading Example: Polynomial Splines
39
All the terms in the right-hand series are zero, except for the term with l = 0, which is equal to 1. Thus,
B p (t − k) = Bˆ p (0) =
k∈Z
∞ −∞
B p (τ ) dτ = 1.
The characteristic function of the space p Sh is def
u (ω) = ζ (ω, 0) = p
p
k∈Z
e
−iωk
sin(ω/2 + πl) p B (k) = . (ω/2 + πl p
(3.18)
l∈Z
Note that u p (ω) is the DTFT of the sampled B-spline B p (t). B-splines are compactly supported and symmetric about zero. Therefore, the functions u p (ω) are cosine polynomials u p (ω) = Pr (cos ω/2) of degree r = [( p + 1)/2] with real coefficients that have only even-degree terms. They are 2π -periodic and symmetric about zero. The MATLAB function char_fun.m computes the functions u p (ω) for any spline of order p. Examples of characteristic functions: Denote y = cos ω/2. Then, by using Eq. (3.18), we have 1 + y2 1 + 2y 2 , u 4 (ω) = . 2 3 5 + 18y 2 + y 4 2 + 11y 2 + 2y 4 u 5 (ω) = , u 6 (ω) = , (3.19) 24 15 y 6 + 179y 4 + 479y 2 + 61 8 16y 6 + 4740y 4 − 4635y 2 + 1139 , u (ω) = . u 7 (ω) = 720 1260 u 2 (ω) = 1, u 3 (ω) =
Figure 3.4, which is produced by the MATLAB code char_plotN.m, displays the characteristic functions of several spline spaces. Obviously, in all the above examples, the functions u p (ω) are positive. This is true for splines of any order. Proposition 3.4 ([9]) For any natural p, the functions u p (ω) = Pr (cos2 ω/2), r = [( p − 1)/2], are strictly positive on the real axis. Their maximal values, which are equal to 1, are achieved at points {2π n} , n ∈ Z, while the minimal values are achieved at points {π(2n + 1)} , n ∈ Z. All the roots of the polynomial = Pr (y) are simple and negative. Corollary 3.2 The shifts of the B-spline {B p (t/ h − k)} , k ∈ Z p ∈ N, form a basis of the space p Sh . Any signal x = {x[k]} , k ∈ Z can be uniquely interpolated by a spline from the space p Sh such that S(hk) = x[k].
40
3 Mixed Convolutions and Zak Transforms
Fig. 3.4 Characteristic functions of the B-splines of orders 2, 3, 6 and 10
Remark 3.2.2 Even growing splines with equidistant nodes can be uniquely represented by the shifts of the B-spline {B p (t/ h − k)} , k ∈ Z. This fact was established in [8] (see also [10]).
3.3 Discrete-Discrete Convolution and Zak Transform Let f = { f [k]} and q = {q[k]} be discrete–time signals and let M be a natural number. The signal def
g = q fM =
g[k] =
q[l] f [k − Ml] , k ∈ Z,
(3.20)
l∈Z
is referred to as the M-fold mixed discrete-discrete convolution. When f and q belong to l1 , the series converges for any k. Denote by M [f M ] the subspace of the discretetime signals space, which consists of M-fold mixed convolutions of different signals q with the signal f. Formally, g ∈ M [f M ] ⇐⇒ g[k] =
q[l] f [k − Ml].
l∈Z
The signal f is called the generator of the space M [f M ].
3.3 Discrete-Discrete Convolution and Zak Transform
41
The mixed convolution defined by Eq. (3.20) is a regular discrete convolution of the signal f with the sequence q that is upsampled by factor M. That is
˜ = q f M = q˜ f, q[k] Let fˆ(ω) =
l∈Z e
f [l] be the DTFT of the signal f. Then,
2π M ω 1 dω eiω(k/M−l) fˆ 2π M 0 M 0 M−1 1 2π i(ω+2π m) (k/M−l) ˆ ω + 2π m = e f dω. 2π M M 0
f [k − Ml] =
1 2π
−iωl
q[l], if k = l M; 0, otherwise.
2π
eiω(k−Ml) fˆ(ω) dω =
m=0
Thus, the shifted signal can be expressed via the integral f [k − Ml] = where def
Z [f M ](ω)[k] =
1 2π
2π
e−iω l Z [f M ](ω)[k] dω.
(3.21)
0
M−1 1 i(ω+2π m)k/M ˆ ω + 2π m . e f M M
(3.22)
m=0
In particular, we have f [k] =
1 2π
2π
Z [f M ](ω)[k] dω.
(3.23)
0
It is seen from Eq. (3.21) that f [k − Ml] is a Fourier coefficient of the 2π -periodic function Z [f M ](ω)[k]. Therefore, Z [f M ](ω)[k] =
eiωl f [k − Ml] =
l∈Z
e−iωl f [k + Ml],
(3.24)
l∈Z
which is an M-fold mixed
discrete-discrete convolution of a signal f with the exponential sequence eiω l . Definition 3.4 The 2π -periodic function Z [f M ](ω)[k] defined by Eq. (3.22) (or by Eq. (3.24)) is referred to as the M-fold discrete Zak transform. Comparing the different representations (3.22) and (3.24) of the Zak transform, we get a relation similar to the Poisson Summation Formula in Eq. (3.6) l∈Z
e−iωl f [k + Ml] =
M−1 1 i(ω+2π m)k/M ˆ ω + 2π m . e f M M m=0
(3.25)
42
3 Mixed Convolutions and Zak Transforms
Remark 3.3.1 Note that Eq. (3.25) provides the DTFTs of the polyphase components of the signal f. Two special cases of Eq. (3.25) are Z [f M ](ω)[0] =
e
−iωl
l∈Z
Z [f M ](0)[k] =
M−1 1 ˆ ω + 2π m , f [Ml] = f M M
(3.26)
m=0
f [k + Ml] =
l∈Z
M−1 1 2πimk/M ˆ 2π m e f . (3.27) M M m=0
The function Z [f M ](ω)[0] is called the characteristic function of the space M [f M ]. Remark 3.3.2 Equation (3.27) implies, in particular, that the M-periodic sequence def fˆ (2π m/M) is the DFT of the M-periodic sequence Φ[k] = l∈Z f [k + Ml] : 2π m ˆ f = M
M/2−1
ˆ e−2πimk/M Φ[k] = Φ[m].
(3.28)
k=−M/2
Assume that a signal g belongs to the space M [f M ]. Then, g[k] =
l∈Z
1 = 2π
2π 1 q[l] e−iωl Z [f M ](ω)[k] dω (3.29) 2π 0 l∈Z 2π 1 −iωl Z [f M ](ω)[k] dω e q[l] = q(ω) ˆ Z [f M ](ω)[k] dω. 2π 0
q[l] f [k − Ml] =
2π 0
l∈Z
Conditions for the interpolation of signals by elements from M [f M ] are similar to the discrete-continuous case. Proposition 3.5 Assume that the characteristic function Z [f M ](ω)[0] does not vanish on the real axis. Then, any discrete-time signal x can be uniquely interpolated by an element g ∈ M [f M ] such that g[Mn] = x[n], n ∈ Z, where g = {g[k]} , g[k] =
1 2π
2π 0
x(ω) ˆ Z [f M ](ω)[k] dω. Z [f M ](ω)[0]
(3.30)
Corollary 3.3 If the function Z [f M ](ω)[0] does not vanish on the real axis then Eq. (3.30) establishes a one-to-one correspondence between M [f M ] and the space of discrete-time signals. The signals { f [k − Ml]} , l ∈ Z, are linearly independent and form a basis for the space M [f M ].
3.3 Discrete-Discrete Convolution and Zak Transform
43
3.3.1 A Leading Example: Discrete Splines Let K be a natural number. The signal
1/K , if k = 0, ...K − 1; ˇb1K = bˇ 1K [k] , bˇ 1K [k] def = 0, otherwise is called the discrete B-spline of the first order. The integer K is called its span. Discrete B-splines of higher orders are defined via iterated discrete convolution by p def 1 p−1 p bˇ K = bˇ K bˇ K . The B-spline bˇ K is a finite length signalthat is supported on the set 0, ..., p(K − 1). Remark 3.3.3 The term discrete B-spline is used in literature for designation of different objects. For example, in [1, 13, 15] the discrete B-spline is understood as a sampled polynomial B-spline. Our definition of the discrete B-spline is similar to the definitions in [4, 11, 16]. Denote by [r ] k+ =
def
k(k + 1)...(k + r − 1), if k = 0, 1, ...; 0, otherwise,
(3.31)
the truncated factorial polynomial. p Proposition 3.6 ([3, 5]) The discrete B-spline bˇ K of order p is the piecewise sampled polynomial of degree p − 1 p bˇ K [k] =
p 1 [ p−1] p p (k + 1 − l K )+ , (−1) l K p ( p − 1)!
(3.32)
l=0
whose breakpoints (nodes) are {l K } , l ∈ Z. It is positive within its support and symmetric about p(K − 1)/2. The discrete B-spline bˇ 1K [k] increases monotonically as k < p(K − 1)/2 and decays as k > p(K − 1)/2. The DTFT of the discrete B-splines are p bˆˇ K (ω) =
K −1 −iωl l=0 e
K
p
=
1 − e−iωK K (1 − e−iω )
p .
If K = 2L + 1, then t B-splines of any order p can be centered. If K = 2L, then centering is possible only for even orders p = 2q. Thus, the centered discrete-time B-splines are defined as follows p bK
p
def p = b K [k] , b K [k] =
p if K = 2L + 1; bˇ K [k + pL] , p bˇ K [k + q(K − 1)] , if p = 2q.
(3.33)
44
3 Mixed Convolutions and Zak Transforms p
The centered B-splines b K are supported on the set − pL , ..., pL when K = 2L + 1 and on the set −q(K − 1), ..., q(K − 1) when p = 2q. The DTFTs of the centered discrete B-splines are p bˆ K (ω) =
sin(ωK /2) K sin(ω/2)
p .
(3.34)
p Due to the B-splines symmetry, the functions bˆ K (ω) are cosine polynomials.
Examples p ˆb2q (ω) = cos2q ω , bˆ p (ω) = 1 + 2 cos ω , 2 3 2 3 2q ω 2q ω ω 2q bˆ4 (ω) = cos cos ω = 2 cos3 − cos . 2 2 2
(3.35)
Figures 3.5, 3.6 and 3.7, which are produced by the MATLAB code disbsplN.m, display the centered discrete B-splines of different orders, whose spans are 2, 3, and 4, respectively. p
Remark 3.3.4 The values K p b K [k] are non-negative integers. It is worth noting p that the discrete B-splines b K differ from the corresponding sampled continuous B-splines. p p Let M be a natural number. A signal s K ,M = s K ,M [k], k ∈ Z , which can be represented as an M-fold mixed discrete – discrete convolution of a signal q with a discrete B-spline, such as
p
Fig. 3.5 Centered B-splines b2 of span 2 of orders 2, 4, 6, 8, 10 and 12
3.3 Discrete-Discrete Convolution and Zak Transform
45
p
Fig. 3.6 Centered B-splines b3 of orders 1 to 9
p
Fig. 3.7 Centered B-splines b4 of orders 2, 4, 6, 8, 10 and 12
p
p
p
s K ,M = q (b K ) M ⇐⇒ s K ,M [k] =
p
q[l] b K [k − Ml],
(3.36)
l∈Z
is called a discrete spline. The space of discrete splines defined by Eq. (3.36) is denoted by p S K ,M .
46
3 Mixed Convolutions and Zak Transforms
The Zak transforms of discrete B-splines are p
def
p
ζ K ,M (ω)[k] = Z [(b K ) M ](ω)[k] = =
(3.37)
l∈Z
M−1 1 i(ω+2π m)k/M ˆ p ω + 2π m e bK M M m=0
=
p
eiωl b K [k − Ml]
1 M
M−1
ei(ω+2π m)k/M
m=0
sin (ω + 2π m)K /2M) K sin (ω + 2π m)/2M)
p .
(3.38)
It follows from Eqs. (3.21) and (3.29) that
p
s K [k] =
1 2π
p
b K [k − Ml] =
2π 0
e−iωl ζ K ,M (ω)[k] dω, p
p
q[l] b K [k − Ml] =
l∈Z def
p
1 2π
2π 0
(3.39) p
q(ω) ˆ ζ K ,M (ω)[k] dω.
(3.40)
p
Denote by u K ,M (ω) = ζ K ,M (ω)[0] the characteristic function of the space p S[K ,M] . Equations (3.37) and (3.38) imply that p
u K ,M (ω) =
e−iωl b K [Ml] = p
l∈Z
M−1 1 sin ((ω + 2π m)K /2M) p . (3.41) M K sin ((ω + 2π m)/2M) m=0
p
Note that like in the continuous-time case, the characteristic function u K ,M (ω) is the DTFT of the sampled B-spline. Due to the symmetry and finiteness of discrete B-splines, the characteristic functions are cosine polynomials. p
Proposition 3.7 ([5]) If the span K is odd then the cosine polynomial u K ,M (ω) is strictly positive for all real ω. Proposition 3.8 Assume that the span K and the spline order p = 2q are even. Then: 2q
1. The cosine polynomial u K ,M (ω) is non-negative for all real ω. 2q
2. If K /2M is integer then for any natural q, minω u K ,M (ω) = 0. 2q
3. If K /2M is not integer then for any natural q u K ,M (ω) is strictly positive. Proof 1. Obviously, 2q
u K ,M (ω) =
M−1 1 sin ((ω + 2π m)K /2M) 2q ≥ 0. M K sin ((ω + 2π m)/2M) m=0
3.3 Discrete-Discrete Convolution and Zak Transform
47
2. If K /2M = J is an integer, then 2q
u K ,M (ω) =
M−1 1 sin2q (ω J ) 2q , u K ,M (π/J ) = 0. 2q M K 2q sin ((ω + 2π m)/2M) m=0
3. If K /2M = J is not integer, then at least one term in the sum 2q
u K ,M (ω) =
2q M−1 sin ((ω + 2π m)J ) 1 M K sin ((ω + 2π m)/2M) m=0
is positive for any ω. If K = M, then J = 1/2 and 2q u M,M (ω)
sin2q ω/2 = M 2q+1
M−1 1 1 + 2q 2q sin (ω/2M) m=0 sin ((ω + 2π m)/2M)
> 0.
Assume that J = 1/2 and for some ωˇ and mˇ (ωˇ + 2π m)J ˇ = π , thus, the m-th ˇ term of the sum is zero when ω = ω. ˇ Then, (ωˇ + 2π(mˇ + 1))J = π + 2π J and the mˇ + 1-th term of the sum is positive. p
Corollary 3.4 If the characteristic function u K ,M (ω) = 0 for all ω, then any discrete-time signal x can be uniquely interpolated by an element from p S[K ,M] p such thats K [Mn] = x[n], n ∈ Z, where p
1 p p s K ,M = s K [k] , s K [k] = 2π
2π 0
x(ω) ˆ p u K ,M (ω)
p
ζ K ,M (ω)[k] dω.
(3.42)
pS Equation (3.42) establishes a one-to-one correspondence between [K ,M] and the
p space of discrete-time signals. The signals b K [k − Ml] , l ∈ Z, are linearly independent and form a basis for the space p S[K ,M] .
Examples of characteristic functions To derive the characteristic functions of the spaces p S[K ,M] , where M = 2, 3, we utilize the polyphase formulas given in Eq. (2.13). Example 1: K = 2, M = 2, p = 2q. 2q
u 2,2 (ω) =
The characteristic function e−iωl b2 [2l] = βˆ0,2 2q
l∈Z def
2q
is the DTFT of the zero-polyphase component of the signal β[k] = b2 [k]. Equations (3.35) and (2.13) imply that 2q
u 2,2 (2ω) =
2q 2q bˆ2 (ω) + bˆ2 (ω + π ) ω 1 2q ω cos . = + sin2q 2 2 2 2
(3.43)
48
3 Mixed Convolutions and Zak Transforms
Fig. 3.8 Characteristic functions of the spaces 2q S 2,2 for orders 2q= 4, 6, 8, 10, 12 and 14
Note that u 22,2 (ω) ≡ 1/2. Figure 3.8 displays the characteristic functions of the discrete splines spaces 2q S2,2 for different values of the splines’ order 2q. Example 2: K = 4, M = 2, p = 2q. Similarly to Eq. (3.43), we have 2q u 4,2 (2ω)
2q 2q bˆ4 (ω) + bˆ4 (ω + π ) cos2q ω 2q ω ω = cos + sin2q . (3.44) = 2 2 2 2
Figure 3.9 displays characteristic functions of the discrete splines spaces 2q S4,2 for different even splines’ orders 2q. Note that, in this case, K /2M = 1 is an integer and, consequently, the character2q istic functions satisfy u 4,2 (π ) = 0. p Example 3: K = 3, M = 3. The characteristic function u 3,3 (ω) = l∈Z e−iωl def
p
b3 [3l] = γˆ0,3 is the DTFT of the zero-polyphase component of the signal γ [k] = p b3 [k]. Equations (3.35) and (2.13) imply that p
u 3,3 (3ω) = =
1 3 p+1
p p p bˆ3 (ω) + bˆ3 (ω + 2π/3) + bˆ3 (ω + 4π/3) 3
(3.45)
(1 + 2 cos ω) p + (1 + 2 cos(ω + 2π/3)) p + (1 − 2 cos(ω + π/3)) p .
Note that u 13,3 (3ω) = u 23,3 (3ω) ≡ 1/3. Figure 3.10 displays the characteristic functions of the discrete splines spaces p S3,3 for different splines’ orders p. Figures 3.8, 3.9 and 3.10 were produced by the MATLAB code dspl_charN.m.
References
49
Fig. 3.9 Characteristic functions of the spaces 2q S 4,2 for orders 2q= 2, 4, 6, 8, 10 and 12
Fig. 3.10 Characteristic functions of the spaces pS 3,3 for orders p= 3, 4, 5, 6, 8 and 10
References 1. A. Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of l2 . SIAM J. Math. Anal. 25(5), 1412–1432 (1994) 2. M.J. Bastiaans, Gabor’s expansion and the Zak transform for continuous-time and discretetime signals. in ed. by Y.Y. Zeevi, R. Coifman Signal and Image Representation in Combined Spaces, number 7 in Wavelet Anal. Appl. (Academic Press, San Diego, CA, 1998) pp. 23–69 3. K. Ichige, M. Kamada, An approximation for discrete B-splines in time domain. IEEE Signal Process. Lett. 4(3), 82–84 (1997) 4. V.N. Malozemov, A.B. Pevnyi, Discrete periodic splines and their numerical application. Comp. Math. Math. Phys. 38, 1181–1192 (1998) 5. A.B. Pevnyi, V. Zheludev, On the interpolation by discrete splines with equidistant nodes. J. Approx. Theory 102(2), 286–301 (2000) 6. M. Pinsky, Introduction to Fourier analysis and wavelets (Brooks Cole, 2002) 7. A. Ron, Introduction to shift-invariant spaces: Linear independence, in Multivariate Approximation and Applications, ed. by A. Pinkus, D. Leviatan, N. Din, D. Levin (Cambridge University Press, Cambridge, 2001), pp. 112–151 8. I.J. Schoenberg, Contributions to the problem of approximation of equidistant data by analytic functions. Quart. Appl. Math. 4, 45–99, 112–141 (1946) (Parts A and B)
50
3 Mixed Convolutions and Zak Transforms
9. I.J. Schoenberg, Cardinal interpolation and spline functions. J. Approximation Theory 2, 167– 206 (1969) 10. I.J. Schoenberg, Cardinal Spline Interpolation (SIAM, Philadelphia, 1973) 11. L.L. Schumaker, Spline Functions: Basic Theory (Wiley, New York, 1981) 12. E. Stein, G. Weiss, Introduction to Fourier Analysis on Euclidean Spaces (Princeton Univ, Press, 1971) 13. M. Unser, A. Aldroubi, M. Eden, Fast B-spline transforms for continuous image representation and interpolation. IEEE Trans. Pattern Anal. Mach. Intell. 13(3), 277–285 (1991) 14. M. Unser, A. Aldroubi, M. Eden, On the asymptotic convergence of B-spline wavelets to Gabor functions. IEEE Trans. Inform. Theory 38(2), 864–872 (1992) 15. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. I. Theory. IEEE Trans. Signal Process. 41(2), 821–833 (1993) (IEEE Signal Processing Society’s 1995 best paper award) 16. K.F. Üstüner, L.A. Ferrari, Discrete splines and spline filters. IEEE Trans. Circuits Systems II: Analog. Digital Signal Process. 39(7), 417–422 (1992) 17. J. Zak, Finite translations in solid-state physics. Phys. Rev. Lett. 19(24), 1385–1387 (1967)
Chapter 4
Non-periodic Polynomial Splines
Abstract In this chapter, we outline the essentials of the splines theory. By themselves, they are of interest for signal processing research. We use the Zak transform to derive an integral representation of polynomial splines on uniform grids. The integral representation facilitated design of different generators of spline spaces and their duals. It provides explicit expressions for interpolating and smoothing splines of any order. In forthcoming chapters, the integral representation of splines will be used for the constructions of efficient subdivision schemes and so also for the design spline-based wavelets and wavelet frames.
4.1 Integral Representation of Splines 4.1.1 Decaying Polynomial Splines It is stated in Sect. 3.2.2 that the shift-invariant spline space p Sh consists of mixed convolutions of discretetime signals q ∈ l2 ⊂ l1 with the B-spline B p (t/ h) of order p constructed on the grid {kh} (see Eq. (3.16)). For a while, we assume that h = 1. Thus, q[k] B p (t − k) , (4.1) S p (t) ∈ p S ⇐⇒ S p (t) = q B p (t) = k∈Z
where the B-splines on the grid {k} are p p−1 p 1 p p B (t) = t + −k (−1) k ( p − 1)! 2 + k=0 p ∞ sin ω/2 1 = eiωt dω. 2π −∞ ω/2 p
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_4
(4.2)
51
52
4 Non-periodic Polynomial Splines
The support of the B-spline B p (t) is (− p/2, p/2. Due to its compactness, the sum in Eq. (4.1) is well defined with any sequence {} , n ∈ Z, and S p (t) is a spline with nodes at {k}, for p even, and {k + 1/2}, for p odd. p p Proposition 4.1 If the signal q ∈ l2 ⊂ l1 then the spline S (t) = q B (t) = p (t − k) from p S belongs to L (R) q[k] B L (R), that is, it is absolutely 2 1 k∈Z integrable and square integrable.
Proof Equation (3.2.1) implies that the integral
∞
−∞
|B (t)| dt = p
∞ −∞
B p (t) dt = Bˆ p (0) = 1
(4.3)
for any order p. Then,
∞
−∞
|S p (t)| dt ≤
|q[k]|
∞ −∞
k∈Z
|B p (t − k)| dt =
|q[k]|
k∈Z
def
Obviously, maxt∈R |S p (t)| ≤ σ = maxt∈R |B p (t)|
∞
|S (t)| dt ≤ σ p
−∞
2
∞
−∞
∞
−∞
|B p (t)| dt =
|q[k]|.
k∈Z
k∈Z |q[k]|.
|S p (t)|2 dt ≤= σ
Then,
|q[k]|.
k∈Z
Surely, the statement in Proposition 4.1 remains true for splines from the spaces h with any h.
pS
4.1.2 Zak Transform of B-Spline (Exponential Spline) The Zak transform of the B-spline B p (t) is def
ζ p (ω, t) = Z [B p ](ω, t) =
eiωk B p (t − k)
k∈Z
=
e
i(ω+2πl)t
l∈Z
(4.4)
sin(ω + 2πl)/2 (ω + 2πl)/2
p .
For any fixed ω, ζ p (ω, t) is a spline (exponential spline) with respect to t, while, for any fixed t, it is a 2π -periodic infinitely differentiable function of ω. Its Fourier coefficients are c[k](ζ p (ω, t)) = 2π B p (t − k). Thus, 1 B (t − k) = 2π
2π
p
e 0
−iωk p
ζ (ω, t) dω,
1 B (t) = 2π
2π
p
0
ζ p (ω, t) dω. (4.5)
4.1 Integral Representation of Splines
53
The characteristic function of the space p S def
u (ω) = ζ (ω, 0) = p
p
k∈Z
e
−iωk
sin(ω/2 + πl) p B (k) = . (ω/2 + πl p
(4.6)
l∈Z
It follows from Eq. (4.4) that the exponential splines are the eigenfunctions of the integer shifts operator and the operators of forward and central finite differences: ζ p (ω, t + m) = eiωm ζ p (ω, t), ζ p (ω, m) = eiωm ζ p (ω, 0) = eiωm u p (ω),
(4.7) (4.8)
Δ1 ζ p (ω, t) = ζ p (ω, t + 1) − ζ p (ω, t) = (eiω − 1)ζ p (ω, t), Δn1 ζ p (ω, t) = (eiω − 1)n ζ p (ω, t).
(4.9)
If n = 2r , then the central difference is ω 2r p ζ (ω, t). δ12r ζ p (ω, t) = (−1)r 2 sin 2
(4.10)
4.1.2.1 Relation of Periodic and Non-periodic Splines The exponential spline ζ p (ω, t) ∈ p S and the characteristic function u p (ω) = ζ p (ω, 0) of the space of non-periodic splines are related to the exponential spline ζ p [n](t) and the characteristic sequence u p [n] = ζ p [n](0) of the space of N -periodic splines ( N = 2 j > p), which were introduced in Chap. 4 of Volume I of this book def p [4]. Denote by B˜ p (t) = l∈Z B (t + l N ) the N -periodic B-spline. Due to the compactness of the B-spline’s support, for any fixed value of t, the sum ζ p (ω, t) =
eiωk B p (t − k) =
k∈Z
r
eiωk B p (t + k)
k=−r
is finite. Here the integer r ≤ p/2 + 1. In particular, when t ∈ (−1/2, 1/2 ζ
p
2πn ,t N
up
2πn N
=
r
e−2π i kn/N B p (t + k) =
k=−r
N −1
e−2π i kn/N B˜ p (t + k) = ζ p [n](t),
k=0
(4.11)
=
r k=−r
e−2π i kn/N B p (k) =
N −1
e−2π i kn/N B˜ p (k) = u p [n].
k=0
If t is outside the interval (−1/2, 1/2), the shift property Eq. (4.7) can be used. Therefore, the samples of the exponential spline ζ p (ω, t) ∈ p S and the characteristic function u p (ω) on the grid {2π n/N } can be computed using their counterparts
54
4 Non-periodic Polynomial Splines
from the N -periodic spline space. Recall that the sequence u p [n] is computed by the discrete Fourier transform (DFT) of the sampled B-spline u [n] = p
N /2−1
e−2π i kn/N B p (k).
(4.12)
k=−N /2
Apparently, the bigger the period N , the finer is the grid.
4.1.3 Integral Representation of Splines Equation (4.5) results in the integral representation of splines from the space p S such as S p (t) =
q[k]B p (t − k) =
k∈Z
1 2π
2π
0
ξ(ω) = q(ω) ˆ =
ξ(ω)ζ p (ω, t) dω,
(4.13)
e−iωk q[k].
k∈Z
Proposition 4.2 The Zak transform of a spline S p (t), which is represented by Eq. (4.13), is (4.14) Z [S p ](ω, t) = ξ(ω) ζ p (ω, t). Proof The Zak transform of the spline S p (t) Z [S p ](ω, t) =
eiωk S p (t − k) =
k∈Z
=
q[l]
l∈Z
k∈Z
e
iωk
eiωk
l∈Z
B (t − l − k) = p
k∈Z
q[l] B p (t − l − k) l∈Z
q[l] e−iωl
eiωk B p (t − k)
k∈Z
= q(ω) ˆ ζ p (ω, t) = ξ(ω) ζ p (ω, t). Equation (4.8) implies that samples of a spline S p (t) from the space p S at grid points are 2π 1 imω p S (m) = q[k]B (m − k) = q(ω)e ˆ u (ω) dω 2π 0 k∈Z 2π 1 = ξ(ω)eimω u p (ω) dω. 2π 0 p
p
(4.15)
4.1 Integral Representation of Splines
55
The Fourier transform of a spline S p (t) ∈ p S is
Sˆ p (ω) =
∞ −∞
=
e−iωt
k∈Z
q[k]e
−iωk
q[k]B p (t − k)dt
∞
−∞
k∈Z
ˆ = q(ω) ˆ Bˆ p (ω) = q(ω)
e−iωt B p (t)dt
sin ω/2 ω/2
(4.16)
p
= ξ(ω)
sin ω/2 ω/2
p .
Derivatives of a spline: Eqs. (1.8) and (1.12) imply that the derivative of the spline is
sin ω/2 p dω (4.17) ω/2 −∞ ∞ 1 ω s sin ω/2 p−s = eiωt q(ω) ˆ 2i sin dω = q[k] δ1s [B p−s ](t − k), 2π −∞ 2 ω/2
S p (t)(s) =
1 2π
∞
eiωt (iω)s
k∈Z
where δ1s [B p−s ](t) is the order-s central difference of the B-spline of order p − s. Proposition 4.3 The derivative of an even-order 2r spline S p (t) ∈ p S is the spline
S p (t)(2r ) = S p−2r (t) =
δ 2r [q][k]B p−2r (t − k)
(4.18)
k∈Z
from the space
p−2r S .
Proof We consider the simplest case r = 1. The proof for r > 1 is similar. S p (t) =
k∈Z
=
q[k] δ12 [B p−s ](t − k) =
q[k] B
q[k] δ12 [B p−s ](t − k)
k∈Z p−2
](t + 1 − k) − 2B p−2 ](t − k) + B p−2 ](t − 1 − k)
k∈Z
=
(q[k − 1] − 2q[k] + q[k + 1]) B p−2 ](t − k) =
k∈Z
δ 2 q][k] B p−2 ](t − k),
k∈Z
where δ 2 [q] is the order 2 central difference of the signal q. Convolution of splines: Let def
T q (t) =
k∈Z
be a spline from the space q S .
p[k] B q (t − k)
(4.19)
56
4 Non-periodic Polynomial Splines
Proposition 4.4 The convolution of the spline S p (t) ∈ p S with the spline T q (t) is a spline from p+q S such that S T (t) = R p
q
p+q
(t) =
η(ω) = rˆ (ω) =
k∈Z
r [k] = q p[k] =
r [k]B
p+q
k∈Z
1 (t − k) = 2π
2π
η(ω)ζ p+q (ω, t) dω,
0
r [k]e−iωk = q(ω) ˆ p(ω) ˆ
(4.20)
q[k − l] p[l].
l∈Z
Proof Equations (1.7) and (4.16) imply that 1 S T (t) = 2π p
q
∞
−∞ ∞
eiωt Sˆ p (ω) Tˆ q (ω) dω
sin ω/2 p+q 1 eiωt q(ω) ˆ p(ω) ˆ dω 2π −∞ ω/2 ∞ 1 = eiωt q(ω) ˆ p(ω) ˆ Bˆ p+q (ω). 2π −∞
=
Thus, the convolution is S p T q (t) =
r [k]B p+q (t − k) = R p+q (t) ∈
p+q
S,
k∈Z
where the coefficients are ∞ 1 eiωt q(ω) ˆ p(ω) ˆ dω = q[k − l] p[l]. r [k] = 2π −∞ l∈Z
According to Eq. (4.13), the integral representation of the spline R p+q (t) is R p+q (t) =
1 2π
2π
η(ω)ζ p+q (ω, t) dω, η(ω) = rˆ (ω) = q(ω) ˆ p(ω). ˆ
0
Parseval identity: The Parseval identity for splines is
∞
1 S (t) (T ) (t) dt = 2π −∞ p
q ∗
=
1 2π
∞
−∞ ∞ −∞
ˆ S(ω) (Tˆ q )∗ (ω) dω q(ω) ˆ pˆ ∗ (ω)
sin ω/2 ω/2
p+q dω.
4.1 Integral Representation of Splines
57
The functions q(ω) ˆ and p(ω) ˆ are 2π -periodic, thus
∞
1 S (t) (T ) (t) dt = 2π −∞ q ∗
p
2π 0
sin(ω/2 + πl) p+q q(ω) ˆ pˆ (ω) dω (ω/2 + πl ∗
l∈Z
2π
1 q(ω) ˆ pˆ ∗ (ω) u p+q (ω) dω, 2π 0 2π
2 2 p p 2
u dω, S (t) = 1
q(ω) ˆ 2π 0 =
(4.21) (4.22)
where u 2 p (ω) is the characteristic function of the space 2 p S , which is defined in Eq. (4.6). For the derivatives, we use Eq. (4.17). It implies that ∞ 2s sin ω/2 2( p−s)
2
1 p (s) 2
2 sin ω
q(ω) ˆ dω (S ) (t) = 2π −∞ 2 ω/2 2π
2
ω 2s sin(ω/2 + πl) 2( p−s) 1
q(ω) ˆ 2 sin dω = 2π 0 2 ω/2 + πl l∈Z 2π 2s
2
1
2 sin ω
q(ω) ˆ = u 2( p−s) dω 2π 0 2 We summarize the above results in Proposition 4.5. Proposition 4.5 Assume that the splines S p (t) ∈ p S and T q (t) ∈ q S are represented as 1 S (t) = 2π
2π
p
0
1 ξ(ω) ζ (ω, t) dω, T (t) = 2π p
Then their convolution is a spline from 1 S T (t) = 2π
2π
q
2π
p+q S
τ (ω) ζ q (ω, t) dω.
0
such that
ξ(ω) τ (ω) ζ p+q (ω, t) dω
(4.23)
0
and the Parseval identities hold
∞ −∞
S p (t) (T q )∗ (t) dt =
1 2π
0
2π
ξ(ω) τ ∗ (ω) u p+q (ω) dω,
(4.24)
2π p 2 S (t) = 1 |ξ(ω)|2 u 2 p dω, 2π 0 2π 2s
2
1 p (s) 2
2 sin ω
q(ω) ˆ u 2( p−s) dω. (4.25) (S ) (t) = 2π 0 2
58
4 Non-periodic Polynomial Splines
4.2 Generators of Spline Spaces The B-spline B p (t) is a generator of the spline space p S that means that any spline from p S is represented as a mixed convolution of B p (t) with a signal q (Eq. (4.1)). However, there exist infinitely many generators for the same space. Proposition 4.6 A spline ϕ (t) = p
k∈Z
1 f [k]B (t −k) = 2π
2π
p
τ (ω) ζ p (ω, t) dω, τ (ω) = fˆ(ω), (4.26)
0
can serve as a generator of the space p S if the periodic function τ (ω) does not vanish on the real axis. Proof Assume a spline S p (t) ∈ p S . Then, it is represented by S p (t) =
1 2π
2π
1 2π
ξ(ω)ζ p (ω, t) dω =
0
2π 0
ξ(ω) τ (ω)ζ p (ω, t) dω. τ (ω)
Proposition 4.2 claims that τ (ω)ζ p (ω, t) is the Zak transform of the spline ϕ p (t): τ (ω)ζ p (ω, t) = Z [ϕ p ](ω, t) =
eiωk ϕ p (t − k).
k∈Z
Therefore, S p (t) =
1 2π
2π 0
ξ(ω) iωk p e ϕ (t − k) dω = r [k]ϕ p (t − k), τ (ω) k∈Z
k∈Z
where the expansion coefficients are 1 r [k] = 2π
2π 0
ξ(ω) iωk ξ(ω) −iωk e dω ⇐⇒ = e r [k]. τ (ω) τ (ω)
(4.27)
k∈Z
Thus, any spline from p S can be represented as a linear combination of the shifts {ϕ p (t − k)}. Corollary 4.1 Assume that the spline ϕ p (t) given in Eq. (4.26) is a generator of the space p S and Z [ϕ p ](ω, t) is its Zak transform. Then, any spline S p (t) from the space p S can be represented in two alternative ways S p (t) =
k∈Z
r [k]ϕ p (t − k) =
1 2π
0
2π
rˆ [ω] Z [ϕ p ] (ω, t) dω.
(4.28)
4.2 Generators of Spline Spaces
59
We call τ (ω) the symbol of the generator ϕ p (t). Typically, bases that are formed by shifts of different generators, including the B-spline generator, are not orthogonal. However, the following assertion is true. Proposition 4.7 Each generator ϕ p (t) of p S has its dual counterpart φ p (t) such that the biorthogonal relations
∞
−∞
ϕ p (t − k) (φ p )∗ (t − m) dt = δ[k − m].
(4.29)
hold. The symbols τ (ω) and θ (ω) of the generators ϕ p (t) and φ p (t), respectively, are linked as 1 τ (ω) θ ∗ (ω) = 2 p , (4.30) u (ω) where u 2 p (ω) is the characteristic function of the space 2 p S . Proof Equation (4.7) implies that the splines ϕ p (t −k) and φ p (t −m) are represented via the integrals 2π 2π 1 1 τ (ω) ζ p (ω, t − k) dω = τ (ω) e−iωk ζ p (ω, t) dω, 2π 0 2π 0 2π 1 φ p (t − m) = θ (ω) e−iωm ζ p (ω, t) dω. 2π 0
ϕ p (t − k) =
Then, using the Parseval identity Eq. (4.21), and the relation (4.30), we get
∞
−∞
ϕ p (t − k) (φ p )∗ (t − m) dt = =
1 2π 1 2π
2π
e−iω(k−m) τ (ω) θ ∗ (ω)u 2 p (ω) dω
0
2π
e−iω(k−m) dω = δ[k − m].
0
4.2.1 Examples of the Spline Space Generators 4.2.1.1 B-Splines and Their Duals B-spline: The B-spline B p (t) is the shortest possible generator of the space p S and, what is more, it is the shortest possible spline of order p [12]. Its symbol is τ (ω) ≡ 1, due to Eq. (4.5). The B-splines of different orders and their Fourier spectra are displayed in Figs. 3.1 and 3.2.
60
4 Non-periodic Polynomial Splines
The dual generator to the B-spline: This is the spline 1 D (t) = 2π
p
2π
0
ζ p (ω, t) dω = d[k] B p (t −k), 2 p u (ω) k∈Z
1 u 2 p (ω)
=
e−iωk d[k].
k∈Z
(4.31)
The samples of the spline at grid points are D p (n) =
1 2π
2π 0
eiωn
u p (ω) dω = d[k] B p (m − k). 2 p u (ω)
(4.32)
k∈Z
Equation (4.32) means that the grid samples {D p (n)} are the Fourier coefficients def
of the 2π -periodic function Φ(ω) = u p (ω)/u 2 p (ω). Both the numerator and the denominator of the function Φ(ω) are cosine polynomials, which do not vanish on the real axis. Thus, the function Φ(ω) is infinitely differentiable, and, consequently, its Fourier coefficients D p (n) decay exponentially as n grows (see [13], for example). Due to the symmetry of the cosine polynomial u 2 p (ω) = u 2 p (−ω), the sequence {d[k]} of its B-spline coefficients is symmetric about zero. Combined with the symmetry of B-splines, this property results in the symmetry of the splines D p (t) about zero. The sequence {d[k]} decays exponentially when k → ∞ by the same reason as the sequence {D p (n)}. Representation of splines by the generators D p (t): Any spline S p (t) ∈ p S can be represented as def
S p (t) =
p[k] D p (t − k),
p[k] =
k+ p/2
S p (t) B p (t − k) dt.
(4.33)
k− p/2
k∈Z
Due to the exponential decay of the spline D p (t), relations (4.33) remain true even when the spline S p (t) moderately grows, for example as a polynomial. Assume that f (t) is a continuous-time signal that is f (t) ∈ L 1 [R] L 2 [R]. Then, the spline S p (t) ∈ p S which best approximates f (t) in the L 2 norm (mean square approximation) is the orthogonal projection of f (t) onto p S . For this, the difference f (t) − S p (t) should be orthogonal to all the basis members of the space p S . Thus, the requirement S p (t) = arg min p f (t) − S(t) is equivalent to the S L2 conditions def
F[k] =
k+ p/2
f (t) B (t − k) dt = p
k− p/2
k+ p/2
S p (t) B p (t − k) dt = p[k], k ∈ Z.
k− p/2
Using Eq. (4.33), we can explicitly represent the orthogonal projection spline by def
S p (t) =
k∈Z
F[k] D p (t − k),
F[k] =
k+ p/2 k− p/2
f (t) B p (t − k) dt.
(4.34)
4.2 Generators of Spline Spaces
61
When a function f (t) does not belong to L 2 [R] or it grows moderately, the series in Eq. (4.34) still converges and defines a spline of order p. Although we can not speak of the orthogonal projection in this case, the spline S p (t) is intimately related to the function f (t). We refer to the spline S p (t) defined in Eq. (4.34) as the Galerkin projection of the function f (t) onto the set of order p splines. Proposition 4.8 If f (t) = Pp−1 (t) is a polynomial of degree not exceeding p − 1 then the Galerkin projection spline exactly restores f (t), that is S p (t) = Pp−1 (t) = f (t) . Proof Assume that the spline S p (t) is given by Eq. (4.34), where f (t) = Pp−1 (t). def
Denote ϕ(t) = Pp−1 (t) − S p (t). Note that ϕ(t) is a spline of order p. As such, it can be represented by ϕ(t) =
r [k] D p (t − k), r [k] =
k∈Z k+ p/2
k+ p/2
=
ϕ(t) B p (t − k) dt
k− p/2
k+ p/2
Pp−1 (t) B p (t − k) dt −
k− p/2
S p (t) B p (t − k) dt = 0.
k− p/2
Since D p (t) is a generator of the spline space p S , the spline ϕ(t) ≡ 0. Computation of the splines D p (t): Equation (4.11) implies that the grid samples of the spline are 1 D (n) = 2π
p
2π
e
iωn
0
= lim ] N →∞
1 N
u p (ω) dω = u 2 p (ω)
N −1 ν=0
e2π i ν n/N
1
e2π i vn
0
u p [ν] u 2 p [ν]
,
u p (2π ν/N dv u 2 p (2π ν/N ) (4.35)
where u p [ν] and u 2 p [ν] are the characteristic sequences of the spaces of N = 2 j periodic splines of orders p and 2 p, respectively. The sum in Eq. (4.35) is the inverse discrete Fourier transform (IDFT) of the N -periodic sequence u p [ν]/u 2 p [ν] and is readily calculated. Thus, the grid samples D p (n) can be computed with any desirable accuracy by using the Fast Fourier transform (FFT) algorithm [6]. The spline’s values between grid points are computed by the subdivision methods described in Chap. 6 of Volume I [4]. Illustrations. Figure 4.1, which is produced by the MATLAB code genspl_consN3 using the ternary subdivision, displays splines of orders 2, 3, 4 and 8 that are dual to the respective B-splines. Figure 4.2 (MATLAB code genspl_consN3) displays their Fourier spectra, which are computed by the MATLAB function gen_specN using Eq. (4.16). All the splines have infinite support but their magnitudes decay rapidly, especially for lower orders. When splines’ orders increase, spans of the splines and their range widen, while the shapes become oscillating. This is reflected
62
4 Non-periodic Polynomial Splines
Fig. 4.1 Splines D p (t) that are dual to the B-splines of orders 2, 3, 4, and 8
Fig. 4.2 Fourier spectra of splines D p (t) that are dual to the B-splines of orders 2, 3, 4, and 8
4.2 Generators of Spline Spaces
63
in the spectra. Gradually, a dominating frequency band is forming. Such an irregular behavior is a price, which the dual generator pays for the compact support of the B-splines and their smooth near-Gaussian shape.
4.2.1.2 The Interpolating Generators (Fundamental Splines) and Their Duals Fundamental spline: A fundamental spline is 1 L (t) = 2π
ζ p (ω, t) dω = l[k] B p (t − k), u p (ω)
2π
p
0
(4.36)
k∈Z
1 = e−iωk l[k]. u p (ω) k∈Z
The samples of the spline at grid points are 1 L (n) = 2π
p
2π
e
iωn
dω =
0
1, if n = 0; . 0, otherwise.
(4.37)
The fundamental spline provides an explicit representation for the spline S p (t) ∈ p S , which interpolates a signal x = {x[k]} at grid points: def
S p (t) =
x[k] L p (t − k), S p (n) =
k∈Z
x[k] L p (n − k) = x[n].
(4.38)
k∈Z
Like the splines D p (t), the splines L p (t) are symmetric about zero and decay exponentially as t → ∞. Therefore the series in Eq. (4.38) converges and defines a spline, which interpolates the sequence {x[k]} even if this sequence is growing not faster than polynomials as k → ∞. Restoration of polynomials: Proposition 4.9 The interpolating spline S p (t) defined in Eq. (4.38) restores polynomials Pp−1 (t) of degree not exceeding p − 1, that is, if x[k] = Pp−1 (k) then S p (t) ≡ Pp−1 (t) . Proof A polynomial Pp−1 (t) can be regarded as a spline of order p, whose def
grid samples are x[k] = Pp−1 (k). The same is true for the spline S p (t) = def def p p σ (t) p = S (t) = k∈Z x[k] L p (t − k). Thus, the grid samples of the spline k∈Z x[k] L (t − k) − Pp−1 (t) are all zero. Thus, σ (t) = k∈Z 0 L (t − k) ≡ 0. Illustrations: Figure 4.3 (MATLAB code genspl_consN3) displays fundamental splines of orders 2, 3, 4 and 8, while Fig. 4.4 (MATLAB code genspl_consN3)
64
4 Non-periodic Polynomial Splines
Fig. 4.3 Fundamental splines L p (t) of orders 2, 3, 4 and 8
Fig. 4.4 Fourier spectra of fundamental splines L p (t) of orders 2, 3, 4 and 8
displays their Fourier spectra. We observe that although all the splines except for the spline of order 2 have infinite support, their effective support is practically compact. It widens along with the order increase. Visually, the behavior of the fundamental splines, especially of higher orders, reminds the behavior of the sinc function sinc(t) = sint t . The splines’ spectra tend to a rectangle, which is the spectrum of sinc(t). This observation is corroborated by a
4.2 Generators of Spline Spaces
65
Fig. 4.5 Solid line fundamental spline L 22 1 (t} of order 22. Dotted line sinc function sin t/t
rigorous proof in [3]. Figure 4.5 displays the fundamental spline L 22 1 (t} of order 22 and the sinc function sin t/t. We observe that the curves are hardly distinguishable when t is moderate. However, when t grows, the spline practically vanishes while the sinc keeps on oscillating. The shapes of the fundamental splines and their spectra are, to some extent, similar to those of the self-dual generators (Figs. 4.8 and 4.9). Consequently, we can expect that, unlike the B-splines, the fundamental splines do not differ significantly from their dual counterparts. This is the case, indeed. Generator dual to fundamental spline: This is the spline M p (t) =
1 2π
2π
0
u p (ω) p m[k] B p (t − k), ζ (ω, t) dω = 2 p u (ω) k∈Z
u p (ω) e−iωk m[k]. = 2 p u (ω) k∈Z
The samples of the spline at grid points are 1 M (n) = 2π
p
0
2π
eiωn
(u p (ω))2 dω = m[k] B p (m − k), u 2 p (ω)
(u p (ω))2 = e−iωn M p (n). 2 p u (ω) n∈Z
k∈Z
(4.39)
66
4 Non-periodic Polynomial Splines
Fig. 4.6 Splines M p (t) that are dual to the fundamental splines of orders 2, 3, 4 and 8
Fig. 4.7 Fourier spectra of splines M p (t) that are dual to the fundamental splines of orders 2, 3, 4 and 8
Figure 4.6 displays generators that are dual to the fundamental splines of orders 2, 3, 4 and 8, while Fig. 4.7 displays their Fourier spectra. All the splines have infinite support but are well localized in both time and frequency domains. The splines are, to some extent, similar to the respective fundamental splines.
4.2 Generators of Spline Spaces
Fig. 4.8 Self-dual splines O p (t) of orders 2, 3, 4 and 8
Fig. 4.9 Fourier spectra of the self-dual splines O p (t) of orders 2, 3, 4 and 8
67
68
4 Non-periodic Polynomial Splines
4.2.1.3 The Generator Whose Shifts Are Orthogonal to Each Other (Self-dual Generator) Due to Proposition 4.7, the spline 1 O (t) = 2π
2π
p
1 u 2 p (ω)
=
0
ζ p (ω, t) dω = o[k] B p (t − k), u 2 p (ω) k∈Z
(4.40)
e−iωk o[k]
k∈Z
is a self-dual generator, which means that its shifts are mutually orthogonalsuch that ∞ p p p −∞ O (t −n) O (t −m) dt = δ[m −n]. Therefore the shifts {O (t − k)} , k ∈ Z, p p form an orthonormal basis for the space S . The splines O (t) are symmetric about zero and decay exponentially as t → ∞ [5]. They serve as a source for the design of the Battle–Lemarié wavelets [5, 8]. Sometimes the splines O p (t) are referred to as the Battle–Lemarié father wavelets. The samples of the spline at grid points 1 O (n) = 2π
p
0
2π
u p (ω) dω = eiωn o[k] B p (m − k), u 2 p (ω) k∈Z
(4.41)
u p (ω) = e−iωn O p (n). u 2 p (ω) n∈Z
Figure 4.8 displays fundamental splines of orders 2, 3, 4 and 8, while Fig. 4.9 displays their Fourier spectra. All these splines have infinite support. The shape of the splines and of their spectra are very similar to those of the fundamental splines. The difference is that the splines coincide with their dual counterparts. Note that the shape of the spectrum of the eighth-order spline is very close to rectangular.
4.3 Polynomial Interpolating Splines Recall that the spline S p (t) ∈ p S , which interpolates a signal x = {x[k]} at grid points, can be expressed via the fundamental generator L p (t) by def
S (t) = p
k∈Z
x[k] L (t−k), p
1 L (t) = 2π
2π
p
0
ζ p (ω, t) dω = l[k] B p (t−k). u p (ω) k∈Z
4.3 Polynomial Interpolating Splines
69
Proposition 4.2 implies that the Zak transform of the fundamental generator is Z [L p ](ω, t) =
ζ p (ω, t) 1 e−iωk l[k]. ⇐⇒ = u p (ω) u p (ω)
(4.42)
k∈Z
Thus the interpolating spline can be represented by the integral 2π x(ω) ˆ 1 ζ p (ω, t) dω. (4.43) x(ω)Z ˆ [L ](ω, t) dω = p (ω) 2π u 0 0 On the other hand, the spline S p (t) = k∈Z q[k] B p (t − k) and, due to Eq. (4.13), 1 S (t) = 2π p
2π
p
x(ω) ˆ = e−iωk q[k]. u p (ω)
(4.44)
k∈Z
Therefore the B-spline coefficients {q[k]} are the Fourier coefficients of the p (ω). 2π −periodic function x(ω)/u ˆ
4.3.1 Example: Cubic Interpolating Spline def
The which interpolates a signal x = {x[k]} at grid points is S 4 (t) = cubic spline, 4 k∈Z x[k] L (t − k). The characteristic function u 4 (ω) = ζ 4 (ω, 0) =
1 + 2 cos2 ω/2 3
of the spline space 4 S is given in Eq. (3.19). Denote z = eiω . Then, u 4 (ω) =
z + 4 + 1/z def 4 = u¯ (z), x(ω) ˆ = z −k x[k] = x(z). 6 k∈Z
Consequently, Eq. (4.44) implies that the z-transform of the signal q = {q[k]} is q(z) =
6 x(z) = x(z). u¯ 4 (z) z + 4 + 1/z
(4.45)
This means that the B-spline coefficients {q[k]} are derived by filtering the signal x = {x[k]} with the IIR filter h, whose transfer function is h(z) =
1 u¯ 4 (z)
=
√ 6 6γ def = , γ = 2 − 3 ≈ 0.2679. z + 4 + 1/z (1 + γ z)(1 + γ /z) (4.46)
70
4 Non-periodic Polynomial Splines
Filtering is implemented in a recursive mode as described in Sect. 2.2.2. It follows from Eq. (4.42) that the z-transform of the B-spline coefficients {l[k]} of the fundamental spline L 4 (t) is l(z) =
k∈Z
z
−k
1 1 6γ 6γ γz l[k] = 4 = = − u¯ (z) (1 + γ z)(1 + γ /z) 1 − γ 2 1 + γ /z 1+γz ∞ ∞ 6γ 6γ k −k k k = = (−γ ) z + (−γ ) z (−γ )|k| z −k . 1 − γ2 1 − γ2 k=0
k=1
k∈Z
Therefore the B-spline coefficients of the cubic fundamental spline are l[k] =
√ 6γ def (−γ )|k| , γ = 2 − 3 ≈ 0.2679 1. 2 1−γ
(4.47)
The sequence {l[k]} decays exponentially as k tends to infinity. Consequently, due of the B-spline support, the fundamental spline L 4 (t) = to the finiteness 4 4 k∈Z l[k] B (t − k) decays exponentially as t tends to infinity. The spline L (t) was depicted in Fig. 4.3. Because decay of the generator L 4 (t), the equation of the exponential 4 S(t) = k∈Z x[k] L (t − k) represents a spline which interpolates the sequence {x[k]} even when the sequence is growing not faster than a polynomial as k tends m , m = 0, 1, 2, 3. The monomials t m , m = to infinity. Assume x[k] = k m = t|t=k 0, 1, 2, 3, are special cases of cubic splines. Thus, the cubic splines which interpolate these monomials coincide with them, that is def
S(t) =
k m L 4 (t − k) = t m , m = 0, 1, 2, 3.
k∈Z
In other words, cubic interpolating spline exactly restored polynomials of degree not exceeding 3. Figure 4.10 illustrates the interpolation of the monomial ϕ(t) = t 4 by a cubic spline S 4 (t). The left panel depicts a fragment of f (t) and the respective fragment of S 4 (t), which, visually, is indistinguishable from f (t). However, the difference f (t) − S 4 (t) is non-zero. It is plotted in the right panel of the figure. There exists explicit representation for the difference Δ p (t) = t p − S p (t) between the monomial t p and the interpolating spline S p (t) [12, 15]. We denote by B˘ p (t) the Bernoulli monospline, which is the 1-periodic extension of the Bernoulli polynomial of degree p [1] from the interval [0,1] to the whole real axis. Then, t p − S p (t) = B˘ p (t) − B˘ p (0).
(4.48)
In particular, t 4 − S 4 (t) = τ 2 (τ − 1)2 as τ = t − [t]. Remark 4.3.1 Table 4.1 shows that on the interval [0,1] the polynomials B˘ 2r (t) are symmetric about t = 1/2 while the polynomials B˘ 2r −1 (t) of odd degree are antisym-
4.3 Polynomial Interpolating Splines
71
Fig. 4.10 Left curves t 4 and S 4 (t) (indistinguishable ). Right difference t 4 − S 4 (t) = B˘ (t) 4
Table 4.1 A few initial Bernoulli monosplines B˘ p (t) as t ∈ [0, 1]
Degree p B˘ p (t) 0 2 4 6 1 3 5
1 t 2 − t + 1/6 = t (t − 1) + 1/6 t 4 − 2t 3 + t 2 − 1/30 = t 2 (t − 1)2 − 1/30 t 6 − 3t 5 + 5/2 t 4 − 1/2 t 2 + 1/42 = t 2 (t − 1)2 (t 2 − t − 1/2) + 1/42 t-1/2 t 3 − 3/2t 2 + 1/2t = t (t − 1)(t − 1/2) t 5 − 5/2 t 4 + 5/3 t 3 − 1/6t = t (t − 1)(t − 1/2)(t 2 − t − 1/3))
metric and B˘ 2r −1 (1/2) = 0. These facts are common for the Bernoulli polynomials of all degrees (see [7], for example). The property B˘ 2r −1 (1/2) = 0 will be used in further constructions.
4.3.2 Exponential Decay of Generators of Spline Spaces The property of exponential decay is common for all the generators presented in Sect. 4.1.2.1. For the self-dual generators this fact was established in [5]. For the rest of them, it stems from Proposition 4.10 established by Schoenberg in [11]. Assume that z = eiω and denote def
u¯ p (z) =
k∈Z
z −k B p (k) =
e−ikω B p (k) = u p (ω).
(4.49)
k∈Z
The B-spline’s support is compact, therefore u¯ p (z) is a Laurent polynomialthat is called the Euler-Frobenius polynomial [11]. Due to the symmetry of B-splines, u¯ p (z) = u¯ p (1/z).
72
4 Non-periodic Polynomial Splines
Proposition 4.10 ([11]) On the circle z = eiω , the Laurent polynomials u¯ p (z) are strictly positive. Their roots are all simple and negative. Each root γ can be paired with a dual root γ such that γ γ = 1. Thus, if either p = 2r − 1 or p = 2r , then u¯ p (z) can be represented by u¯ (z) = p
r −1 n=1
1 (1 + γn z)(1 + γn z −1 ), 0 < γ1 < γ1 < . . . < γr −1 < 1. (4.50) γn
Proposition 4.10 is a direct consequence of Proposition 3.4. Proposition 4.11 Assume a(z) = Q(z)/P(z) is a rational function, whose denominator is represented as follows P(z) =
r 1 (1 + γn z)(1 + γn z −1 ), 0 < |γ1 | < . . . |γr | = e−g < 1, g > 0, γn
n=1
(4.51) Then, the function a(z) can be expanded into a Laurent series a(z) = such that the coefficients |α[k]| ≤ A e−g|k| ,
k∈Z α[k] z
−k
where A is a positive constant. Proof Assume for a while that the degree of the polynomial Q(z) is less than the degree of P(z). If Eq. (4.51) holds, then a(z) can be represented by a(z) =
r n=1
A+ A− n n + 1 + γn z 1 + γn z −1
=
r
A+ n
n=1
∞ ∞ (−γn )k z k + A− (−γn )k z −k n k=0
k=0
∞ r r k − k α + [k]z k + α − [k]z −k , α + [k] = = A+ A− n (−γn ) , α [k] = n (−γn ) , n=1
k=0
|α + [k]| ≤ |γr |k
r
n=1
−gk |A+ , |α − [k]| ≤ |γr |k n | ≤ Ae
n=1
r
−gk |A− . n | ≤ Ae
n=1
If the degree of Q(z) is greater than or equal to the degree of P(z), then a polynomial should be added to the above expansion, which does not affect the behavior of the remote coefficients. Interpolating generator: Equation (4.36) implies that the B-spline coefficients {l[k]} of the fundamental spline L p (t) = k∈Z l[k] B p (t − k) are linked to the characteristic function such that 1 u p (ω)
=
k∈Z
e−iωk l[k] ⇐⇒
1 u¯ p (z)
=
k∈Z
z −k .
(4.52)
4.3 Polynomial Interpolating Splines
73
It means that {l[k]} are coefficients of the Laurent expansion of the rational function 1/u¯ p (z), that satisfies the conditions of Proposition 4.11. Therefore, the sequence {l[k]} decays exponentially as k tends to infinity. Due to the compactness of the B-spline B p (t) support, the spline L p (t) decays exponentially as t tends to infinity. Thus, the interpolating formula S p (t) = k∈Z x[k] L p (t − k) can be extended from signals x = {x[k]} ∈ l1 to the sequences {x[k]}, which may grow not faster than polynomials. Consequently, interpolating splines of order p retain polynomials of degree not exceeding p − 1 such that S p (t) =
k m L p (t − k) = t m , m = 0, 1, . . . , p − 1.
(4.53)
k∈Z
Generator dual to the fundamental spline: Equation (4.39) implies that the B{m[k]} of the spline, which is dual to the fundamental spline spline coefficients M p (t) = k∈Z m[k] B p (t − k), are the coefficients of the Laurent expansion of a rational function that satisfies the conditions of Proposition 4.11 such that u p (ω) u¯ p (ω) = = e−iωk m[k] ⇐⇒ 2 p z −k m[k]. 2 p u (ω) u¯ (z) k∈Z
k∈Z
Thus, the spline M p (t) decays exponentially. Generator dual to the B-spline: Equation (4.31) implies that the B-spline coefficients of the generator D p (t) satisfy the equation 1 u 2 p (ω)
=
e−iωk d[k] ⇐⇒
k∈Z
1 u¯ 2 p (z)
=
z −k m[k].
k∈Z
The exponential decay is established similarly to that of the interpolating generator.
4.3.3 Minimal Norm Property of Even-Order Splines Splines from the spaces 2r S possess a remarkable property to which they owe their name. Assume, x = {x[k]} is a signal and denote by Fxr the space of functions f (t) def ∞ such that the functional I ( f ) = −∞ ( f (r ) (t))2 dt < ∞ and f (k) = x[k], k ∈ Z. Proposition 4.12 ([2]) The spline S 2r (t) ∈ 2r S of an even order 2r , which interpolates the signal x, minimises the functional I ( f ) on the space Fxr , that is S (t) = arg min 2r
f ∈Fxr
∞
−∞
( f (r ) (t))2 dt.
(4.54)
In particular, the cubic interpolating spline S 4 (t) minimizes the “energy” integral such that
74
4 Non-periodic Polynomial Splines
S 4 (t) = arg min
∞
f ∈Fx2 −∞
( f (t))2 dt.
(4.55)
The claim in Proposition 4.12 remains true when the signal’s samples are defined on a non-uniform grid. The integral in Eq. (4.55) is related to the curvature, therefore the cubic spline’s plot is a minimum-curvature line, which passes through a given set of points on the plane. To draw such lines, draftsmen used splines – flexible wood or metal strips.
4.4 Polynomial Smoothing Splines (Global) Interpolating splines provide a perfect tool for approximation of a continuous-time signal f (t) when samples x[k] = f (k), k ∈ Z are available. However, frequently the samples are corrupted by random noise. In that case, the signal f (t) is approximated from the data y = {y[k] = f (k) + εk } , k ∈ Z, where e = {εk } , k ∈ Z, is a vector of random errors. Exact interpolation of y does not make sense because it will result in an irregular function, which hardly fits the signal f (t), especially when f (t) is smooth. A natural idea1 is to relax the interpolation requirement while introducing a smoothness constraint. This approach was formalized by Schoenberg in 1964 paper [10] and by Reinsch [9]. Denote by F r the subspace of the continuous-time signals ϕ(t) such that the def ∞ functional I (ϕ) = −∞ (ϕ (r ) (t))2 dt < ∞. Assume that the signal to be approximated is f (t) ∈ F r and y = {y[k] = f (k) + εk } , k ∈ Z. For further operations to be justified, assume that the sequence y belongs to l1 and, consequently, to l2 . Rigorously speaking, it is not the case when random errors are present. But, practically, available data set has a finite duration and our assumption is valid. The signal f (t) is approximated by a function g(t) ∈ Fxr , which minimises the def def parameterized functional Jρ (g) = ρ I (g) + E(g), where E(g) = k∈Z (g(k) − y[k])2 . The numerical parameter ρ, which is called the regularization parameter, provides a trade-off between the smoothness of the solution (functional I (g)) and the approximation of the available data y (functional E(g)). When ρ = 0, the minimum of Jρ (g) is achieved on the spline S(t) ∈ 2r S , which interpolates the data y (Proposition 4.12). A similar fact holds for a non-zero ρ. Proposition 4.13 ([10]) A unique solution to the unconstrained minimization problem min g∈F r Jρ (g) is a spline Sρ [y](t) ∈ 2r S of even order 2r . In particular, a cubic spline Sρ4 (t) minimizes the functional Sρ4 [y](t)
1 It
= arg min ρ g∈F 2
∞
−∞
2 (g (t)) dt + (g(k) − y[k]) .
2
k∈Z
can be traced to as early as 1923 Whittaker’s paper [14]).
(4.56)
4.4 Polynomial Smoothing Splines (Global)
75
The spline Sρ (t) ∈ 2r S which minimizes the functional Jρ is called the smoothing spline. We refer to these splines as global in order to distinguish them from the local smoothing splines to be introduced in Chap. 5.
4.4.1 Explicit Expression of Smoothing Splines We start with the solution of the unconstrained minimization problem for the functional Jρ . 4.4.1.1 Solution of Unconstrained Minimization Problem We wil find a representation of the smoothing splines Sρ (t) ∈ 2r S in a form similar to the representation of interpolating splines given in Eq. (4.43). Assume that spline S(t) ∈ 2r S is represented by the integral 1 S(t) = 2π
2π
ξ(ω) ζ 2r (ω, t) dω.
0
Then, Eq. (4.25) implies that I (S) =
∞ −∞
(S
(r )
1 (t)) dt = 2π
2π
2
wr (ω) |ξ(ω)|2 u 2r dω,
(4.57)
0
def
wr (ω) = (2 sin ω/2)2r .
Using Eq. (4.15), the spline S(t) is sampled in the following way S(k) =
1 2π
2π
eikω ξ(ω) u 2r (ω) dω.
0
The signal y is expressed via its DTFT by y[k] =
1 2π
0
2π
yˆ (ω)eikω dω,
def
yˆ (ω) =
e−ikω y[k].
k∈Z
Hence, by using the Parseval identity (1.23), we express the discrepancy functional as 2π
2 1
2 E y (S) = (S(k) − y[k]) =
ξ(ω) u 2r (ω) − yˆ (ω) dω. 2π 0 k∈Z
(4.58)
76
4 Non-periodic Polynomial Splines
Consequently, def
Jρ (S) = ρ I (S) + E y (S) 2π
2 1
r 2 2r 2r ρ w (ω) |ξ(ω)| u + ξ(ω) u (ω) − yˆ (ω) dω. = 2π 0 Proposition 4.14 The minimum of the functional Jρ (S) on the spline space which is the minimum on the space F r , is provided by the spline Sρ2r [y](t) =
1 2π
2π 0
ξρ (ω) ζ 2r (ω, t) dω, ξρ (ω) =
def
yˆ (ω) Arρ (ω)
def
Arρ (ω) = ρ wr (ω) + u 2r (ω), wr (ω) = (2 sin ω/2)2r .
2r S ,
(4.59) (4.60)
Proof The functions ξ(ω) and yˆ (ω) are represented in a polar form such that ξ(ω) = xeiϕ and yˆ (ω) = f eiψ , where x = |ξ(ω)|, ϕ = arg ξ(ω), f = | yˆ (ω)|, ψ = arg yˆ (ω). Then,
2
ρ wr (ω) |ξ(ω)|2 u 2r + ξ(ω) u 2r (ω) − yˆ (ω) = F(x, ϕ), where F(x, ϕ) = x 2 u 2r Arρ (ω) − 2x f u 2r (ω) cos(ϕ − ψ) + f 2 . From the equations Fx (x, ϕ) = u 2r (ω) 2x Arρ (ω) − 2 f u 2r (ω) cos(ϕ − ψ) = 0 Fϕ (x, ϕ) = 2x f u 2r (ω) sin(ϕ − ψ) = 0, we derive ϕ = ψ and x = f /Arρ (ω). 4.4.1.2 Constrained Minimization Problem and Optimal Parameter It is natural to approximate the signal f (t) by a function g(t) ∈ F r , which yields the minimum to the functional I subject to the condition that the discrepancy functional def E y (g) = k∈Z |g(k) − y[k]|2 ≤ ε2 . This approach is formulated as a constrained minimization problem such as: Find min I (g) subject to condition E y (g) ≤ ε2 . g∈F r
(4.61)
This constrained minimization problem is reduced to the solution of the unconstrained problem described in Sect. 4.4.1.1, which is followed by the derivation of an optimal regularization parameter ρ.
4.4 Polynomial Smoothing Splines (Global)
77
Proposition 4.15 ([10]) A unique solution to the constrained minimization problem 2r (4.61) is a spline Sρ2r ¯ [y](t) ∈ S defined in Eq. (4.59), where the parameter ρ¯ is derived from the equation def (4.62) e(ρ) = E y (Sρ2r ) = ε2 . Proof The discrepancy functional for the parameterized spline Sρ2r [y](t) is def
e(ρ) = E y (Sρ2r ) =
1 2π
1 = 2π
2π 0 2π
2
ξρ (ω) u 2r (ω) − yˆ (ω) dω
yˆ (ω) 2
0
ρ wr (ω) ρ wr (ω) + u 2r (ω)
2 dω.
The derivative e (ρ) =
def
1 π
2π 0
2 2r r
yˆ (ω) 2 ρ (w (ω)) u (ω) > 0 3 ρ wr (ω) + u 2r (ω)
for all positive ρ. Thus, the function e(ρ) grows monotonically when ρ increases and 2π
1
yˆ (ω) 2 = e(0) = 0, lim e(ρ) = y[k]2 . (4.63) ρ→∞ 2π 0 k∈Z
Therefore, Eq. (4.62) has the unique solution ρ = ρ. ¯ ∞ 2r 2 def 2r Denote i(ρ) = I (Sρ [y]) = −∞ (Sρ [y](t))(r ) dt. Equations (4.57) and (4.59) imply that i(ρ) =
1 2π
0
2π
2 1 wr (ω) ξρ (ω) u 2r dω = 2π
2π 0
2r r
yˆ (ω) 2 u (ω) w (ω) dω. 2 ρ wr (ω) + u 2r (ω)
Obviously, the function i(ρ) decays monotonically while limρ→∞ i(ρ) = 0. Therefore, the minimum of the functional I (Sρ2r [y]), under the condition E y (Sρ2r [y]) ≤ ε2 , is achieved when ρ = ρ. ¯ Thus the spline Sρ2r ¯ [y](t) is the unique solution for the constraint minimization problem.
Comments: 1. Equation (4.63) means that when ρ = 0, the spline Sρ2r [y](t) interpolates the data vector y. In the other ultimate case ρ = ∞, the spline Sρ2r [y](t) interpolates the 2r [y](t) ≡ 0. Thus, the zero vector. Since the interpolating spline is unique, S∞ approximation of the available data deteriorates as ρ grows.
78
4 Non-periodic Polynomial Splines
2. On the other hand, when ρ = 0, 1 i(0) = 2π
2π
0
∞ 2
yˆ (ω) 2 2r r (S02r [y](t))(r ) dt u (ω) w (ω) dω =
2 −∞ u 2r (ω)
is equal to the squared norm of the r −th derivative of the spline, which interpolates the data y. Apparently, when errors in the samples y[k] present, this derivative is far from being regular and i(0) is relatively large. When ρ is growing, the norm of the r −th derivative of the spline Sρ2r [y(t) decreases. Thus, the spline is becomes 2r [y](t) ≡ 0. more regular until degradation to S∞ 3. The parameter ρ¯ derived from Eq. (4.62) establishes an optimal trade-off between the approximation of noised data and the regularity of the solution. When the errors are not present, that is ε = 0, then the parameter is ρ¯ = 0 and the grid samples are S02r [y](k) = y[k] = f (k). Thus, the smoothing spline reduces to an interpolating one.
4.4.2 Computation of Smoothing Splines In practical applications, the data vector y = {y[k]} is given on a finite set 0 ≤ k ≤ K . Due to Eq. (4.15), the grid samples of the spline Sρ2r ¯ [y] are 2π 1 eikω ξρ (ω) u 2r (ω) dω 2π 0 2π 1 yˆ (ω) u 2r (ω) = . eikω 2π 0 ρ¯ (2 sin ω/2)2r + u 2r (ω)
Sρ2r ¯ [y](k) =
(4.64)
> K and extend the vector Assume that N = 2 j , j ∈ N, is a number such that N N −1 −i ω l e y[l]. y by defining y[k] = 0 for K > k < N . Then, yˆ (ω) = l=0 The integral in Eq. (4.64) is approximated by the sum Sρ2r ¯ [y](k) ≈
N −1 yˆ (2π ν/N ) u 2r (2π ν/N ) 1 2π iω k/N . (4.65) e N ρ¯ (2 sin π ν/N )2r + u 2r (2π ν/N ) ν=0
All the terms in the sum Eq. (4.65) are explicitly computed by the DFT. Equation N /2−1 (4.11) implies that u 2r (2π ν/N ) = u 2r [ν] = l=−N /2 e−2π i lν/N B 2r (l). The sampled DTFT is N −1 yˆ (2π ν/N ) = e−2π i ν l/N y[l] = yˆ [ν], l=0
4.4 Polynomial Smoothing Splines (Global)
79
which is the DFT of the sequence y. Thus, the sum in Eq. (4.65) is explicitly computed by the application of the inverse DFT to the sequence σ (ρ) ¯ =
yˆ [ν] u 2r [ν] ρ¯ (2 sin π ν/N )2r + u 2r [ν]
.
We can approximate the grid samples of the spline Sρ2r ¯ [y](t) with any required accuracy by increasing N > K . The spline Sρ2r ¯ (t) can be regarded as a spline that interpolates the signal s = 2r Sρ¯ (k) . The values between grid points are calculated by subdivision methods that are described in Chap. 7. The computation of the smoothing splines that includes the subdivision is implemented by the MATLAB function smoothsplaNt.m. A similar reasoning enables us to approximately derive the optimal regularization parameter ρ, ¯ which is the solution of Eq. (4.62). The discrepancy functional for the parameterized spline Sρ2r [y](t) is 1 e(ρ) = 2π
2π
yˆ (ω) 2
0
N −1
2 1
yˆ [n] ≈ N ν=0
ρ wr (ω) ρ wr (ω) + u 2r (ω)
2 dω
ρ (2 sin π ν/N )2r ρ (2 sin π ν/N )2r + u 2r [ν]
2 .
The sum in the second line of the above equation is readily calculated and the solution ρ˜ ≈ ρ¯ to the equation N −1
2 1
yˆ [n] N
ν=0
ρ (2 sin π ν/N )2r ρ (2 sin π ν/N )2r + u 2r [ν]
2 = ε2
is derived by the MATLAB function defroNSm.m.
4.4.3 Smoothing Generators for the Spline Spaces def
Obviously, the periodic function τρ (ω) = u p (ω)/Arρ (ω) is strictly positive on the real axis. Therefore, Proposition 4.6 claims that the spline L 2r ρ (t)
=
k∈Z
1 lρ [k]B (t − k) = 2π
1 = e−ikω lρ [k], Arρ (ω) k∈Z
2r
0
2π
1 ζ 2r (ω, t) dω, Arρ (ω)
(4.66)
80
4 Non-periodic Polynomial Splines
can serve as a generator of the space 2r S . Consequently, a smoothing spline from 2r S , which uses the input data y, can be represented by Sρ (t) =
k∈Z
Note that
y[k] L 2r ρ (t − k).
(4.67)
1 1 |ρ=0 = p . Arρ (ω) u (ω)
2r Hence, it follows that L 2r 0 (t) = L (t), which is the fundamental generator of the 2r space S . The samples of the spline at grid points are
u p (ω) = e−iωn L 2r ρ (k). r (ω) + u p (ω) ρ w 0 n∈Z (4.68) Figure 4.11, which was produced by the MATLAB code GensplConsNF_examp.m, displays the smoothing generators of orders 2, 4, 8 and 12 with the regularization parameter ρ = 0.1 versus their interpolating counterparts (ρ = 0) and the respective Fourier spectra. The smoothing generators are obviously smoother compared to the interpolating generators. Oscillations are significantly reduced. The low-frequency parts of the spectra remain intact while the high-frequency parts are suppressed. This stems from the structure of the denominaL 2r ρ (k) =
1 2π
2π
eiωn
u p (ω) dω, Arρ (ω)
Fig. 4.11 Left Dashed lines—fundamental splines L 2r (t) of orders 2, 4, 8 and 12 (ρ = 0). Solid lines—smoothing generators L 2r ρ (t) of the same orders, ρ = 0.1. Right Dashed lines—Fourier spectra of the fundamental splines L 2r (t). Solid lines—Fourier spectra of the smoothing generators L 2r ρ (t)
4.4 Polynomial Smoothing Splines (Global)
81
tor Arρ (ω) = ρ (2 sin ω/2)2r + u 2r (ω) in Eq. (4.60). The function (2 sin ω/2)2r ≈ 0 when the frequency ω is small, especially for splines of higher orders. Thus, when ω is small, Arρ (ω) ≈ u 2r (ω) and the spectrum of L 2r ρ (t) is very close to the spectrum 2r of L (t). def It follows from Eqs. (4.67) and (4.68) that sampling sρ = sρ [m] = Sρ (m) , m ∈ Z, of the smoothing spline, which is constructed on the data y, is represented by sρ [m] =
k∈Z
y[k] L 2r ρ (m − k), sˆρ (ω) =
u 2r (ω) yˆ (ω). ρ wr (ω) + u 2r (ω)
(4.69)
It can be regarded as a parameterized low-pass filtering of the signal y by the filter hρ2r = h 2r [k] , k ∈ Z, whose frequency response is ρ hˆ 2r ρ (ω) =
k∈Z
e−ikω h 2r ρ [k] =
u 2r (ω) ρ wr (ω) + u 2r (ω)
.
(4.70)
def
The width of the filter’s pass-band is controlled by the parameter ρ. If z = eiω , then u p (ω) =
e−ikω B p (k) =
k∈Z
z −k B p (k) = u¯ p (z), def
(4.71)
k∈Z
ω 2r 1 r def r = 2−z− = w¯ (z). wr (ω) = 2 sin 2 z Thus, the transfer function of the smoothing filter hρ2r is h 2r ρ (z) =
k∈Z
z −k h 2r ρ [k] =
u¯ 2r (z) . ρ w¯ r (z) + u¯ 2r (z)
(4.72)
Proposition 4.16 The smoothing spline Sρ (t) = k∈Z y[k]L 2r ρ (t − k) of order 2r restores polynomials P2r −1 (t) of degrees not exceeding 2r − 1. This means that if y[k] = P2r −1 (k), k ∈ Z, then Sρ (t) = P2r −1 (t). Proof The frequency response hˆ 2r ρ (ω) defined in Eq. (4.70) is a regular function of ρ in the vicinity of zero. Therefore, it is represented by u 2r (ω) ω 2r r = 1 − ρ G(ω) w (ω) = 1 − ρ G(ω) 2 sin , ρ wr (ω) + u 2r (ω) 2 u 2r (ω) def where G(ω) =
2 , 0 ≤ ρ˜ ≤ ρ. ρ˜ wr (ω) + u 2r (ω) hˆ 2r ρ (ω) =
82
4 Non-periodic Polynomial Splines
2r
Due to Eq. (1.30), the function 2 sin ω2 is the frequency response of the filter, 2r which acts as the central finite difference δ of order 2r . The function G(ω) can be regarded as the frequency response of a low-pass filter G. Thus, application of the filter hρ2r to a signal y results in hρ2r y = y − ρ G δ 2r [y]. If y[k] = P2r −1 (k), then Proposition 1.3 claims that δ 2r [y] = 0. Thus, the spline Sρ (t) interpolates the sampled polynomial P2r −1 (t) and, due to Proposition 4.9, Sρ (t) ≡ P2r −1 (t).
4.4.4 Examples We demonstrate here experiments on interpolation and smoothing of a fragment F from the chirp function f (t) = sin 1/t, t ∈ [0.0171, 0.093]. This fragment contains the smooth part and the oscillating part Fo with a variable frequency. Figure 4.12 displays the signal F. Figures 4.13 and 4.14 illustrate the difference between the performance of the interpolating and smoothing splines for restoration of the fragment F from severely noised samples with different sampling rates: 1:8, 1:16. Interpolation example: In the first experiment, the data contains 128 equidistant samples of the function, which are affected by white noise whose STD=0.35. These data were upsampled by a binary subdivision at ratio of 1:8, with the interpolating
Fig. 4.12 Fragment F from the chirp function f (t) = sin 1/t, t ∈ [0.0171, 0.093]
4.4 Polynomial Smoothing Splines (Global)
83
Fig. 4.13 Left restoration of the function f (t) = sin(1/t) from 128 noised samples by the interpolating splines of order 4 (top), 8 (middle) and 12 (bottom). Right restoration from 64 samples. Dotted line indicates the original function, and “pluses” indicate the available data. Designed splines are indicated by solid lines
splines of orders 4, 8 and 12. The results are displayed in the top, middle and bottom of the left side of Fig. 4.13, respectively. To be specific, the interpolating splines were constructed on the grid {k} , k = 1, . . . , 128, and their values at the points {l/8} , k = 1, . . . , 1024, were computed by the binary subdivision. In the second experiment, the data was decimated by factor 2. Thus, the initial data consisted of 64 noised samples. These data points were upsampled at the ratio of 1:16 by the application of a subdivision with the interpolating splines of orders 4, 8 and 12. The results are displayed on the right side of Fig. 4.13. Smoothing example: In this example, the experiments were similar to those carried out in the interpolation example, with the difference that smoothing splines were utilized instead of interpolating ones. The same data samples were used as in the previous experiments. The experiments with smoothing and interpolating splines were implemented by the MATLAB code smoothing_example_chirpN.m. The optimal regularization parameters ρ for the smoothing splines were derived by the MATLAB function defroNSm.m. For the design of the interpolating splines, parameters ρ were chosen to be zero. Figure 4.14 displays results of the experiments with smoothing splines.
84
4 Non-periodic Polynomial Splines
Fig. 4.14 Left restoration of the function f (t) = sin(1/t) from 128 noised samples by the smoothing splines of order 4 (top), 8 (middle) and 12 (bottom). Right restoration from 64 samples. Dotted line indicates the original function, and “pluses” indicate the available data. Designed splines are indicated by solid lines
Comments: The operational mode of smoothing splines on noised samples consists of two steps. First, a low-pass filtering with the transfer function 2r ¯ r (z) + u¯ 2r (z)) is applied to the samples. Next, the filtered samh 2r ρ (z) = u¯ (z)/(ρ w ples are interpolated by a spline from 2r S . Low-pass filtering limits the abilities of the smoothing splines to restore high-frequency events, such as edges, discontinuities, oscillations, etc., in signals. Frequently, they appear oversmoothed because higher frequencies become suppressed by a low-pass filtering. This is seen in Fig. 4.14, where, despite a strong noise, low-frequency fragments are satisfactorily restored, while high-frequency events are blurred. For the interpolating splines, the situation is reversed: low-frequency fragments are severely distorted, while high frequencies, which are not that sensitive to noise, are retained to a reasonable extent. A way to retain high-frequency events while reducing noise is offered, for example, by wavelet analysis. Another possible way is to use different parameters ρ for different frequency bands. That option is discussed in Chap. 11 in Volume I of this book [4].
References
85
References 1. M. Abramowitz, I.A. Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Dover, New York, 1972) 2. J.H. Ahlberg, E.N. Nilson, J.L. Walsh, The Theory of Splines and Their Applications (Academic Press, New York, 1987) 3. A. Aldroubi, M. Unser, M. Eden, Cardinal spline filters: stability and convergence to the ideal sinc interpolator. Signal Process. 28(2), 127–138 (1992) 4. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, New York, 2014) 5. G. Battle, A block spin construction of ondelettes. I. lemarié functions. Commun. Math. Phys. 110(4), 601–615 (1987) 6. J.W. Cooley, J.W. Tukey, An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965) 7. I.S. Gradshteyn, I.M. Ryzhik. Table of Integrals, Series, and Products (Elsevier Inc, Burlington, 2007) 8. P.G. Lemarié, Ondelettes à localisation exponentielle. J. Math. Pures Appl. 67(3, 9), 227–236 (1988) 9. C.H. Reinsch, Smoothing by spline functions. Num. Math. 10, 177–183 (1967) 10. I.J. Schoenberg, Spline functions and the problem of graduation. Proc. Natl. Acad. Sci. USA 52(4), 947–950 (1964) 11. I.J. Schoenberg, Cardinal interpolation and spline functions. J. Approx. Theory 2, 167–206 (1969) 12. I.J. Schoenberg, Cardinal Spline Interpolation (SIAM, Philadelphia, 1973) 13. G.P. Tolstov, Fourier Series (Dover Publications, New York, 1976) 14. E.T. Whittaker, On a new method of graduation. Proc. Edinburgh Math. Soc. 41, 63–75 (1922) 15. V. Zheludev, Local spline approximation on a uniform mesh. U.S.S.R. Comput. Math. Math. Phys. 27(5), 8–19 (1987)
Chapter 5
Quasi-interpolating and Smoothing Local Splines
Abstract In this chapter, local quasi-interpolating and smoothing splines are described. Although approximation properties of local spline are similar to properties of the global interpolating and smoothing splines, their design does not require the IIR filtering of the whole data array. The computation of a local spline value at some point utilizes only a few adjacent grid samples. Therefore, local splines can be used for real-time processing of signals and for the design of FIR filter banks generating wavelets and wavelet frames (Chaps. 12 and 14). In the chapter, local splines of different orders are designed and their approximation properties are established which are compared with the properties of global splines. Compactly supported generators of the spline spaces are described. Interpolating and smoothing global splines possess valuable properties such as good approximation of signals, symmetry and flat spectra of generators. They are designed by simple construction algorithms. These splines serve as a source for the wavelets and frame design (Chaps. 12 and 14). However, these splines can be hardly used in real-time processing of signals because their construction requires either a combination of causal and anti-causal recursive filtering with IIR filters (Chaps. 4 and 7) or application of the discrete Fourier transforms, as in Volume I of this book [1]. Therefore, it is advisable to have splines, whose properties are close to the properties of the corresponding global splines but in which the filters used for the construction have finite impulse response. Such splines are called local. This chapter the design of local splines is described and their approximation properties are investigated.
5.1 Moments of B-Splines The design of quasi-interpolating and smoothing local splines is based on some def ∞ properties of moments of the B-splines. Denote by M p [s] = −∞ t s B p (t) dt the moment of order s of the B-spline B p (t). Due to the B-splines symmetry, all the odd-order moments are zero. Proposition 5.1 Assume that a signal f (t) is compactly supported or decays faster than any polynomial as t → ∞. Then, the moment is © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_5
87
88
5 Quasi-interpolating and Smoothing Local Splines
M [s] = p
∞
−∞
t s f (t) dt = (i)s
d s fˆ(ω) |ω=0 . dωs
Proof The Fourier transform of the signal f (t) is fˆ(ω) =
∞ −∞
e−iωt f (t) dt =⇒
∞
−∞
f (t) dt = fˆ(0).
The derivative is d fˆ(ω) = −i dω
∞ −∞
t e−iωt f (t) dt =⇒
∞ −∞
t f (t) dt = i
d fˆ(ω) |ω=0 . dω
Formulas for the higher order moments are derived similarly. It follows from Proposition 5.1 that all the moments of the B-spline B p (t) can be obtained from the Maclaurin expansion of its Fourier transform in the following way ∞ sin ω/2 p (−1)s M p [2s] 2s ω . = (5.1) ω/2 (2s)! s=0
A few initial moments are M p [2] =
p , 12
M p [4] =
p(5 p − 2) , 240
M p [6] =
p(35 p 2 − 42 p + 16) . 4032
(5.2)
The function def
μ p [s](t) =
(k + t)s B p (k + t)
(5.3)
k∈Z
is called the discrete moment of the B-spline. It is well known [2] that two initial discrete moments do not depend on t and coincide with the corresponding moments such that μ p [0](t) =
k∈Z
B p (k + t) = 1 = M p [0], μ p [1](t) =
(k + t)B p (k + t) = 0 = M p [1].
k∈Z
Higher order discrete moments possess a similar property. Proposition 5.2 The discrete moments μ p [s](t), s = 0, 1, ... p − 1, of the B-spline B p (t) do not depend on t and coincide with the corresponding moments M p [s].
5.1 Moments of B-Splines
89
Proof Denote Φ p (ω, t) = e−iω t ζ p (ω, t) = def
e−iω(k+t) B p (k + t).
k∈Z
Obviously, d s Φ p (ω, t) s | = (−i) e−iω(k+t) (k + t)s B p (k + t)|ω=0 ω=0 dωs k∈Z s = (−i) (k + t)s B p (k + t) = (−i)s μ p [s](t). k∈Z
On the other hand, Eq. (3.17) implies that Φ (ω, t) = p
l∈Z
e
2πilt
sin(ω + 2πl)/2 (ω + 2πl)/2
p
=
sin ω/2 ω/2
p + Ψ p (ω, t),
where def
Ψ p (ω, t) = sin p
ω 2πilt (−1)lp e . 2 (ω/2 + πl) p
(5.4)
l∈Z\0
When p ≥ 2, the series in Eq. (5.4) converges absolutely and uniformly as ω ∈ [−π, π ]. Thus, Ψ p (ω, t) is an infinitely differentiable function of ω at this interval. Due to presence of the factor sin p ω/2, the derivatives are d s Ψ p (ω, t) |ω=0 = 0 dωs
(5.5)
when s = 0, 1, ... p − 1. Hence, it follows that for s = 0, 1, ... p − 1 μ p [s](t) = i s
d s Φ p (ω, t) ds |ω=0 = i s s s dω dω
sin ω/2 ω/2
p |ω=0 = M p [s].
Remark 5.1.1 Independence of the discrete moments from the variable t and the relations μ p [s](t) ≡ M p [s], s = 0, 1, ... p − 1, were established in [3, 7, 8] by a different way. In addition, it is shown in [8] that the higher order discrete moments = (−1) p+1 B˘ p (t) + M p [ p], μ p [ p](t) p μ [ p + 1](t) = (−1) p+1 p B˘ p+1 (t) + M p [ p + 1], where B˘ ν (t) is the Bernoulli monospline of degree ν (see Table 4.1).
(5.6)
90
5 Quasi-interpolating and Smoothing Local Splines
5.2 Local Splines Definition 5.1 A spline that approximaties a continuous-time signal f (t) from its samples { f (k), k ∈ Z, } is called local if the calculation of the spline value at a single point t requires only finite number of samples. Interpolating and smoothing splines presented in Sects. 4.2 and 4.4 require all the samples { f (k), k ∈ Z, } for the calculation of the spline value at a single point t. They are called global.
5.2.1 Simplest (Variation-Diminishing) Splines The simplest local spline from the space p S which approximates the signal f (t) is def
p
S0 [ f ](t) =
f (k) B p (t − k).
(5.7)
k∈Z
Proposition 5.2 and Eqs. (5.2) and (5.6) imply that the discrete moments of the B-spline are
B p (t − k) = 1,
k∈Z
(t − k) B p (t − k) = (t − k)3 B p (t − k) = 0, k∈Z
k∈Z
(5.8)
p . (t − k)2 B p (t − k) = M p [2] = 12 k∈Z
It is seen from Eq. (5.8) that (t −k) B p (t −k) = t B p (t −k)− k B p (t −k) = 0 =⇒ k B p (t −k) = t. k∈Z
k∈Z
k∈Z
k∈Z
p
S0 [ f ](t) restores polynomials of first degree. This does not take place for the quadratic polynomials: p = (t − k)2 B p (t − k) = t (t − k) B p (t − k) − k(t − k) B p (t − k) 12 k∈Z k∈Z k∈Z p 2 p 2 k B (t − k) + k B (t − k) = −t + k 2 B p (t − k) = −t k∈Z
=⇒
k∈Z
k∈Z
p k B (t − k) = t + . 12 2
p
2
k∈Z
5.2 Local Splines
91
The monomial t 2 is restored up to the constant p/12. The B-spline B p (t) is supported on the interval (–p/2,p/2. Therefore, in order to calculate the value of S02r [ f ](τ + m), τ ∈ [0, 1), we need 2r samples { f (m − r + 1), ..., f (m), ..., f (m + r )}. If the spline order is p = 2r + 1, then { f (m − r ), ..., f (m), ..., f (m + r )} if τ ∈ [0, 1/2), { f (m − r + 1), ..., f (m), ..., f (m + r + 1)} if τ ∈ [1/2, 1), are needed. The grid point values of the splines are r −1
S02r [ f ](m) =
f (m + k) B 2r (k), S02r +1 [ f ](m) =
k=−r +1
r
f (m + k) B 2r +1 (k).
k=−r
Due to the positiveness and symmetry of the B-splines, the mapping { f (k)} −→ p def S0 [ f ](k) is equivalent to filtering the discrete- time signal f = { f (k), k ∈ Z, } def
by the FIR low-pass linear phase filter b p = {B p (k)}, whose frequency response is def p p u p (ω) and whose phase response is zero. Denote s0 [ f ] = S0 [ f ](k) . Then, p p s0 [ f ] = b p f ⇐⇒ sˆ0 [ f ](ω) = u p (ω) fˆ(ω).
(5.9)
Since the filters b p are FIR, they can be applied to the sequences { f (k), k ∈ Z, }, which do not belong to l1 such as sampled polynomials, for example. Application of the low-pass filters b p results in smoothing the sequence { f (k), k ∈ Z, }. Moreover, p the so-called variation-diminishing property of the splines S0 [ f ](t) is established in [5]: p Proposition 5.3 ([5]) For any linear function l(t) = ct+d, the difference S0 [ f ](t)− 1 l(t) has no more variations in sign on any interval [a,b] than the difference f (t) − l(t).
5.2.2 Quasi-interpolating Splines Recall (Eq. (4.36)) that the interpolating generator of the spline space p S is the spline 1 L (t) = 2π
p
0
2π
ζ p (ω, t) p p dω = l[k] B (t − k), u (ω) = e−iωk B p (k), u p (ω) k∈Z
k∈Z
whose support for any p > 2 is infinite. The function u p (ω) is a polynomial of cos2 ω/2 and u p (0) = 1. Therefore, it can be represented as u p (ω) = 1 + P(sin2 ω/2), where P(t) is a polynomial. 1 Changes
of sign.
92
5 Quasi-interpolating and Smoothing Local Splines
5.2.2.1 Quadratic Quasi-interpolating Splines It follows from Eqs. (3.19) and (4.10) that ∞ 1 ω 2 ω 2k 1 1 + cos2 ω/2 1 =1− 2 sin = 2 sin =⇒ 3 , 2 8 2 u (ω) 8k 2 k=0 2π ∞ ω 2 1 ω 2k 1 1 3 2 sin 2 sin L (t) = + 1+ ζ 3 (ω, t) dω 2π 0 8 2 8k 2 k=2 k ∞ −1 1 = B 3 (t) − δ12 [B 3 ](t) + δ12k [B 3 ](t). 8 8
u 3 (ω) =
k=2
Then, the quadratic spline S 3 [ f ](t) , which interpolates the sequence { f (k), k ∈ Z} can be represented by S 3 [ f ](t) =
k∈Z
=
f (k) L 3 (t − k)
k∈Z
(5.10)
∞ −1 k 2k 1 2 δ1 [ f ](k) B 3 (t − k). f (k) − δ1 [ f ](k) + 8 8 k=2
Quasi-interpolating spline (QIS) Assume that f (t) = P3 (t) is a polynomial of degree not exceeding 3. Then, for all k > 1, we have δ12k [ f ](t) ≡ 0 and S 3 [ f ](t) =
f (k) L 3 (t−k) =
k∈Z
k∈Z
1 f (k) − δ12 [ f ](k) B 3 (t−k) = f (k) L 31 (t−k), 8 k∈Z
where def L 31 (t) =
1 1 B (t) − δ12 B 3 (t) = 8 2π
2π
3
0
1 ω 2 3 1+ ζ (ω, t) dω. (5.11) 2 sin 8 2
In other words, if f (t) is a polynomial of degree not exceeding 3, then the interpolating spline S 3 [ f ](t) coincides with the spline def
S13 [ f ](t) =
2
f (k) L 31 (t − k)
(5.12)
k=−2 2
1 f (k) 10 B 3 (t − k) − B 3 (t − k − 1) − B 3 (t − k + 1) . = 8 k=−2
5.2 Local Splines
93
Consequently, the spline S13 [ f ](t) interpolates cubic polynomials and, like the interpolating spline S 3 [ f ](t), it restores quadratic polynomials. This is why the spline S13 [ f ](t) is referred to as quasi-interpolating spline (QIS). Equation (4.48) and Table 4.1 imply that if f (t) = t 3 then t 3 − S13 [ f ](t) = B˘ 3 (t) = τ (τ − 1)(τ − 1/2), τ = t − [t].
(5.13)
It is seen from Eq. (5.13) that QIS S13 [ f ](t) interpolates cubic polynomials not only at grid points {k} but also at midpoints {k + 1/2}. Obviously, 1 + 1/8 (2 sin ω/2)2 > 0, thus, according to Proposition 4.6, the spline L 31 (t) can serve as a generator for the spline space 3 S . The quadratic B-spline is supported on the interval (−3/2,3/2). Thus, the support of L 31 (t) is (−5/2,5/2). Therefore, in order to calculate the value of S13 [ f ](τ + m), τ ∈ [0, 1), we need the samples { f (m − 3), ..., f (m), ..., f (m + 2)} ifτ ∈ [0, 1/2), { f (m − 2), ..., f (m), ..., f (m + 3)} ifτ ∈ [1/2, 1). Thus, QIS S13 [ f ](t) is local. Grid samples of the generator L 31 [ f ](t) are 1 L 31 (m) = B 3 (m) − δ12 B 3 (m) 8 −δ[m − 2] + 4 δ[m − 1] + 58 δ[m] + 4 δ[m + 1] − δ[m + 2] , = 64 where δ[m] is the Kronecker delta. Recall that grid samples of the interpolating gener def ator L 3 [ f ](m) = δ[m]. The z-transform of the sampled generator l13 = L 31 (m) is l13 (z) =
−z 2 + 4 z + 58 + 4 z −1 − z −2 . 64
Consequently, grid samples of the QIS S13 [ f ](t) are S13 (m) =
2 k=−2
f (k) L 31 (m − k) =
2
f (k) l13 [m − k]
(5.14)
k=−2
− f (m − 2) + 4 f (m − 1) + 58 f (m) + 4 f (m + 1) − f (m + 2) . 64 Mapping { f (m)} −→ S13 [ f ](m) is equivalent to filtering the discrete-time signal =
def
f = { f (m), m ∈ Z, } by the low-pass linear phase 5-tap filter l13 , whose transfer function is the Laurent polynomial l13 (z).
94
5 Quasi-interpolating and Smoothing Local Splines
Extended quasi-interpolating spline (EQIS) Assume that the function f (t) = P5 (t) to be interpolated is a polynomial of degree not exceeding 5. Then three initial terms in the series in Eq. (5.10) are retained. This means that, for polynomials of degree not exceeding 5, the quadratic interpolating splines coincide with the local splines f (k) L 32 (t − k), S23 [ f ](t) = k∈Z
where 1 1 def L 32 (t) = B 3 (t) − δ12 B 3 (t) + δ14 B 3 (t) 8 64 2π ω 2 ω 4 3 1 1 1 2 sin 2 sin = + 1+ ζ (ω, t) dω. 2π 0 8 2 64 2 Similarly to the spline S13 [ f ](t), we have t 3 − S23 [ f ](t) = B˘ 3 (t) = τ (τ − 1)(τ − 1/2), τ = t − [t]. Therefore, the spline S23 [ f ](t) interpolates fifth-degree polynomials at grid points and third-degree polynomials at at midpoints {k + 1/2}. The spline S23 [ f ](t) is called extended quadratuc quasi-interpolating spline (EQIS). The spline L 32 (t) can serve as a generator for the spline space 3 S . The support of L 32 (t) is (−7/2,7/2). def The z-transform of the sampled generator l23 = L 32 (m) is l23 (z) =
z 3 − 6z 2 + 15 z + 492 + 15 z −1 − 6z −2 + z −3 . 512
(5.15)
Consequently, grid samples of the QIS S23 [ f ](t) are S23 (m)
=
3 k=−3
=
f (k) L 32 (m
− k) =
3
f (k) l23 [m − k]
(5.16)
k=−3
1 f (m − 3) − 6 f (m − 2) + 15 f (m − 1) 512
+ 492 f (m) + 15 f (m + 1) − 6 f (m + 2) + f (m + 3) .
Mapping { f (m)} −→ S23 [ f ](m) is equivalent to filtering the discrete-time signal def
f = { f (m), m ∈ Z, } by the low-pass linear phase 7-tap filter l23 , whose transfer function is the Laurent polynomial l23 (z). Figure 5.1, which is produced by the MATLAB code gen_LSpl_consN3.m, displays the local splines generators B 3 (t), L 31 (t) and L 32 (t) from the space 3 S versus the interpolating generator L 3 (t). The right panel in Fig. 5.1 depicts their Fourier spectra. For a better resolution, only the positive halves of the spectra are shown.
5.2 Local Splines
95
Fig. 5.1 Left Generators of the quadratic spline space 3 S : solid line depicts the interpolating generator L 3 (t), dashed line—the B-spline B 3 (t), dotted line—QIS L 31 (t), dash-dotted line— EQIS and L 32 (t). Right Fourier spectra of these generators (right-hand halves) with the same lines’ specification
The negative parts mirror the positive ones. We observe that the shape of L 31 (t) is close to the shape of L 3 (t) and the shape of L 32 (t) is even closer to the shape of L 3 (t). The same can be said about the generators’ spectra.
5.2.2.2 Cubic Quasi-interpolating Splines It follows from Eqs. (3.19) and (4.10) that ∞ k ω 2 1 ω 2k 1 + 2 cos2 ω/2 1 1 2 sin 2 sin =⇒ 4 , =1− = 3 6 2 u (ω) 6 2 k=0 2π ω 2 ω 4 1 1 1 2 sin 2 sin 1+ + L 4 (t) = 2π 0 6 2 36 2 ∞ k
2k ω 1 2 sin ζ 3 (ω, t) dω + 6 2 k=3 ∞ −1 k 2k 4 1 2 4 1 4 4 4 δ1 [B ](t). =B (t) − δ1 [B ](t) + δ1 [B ](t) + 6 36 6
u 4 (ω) =
k=3
96
5 Quasi-interpolating and Smoothing Local Splines
Then, the cubic spline S 4 [ f ](t) which interpolates a sequence { f (k), k ∈ Z, } can be represented as S 4 (t) =
k∈Z
=
k∈Z
f (k) L 4 (t − k) ⎛
∞
⎝ f (k) − 1 δ 2 [ f ](k) + 1 δ 4 [ f ](k) + 1 1 6 36
k=3
⎞ −1 k 2k δ1 [ f ](k)⎠ B 4 (t − k). 6
Cubic QIS: Assume that f (t) = P3 (t) is a polynomial of degree not exceeding 3. Then, the interpolating spline S 4 [ f ](t) coincides with the spline def
S14 [ f ](t) =
f (k) L 41 (t − k),
(5.17)
k∈Z
where 1 1 def L 41 (t) = B 4 (t) − δ12 B 4 (t) = 6 2π
2π
0
1+
1 ω 2 4 ζ (ω, t) dω. (5.18) 2 sin 6 2
Consequently, the spline S14 [ f ](t), like the spline S 4 [ f ](t), restores cubic polynomials. In that sense, S14 [ f ](t) is QIS. The spline L 41 (t) can serve as a generator for the spline space 4 S . The support of L 41 (t) is (−3,3). Thus, QIS S14 [ f ](t) is local. In order to calculate the value of S14 [ f ](τ + m), τ ∈ [0, 1), we need 6 samples { f (m − 2), ..., f (m), ..., f (m + 3)}. def The z-transform of the sampled generator l14 = L 41 (m) is l14 (z) =
−z 2 + 4 z + 30 + 4 z −1 − z −2 . 36
Consequently, grid samples of the QIS S14 [ f ](t) are S14 (m) =
2 k=−2
f (k) L 41 (m − k) =
2
f (k) l14 [m − k]
k=−2
1 − f (m − 2) + 4 f (m − 1) + 30 f (m) + 4 f (m + 1) − f (m + 2) . = 36 The map{ f (m)} −→ S14 [ f ](m) is equivalent to filtering the discrete-time signal def
f = { f (m), m ∈ Z, } by the low-pass linear phase 5-tap filter l14 , whose transfer function is the Laurent polynomial l14 (z).
5.2 Local Splines
97
Cubic EQIS: If f (t) = P5 (t) is a polynomial of degree not exceeding 5, then the def 4 interpolating spline S 4 [ f ](t) coincides with the spline S24 [ f ](t) = k∈Z f (k) L 2 (t − k), where 1 1 def L 42 (t) = B 4 (t) − δ12 B 4 (t) + δ14 B 4 (t) 6 36 2π 1 ω 2 ω 4 4 1 1 1+ ζ (ω, t) dω. 2 sin 2 sin = + 2π 0 6 2 36 2 The spline S24 [ f ](t), like the spline S 4 [ f ](t), restores cubic polynomials and interpolates polynomials of the fourth and fifth degrees. The spline S24 [ f ](t) is referred to as extended cubic quasi-interpolating spline (EQIS). Similarly to L 41 (t), the spline L 42 (t) can serve as a generator for the spline space 4 S . The support of L 42 (t) is (−4,4). Thus, EQIS S23 [ f ](t) is local. In order to calculate the value of S24 [ f ](τ + m), τ ∈ [0, 1), 8 samples { f (m + k)} , k = −3, ..., 4, are needed. Equation (4.48) and Table 4.1 imply that if f (t) = t 4 then t 4 − S14 [ f ](t) = B˘ 4 (t) − B˘ 4 (0) = τ 2 (τ − 1)2 , τ = t − [t]. def The z-transform of the sampled generator l24 = L 42 (m) is l24 (z) =
z 3 − 6z 2 + 15 z + 196 + 15 z −1 − 6z −2 + z −3 . 216
Consequently, grid samples of the QIS S23 [ f ](t) are S23 (m) =
3 k=−3
f (k) L 42 (m − k) =
3
f (k) l24 [m − k]
k=−3
1 f (m − 3) − 6 f (m − 2) + 15 f (m − 1) = 216
+ 216 f (m) + 15 f (m + 1) − 6 f (m + 2) + f (m + 3) .
The map { f (m)} −→ S24 [ f ](m) is equivalent to filtering the discrete-time signal def
f = { f (m), m ∈ Z} by the low-pass linear phase 7-tap filter l24 , whose transfer function is the Laurent polynomial l24 (z). Figure 5.2, which is produced by the MATLAB code gen_LSpl_consN3.m, displays local splines’ generators B 4 (t), L 41 (t) and L 42 (t) for the space 4 S versus the interpolating generator L 4 (t). The right panel in the Fig. 5.2 depicts their Fourier spectra. For a better resolution, only the positive halves of the spectra are shown. TWe observe that the shape of L 41 (t) is close to the shape of L 4 (t) and that the shape of L 42 (t) is even closer to the shape of L 4 (t). The same can be said about the generators’ spectra.
98
5 Quasi-interpolating and Smoothing Local Splines
Fig. 5.2 Left Generators of the cubic spline space 4 S : Solid line depicts the interpolating generator L 4 (t), dashed line—the B-spline B 4 (t), dotted line—QIS L 41 (t), dash-dotted line—EQIS L 42 (t). Right Fourier spectra of these generators (right-hand halves) with the same lines’ specification
5.2.2.3 Quasi-interpolating Splines of of Arbitrary Order p We saw that for the quadratic and cubic splines spaces the inverse 1/u (ω),2kp = 3, 4, of the characteristic functions are expanded over the powers (2 sin ω/2) . This is true for splines spaces of any order.
Proposition 5.4 The inverse 1/u p (ω) of the characteristic function of the spline space p S can be expanded as ∞
1 = 1 + c p [k](2 sin ω/2)2k , u p (ω)
(5.19)
k=1
where the coefficients c p [k] are non-negative. Proof Proposition 3.4 claims that the characteristic function u p (ω) = Pr (cos2 ω/2), r = [( p − 1)/2] and all the roots of the polynomial Pr (y) are simple and negative. Thus, it can be represented as a polynomial u p (ω) = Q r (sin2 ω/2), r = [( p−1)/2]. Since sin2 ω/2 = 1 − cos2 ω/2, all the roots α1 , ..., αr of the polynomial Q r (y) are simple, positive and greater than 1 and the following expansion holds
5.2 Local Splines
99
y y y 1− ··· 1− Q r (y) = 1 − α1 α2 αr −1 −1 y y 1 y −1 1− = 1− =⇒ ··· 1− Q r (y) α1 α2 αr r ∞ k ∞ y = c p [k](4y)k , c p [k] ≥ 0. 1+ =1+ αl l=1
k=1
k=1
Hence, Eq. (5.19) follows. Corollary 5.1 The fundamental spline L p (t) of the spline space p S can be represented by
2π
L (t) = p
1+
0
r k=1
= B p (t) +
r
∞ ω 2k ω 2k c [k] 2 sin + c p [k] 2 sin 2 2
p
k=r +1 ∞
ζ p (ω, t) dω
(−1)k c p [k]δ12k [B p ](t) +
(−1)k c p [k]δ12k [B p ](t), r =
k=r +1
k=1
p−1 2
and the spline S p [ f ](t) ∈ p S , which interpolates a sequence { f (k), k ∈ Z, } is S p [ f ](t) =
k∈Z
=
f (k) L p (t − k) f (k) +
k∈Z
r
k
(−1) c
p
∞
[k]δ12k [ f ](k) +
k
(−1) c
p
[k]δ12k [ f ](k)
B p (t − k).
k=r +1
k=1
Splines of odd order: Assume that p = 2r + 1 and f (t) = P2r +1 (t) is a polynomial of degree not exceeding 2r + 1. Then, for all k > r , we have δ12k [ f ](t) ≡ 0 and the interpolating spline is S 2r +1 [ f ](t) =
k∈Z
=
f (k) L 2r +1 (t − k) f (k) +
k∈Z
r
(−1)k c p [k]δ12k [ f ](k) B 2r +1 (t − k) =
f (k) L r2r +1 (t − k),
k∈Z
k=1
where L r2r +1 (t) = B 2r +1 (t) + def
1 = 2π
2π 0
r
(−1)k c p [k]δ12k [B 2r +1 ](t)
k=1
1+
r k=1
ω 2k c [k] 2 sin 2 p
ζ 2r +1 (ω, t) dω.
(5.20)
100
5 Quasi-interpolating and Smoothing Local Splines
This means that the local spline Sr2r +1 [ f ](t) =
def
f (k) L r2r +1 (t − k)
(5.21)
k∈Z
coincides with the interpolating spline S 2r +1 [ f ](t) on polynomials of degree not exceeding 2r + 1. Consequently, the spline Sr2r +1 [ f ](t) is QIS. It restores polynomials of degree not exceeding 2r and interpolates polynomials of degree not exceeding 2r +1 . Equation (4.48) implies that, if f (t) = t 2r +1 , then t 2r +1 − Sr2r +1 [ f ](t) = B˘ 2r +1 (t).
(5.22)
The Bernoulli polynomials of odd degrees have zero at the point 1/2. Thus, QIS Sr2r +1 [ f ](t) interpolates polynomials of degree not exceeding 2r + 1 not only at grid points {k} but, like the interpolating spline, also at midpoints {k + 1/2}. This fact constitutes the super-convergence property of odd-order splines at midpoints between the interpolation points. The spline L r2r +1 (t) can serve as a generator for the spline space 2r +1 S . QIS Sr2r +1 [ f ](t) is local. Splines of even order: Assume that p = 2r +2 and f (t) = P2r +1 (t) is a polynomial of degree not exceeding 2r + 1. Then, for all k > r , we have δ12k [ f ](t) ≡ 0 and the interpolating spline is S 2r +2 [ f ](t) =
k∈Z
=
f (k) L 2r +2 (t − k) f (k) +
k∈Z
=
r
k
(−1) c
p
[k]δ12k [ f ](k)
B 2r +2 (t − k)
k=1
f (k) L r2r +2 (t
− k),
k∈Z
where L r2r +2 (t) = B 2r +2 (t) + def
1 = 2π
2π
r
(−1)k c p [k]δ12k [B 2r +2 ](t)
k=1
1+
0
r k=1
ω 2k c [k] 2 sin 2 p
ζ 2r +2 (ω, t) dω.
(5.23)
This means that the local spline Sr2r +2 [ f ](t) =
def
k∈Z
f (k) L r2r +2 (t − k)
(5.24)
5.2 Local Splines
101
coincides with the interpolating spline S 2r +2 [ f ](t) on polynomials of degree not exceeding 2r + 1. Consequently, the spline Sr2r +2 [ f ](t) is QIS. It restores polynomials of degree not exceeding 2r + 1. It is proved in [8] that if f (t) = t 2r +2 , then t 2r +2 − Sr2r +2 [ f ](t) = B˘ 2r +2 (t) + c2r +2 [r + 1],
(5.25)
where B˘ p (t) is the Bernoulli monospline. The spline L r2r +2 (t) can serve as a generator for the spline space 2r +2 S . QIS Sr2r +2 [ f ](t) is local. p
Calculation of the coefficients of QIS: When the order p of the QIS Sr [ f ](t) is not high, the coefficients c p [k] in Eqs. (5.20) and (5.23) can be calculated directly as it was done for the quadratic and cubic splines. However, there exists an elegant general method due to Schoenberg [4], which enables us to readily calculate the coefficients c p [k], k = 1, ..., r, when p = 2r + 1 or p = 2r + 2. Proposition 5.5 The coefficients for QISs of orders p = 2r + 1 or p = 2r + 2, are c p [k] = ν p [k], k ≤ r, where ν p [k] are the coefficients from the Taylor expansion of the function ((2 arcsin y/2)/y) p such that
2 arcsin y/2 y
p =1+
∞
ν p [k] y 2k .
(5.26)
k=1
Proof Equation (4.6) implies that the characteristic function of the spline space p S can be represented as u p (ω) = =⇒
sin(ω + 2πl)/2 p l∈Z
sin ω/2 ω/2
(ω + 2πl)/2
p
= u p (ω) − sin p
=
sin ω/2 ω/2
p + sin p
ω p ψ (ω) 2
ω p ψ (ω), 2
(5.27)
where the function def
ψ p (ω) =
l∈Z\0
(−1)lp (ω/2 + πl) p
is regular in the vicinity of zero. Then, Eqs. (5.19) and (5.27) imply that the product
sin ω/2 ω/2
p ∞ p 2k c [k](2 sin ω/2) 1+ k=1
(sin ω/2) p ψ p (ω) u p (ω) − (sin ω/2) p ψ p (ω) = 1 − . = u p (ω) u p (ω)
102
5 Quasi-interpolating and Smoothing Local Splines
Consequently, 1+
∞
c p [k](2 sin ω/2)2k =
k=1
ω/2 sin ω/2
p −
ω p ψ p (ω) . 2 u p (ω)
def
Following [4], denote y = 2 sin ω/2; thus ω = 2 arcsin y/2. Then, we have 1+
∞
c p [k]y 2k =
k=1
ψ p (2 arcsin y/2) 2 arcsin y/2 p def − Ψ (y), Ψ (y) = (arcsin y/2) p p . y u (2 arcsin y/2)
The even regular function ((2 arcsin y/2)/y) p can be expanded in the vicinity of zero over even powers of y such that
2 arcsin y/2 y
p =1+
∞
ν p [k] y 2k .
k=1
The Taylor expansion of the function Ψ (y) starts from the term y p ; therefore, the coefficients c p [k] = ν[k] when k ≤ r . A few initial coefficients include c p [1] =
p p(5 p + 22) p(35 p 2 + 462 p + 1528) , c p [2] = , c p [3] = . 24 5760 2903040
Fifth-order QIS: The fifth-order QIS generator is 5 49 4 5 L 52 (t) = B 5 (t) − δ12 [B 5 ](t) + δ [B ](t) 24 1152 1 2π 5 ω 2 ω 4 1 49 1+ ζ 5 (ω, t) dω. 2 sin 2 sin = + 2π 0 24 2 1152 2 Using Eq. (5.22) and Table 4.1, we have for τ = t − [t] 4
k s L 52 (t − k) = t s , s = 0, 1, ..., 4,
k=−4
k∈Z
k 5 L 52 (t − k) = t 5 + τ (τ − 1)(τ − 1/2)(τ 2 − τ − 1/3)).
5.2 Local Splines
103
Thus, the local spline S25 [ f ](t)
4
=
k=−4
f (k) L 52 (t − k)
=
k∈Z
5 2 49 4 f (k) − δ1 [ f ](k) + δ [ f ](k) B 5 (t − k), 24 1152 1
restores polynomials of the fourth degree and, like the interpolating spline S 5 [ f ](t), between the grid points. interpolates the monomial t 5 at grid points and atmidpoints The z-transform of the sampled generator l25 = L 52 (k is l25 (z) =
1 49(z 4 + z −4 ) + 3288(z 3 + z −3 ) 442368 − 19940(z 2 + z −2 ) + 49384(z + z −1 ) + 376806 .
The fifth-order local spline, which is intermediate between the simplest spline and the QIS, is S15 [ f ](t)
=
4
f (k) L 51 (t − k),
L 51 (t) = B 5 (t) −
k=−4
5 2 5 δ [B ](t). 24 1
The spline S15 [ f ](t) restores cubic polynomials. Figure 5.3, which is produced by the MATLAB code gen_LSpl_consN3.m, displays the local splines’ generators B 5 (t), L 51 (t) and L 52 (t) of the space 5 S versus the interpolating generator L 5 (t). The right panel in Fig. 5.3 depicts the positive halves of their Fourier spectra. We observe that the shape of L 52 (t) differs from the shape of L 5 (t) and the essential part of its spectrum is significantly narrower than that of the spline L 5 (t). Thus, the local fifth-order splines can serve as smoothing ones. Sixth-order QIS: The generator of the sixth-order QIS is 1 13 4 6 δ [B ](t) L 62 (t) = B 6 (t) − δ12 [B 6 ](t) + 4 240 1 2π 1 ω 2 ω 4 1 13 1+ ζ 6 (ω, t) dω. 2 sin 2 sin = + 2π 0 4 2 240 2 By using Eq. (5.25) and Table 4.1, for τ = t − [t] we get
k s L r6 (t − k) = t s , s = 0, 1, ..., 5,
k∈Z
k∈Z
k 6 L r6 (t − k) = τ 2 (τ − 1)2 (τ 2 − τ − 1/2) +
149 . 12096
104
5 Quasi-interpolating and Smoothing Local Splines
Fig. 5.3 Left Generators of the spline space 5 S : Solid line depicts the interpolating generator L 5 (t), dashed line—the B-spline B 5 (t), dotted line—intermediate generator L 51 (t), dash-dotted line—QIS L 52 (t). Right Fourier spectra of these generators (right-hand halves) with the same lines’ specification
Thus, the local spline S25 [ f ](t) =
4 k=−4
=
k∈Z
f (k) L 62 (t − k) 1 13 4 f (k) − δ12 [ f ](k) + δ1 [ f ](k) B 6 (t − k), 4 240
restores of the fifth degree. The z-transform of the sampled generator polynomials l26 = L 62 (k is l26 (z) =
13(z 4 + z −4 ) + 226(z 3 + z −3 ) − 1616(z 2 + z −2 ) + 4222(z + z −1 ) + 23110 . 28800
The sixth-order local spline, which is intermediate between the simplest spline and QIS, is S16 [ f ](t) =
4 k=−4
f (k) L 61 (t − k),
L 61 (t) = B 6 (t) −
1 2 5 δ [B ](t). 44 1
5.2 Local Splines
105
Fig. 5.4 Left Generators of the cubic spline space 6 S : Solid line depicts the interpolating generator L 6 (t), dashed line—the B-spline B 6 (t), dotted line—intermediate generator L 61 (t), dash-dotted line—QIS L 62 (t). Right Fourier spectra of these generators (right-hand halves) with the same lines’ specification
The spline S16 [ f ](t) restores cubic polynomials. Figure 5.4, which is produced by the MATLAB code gen_LSpl_consN3.m, displays local splines generators B 6 (t), L 61 (t) and L 62 (t) of the space 6 S versus the interpolating generator L 6 (t). The right panel in Fig. 5.4 depicts the positive halves of their Fourier spectra. We observe that the shape of L 62 (t) differs from the shape of L 6 (t) and the essential part of its spectrum is significantly narrower than that of the spline L 6 (t). Thus, the local fifth-order splines can serve as smoothing splines.
5.2.3 Examples In this section, we construct local splines from samples F of the chirp function f (t) = sin 1/t, t ∈ [0.0171, 0.0271], which was used in the examples of Sect. 4.4.4. We compare smoothing properties of these splines with properties of global smoothing splines and also compare smoothing properties of simplest local splines of different orders. As the input, we use the same data that was used in the examples in Sect. 4.4.4. The function f (t) is depicted in Fig. 4.12.
106
5 Quasi-interpolating and Smoothing Local Splines
Fig. 5.5 Left restoration of the function f (t) = sin(1/t) from 128 noised samples by the splines of order 6: Sρ6 (t) (top), S06 [ f ](t) (middle) and S16 [ f ](t) (bottom). Right restoration from 64 samples. Dotted line indicates the original function, “pluses”—available data samples. The splines are depicted by solid lines
Example 1: Comparison of performance of sixth-order splines: Figure 5.5 illustrates the difference between the performance of the global smoothing splines Sρ6 (t) of the sixth order and the local sixth-order splines S06 [ f ](t) and S16 [ f ](t) for restoration of the fragment F from severely noised samples with different sampling rates: 1:8, 1:16. In the first experiment, the data contains 128 equidistant samples of the function, which are affected by white noise whose STD = 0.35. These data are approximated by the splines Sρ6 (t), S06 [ f ](t) and S16 [ f ](t), and the results are displayed in the top, middle and bottom of the left side of Fig. 5.5, respectively. To be specific, the splines were constructed on the grid {k} , k = 1, ..., 128, and their values at the points {l/8} , k = 1, ..., 1024, were computed by a binary subdivision. In the second experiment, the data was decimated by factor of 2; thus, the initial data consisted of 64 noised samples. These data were approximated by the grid samples of the same splinessplines and upsampled at the ratio of 1:16. The results are displayed in the right side of Fig. 5.5. The experiments were implemented by the MATLAB code loc_smooth_example_chirpN.m. The optimal regularization parameters ρ for the smoothing splines were derived by the MATLAB function defroNSm.m, according to Eq. (4.62).
5.2 Local Splines
107
We observe that the best restoration of the function is provided by the global smoothing spline Sρ6 (t), but the results from the application of the simplest spline S06 [ f ](t) are only slightly inferior, especially at sampling rate 1:16. For the highfrequency part of the function, the results from the spline S06 [ f ](t) are even better than those from the spline Sρ6 (t). Recall that the computation of the grid samples of S06 [ f ](t) consists of filtering the data by the 6-tap filter thatcan be implemented in a real-time mode. Performance of the spline S16 [ f ](t) is close to that of the interpolating spline and, as such, does not do the denoising job satisfactorily. Example 2: Comparison of performance of simplest splines of different orders: In this example, the experiments were similar to those carried out in the previous example, with the difference that the restoration of the function f (t) was implep mented by the simplest local splines S0 [ f ](t), p = 4, 8, 12. The used data samples were the same as in the previous experiments. The experiments were implemented by the MATLAB code loc_smooth_example_chirp0N.m. Figure 5.6 illustrates p the difference between the performances of the splines S0 [ f ](t) for the restoration of the fragment F with sampling rates 1:8 and 1:16.
Fig. 5.6 Left restoration of the function f (t) = sin(1/t) from 128 noised samples by the simplest local splines of order 4 (top), 8 (middle) and 12 (bottom). Right restoration from 64 samples. Dotted line indicates the original function, “pluses"—available data samples. The splines are depicted by solid lines
108
5 Quasi-interpolating and Smoothing Local Splines
In the first experiment, the data contains 128 equidistant samples of the function which are affected by white noise whose STD = 0.35. These data were upsampled by the binary subdivision at ratio of 1:8, with the splines S04 (t), S08 [ f ](t) and S012 [ f ](t), where the results are displayed in the top, middle and bottom of the left side of Fig. 5.6, respectively. To be specific, the splines were constructed on the grid {k} , k = 1, ..., 128, and their values at the points {l/8} , k = 1, ..., 1024, were computed by the binary subdivision. In the second experiment, the data was decimated by factor 2; thus, the initial data consisted of 64 noised samples. These data were upsampled at ratio of 1:16 by the binary subdivision with the smoothing splines of orders 4, 8 and 12. The results are displayed on the right side of Fig. 5.6. We observe that the best restoration of the function is provided by the local spline S012 (t) of the twelfth order. We claim that the results from application of this spline are competitive with the results from application of the global smoothing splines displayed in Figs. 4.14 and 5.5. Grid samples of different local splines were computed by the MATLAB function grid_ls_TDN.m.
5.3 Approximation Properties of Splines Polynomial splines provide a perfect tool to approximate smooth signals. In this section, we return to splines from the spaces p Sh , which are defined on the grid {hk} , κ ∈ Z, h > 0 by S p (t) =
q[k]B p (t/ h − k) ∈ p Sh .
(5.28)
k∈Z def
If a spline G(t) is a generator of the spline space p S , then G h (t) = G(t/ h) is a generator of the spline space p Sh . This means that any spline from p Sh can be represented as a mixed convolution of a discrete-time signal d = {d[k]} with the spline G h (t) such that S p (t) =
d[k]G(t/ h − k) ∈ p Sh .
k∈Z def s The discrete moments of the generator G h (t) are γh [s](t) = k∈Z (t/ h − k) G(t/ h − k) = γ [s](t/ h), where γ [s](t) is the discrete moment of the generator G(t) ∈ p Sh . The discrete moments are related to the polynomials’ restoration as described in Proposition 5.6.
Proposition 5.6 Assume that G(t) ∈ p S is a compactly supported or exponentially decaying generator of the space p S of splines of order p, and h > 0.
5.3 Approximation Properties of Splines
109
1. If the discrete moments satisfy γh [s](t) = 0 for s = 1, ..., m < p and γh [0](t) ≡ def 1, then the spline SG [ f ](t) = k∈Z f (kh) G(t/ h − k) restores polynomials of degree not exceeding m, that is
(kh)s G(t/ h − k) = t s , s = 0, ...m < p.
k∈Z
If, in addition, γh [m + 1](t) = M(t), then k∈Z (kh)m+1 G(t/ h − k) = t m+1 + (−1)m+1 M(t). 2. Inversely, if (kh)s G(t/ h − k) = t s , s = 0, ..., m < p, (5.29) k∈Z
then the discrete moments satisfy γh [s](t) = 0 for s = 1, ..., m. If, in addition, m+1 G(t/ h − k) = t m+1 + M(t), then the discrete moment γ [m + h k∈Z (kh) 1](t) = (−1)m+1 M(t). Proof 1. We start with m=1; thus 0=
k∈Z
G(t/ h − k) ≡ 1 and
(t/ h − k) G(t/ h − k) =
k∈Z
=⇒
t G(t/ h − k) − k G(t/ h − k) h k∈Z
k∈Z
kh G(t/ h − k) = t.
k∈Z
Now, assume that item 1 of the proposition is true for s = 1, ...m − 1 and γh [m](t) = 0. Then 0=
t −k (t/ h − k)m G h k∈Z
=
km G
k∈Z
l=1
By assumption, 0=
k∈Z
km G
l m−l m t t t −k + −k . (−1)l k m−l G l h h h
k∈Z (k)
m−l
k∈Z
G(t/ h − k) = (t/ h)m−l , l = 1, ...m. Thus,
m m m m t t t t ⇐⇒ 0 = −k + −k − (−1)l km G l h h h h l=1
and k∈Z (kh)m G(t/ h − k) = t m . The additional claim in item 1 is proved similarly.
k∈Z
110
5 Quasi-interpolating and Smoothing Local Splines
2. Assume that the conditions (5.29) are satisfied. For 1 ≤ s ≤ m, the discrete moments are l m t t t m −k = −k (−1)s−l k s−l G l h h h h l=0 k∈Z k∈Z s m t m = = 0. (−1)s−l l h
γh [s](t) =
t
s
−k
G
l=0
The additional claim in item 2 is proved similarly. Let G(t) ∈ p S be a compactly supported or exponentially decaying generator of the spline space p S such that, for m < p conditions in Eq. (5.29) are satisfied and m+1 G(t/ h − k) = t m+1 + M(t). Assume that a continuous-time signal k∈Z (kh) f (t) has m + 1 continuous derivatives ( f (t) ∈ Cm+1 ). Then, by using the Taylor theorem, we have for a fixed t m f (m) (t) t t − k + · · · + (−h)m −k h m! h m+1
(m+1) f (t) t −k + o h m+1 . (m + 1)! h
f (hk) = f (t) − h f (t) + (−h)m+1
Hence, Proposition 5.6 implies that the spline satisfies def
SG [ f ](t) =
f (kh) G(t/ h − k) = f (t) − h f (t)γh [1](t) + · · ·
k∈Z
f (m) (t) γh [m](t) m!
f (m+1) (t) γh [m + 1](t) + o h m+1 + (−h)m+1 (m + 1)!
f (m+1) (t) = f (t) − h m+1 M(t) + o h m+1 . (m + 1)! + · · · + (−h)m
Approximation properties of interpolating splines The interpolating spline of order p on the grid {hk} given by S p [ f ](t) =
k∈Z
f (kh)L p
t −k h
(5.30)
restores polynomials of degree not exceeding p −1. Therefore, the discrete moments of the generator L p (t/ h) are γh [0](t) ≡ 1, γh [s](t) = 0, s = 1, ... p − 1, and, due to Eq. (4.8), we get
5.3 Approximation Properties of Splines
γh [ p](t)
t h
k∈Z
111
p −k
Lp
t −k h
t = − B˘ p − B˘ p (0) , h
where B˘ p (t) is the Bernoulli monospline of degree p. Consequently, we get the approximation of signals f (t) ∈ C p such that S p [ f ](t) =
f (kh)L p
k∈Z
t −k h
= f (t) − h p
f ( p) (t) p!
B˘ p
t − B˘ p (0) + o h p . h
In the rest of the section, we denote τ = t/ h − [t/ h] ∈ [0, 1]. Piecewise linear spline p = 2: For this spline L t (t) = B t (t), and this is the only spline, which combines locality with the interpolation. It restores linear polynomials and for f (t) ∈ C2 we have S [ f ](t) = 2
f (kh)B
2
k∈Z
t −k h
= f (t) − h 2
f (2) (t) τ (τ − 1) + o h 2 . 2
Quadratic interpolating spline p = 3: It restores quadratic polynomials and for f (t) ∈ C3 we have S 3 [ f ](t) =
f (kh)L 3
k∈Z
= f (t) − h 3
t −k h
f (3) (t) τ (τ − 1)(τ − 1/2) + o h 3 . 6
Remark 5.3.1 Note that if a function has a continuous third derivative, then the spline S 3 [ f ](t) approximates it at the rate O(h 3 ). However, at the midpoints between the interpolation points, the approximation rate is o(h 3 ). This is a manifestation of the super-convergence property of odd-order splines. Cubic interpolating spline p = 4: It restores cubic polynomials and for f (t) ∈ C4 S 4 [ f ](t) =
k∈Z
f (kh)L 4
t −k h
= f (t) − h 4
f (4) (t) 2 τ (τ − 1)4 + o h 4 . 24 (5.31)
An exact estimation of the difference between a function f (t) ∈ C4 and the cubic spline which interpolates this function is (see, for example, [6]): 5h 4 max f (4) (t) . f (t) − S 4 [ f ](t) ≤ 384 t
(5.32)
112
5 Quasi-interpolating and Smoothing Local Splines
Simplest local splines These splines restore linear polynomials and, for f (t) ∈ C2 , it satisfies S [ f ](t) = p
f (kh)B
p
k∈Z
t −k h
= f (t) + h 2
p (2) f (t) + o h 2 . 24
(5.33)
Quasi-interpolating splines Quasi-interpolating splines of odd orders: The local QIS of odd order 2r + 1: Sr2r +1 [ f ](t) defined in Eq. (5.21) coincides with the interpolatory spline S 2r +1 [ f ](t) on polynomials of degree not exceeding 2r + 1. Consequently, for signals f (t) ∈ C2r +1 Sr2r +1 [ f ](t) =
f (kh)L r2r +1
k∈Z
t −k h
= f (t) − h 2r +1
f (2r +1) (t) ˘ 2r +1 B (2r + 1)!
t + o h 2r +1 . h
Quasi-interpolating splines of even order: The local QIS of even order 2r + 2: Sr2r +2 [ f ](t) defined in Eq. (5.24) restores polynomials of degree up to 2r + 1, and the differences between the splines and the monomials t 2r +2 is given in Eq. (5.25). Consequently, for functions f (t) ∈ C2r +2 Sr2r +2 [ f ](t) =
f (kh) L r2r +2
k∈Z
= f (t) − h 2r +2
t −k h
f (2r +2) (t) (2r + 2)!
B˘ 2r +2
t + c2r +2 [r + 1] + o h 2r +2 , h
where the coefficients c2r +2 [r + 1] are derived in line with Proposition 5.5. Quadratic quasi-interpolating spline, p = 3: It coincides with quadratic interpolating spline on cubic polynomials and, for f (t) ∈ C3 , it satisfies S13 [ f ](t)
=
f (kh)(L 31
k∈Z
t −k h
= f (t)−h 3
f (3) (t) τ (τ −1)(τ −1/2)+o h 3 . 6
Recall that L 31 (t) = B 3 (t) − 1/8 δ12 [B 3 ](t). Cubic quasi-interpolating spline p = 4: It restores cubic polynomials and for f (t) ∈ C4 S 4 [ f ]1 (t) =
k∈Z
f (kh) L 41
t −k h
f (4) (t) = f (t) − h 4 24
2 2 2 τ (τ − 1) + + o h4 . 3
5.3 Approximation Properties of Splines
113
Here L 41 (t) = B 3 (t) − 1/6 δ12 [B 4 ](t). An exact2 estimation (established in [10]) of the difference between a function f (t) ∈ C4 and the cubic spline which quasiinterpolates this function. If t ∈ [kh, h(k + 1) then the difference is estimated by h4 2 (4) ˜ 4 2 2 τ (τ − 1) + max f (t) − S1 [ f ](t) ≤ f (t ) . 24 3 t˜∈[h(k−2),h(k+3)
(5.34)
Cubic extended quasi-interpolating spline (EQIS) p = 4: It coincides with cubic interpolating spline on polynomials up to fourth degree and, for f (t) ∈ C4 , it satisfies
S24 [ f ](t) =
k∈Z
f (kh) L 42
t −k h
= f (t) − h 4
f (4) (t) 2 τ (τ − 1)2 + o h 4 . 24
Here L 42 (t) = B 4 (t) − 1/6 δ12 [B 4 ](t) + 1/36 δ14 [B 4 ](t). There is an exact estimation of the difference between a function f (t) ∈ C4 and the spline S24 [ f ](t) (In [9]). If t ∈ [kh, h(k + 1) then the difference is estimated by f (t) − S24 [ f ](t) ≤ 0.0161 h 4
max
t˜∈[h(k−3),h(k+4)
(4) ˜ f (t ) .
(5.35)
Recall that in the difference estimatie (5.32) for the cubic interpolating spline, the constant is 5/384 0.0130. If the function f (t) belongs to C6 , then the difference at the grid points is estimated as 1 6 h max f (6) (t) . f (kh) − S24 [ f ](kh) ≤ t 216
References 1. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic splines (Springer, Berlin, 2014) 2. H.B. Curry, I.J. Schoenberg, On Pólya frequency functions. IV. The fundamental spline functions and their limits. J. Anal. Math. 17, 71–107 (1966) 3. M.J. Marsden, S.D. Riemenschneider, Asymptotic Formulae for Variation-Diminishing Splines. In Second Edmonton Conference on Approximation Theory (Edmonton, Alta., 1982), volume 3 of CMS Conference Proceedings, (Providence, RI, 1983), pp. 255–261. (American Mathematical Society) 4. I.J. Schoenberg, Contributions to the problem of approximation of equidistant data by analytic functions. Quart. Appl. Math. 4(45–99), 112–141 (1946) (Parts A and B) 5. I.J. Schoenberg, On Variation Diminishing Approximation Methods, in On Numerical Approximation, MRC Symposium, ed. by R.E. Langer (University of Wisconsin Press, Madison, WI, 1959), pp. 249–274 2 Exact
in a sense that it can not be improved.
114
5 Quasi-interpolating and Smoothing Local Splines
6. Yu.S. Zav’yalov, B.I. Kvasov, V.L. Miroshnichenko, Methods of Spline-Functions (Nauka, Moscow, 1980) (In Russian) 7. V. Zheludev, Asymptotic formulas for local spline approximation on a uniform mesh. Sov. Math. Dokl 27, 415–419 (1983) 8. V. Zheludev, Local spline approximation on a uniform mesh. U.S.S.R. Comput. Math. Math. Phys. 27(5), 8–19 (1987) 9. V. Zheludev, Estimates for approximation remainder terms for cubic quasi-interpolation splines. Vychisl. Sistemy 128, 60–74 (1988). (In Russian) 10. V. Zheludev, Representation of the approximational error term and sharp estimates for some local splines. Math. Notes 48(3), 911–919 (1990)
Chapter 6
Cubic Local Splines on Non-uniform Grid
Abstract In this chapter, two types of local cubic splines on non-uniform grids are described: 1. The simplest variation-diminishing splines and 2. The quasiinterpolating splines. The splines are computed by a simple fast computational algorithms that utilizes a relation between the splines and cubic interpolation polynomials. Those splines can serve as an efficient tool for real-time signal processing. As an input, they use either clean or noised arbitrarily-spaced samples. On the other hand, the capability to adapt the grid to the structure of an object and minimal requirements to the operating memory are great advantages for off-line processing of signals and multidimensional data arrays. In this (and only this) chapter we abandon the assumption that the grid, on which, the splines are constructed is uniform and consider cubic splines on an arbitrary grid g = {t[k]}. This means that the splines we are dealing with are functions which are continuous together with their second derivatives, whereas on the intervals (t[k], t[k + 1]) they coincide with some cubic polynomials.
6.1 Preliminaries: Divided Differences and Interpolating Polynomials Divided differences ([1, 3, 6]): The first-order divided difference of the sequence f = { f [k]} with respect to the grid g = {t[k]} is def
f [k, k + 1] =
f [k] f [k + 1] f [k + 1] − f [k] = + . t[k + 1] − t[k] t[k] − t[k + 1] t[k + 1] − t[k]
The second-order divided difference is
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_6
115
116
6 Cubic Local Splines on Non-uniform Grid
f [k + 1, k + 2] − f [k, k + 1] t[k + 2] − t[k] f [k] = (t[k] − t[k + 1])(t[k] − t[k + 2]) f [k + 1] + (t[k + 1] − t[k])(t[k + 1] − t[k + 2]) f [k + 2] . + (t[k + 2] − t[k])(t[k + 2] − t[k + 1])
def
f [k, k + 1, k + 2] =
(6.1)
Denote, def
ωm [k](t) = (t − t[k]) (t − t[k + 1]) ... (t − t[k + m]) .
(6.2)
For t = t[k + l], 0 ≤ l ≤ m, the derivative is [k](t[k + l]) = ωm
(t[k + l] − t[k + ν]).
ν=(0,...,m)\l
The higher-order divided differences are defined iteratively: f [k + 1, k + 2, ..., k + n] − f [k, k + 1, ..., k + n − 1] t[k + n] − t[k] n f [k + l] = (6.3) . ωn [k](t[k + l])
def
f [k, k + 1, k + 2, ..., k + n] =
l=k
Proposition 6.1 If a function f (t) has n continuous derivatives at the interval [t[k], t[k + n]], then its divided difference is f [k, k + 1, k + 2, ..., k + n] =
f (n) (θ ) , θ ∈ (t[k], t[k + n]) . n!
Consequently, if f (t) = Pn−1 (t) is equal to a polynomial of degree n − 1 at the interval [t[k], t[k + n]], then f [k, k + 1, k + 2, ..., k + n] = 0. Interpolating polynomials ([1, 3, 6]): The Newton form of the polynomial Pn (t) of degree n which interpolates the function f (t) at the points t[k], t[k + 1], ..., t[k + n] def
(that is Pn (t[k + l]) = f [k + l] = f (t[k + l]), l = 0, ..., n), is represented by Pn (t) = f [k] + f [k, k + 1](t − t[k]) + · · · + f [k, k + 1, ..., k + n] ωn [k](t), (6.4) where the function ωn [k](t) is defined in Eq. (6.2). The reminder term of the interpolation can be explicitly expressed by def
Rn (t) = f (t) − Pn (t) = f [t, k, k + 1, ..., k + n] ωn [k](t),
(6.5)
6.1 Preliminaries: Divided Differences and Interpolating Polynomials
117
where f [t, k, k+1, ..., k+n] denotes the divided difference of the order n+1 of the set { f (t), f [k], f [k + 1], ..., f [k + n]} with respect to the grid {t, t[k], t[k + 1], . . . , tk + n]}.
6.2 B-Splines In this section, we operate with non-centered B-splines. On the uniform grid {k}, the non-centered B-spline of order p is the p/2 shift of the centered B-splines given in Eq. (3.15). Thus, it is represented by p−1 p t+ 1 p−1 p p p (−1) b (t) = , (t − ν)+ = Δ1 ν ( p − 1)! ( p − 1)! p
(6.6)
ν=0
def
p
where t+ = (t + |t|)/2 and Δ1 [ f ] denotes the order- p finite difference of a function f (t) with step 1. The B-spline b p (t) is supported on the interval (0, p), and its nodes are located at the points 0, 1, ... p. When the grid in non-uniform, the finite difference is replaced by the divided difference. Denote by yg (t) the sequence related to the grid g = {t[k]}: p yg (t) = y p (t)[k] ,
def
p
y p (t)[k] = (−1) p+1 (t − t[k])+ .
(6.7)
The B-splines of order p on the grid g are defined as def
b p (t)[k] = (t[k + p] − t[k]) y p−1 (t)[k, ..., k + p] p p−1 (t − t[k + ν])+ , = (−1) p (t[k + p] − t[k]) wp [k](t[k + ν])
(6.8)
ν=0
where the function ωn [k](t) is defined in Eq. (6.2). The B-spline b p (t)[k] is supported on the interval (t[k], t[k + p]), where it is positive. Figure 6.1, which is produced by the MATLAB code bspl_nu_exam.m using the MATLAB function bspl_nu.m, displays the B-splines of different orders on a non-uniform grid.
6.3 Cubic Splines The cubic B-spline is b4 (t)[k] = (t[k + 4] − t[k])
4 (t − t[k + ν])3+ . w4 [k](t[k + ν]) ν=0
(6.9)
118
6 Cubic Local Splines on Non-uniform Grid
Fig. 6.1 B-splines of order 3, 4, 5, 6 on the grid g = {0, 0.5, 1.3, 2, 3.1, 3.7, 4.5}
It is supported on the interval (t[k], t[k + 4]). Cubic splines on the grid g = {t[k]} are represented via the B-splines. Assume that t ∈ [t[k], t[k + 1]]. Then, a cubic spline S 4 (t) is represented by s 4 (t) =
q[ν + 2] b4 (t)[ν] =
k
q[ν + 2] b4 (t)[ν].
(6.10)
ν=k−3
ν∈Z
6.3.1 Simplest Cubic Splines Assume that the discrete-time signal f consists
of the samples of a function f (t) on def a non-uniform grid g = {t[k]}, that is f = f [k] = f (t[k]) . In order to obtain the simplest cubic spline s04 [ f ](t) on the grid g that approximates the function f (t), the def
coefficients in Eq. (6.10) should be chosen to be q0 [ν] = f [ν]. Thus, the spline is represented by k s04 [ f ](t) = f [ν + 2] b4 (t)[ν]. (6.11) ν=k−3
6.3 Cubic Splines
119
For the computation of the spline’s values s04 [ f ](t), as t ∈ [t[k], t[k + 1]], four grid samples f [k − 1], f [k], f [k + 1] and f [k + 2] are needed. The spline’s values are computed by the MATLAB function lsp0_nu. The following important theorem was proved by Schoenbergin [5]: Theorem 6.1 The approximation of the spline s04 [ f ](t) to f(t) is exact for linear functions and is variation-diminishing. This means that for t ∈ [t[k], t[k + 1]], s04 [1](t) =
k
b4 (t)[ν] ≡ 1, s04 [t](t) =
ν=k−3
k
(ν + 2) b4 (t)[ν] = t
ν=k−3
and for every linear function Z (t) = ct + d, the difference s04 [ f ](t) − Z (t) has no more variations in sign on the interval [a, b] than the difference f (t) − Z (t) has. In addition, the shape-preserving property is inherent to the splines s04 [ f ](t) [2].1 Due to these properties, the splines s04 [ f ](t) have a smoothing capability. For computation of the spline’s values s04 [ f ](t) at the interval [t[k], t[k + 1]], four grid samples f [k − 1], f [k], f [k + 1] and f [k + 2] are needed. Therefore, the spline can be computed in real time with a delay of one sample. Consequently, they can be utilized for the real-time approximation and smoothing of signals from non-uniformly-placed samples.
6.3.2 Quasi-interpolating Cubic Splines Apparently, cubic splines are able to restore polynomials of degree not exceeding three. This approximation order is provided by splines that interpolate the signal f on the grid g = {t[k]} [4]. To derive the coefficients q[ν] in Eq. (6.10) for the spline which interpolates f at some interval, a system of linear equations with a three-diagonal matrix should be solved (see [2, 6], for example). However, as in the case of uniform grid (Sect. 5.2.2), this approximation order can be achieved by a local spline which uses six grid samples f [k − 2], ..., f [k + 3] for computation of the spline’s values at the interval (t[k], t[k + 1]). Denote by def
h[ν] = t[ν + 1] − t[ν] a step of the grid g. Denote by def
β−1 [k] =
−(h[k])2 −(h[k − 1])2 def , β1 [k] = , 3 h[k − 1] (h[k − 1] + h[k]) 3 h[k] (h[k − 1] + h[k])
def
β0 [k] = 1 − β−1 [k] − β1 [k].
1 This
means preservation of monotonicity and convexity of a given data.
(6.12)
120
6 Cubic Local Splines on Non-uniform Grid
Proposition 6.2 If the coefficients in Eq. (6.10) are chosen as def
q1 [ν] = β−1 [ν] f [ν − 1] + β0 [ν] f [ν] + β1 [ν] f [ν + 1], then the spline s14 [ f ](t) =
q1 [ν + 2] b4 (t)[ν]
(6.13)
ν∈Z
restores cubic polynomials. For computation of the spline’s values s14 [ f ](t), t ∈ [t[k], t[k + 1]], six grid samples f [k − 2], ..., f [k + 3] are needed. Proof Proved by direct computation of the spline’s values for the functions f (t) ≡ 1, def
f (t) = t r , r = 1, 2, 3. The spline s14 [ f ](t) is a generalization of the cubic quasi-interpolating spline defined in Sect. 5.2.2.2 by Eq. (5.17) onto non-uniform grids. Real-time computation of the spline s14 [ f ](t) We design a simple algorithm to computate the spline’s values at the interval (t[k], t[k + 1]), provided the samples f [k − 2], ..., f [k + 3] are available. Originally, it was introduced in [8]. An extended version of the scheme, which included extrapolation of the spline beyond the available grid, is presented in [7]. The algorithm is based on a relation between the splines s14 [ f ](t) and cubic interpolation polynomials. The Newton form of the cubic polynomial P3 (t), which interpolates the function f (t) at the points t[k − 1], t[k], ..., t[k + 2], is represented by P3 (t) = f [k − 1] + f [k − 1, k](t − t[k − 1]) + f [k − 1, k, k + 1] (t − t[k − 1]) (t − t[k]) + f [k − 1, k, k + 1, k + 2] (t − t[k − 1]) (t − t[k]) (t − t[k + 1]).
(6.14)
The reminder term of the interpolation can be explicitly expressed by def
R3 (t) = f (t) − P3 (t) = f [t, k − 1, k, k + 1, k + 2] (t − t[k − 1]) (t − t[k]) (t − t[k + 1]) (t − t[k + 2]).
The grid samples R3 (t[ν]) of the reminder term are zero for ν = k −1, k, k +1, k +2. For ν = k − 2, k + 3, we have R3 (t[k − 2]) = f [k − 2, k − 1, k, k + 1, k + 2] × h[k − 2] (t[k] − t[k − 2]) (t[k + 1] − t[k − 2]) (t[k + 2] − t[k − 2]),
(6.15) R3 (t[k + 3]) = f [k − 1, k, k + 1, k + 2, k + 3] × h[k + 2] (t[k + 3] − t[k − 1]) (t[k + 3] − t[k]) (t[k + 3] − t[k + 1]).
6.3 Cubic Splines
121
The spline s14 [ f ](t) restores the polynomial P3 (t), therefore, s14 [ f ](t) = s14 [P3 ](t) + s14 [R3 ](t) = P3 (t) + s14 [R3 ](t) = P3 (t) +
k
Q[ν + 2] b4 (t)[ν],
ν=k−3
Q[ν + 2] = β−1 [ν + 1] R3 (t[ν + 1]) + β0 [ν + 2] R3 (t[ν + 2]) + β1 [ν + 3] R3 (t[ν + 3]). Keeping in mind that R3 (t[ν]) = 0 for ν = k − 1, k, k + 1, k + 2, we get s14 [ f ](t) = P3 (t) + β−1 [k − 1] R3 (t[k − 2]) b4 (t)[k − 3] + β1 [k + 2] R3 (t[k + 3]) b4 (t)[k].
(6.16)
def
Denote τ = (t − t[k])/ h[k]. Equation (6.9) implies that for t ∈ (t[k], t[k + 1]), b4 (t)[k] = (t[k + 4] − t[k]) Ak
(t − t[k])3 = Ak τ 3 , w4 [k](t[k])
(h[k])2 . = (t[k + 2] − t[k]) (t[k + 3] − t[k])
(6.17)
def
As for b4 (t)[k − 3], we note that, for t ∈ (t[k], t[k + 1]) and ν = −3, −2, −1, 0, we have (t − t[k + ν])3+ = (t − t[k + ν])3 . In addition, the sum def
σ [k](t) =
1 ν=−3
(t − t[k + ν])3 w4 [k − 3](t[k + ν])
is the fourth-order divided difference from a sampled cubic polynomial, and, as such, σ [k](t) ≡ 0 (Proposition 6.1). Thus, when t ∈ (t[k], t[k + 1]), the B-spline is b4 (t)[k − 3] = (t[k + 1] − t[k − 3])
1
= (t[k + 1] − t[k − 3]) = (t[k + 1] − t[k − 3])
(t − t[k + ν])3+ − 3](t[k + ν])
w [k ν=−3 4
(t − t[k + 1])3+ − (t − t[k + 1])3 σ [k](t) + w4 [k − 3](t[k + 1])
(t − t[k + 1])3− , w4 [k − 3](t[k + 1])
122
6 Cubic Local Splines on Non-uniform Grid def
where t− = (t − |t|)/2 = t − t+ . By using this definition and the notation τ = (t − t[k])/ h[k], we obtain def
b4 (t)[k − 3] = Bk (1 − τ )3 , Bk =
(h[k])2 . (t[k + 1] − t[k − 1]) (t[k + 1] − t[k − 2]) (6.18)
In order to derive an explicit expression for the spline s14 [ f ](t), we substitute values of the B-splines from Eqs. (6.17) and (6.18), coefficients β j from Eq. (6.12) and samples of R3 (t) from Eq. (6.15) into Eq. (6.16). Proposition 6.3 Assume that t = t[k] + h[k] x, x ∈ [0, 1]. Then the cubic spline s14 [ f ](t), which restores cubic polynomials, is expressed as follows s14 [ f ](t) = P3 (t) + G 1 [k] (1 − τ )3 + F1 [k] τ 3 ,
(6.19)
where the interpolating polynomial P3 (t), t = t[k]+h[k], is presented in Eq. (6.14) and the coefficients G 1 [k] and F1 [k] are def
F1 [k] = − f [k − 1, k, k + 1, k + 2, k + 3] ×
(h[k])2 (h[k + 1])2 (t[k + 3] − t[k − 1]) , 3 (t[k + 2] − t[k])
(6.20)
def
G 1 [k] = − f [k − 2, k − 1, k, k + 1, k + 2] ×
(h[k])2 (h[k − 1])2 (t[k + 2] − t[k − 2]) = F1 [k − 1]. 3 (t[k + 1] − t[k − 1])
(6.21)
When the grid g is uniform and t[k] = h k, k ∈ Z, the spline s14 [ f ](t) coincides with the local quasi-interpolating spline S14 [ f ](t) defined in Eq. (5.17). In this case, when t = h (k + τ ), τ ∈ [0, 1], the spline is represented by Δ2 [f][k − 1] (1 + τ ) τ 2 Δ4 [f][k − 1] τ 3 + Δ4 [f][k − 2] (1 − τ )3 Δ3 [f][k − 1] (1 + τ ) τ (τ − 1) − . + 6 36
S04 [ f ](t) = f [k − 1] + Δ[f][k − 1] (1 + τ ) +
(6.22)
For computation of the spline’s values s14 [ f ](t) at the interval [t[k], t[k + 1]], six grid samples f [k − 2], f [k − 1], f [k], f [k + 1], f [k + 2] and f [k + 3], are needed. Thus, the spline can be computed in real time with a delay of two samples. The approximation properties of splines s14 [ f ](t) are close to the properties of the cubic interpolating splines, which we denote by s 4 [ f ](t). Like the interpolating splines, the splines s14 [ f ](t) restore cubic polynomials. If a function f (t) has four continu-
6.3 Cubic Splines
123 def
ous derivatives at the interval I [k] = [t[k − 2], t[k + 3], then the following error estimate is true ([8]): 35 h[k] ¯ ¯ max f (4) (t) , max f (t) − s14 [ f ](t) ≤ max f (4) (t) ≈ 0.0304 h[k] t∈I [k] t∈I [k] 1152 t∈I [k] (6.23) def ¯ where h[k] = maxν=k−2,...,k+2 h[ν]. For comparison, a similar estimate for interdef
polating splines s 4 [ f ](t) defined on the interval I = [a, b] is ([4]): 5 h˜ max f (t) − s14 [ f ](t) ≤ max f (4) (t) ≈ 0.0130 h˜ maxt∈I [k] f (4) (t) , t∈I 384 t∈I (6.24) where h˜ is the maximal grid step at the interval I . Thus, the splines s14 [ f ](t) can be utilized for real-time (with a delay) approximation and smoothing of signals from (non-)uniformly placed samples. The computations are reduced to calculation of either the divided (for non-uniform grids) or the finite (for uniform grids) differences up to fourth orders. Values of the splines s14 [ f ](t) are computed by the MATLAB function lsp1_nu.m
6.4 Examples In Sect. 4.4.4, the restoration of the chirp function f (t) = sin 1/t, t ∈ [0.017, 0.11] from uniformly spaced noised grid samples was exemplified. In this section, we compare the restoration of the chirp function by cubic local splines s04 [ f ](t) and s14 [ f ](t) from uniformly spaced samples with the restoration from samples taken on a non-uniform grid. The grid is adapted to the variable-frequency oscillations of the chirp function. The function f (t) is depicted in Fig. 4.12. Example 1: Restoration of the chirp function from clean samples: Figure 6.2 illustrates the difference between the performances of the local splines s04 [ f ](t) and s14 [ f ](t), which are constructed either on uniform or non-uniform grids. For the design of the splines, we use 60 samples f [k] = f (t[k]), k = 0, ..., 59, which are either equally spaced or their steps are growing linearly such that t[k] = t[0] + k h. The upper frame in Fig. 6.2 displays the spline s04 [ f ](t) designed on the nonuniform grid. The second from the top frame displays the spline s14 [ f ](t) designed on the non-uniform grid. The third and fourth frames display the splines designed on the uniform grid.
124
6 Cubic Local Splines on Non-uniform Grid
Fig. 6.2 Top restoration of the function f (t) = sin(1/t) from 60 non-equally spaced samples by the simplest spline s04 [ f ](t). Second from the top restoration by QIS s14 [ f ](t). Second from the bottom restoration by s04 [ f ](t) from 60 equally spaced samples. Bottom restoration by QIS s14 [ f ](t). Dashed line indicates the original function, bars—the available samples. The splines are displayed by solid lines
We observe that a near-perfect restoration of the function is provided by QIS s14 [ f ](t) that is derived from non-equally spaced samples, but the result from the application of the simplest spline s14 [ f ](t) is not much inferior. The splines designed on the uniform grid satisfactorily restore the low-frequency part of the function, but they fail to restore the higher-frequency fragments. Example 2: Restoration of the chirp function from noised samples: Figure 6.3 illustrates results of the restoration experiments, which are similar to the experiments in Example 1, with a difference that, for the splines’ design, noised samples of the function f (t) are used rather than clean ones. To be specific, f [k] = f (t[k]) + εk , k = 0, ..., 59, where εk are i.i.d. random variables, whose STD = 0.35. We observe that the smoothest curve is produced by the simplest spline s04 [ f ](t) on the non-uniform grid, whereas the high-frequency oscillations of the original signal appeared partially oversmoothed. QIS s14 [ f ](t) on the non-uniform grid satisfactorily restored these oscillations, but the low-frequency part of the spline’s s14 [ f ](t) curve is not that smooth compared to the spline s04 [ f ](t). As in Example 1, the splines on the uniform grid demonstrate inferior results. The experiments were implemented by the MATLAB code loc_NU_example_chirpN.m.
6.4 Examples
125
Fig. 6.3 Top restoration of the function f (t) = sin(1/t) from 60 non-equally spaced noised (STD = 0.35) samples by the simplest spline s04 [ f ](t) on the non-uniform grid. Second from the top restoration by QIS s14 [ f ](t). Second from the bottom restoration by s04 [ f ](t) from 60 equally spaced noised samples. Bottom restoration by QIS s14 [ f ](t). Dashed line indicates the original function, clean samples are indicated by bars, the splines by solid lines, and available noised data by “pluses”
Comments The local cubic splines designed in this chapter that are supplied with a simple fast computational algorithms can serve as an efficient tool for real-time signal processing. As an input, they use either clean or noised arbitrarily-spaced samples. One possible application of the designed splines is real-time wavelet analysis of non-uniformly sampled signals. On the other hand, the capability to adapt the grid to the structure of an object and minimal requirements to the operating memory are great advantages for off-line processing of signals and multidimensional data arrays. Note, that the above approach to the splines’ design enables us to smoothly extend the spline to the boundaries of the definition area and even to extrapolate the spline beyond the area [7].
References 1. M. Abramowitz, I.A. Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Dover, New York, 1972) 2. C. de Boor, A Practical Guide to Splines (Springer, New York, 1978) 3. C. de Boor, Divided differences. Surv. Approximation Theor. 1 (2005)
126
6 Cubic Local Splines on Non-uniform Grid
4. C.A. Hall, On error bounds for spline interpolation. J. Approx. Theory 1 (1968) 5. I.J. Schoenberg, On variation diminishing approximation methods, in On Numerical Approximation, MRC Symposium, ed. by R.E. Langer (University of Wisconsin Press, Madison, WI, 1959), pp. 249–274 6. J. Stoer, R. Burlich, Introduction to Numerical Analysis, 2nd edn. (Springer, New York, 1993) 7. M.G. Suturin, V. Zheludev, On the approximation on finite intervals and local spline extrapolation. Russ. J. Numer. Anal. Math. Model. 9(1), 75–89 (1994) 8. V. Zheludev, Local spline approximation on arbitrary meshes. Sov. Math. 8, 16–21 (1987)
Chapter 7
Splines Computation by Subdivision
Abstract In this chapter, fast stable algorithms are presented, which compute splines’ values at dyadic and triadic rational points starting from their samples at integer grid points. The algorithms are implemented by the causal-anticausal recursive filtering of initial data samples, which is followed by iterated application of FIR filters. Extension of the algorithms to the multidimensional case is straightforward. A natural application of the presented subdivision algorithms is for upsampling of signals and images. A few upsampling examples are provided. In this chapter, we return to equally spaced grids such that {t[k] = h k} . Recall that p Sh denotes the space of p-order splines defined on the grid {kh} , k ∈ Z. For the space defined on the grid {k} (that is h = 1) we retain the notation p S = p S1 .
7.1 Interpolatory Subdivision for Non-periodic Splines Assume that samples of a spline S p (t) ∈ p S on the grid g = {k}k∈Z are available such that S p (k) = y[k]. We describe how to calculate the spline’s values S p (k/2m ) and S p (k/3m ) at the dyadic and triadic rational points, respectively, by fast subdivision schemes. Interpolatory subdivision schemes (ISS) are based on refinement rules, which iteratively refine the data by inserting values that correspond to intermediate points by using linear combinations of values at initial points while the data at these initial points are retained. In addition to the insertion of values into intermediate points, non-interpolatory schemes also update the initial data. Stationary schemes use the same insertion rule at each refinement step. A scheme is called uniform if its insertion rule does not depend on the location in the data. To be more specific, a univariate stationary uniform subdivision scheme with a binary refinement Sa2 ([2, 3, 6]) consists of the following: a function f m which is defined on the grid gm = {k/2m }k∈Z such that f m (k/2m ) = f m [k], is extended onto the grid gm+1 by filtering the upsampled array (↑ 2)f m = { f˘m [k]},
f˘m [k] =
f m [l], if k = 2l; 0, otherwise,
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_7
127
128
7 Splines Computation by Subdivision
by an interpolating filter a = {a[k]}k∈Z such that a[2k] = δ[k]. Thus, one dyadic refinement step is f m+1 [k] =
a[k − 2l] f m [l]
l∈Z
⇐⇒
f m+1 [2k] = f m [k], f m+1 [2k + 1] = l∈Z a[2(k − l) + 1] f m [l],
ˆ fˆm (2ω), ⇐⇒ fˆm+1 (ω) = a(ω)
f m+1 (z) = a(z) f m (z 2 ), (7.1)
def def where xˆ = k∈Z e−iωk x[k] and x(z) = k∈Z z −k x[k] denote the DTFT and the z-transform of a signal x = {x[k]} , k ∈ Z, respectively. The next binary refinement step employs f m+1 as an initial data. The filter a = {a[k]}k∈Z is called the refinement mask of Sa2 , and its z-transform a(z) is called the symbol of Sa2 . An interpolatory subdivision scheme with a ternary refinement Sa3 consists of the following: a function f m which is defined on the grid gm = {k/3m }k∈Z such that f m (k/3m ) = f m [k], is extended onto the grid gm+1 by filtering the upsampled array
(↑ 3)f
m
= { f˘m [k]},
f˘m [k] =
f m [l], if k = 3l; 0, otherwise,
by an interpolating filter b = {b[k]}k∈Z such that b[3k] = δ[k]. Thus, one triadic refinement step is f m+1 [k] =
a[k − 3l] f m [l]
l∈Z
⇐⇒
f m+1 [3k] = f m [k], f m+1 [3k ± 1] = l∈Z b[3(k − l) ± 1] f m [l],
ˆ fˆm (3ω), ⇐⇒ fˆm+1 (ω) = b(ω)
f m+1 (z) = b(z) f m (z 3 ). (7.2)
The next ternary refinement step employs f m+1 as an initial data.
7.2 Binary Subdivision for Non-periodic Splines Calculation of values of an even-order splines at dyadic rational points is implemented by the iterated application of the following insertion rule:
7.2 Binary Subdivision for Non-periodic Splines
129 p
Dyadic spline insertion rule: Assume that a spline S0 (t) belongs to the space p S def p and f 0 = f 0 [k] = S0 (k) , k ∈ Z. For m = 1, 2, . . ., we construct on the grid def p gm−1 = k/2m−1 , k ∈ Z, a spline Sm−1 (t) ∈ p S2−(m−1) , which interpolates the sequence
def
f m−1 = def
p f m−1 [k] : Sm−1 k/2m−1 = f m−1 [k], k ∈ Z.
p
Then, f m [k] = Sm (k/2m ) , k ∈ Z. We will show that if order of the spline Sm2r (t) ∈ 2r Sm is even, then this insertion 2r (t) ≡ S 2r (t). Conserule reproduces the spline. This means that Sm2r (t) ≡ Sm−1 0 quently, each refinement step provides values of the spline S02r (t) at the corresponding set of dyadic rational points. This is not true for splines of odd order. Those splines possess the property of super-convergence in the midpoints between the interpolation points (Sect. 5.2.2.3, for more details see see [4, 5]). Due to this property, the refinement process converges to a limit function, which is more regular than the spline itself. However, the convergence analysis lies beyond the scope of the present book. It is discussed in full detail in [6].
7.2.1 Spline Filters for Binary Subdivision def
p
p 0 Due 0 toEq. (4.43), the spline S0 (t) ∈ S , which interpolates the sequence f = f [k] ∈ l1 , can be represented by the integral
p
S0 (t) =
1 2π
0
2π
fˆ0 (ω) p ζ (ω, t) dω, u p (ω)
fˆ0 (ω) =
e−iωk f 0 [k], (7.3)
k∈Z
sin(ω/2 + πl) p (7.4) (ω/2 + πl) k∈Z l∈Z sin(ω/2 + πl) p p p −iωk p e B (k) = . (7.5) u (ω) = ζ (ω, 0) = (ω/2 + πl) ζ p (ω, t) =
eiωk B p (t − k) =
k∈Z
ei(ω+2πl)t
l∈Z
The DTFT of the refined array is fˆ1 (ω) =
e−iωk f 1 [k] = fˆ01 (2ω) + e−iω fˆ11 (2ω),
k∈Z def fˆ01 (ω) =
k∈Z
e−iωk f 1 [2k] = fˆ0 (ω),
def fˆ11 (ω) =
k∈Z
(7.6) e−iωk f 1 [2k + 1].
130
7 Splines Computation by Subdivision
According to the dyadic insertion rule, p
f 1 [2k + 1] = S0
2π ˆ0 1 1 1 f (ω) p k+ ω, k + = ζ dω. 2 2π 0 u p (ω) 2
(7.7)
The shift property of exponential splines ( Eq. (4.7)) implies that
1 ω, k + = eiωk eiω/2 υ p (ω), where ζ 2
1 1 def −iω/2 p p −iω/2 −iωk p ω, =e (7.8) ζ e B k+ υ (ω) = e 2 2 k∈Z
p iπl sin(ω/2 + πl) = e . (ω/2 + πl) p
l∈Z
Consequently, f 1 [2k + 1] =
1 2π
2π
eiωk
0
fˆ0 (ω) iω/2 p υ (ω) dω, e u p (ω)
and from Eq. (1.21) we conclude that
υ p (ω) ˆ0 f (ω). u p (ω)
(7.9)
υ p (2ω) def fˆ1 (ω) = aˆ p (ω) fˆ0 (2ω), where aˆ p (ω) = 1 + p u (2ω)
(7.10)
fˆ11 (ω) =
e−iωk f 1 [2k + 1] = eiω/2
k∈Z
By substituting Eq. (7.9) into Eq. (7.6), we get
is the frequency response of the interpolating filter a p . Comparing Eq. (7.10) with Eq. (7.1), we observe that the filter a p is the mask of the subdivision scheme Sa2 p originating from the dyadic spline insertion rule. Proposition 7.1 If order p = 2r is even, then the frequency response of the mask a2r of the subdivision scheme Sa2 2r is aˆ 2r (ω) = 2 cos2r
ω u 2r (ω) . 2 u 2r (2ω)
(7.11)
7.2 Binary Subdivision for Non-periodic Splines
131
Proof By combining Eqs. (7.5) and (7.8), we get A(ω) def , A(ω) = u 2r (2ω) + υ 2r (2ω) u 2r (2ω) sin(ω + πl) 2r
sin(ω + πl) 2r
iπl l 1+e 1 + (−1 = = . ω + πl ω + πl
aˆ 2r (ω) =
l∈Z
l∈Z
Thus, only even terms in the series are retained such that sin(ω/2 + πl) cos(ω/2 + πl) 2r sin 2(ω/2 + πl) 2r =2 2(ω/2 + πl) (ω/2 + πl) l∈Z l∈Z
ω sin(ω/2 + πl) 2r ω = 2 cos2r = 2 cos2r u 2r (ω). 2 ω/2 + πl 2
A(ω) = 2
l∈Z
7.2.2 Splines Computation at Dyadic Rational Points Proposition 7.2 Let S0 (t) ∈ 2r S be a spline of order 2r with nodes on the grid def {k}, k ∈ Z. Its samples are S(k) = f 0 [k] , k ∈ Z, f 0 = f 0 [k] , k ∈ Z. Then, all consecutive steps of subdivision with the dyadic spline insertion rule reproduce the values of this splinesuch that { f m [k] = S(k/2m )} , k ∈ Z, m ∈ N. Proof Due to the property of minimal norm (Proposition 4.12), the integral def
μ =
∞
−∞
|S (r ) (t)|2 dt ≤
∞
−∞
|g (r ) (t)|2 dt,
where g(t) is any function such that g (r ) (t) is square integrable and g(k) = f 0 [k] , k ∈ Z. Let S1 (t) ∈ 2r S1/2 be a spline of order 2r , which interpolates the values { f 1 [k] = S1 (k/2)}k∈Z . Then, def
ν =
∞ −∞
(r ) |S1 (t)|2 dt
≤
∞
−∞
|G (r ) (t)|2 dt,
where G(t) is any function such that G (r ) (t) is square integrable and G(k/2) = f 1 [k] = S0 (k/2). Hence, ν ≤ μ. On the other hand, S1 (k) = f 0 [k]. Therefore, μ ≤ ν. Thus, ∞
−∞
|S (r ) (t)|2 dt =
∞
−∞
(r )
|S1 (t)|2 dt.
132
7 Splines Computation by Subdivision
Hence, it follows that S1 (t) ≡ S0 (t). Iterating the above reasoning, we find that the spline S2 (t) ∈ 2r S1/4 which interpolates the values { f 2 [k] = S1 (k/4)}k∈Z , coincides with S1 (t) and, consequently, with the initial s S0 (t). The same is true for any spline Sm (t) ∈ 2r S2−m , which interpolates the values { f m [k] = Sm−1 (k/2m )}k∈Z .
7.2.3 Practical Implementation It follows from Proposition 7.2 that once we know the samples S 2r (k) = f 0 [k] , k ∈ Z, of a spline S 2r (t) ∈ 2r S , its values S 2r (k/2m ) , k ∈ Z, are derived by m refinement steps of the subdivision scheme with the initial data f 0 and 2r frequency response is given by Eq. (7.11), such that the2rmaskmfilter am , whose S (k/2 ) = f [k] , k ∈ Z. This process can be described explicitly. Due to Eqs. (7.10) and (7.11), ω u 2r (ω) ˆ0 fˆ1 (ω) = aˆ 2r (ω) fˆ0 (2ω) = 2 cos2r f (2ω), 2 u 2r (2ω) 2r 2r ω u 2r (ω) ˆ1 2r ω cos2r ω u (ω) u (2ω) fˆ0 (4ω) fˆ2 (ω) = 2 cos2r (2ω) = 4 cos f 2 u 2r (2ω) 2 u 2r (2ω) u 2r (4ω)
= 4 cos2r fˆm (ω) = 2m
m
ω u 2r (2ω) ˆ0 cos2r ω 2r f (4ω), 2 u (4ω) cos2r (2l−1 ω)
l=1
u 2r (ω) u 2r (2m (ω)
fˆ0 (2m ω).
(7.12)
For computational purposes, we present filtering via the z-transforms. The zdef def transform of a sequence x = {x[k]} ∈ l1 is x(z) = k∈Z z −k x[k]. When z = eiω , we have x(ω) ˆ = x(z). The spline subdivision is represented by f m (z) = a(z) f m−1 (z 2 ) = a(z) a(z 2 ) f m−2 (z 4 ) = ... =
m
l−1
a(z 2
m
) f 0 (z 2 ).
l=1
(7.13) The cosine functions are cos nω = (einω + e−inω )/2 = (z n + z −n )/2, and the characteristic function u p (ω) becomes the symmetric Laurent polynomial u p (ω) =
k∈Z
e−ikω B p (k) −→ u¯ p (z) =
def
z −k B p (k),
k∈Z
whose properties are described in Proposition 4.10. We refer to u¯ p (z) as characteristic polynomial of the spline space p S . The transfer function of the filter a2r , whose frequency response is given in Eq. (7.11), is
7.2 Binary Subdivision for Non-periodic Splines
a (z) = 2 2r
1−2r
133
2r 2r −1 r u¯ 2r (z) z 1/2 + z −1/2 1−2r u¯ (z) z + 2 + z =2 . u¯ 2r (z 2 ) u¯ 2r (z 2 )
(7.14)
The transfer function a 2r (z) is a rational function; thus the filter has infinite impulse response (IIR) as opposite to finite impulse response (FIR) filters, whose transfer functions are Laurent polynomials. Roots of the polynomial u¯ 2r (z) do not lie on the unit circle, and each root γ is paired with the root 1/γ . Therefore, application of the filter a2r to the data f m−1 is expressed by f (z) = a (z) f m
2r
m−1
(z ) = u¯ (z)2 2
2r
1−2r
z 1/2 + z −1/2 u¯ 2r (z 2 )
2r f m−1 (z 2 )
and it can be implemented via three steps: 1. Causal–anticausal recursive filtering with the transfer function 1/u¯ 2r (z) is applied to the array f m−1 : f m−1 (z) , fˇm−1 (z) = 2r u¯ (z) as described in Sect. 2.2.2. 2. The array fˇ m−1 is upsampled: f˘ m = (↑ 2)fˇ m−1 and the FIR filtering r
2r 2r f˜m (z) = 21−2r z 1/2 + z −1/2 f˘m (z 2 ) ⇐⇒ f˜m [k] = 21−2r f˘m [k − l] l +r l=−r
is applied to the upsampled array. 3. The FIR filter with the transfer function u¯ 2r (z) is applied to the array f˜ m to get f m (z) = u¯ 2r (z) f˜m (z) ⇐⇒ f m [k] =
r
B 2r (l) f˜m [k − l].
l=−r
Equation (7.12) implies that the z-transform of the produced array f m is m− f m (z) = u¯ 2r (z)
l=0
21−2r
l−1 z2
+
m u¯ 2r (z 2 )
l−1 z −2
2r m
f 0 (z 2 ).
(7.15)
Therefore, in order to calculate the values S 2r (k/2m ) , k ∈ Z, of an even-order spline S 2r (t) ∈ 2r S whose samples are S 2r (k) = f 0 [k] , k ∈ Z, the following operations should be implemented:
134
7 Splines Computation by Subdivision
1. Causal–anticausal filtering with the transfer function 1/u¯ 2r (z) is applied 0 recursive to the array f [k] : f 0 (z) fˇ0 (z) = 2r . u¯ (z) 2. The array fˇ 0 is upsampled: f˘ 1 = (↑ 2)fˇ 0 and the FIR filtering r
2r 2r f˜1 (z) = 21−2r z 1/2 + z −1/2 f˘1 (z 2 ) ⇐⇒ f˜1 [k] = 21−2r f˘1 [k − l] l +r l=−r
is applied to the upsampled array. 3. Item 2 is iterated m times to produce the array f˜ m . 4. The FIR filter with the transfer function u¯ 2r (z) is applied to the array f˜ m such that f m (z) = u¯ 2r (z) f˜m (z) ⇐⇒ f m [k] =
r
B 2r (l) f˜m [k − l].
l=−r
5. S 2r (k/2m ) = f m [k], k ∈ Z. 2r Remark 7.2.1 Filtering with the transfer function z 1/2 + z −1/2 can be implemented as the r -fold iterated application of the simple filter c, whose transfer function is c(z) = (z + 2 + 1/z), that is, y = c x ⇐⇒ y[k] = x[k − 1] + 2x[k] + x[k + 1]. Remark 7.2.2 We emphasize that, regardless of the number of implemented refinement the IIR recursive filtering is applied only once (to the original array 0 steps, f [k] .) Examples of characteristic polynomials for even-order splines, p = 2r Piece-wise linear splines: r = 1 u¯ 2 (z) ≡ 1. Cubic splines: r = 2 u¯ 4 (z) =
√ (1 + αz)(1 + α/z) z + 4 + 1/z = , α = 2 − 3 ≈ 0.2679. 6 6α
(7.16)
Splines of the fifth degree: r = 3 z 2 + 26z + 66 + 26/z + 1/z 2 120 (1 + α1 z)(1 + α1 /z)(1 + α2 z)(1 + α2 /z) = , 120 α1 α2 α1 ≈ 0.04309628820326465382271237682255
u¯ 6 (z) =
α2 ≈ 0.43057534709997379185143478349352.
(7.17)
7.2 Binary Subdivision for Non-periodic Splines
135
Splines of the seventh degree: r = 4 z 3 + 120z 2 + 1191z + 2416 + 1191/z + 120/z 2 + 1/z 3 (7.18) 5040 (1 + β1 z)(1 + β1 /z)(1 + β2 z)(1 + β2 /z))(1 + β3 z)(1 + β3 /z) , = 5040 β1 β2 , β3 β1 ≈ 0.0091486948096082769285930216516479, β2 ≈ 0.53528043079643816554240378168165,
u¯ 8 (z) =
β3 ≈ 0.12255461519232669051527226435936. The binary subdivision using even-order spline filters is implemented by the MATLAB function binsub.m.
7.3 Ternary Subdivision Unlike the binary subdivision, ternary subdivision produces values at triadic rational points of splines of any order. Calculation of these values is based on the following insertion rule. p
Triadic spline insertion rule: Assume that a spline S0 (t) belongs to the space p S def p and f 0 = f 0 [k] = S0 (k) , k ∈ Z. For m = 1, 2, . . ., we construct on the grid def p gm−1 = k/3m−1 , k ∈ Z, a spline Sm−1 (t) ∈ p S3−(m−1) , which interpolates the def p sequence f m−1 = f m−1 [k] such that Sm−1 k/3m−1 = f m−1 [k], k ∈ Z. Then, def
p
f m [k] = Sm (k/3m ) , k ∈ Z. p We will show that for splines of any order p Sm (t) ∈ p Sm , this insertion rule p p p reproduces the spline, which means that Sm (t) ≡ Sm−1 (t) ≡ ... ≡ S0 (t). Consep quently, each refinement step provides the values of the spline S0 (t) at the consecutive set of triadic rational points. A detailed description of spline-subdivision schemes including the convergence study is presented in [1].
7.3.1 Spline Filters for Ternary Subdivision def p Let the spline S0 (t) ∈ p S , which interpolates the sequence f 0 = f 0 [k] ∈ l1 , be represented via the integral as in Eq. (7.3). The DTFT of the refined array
136
7 Splines Computation by Subdivision
fˆ1 (ω) =
k∈Z
where fˆ01 (ω) =
def
1 e−iωk f 1 [k] = fˆ01 (3ω) + e−iω fˆ11 (3ω) + eiω fˆ−1 (3ω),
e−iωk f 1 [3k] = fˆ0 (ω),
k∈Z
1 fˆ±1 (ω) =
def
(7.19) e−iωk f 1 [3k ± 1].
k∈Z
According to the triadic insertion rule, p
f 1 [3k ± 1] = S0
2π ˆ0 1 1 1 f (ω) p k± ω, k ± = ζ dω. 3 2π 0 u p (ω) 3
(7.20)
The shift property ( Eq. (4.7)) of exponential splines implies that
1 p ω, k ± = eiωk e±iω/3 υ±1 (ω), where ζ 3
1 1 def ∓iω/3 p p ∓iω/3 −iωk p ω, ± =e (7.21) ζ e B k± υ±1 (ω) = e 3 3 k∈Z
sin(ω/2 + πl) p = e±2iπl/3 . (ω/2 + πl) p
l∈Z
Consequently, f 1 [3k ± 1] =
1 2π
0
2π
eiωk
fˆ0 (ω) ±iω/3 p e υ±1 (ω) dω, u p (ω)
and from Eqs. (1.21) and (1.22) we conclude that 1 (ω) = fˆ±1
p
e−iωk f 1 [3k ± 1] = e±iω/3
k∈Z
υ±1 (ω)) u p (ω)
fˆ0 (ω).
(7.22)
By substituting Eq. (7.22) into Eq. (7.19), we get def fˆ1 (ω) = aˆ p (ω) fˆ0 (3ω), where aˆ p (ω) =
1+
p
p
υ1 (3ω) + υ−1 (3ω) u p (3ω)
(7.23)
is the frequency response of the interpolating filter a p . Comparing Eq. (7.23) with Eq. (7.2), we observe that the filter a p is the mask of the subdivision scheme Sa3 p originating from the triadic spline insertion rule.
7.3 Ternary Subdivision
137
Proposition 7.3 The frequency response of the mask a p of the subdivision scheme Sa3 p is u p (ω) . (7.24) aˆ p (ω) = 31− p (1 + 2 cos ω) p p u (3ω) Proof By combining Eqs (7.5) and (7.21), we get aˆ p (ω) =
A(ω)
def
,
p
p
A(ω) = u p (3ω) + υ1 (3ω) + υ−1 (3ω) sin(3ω/2 + πl) p
1 + ei2πl/3 + e−i2πl/3 = 3ω/2 + πl l∈Z
2πl sin(3ω/2 + πl) p 1 + 2 cos = . 3 3ω/2 + πl u 2r (3ω)
l∈Z
Thus, only the terms l = 3n, n ∈ Z, in the series are retained and we have A(ω) = 3
sin 3(ω/2 + πl) p . 3(ω/2 + πl) l∈Z
It follows from the identity sin 3(ω/2 + πl) = sin(ω/2 + πl) (1 + 2 cos(ω + 2πl)) = (1 + 2 cos(ω)) sin(ω/2 + πl)
and Eq. (4.6) that 3 A(ω) = p (1 + 2 cos ω) p 3 l∈Z
sin(ω/2 + πl) (ω/2 + πl)
p = 31− p (1 + 2 cos ω) p u p (ω).
7.3.2 Splines Computation at Triadic Rational Points Proposition 7.4 Assume that S p (t) ∈ p S is a spline of order p with nodes on the def grid {k}, k ∈ Z, whose samples are S(k) = f 0 [k] , k ∈ Z, f 0 = f 0 [k] , k ∈ Z. Then, all the consecutive subdivision steps with the triadic spline insertion rule reproduce values of this spline: f m [k] = S p (k/3m ), k ∈ Z, m ∈ N.
(7.25)
138
7 Splines Computation by Subdivision
Proof For splines of even order, this claim can be proved similarly to the proof of Proposition 7.2. However, to verify the claim for arbitrary order p, we have to do some calculations. p We have S0 (k/3) = f 1 [k] from the definition of the triadic insertion rule. The p next subdivision step consists of the construction of a spline S1 (t) on the grid g1 = p p 1 2 {k/3}, such that S1 (k/3) = f [k]. Then, f [k] = S1 (k/9). We prove that f 2 [k] = p S0 (k/9). The subsequent (m > 2) relations in Eq. (7.25) are derived by a simple induction. The array f2 is obtained by repeated application of the filter a p to the array f0 such that fˆ 2 (ω) = aˆ p (ω) fˆ1 (3ω) = aˆ p (ω) aˆ p (3ω) fˆ0 (9ω)
(7.26)
H(ω) ˆ0 (1 + 2 cos ω) p u p (ω) (1 + 2 cos 3ω) p u p (3ω) ˆ0 f (9ω) = f (9ω), = p−1 p p−1 p 3 u (3ω) 3 u (9ω) u(9ω)
where
def
H(ω) = 91− p ((1 + 2 cos ω)(1 + 2 cos 3ω)) p u p (ω).
(7.27)
def p Denote s = s[k] = S0 (k/9) , k ∈ Z. Similarly to Eq.(7.19), the DTFT of this array is given by sˆ (ω) =
e−iωk s[k] = sˆ0 (9ω) +
k∈Z
4
e−iωl sˆl (9ω) + eiωl sˆ−l (9ω) ,
(7.28)
l=1
where def
sˆl (ω) =
e−iωk S0
p
k∈Z
=
e−iωk
1 2π
e−iωk
1 2π
k∈Z
=
k∈Z
2π ˆ0 l l 1 f (w) p k+ w, k + = ζ dw e−iωk 9 2π 0 u p (w) 9 k∈Z
2π ˆ0 l iwk f (w) p w, ζ dw e u p (w) 9 0 2π fˆ0 (w) iwl/9 p fˆ0 (ω) iωl/9 p e e eiwk p υl (w) dw = p υl (ω) . u (w) u (ω) 0
p
The function υl (ω) is defined by
l sin(ω/2 + π ν) p def p = υl (ω) = e−iωl/9 ζ p ω, e2νl πi/9 . 9 (ω/2 + π ν) ν∈Z
(7.29)
7.3 Ternary Subdivision
139
By substituting Eq. (7.29) into Eq. (7.28), we get ˆ0
sˆ (ω) = f (9ω)
u p (9ω) +
4 l=1
p
p
υl (9ω) + υ−l (9ω)
u p (9ω)
(7.30)
4
sin(9v/2 + π ν) p fˆ0 (9ω) 2νlπi/9 −2νlπi/9 e +e 1+ = p u (9ω) (9v/2 + π ν) l=1 ν∈Z
4 sin(9v/2 + π ν) p fˆ0 (9ω) 2νlπ = p cos . 1+2 u (9ω) 9 (9v/2 + π ν) ν∈Z
l=1
It is readily verified that 1+2
4 l=1
cos
2νlπ = 9
9, if ν = 9n, n ∈ Z; 0, otherwise.
(7.31)
Thus,
9 fˆ0 (9ω) sin 9(ω/2 + π ν) p u p (9ω) 9(ω/2 + π ν) ν∈Z
p ˆ0
9 f (9ω) sin 3(ω/2 + π ν) p 1 + 2 cos 3ω = 9 u p (9ω) (ω/2 + π ν) ν∈Z
fˆ0 (9ω) sin(ω/2 + π ν) p = 91− p (1 + 2 cos 3ω) p (1 + 2 cos ω) p p u (9ω) (ω/2 + π ν)
sˆ (ω) =
ν∈Z
u p (9ω) fˆ0 (9ω) . = 91− p (1 + 2 cos 3ω) p (1 + 2 cos ω) p u p (9ω)
(7.32)
Comparing Eq. (7.32) with Eqs. (7.26) and (7.27), we see that fˆ2 (ω) = sˆ (ω) and, consequently, f 2 [k] = S p (k/9), k ∈ Z. Repeating our reasoning with the initial p data set f1 instead of f0 , we prove that f 3 [k] = S1 (k3−3 ) and so on. Remark 7.3.1 If the initial data is the delta sequence f 0 [k] = δ[k], then we get f m [k] = L p k3−m , where L p (t) is the fundamental spline of the space p S, which decays exponentially as t grows. Therefore, we can extend the assertion of Proposition 7.4 from splines belonging to S p to splines that interpolate sequences of power growth.
140
7 Splines Computation by Subdivision
7.3.3 Practical Implementation It follows from Proposition 7.4 that, once we know the samples S p (k) = f 0 [k] , k ∈ Z, of a spline S p (t) ∈ p S , its values {S p (k/3m )} , k ∈ Z, are derived by m refinement steps of the subdivision scheme using the initial data f 0 and the mask filter a p , whose frequency response is given by Eq. (7.24). That is {S p (k/3m ) = f m [k]} , k ∈ Z. This subdivision process can be described explicitly. Due to Eqs. (7.23) and (7.24), u p (ω) ˆ0 f (3ω), fˆ1 (ω) = aˆ p (ω) fˆ0 (3ω) = 31− p (1 + 2 cos ω) p p u (3ω) m
p u p (ω) 1 + 2 cos 3l−1 ω fˆm (ω) = 3(1− p)m fˆ0 (3m ω). u p (3m ω)
(7.33)
l=1
def
If z = eiω , then the triadic subdivision with a filter a is represented by f (z) = a(z) f m
m−1
(z ) = a(z) a(z ) f 3
3
m−2
(z ) = ... = 6
m
l−1
a(z 3
m
) f 0 (z 3 ).
l=1
(7.34) The transfer function of the filter a p , whose frequency response is given in Eq. (7.24), is u¯ p (z) (z + 1 + 1/z) p a p (z) = 31− p , (7.35) u¯ p (z 3 ) def where u¯ p (z) = k∈Z z −k B p (k) is the characteristic polynomial of the spline space p S . The application of the filter a p to the data f m−1 is presented by
f m (z) = a p (z) f m−1 (z 3 ) = u¯ p (z) 31− p
(z + 1 + 1/z) p m−1 3 f (z ). u¯ p (z 3 )
As in the dyadic case, the transfer function a p (z) is a rational function; thus the filter is IIR. Since the roots of the polynomial u¯ p (z) do not lie on the unit circle and each root γ is paired with the root 1/γ , the filtering can be implemented via the following three steps: 1. Causal–anticausal recursive filtering with the transfer function 1/u¯ p (z) is applied, as described in Section 2.2.2: f m−1 (z) . fˇm−1 (z) = u¯ p (z) 2. The array fˇ m−1 is upsampled such that f˘ m = (↑ 3)fˇ m−1 , and the FIR filtering
7.3 Ternary Subdivision
141
p f˜m (z) = 31− p z + 1 + z −1 f˘m (z 3 ), is applied to the upsampled array. It can be implemented as p successive iterations of the moving average operation y[k] = (x[k − 1] + x[k] + x[k + 1])/3 to the array f˘ m . 3. The FIR filter with the transfer function u¯ p (z) is applied to the array f˜ m to produce f m (z) = u¯ p (z) f˜m (z) ⇐⇒ f m [k] =
r
B p (l) f˜m [k − l].
l=−r
Equation (7.33) implies that the z-transform of the array f m is m
f m (z) = u¯ p (z)
l=1
l−1 l−1 p 31− p z 3 + 1 + z −3 m u¯ p (z 3 )
m
f 0 (z 3 ).
(7.36)
p m p Therefore, in order to calculate the values {S (k/3 )} , k ∈ Z, of a spline S (t) ∈ p S , whose samples are S(k) = f 0 [k] , k ∈ Z, the following operations should be implemented:
1. Causal–anticausal recursive filtering with the transfer function 1/u¯ p (z) is applied to the array f 0 = { f 0 [k]}, k ∈ Z,: f 0 (z) fˇ0 (z) = p . u¯ (z) 2. The array fˇ 0 is upsampled such as f˘ 1 = (↑ 3)fˇ 0 , and the FIR filtering
p f˘1 (z 3 ) f˜1 (z) = 31− p z + 1 + z −1 is applied to the upsampled array. 3. Item 2 is iterated m times, producing the array f˜ m . 4. The FIR filter with the transfer function u¯ p (z) is applied to the array f˜ m : f (z) = u¯ (z) f˜m (z) ⇐⇒ f m [k] = m
p
r
B p (l) f˜m [k − l].
l=−r
5. S p (k/3m ) = f m [k], k ∈ Z. Examples of characteristic polynomials for odd-order splines Quadratic splines: p = 3 u¯ 3 (z) =
√ z + 6 + 1/z (1 + αz)(1 + α/z) = , α = 3 − 2 2 ≈ 0.1716 8 8α
(7.37)
142
7 Splines Computation by Subdivision
Splines of fourth degree: p = 5 z 2 + 76z + 230 + 76/z + 1/z 2 384 (1 + α1 z)(1 + α1 /z)(1 + α2 z)(1 + α2 /z , = 364 α α 1 2 √ √ α1 = 19 − 4 19 − 2 166 − 38 19 ≈ 0.3613, √ √ α2 = 19 + 4 19 − 2 166 + 38 19 ≈ 0.0137.
u¯ 5 (z) =
(7.38)
Splines of sixth degree: p = 7 z 3 + 722z 2 + 10543z + 23548 + 10543/z + 722/z 2 + 1/z 3 (7.39) 46080 (1 + γ1 z)(1 + γ1 /z)(1 + γ2 z)(1 + γ2 /z))(1 + γ3 z)(1 + γ3 /z) , = 46080 γ1 γ2 , γ3 γ1 ≈ 0.0014141518083258177510872439765586, γ2 ≈ 0.081679271076237512597937765737059,
u¯ 7 (z) =
γ3 ≈ 0.48829458930304475513011803888379. The ternary subdivision using spline filters is implemented by the MATLAB function tersub.m.
7.4 Upsampling Examples Extension of the described algorithms to 2D case is straightforward. Once a subdivision scheme is applied to rows of a 2D matrix, it is followed by the application of either the same or a different scheme to columns of the produced matrix. An obvious application of the 2D spline subdivision is for upsampling of digital images that increases their resolution. For this, pixels of the image are regarded as samples of a 2D spline and the initial data array is upsampled by the spline’s values in internal points, which are derived by either binary or ternary subdivision. Figure 7.1 displays the original images “Mandrill” and “Bridge”, which contain fine textures. The “Bridge” image is presented by a 512 × 512 matrix of pixels, whereas “Mandrill” is presented by a 128 × 128 array of pixels. Figs. 7.2 and 7.3, which are produced by the MATLAB code sub2_exam , display fragments of the original images versus the same fragments after the application of upsampling. Either of the images is upsampled in the vertical direction by five steps of the binary subdivision using the cubic spline. In the horizontal direction, both images are upsampled by three steps of the ternary subdivision using the fourth-
7.4 Upsampling Examples
143
Fig. 7.1 Left Fragment of the image “Mandrill”. Right The image “Bridge”
Fig. 7.2 Left Two fragments of the original “Mandrill” image. Right Respective fragments of the upsampled image. The image is upsampled in the vertical direction by five steps of the binary subdivision using the cubic spline. In the horizontal direction, the image is upsampled by three steps of the ternary subdivision using the fourth-degree spline
144
7 Splines Computation by Subdivision
Fig. 7.3 Left Two fragments of the original “Bridge” image. Right Respective fragments of the upsampled image. The image is upsampled in the vertical direction by five steps of binary subdivision with the cubic spline. In the horizontal direction, the image is upsampled by three steps of ternary subdivision with the fourth-degree spline
degree spline. Thus, the number of pixels in the upsampled images is increased by 32 × 27 = 864 times compared to the number of pixels in the original images. Improvement in the resolution is apparent.
References 1. A. Averbuch, V. Zheludev, G. Fatakhov, E. Yakubov, Ternary interpolatory subdivision schemes originated from splines. Int. J. Wavelets Multiresolut. Inf. Process. 9(4), 611–633 (2011) 2. N. Dyn, Analysis of convergence and smoothness by the formalism of Laurent polynomials, in Tutorials on Multiresolution in Geometric Modelling, ed. by A. Iske, E. Quak, M.S. Floater (Springer, Berlin, 2002), pp. 51–68 3. N. Dyn, J.A. Gregory, D. Levin, Analysis of uniform binary subdivision schemes for curve design. Constr. Approx. 7(1), 127–147 (1991) 4. V. Zheludev, Local quasi-interpolatory splines and Fourier transforms. Sov. Math. Dokl. 31, 573–577 (1985) 5. V. Zheludev, Local spline approximation on a uniform mesh. U.S.S.R. Comput. Math. Math. Phys. 27(5), 8–19 (1987) 6. V. Zheludev, Interpolatory subdivision schemes with infinite masks originated from splines. Adv. Comput. Math. 25(4), 475–506 (2006)
Chapter 8
Polynomial Spline-Wavelets
Abstract This chapter presents wavelets in the spaces of polynomial splines. The wavelets’ design is based on the Zak transform, which provides an integral representation of spline-wavelets. The exponential wavelets which participate in the integral representation are counterparts of the exponential splines that were introduced in Chap. 4. Fast algorithms for the wavelet transforms of splines are presented. Generators of spline-wavelet spaces are described, such as the B-wavelets and their duals and the Battle-Lemarié wavelets whose shifts form orthonormal bases of the spline-wavelet spaces. We recall some facts from Chap. 4 that are needed for the forthcoming constructions. Let a spline S 2r (t) belong to the space p S . Due to Corollary 4.1, it can be represented in two alternative ways S
2r
(t) =
k∈Z
1 q[k]ϕ (t − k) = 2π
2π
p
q[ω] ˆ Z [ϕ p ] (ω, t) dω,
0
where ϕ p (t) is a generator of the space p S and Z [ϕ p ](ω, t) is its Zak transform. Typically, generators have compact support or they decay fast when t → ∞. The generator with the shortest possible support is the B-spline p p−1 p p 1 t + −k (−1) p k ( p − 1)! 2 + k=0 p ∞ sin ω/2 1 = eiωt dω, 2π −∞ ω/2
B p (t) =
whose Zak transform def
ζ p (ω, t) = Z [B p ](ω, t) =
eiωk B p (t − k)
(8.1)
k∈Z
= sin p
p (−1)l ω i(ω+2πl)t e 2 (ω + 2πl)/2 l∈Z
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_8
145
146
8 Polynomial Spline-Wavelets
is referred to as exponential spline. Thus, any spline from p S can be represented by
1 S (t) = q[k]B (t − k) = 2π k∈Z e−iωk q[k]. ξ(ω) = q(ω) ˆ = 2r
p
2π
ξ(ω)ζ p (ω, t) dω,
(8.2)
0
k∈Z
By inverting Eq. (8.1), we have B p (t − k) =
1 2π
2π
e−iωk ζ p (ω, t) dω.
(8.3)
0
Other important generators for p S are exemplified in Sect. 4.2.1. All the generators can be represented by either B-splines or exponential splines ϕ p (t) =
k∈Z
f [k]B p (t − k) =
1 2π
2π
τ (ω) ζ p (ω, t) dω, τ (ω) = fˆ(ω) = 0.
0
The Fourier transform of the B-spline generator Bˆ p (ω) =
sin ω/2 ω/2
p
is concentrated around zero and the same is true for the generators from Sect. 4.2.1. A breakthrough in the spline theory and applications happened in recent decades when multiple generators, the so-called spline-wavelets and wavelet packets, were introduced [2–8, 10, 11]. Components of those multiple generators are orthogonal to each other. In a sense, the multiple generators provide a spline representation which is intermediate between a time- domain and a frequency domain representation. Once the spline is expanded over the shifts of the components of such a multiple generator, its Fourier spectrum splits into bands while the expansion coefficients retain a spatial meaning. This fact is advantageous for signal and image processing. The wavelets and wavelet packets achieve a remarkable success in denoising, data compression, convolution-related problems, features extraction, to name a few. As in previous sections, p Sh denotes the space of p-order splines defined on the grid {kh} , k ∈ Z, p S = p S1 . We now start to design multiple generators for spline spaces from two-scale relations that are relations between splines from the spaces p S and p S2 . Throughout this section, we assume that the splines orders are even, i.e. p = 2r .
8.1 Two-scale Relations
147
8.1 Two-scale Relations 8.1.1 Two-scale Relations for Exponential Splines The space 2r S consists of splines of order 2r whose nodes are located at the grid g = {k} , k ∈ Z. In turn, 2r S2 consists of splines whose nodes are located at even points of the grid g. Thus, the splines from 2r S2 belong to 2r S , and 2r S2 is a subspace of 2r S , that is 2r S2 ⊂ 2r S . Therefore, each spline S 2r (t) ∈ 2r S2 can be expressed via elements of the space 2r S . This is true, in particular, for the B-spline B 2r (t/2) ∈ 2r S , which can be represented as a finite linear combination of shifts of the B-spline B 2r (t). The exponential splines ζ 2r (ω, t/2) can be expressed via ζ 2r (ω, t). Proposition 8.1 The following two-scale relation holds for exponential splines t ζ 2ω, = b(ω) ζ 2r (ω, t) + b(ω + π ) ζ 2r (ω + π, t) 2 ω def where b(ω) = cos2r . 2 2r
(8.4) (8.5)
Proof Equation (8.1) implies that ei(ω+πl)t t ei(ω+πl)t sin2r ω = sin2r ω ζ 2r 2ω, = . 2r 2r 2r 2 2 + πl) (ω ((ω + πl)/2) l∈Z l∈Z
(8.6)
We separate the even and the odd terms of the series in Eq. (8.6), keeping in mind that sin2r ω/2 = sin2r (ω/2 + π ). We get ζ
2r
t ω ω ei(ω+2πl)t 2ω, = cos2r sin2r 2 2 2 ((ω + 2πl)/2)2r l∈Z + cos2r = cos2r
(ω + π ) 2r (ω + π ) ei(ω+π +2πl)t sin 2 2 ((ω + π + 2πl)/2)2r l∈Z
ω 2r (ω + π ) 2r ζ (ω, t) + cos2r ζ (ω + π , t) . 2 2
For further use, we single out two special cases of the relation in Eq. (8.4). Denote 1 1 def 2r 2r −iωk 2r ω, k+ = . (8.7) e B (ω) = ζ 2 2 k∈Z
148
8 Polynomial Spline-Wavelets
Corollary 8.1 The following relations hold ω ω u 2r (2ω) = cos2r u 2r (ω) + sin2r u 2r (ω + π ) , 2 2 ω ω 2r (2ω) = eiω cos2r u 2r (ω) − sin2r u 2r (ω + π ) . 2 2
(8.8) (8.9)
Proof Note that cos2r ((ω + π )/2) = sin2r (ω/2). Then, we have u 2r (ω) = ζ 2r (2ω, 0) = b(ω) ζ 2r (ω, 0) + b(ω + π ) ζ 2r (ω + π, 0) ω ω = cos2r u 2r (ω) + sin2r u 2r (ω + π ) . 2 2 1 2ω, = b(ω) ζ 2r (ω, 1) + b(ω + π ) ζ 2r (ω + π, 1) (ω) = ζ 2 ω ω = eiω cos2r u 2r (ω) + ei(ω+π ) sin2r u 2r (ω + π ) . 2 2 2r
2r
Hence, Eqs. (8.8) and (8.9) follow. The two-scale relation Eq. (8.4) results in the following representation of a spline S22r (t) from the subspace 2r S2 ⊂ 2r S : S22r
t ω, dω ξ(ω)ζ 2 0 2π ω ω ω ω 1 = ζ 2r ξ(ω) b ,t + b + π ζ 2r + π, t dω. 2π 0 2 2 2 2
1 (t) = 2π
2π
2r
By substituting w = ω/2 and keeping in mind that b(ω) = cos2r sin2r ω2 , we get S22r
ω 2
=⇒ b(ω + π ) =
1 π ξ(2w) b(w) ζ 2r (w, t) + b(w + π ) ζ 2r (w + π , t) dw (t) = π 0 1 2π = ξ(2ω) b(ω) ζ 2r (ω, t) dω. π 0
Finally, we come to the following two-scale relation for splines from 2r S2 ⊂ 2r S : 2π t 1 dω ξ(ω)ζ 2r ω, (8.10) 2π 0 2 2π 2π ω 1 1 = ξ(2ω) b(ω) ζ 2r (ω, t) dω = cos2r ξ(2ω) ζ 2r (ω, t) dω. π 0 π 0 2
S22r (t) =
8.1 Two-scale Relations
149 def
In particular, for the B-spline B22r (t) = B p (t/2) we have B22r
1 2π −i2ωk e b(ω) ζ 2r (ω, t) dω, (t − k) = π 0 ω 1 2π 2r B2 (t) = cos2r ζ 2r (ω, t) dω π 0 2 2π 2r 1 eiω/2 + e−iω/2 = 2r ζ 2r (ω, t) dω 2 π 0 2π 2r 2r i(n−r )ω 2r 1 e ζ (ω, t) dω = 2r n 2 π 0 n=0 r 2r 1 B p (t + n) . = 2r −1 n + r 2 n=−r
(8.11)
8.1.2 Exponential Wavelets Denote by 2r W2 the orthogonal complement of the subspace 2r S2 in the space 2r S. It is called the wavelet subspace of 2r S. Any spline T22r (t) ∈ 2r W2 is orthogonal to all the shifts {B p (t/2 − k)} of the B-splines, which form a basis for 2r S2 . Assume that a spline T22r (t) ∈ 2r S is represented in a similar way to Eq. (8.10) where T22r (t) =
1 π
2π
τ (2ω) a(ω)ζ 2r (ω, t) dω,
(8.12)
0
τ (ω) = τ (ω + 2π ) is a 2π -periodic function. We derive a(ω) such that T22r (t) ∈
2r W . 2
Equations (4.24) and (8.11) imply that ∞
2 2π −i2ωk B22r (t − k) T22r (t)∗ dt = e b(ω) a ∗ (ω) τ ∗ (2ω) u 4r (ω) dω π 0 −∞ 2 π −i2ωk ∗ e τ (2ω) b(ω) u 4r (ω) a ∗ (ω) + b(ω + π ) u 4r (ω + π ) a ∗ (ω + π ) dω = π 0
In order for this inner product to be zero with any k ∈ Z and any 2π -periodic function τ (ω), the sum b(ω) u 4r (ω) a ∗ (ω) + b(ω + π ) u 4r (ω + π ) a ∗ (ω + π )
150
8 Polynomial Spline-Wavelets
should be identically zero. This is satisfied if a(ω) = eiω u 4r (ω + π )b(ω + π ) = eiω u 4r (ω + π ) sin2r
ω . 2
(8.13)
The spline T22r (t) ∈ 2r W2 is orthogonal to all splines from 2r S which have nodes only on the sparse grid {2k} , k ∈ Z. Therefore, nodes of T22r (t) are located on the sparse grid {2k + 1} , k ∈ Z. Equation (8.12) can be rewritten as T22r (t)
= = = =
1 2π τ (2ω) a(ω)ζ 2r (ω, t) dω (8.14) π 0 4π ω ω 1 ζ 2r , t dω τ (ω) a 2π 0 2 2 2π ω ω ω ω 1 ζ 2r ,t + a + π ζ 2r + π, t dω τ (ω) a 2π 0 2 2 2 2 2π 1 t dω, τ (ω) ϑ 2r ω, 2π 0 2
where t def ϑ 2r 2ω, = a(ω) ζ 2r (ω, t) + a(ω + π ) ζ 2r (ω + π, t) 2
(8.15)
is a spline whose nodes are located on the sparse grid {2k + 1} , k ∈ Z, and the function a(ω) is defined in Eq. (8.13). Equation (8.14) represents the splines T22r (t) from the wavelet space 2r W2 in the integral form via the splines ϑ 2r (ω, t/2). This representation is similar to the representation in Eq. (8.10) of the splines S22r (t) from 2r S via the exponential splines ζ 2r (ω, t/2). 2 We refer to the splines ϑ 2r (ω, t/2) as exponential wavelets. Denote def
(8.16) θ 2r (2ω) = ϑ 2r (2ω, 0) = a(ω) ζ 2r (ω, 0) + a(ω + π ) ζ 2r (ω + π, 0) ω ω . = eiω u 4r (ω + π ) u 2r (ω) sin2r − u 4r (ω) u 2r (ω + π ) cos2r 2 2 The functions u 2r (ω) and u 4r (ω) are polynomials of the variable cos ω/2. Therefore, the function θ 2r (2ω) is a cosine polynomial as well. Proposition 8.2 The exponential wavelets ϑ 2r (2ω, t/2) are the eigenvectors of the integer shift operator: t t , m ∈ Z. ϑ 2r ω, + m = eiωm ϑ 2r ω, 2 2 In particular,
(8.17)
8.1
Two-scale Relations
151
ϑ 2r (ω, m) = eiωm ϑ 2r (ω, 0) = eiωm θ 2r (ω) , m ∈ Z.
(8.18)
Proof This property stems from the corresponding property of the exponential splines (Eq. (4.7)). ϑ
2r
t 2ω, + m 2
=ϑ
2r
t + 2m 2ω, 2
= a(ω) ζ 2r (ω, t + 2m) + a(ω + π ) ζ 2r (ω + π, t + 2m) = a(ω) ei2ωm ζ 2r (ω, t) + a(ω + π ) eim(2ω+2π ) ζ 2r (ω + π, t) t i2ωm 2r 2ω, . =e ϑ 2
8.2 Spline-Wavelet Transforms Remark 8.2.1 Recall that if x and y are vectors in Rn , and M is a square n × n matrix then the relation (8.19) x · (M · yT ) = y · (MT · x T ) holds, where MT denotes the transposed matrix. If the matrix M is invertible, then the transposed matrix is invertible as well and −1 T MT = M−1 .
(8.20)
8.2.1 One Step of the Spline Wavelet Transforms The exponential splines ζ 2r (2ω, t/2) and the exponential wavelets ϑ 2r (2ω, t/2) defined on the sparse grids are expressed via the fine-grid exponential splines ζ 2r (ω, t) by the two-scale relations (8.4) and (8.15). These relations can be presented in a matrix form. 2r ζ 2r (ω, t) ζ (2ω, t/2) = A(ω) · , (8.21) ϑ 2r (2ω, t/2) ζ 2r (ω + π, t) b(ω) b(ω + π ) def A(ω) = (8.22) a(ω) a(ω + π ) 2r sin2r ω/2 cos ω/2 . = 2r iω 4r e u (ω + π ) sin ω/2 −eiω u 4r (ω) cos2r ω/2
152
8 Polynomial Spline-Wavelets
Proposition 8.3 The matrix A(ω) is invertible. Proof We calculate the determinant of the matrix A(ω) by using Eq. (8.8). def
D(ω) = det A(ω) = b(ω)a(ω + π ) − b(ω + π )a(ω) (8.23) iω 4r ω 4r 4r ω 4r iω 4r u (ω) + sin u (ω + π ) = −e u (2ω) = 0. cos = −e 2 2 Thus, 1 a(ω + π ) −b(ω + π ) D(ω) −a(ω) b(ω) 4r 1 e−iω sin2r ω/2 u (ω) cos2r ω/2 . = 4r u (2ω) u 4r (ω + π ) sin2r ω/2 −e−iω cos2r ω/2
A−1 (ω) =
(8.24)
Corollary 8.2 The inverse two-scale relation holds such that t t ˜ ζ 2r (ω, t) = b(ω) + a(ω) ˜ ϑ 2r 2ω, , ζ 2r 2ω, 2 2 where u 4r (ω) cos2r ω/2 def a(ω + π ) ˜ = , b(ω) = D(ω) u 4r (2ω) e−iω sin2r ω/2 def −b(ω + π ) = . a(ω) ˜ = D(ω) u 4r (2ω) Proof Equations (8.21) and (8.24) imply that
2r ζ 2r (ω, t) ζ (2ω, t/2) −1 = A (ω) · =⇒ ζ 2r (ω, t) (8.25) ζ 2r (ω + π, t) ϑ 2r (2ω, t/2) t t ω ω 1 u 4r (ω) cos2r ζ 2r 2ω, − e−iω sin2r ϑ 2r 2ω, = 4r u (2ω) 2 2 2 2
Direct and inverse two-scale relations enable us to explicitly decompose a spline from 2r S into its mutually orthogonal components from 2r S2 and 2r W2 . Proposition 8.4 Assume that a spline S 2r (t) ∈ 2r S is represented by S
2r
1 (t) = 2π
2π 0
ξ0 (ω) ζ 2r (ω, t) dω.
(8.26)
8.2 Spline-Wavelet Transforms
153
Then, it can be decomposed into mutually orthogonal components S 2r (t) = S22r (t) T22r (t), where 2π 1 t 2r 2r S2 (t) = ξ1 (ω) ζ ω, dω ∈ 2r S2 , 2π 0 2 2π t 1 dω ∈ 2r W2 , T22r (t) = η1 (ω) ϑ 2r ω, 2π 0 2 ξ1 (2ω) ξ0 (ω) = Aa (ω) · , η1 (2ω) ξ0 (ω + π )
(8.27) (8.28) (8.29) (8.30)
where the so-called analysis matrix is 1 −1 T 1 Aa (ω) = A (ω) = 2 2D(ω) def
a(ω + π ) a(ω) −b(ω + π ) −b(ω)
(8.31)
and the determinant D is given by Eq. (8.23). Proof We split the integral in Eq. (8.26) S
2r
π 1 ξ0 (ω) ζ 2r (ω, t) + ξ0 (ω + π ) ζ 2r (ω + π, t) dω (t) = 2π 0 2r π 1 ζ (ω, t) dω. = (ξ0 (ω), ξ0 (ω + π )) · ζ 2r (ω + π, t) 2π 0
Then, using Eq. (8.25), we get S 2r (t) =
1 2π
π
(ξ0 (ω), ξ0 (ω + π )) · A−1 (ω) ·
0
ζ 2r (2ω, t/2) ϑ 2r (2ω, t/2)
dω.
Equations (8.19) and (8.20) imply that S
2r
π 1 ζ 2r (2ω, t/2) , ϑ 2r (2ω, t/2) (t) = 2π 0 T ξ (ω) 0 −1 dω × A (ω) · ξ0 (ω + π ) 2π 1 ζ 2r (ω, t/2) , ϑ 2r (ω, t/2) = 2π 0 T ξ (ω/2) 1 −1 0 dω × A (ω/2) · ξ0 (ω/2 + π ) 2 2π 1 t t = ξ1 (ω) ζ 2r ω, + η1 (ω) ϑ 2r ω, dω, 2π 0 2 2
154
8 Polynomial Spline-Wavelets
where the coefficients ξ1 (ω) and η1 (ω) are given by Eq. (8.30). All the splines represented as in Eq. (8.29) belong to 2r W2 . This means that they are orthogonal to the splines from 2r S2 represented as in Eq. (8.28). Remark 8.2.2 The spline S22r (t) is an orthogonal projection of S 2r (t) onto the subspace 2r S2 , while the spline T22r (t) is its orthogonal projection onto the subspace 2r W . 2 2π It was established in Sect. 8.1.2 that any spline represented via the integral 1/2π 0 η1 (ω) ϑ 2r (ω, t/2) dω, where the function a(ω) is defined in Eq. (8.13), belongs to the space 2r W2 . Proposition 8.4 entails the inverse claim, which is formulated in Corollary 8.3. Corollary 8.3 Any spline T22r (t) from 2r W2 can be represented by the integral T22r (t)
1 = 2π
2π
η1 (ω) ϑ
0
2r
t ω, dω. 2
Relation (8.30) between the spline’s coordinates in different spaces is invertible such that ξ0 (ω) ξ1 (2ω) = As · , ξ0 (ω + π ) η1 (2ω) where the so-called synthesis matrix is As (ω) = Aa −1 (ω) = 2AT (ω) = 2 def
b(ω) a(ω) . b(ω + π ) a(ω + π )
(8.32)
Hence, we get reconstruction formulas. Proposition 8.5 Assume that the orthogonal projections of a spline S 2r (t) ∈ onto the subspaces 2r S2 and 2r W2 are given by integrals
2r S
t ω, dω ∈ 2r S2 , ξ1 (ω) ζ 2 0 2π t 1 dω ∈ 2r W2 . T22r (t) = η1 (ω) ϑ 2r ω, 2π 0 2 S22r
1 (t) = 2π
2π
2r
Then, the spline S 2r (t) is represented as S
2r
1 (t) = 2π
2π 0
ξ0 (ω) ζ 2r (ω, t) dω,
(8.33)
8.2 Spline-Wavelet Transforms
155
where
ξ0 (ω) ξ0 (ω + π )
= As (ω) ·
ξ1 (2ω) . η1 (2ω)
(8.34)
Thus, ξ0 (ω) = 2(b(ω) ξ1 (2ω) + a(ω) η1 (2ω)).
(8.35)
Corollary 8.4 The splines S22r (t) and T22r (t), which belong to the subspaces 2r S2 and 2r W2 of the space 2r S , respectively, have the following representation in the space 2r S : S22r
(t) = =
T22r (t) = =
2π t 1 2r ω, dω ξ1 (ω) ζ 2π 0 2 1 2π ξ1 (2ω) b(ω) ζ 2r (ω, t) dω, π 0 2π t 1 dω η1 (ω) ϑ 2r ω, 2π 0 2 1 2π η1 (2ω) a(ω) ζ 2r (ω, t) dω. π 0
(8.36)
(8.37)
8.2.2 Multiscale Spline Wavelet Transforms Assume that a spline S 2r (t) from 2r S is decomposed as in Eq. (8.27) S 2r (t) = S22r (t)
T22r (t).
Now, the same procedure is applied to the component S22r (t) ∈ 2r S2 such that T42r (t), where S22r (t) = S42r (t) 2π t 1 2r 2r ω, dω ∈ 2r S4 , S4 (t) = ξ2 (ω) ζ 2π 0 4 2π t 1 dω ∈ 2r W4 , T42r (t) = η2 (ω) ϑ 2r ω, 2π 0 4 ξ2 (2ω) ξ1 (ω) = Aa (ω) · , η2 (2ω) ξ1 (ω + π )
(8.38) (8.39) (8.40) (8.41)
156
8 Polynomial Spline-Wavelets
where the matrix Aa is defined in Eq. (8.31). Thus, the spline S 2r (t) becomes decomposed into the orthogonal components S 2r (t) = S42r (t)
T42r (t)
T22r (t).
If the orthogonal projections of the spline S 2r (t) ∈ 2r S onto the subspaces 2r S4 , and 2r W2 are available, then the spline can be restored iteratively by
2r W 4
2π t 1 S22r (t) = dω, ξ1 (ω) ζ 2r ω, 2π 0 2 ξ1 (ω) ξ (2ω) , = As (ω) · 2 η2 (2ω) ξ1 (ω + π ) 2π 1 S 2r (t) = ξ0 (ω) ζ 2r (ω, t) dω, 2π 0 ξ0 (ω) ξ (2ω) = As (ω) · 1 . η1 (2ω) ξ0 (ω + π ) where the matrix As is defined in Eq. (8.32). Thus, we have ξ0 (ω) = 4(b(ω) b(2ω) ξ2 (4ω) + 4(b(ω) a(2ω) η2 (4ω) + 2a(ω) η1 (2ω). (8.42) The decomposition procedure can be applied to the spline S42r (t) and so on. If the procedure is iterated M times, then the spline S 2r (t) becomes decomposed into the orthogonal components S 2r (t) = S22rM (t)
M
T22rm (t) .
(8.43)
m=1
The reconstruction from the orthogonal projection is implemented iteratively. The diagrams in Fig. 8.1 illustrate the direct and the inverse multiscale wavelet transforms.
8.3 Generators of the Wavelet Space 2r W Similarly to splines from the space 2r S2 , members of the wavelet 2
2r subspace can be represented by linear combinations of integer shifts ψ (t − k) , k ∈ Z, of certain splines ψ 2r (t) ∈ 2r W2 which are called wavelets. The wavelets are the generators of the subspace 2r W2 . Conditions for a spline ψ 2r (t) to serve as a generator for the space ∈ 2r W2 are similar to the conditions for the entire spline space, which are formulated in Proposition 4.6.
8.3 Generators of the Wavelet Space
157
Fig. 8.1 Diagrams of direct (top) and inverse (bottom) 3-scale wavelet transforms.
8.3.1 B-Wavelets We start with the simplest generators, which are the counterparts of the B-splines, that are called B-wavelets. They are introduced independently in [3, 9, 10].
8.3.1.1 Definition of B-Wavelets Generators Define the spline from the wavelet subspace 2r W2 to be A2r 2
1 (t) = 2π def
2π
0
ϑ
2r
t 1 2π ω, dω = a(ω) ζ 2r (ω, t) dω, (8.44) 2 π 0
where ϑ 2r (ω, t/2) is the exponential wavelet defined in Eq. (8.15), and the function a(ω) is given in Eq. (8.13). Proposition 8.6 The spline A2r 2 (t) defined in Eq. (8.44) is a generator of the wavelet subspace 2r W2 ⊂ 2r S . Proof From Eq. (8.17), we observe that A2r 2 (t − k) =
1 2π
0
2π
2π 1 t t dω. ϑ 2r ω, − k dω = e−iωk ϑ 2r ω, 2 2π 0 2
158
8 Polynomial Spline-Wavelets
This means that A2r 2 (t − k) is a Fourier coefficient of the 2π -periodic, with respect to ω, function ϑ 2r (ω, t/2) /2π . Consequently, the spline ϑ 2r (ω, t/2) is represented by ϑ
2r
t ω, = eiωk A2r 2 (t − k) . 2
(8.45)
k∈Z
Thus, it is the Zak transform of the spline A2r 2 (t). Due to Corollary 8.3, any spline T22r (t) ∈ 2r W2 can be represented by T22r (t) =
1 2π
0
2π
t dω, η(ω) ϑ 2r ω, 2
where η(ω) is a 2π -periodic function. Now, by substituting (8.45), we have t dω η(ω) ϑ 2r ω, 2 0 2π 1 = η(ω) eiωk A2r p[k] A2r 2 (t − k) dω = 2 (t − k) , 2π 0
T22r (t) =
1 2π
2π
k∈Z
k∈Z
where def
p[k] =
1 2π
2π
η(ω) eiωk dω, η(ω) =
0
e−iωk p[k] = p(ω). ˆ
k∈Z
8.3.1.2 Time-Domain Representation of B-Wavelets def
Similarly to the B-spline generator B22r (t) = B 2r (t/2) of the subspace 2r S2 ⊂ 2r S 2r (Eq. (8.11)), the spline A2r 2 (t) can be expressed via shifts of the B-spline B (t). 2r Equations (8.13), (4.13) and (8.44) imply that the spline A2 (t) is represented by A2r 2 (t) = q(ω) ˆ =
1 2π
2π
2 a(ω) ζ 2r (ω, t) dω =
0
q[k]B 2r (t − k) ,
k∈Z
e−iωk q[k] = 2 a(ω) = 2eiω u 4r (ω + π ) sin2r
k∈Z
(8.46)
ω . 2
It follows from Eq. (4.16) that the Fourier transform of the spline A2r 2 (t) is ˆ Aˆ 2r (ω) = q(ω)
sin ω/2 ω/2
2r = 2eiω u 4r (ω + π )
sin4r ω/2 (ω/2)2r
.
(8.47)
8.3 Generators of the Wavelet Space
159
The function u 4r (ω) = k∈Z e−iωk b4r [k], where b4r [k] = B 4r (k) , k = −2r + 1, ..., 2r − 1, are the samples of the B-spline of order 4r . Then, e u (ω + π ) = iω 4r
2r −2
e−iωk (−1)k+1 b4r [k + 1],
k=−2r
2a(ω) =
−2 2r 2r 2 iω/2 −iω/2 e − e e−iωk (−1)k+1 b4r [k + 1] (−4)r k=−2r
2r −2 2r 2 n −iωn (−1) e e−iωk (−1)k+1 b4r [k + 1]. = (−4)r n=−r n r
k=−2r
Denoting m = k + n, we get 3r −2 3r −2 r 2 2r 4r −iωm m+1 e (−1) e−iωm q[m], b [m − n + 1] = r n (−4) n=−r m=−3r m=−3r r 2r 4r 2 q[m] = (−1)m+1 b [m − n + 1]. (8.48) (−4)r n=−r n
2a(ω) =
Thus, the B-wavelets are represented by a finite linear combination of the B-splines 3r −2 2r such that A2r = (t) m=−3r q[m] B (t − m) . The coefficients q[m] are given 2 in Eq. (8.48). The support (−4r, 4r − 2) of A2r 2 (t) is compact. The B-wavelet is symmetric about t = −1.
8.3.1.3 Computation of B-Wavelets Due to the shift property of exponential splines (Eq. (4.8)), samples of the B-wavelet are 1 2π 1 2π iωk a(ω) ζ 2r (ω, k) dω = e a(ω) u 2r (ω) dω π 0 π 0 2π ω 1 = 2eiω k eiω u 4r (ω + π ) u 2r (ω) sin2r dω. 2π 0 2
A2r 2 (k) =
(8.49)
Apparently, they are the Fourier coefficients A2r 2 (k) = ck (Φ) of the 2π -periodic def
function Φ(ω) = 2eiω u 4r (ω + π ) u 2r (ω) sin2r ω/2. Consequently, the function Φ(ω), which is a trigonometric polynomial, is represented by Φ(ω) =
4r k=−4r
iω k A2r . 2 (k) e
(8.50)
160
8 Polynomial Spline-Wavelets
Choose a number N = 2 j > 8 r and substitute ω = 2π n/N , where n is an integer def
from the range 0, ..., N − 1, into Eq. (8.50). Denote ϕ[n] = Φ (2π n/N ) and def
ε = e2π i N . Then, we get ϕ[n] =
4r
N /2−1
kn A2r = 2 (k) ε
kn A2r 2 (−k) ε .
(8.51)
k=−N /2
k=−4r
{ϕ[n]} is the discrete Equation (8.51) means that the N -periodic sequence
2rFourier transform (DFT) of the sequence A2r . Therefore, the samples A2 (k) , (k) 2 k = −4r , ..., 4r , can be computed by the application of the inverse DFT to the sequence {ϕ[n]}. Using Eq. (4.11), we obtain an explicit expression for the grid 2r values A2r 2 (k) of the wavelets A2 (t): A2r 2
1 (k) = N
N /2−1
ε−k n ϕ[n],
n=−N /2
ϕ[n] = εn u 4r
2π(n + N /2) N
(8.52)
u 2r
= εn u 4r [n + N /2] u 2r [n] sin2r
2π n N πn , N
sin2r
πn N
where the sequence u p [n] is the characteristic sequence of the space of N -periodic splines, which were introduced in Chap. 4 in Volume I [1]. Values of the wavelets −m κ , M = 2, 3, can be A2r at either dyadic or triadic rational grid points M (t) 2 computed by the subdivision algorithms described in Chap. 7. Due to the compactness of the wavelets’ support, the periodic subdivision schemes described in Chap. 6 in Volume I [1]can be applied. The periodic subdivision schemes’ implementation does not require recursive filtering and, therefore, it is simpler than the implementation of the non-periodic ones. Especially, it is true for splines of higher orders. The wavelets on the sparse resolution scales are 2r A2r 2m (t) = A2
t 2m−1
, m = 2, 3, ... .
Figure 8.2 displays the B-wavelets of even orders from 2 to 8, while Fig. 8.3 displays the magnitudes of their Fourier spectra. The figures are produced by the MATLAB codes genWspl_consN.m and spec_Wv_gen_plotN.m, respectively. Three steps of the binary subdivision were applied for drawing the B-wavelets.
8.3 Generators of the Wavelet Space
Fig. 8.2 B-wavelets A2r 2 (t) of orders 2, 4, 6, 8
Fig. 8.3 Fourier spectra of B-wavelets A2r 2 (t) of orders 2, 4, 6, 8
161
162
8 Polynomial Spline-Wavelets
8.3.2 Generators and Dual Generators Conditions for a spline to serve as a generator for the subspace 2r W2 are similar to the conditions for the entire space 2r S , which were presented in Sect. 4.2. Proposition 8.7 A spline ψ22r
1 (t) = 2π
can be a generator for the space positive on the real axis.
2π
η(ω) ϑ
0 2r W 2
2r
t ω, dω 2
(8.53)
if the periodic function |η(ω)| is strictly
Proof Equation (8.17) implies that for an integer k we have ψ22r (t − k) =
1 2π
2π 0
t dω. e−iωk η(ω) ϑ 2r ω, 2
Thus, the Fourier series expansion holds η(ω) ϑ
2r
t ω, = eiωk ψ22r (t − k) , 2
(8.54)
k∈Z
which means that η(ω) ϑ 2r (ω, t/2) is the Zak transform of the spline ψ22r (t). Assume that a spline T22r (t) belongs to 2r W2 . Then, it is represented by T22r (t)
1 = 2π
2π
τ (ω) ϑ
2r
0
2π t t 1 τ (ω) 2r ω, ω, dω = η(ω)ϑ dω. 2 2π 0 η(ω) 2
Using Eq. (8.54), we get
τ (ω) iωk 2r e ψ2 (t − k) dω = p[k]ψ22r (t − k) , η(ω) 0 k∈Z k∈Z 2π τ (ω) τ (ω) 1 def dω, = where p[k] = eiωk e−iωk p[k] = p(ω). ˆ 2π 0 η(ω) η(ω) T22r (t)
1 = 2π
2π
k∈Z
any spline from
Thus, ψ22r (t − k) .
2r W 2
can be represented as a linear combination of shifts
We refer to η(ω) as symbol of the generator ψ22r (t). Typically, bases that are formed by shifts of different generators, including the B-wavelet generator, are not orthogonal. However, the following assertion is true.
8.3 Generators of the Wavelet Space
163
Proposition 8.8 Each generator ψ22r (t) of such that the biorthogonal relations hold
∞
−∞
2r W 2
has a dual counterpart ψ˜ 22r (t)
∗ ψ22r (t − k) ψ˜ 22r (t − m)) dt = δ[k − m].
(8.55)
The symbols η(ω) and η(ω) ˜ of the generators ψ22r (t) and ψ˜ 22r (t), respectively, are linked by η(ω) η(ω) ˜ ∗=
1 2U 4r (ω/2)
,
(8.56)
where U 4r (ω) is the 2π -periodic function such that def
U 4r (ω) = u 4r (ω + π ) u 4r (ω) u 4r (2ω),
(8.57)
and u 4r (ω) is the characteristic function of the space 4r S . Proof Equation (8.37) and the shift property (8.17) imply the following representation 2π t 1 2r −ikω 2r ψ2 (t − k) = ω, dω e η(ω) ϑ 2π 0 2 2π 1 = 2e−2ikω η(2ω) a(ω) ζ 2r (ω, t) dω, 2π 0 2π t 1 dω ψ˜ 22r (t − m) = e−imω η(ω) ˜ ϑ 2r ω, 2π 0 2 2π 1 = 2e−2imω η(2ω) ˜ a(ω) ζ 2r (ω, t) dω. 2π 0 Now, by using the Parseval identity (4.21), we get
∞
−∞
∗ ψ22r (t − k) ψ˜ 22r (t − m)) dt
2π 4 e−i2ω(k−m) η(2ω) η˜ ∗ (2ω) |a(ω)|2 u 4r (ω) dω 2π 0 2π 4 ω 2 4r = e−i2ω(k−m) η(2ω) η˜ ∗ (2ω) u 4r (ω + π ) sin2r u (ω) dω. 2π 0 2
=
164
8 Polynomial Spline-Wavelets
The functions η(ω) and η(ω) ˜ are 2π -periodic, thus we can split the last integral π ∗ 4 ψ22r (t − k) ψ˜ 22r (t − m)) dt = e−i2ω(k−m) η(2ω) η˜ ∗ (2ω) Uˇ (ω) dω, 2π 0 −∞ ω 2 4r ω 2 4r def Uˇ (ω) = u 4r (ω + π ) sin2r u (ω) + u 4r (ω) cos2r u (ω + π ). 2 2
∞
Equation (8.8) implies that ω ω Uˇ (ω) = u 4r (ω + π ) u 4r (ω) u 4r (ω + π ) sin4r + u 4r (ω) cos4r 2 2 = u 4r (ω + π ) u 4r (ω) u 4r (2ω) = U 4r (ω). If the condition (8.56) is fulfilled, then
2π ∗ 1 ψ22r (t − k) ψ˜ 22r (t − m)) dt = e−iω(k−m) dω = δ[k − m]. 2π 0 −∞ ∞
8.3.3 Examples of the Wavelet-space Generators B-wavelets: The B-wavelet A2r 2 (t/2) is the shortest possible generator of the space 2r W and, what is more, the shortest possible spline-wavelet of order 2r [3]. Due 2 to Eq. (8.44), its symbol η(ω) ≡ 1. Figure 8.2 displays B-wavelets of even orders from 2 to 8, and Fig. 8.3 displays their Fourier spectra. Generators dual to the B-wavelets: This is the spline 1 A˜ 2r 2 (t) = 2π
0
2π
1 ϑ 2r (ω, t/2) dω = 4r 2U (ω/2) 2π
0
2π
a(ω) ζ 2r (ω, t) dω. (8.58) U 4r (ω)
The 2π -periodic functions U 4r (ω) and a(ω) are defined in Eqs. (8.57) and (8.13), respectively. Due to Eq. (4.16), the Fourier transform of the spline A˜ 2r 2 (t) is a(ω) Aˆ˜ 2r (ω) = 4r U (ω)
sin ω/2 ω/2
2r =
sin4r ω/2 eiω . (8.59) u 4r (ω) u 4r (2ω) (ω/2)2r
Any spline T22r (t) ∈ 2r W2 can be represented by
8.3 Generators of the Wavelet Space def T22r (t) =
165
p[k] ˜ A˜ p (t − k),
p[k] ˜ =
k∈Z
T22r (t)
def
=
p[k] A (t − k), p
k∈Z
p[k] =
k+4r −2 k−4r ∞ −∞
T22r (t) A2r 2 (t − k) dt,
T22r (t) A˜ 2r 2 (t − k) dt.
Samples of the wavelet 2π 1 2r ˜ eiωk V 2r (ω) dω, where A2 (k) = 2π 0 2r 2r 2r def a(ω) u (ω) iω u (ω) sin ω/2 V 2r (ω) = = e . U 4r (ω) u 4r (ω) u 4r (2ω)
are the Fourier coefficients c˜k V 2r of the 2π -periodic function V 2r (ω). Unlike the B-wavelet, the dual wavelet A˜ 2r (t/2) is not compactly supported. However, iω the function V 2r (ω) is rational with respect no poles on the real line,
to e 2r with decays exponentially when and, due to Proposition 4.11, the sequence c˜k V k → ∞. Thus, the spline A˜ p (t/2) decays exponentially when t → ∞. This fact allows the use of the DFT for computation of the samples A˜ 2r 2 (k), as was done in Sect. 8.3.1.3 for the computation of the B-wavelet’ s samples. That procedure provides only approximated samples of A˜ 2r 2 , but the approximation can achieve any desired accuracy by increasing the interval N for the DFT. Figure 8.4 displays wavelets of even orders from 2 to 12, which are dual to the respective B-wavelets. Figure 8.5 displays their Fourier spectra. The figures are produced by the MATLAB codes genWspl_consN.m and spec_Wv_gen_plotN.m, respectively, using the DFT with N = 512. Two steps of the binary subdivision were applied to draw the wavelets. All the splines have infinite support but their magnitudes decay rapidly, especially for low orders. When splines orders increase, the support of the splines widens, while the shapes become oscillating. This is reflected in the spectra. Gradually, dominating frequency bands are forming. The generator with mutually orthogonal shifts (Battle–Lemarié wavelet): follows from Proposition 8.8 that for the shifts ψ22r (t − k) of a wavelet ψ22r (t) =
1 2π
2π 0
It
t dω ∈ 2r W2 η(ω)ϑ 2r ω, 2
to be orthogonal to each other, its symbol η(ω) should satisfy the condition
−1 def |η(ω)|2 = 2U 4r (ω/2) . The function U 4r (ω) = u 4r (ω + π ) u 4r (ω) u 4r (2 ω), which is defined in Eq. (8.57), is strictly positive on the real axis, therefore the symbol is η(ω) = (2U 4r (ω/2))−1/2 . Thus, the wavelet is
166
8 Polynomial Spline-Wavelets
Fig. 8.4 Wavelets A˜ 2r (t) of orders 2, 4, 6, and 8 that are dual to the B-wavelets
Fig. 8.5 Magnitudes of the Fourier spectra of wavelets A˜ 2r (t) of orders 2, 4, 6, and 8 that are dual to the B-wavelets
8.3 Generators of the Wavelet Space
ψ22r
1 (t) = 2π
2π
0
167
ϑ 2r (ω, t/2) 1 dω = 4r 2π 2U (ω/2)
2π 0
2a(ω)ζ 2r (ω, t) dω. 2U 4r (ω)
Obviously, ψ 2r (t) = 1. Therefore, the shifts ψ22r (t − k) , k ∈ Z, form an orthonormal basis of the wavelet subspace 2r W2 ⊂ 2r S . The wavelets ψ 2r (t/2) were introduced in [2, 6] and were called Battle–Lemarié mother wavelets. Due to Eq. (4.16), the Fourier transform of the spline ψ22r (t) is √ 2a(ω) sin ω/2 2r sin4r ω/2 eiω u 4r (ω + π ) ˆ 2r ψ˜ 2 (ω) = = . ω/2 U 4r (ω) u 4r (ω + π ) u 4r (ω) u 4r (2ω) (ω/2)2r
Recall that the shifts O 2r (t − k) , k ∈ Z, of the self-dual spline generator O
2r
1 (t) = 2π
0
2π
ζ 2r (ω, t/2) dω, u 2 p (ω)
which was defined in Sect. 4.2.1.3, form an orthonormal basis of the subspace 2r ⊂ 2r S Battle–Lemarié father wavelets. O 2r(t) are called
. 2rThe splines ψ2 (t − k) , k ∈ Z, forms an orthonormal basis of The union O (t − k)
the entire spline space 2r S . Thus, the pair O 2r (t), ψ22r (t) can be regarded as 2r 2r a multiple
2r S . If the2r subspace 2r S2 is decomposed into 2r generator of the space 2r S W4 , then the triple O (t/2), ψ (t/2), ψ2 (t) becomes a multiple 4 generator of the space 2r S . Samples of the wavelet ψ 2r (t) are 2r S 2
2π 1 eiωk Ψ 2r (ω) dω, where (k) = 2π 0 u 4r (ω + π ) u 2r (ω) sin2r ω/2 def √ Ψ 2r (ω) = 2eiω . u 4r (ω + π ) u 4r (ω) u 4r (2ω) ψ22r
Apparently, they are the Fourier coefficients of the 2π -periodic function Ψ 2r (ω). Although the function Ψ 2r (ω) is not rational, it is infinitely differentiable
and has no poles on the real axis. Therefore, its Fourier coefficients ck Ψ 2r decay faster than any power of k as k → ∞. Therefore, as in the previous example, we can approximate the wavelet’ samples using the DFT with a sufficiently large N . Figure. 8.6 displays the Battle–Lemarié mother wavelets of even orders from 2 to 8. Figure 8.7 displays magnitudes of their Fourier spectra. As in the previous example, the figures are produced by the MATLAB codes genWspl_consN.m and spec_Wv_gen_plotN.m, respectively, by using the DFT with N = 512. All the splines have infinite support but they decay rapidly, especially for lower orders. When splines orders increase, their supports widen while the shapes of their spectra tend to rectangular.
168
8 Polynomial Spline-Wavelets
Fig. 8.6 Battle–Lemarié mother wavelets ψ22r (t) of orders 2, 4, 6, and 8
Fig. 8.7 Magnitudes of the Fourier spectra of Battle–Lemarié mother wavelets ψ22r (t) of orders 2, 4, 6, and 8
References
169
References 1. A. Z. Averbuch, P. Neittaanmäki, V. A. Zheludev. Spline and spline wavelet methods with applications to signal and image processing, Volume I: Periodic splines (Springer, Berlin, 2014) 2. G. Battle, A block spin construction of ondelettes. I. lemarié functions. Comm. Math. Phys. 110(4), 601–615 (1987) 3. C.K. Chui, J.-Z. Wang, On compactly supported spline wavelets and a duality principle. Trans. Amer. Math. Soc. 330(2), 903–915 (1992) 4. I. Daubechies, Orthonormal bases of compactly supported wavelets. Comm. Pure Appl. Math. 41(7), 909–996 (1988) 5. I. Daubechies, Ten lectures on wavelets (SIAM, Philadelphia, 1992) 6. P.G. Lemarié, Ondelettes à localisation exponentielle. J. Math. Pures Appl. 67(3), 227–236 (1988) 7. S. Mallat, A wavelet tour of signal processing: The sparse way, 3rd edn. (Academic Press, San Diego, 2008) 8. J.-O. Strömberg. A modified Franklin system and higher-order spline systems of R n as unconditional bases for Hardy spaces. In Conference on Harmonic Analysis in Honor of Antoni Zygmund, Vol. I, II (Chicago, Illinois, 1981), (Wadsworth, Belmont, 1983), pp. 475–494 9. M. Unser, A. Aldroubi, M. Eden, On the asymptotic convergence of B-spline wavelets to Gabor functions. IEEE Trans. Inform. Theor. 38(2), 864–872 (1992) 10. M. Unser, A. Aldroubi, M. Eden, A family of polynomial spline wavelet transforms. Signal Process. 30(2), 141–162 (1993) 11. M. Vetterli, J. Kova˘cevi´c, Wavelets and Subband Coding (Prentice Hall, Englewood Cliffs, New Jersey, 1995)
Chapter 9
Non-periodic Discrete Splines
Abstract Discrete Splines with different spans were introduced in Sect. 3.3.1. This chapter focuses on a special case of discrete splines whose spans are powers of 2. These splines are discussed in more detail. The Zak transform provides an integral representation of such splines. Discrete exponential splines are introduced. Generators of the discrete-spline spaces are described whose properties are similar to properties of polynomial-spline spaces generators. Interpolating discrete splines provide efficient tools for upsampling 1D and 2D signals. An algorithm for explicit computation of discrete splines is described.
9.1 Discrete Splines’ Spaces p p We operate on discrete splines s K ,M = s K ,M [k], k ∈ Z (Eq. 3.36) of even order 2r p = 2r , whose spans K = 2m and M = K . Denote by b2r [m] = b[m] [k] , k ∈ Z, the centered B-spline of order p = 2r , whose span is K = 2m . This signal is 2r [k] is supported on the set −r 2m + 1, ..., r 2m − 1. Equation (3.32) implies that b[m] a piecewise sampled polynomial of degree 2r − 1, whose nodes are located at the points {2m l}, l = −r, ..., r . Specializing Eq. (3.34) to the case K = 2m , we get the DTFTs and the z-transforms of the centered discrete B-splines: 2r bˆ[m] (ω)
=
sin(2m−1 ω) 2m sin(ω/2)
2r ,
2r b[m] (z)
=
z 2 − 2 + z −2 22m (z − 2 + z −1) m
m
r ,
(9.1)
which are cosine and Laurent polynomials, respectively. Examples 2r ω ω 2q bˆ12r (ω) = cos2r , bˆ[2] (ω) = cos cos ω = bˆ12r (ω) cos2r ω, (9.2) 2 2 2r ω 2q 2r bˆ[3] (ω) = cos cos ω cos 2ω = bˆ[2] (ω) cos2r 2ω. 2 © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_9
171
172
9 Non-periodic Discrete Splines
The discrete B-splines of spans 2 and 4 are displayed in Figs. 3.5 and 3.7, respectively. We can observe that, in the above examples, the DTFT of the B-spline b2r [m+1] can 2r be derived from the DTFT of the B-spline b[m] by multiplication of the latter with cos2r 2m−1 ω. This observation remains true in the general case. Proposition 9.1 The DTFT of the B-spline b2r [m+1] can be derived from the DTFT of by multiplication the latter with cos2r 2m−1 ω such that the B-spline b2r [m] 2r 2r (ω) = bˆ[m] (ω) cos2r 2m−1 ω, m ∈ N. bˆ[m+1]
(9.3)
Proof Equation (9.1) implies that 2r (ω) = bˆ[m+1]
=
sin(2m ω) 2m+1 sin(ω/2)
2r
2 sin(2m−1 ω) cos(2m−1 ω) 2m+1 sin(ω/2)
2r
2r = bˆ[m] (ω) cos2r 2m−1 ω.
Corollary 9.1 In the time domain, the following relation holds: 2r b[m+1] [k] =
r 2r 1
b2r [k − 2m n]. 22r n=−r n + r [m]
(9.4)
2r = s 2r [k] , k ∈ Z, Denote by 2r S[m] the space of the discrete splines s[m] [m] which are represented via shifts of the B-splines by 2r [k] = s[m]
l∈Z
2r q[l] b[m] [k − 2m l],
(9.5)
where the vector q = {q[k]}, k ∈ Z, belongs to the space l1 [Z]. 2r = s2r Remark 9.1.1 Using notations of Sect. 3.3.1, s[m] 2m ,2m .
Proposition 9.2 If the sequence q = {q[k]}, k ∈ Z, belongs to the space l1 [Z], 2r defined by Eq. (9.5) belongs to l [Z]. Thus, the spline then the discrete spline s[m] 1 2r space S[m] is a subspace of the signal space l1 [Z]. This follows from the fact that the B-spline b2r [m] is a finite and, therefore, a bounded sequence.
9.1 Discrete Splines’ Spaces
173
2r is The DTFT of the discrete spline s[m] 2r sˆ[m] (ω) =
=
e−iωk
k∈Z
q[l] b[m] [k − 2m l]
l∈Z
e
−iω 2m l
q[l]
l∈Z
e−iωk b[m] [k]
k∈Z
2r = q(2 ˆ m ω) bˆ[m] (ω) = q(2 ˆ m ω)
sin(2m−1 ω) 2m sin(ω/2)
2r .
(9.6)
Remark 9.1.2 The entire signal space l1 [Z] can be regarded as the space S[0] of splines s[0] of arbitrary order whose span is one. The Kronecker delta sequence is regarded as the B-spline b[0] of span one. Each signal x ∈ l1 [Z] = S[0] is represented by x[k] =
x[l]δ[k − l] ⇐⇒ x[k] =
l∈Z
x[l]b[0] [k − 20 l].
l∈Z
Equation (9.3) remains true for m = 0.
9.2 Integral Representation of Discrete Splines Similarly to polynomial splines, the discrete splines can be represented via integrals with the discrete exponential splines.
9.2.1 Exponential Discrete Splines Equation (3.37) implies that the Zak transforms of the discrete B-splines are def
2r ζ[m] (ω)[k] = Z [(b2r [m] )](ω)[k] =
=
e
iωk/2m
2m
eiωk/2 = 2m
m −1 2
e
l∈Z
2πilk/2m
l=0 m
m −1 2
l=0
2r eiωl b[m] [k − 2m l]
2r bˆ[m]
e
2πilk/2m
ω + 2πl 2m
sin ((ω + 2πl)/2) m 2 sin (ω + 2πl)/2m+1
(9.7) 2r .
174
9 Non-periodic Discrete Splines
2r (ω) = ζ 2r (ω)[k] , k ∈ Z, are discrete splines. We call The Zak transforms ζ[m] [m] them exponential discrete splines. Discrete splines are represented via the corresponding exponential splines: 1 2π
π
2r e−iωl ζ[m] (ω)[k] dω, −π
π
1 2r 2r 2r s[m] [k] = q[l] b[m] [k − 2m l] = ξ(ω) ζ[m] (ω)[k] dω, 2π −π
2r [k − 2m l] = b[m]
(9.8) (9.9)
l∈Z
where ξ(ω) = q(ω). ˆ We refer to the 2π -periodic function ξ(ω) as symbol of the discrete spline s[m] ∈ 2r S[m] . Proposition 9.1 implies a relation between the exponential splines with different spans. 2r (2ω) can be derived from Proposition 9.3 The discrete exponential spline ζ[m+1] def
2r (ω) by the following relation where β(ω) = cos2r (ω/2): ζ[m] 2r ζ[m+1] (2ω) [k] =
1 2r 2r β (ω) ζ[m] (ω) [k] + β (ω + π ) ζ[m] (ω + π ) [k] . (9.10) 2
Proof Equation (9.3) implies that m
2r (2ω)[k] ζ[m+1]
eiωk/2 = m+1 2
iωk/2m
e = m+1 2
2m+1
−1
e2πilk/2
m+1
2r bˆ[m+1]
l=0 2m+1
−1
e
2πilk/2m+1
cos
2r
l=0
ω + πl 2m
ω + πl 2
2r bˆ[m]
ω + πl . 2m (9.11)
Separate even and odd terms in the sum of Eq. (9.11). 2r (2ω)[k] ζ[m+1]
ω eiω k/2 1 = cos2r 2 2 2m
m
m −1 2
e
2πilk/2m
l=0
ω ei(ω+π ) k/2 1 + sin2r 2 2 2m
m
m −1 2
l=0
2r bˆ[m]
ω + 2πl 2m
m 2r e2πilk/2 bˆ[m]
ω + π + 2πl 2m
1 ω 2r ω 2r 1 = cos2r ζ[m] (ω) [k] + sin2r ζ[m] (ω + π ) [k]. 2 2 2 2
9.2 Integral Representation of Discrete Splines
175
Remark 9.2.1 Equation (9.10) is similar to the two-scale relation of Eq. (8.4) for the continuous exponential splines and can be regarded as a two-scale relation for the discrete exponential splines.
9.2.2 Characteristic Functions of the Discrete Splines’ Spaces The characteristic function of the space 2r S[m] is def
2r (ω) = ζ 2r (ω)[0] = U[m] [m]
l∈Z
2r [2m l] e−iωl b[m]
(9.12)
2r 2m −1 2m −1 sin ((ω + 2πl)/2) 1
1 ˆ 2r ω + 2πl = m = m . b[m] 2 2m 2 2m sin (ω + 2πl)/2m+1 l=0
l=0
2r (ω) are strictly positive for all It follows from Proposition 3.8 that the functions U[m] real ω. Equation (9.10) leads to a recursive relation for the characteristic functions def
2r (ω) with β(ω) = cos2r (ω/2): U[m] 2r U[m+1] (2ω) =
1 2r 2r β (ω) U[m] (ω) + β (ω + π ) U[m] (ω + π ) . 2
(9.13)
Remark 9.2.2 The exponential splines in the extreme case of the space S[0] = l1 [Z] are
eiωl b[0] [k − l] = eiωl δ[k − l] = eiωk . ζ[0] (ω)[k] = l∈Z
l∈Z
Thus, the integral representation of Eq. (9.9) of a signal x = {x[k]} is reduced to the inverse formula for the DTFT (Eq. (1.22)) such that x[k] =
1 2π
π
−π
x(ω) ˆ eiω k d ω
The characteristic function is U[0] (ω) ≡ 1. Examples of characteristic functions: 2r (ω) ≡ 1. Thus, For any order 2r , U[0] 1 2 1 = 2
2r U[1] (ω) =
ω 2r ω ω 2r ω cos2r U[0] + sin2r U[0] +π 4 2 4 2 2r ω 2r ω cos , + sin 4 4
(9.14)
176
9 Non-periodic Discrete Splines
2r (ω) of the spaces 2r S Fig. 9.1 Characteristic functions U[1] [2] for orders 2r = 4, 6, 8, 10, 12 and 14
3 1 ˆ 2r ω + 2πl 1 ω ω 2r b[2] = cos cos 4 4 4 8 4 l=0 2r ω + 2π ω ω + 2π ω ω 2r ω 2r + cos + sin cos + sin sin sin 8 4 8 4 8 4 1 1 ω ω ω ω ω + 2π ω + 2π cos2r + sin2r + sin2r = cos2r cos2r + sin2r 4 4 8 8 4 4 8 8 ω 1 ω + 2π 1 ω ω 2r 2r = cos2r U[1] + sin2r U[1] . 2 4 2 2 4 2
2r U[2] (ω) =
2r (ω) of the discrete spline spaces 2r S The characteristic functions U[1] [1] for different spline orders 2r are displayed in Fig. 3.8 (Chap. 3). 2r (ω) of the discrete spline Figure 9.1 displays the characteristic functions U[2] spaces 2r S[2] for different spline orders 2r .
Characteristic Laurent polynomials The characteristic Laurent polynomials are the z-transforms of the zero–polyphase components of the discrete B-splines. By using Eq. (2.13); we have: def 2r (z) = U¯ [m]
l∈Z
z
−l
2r b[m] [2m l],
2m −1 m 1 2r 2πim/2m 2r 2 ¯ = m . (9.15) U[m] z b[m] z e 2 n=0
9.2 Integral Representation of Discrete Splines
177
2r (z) can The z-transforms of the B-splines are given in Eq. (9.1). Alternatively, U¯ [m] be derived by substitution z = eiω into the expression for the characteristic function 2r (ω). Certainly, the polynomial U ¯ 2r (z) is strictly positive for all z on the unit U[m] [m] 2r (ω) is converted circle. The recursive relation in Eq. (9.13) for the functions U[m] 2r (z). Denote ρ(z) def = z + 2 + 1/z. Then, the into the corresponding relation for U¯ [m] coefficients β(ω) are expressed as
β(ω) = cos2r (ω/2) = (ρ(z)/4)r , β(ω + π ) = sin2r (ω/2) = (ρ(−z)/4)r , and we get 2r z2 = U¯ [m+1]
1 r 2r 2r (ρ (z) U¯ [m] (z) + ρ r (−z) U¯ [m] (−z) . 2r + 1
(9.16)
9.2.3 Implications of the Integral Representation of Discrete Splines Properties of discrete exponential splines are quite similar to properties of polynomial exponential splines. We now list a few relations which stem from the integral representation in Eq. (9.9) of discrete splines. Shifts: Discrete exponential splines are eigenvectors of the shift operator. Directly from the definition of Eq. (9.7), we have for any integer j: 2r 2r (ω)[k + 2m j] = eiωj ζ[m] (ω)[k], ζ[m] 2r ζ[m] (ω)[2m
j] = e
iωj
2r ζ[m] (ω)[0]
=e
(9.17) iωj
2r U[m] (ω).
2r ∈ 2r S DTFT: Assume that a spline s[m] [m] is represented as in Eq. (9.9). Then, Eq. (9.6) implies that the DTFT of the spline
2r sˆ[m] (ω)
= ξ(2 ω) m
sin(2m−1 ω) 2m sin(ω/2)
2r .
(9.18)
2r ∈ 2r S Discrete convolution: Assume that a spline s[m] [m] is represented as in 2n 2n Eq. (9.9) and another spline p[m] ∈ S[m] is represented by
p[m] [k] =
l∈Z
2n t[l] b[m] [k
where η(ω) = tˆ(ω).
1 − 2 l] = 2π m
π −π
2n η(ω) ζ[m] (ω)[k] dω,
(9.19)
178
9 Non-periodic Discrete Splines
Equation (9.6) implies that the DTFTs of the splines are 2r (ω) = q(2 sˆ[m] ˆ m ω)
sin(2m−1 ω) 2m sin(ω/2)
2r ,
2n (ω) = tˆ(2m ω) pˆ [m]
sin(2m−1 ω) 2m sin(ω/2)
2n .
Then, due to Eq. (1.26), the DTFT of the discrete convolution def 2n [k − l] s 2r [l] of the splines is R[k] = l∈Z p[m] [m] ˆ R(ω) = pˆ 2n (2m ω) sˆ 2r (2m ω) = tˆ(2m ω) q(2 ˆ m ω))
sin(2m−1 ω) 2m sin(ω/2)
2(n+r ) .
Thus, the sequence {R[k]} is a discrete spline of order 2(n + r ) and is represented as follows:
π 1 2(n+r ) α(ω) ˆ ζ[m] (ω)[k] dω, 2π −π l∈Z
α(ω) ˆ = tˆ(ω) q(ω)) ˆ = ξ(ω) η(ω), α[k] = t[k − l] q[l]. R[k] =
2(n+r )
α[l] b[m]
[k − 2m l] =
(9.20)
l∈Z
Parseval identities: The inner product ∗ of the splines 2n 2n 2r 2r p[m] , s[m] = l∈Z p[m] [l] s[m] [l] can be regarded as the zero sample of the def − discrete convolution of the spline p with the spline ← s 2r = s 2r [−k] . Then, [m]
[m]
[m]
Eq. (9.20) implies that
← −2r 2r 2n p2n [m] , s[m] = p[m] s [m] |k=0
π 1 2(n+r ) = η(ω) ξ ∗ (ω)) U[m] (ω) dω, 2π −π
π 1 2r 2 2r 2 4r |ξ(ω))|2 U[m] (ω) dω. s[m] = s[m] [l] = 2π −π
(9.21)
l∈Z
9.2.4 Computation of Discrete Splines 9.2.4.1 Interpolation 2r at grid points are Values of a discrete spline s[m] def
2r 2r 2r s[m,0] = {s[m] [2m k]}, s[m] [2m k] =
l∈Z
2r q[l] b[m] [2m (k − l)]
def 2r 2r m = q b2r [m,0] , b[m,0] = b[m] [2 k] .
(9.22)
9.2 Integral Representation of Discrete Splines
179
By applying the DTFT and the z-transforms to the relation in Eq. (9.22), we get 2r 2r 2r 2r (ω) = q(ω) ˆ U[m] (ω), s[m,0] (z) = q(z) U¯ [m] (z). sˆ[m,0]
(9.23)
2r [2m k] = x[k], k ∈ Z, then If the grid samples of the spline are s[m]
q(ω) ˆ =
x(ω) ˆ x(z) , q(z) = 2r . 2r (ω) U[m] U¯ [m] (z)
(9.24)
2r (ω) > 0 for all real ω, any discrete-time signal can be uniquely interSince U[m] 2r , m ∈ N. The signals b2r [· − 2m l] , l ∈ Z, are linearly polated by a spline s[m] [m]
independent and form a basis of the space 2r S[m] . Remark 9.2.3 In [2], discrete splines are introduced, which may grow as O(|k| p ) with arbitrary p ≥ 0 as k → ∞. It is proved in [2] that any sequence which grows 2r , m ∈ N not faster than O(|k| p ) can be uniquely interpolated by a discrete spline s[m] of a given order 2r .
9.2.4.2 Relation of Discrete Splines to Their Periodic Counterparts j We recall that the N -periodic discrete B-splines b˜ 2r [m] of order 2r , where N = 2 > m+1 r , are defined in Chap. 13 of Volume I ([1]) by N -periodization of the B-spline 2 , which is supported on the set σ = {−2m r + 1, . . . , 2m r − 1}. Thus, as k ∈ σ , b2r [m] 2r [k] = b˜ 2r [k]. Therefore, they can be computed by the application of the values b[m] [m] the IDFT:
2r [k] b[m]
N −1 1 2πikn/N sin(2m π n/N ) 2r = e . N 2m sin(π n/N )
(9.25)
n=0
def 2r (ν) of Denote Nm = N /2m. The periodic decomposition exponential spline ζ˜[m] order 2r is (see Eq. (13.7) in [1])
2r ζ˜[m] (ν)[k]
2m −1 1 2πik(ν+Nm l)/N sin(2m π (ν + Nm l))/N ) 2r = m e . (9.26) 2 2m sin(π(ν + Nm l)/N ) l=0
Comparing Eq. (9.26) with Eq. (9.7), we come to the following relation between non-periodic and periodic exponential splines: 2r ζ[m]
2π ν Nm
2r [k] = ζ˜[m] (ν)[k].
(9.27)
180
9 Non-periodic Discrete Splines
2r (ω) is linked with the characteristic Respectively, the characteristic function U[m] 2r [ν] of the space of N -periodic discrete splines of order 2r by sequence U˜ [m]
2r U[m]
2π ν Nm
2 −1 1 sin(2m π (ν + Nm l))/N ) 2r 2r ˜ = U[m] [ν] = m . (9.28) 2 2m sin(π(ν + Nm l)/N ) m
l=0
9.2.4.3 Approximate Computation of Discrete Splines def
2r = {s 2r [k]} is fast decaying as k → ∞ and Assume that a discrete spline s[m] [m] 2r [k] ≈ 0 when |k| > N /2. that there exists some integer N = 2 j such that s[m] def
2r [k] ≈ s˜ 2r [k], where s˜ 2r [k] = Then, for k = −N /2, . . . , N /2 − 1, the spline s[m] [m] [m] 2r spline. Equation (3.28) implies that the l∈Z s[m] [k + l N ] is an N -periodic discrete DFT sˆ˜ 2r [n] of the periodic sequence s˜ 2r [k] is linked with the DTFT sˆ 2r (ω) of [m]
the spline
[m]
2r [k], s[m]
2r 2r sˆ˜[m] [n] = sˆ[m]
[m]
which is represented as in Eq. (9.9), as follows: 2π n N
=ξ
2π n Nm
sin(π n/Nm ) m 2 sin( n/(2m Nm )
2r ,
def
Nm = N /2m . (9.29)
Consequently, for k = −N /2, . . . , N /2 − 1, we have 2r s[m] [k]
≈
=
2r s˜[m] [k]
1 N
1 = N
N
/2−1
N
/2−1 n=−N /2
2r e2πikn/N sˆ[m]
e2πikn/N ξ
n=−N /2
2π n Nm
2π n N
(9.30)
sin(π n/Nm ) 2m sin( n/(2m Nm )
2r .
2r on the grid {2m k} are s 2r [2m k] = x[k], k ∈ Assume that the samples of the spline s[m] [m] Z, and x[k] ≈ 0 as |k| > Nm /2. Then, the spline can be computed explicitly. Equation (9.24) implies that the symbol of the spline is
ξ
2π n Nm
= xˆ
2π n Nm
2r /U[m] (ω)
2π n Nm
≈
ˆ˜ m x[n] , U˜ 2r [n]
2r [n] is given in Eq. (9.28) and where U˜ [m]
ˆ˜ m = 1 x[n] Nm
/2−1 Nm
k=−Nm /2
e−2πikn/Nm x[k].
[m]
9.2 Integral Representation of Discrete Splines
181
Thus, we have an explicit expression for the spline: 2r s[m] [k]
1 ≈ N
N
/2−1
e
2πikn/N
n=−N /2
ˆ˜ m sin(2m π n/N ) 2r x[n] . 2r [n] 2m sin( n/(N ) U˜ [m]
(9.31)
9.2.4.4 Upsampling with Discrete Splines Discrete splines can be utilized for signals’ upsampling. If signal x0 = {x0 [k]} is 2r such that s 2r [2m k] = x [k], then the spline interpolated by a discrete spline s[m] 0 [m] 2r can be regarded as an upsampling to the signal x . To be specific, we obtain s[m] 0 a signal xm = {xm [l]}, such that xm [2m k] = x0 [k], k ∈ Z, by the definition def
2r [n], n ∈ Z. If x[k] ≈ 0 as |k| > N /2, which is the case in most xm [n] = s[m] m practical applications, then Eq. (9.31) provides an explicit algorithm for upsampling a signal by discrete splines of arbitrary orders. Surely, the algorithm can be used for upsampling 2D arrays, such as digital images. Examples of signals and images upsampling using discrete splines are given in Chap. 13 of Volume I [1].
9.3 Generators of Discrete Splines’ Spaces 9.3.1 Generators and Their Duals A natural generator of the discrete spline space 2r S[m] is the B-spline b2r [m] . That 2r means that any spline from S[m] is represented as a combination of shifts of the B-spline such as in Eq. (9.5) 2r [k] = s[m]
l∈Z
2r q[l] b[m] [k − 2m l].
2r (ω) Alternatively, the integral representation via the discrete exponential spline ζ[m] holds:
π 1 2r 2r ξ(ω) ζ[m] (ω)[k] dω, ξ(ω) = q(ω). ˆ (9.32) s[m] [k] = 2π −π 2r ∈ 2r S The 2π -periodic function ξ(ω) is the symbol of the spline s[m] [m] . As in the polynomial splines’ spaces, there exist infinitely many generators of the spaces 2r S [m] .
182
9 Non-periodic Discrete Splines
Proposition 9.4 A spline 2r [k] = ϕ[m]
f [l] b[m] [k − 2m l] =
l∈Z
1 2π
π
−π
2r τ (ω) ζ[m] (ω)[k] dω,
(9.33)
where τ (ω) = fˆ(ω), can serve as a generator of the space 2r S[m] if the 2π -periodic function |τ (ω)| is strictly positive on the real axis. Proof Similar to the proof of Proposition 4.6. Typically, bases that are formed by shifts of different generators, including the B-spline generator, are not orthogonal. However, the following assertion is true. 2r of 2r S Proposition 9.5 Each generator ϕ[m] [m] has its dual counterpart 2r φ[m] [k]
1 = 2π
π
−π
2r θ (ω) ζ[m] (ω)[k] dω
such that the following biorthogonal relation holds:
2r 2r 2r 2r ϕ[m] [· + 2m κ], φ[m] [· + 2m ν] = ϕ[m] [k + 2m κ] φ[m] [k + 2m ν] = δ[κ − ν]. k∈Z
2r and φ 2r , respectively, are linked by The symbols τ (ω) and θ (ω) of the generators ϕ[m] [m]
τ (ω) θ ∗ (ω) =
1 , 4r (ω) U[m]
(9.34)
4r (ω) is the characteristic function of the space 4r S where U[m] [m] .
Proof Similar to the proof of Proposition 4.7 with the difference that Eq. (9.21) should be used instead of Eq. (4.21). 2r and φ 2r constitute a dual pair of generators of the space Consequently, if ϕ[m] [m] 2r 2r S 2r [m] , then any spline s[m] from S[m] can be represented as 2r s[m] [k] =
=
l∈Z
2r 2r 2r s[m] , ϕ[m] [· − 2m l] φ[m] [k − 2m l]
l∈Z
2r 2r 2r s[m] , φ[m] [· − 2m l] ϕ[m] [k − 2m l].
(9.35)
9.3 Generators of Discrete Splines’ Spaces
183
Fig. 9.2 Top left spline generators b4[m] , where m = 1, 2, 3. Top right DTFTs of the B-splines b4[m] . Bottom the same for the generators b8[m]
9.3.2 Examples of Generators B-splines Equation (9.8) implies that the B-spline is represented by 1 2π
2r b[m] [k] =
π
−π
2r ζ[m] (ω)[k] dω.
(9.36)
Thus, its symbol is identically equal to one. Its DTFT is given in Eq. (9.1). Figure 9.2, which is produced by the MATLAB code dsp_gen_exampN.m, displays the B-splines b2r [m] of orders 4 and 8 for spans m = 1, 2, 3 and their DTFTs. Generators dual to B-splines 2r , which is defined by In line with Eq. (9.34), the discrete spline d[m] 2r d[m] [k]
1 = 2π
π
1 2r (ω)[k] dω, ζ[m] 4r −π U[m] (ω)
is dual to the B-spline. Its DTFT is ˆ (ω) 2r d[m]
1 = 4r m U[m] (2 ω)
sin(2m−1 ω) 2m sin(ω/2)
2r .
184
9 Non-periodic Discrete Splines
4 , where m = 1, 2, 3. Top right DTFTs of the splines Fig. 9.3 Top left discrete spline generators d[m] 4 8 d[m] . Bottom the same for the generators d[m]
2r are The shift property in Eq. (9.17) implies that grid samples of the spline d[m]
2r d[m] [2m [k] =
1 2π
π −π
eiωk
2r (ω) U[m] 4r (ω) U[m]
dω.
They are the Fourier coefficients of the rational, with respect to eiω , function 2r (ω)/U 4r (ω) and, therefore, decay exponentially as k → ∞. Thus, when U[m] [m] N is sufficiently large, the approximate formula of Eq. (9.30) is applicable. For k = −N /2, ..., N /2 − 1, we have 2r [k] d[m]
1 ≈ N
N
/2−1 n=−N /2
e
2πikn/N
1 4r [n] U˜ [m]
sin(π n/Nm ) m 2 sin( n/(2m Nm )
2r .
Figure 9.3, which is produced by the MATLAB code dsp_gen_exampN.m, dis2r of orders 4 and 8 for spans m = 1, 2, 3 and their plays the discrete splines d[m] DTFTs.
9.3 Generators of Discrete Splines’ Spaces
185
Fundamental discrete splines 2r by We define the fundamental splines l[m] 2r l[m] [k] =
1 2π
π
1 2r (ω)[k] dω. ζ[m] 2r −π U[m] (ω)
(9.37)
The shift property in Eq. (9.17) implies that values of the spline at grid points are 2r l[m] [2m k] =
1 2π
π
1
2r −π U[m] (ω)
2r (ω) dω = δ[k]. ei ωk U[m]
(9.38)
Hence, it follows that a spline from 2r S[m] , which interpolates a signal x = {x[k]} on the grid {2m k}, can be explicitly represented by 2r s[m] [n] =
k∈Z
2r 2r x[k] l[m] [n − 2m k], s[m] [2m k] = x[k].
The DTFTs of the fundamental splines are 2r lˆ[m] (ω) =
1 2r U[m] (2m ω)
sin(2m−1 ω) 2m sin(ω/2)
2r .
Figure 9.4, which is produced by the MATLAB code dsp_gen_exampN.m, dis2r of orders 4 and 8 for spans m = 1, 2, 3 and their plays the discrete splines l[m] DTFTs. Self-dual discrete spline generators 2r by Define the splines o[m] 2r o[m] [k]
1 = 2π
π −π
1 2r ζ[m] (ω)[k] dω. 4r U[m] (ω)
(9.39)
It follows from Proposition 9.5 that
2r 2r 2r 2r o[m] [· + 2m κ], o[m] [· + 2m ν] = o[m] [k + 2m κ] o[m] [k + 2m ν] = δ[κ − ν]. k∈Z
2r ∈ Thus, the spline o[m] are
2r S [m]
is dual to itself. The DTFTs of the self-dual splines
1 2r (ω) = oˆ [m] 4r U[m] (2m ω)
sin(2m−1 ω) 2m sin(ω/2)
2r .
186
9 Non-periodic Discrete Splines
4 , where m = 1, 2, 3. Top right DTFTs Fig. 9.4 Top left discrete spline fundamental generators l[m] 4 . Bottom the same for the generators l8 of the splines l[m] [m]
2r [k + 2m κ] , k ∈ Z, of the spline o2r form an orthonormal basis of The shifts o[m] [m] 2r are the space 2r S[m] . Grid samples of the spline d[m]
2r o[m] [2m k]
1 = 2π
π −π
2r (ω) U[m] eiωk dω. 4r (ω) U[m]
def 2r (ω)/ U 4r (ω). They are the Fourier coefficients of the function χ (ω) = U[m] [m] Although the function χ (ω) is not rational, it is infinitely differentiable on the real axis. Therefore, its Fourier coefficients decay exponentially as k → ∞. Thus, when N is sufficiently large, the approximate formula of Eq. (9.30) is applicable and, for k = −N /2, ..., N /2 − 1, we have 2r [k] ≈ o[m]
1 N
N
/2−1
1 e2πikn/N 4r U˜ [m] [n] n=−N /2
sin(π n/Nm ) 2m sin( n/(2m Nm )
2r .
9.3 Generators of Discrete Splines’ Spaces
187
4 , where m = 1, 2, 3. Top right DTFTs of the splines o4 . Fig. 9.5 Top left self-dual generators o[m] [m] 8 Bottom the same for the generators o[m]
Figure 9.5, which is produced by the MATLAB code dsp_gen_exampN.m, dis2r of orders 4 and 8 for spans m = 1, 2, 3 and their plays the discrete splines o[m] DTFTs. Comments • We observe that the DTFTs of fundamental and self-dual generators have near rectangular shape, which is especially true for the eighth-order splines. The support (up period) of the DTFT of a spline at scale m effectively occupies the band to 2π −π/2m , π/2m . • The shapes of the discrete spline generators are similar to the shapes of their continuous counterparts that were depicted in Sect. 4.2. The shape of their DTFTs within the interval [−π, π] is similar to the shape of the Fourier spectra of the respective continuous splines’ generators. • Interpolation of a signal x = {x[k]} by the discrete spline from 2r S[m] 2r s[m] [n] =
k∈Z
2r 2r 2r x[k] l[m] [n − 2m k] ⇐⇒ sˆ[m] (ω) = lˆ[m] (2m ω) x(ω) ˆ
(9.40)
is, actually, a low-pass x into the band (approxima filtering the upsampled signal 2r has infinite impulse response tely) −π/2m , π/2m . The corresponding filter l[m] (IIR). Its frequency response is flat. For higher-order splines, it is near rectangular.
188
9 Non-periodic Discrete Splines
References 1. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and spline wavelet methods with applications to signal and image processing, volume I: Periodic splines. (Springer, 2014) 2. A.B. Pevnyi, V. Zheludev, On the interpolation by discrete splines with equidistant nodes. J. Approx. Theory 102(2), 286–301 (2000)
Chapter 10
Non-periodic Discrete-Spline Wavelets
Abstract This chapter describes wavelet analysis in the spaces of discrete splines whose spans are powers of 2. This wavelet analysis is similar to wavelet analysis in the polynomial-spline spaces. The transforms are based on relations between exponential discrete splines from different resolution scales. Generators of discretespline wavelet spaces are described. The discrete-spline wavelet transforms generate wavelet transforms in signal space. Practically, wavelet transforms of signals are implemented by multirate filtering of signals by two-channel filter banks with the downsampling factor 2 (critically sampled filter banks). The filtering implementation is accelerated by switching to the polyphase representation of signals and filters. This chapter is based on facts established in [1, 2].
10.1 Discrete Splines’ Spaces Proposition 10.1 There exist embedding relations between the discrete splines spaces (10.1) l1 [Z] = S[0] ⊃ 2r S[1] ⊃ ... ⊃ 2r S[m] ⊃ 2r S[m+1] ⊃ ... 2r ∈ 2r S[m+1] is represented by the integral Proof Each discrete spline s[m+1] 2r [k] = s[m+1]
1 2π
0
2π
2r ξ[m+1] (ω) ζ[m+1] (ω)[k] dω.
We denote β(ω) = cos2r ω/2. The two-scale relation in Eq. (9.10) implies that
ω ω 2r ζ[m] [k] ξ[m+1] (ω) β 2 2 0 ω ω 2r + π ζ[m] + π [k] dω +β 2 2π 1 2r = ξ[m+1] (2ω) β (ω) ζ[m] (ω) [k] 2π 0 2r + β (ω + π ) ζ[m] (ω + π ) [k] dω.
2r s[m+1] [k] =
1 4π
2π
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_10
189
190
10 Non-periodic Discrete-Spline Wavelets
The function ξ[m+1] (ω) is 2π -periodic, thus ξ[m+1] (2(ω + π )) = ξ[m+1] (2ω) and we get 1 s[m+1] [k] = 2π
2π 0
def 2r ξ˜[m] (ω) ζ[m] (ω) [k] dω, ξ˜[m] (ω) = ξ[m+1] (2ω) β (ω) ,
(10.2) where β (ω) = cos2r ω/2. This means that each discrete spline from 2r S[m+1] belongs to the space 2r S[m] and its m-symbol ξ˜[m] is given by Eq. (10.2). Consequently, 2r S[m+1] ⊂ 2r S[m] . 2r Proposition 10.2 1. Any discrete spline s[m+1] ∈ sented by the integrals 2r s[m+1] [k] =
2r S [m+1]
⊂
2r S [m]
is repre-
2π 2π 1 1 2r 2r (ω) [k] dω, ξ˜[m] (ω) ζ[m] ξ[m+1] (ω) ζ[m+1] (ω)[k] dω = 2π 0 2π 0
where the symbols are related as in Eq. (10.2). 2r ∈ 2r S 2. Inversely, if a symbol ξ˜[m] (ω) of a spline s[m] [m] can be factored as 2r ξ˜[m] (ω) = ξ(2ω) β (ω) , where β (ω) = cos ω/2, and ξ(ω) is a 2π -periodic 2r belongs to the subspace 2r S function, then the spline s[m] [m+1] . Proof 1. Established in the proof of Proposition 10.1. 2r ∈ 2r S 2. Assume that a discrete spline s[m] [m] is represented as 2r [k] = s[m]
1 2π
0
2π
2r ξ(2ω) β(ω) ζ[m] (ω)[k] dω,
where β(ω) = cos2r ω/2 and ξ(ω) is a 2π -periodic function. Then, the two-scale relation in Eq. (9.10) implies that 4π ω 1 2r ω [k] dω ζ[m] ξ(ω) β 4π 0 2 2 2π 1 ω 2r ω [k] + β ω + π ζ 2r ω + π [k] dω ζ[m] = ξ(ω) β [m] 4π 0 2 2 2 2 2π 1 2r = ξ(ω) ζ[m+1] (ω) dω. 2π 0
2r [k] = s[m]
2r belongs to 2r S Thus, the spline s[m] [m+1] and its symbol is ξ(ω). 2r ∈ 2r S Corollary 10.1 1. Any discrete spline s[1] [1] ⊂ S[0] = l1 [Z] is represented via the integrals
10.1 Discrete Splines’ Spaces 2r s[1] [k]
1 = 2π
π
−π
191
2r ξ[1] (ω) ζ[1] (ω)[k] dω
1 = 2π
2π 0
ξ˜[0] (ω) eiωk dω, (10.3)
2r (ω) = ξ (2ω) cos2r ω/2 . where the symbol ξ˜[0] (ω) = sˆ[1] [1] 2. Inversely, if the DTFT of a signal x ∈ l1 [Z] can be factored as x(ω) ˆ = ξ(2ω) cos2r ω/2, where ξ(ω) is a 2π -periodic function, then the signal x is a discrete spline from the space 2r S[1] .
Proof It is sufficient to recall Remark 9.2.2, which claims that the exponential splines in the space S[0] = l1 [Z] are the Fourier exponentials ζ[0] (ω)[k] = eiωk , and the integral representation of a “spline” s[0] = {x[k]} is the inverse formula for the ˆ DTFT . The symbol of the discrete spline s[0] is ξ[0] (ω) = x(ω).
10.2 Discrete Exponential Wavelets Denote by 2r W[m+1] the orthogonal complement of the subspace 2r S[m+1] in the space 2r S[m] . Similarly to the polynomial spline-wavelets’ design presented in 2r of the Chap. 8, we are looking for an integral representation of elements w[m+1] 2r 2r space W[m+1] . We refer to W[m+1] as discrete-spline wavelet spaces. Proposition 10.3 Assume that a spline w2r ∈ 2r S[m] is represented as follows: 2π 1 2r w2r = w2r [k] , w2r [k] = η˜ [m] (ω) ζ[m] (ω) [k] dω. 2π 0 If its symbol is factorized as η˜ [m] (ω) = α[m] (ω) η[m+1] (2ω), α[m] (ω) = e β(ω iω
4r + π ) U[m] (ω
where + π) = e
iω
sin
2r
ω 4r U (ω + π ) 2 [m]
(10.4)
and η[m+1] (ω) is an arbitrary 2π -periodic function, then w2r belongs to 2r W[m+1] , which means that it is orthogonal to all the elements of the subspaces 2r S[m+1] .1 Proof It is sufficient for the spline w2r to be orthogonal to all the shifts of the B-spline b2r [m+1] , which are: 2π 1 2r e−iωl ζ[m+1] (ω)[k] dω 2π 0 2π 1 2r = e−2iωl β(ω) ζ[m] (ω)[k] dω. 2π 0
2r [k − 2m+1l] = [b[m+1]
1 Here
4r (ω) is the characteristic function of the space 4r S U[m] [m] .
192
10 Non-periodic Discrete-Spline Wavelets
According to the Parseval identity (9.21), the inner product of the splines is
m+1 w, b2r l] [m+1] [· + 2
2π 1 4r = e2iωl η˜ [m] (ω) β(ω) U[m] (ω) dω 2π 0 π 2π ω 1 1 dω, = e2iωl Θ(ω) dω = eiωl Θ 2π 0 4π 0 2
where def
4r (ω) + η˜ 4r Θ(ω) = η˜ [m] (ω) β(ω) U[m] [m] (ω + π ) β(ω + π ) U[m] (ω + π ) 4r (ω) + α 4r = η[m+1] (2ω) α[m] (ω) β(ω) U[m] [m] (ω + π ) β(ω + π ) U[m] (ω + π ) 4r (ω + π ) β(ω) U 4r (ω) = eiω η[m+1] (2ω) β(ω + π ) U[m] [m] 4r 4r − β(ω) U[m] (ω) β(ω + π ) U[m] (ω + π ) ≡ 0.
Thus, the spline w2r is orthogonal to all the shifts of the B-spline b2r [m+1] , which form a basis of the subspace 2r S[m+1] . Corollary 10.2 If the DTFT of a signal x ∈ l1 [Z] can be factorized as x(ω) = η(2ω) eiω sin2r ω/2, where η(ω) is a 2π -periodic function, then the signal x belongs to the space 2r W[1] . Proof Remark 9.2.2 claims that exponential splines in the space S[0] = l1 [Z] are ζ[0] (ω)[k] = eiωk and the integral representation of a “spline” s[0] = {x[k]} reduces to the inverse formula for the DTFT. In this case, we have the symbol ξ˜[0] (ω) = x(ω) ˆ and the characteristic function U[0] (ω) ≡ 1. Thus, the two-scale coefficient α[0] (ω) = eiω sin2r ω/2 and the statement follows from Proposition 10.3. 2r Each spline w[m+1] ∈ sented as
2r W [m+1]
whose symbol satisfies Eq. (10.4) is repre-
2π 1 2r η[m+1] (2ω) α[m] (ω) ζ[m] (ω) [k] dω 2π 0 4π ω ω 1 2r ζ[m] [k] dω = η[m+1] (ω) α[m] 4π 0 2 2 2π 1 2r = η[m+1] (ω) ϑ[m+1] (ω)[k] dω, 2π 0
2r w[m+1] [k] =
(10.5)
10.2 Discrete Exponential Wavelets
193
where def
2r ϑ[m+1] (2ω)[k] =
1 2r α[m] (ω) ζ[m] (ω) [k] 2
2r + α[m] (ω + π ) ζ[m] (ω + π ) [k] ,
4r (ω + π ) = eiω sin2r α[m] (ω) = eiω β(ω + π ) U[m]
(10.6)
ω 4r U (ω + π ). 2 [m]
Remark 10.2.1 It will be established in Sect. 10.4.2 (Corollary 10.3) that any spline from the subspace 2r W[m+1] can be represented by an integral as in Eq. (10.5). 2r Nodes of the discrete spline ϑ[m+1] (ω) are located on the sparse grid {(2k + 1) 2m } , 2r k ∈ Z. Equation (10.5) represents splines w[m+1] from the wavelet space 2r W[m+1] 2r via the splines ϑ[m+1] (ω) in the integral form, which is similar to the representation in 2r from the wavelet space 2r S[m+1] via the exponential Eq. (10.2) of the splines s[m+1] 2r (ω) are derived from the fine-grid splines ζ[m+1] (ω) . The discrete splines ϑ[m+1] exponential splines ζ[m] (ω) by the two-scale relations in Eq. (10.6), which are similar to the two-scale relations of Eq. (9.10) for the discrete exponential splines. Therefore, 2r (ω) as discrete exponential wavelets. it is appropriate to refer to the splines ϑ[m+1] 2r Proposition 10.4 The exponential wavelets ϑ[m+1] (ω) are the eigenvectors of the integer shift operator such that 2r 2r (ω)[k + 2m+1 n] = eiωn ϑ[m+1] (ω)[k], n ∈ Z. ϑ[m+1]
(10.7)
2r 2r (ω)[2m+1 n] = eiωn ϑ[m+1] (ω)[0], n ∈ Z. ϑ[m+1]
(10.8)
In particular,
Proof Is similar to the proof of Proposition 8.2.
10.3 Generators of the Discrete Spline Wavelet Spaces As in the case of polynomial splines, elements of the wavelet subspaces 2r W[m+1] ⊂ 2r S as linear combinations of integer shifts [m] can be represented
2r 2r [k − 2m+1l] , l ∈ Z, of certain discrete splines ψ[m+1] ∈ 2r W[m+1] , which ψ[m+1] are called discrete spline wavelets. The discrete spline wavelets are the generators of the subspace 2r W[m+1] . There exist compactly supported generators which are counterparts of the polynomial B-wavelets that are called the discrete B-wavelets.
194
10 Non-periodic Discrete-Spline Wavelets
10.3.1 Discrete B-Wavelets 2r 2r Similarly to Eq. (9.36), denote c[m+1] = c[m+1] [k] , k ∈ Z, where 2π 1 2r ϑ[m+1] (ω)[k] dω 2π 0 2π 1 2r = α[m] (ω) ζ[m] (ω) [k] dω ∈ 2r W[m+1] 2π 0 def
2r [k] = c[m+1]
(10.9)
Using Eq. (10.7), we observe that the shifted spline 2r c[m+1] [k
−2
m+1
2π 1 2r l] = ϑ[m+1] (ω)[k − 2m+1 l] dω 2π 0 2π 1 2r = e−iωl ϑ[m+1] (ω)[k] dω 2π 0
2r (ω) is a Fourier coefficient of the 2π -periodic, with respect to ω, function ϑ[m+1] [k]/2π . Thus, the exponential wavelet, which is represented by 2r (ω)[k] = ϑ[m+1]
l∈Z
2r eiωl c[m+1] [k − 2m+1l],
(10.10)
2r . is the Zak transform of the discrete spline c[m+1] 2r ∈ 2r W[m+1] Substituting (10.10) into Eq. (10.5), we have for a spline w[m+1]
2π 1 2r w[m+1] [k] = η[m+1] (ω) ϑ[m+1] (ω)[k] dω 2π 0 2π 1 2r = η[m+1] (ω) eiωl c[m+1] [k − 2m+1l] dω 2π 0 l∈Z 2r p[k] c[m+1] [k − 2m+1 l], (10.11) = k∈Z
where 1 p[k] = 2π def
2π
η[m+1] (ω) eiωk dω, e−iωk p[k] = p(ω). ˆ = η[m+1] (ω) = 0
k∈Z
(10.12)
10.3 Generators of the Discrete Spline Wavelet Spaces
195
2r Thus, the discrete spline c[m+1] defined in Eq. (10.9) is a generator of the wavelet 2r 2r subspace W[m+1] ⊂ S[m] . 2r can be Similarly to Eq. (9.4) for the B-spline generators, the generators c[m+1] 2r expressed via a finite number of shifts of the discrete B-spline b[m] . Due to Eq. (9.9), 2r , which is the integral representation of the discrete spline c[m+1] 2r [k] = c[m+1]
1 2π
2π
0
2r α[m] (ω) ζ[m] (ω) [k] dω,
implies that 2r [k] = c[m+1]
e
−iωl
l∈Z
2r q[l] b[m] [k − 2m l],
q[l] = α[m] (ω) = eiω sin2r
l∈Z
ω 4r U (ω + π ). 2 [m]
4r (ω) satisfies U 4r (ω) = The characteristic function U[m] [m] Consequently, 4r (ω + π ) = eiω U[m]
k∈Z
k∈Z e
−iωk b4r [2m k]. [m]
4r e−iωk (−1)k+1 b[m] [2m (k + 1)],
and we have the following expression for the symbol α[m] (ω): 2r 1 iω/2 −iω/2 4r e − e e−iωk (−1)k+1 b[m] [2m (k + 1)] (−4)r k∈Z r 2r 1 n −iωn 4r (−1) e e−iωk (−1)k+1 b[m] [2m (k + 1)]. = (−4)r n=−r n
α[m] (ω) =
k∈Z
Denote l = k + n. Then r 2r 4r m 1 −iωl l+1 b [2 (l − n + 1)]. α[m] (ω) = e (−1) r n [m] (−4) n=−r
(10.13)
l∈Z
m m The B-spline b4r [m] is supported on the set −2r 2 + 1, . . . , 2r 2 − 1. Thus, the indices l in Eq. (10.13) change between l = −3r and l¯ = 3r − 2 and we have
196
10 Non-periodic Discrete-Spline Wavelets
α[m] (ω) =
3r −2 1 e−iωl q[l] (−4)r
(10.14)
l=−3r
=⇒
2r [k] c[m+1]
3r −1
=
l=−3r −1
2r q[l]b[m] [k − 2m l],
r 2r 4r m b [2 (l − n + 1)]. q[l] = (−1)l+1 n n=−r
Consequently, the support −4r 2m , . . . , (4r − 2)2m of the discrete spline-wavelet is compact. The wavelet is symmetric about t = −2m .
2r c[m+1]
10.3.2 Generators and Dual Generators of Discrete Spline Wavelet Spaces Conditions for a discrete spline to serve as a generator for the subspace 2r W[m+1] are similar to the conditions for the entire space 2r S[m] , which were presented in Sect. 9.3.1. Proposition 10.5 A spline 2π 1 2r 2r 2r 2r = ψ[m+1] [k] , ψ[m+1] [k] = η(ω) ϑ[m+1] (ω)[k] dω (10.15) ψ[m+1] 2π 0 can serve as a generator for the space 2r W[m+1] if its symbol’s magnitude |η(ω)| is strictly positive on the real axis. Proof The shift property in Eq. (10.7) implies that for an integer n 2r ψ[m+1] [k − 2m+1 n] =
1 2π
2π
0
2r e−iωn η(ω) ϑ[m+1] (ω)[k] dω.
Thus, 2r (ω)[k] = η(ω) ϑ[m+1]
n∈Z
2r eiωn ψ[m+1] [k − 2m+1 n]
is the Zak transform of the spline ψ 2r (t/2h).
(10.16)
10.3 Generators of the Discrete Spline Wavelet Spaces
197
2r Assume that a spline w[m+1] belongs to 2r W[m+1] . Then, it is represented by the integral
2π 1 2r w[m+1] [k] = τ (ω) ϑ[m+1] (ω)[k] dω 2π 0 2π 1 τ (ω) 2r = (ω)[k] dω. η(ω)ϑ[m+1] 2π 0 η(ω)
(10.17)
Substitution of Eq. (10.16) into Eq. (10.17) results in the following relations: w[m+1] [k] = =
1 2π n∈Z
2π 0
τ (ω) iωn 2r e ψ[m+1] [k − 2m+1 n] dω η(ω) n∈Z
2r p[n] ψ[m+1] [k − 2m+1 n],
where def
p[n] =
1 2π
2π
eiωn
0
τ (ω) dω, η(ω)
τ (ω) −iωk = e p[k] = p(ω). ˆ η(ω) k∈Z
2r Thus, any spline from W[m+1] can be represented as a linear combination of shifts 2r ψ[m+1] [· − 2m+1 n] .
Proposition 10.6 describes the condition for generators that are dual to each other. 2r Proposition 10.6 Each generator ψ[m+1] of the space 2r ¯ terpart ψ[m+1] such that the biorthogonal relations
κ∈Z
2r W [m+1]
has a dual coun-
∗ 2r 2r ψ[m+1] [k − 2m+1 n] ψ¯ [m+1] [k − 2m+1l] = δ[n − l]
(10.18)
2r 2r and ψ¯ [m+1] , respectively, hold. The symbols η(ω) and η(ω) ¯ of the generators ψ[m+1] are linked in the following way:
η(ω) η(ω) ¯ ∗=
1 4r Υ[m+1] (ω)
,
(10.19)
4r (ω) is defined by where the 2π -periodic function Υ[m+1] def
4r 4r Υ[m+1] (ω) = U[m]
ω 4r 4r + π U[m] U[m+1] (ω), 2 2
ω
4r (ω) is the characteristic function of the space 4r S where U[m] [m] .
(10.20)
198
10 Non-periodic Discrete-Spline Wavelets
Proof The shift property in Eq. (10.16) and the relation in Eq. (10.5) imply the following splines’ representation 2π 1 2r −2 n] = e−inω η(ω) ϑ[m+1] (ω)[k] dω 2π 0 2π 1 2r = e−2inω η(2ω) α[m] (ω) ζ[m] (ω)[k] dω, 2π 0 2π 1 2r 2r ψ¯ [m+1] [k − 2m+1l] = e−2iωl η(2ω) ¯ α[m] (ω) ζ[m] (ω)[k] dω. 2π 0
2r ψ[m+1] [k
m+1
Now, by using the Parseval identity (9.21), we get κ∈Z
∗ 2r 2r ψ[m+1] [k − 2m+1 n] ψ¯ [m+1] [k − 2m+1l]
2π 1 4r e−i2ω(n−l) η(2ω) η¯ ∗ (2ω) |α[m] (ω)|2 U[m] (ω) dω 2π 0 2π 2 1 ω 4r 4r = e−i2ω(n−l) η(2ω) η¯ ∗ (2ω) sin2r U[m] (ω + π ) U[m] (ω) dω. 2π 0 2
=
The functions η(ω) and η(ω) ¯ are 2π -periodic, thus the last integral can be split and we get κ∈Z
∗ 2r 2r ψ[m+1] [k − 2m+1 n] ψ¯ [m+1] [k − 2m+1l]
1 = 2π
π
e−i2ω(k−m) η(2ω) η¯ ∗ (2ω) Υˇ (ω) dω, where
0
ω 2 4r ω 2 4r def 4r 4r Υˇ (ω) = U[m] (ω + π ) sin2r U[m] (ω) + U[m] (ω) cos2r U[m] (ω + π ). 2 2
Using Eq. (9.13), we can write ω ω 4r 4r 4r 4r Υˇ (ω) = U[m] (ω + π ) U[m] (ω) U[m] (ω + π ) sin4r + U[m] (ω) cos4r 2 2 4r 4r 4r 4r = 2U[m] (ω + π ) U[m] (ω) U[m+1] (2ω) = 2Υ[m+1] (2ω). If the condition (10.19) is satisfied, then κ∈Z
2r ψ[m+1] [k−2m+1 n]
π ∗ 2 2r m+1 ¯ ψ[m+1] [k − 2 l] = e−i2ω(n−l) dω = δ[n−l]. 2π 0
10.3 Generators of the Discrete Spline Wavelet Spaces
199
10.3.2.1 Examples of Generators of the Discrete Wavelet Spaces B-wavelets: 2r is the shortest possible generator of the space 2r W[m+1] and, The B-wavelet c[m+1] what is more, the shortest possible spline-wavelet of order 2r . Its symbol satisfies η(ω) ≡ 1, due to Eq. (10.9). By using Eq. (10.5), the B-wavelet can be represented as 2r c[m+1] [k]
1 = 2π
2π 0
2r α[m] (ω) ζ[m] (ω)[k] dω,
Thus, according to Eq. (9.18), its DTFT is 2r cˆ[m+1] (ω) = α[m] (2m ω)
sin(2m−1 ω) 2m sin(ω/2)
2r
4r m−1 ω) m 4r (2m ω + π ) sin (2 = ei2 ω U[m] . m (2 sin(ω/2))2r
2r The grid samples of the generator c[m+1] are 2r [2m k] c[m+1]
1 = 2π
0
2π
2r e2πiωk α[m] (ω) U[m] (ω) dω.
Using the same reasoning as in Sect. 9.2.4, we get an explicit expression for the 2r via the DFT. Assuming that N = 2 j > compactly supported discrete spline c[m+1] 2r m 8r 2 , we express the wavelet c[m+1] as 2r [k] = c[m+1]
1 N
Nm sin4r (π n/Nm ) 4r n+ e2πikn/N e2πin/N U˜ [m] . 2 (2m sin( n/(2m Nm ))2r n=−N /2 N /2−1
Figure 10.1, which is produced by the MATLAB code dsp_gen_exampN.m, dis2r of orders 4 and 8 for spans m = 1, 2, 3 and plays the discrete spline B-wavelets c[m] their DTFTs.
Self-dual Generators (discrete Battle–Lemarié wavelets): 2r [· − 2m+1l] of a wavelet It follows from Proposition 10.6 that for the shifts ψ[m+1] 2r [k] = ψ[m+1]
1 2π
2π 0
η(ω)ϑ 2r (ω)[k] dω ∈ 2r W[m+1]
2r to be orthogonal to each other, while the norm ψ[m+1] = 1, its symbol η(ω) has to satisfy the condition
200
10 Non-periodic Discrete-Spline Wavelets
4 , where m = 1, 2, 3. Top right magnitudes Fig. 10.1 Top left discrete spline wavelet generators c[m] 4 . Bottom the same for the generators c8 of the DTFTs of the splines c[m] [m]
|η(ω)|2 =
1 4r Υ[m+1] (ω)
4r 4r (ω) = U[m] , where Υ[m+1]
ω 4r 4r + π U[m] U[m+1] (ω) 2 2
ω
4r (ω) is strictly positive on the real axis, is defined in Eq. (10.20). The function Υ[m+1] 4r −1/2 . therefore η(ω) = (Υ[m+1] (ω)) Thus, the wavelet is
2r ψ[m+1] [k]
1 = 2π
0
2π
2r ϑ[m+1] (ω)[k] 1 dω = 2π 4r Υ[m+1] (ω)
0
2π
2r (ω)[k] α[m] (ω)ζ[m] dω. 4r Υ[m+1] (2ω)
(10.21) 2r 2r Obviously, ψ[m+1] = 1. Therefore, the shifts ψ[m+1] [· − 2m+1l], l ∈ Z, form an 2r 2r 2r orthonormal basis of the wavelet subspace W[m+1] ⊂ S[m] . The wavelets ψ[m+1] are the discrete counterparts of the Battle–Lemarié mother wavelets. The DTFT of 2r is the wavelet ψ[m+1]
2r
sin(2m−1 ω) α[m] (2m ω) 2r ˆ ψ[m+1] (ω) = (10.22) m 4r Υ[m+1] (2m+1 ω) 2 sin(ω/2) m ei2 ω U[m] (2m ω + π ) sin4r (2m−1 ω) = . 2r 4r (2m ω) U 4r m+1 ω) (2m sin(ω/2)) U[m] (2 [m+1]
10.3 Generators of the Discrete Spline Wavelet Spaces
201
4 , where m = 1, 2, 3. Top right: Fig. 10.2 Top left self-dual discrete spline wavelet generators ψ[m] 4 8 magnitudes of the DTFTs of the splines ψ[m] . Bottom the same for the generators ψ[m]
2r Grid samples of the wavelet ψ[m+1] are
2r [2m k] = ψ[m+1]
1 2π
2π 0
2r (ω) e2πiωk α[m] (ω)U[m] dω. 4r Υ[m+1] (2ω)
Assuming that N = 2 j is sufficiently large, we have an approximate expression for 2r : the wavelet ψ[m+1] 1 2r ψ[m+1] [k] ≈ N
N /2−1 n=−N /2
e2πikn/N
˜ 4r U[m] [n + Nm /2] sin4r (π n/Nm ) 2πin/N e . 2r 4r [n] U m m ˜ 4r U˜ [m] [m+1] [n] (2 sin( n/(2 Nm ))
Figure 10.2, which is produced by the MATLAB code dsp_gen_exampN.m, 2r of orders 4 and 8 for spans displays the discrete spline self-dual-wavelets ψ[m] m = 1, 2, 3 and their DTFTs. We observe that the shapes of the DFTs ’magnitudes of fourth and, especially, of eighth orders are close to rectangles. Their effective supports are approaching zero while the span m increases. The widths of the supports decrease in a logarithmic mode. These properties of the discrete spline wavelets are similar to the properties of the polynomial Battle–Lemarié wavelets.
202
10 Non-periodic Discrete-Spline Wavelets
10.4 Wavelet Transforms of Discrete Splines 10.4.1 Matrix Representation of the Two-Scale Relations The two-scale relations in Eqs. (10.6) and (9.10) can be combined in one matrix relation such that
1 ζ[m+1] (2ω))[k] ζ[m] (ω)[k] = A[m] (ω) · , (10.23) ϑ[m+1] (2ω)[k] ζ[m] (ω + π )[k] 2 where the matrix A[m] (ω) is
β(ω) β(ω + π ) def A[m] (ω) = α[m] (ω) α[m] (ω + π )
cos2r ω/2 sin2r ω/2 = 4r (ω + π ) sin2r ω/2 −eiω U 4r (ω) cos2r ω/2 . eiω U[m] [m]
(10.24)
The determinant of the matrix A[m] (ω) is readily calculated by using Eq. (9.13): def
D[m] (ω) = det A[m] (ω) (10.25) iω 4r 4r ω 4r 4r ω i ω 4r + U[m] (ω + π ) sin = −2e U[m+1] (2ω) = 0. U[m] (ω) cos = −e 2 2 Therefore, the matrix A[m] (ω) is invertible and the inverse matrix is
1 α[m] (ω + π ) −β(ω + π ) (10.26) = β(ω) −α[m] (ω) D[m] (ω)
4r (ω) cos2r ω/2 1 −e−iω sin2r ω/2 −U[m] . =− 2r 4r −iω cos2r ω/2 4r 2 U[m+1] (2ω) −U[m] (ω + π ) sin ω/2 e A−1 [m] (ω)
Proposition 10.7 The inverse two-scale relation holds 2r 2r 2r ζ[m] (ω) [k] = β˜[m] (ω) ζ[m+1] (2ω) [k] + α˜ [m] (ω) ϑ[m+1] (2ω) [k], (10.27)
˜ [m] def β(ω) = def
α˜ [m] (ω) =
4r (ω) cos2r ω/2 U[m] 2 α[m] (ω + π ) = , 4r D[m] (ω) U[m+1] (2ω)
e−iω sin2r ω/2 −2 β(ω + π ) = . 4r D[m] (ω) U[m+1] (2ω)
10.4 Wavelet Transforms of Discrete Splines
203
Proof Equations (10.23) and (10.26) imply
2r (ω) [k] ζ[m] 2r ζ[m] (ω + π ) [k]
=
2 A−1 [m] (ω) ·
2r ζ[m+1] (2ω) [k] . 2r ϑ[m+1] (2ω) [k]
(10.28)
Thus, 2r ζ[m] (ω) [k] =
4r (ω) cos2r U[m]
ω 2r −iω 2 ζ[m+1] (2ω)[k] − e 4r U[m+1] (2ω)
sin2r
ω 2
2r ϑ[m+1] (2ω)[k]
.
The direct and inverse two-scale relations for discrete splines enable us to explicitly decompose a signal from l1 (Z) = 2r S[0] (r is an arbitrary integer) into different sets of mutually orthogonal components and, inversely, to restore the signal when its orthogonal components are available.
10.4.2 Transform of Splines’ Coordinates 2r = {s 2r [k]} ∈ 2r S A discrete spline s[m] [m] can be represented either by expansion [m] over shifts of some generator, such as the B-spline for example, or by the integral with exponential splines:
2r s[m] [k] =
l∈Z
2r qm [l] b[m] [k − 2m l] =
1 2π
2π
0
2r ξ[m] (ω) ζ[m] (ω)[k] dω,
(10.29)
where coordinates in the B-spline representation are linked to the symbol ξ[m] (ω) via the DTFT such that ξ[m] (ω) = e−ilω qm [l] . 2r = {s 2r [k]} ∈ 2r S Proposition 10.8 The spline s[m] [m] represented by Eq. (10.29) [m] can be decomposed into mutually orthogonal components 2r 2r s[m] = s[m+1]
2r w[m+1] , where
2π 1 2r ξ[m+1] (ω) ζ[m+1] (ω)[k] dω ∈ 2r S[m+1] , (10.30) 2π 0 2π 1 2r 2r w[m+1] [k] = η[m+1] (ω) ϑ[m+1] (ω)[k] dω ∈ 2r W[m+1] . (10.31) 2π 0
2r s[m+1] [k] =
The splines’ symbols are
ξ[m+1] (2ω) η[m+1] (2ω)
=
2 Aa[m] (ω) ·
ξ[m] (ω) , ξ[m] (ω + π )
(10.32)
204
10 Non-periodic Discrete-Spline Wavelets
where the analysis matrix Aa[m] (ω) is defined as follows: T def Aa[m] (ω) = A−1 (ω) = [m]
1 D[m] (ω)
ω , α[m] (ω) = eiω 2 4r D[m] (ω) = −2eiω U[m+1] (2ω). β(ω) = cos2r
α[m] (ω + π ) −α[m] (ω) , (10.33) −β(ω + π ) β(ω) ω 4r sin2r U[m] (ω + π ), 2
Proof The integral in Eq. (10.29) can be split into 2r [k] s[m]
π 1 2r 2r ξ[m] (ω) ζ[m] = (ω)[k] + ξ[m] (ω + π ) ζ[m] (ω + π )[k] dω 2π 0
π 2r (ω)[k] 1 ζ[m] dω. ξ[m] (ω), ξ[m] (ω + π ) · = 2r (ω + π )[k] ζ[m] 2π 0
Then, by using Eqs. (10.28), we get 2r s[m] [k] =
2 2π
0
π
ξ[m] (ω), ξ[m] (ω + π ) · A−1 [m] (ω) ·
2r ζ[m+1] (2ω) [k] 2r ϑ[m+1] (2ω) [k]
dω.
Denote T def X(ω) = 2 A−1 (ω) · [m]
ξ[m] (ω) . ξ[m] (ω + π )
Equations (8.19) and (8.20) enable us to express the spline in the following way: π 1 2r 2r ζ[m+1] (2ω)[k], ϑ[m+1] (2ω)[k] · X(ω) dω 2π 0 2π ω 1 2r 2r dω = ζ[m+1] (ω) [k], ϑ[m+1] (ω) [k] · X 2π 0 2 2π 1 2r 2r = ξ[m+1] (ω) ζ[m+1] (ω)[k] + η1 (ω) ϑ[m+1] (ω)[k] dω, 2π 0
2r [k] = s[m]
where the coefficients ξ[m+1] (ω) η[m+1] (ω) are given in Eq. (10.32). All the splines represented as in Eq. (10.31) belong to 2r W[m+1] . That means that they are orthogonal to the splines from 2r S[m+1] represented by Eq. (10.30). 2r 2r onto the subRemark 10.4.1 The spline s[m+1] is the orthogonal projection of s[m] 2r 2r space S[m+1] , while the spline w[m+1] is its orthogonal projection onto the subspace 2r W [m+1] .
Proposition 10.8 entails the following fact.
10.4 Wavelet Transforms of Discrete Splines
205
2r ¯ [m+1] Corollary 10.3 Any spline w from 2r W[m+1] can be represented via the integral 2r [k] = w¯ [m+1]
1 2π
2π
0
2r η[m+1] (ω) ϑ[m+1] (ω)[k] dω.
2r ¯ [m+1] from Remark 10.4.2 Recall that an alternative representation of the spline w 2r W [m+1] is possible (Eqs. (10.11) and (10.12)):
w¯ [m+1] [k] =
k∈Z
2r p[k] c[m+1] [k − 2m+1 l], η[m+1] (ω) =
e−iωk p[k] = p(ω). ˆ
k∈Z
The relation in Eq. (10.32) between the spline’s coordinates in different spaces is invertible such that
1 ξ[m] (ω) ξ[m+1] (2ω) = As[m] (ω) · , ξ[m] (ω + π ) η[m+1] (2ω) 2 where the synthesis matrix As[m] (ω) is defined as follows: def As[m] (ω) =
a −1 T A[m] (ω) = A[m] (ω) =
β(ω) α[m] (ω) . β(ω + π ) α[m] (ω + π )
(10.34)
Hence, the reconstruction formulas are derived. 2r ∈ 2r S Proposition 10.9 Assume that the orthogonal projections of a spline s[m] [m] 2r 2r onto the subspaces S[m+1] and W[m+1] are available in the following way:
2π 1 2r = ξ[m+1] (ω) ζ[m+1] (ω)[k] dω ∈ 2r S[m+1] , 2π 0 2π 1 2r 2r w[m+1] (ω)[k] = η[m+1] (ω) ϑ[m+1] (ω)[k] dω ∈ 2r W[m+1] . 2π 0
2r s[m+1] (ω)[k]
2r is represented by Then, the spline s[m] 2r [k] s[m]
1 = 2π
0
2π
2r ξ[m] (ω) ζ[m] (ω) [k] dω,
(10.35)
where
Thus, ξ[m] (ω) =
ξ[m+1] (2ω) . η[m+1] (2ω)
(10.36)
1 β(ω) ξ[m+1] (2ω) + α[m] (ω) η[m+1] (2ω) . 2
(10.37)
ξ[m] (ω) ξ[m] (ω + π )
1 = As[m] (ω) · 2
206
10 Non-periodic Discrete-Spline Wavelets
2r Corollary 10.4 There hold the following representations of the discrete spline s[m] orthogonal components:
2π 1 2r = ξ[m+1] (2ω) β(ω) ζ[m] (ω)[k] dω, 4π 0 2π 1 2r 2r w[m+1] (ω)[k] = η[m+1] (2ω) α[m] (ω) ζ[m] (ω)[k] dω, 4π 0 2r s[m+1] (ω)[k]
(10.38) (10.39)
2r ∈ 2r S[m+1] can be regarded as a spline from the space 2r S[m] Proof The s[m+1] such that η[m+1] (2ω) ≡ 0 in Eq. (10.37). Now, Eq. (10.38) follows from Eqs. (10.35) and (10.37). Equation (10.39) is derived similarly.
10.5 Discrete-Spline Wavelet Transform of Signals In order to transform a signal x ∈ l1 [Z] into mutually orthogonal components, we regard it as a zero-span discrete spline x = s[0] ∈ 2r S[0] (r is an arbitrary integer). Then, the discrete-spline relations established in Sect. 10.4.2 can be utilized for the signal’s transform. Recall (Remark 9.2.2) that the exponential discrete splines in 2r S iωk . Respectively, the zero-span B-splines are b [k] = [0] are ζ[0] (ω)[k] = e [0] δ[k] and the characteristic function satisfies U[0] (ω) ≡ 1. Thus, any signal can be represented as a discrete spline such that 2π x[k] = s[0] [k] = 2π −1 ξ[0] (ω) ζ[0] (ω)[k] dω, 0 ˆ = e−iωl x[l]. ξ[0] (ω) = x(ω)
(10.40)
l∈Z
10.5.1 One Step of Discrete-Spline Wavelet Transform One step of the order-2r discrete-spline wavelet transform decomposes the signal x into its orthogonal projections onto the spaces 2r S[1] and 2r W[1] . Equations (10.38) and (10.39) imply the following decomposition of the signal x: 2r = s2r 2r , x = s[0] w[1] [1] 2π 2r [k] = 1 2r (ω)[k] dω = 0 [l] b2r [k − 2m l], (10.41) ξ[1] (ω) ζ[1]] y[1] s[1] [1]] 2π 0 l∈Z 2π 2r = 1 2r (ω)[k] , dω = 1 [l] c2r [k − 2m l], (10.42) w[1] η[1] (ω)ϑ[1]] y[1] [1] 2π 0 l∈Z 0 [l], η (ω) = 1 [l]. ξ[1] (ω) = e−ilω y[1] e−ilω y[1] [1] l∈Z
l∈Z
10.5 Discrete-Spline Wavelet Transform of Signals
207
On the other hand, by using Eqs. (10.32), (10.33) and (9.14) and the fact that, for all 4r (ω) ≡ 1, we express the splines’ symbols in r ∈ N, the characteristic sequence U[0] the following way: ξ[1] (2ω) = 2
2r cos ω/2 x(ω) ˆ + sin2r ω/2 x(ω ˆ + π)
η[1] (2ω) = −2e−iω
cos4r ω/2 + sin4r ω/2 2r sin ω/2 x(ω) ˆ − cos2r ω/2 x(ω ˆ + π) cos4r ω/2 + sin4r ω/2
(10.43) . (10.44)
Denote by f[1] = { f [1] [k]} and g[1] = {g[1] [k]} the sequences whose DTFTs are, respectively, fˆ[1] (ω) =
4 cos2r ω/2 −4 e−iω sin2r ω/2 (ω) = x(ω), ˆ g ˆ x(ω). ˆ [1] cos4r ω/2 + sin4r ω/2 cos4r ω/2 + sin4r ω/2
0 = It follows from Eq. (2.14) that ξ[1] (ω) (which is the DTFT of the signal y[1] 0 {y[1] [k]}), is the DTFT of the zero-polyphase component of the signal f[1] . Thus, 0 is the zero-polyphase component of the signal f . Similarly, y1 is the zeroy[1] [1] [1] polyphase component of the signal g[1] .
10.5.1.1 Analysis Filter Bank 1 0 y[1] . One step of the wavelet transform consists of one-to-one map x ←→ y[1] This transform is implemented by application of an analysis filter bank to x. The inverse transform is performed by application of a synthesis filter bank to the pair 0 1 y[1] , y[1] . The signal f[1] is a result of filtering the signal x with the low-pass filter h˜ 0 = {h˜ 0 [k]} whose frequency response and transfer function are, respectively, hˆ˜ 0 (ω) =
cos4r
4 cos2r ω/2 4r +1 ρ r (z) , , h˜ 0 (z) = 2r 4r ρ (z) + ρ 2r (−z) ω/2 + sin ω/2
(10.45)
def where ρ(z) = z + 2 + 1/z. Note, that h˜ 0 (z) = h˜ 0 (1/z) and, consequently, h˜ 0 [k] = 0 is represented as follows: h˜ 0 [−k]. Thus, the signal y[1] 0 [k] = y[1]
1 2π
0
2π
eiωk ξ[1] (ω) dω =
l∈Z
h˜ 0 [l − 2k] x[l].
(10.46)
208
10 Non-periodic Discrete-Spline Wavelets
The signal g[1] is a result of filtering the signal x with the time-reversed high-pass filter h˘ 1 = {h˜ 1 [−k]}, such that frequency response and transfer function of the filter h˜ 1 = {h˜ 1 [k]} are, respectively, hˆ˜ 1 (ω) =
r +1 ρ r (−z) −4 eiω sin2r ω/2 ˜ 1 (z) = −z 4 . , h ρ 2r (z) + ρ 2r (−z) cos4r ω/2 + sin4r ω/2
(10.47)
1 is represented as follows: Note, that h˜ 1 (1/z) = h˘ 1 (z). Thus, the signal y[1]
1 2π
1 [k] = y[1]
2π 0
eiωk η[1] (ω) dω =
h˜ 1 [l − 2k] x[l].
(10.48)
l∈Z
˜ = h˜ 0 , h˜ 1 constitute Equations (10.46) and (10.48) mean that the pair of filters H a two-channel analysis filter bank with the downsampling factor 2 (see Sect. 2.1.2).
10.5.1.2 Polyphase Representation j The z-transforms of the polyphase components h˜ l , l = 0.1, of the filters h˜ j , j = 0.1, are
4r +1 (ρ r (z) + ρ r (−z)) z 4r +1 (ρ r (z) − ρ r (−z)) , h˜ 01 (z 2 ) = , h˜ 00 (z 2 ) = 2r 2r 2(ρ (z) + ρ (−z)) 2(ρ 2r (z) + ρ 2r (−z)) 4r +1 (ρ r (z) + ρ r (−z)) z 4r +1 (ρ r (z) − ρ r (−z)) h˜ 10 (z 2 ) = , h˜ 11 (z 2 ) = −z 2 , 2r 2r 2(ρ (z) + ρ (−z)) 2(ρ 2r (z) + ρ 2r (−z)) def
where ρ(z) = z + 2 + 1/z = ρ(1/z). The Laurent polynomials ρ r (z) + ρ r (−z)) and z(ρ r (z) − ρ r (−z)) comprise only even-degrees terms. Denote def
R p (z 2 ) = ρ r (z) + ρ r (−z),
def
Q p (z 2 ) = z(ρ r (z) − ρ r (−z)).
Note, that R p (z 2 ) = R p (z −2 ) and z −1 Q p (z 2 ) = z Q p (z −2 ). Then, the analysis ˜ is polyphase matrix of the filter bank H def ˜ P(z) =
h˜ 00 (z) h˜ 10 (z)
h˜ 01 (z) h˜ 11 (z)
=
4r +1 2R 2r (z)
R r (z) Q r (z) . Q r (z) −z R r (z)
(10.49)
˜ Using Eq. (2.18), we express the application of the two-channel analysis filter bank H with the downsampling factor 2 to a signal x via the following matrix multiplication:
0 (z) y[1] 1 (z) y[1]
˜ = P(1/z) ·
x0 (z) , x1 (z)
(10.50)
10.5 Discrete-Spline Wavelet Transform of Signals
209
where def
x0 (z) =
z −k x[2k], x1 (z) =
def
k∈Z
z −k x[2k + 1]
k∈Z def
are the z-transforms of the polyphase components of the signal x, such that x0 = def j {x[2k]} and x1 = {x[2k + 1]}. Thus, the signals y[1] , j = 0, 1, are derived by filtering the polyphase components of the signal x by the polyphase components of the filters h j , j = 0, 1, in the following way 0 (z) = h˜ 00 (1/z) x0 (z) + h˜ 01 (1/z) x1 (z), y[1] 1 (z) = h˜ 10 (1/z) x0 (z) + h˜ 11 (1/z) x1 (z) y[1]
Consequently,
h˜ 0 [l l∈Z 0 h˜ 1 [l l∈Z 0
0 [k] = y[1] 1 [k] = y[1]
− k] x0 [l] + h˜ 01 [l − k] x1 [l],
(10.51)
− k] x0 [l] + h˜ 11 [l − k] x1 [l].
10.5.1.3 Synthesis Filter Bank ˜ The determinant of the analysis polyphase matrix P(z) is (16)r +1 z (R r (z))2 + (Q r (z))2 ) z 16r +1 D(z) = − . = − 4 (R 2r (z))2 2 R 2r (z) Apparently, D(z) = 0, when z = eiω is located on the unit circle. Thus, the matrix ˜ P(z) is invertible such that
4r +1 −z R r (z) −Q r (z) 2R 2r (z) D(z) −Q r (z) R r (z)
r 1 z −1 Q r (z) R (z) . = r +1 z −1 Q r (z) −z −1 R r (z) 4
P˜ −1 (z) =
(10.52)
def ˜ Denote P(z) = P˜ −1 (1/z). Certainly, P(z) · P(1/z) = I2 , where I2 is the 2 × 2 identity matrix. Consequently, if Eq. (10.50) holds, then the z-transforms of the polyphase components of the signal x can be restored by the matrix multiplication
x0 (z) x1 (z)
= P(z) ·
0 (z) y[1] 1 (z) . y[1]
(10.53)
210
10 Non-periodic Discrete-Spline Wavelets
Therefore, 0 1 P(z) is the synthesis polyphase matrix of a two-channel filter bank H = h , h and, according to Eq. (2.22), can be expressed via the z-transforms of the polyphase components of the filters H = h0 , h1 : P(z) =
1 4r +1
R r (1/z) z Q r (1/z) z Q r (1/z) −z R r (1/z)
=
h 00 (z) h 10 (z) . h 01 (z) h 11 (z)
(10.54)
Keeping in mind the symmetry of the functions R r (z 2 ) and z −1 Q r (z 2 ) about inversion z → 1/z, we get the z-transforms of the synthesis filters R r (z 2 ) + z −1 Q r (z 2 ) 2ρ r (z) = , 4r +1 4r +1 z Q r (z 2 ) − z R r (z 2 ) −2z ρ r (−z) h 1 (z) = = . r +1 4 4r +1
h 0 (z) =
(10.55)
The frequency responses of the synthesis filters are ω ω 1 −eiω hˆ 0 (ω) = cos2r , hˆ 1 (ω) = sin2r . 2 2 2 2
(10.56)
Apparently, h0 is a low-pass filter while h1 is a high-pass filter. Recall that the analysis filters h˜ 0 and h˜ 1 are a low-pass and a high-pass filters, respectively. ˜ of filter ˜ Due to the identity P(z) · P(1/z) = I2 , the synthesis-analysis pair H, H banks constitutes a perfect reconstruction (PR) filter bank. The transfer functions of the synthesis filters are the Laurent polynomials. Therefore, the filters h j , j = 0, 1, have finite impulse responses (FIR). The analysis filters h˜ j , j = 0, 1, have infinite impulse responses (IIR). Their transfer functions are rational and do not have poles on the unit circle z = eiω . Filtering can be implemented in a recursive way. Equation (10.53) implies that the even and odd polyphase components of the j signal x can be restored by the polyphase FIR filtering of the signals y[1] in the following way 0 1 (z) + h 10 (z) y[1] (z), x0 (z) = h 00 (z) y[1] 0 1 x1 (z) = h 01 (z) y[1] (z) + h 11 (z) y[1] (z),
Consequently, x0 [k] =
l∈Z
x1 [k] =
l∈Z
0 1 h 00 [k − l] y[1] [l] + h 10 [k − l] y[1] [l], 0 1 h 01 [k − l] y[1] [l] + h 11 [k − l] y[1] [l].
(10.57)
10.5 Discrete-Spline Wavelet Transform of Signals
211
The direct restoration of the entire signal x is implemented by filtering of the upsamj pled signals y[1] in the following way x(z) = x0 (z 2 ) + z −1 x1 (z 2 ) = h 0 (z) y 0 (z 2 ) + h 1 (z) y 1 (z 2 ) ⇐⇒ x[k] = l∈Z h 0 [k − 2l] y 0 [l] + h 1 [k − 2l] y 1 [l].
(10.58)
Remark 10.5.1 Typically, polyphase filtering as in Eqs. (10.51) and (10.57) is advantageous compared to filtering the whole signal, because it utilizes simpler filters that are applied to shorter signals.
10.5.2 Multiscale Signal’s Transform j
The meaning of the sequences y[1] , j = 0, 1, is twofold. On the one hand, they are coefficients in the signal’s expansion over the bases of the mutually orthogonal 0 [l] b2r [k − 2l] + discrete spline spaces 2r S[1] and 2r W[1] , that is x[k] = l∈Z y[1] [1] 1 [l] c2r [k − 2l]. On the other hand, they can be regarded as a result of a one-toy[1] [1] one transform of the signal x. The direct and inverse transforms are implemented ˜ H of filter banks, whose polyphase matrices are P(z) ˜ by the PR pair H, and P(z), ˜ and the synthesis H fb s can be interchanged. respectively. Note that the analysis H In order to implement a multiscale wavelet-type transform of the signal x, the ˜ is applied to the low-frequency signal y0 , which results in the analysis filter bank H [1] 0 1 . The signal y0 is restored by application of the synthesis pair of signals y[2] and y[2] [1] 0 and y1 . The next step of the transform consists filter bank H to the signals y[2] [2] 0 into the pair y0 and y1 , and so on. As of the decomposition of the signal y[2] [3] [3] a result of the m-scale transform, the signal x becomes decomposed into the set of m 0 signals x −→ y[m] j=1 , from which it can be restored by iterated application of the synthesis filter bank H. Diagrams in Fig. 10.3 illustrate direct and inverse multiscale wavelet transforms.
10.5.3 Examples r = 1:
The frequency responses and the z-transforms of the filters are: hˆ 0 (ω) 21 cos2 ω2 , hˆ 1 (ω) =
−eiω 2
sin2 ω2 ,
z + 2 + 1/z , 8 z 2 − 2z + 1 , h 1 (z) = 8
h 0 (z) =
212
10 Non-periodic Discrete-Spline Wavelets
Fig. 10.3 Diagrams of direct (top) and inverse (bottom) 3-scale discrete spline-wavelet transforms of a signal x
hˆ˜ 0 (ω) =
4 cos2 ω/2 , cos4 ω/2+sin4 ω/2
hˆ˜ 1 (ω) =
−4 eiω sin2 ω/2 , cos4 ω/2+sin4 ω/2
8 (z + 2 + 1/z) h˜ 0 (z) = 2 , z + 6 + 1/z 2 8 (z 2 − 2z + 1) h˜ 1 (z) = 2 . z + 6 + 1/z 2
def
1 Denote Ξ 1 (z 2 ) = (ρ 2 (z) + ρ 2 (−z))/2 = z 2 + 6 + 1/z 2 . The function √ Ξ (z) can 1 be factorized as Ξ (z) = (1 + q z)(1 + q /z)/q, where q = 3 − 2 2 ≈ 0.1716. The polyphase matrices of the analysis and synthesis filter banks are:
˜ P(z) =
8 1 Ξ (z)
2 1+z 1 + z −2 z
, P(z) =
1 8
2 1+z 1 + z −2 z
.
(10.59)
The z-transforms of the signals y j are 8q (2 x0 (z) + (1 + 1/z) x1 (z)) , (1 + q z)(1 + q /z) 8q ((1 + 1/z) x0 (z) − 2 x1 (z)/z) . y 1 (z) = (1 + q z)(1 + q /z)
y 0 (z) =
(10.60)
10.5 Discrete-Spline Wavelet Transform of Signals
213
It is seen from Eq. (10.60) that, in order to derive the signals y j , the polyphase components xl , l = 0, 1, of the signal x should be filtered with IIR filters, whose transfer functions are rational that have no poles on the unit circle. Their denominators are symmetric about inversion z → 1/z. Therefore, filtering can be implemented via the causal-anticausal cascade of recursions as described in Sect. 2.2.2. The polyphase components xl , l = 0, 1, are restored from the signals y j by a simple FIR filtering. Their z-transforms are: x0 (z) =
2y 0 (z) + (1 + z) y 1 (z) (1 + z) y 0 (z) − 2 z y 1 (z) , x1 (z) = . 8 8
In the time domain we have x0 [k] =
2y 0 [k] + y 1 [k] + y 1 [k + 1] y 0 [k] + y 0 [k + 1] − 2y 1 [k + 1] , x1 [k] = . 8 8 def
r = 2: Denote Ξ 2 (z 2 ) = (ρ 4 (z) + ρ 4 (−z))/2 = z 4 + 28 z 2 + 70 + 28/z 2 + 1/z 4 . The frequency responses and the z-transforms of the filters are: ω 1 hˆ 0 (ω) = cos4 , 2 2 iω ω −e sin4 , hˆ 1 (ω) = 2 2 4 4 cos ω/2 hˆ˜ 0 (ω) = , cos8 ω/2 + sin8 ω/2 −4 eiω sin4 ω/2 hˆ˜ 1 (ω) = , cos8 ω/2 + sin8 ω/2
(z + 2 + 1/z)2 , 32 (z − 2 + 1/z)2 h 1 (z) = −z , 32 32 (z + 2 + 1/z)2 , h˜ 0 (z) = Ξ 2 (z) h 0 (z) =
32 (z − 2 + 1/z)2 . h˜ 1 (z) = −z Ξ 2 (z)
The polyphase matrices of the analysis and synthesis filter banks are:
32 z + 6 + 1/z 4(1 + z) , 4(1 + z) − (1 + 6 z + z 2 ) Ξ 2 (z)
1 z + 6 + 1/z 4(1 + z) . P(z) = 4(1 + z) − (1 + 6 z + z 2 ) 32
˜ P(z) =
(10.61)
The function Ξ 2 (z) can be factored as (1 + q1 z)(1 + q1 /z)(1 + q2 z)(1 + q2 /z) , q1 q2 q1 ≈ 0.03956612989658, q2 ≈ 0.44646269217168.
Ξ 2 (z) =
(10.62)
214
10 Non-periodic Discrete-Spline Wavelets
In order to derive the signals y j , the polyphase components xl , l = 0, 1, of the signal x should be filtered with IIR filters, whose transfer functions are rational and have no poles on the unit circle. Their denominators are symmetric about inversion z → 1/z. Therefore, filtering can be implemented via the cascade of two causal-anticausal recursions as described in Sect. 2.2.2. The polyphase components xl , l = 0, 1, are restored from the signals y j by simple FIR filtering. Remark 10.5.2 The discrete splines can be utilized for the wavelet transforms’ design in a different way, which is based on the Lifting scheme [3]. That design scheme, which will be described in Chap. 12, results in the so-called Butterworth wavelets.
References 1. A.B. Pevnyi, V. Zheludev, On the interpolation by discrete splines with equidistant nodes. J. Approx. Theory 102(2), 286–301 (2000) 2. A.B. Pevnyi, V. Zheludev, Construction of wavelet analysis in the space of discrete splines using Zak transform. J. Fourier Anal. Appl. 8(1), 59–83 (2002) 3. W. Sweldens, The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996)
Chapter 11
Biorthogonal Wavelet Transforms
Abstract Wavelets in the polynomial and discrete spline spaces were introduced in Chaps. 8 and 10, respectively. In both cases, the wavelets’ design and implementation of the transforms were associated with perfect reconstruction (PR) filter banks. In this chapter, those associations are discussed in more detail. Biorthogonal wavelet bases generated by PR filter banks are investigated and a few examples of compactly supported biorthogonal wavelets are presented. Conditions for filters to restore and annihilate sampled polynomials are established (discrete vanishing moment property). In a sense, the material of this chapter is introductory to Chap. 12, where splines are used as a source for (non-spline) wavelets’ design. It is important for many applications of the wavelet analysis, such as data compression, denoising, deconvolution, to name a few, that the involved wavelets be (anti)symmetric. That means that the corresponding filter banks should have a linear phase. Compact support of the wavelets (FIR filter banks) is important, for example, in real-time processing. The orthogonality of the wavelets is desirable because this property allows the use of the same filters for both the analysis and the synthesis transforms. In addition, the orthogonal transforms split the signal space into mutually orthogonal subspaces. Design and implementation of wavelet transforms are based on perfect reconstruction (PR) filter banks. However, it is well known that the orthogonallity of PR filter banks is incompatible with the requirements of FIR and linear phase [4]. The only exception is the Haar filter bank: h 0 [k] = (δ[k − 1] + δ[k])/2, h 1 [k] = (δ[k − 1] − δ[k])/2. All other orthogonal linear phase filter banks comprise IIR filters. Moreover, the transfer functions of the filters are not rational functions. Therefore, the exact implementation of these transforms is only possible in a periodic setting. The periodic-spline orthogonal wavelet and wavelet packet transforms are described in Chap. 8 of Volume I of this book [2]. In order to combine the compact support and the symmetry requirements, the orthogonality should be relaxed to biorthogonality. A general approach to the design of compactly supported biorthogonal wavelets, which utilizes the Bezout theorem, was developed in [3] and [6]. In addition, a variety of examples of such wavelets are presented in [3] and [6], many of whom are linked to polynomial splines. One of these wavelets, the so-called 9/7 biorthogonal wavelet by Daubechies, which is
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_11
215
216
11 Biorthogonal Wavelet Transforms
presented in [3] (see also [1]), proved to be especially useful in image compression. It is included, together with the so-called 5/3 wavelet, in the JPEG 2000 image compression standard [5].
11.1 Two-Channel Filter Banks It was indicated in Sect. 3.2 that critically sampled perfect reconstruction (PR) filter banks produce biorthogonal bases in the signal space. In this section we discuss two-channel filter banks with downsampling factor 2.
11.1.1 Matrix Expression of Filter Banks As in Sect. 10.5, the analysis filter bank with the downsampling factor 2 is denoted ˜ as H = h˜ 0 , h˜ 1 , where h˜ 0 = h˜ 0 [k] ∈ l1 [Z] is a low-pass filter, while h˜ 1 = ˜ h˜ 1 [k] ∈ l1 [Z] is a high-pass filter. Application of the time-reversed filter bank H to a signal x˜ = {x[k]} ∈ l1 [Z] produces two signals, y0 and y1 : y 0 [l] = k∈Z h˜ 0 [k − 2l] x[k], . y 1 [l] = k∈Z h˜ 1 [k − 2l] x[k], l ∈ Z. Denote h˘ 0 =
(11.1)
h˜ 0 [−k] . The DTFT of the signal hˆ˘ 0 (ω) = hˆ˜ 0 (ω)∗ = hˆ˜ 0 (−ω).
The signal y0 can be regarded as the zero-polyphase component of the discrete convolution y 0 [l] = k∈Z h˘ 0 [λ − k] x[k] |λ=2l . Thus, the DTFT is 1 ˆ˜ 0 ˆ + hˆ˜ 0 (−ω + π ) x(ω ˆ + π) . h (−ω) x(ω) 2 ˆ + hˆ˜ 1 (−ω + π ) x(ω ˆ + π) . Similarly, yˆ 1 (2ω) = 21 hˆ˜ 1 (−ω) x(ω) The latter relations can be expressed in a matrix form in the following way yˆ 0 (2ω) =
1 ˆ˜ x(ω) ˆ = H (−ω) · , where x(ω ˆ + π) 2
hˆ˜ 0 (ω) hˆ˜ 0 (ω + π ) def ˆ ˜ H (ω) = ˆ h˜ 1 (ω) hˆ˜ 1 (ω + π )
yˆ 0 (2ω) yˆ 1 (2ω)
(11.2)
11.1 Two-Channel Filter Banks
217
The z-transforms x(z) and y 0 (z), y 1 (z) of the signals x and y0 , y1 are linked by the following matrix relation
y 0 (z 2 ) y 1 (z 2 )
1 ˜ −1 )· = H(z 2
0 x(z) h˜ (z) h˜ 0 (−z) def ˜ , where H(z) = ˜ 1 x(−z) h (z) h˜ 1 (−z)
(11.3)
and h˜ 0 (z), h˜ 1 (z) are the transfer functions of the filters h˜ 0 , h˜ 1 , respectively. def Let xm = {x[2k + l]} , k ∈ Z, l = 0, 1, be the polyphase components of the j def signal x and hl = h j [2k + l] , k ∈ Z, l = 0, 1, be the polyphase components of the filters h j , j = 0, 1. The DTFT and z-transform analysis polyphase matrices are, respectively, ⎛
hˆ˜ 0 (ω) ˜ P(ω) = ⎝ 0 hˆ˜ 1 (ω) def
0
⎞
h˜ 00 (z) h˜ 01 (z) hˆ˜ 01 (ω) def ˜ ⎠ , P(z) = . h˜ 10 (z) h˜ 11 (z) hˆ˜ 1 (ω)
(11.4)
1
Then, the DTFT and the z-transforms of the output signals are presented in a polyphase form
yˆ 0 (ω) yˆ 1 (ω)
˜ = P(−ω) ·
0 x0 (z) xˆ0 (ω) y (z) −1 ˜ = P(z ) · , . (11.5) xˆ1 (ω) x1 (z) y 1 (z)
The synthesis filter bank with the upsampling factor 2 is denoted by H = h0 , h1 , where h0 = h 0 [k] ∈ l1 [Z] is a low-pass filter, while h1 = h 1 [k] ∈ l1 [Z] is a high-pass filter. Application of the filter bank H to signals y0 and y1 produces a signal xˇ such that x[k] ˇ =
h 0 [k − 2l] y 0 [l] + h 1 [k − 2l] y 1 [l]
(11.6)
l∈Z
ˆˇ x(ω) = yˆ 0 (2ω) hˆ 0 (ω) + yˆ 1 (2ω) hˆ 1 (ω), (11.7) x(z) ˇ =
y 0 (z 2 ) h 0 (z) +
y 1 (z 2 ) h 1 (z).
The relations in Eq. (11.7) can be expressed in a matrix form in the following way
yˆ 0 (2ω) , where yˆ 1 (2ω) hˆ 1 (ω) hˆ 0 (ω) def ˆ , (11.8) H(ω) = ˆ 0 h (ω + π ) hˆ 1 (ω + π ) 0 0 2 x(z) ˇ h (z) h 1 (z) y (z ) def , where H(z) = . (11.9) = H(z) · 1 2 x(−z) ˇ y (z ) h 0 (−z) h 1 (−z)
ˆˇ x(ω) ˆˇ + π ) x(ω
ˆ = H(ω) ·
218
11 Biorthogonal Wavelet Transforms
The DTFT and z-transform the synthesis polyphase matrices are, respectively, def
P(ω) =
hˆ 00 (ω) hˆ 10 (ω) hˆ 01 (ω) hˆ 11 (ω)
def
, P(z) =
h 00 (z) h 10 (z)
h 01 (z) h 11 (z)
.
(11.10)
Then, the DTFT and the z-transforms of the signal xˇ can be presented in a polyphase form
0 0 xˇ0 (z) y (z) xˆˇ0 (ω) yˆ (ω) , . (11.11) = P(z) · = P(ω) · xˇ1 (z) yˆ 1 (ω) y 1 (z) xˆˇ1 (ω) Definition 11.1 Assume that the pair of signals y0 and y1 are derived by the appli˜ to a signal x, and the application of the synthesis cation of the analysis filter bank H filter bank H to the signals y0 and y1 restores the signal x. If this is true for any signal ˜ and H constitutes a PR filter bank. x ∈ l1 (Z), then the pair H A PR filter bank is characterized by the matrix relations ˆ˜ ˆ ˜ −1 ) = 2I2 , H(ω) · H(−ω) = 2I2 , H(z) · H(z ˆ˜ ˜ −1 ) = I2 , I2 def ˆ = P(ω) · P(−ω) = I2 , P(z) · P(z
10 . 01
(11.12) (11.13)
Equations (11.12) and (11.13) imply, in particular, the following relations between the analysis and synthesis filters: hˆ 0 (ω) hˆ˜ 0 (−ω) + hˆ 1 (ω) hˆ˜ 1 (−ω) = 2, h 0 (z) h˜ 0 (z −1 ) + h 1 (z) h˜ 1 (z −1 ) = 2,
(11.14)
h (ω) hˆ˜ 0 (−ω + π ) + hˆ 1 (ω) hˆ˜ 1 (−ω + π ) = h 0 (z) h˜ 0 (−z −1 ) + h 1 (z) h˜ 1 (−z −1 ) = 0.
(11.15)
ˆ0
11.1.2 Biorthogonal Bases Generated by PR Filter Banks Note that the relations in Eq. (11.12), which characterize the PR property of filter banks, are equivalent to the following relations: ˆ˜ ˜ −1 ) · H(z) = 2I2 . ˆ H(−ω) · H(ω) = 2I2 , H(z
(11.16)
Equation (11.16) leads to the “perfect decomposition” property, which can be expressed as
11.1 Two-Channel Filter Banks
yˆ 0 (2ω) = yˆ 1 (2ω) 0 2 y (z ) = y 1 (z 2 )
219
0 1 ˆ˜ yˆ (2ω) ˆ H(−ω) · H(ω) · yˆ 1 (2ω) 2 0 2 1 ˜ −1 y (z ) . H(z ) · H(z) · y 1 (z 2 ) 2
Thus, together with Eqs. (11.14) and (11.15), we have hˆ 0 (ω) hˆ˜ 0 (−ω) + hˆ 0 (ω + π ) hˆ˜ 0 (−ω + π ) = 2, h 0 (z) h˜ 0 (z −1 ) + h 0 (−z) h˜ 0 (−z −1 ) = 2,
(11.17)
hˆ 1 (ω) h˜ˆ 1 (−ω) + hˆ 1 (ω + π ) hˆ˜ 1 (−ω + π ) = 2 h 1 (z) h˜ 1 (z −1 ) + h 1 (−z) h˜ 1 (−z −1 ) = 2,
(11.18)
hˆ 1 (ω) h˜ˆ 0 (−ω) + hˆ 1 (ω + π ) hˆ˜ 0 (−ω + π ) = 0, . h 1 (z) h˜ 0 (z −1 ) + h 1 (−z) h˜ 0 (−z −1 ) = 0,
(11.19)
Proposition 11.1 Assume that the conditions Then the in Eq. (11.12) are satisfied. 0 1 0 1 ˜ ˜ two-sample shifts h [· − 2l], h [· − 2l] and h [· − 2l], h [· − 2l] , k, l ∈ Z, ˜ and H, respecof the impulse responses of the analysis and synthesis filter banks H tively, form a biorthogonal basis of the signal space l1 [Z]. ˜ and H constitute Proof If the conditions in Eq. (11.12) are satisfied, then the pair H a PR filter bank. That means that any signal x ∈ l1 [Z] can be represented as in Eq. (11.6) h 0 [k − 2l] y 0 [l] + h 1 [k − 2l] y 1 [l], x[k] = l∈Z
where y p [l] =
h˜ p [k − 2l] x[k] = x, h˜ p [· − 2l] ,
p = 0, 1.
(11.20)
k∈Z
On the other hand, Eq. (11.16) and its derivative Eqs. (11.17) and (11.18) imply that the inner products of the presumed basis signals are h j [· − 2λ], h˜ j [· − 2l] = h j [k − 2λ] h˜ j [k − 2l]∗ k∈Z
2π 1 = e2iω(λ−l) hˆ j (ω) hˆ˜ j (−ω) dω 2π 0 π 1 = e2iω(λ−l) hˆ j (ω) hˆ˜ j (−ω) + hˆ j (ω + π ) hˆ˜ j (−ω + π ) dω 2π 0 1 π 2iω(λ−l) e dω = δ[λ − l]. = π 0
220
11 Biorthogonal Wavelet Transforms
Here j = 0, 1. It follows from Eq. (11.19) that h0 [· − 2λ], h˜ 1 [· − 2l] = h1 [· − 2λ], h˜ 0 [· − 2l] = 0. Thus, the claim of the proposition is proved. Remark11.1.1 If the conditions in Eq. (11.12) are satisfied then the PR filter bank ˜ H is the biorthogonal filter bank. The analysis h˜ 0 [· − 2l], h˜ 1 [· − 2l] and the H, synthesis h0 [· − 2l], h1 [· − 2l] , k, l ∈ Z, biorthogonal bases are interchangeable. A signal x can be represented as x[k] =
l∈Z
y˜ [l] = j
h˜ 0 [k − 2l] y˜ 0 [l] + h˜ 1 [k − 2l] y˜ 1 [l], h j [k − 2l] x[k] = x, h j [· − 2l] ,
j = 0, 1.
k∈Z
Proposition 11.2 If there exists a biorthogonal pair h˜ 0 , h0 of the low-pass filters such that Eq. (11.17) holds, then the complimentary high-pass filters can be defined via either the DTFT or the z-transform in the following way def def hˆ 1 (ω) = eiω hˆ˜ 0 (−ω + π ), hˆ 1 (ω) = eiω hˆ 0 (−ω + π )
(11.21) h 1 (z) = z h˜ 0 (−1/z), h˜ 1 (z) = z h 0 (−1/z). ˜ = h˜ 0 , h˜ 1 constitutes a biorthogonal filter Then, the pair H = h0 , h1 and H bank. Proof If Eq. (11.17) holds and the DTFT of filters h1 and h˜ 1 are defined by Eq. (11.21), then the PR relations hˆ 0 (ω) hˆ˜ 0 (−ω) + hˆ 1 (ω) hˆ˜ 1 (−ω) = hˆ 0 (ω) hˆ˜ 0 (−ω) + hˆ 0 (ω + π ) hˆ˜ 0 (−ω + π ) = 2, hˆ 0 (ω) hˆ˜ 0 (−ω + π ) + hˆ 1 (ω) hˆ˜ 1 (−ω + π ) = hˆ 0 (ω) hˆ˜ 0 (−ω + π ) − hˆ 0 (ω) hˆ˜ 0 (−ω + π ) = 0 hold. The same is true for the biorthogonal relations. The relation in Eq. (11.17) holds by definition. As for Eqs. (11.18) and (11.19), we have
11.1 Two-Channel Filter Banks
221
hˆ 1 (ω) hˆ˜ 1 (−ω) + hˆ 1 (ω + π ) hˆ˜ 1 (−ω + π ) = hˆ 0 (ω + π ) hˆ˜ 0 (−ω + π ) + hˆ 0 (ω) hˆ˜ 0 (−ω) = 2, hˆ 1 (ω) h˜ˆ 0 (−ω) + hˆ 1 (ω + π ) hˆ˜ 0 (−ω + π ) = eiω hˆ˜ 0 (−ω + π ) hˆ˜ 0 (−ω) − hˆ˜ 0 (−ω)hˆ˜ 0 (−ω + π ) = 0. The z-transform relations are verified similarly. Corollary 11.1 If the conditions of Proposition 11.2 are satisfied, then the impulse responses of the high-pass filters are linked with the impulse responses of the low-pass filters as h 1 [k] = (−1)k+1 h˜ 0 [−k − 1], h˜ 1 [k] = (−1)k+1 h 0 [−k − 1], k ∈ Z.
(11.22)
11.1.3 Multilevel Discrete-Time Wavelet Transforms ˜ H forms a biorthogonal filter bank. Then the impulse Assume that the pair H, responses of the synthesis and analysis filters generate a biorthogonal basis of the signal space l1 [Z]. Keeping in mind further expansion of that basis, we introduce the following notations: def def ϕ˜[1] [k] = h˜ 0 [k], ψ˜ [1] [k] = h˜ 1 [k], def
def
ϕ[1] [k] = h 0 [k], ψ[1] [k] = h 1 [k]. k ∈ Z, def
0 = y0 , y[1]
(11.23)
def
1 = y1 . y[1]
11.1.3.1 Wavelet Transforms The signals ϕ˜ [1] [k] and ψ˜ [1] [k] are called the discrete-time low- frequency and highfrequency analysis wavelets, respectively, of the first decomposition level while ϕ[1] [k] and ψ[1] [k] are called the synthesis wavelets. Their DTFTs are equal to the frequency responses of the respective filters: ϕˆ˜[1] (ω) = hˆ˜ 0 (ω), ψˆ˜ [1] (ω) = hˆ˜ 1 (ω), ϕˆ[1] (ω) = hˆ 0 (ω), ψˆ [1] (ω) = hˆ 1 (ω). 0 + x1 , where Then, a signal x is expanded into the sum x = x[1] [1]
222
11 Biorthogonal Wavelet Transforms
0 x[1] [k] =
l∈Z
0 [l] = y[1] 1 [l] = y[1]
0 1 y[1] [l] ϕ[1] [k − 2l], x[1] [k] =
k∈Z ϕ˜ [1] [k
l∈Z
1 y[1] [l] ψ[1] [k − 2l]
(11.24)
− 2l] x[k] = x, ϕ˜[1] [· − 2l] ,
. ˜ ˜ [k − 2l] x[k] = x, ψ [· − 2l] . ψ [1] [1] k∈Z
(11.25)
0 can be represented as In turn, the low-frequency signal y[1] 0 y[1] [k] = 0 [l] = y[2]
l∈Z
k∈Z
0 1 y[2] [l] ϕ[1] [k − 2l] + y[2] [l] ψ[1] [k − 2l]
0 ϕ˜[1] [k − 2l] y[1] [k],
1 y[2] [l] =
k∈Z
0 ψ˜ [1] [k − 2l] y[1] [k].
(11.26) (11.27)
By iterating the procedure, we split the set of the low-frequency coefficients from the m − 1-th decomposition level as follows: 0 [l] = y[m−1] 0 [l] y[m] 1 [l] y[m]
=
l∈Z
k∈Z
=
k∈Z
0 1 y[m] [l] ϕ[1] [k − 2l] + y[m] [l] ψ[1] [k − 2l] 0 ϕ˜[1] [k − 2l] y[m−1] [k], 0 ψ˜ [1] [k − 2l] y[m−1] [k].
(11.28)
The m-level wavelet transform of a signal x results in the set of coefficients def
x −→ Ym =
0 y[m] [l]
m μ=1
1 y[μ] [l] , l ∈ Z.
(11.29)
The transform is invertible. Once the set Ym of coefficients is available, consecutive application of the convolution operations in Eqs. (11.28), (11.26), (11.24) restores the signal x. The diagrams in Fig. 11.1, which are similar to diagrams in Figs. 8.1 and 10.3, illustrate the direct and inverse three-level wavelet transforms.
11.1.3.2 Discrete-Time Wavelets The set Ym of the transform coefficients can be regarded as a set of coordinates of the signal x in a biorthogonal basis. This is apparent for the one-level transform, where the biorthogonal basis consists of the 2-sample shifts of the analysis ϕ˜[1] , ψ˜ [1] and the synthesis ϕ[1] , ψ[1] wavelets of the first level.
11.1 Two-Channel Filter Banks
223
Fig. 11.1 Diagrams of direct (top) and inverse (bottom) 3-level wavelet transforms
By substituting Eq. (11.25) into Eq. (11.27), we derive 0 y[2] [l] =
=
n∈Z
k∈Z
x[n]
0 ϕ˜[1] [k − 2l] y[1] [k] =
ϕ˜[1] [k − 2l]
k∈Z
ϕ˜[1] [k − 2l] ϕ˜[1] [n − 2k] =
n∈Z
k∈Z
Denote
def
ϕ˜ [2] [n] =
ϕ˜[1] [n − 2k] x[n]
n∈Z
x[n]
ϕ˜[1] [κ] ϕ˜ [1] [n − 2κ − 4l].
κ∈Z
ϕ˜ [1] [κ] ϕ˜[1] [n − 2κ].
(11.30)
κ∈Z 0 [l] is represented as the inner product: Then, the coefficient y[2] 0 y[2] [l] =
x[n] ϕ˜ [2] [n − 4l] = x, ϕ˜[2] [· − 4l] .
n∈Z
1 [l] is Similarly, the coefficient y[2]
(11.31)
224
11 Biorthogonal Wavelet Transforms 1 [l] = y[2] def ψ˜ [2] [n] =
n∈Z
x[n] ψ˜ [2] [n − 4l] = x, ψ˜ [2] [· − 4l] ,
˜ κ∈Z ψ[1] [κ] ϕ˜ [1] [n − 2κ].
(11.32)
Substitute Eq. (11.26) into Eq. (11.24). 0 [k] = x[1]
=
l∈Z
0 [l] ϕ [k − 2l] y[1] [1]
ϕ[1] [k − 2l] ⎝
l∈Z
=
⎛
0 [n] y[2]
n∈Z
⎞ 0 [n] ϕ [l − 2n] + y 1 [n] ψ [l − 2n]⎠ y[2] [1] [1] [2]
ϕ[1] [k − 2l] ϕ[1] [l − 2n] +
1 [n] y[2]
n∈Z l∈Z n∈Z 0 [n] ϕ [k − 4n] + 1 [n] ψ [k − 4n], y[2] y [2] [2] [2] n∈Z n∈Z
ϕ[1] [k − 2l] ψ[1] [l − 2n]
l∈Z
where def
ϕ[2] [k] =
l∈Z
def
ϕ[1] [k − 2l] ϕ[1] [l], ψ[2] [k] =
ϕ[1] [k − 2l] ψ[1] [l]. (11.33)
l∈Z
The signals ϕ˜[2] , ψ˜ [2] and ϕ[2] , ψ[2] are called the analysis and the synthesis discrete time wavelets of the second decomposition level, respectively. Equation (2.7) implies that their DTFTs are ϕˆ˜[2] (ω) = hˆ˜ 0 (ω) hˆ˜ 0 (2ω), ψˆ˜ [2] (ω) = hˆ˜ 0 (ω) hˆ˜ 1 (2ω)
(11.34)
ϕˆ[2] (ω) = hˆ 0 (ω) hˆ 0 (2ω), ψˆ [2] (ω) = hˆ 0 (ω) hˆ 1 (2ω) Proposition 11.3 The following biorthogonality relations between the wavelets of the second and first levels hold: ϕ˜[2] [· − 4n], ϕ[2] [· − 4ν] = ψ˜ [2] [· − 4n], ψ[2] [· − 4ν] = δ[n − ν], ϕ˜[2] [· − 4n], ψ[2] [· − 4ν] = ψ˜ [2] [· − 4n], ϕ[2] [· − 4ν] = 0, ϕ˜ [2] [· − 4n], ψ[1] [· − 2ν] = ψ˜ [2] [· − 4n], ψ[1] [· − 2ν] = 0, ϕ[2] [·], ψ˜ [1] [· − 2ν] = ψ[2] [·], ψ˜ [1] [· − 2ν] = 0, ϕ˜[2] [·], ψ[1] [· − 2ν] = ψ˜ [2] [·], ψ[1] [· − 2ν] = 0.
(11.35) (11.36) (11.37) (11.38) (11.39)
11.1 Two-Channel Filter Banks
225
Proof By using the Eqs. (11.30) and (11.33), we get ϕ˜[2] [· − 4n], ϕ[2] [· − 4ν] = ϕ˜ [2] [k − 4n] ϕ[2] [k − 4ν] =
k∈Z
ϕ˜[1] [κ] ϕ˜[1] [k − 4n − 2κ]
k∈Z κ∈Z
=
ϕ˜[1] [κ] ϕ[1] [l]
κ,l∈Z
ϕ[1] [k − 4ν − 2l] ϕ[1] [l]
l∈Z
ϕ˜[1] [k − 2(2n − κ)] ϕ[1] [k − 2(2ν − l)].
k∈Z
Due to the biorthogonality of the first-level wavelets, we have
ϕ˜[1] [k − 2(2n − κ)] ϕ[1] [k − 2(2ν − l)] = δ[2n − κ − 2ν + l].
k∈Z
Therefore, the inner product of the second-level wavelets reduces to the inner product of the first-level wavelets ϕ˜[1] [2(n − ν) − l] ϕ[1] [l] = δ[n − ν]. ϕ˜[2] [· − 4n], ϕ[2] [· − 4ν] = l∈Z
The second relations from Eqs. (11.35), (11.36) and (11.37) are proved similarly. As for Eq. (11.38), it is sufficient to notice that ϕ[2] is a linear combination of shifts ϕ[1] [· − 2n] of the first level wavelet. Consequently, it is orthogonal to the shifts ψ˜ [1] [· − 2ν] . The same is true for ψ[2] . The same reasoning proves Eq. (11.39). As a result of the two-level wavelet transform, we have the signal x expanded over the biorthogonal basis that consists of the 4-sample shifts of the second-level wavelets and of the 2-sample shifts of the first-level high-frequency wavelet such that 0 1 1 + x[2] + x[1] where x = x[2] 0 x, ϕ˜[2] [· − 4l] ϕ[2] [k − 4l], x[2] [k] = l∈Z
1 x[2] [k]
=
1 x[1] [k] =
l∈Z
x, ψ˜ [2] [· − 4l] ψ[2] [k − 4l],
(11.40)
x, ψ˜ [1] [· − 2l] ψ[1] [k − 2l].
l∈Z
The iterated transform leads to the expansion of the signal x over the biorthogonal basis B[m] consisting of shifts of wavelets from different levels: m def ψ[μ] [· − 2μl] , l ∈ Z. B[m] = ϕ[m] [· − 2m l] μ=1
226
11 Biorthogonal Wavelet Transforms
0 + Thus, the signal x becomes represented as x = x[m] 0 [k] = x[m] 1 [k] = x[μ]
l∈Z
l∈Z
m
1 μ=1 x[μ] ,
where
x, ϕ˜[m] [· − 2m l] ϕ[m] [k − 2m l], x, ψ˜ [μ] [· − 2μl] ψ[μ] [k − 2μl],
(11.41) p = 1, ..., m.
The analysis and the synthesis wavelets are derived iteratively by def
def
def
ϕ[μ] [k] =
ψ[μ] [k] =
l∈Z ϕ[1] [l] ϕ[μ−1] [k
− 2μ−1 l],
l∈Z ψ[1] [l] ϕ[μ−1] [k
− 2μ−1l] (11.42)
− 2μ−1 l],
ϕ˜[μ] [k] = l∈Z ϕ˜[1] [l] ϕ˜ [μ−1] [k def ψ˜ [μ] [k] = l∈Z ψ˜ [1] [l] ϕ˜[μ−1] [k − 2μ−1 l]. The DTFTs of the m-level wavelets are: ϕˆ[m] (ω) =
m−1 j=0
hˆ 0 (2 j ω),
ˆ˜ 0 j ϕˆ˜[m] (ω) = m−1 j=0 h (2 ω),
ψˆ [m] (ω) = hˆ 1 (2m−1 ω)
m−1 j=0
hˆ 0 (2 j ω)
ˆ˜ 0 j ψˆ˜ [m] (ω) = hˆ˜ 1 (2m−1 ω) m−1 j=0 h (2 ω).
(11.43)
Remark 11.1.2 Another way to derive the m-level synthesis wavelet ϕ[m] is to launch the reconstruction procedure from the level m according to the scheme in Fig. 11.1, 1 [k] = 0, p = 1, ..., m, and y 0 [k] = δ[k]. where all the transform coefficients y[μ] [m] The wavelet ψ[m] can be derived in the same way starting from the coefficient sets 1 [k] = 0, μ = 1, ..., m −1, y 0 [k] = 0 and y 1 [k] = δ[k]. Keeping in mind that y[μ] [m] [m] the biorthogonal synthesis and analysis filter banks are interchangeable, the analysis wavelets are similarly derived.
Examples Here, we display three kinds of biorthogonal wavelets, which originate from interpolating, quasi-interpolating and discrete splines, respectively. Design of filters that generate these wavelets is described in Chap. 12. All three figures that depict the analysis and synthesis wavelets from three decomposition levels and their DTFTs are produced by the MATLAB code BW_examp_3levN.m.
11.1 Two-Channel Filter Banks
227
Wavelets Derived from Cubic Interpolating Spline
Fig. 11.2 Top left: analysis wavelets derived from cubic interpolating spline: ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Top right: DTFT magnitudes of ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Bottom: the same for the synthesis wavelets
Remark 11.1.3 The wavelets originating from interpolating spline have infinite supports, unlike the wavelets derived from the quasi-interpolating spline, which are compactly supported. However, the effective supports of the former wavelets are very short and comparable with the support of the latter wavelets. Moreover, comparing plots in Fig. 11.2 with plots in Fig. 11.3, we observe that shapes of wavelets derived from the interpolating spline are more regular than the shapes of wavelets derived from the quasi-interpolating spline and their spectra have less overlap. Especially, it is true for the third-level analysis wavelets ϕ˜[3] and ψ˜ [3] . Although the effective supports of the wavelets derived from tenth-order discrete spline is significantly wider than the effective supports of the wavelets originating from cubic splines, their spectra are much more regular (Fig. 11.4).
228
11 Biorthogonal Wavelet Transforms
Wavelets Derived from Cubic Quasi-interpolating Spline
Fig. 11.3 Top left: analysis wavelets derived from cubic quasi-interpolating spline: ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Top right: DTFT magnitudes of ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Bottom: the same for the synthesis wavelets
11.2 Compactly Supported Biorthogonal Wavelets In this section, we outline the scheme for the design of compactly supported (anti)symmetric wavelets, where factorization of polynomials is used. The scheme was presented in [3].
11.2.1 Design of the Biorthogonal Filter Bank Section 11.1.3 describes how to derive a multilevel biorthogonal wavelet transform from a biorthogonal two-channel filter bank. In turn, it follows from Proposition 11.2 that once we have a biorthogonal pair h˜ 0 , h0 of the low-pass filters such that hˆ 0 (ω) hˆ˜ 0 (−ω) + hˆ 0 (ω + π ) hˆ˜ 0 (−ω + π ) = 2,
(11.44)
11.2 Compactly Supported Biorthogonal Wavelets
229
Wavelets Derived from Tenth-Order Discrete Spline
Fig. 11.4 Top left: analysis wavelets derived from cubic quasi-interpolating spline: ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Top right: DTFT magnitudes of ϕ˜[3] → ψ˜ [3] → ψ˜ [2] → ψ˜ [1] . Bottom: the same for the synthesis wavelets
then the high-pass filters h˜ 1 , h1 which complement the pair to the biorthogo nal filter bank are provided straightforward. Certainly, if the filters h˜ 0 , h0 and, consequently, h˜ 1 , h1 , have finite impulse responses and linear phases, then the corresponding discrete-time wavelets are compactly supported and (anti-)symmetric.
11.2.1.1 Biorthogonal Low-Pass FIR Filters The design of the low-pass filters is based on an identity that is established in [3]. Define the polynomial Pp (t) of degree p − 1 as follows: def
Pp (t) =
p−1 p−1+k k=0
k
tk,
p = 2, 3....
(11.45)
230
11 Biorthogonal Wavelet Transforms
Proposition 11.4 [3] The identity (1 − t) p Pp (t) + t p Pp (1 − t) ≡ 1
(11.46)
holds. Take t = sin2 ω/2. Then, 1 − t = cos2 ω/2 = sin2 (ω + π )/2. Then, Eq. (11.46) entails the following trigonometric identity cos
2p
ω 2 ω 2 p (ω + π ) 2 (ω + π ) P sin + cos P sin ≡ 1. 2 2 2 2
(11.47)
By comparing Eq. (11.47) with the biorthogonality relation in Eq. (11.44), we see that once the trigonometric polynomial is factorized def
T p (ω) = 2 cos2 p
ω ω ω ˜ 2 ω = Q sin2 Q sin Pp (ω) sin2 2 2 2 2
(11.48)
˜ into a product of two polynomials of sin ω/2 such that Q(0) Q(0) = 2, then the polynomials Q and Q˜ can serve as frequency responses of the biorthogonal lowpass FIR filters with linear phase such that ω ω hˆ 0 (ω) = Q sin2 , hˆ˜ 0 (ω) = Q sin2 . 2 2
(11.49)
The complementary high-pass filters can be produced in line with Eqs. (11.21) and (11.22). A straightforward way to factorize the polynomial T p (ω), when the degree p > 1, is ω ω ω 2 , q > 0, hˆ 0 (ω) = q cos2( p−s) , hˆ˜ 0 (ω) = cos2 p P sin2 2 q 2 2
(11.50)
where s < p is a natural number. Note that cos2r ω/2 is the DTFT of the discrete B-spline b2r [1] , whose span is 2 and the order is 2r . Thus, the impulse response of the 2( p−s) synthesis low-pass filter is h 0 [k] = q b[1] [k]. Surely, the filters h0 and h˜ 0 can be interchanged. An advantage of such factorization is that the filters’ coefficients are rational numbers. Thus, filtering can be implemented via integer operations. Many examples of filters derived via factorization of the type Eq. (11.50) are given in [3]. We discuss only one example of the so-called 5/3 filters, which are utilized in the JPEG 2000 standard [5] for a lossless image compression.
11.2 Compactly Supported Biorthogonal Wavelets
231
11.2.1.2 Example: 5/3 Filters Assume p = 2. Then, T2 (ω) = 2 cos4
ω ω ω 2 ω ω 1 + 2 sin2 = 2 cos2 cos 1 + 2 sin2 . 2 2 2 2 2
Consequently, the filters and the transfer functions of the filters are defined as follows z −1 ω z , hˆ˜ 0 (ω) = 2 cos2 , h˜ 0 (z) = + 1 + 2 2 2 ω ω 1 + 2 sin2 , (11.51) hˆ 0 (ω) = cos2 2 2 z2 1 z 3 z −1 z −2 h 0 (z) = z + 2 + z −1 4 − z − z −1 = − + + + − . 8 8 4 4 4 8 Apparently, h0 and h˜ 0 are low-pass filters. The the filters and the transfer functions of the complementary high-pass filters are 1 ω z2 hˆ˜ 1 (ω) = eiω hˆ 0 (−ω + π ) = 2eiω sin2 , h˜ 1 (z) = zh 0 (−1/z) = − + z − , 2 2 2 ω ω hˆ 1 (ω) = eiω hˆ˜ 0 (−ω + π ) = eiω sin2 1 + 2 cos2 , 2 2 z −z + 2 − z −1 4 + z + z −1 (11.52) h 1 (z) = z h˜ 0 (−1/z) = 8 z2 3z 1 z −1 z3 + − − . =− − 8 4 4 4 8 The impulse responses of the filters, which are the wavelets of the first decomposition level, are given in Table 11.1. The analysis and the synthesis wavelets of the lower decomposition levels generated by the 5/3 filters are derived either by using Eq. (11.42) or by following suggestions in Remark 11.1.2. The impulse and magnitude responses of the 5/3 filters are displayed in Fig. 11.5, which is produced by the MATLAB code cons3_5_9_7N.m. Another way to factorize the trigonometric polynomial T p (ω), which leads to the synthesis and analysis filter whose lengths are close to each other, is to factorize the
Table 11.1 Impulse responses of the 5/3 filters k −2 −1 0 h˜ 0 [k] = ϕ˜[1] [k] − 1/2 1 h 0 [k]
= ϕ˜[1] [k] h 1 [k] = ψ[1] [k] h˜ 1 [k] = ψ˜ [1] [k]
−1/8 − −
1/4 − −1/8
3/4 −1/2 −1/4
1
2
3
1/2 1/4 1 3/4
− −1/8 −1/2 −1/4
− − − −1/8
232
11 Biorthogonal Wavelet Transforms
Fig. 11.5 Impulse responses (IR) and magnitude responses (half band) of the 5/3 filters
polynomial Pp (t) defined in Eq. (11.45) by Pp (t) = Pp1 (t) Pp2 (t), where Pp1 (t) and Pp2 (t) are real-valued polynomials. Then, we define ω ω def T p (ω) = 2 cos2 p Pp (ω) sin2 2 2 ω 2 ω 2 Q˜ sin , = Q sin 2 2 √ ω ω ω Q sin2 = 2 cos p Pp1 (ω) sin2 , 2 2 2 √ ω ω ω = 2 cos p Pp2 (ω) sin2 . Q˜ sin2 2 2 2 If the degrees of the polynomials Pp1 (t) and Pp2 (t) differ by 1, then the lengths of the impulse responses of the synthesis h0 and the analysis h˜ 0 filters differ by two. Such biorthogonal filters are close to the orthogonal ones. An important example are the so-called 9/7 filters, which are utilized in the JPEG 2000 standard for the lossy image compression.
11.2 Compactly Supported Biorthogonal Wavelets
233
11.2.1.3 Example: 9/7 Filters Assume that p = 4. Then, T4 (ω) = 2 cos8
ω ω P4 sin2 , 2 2
P4 (t) = 1 + 4t + 10t 2 + 20t 3 .
The polynomial P4 (t) is factorized as follows: P4 (t) = 20(t + a) (t 2 + b1 t + b0 ), a ≈ 0.342384094858369, b1 ≈ 0.157615905141630, b0 ≈ 0.146034820982800. Define the low-pass filters:
2
−1 ω −z + 2 − z 0 + a , h˜ (z) = C˜ a+ 2 16 4 ω ω + b1 sin2 + b0 , (11.53) hˆ 0 (ω) = C cos4 2 2 2
z + 2 + z −1 (−z + 2 − z −1 )2 −z + 2 − z −1 1 + h (z) = z C b0 + b1 , 16 4 16 hˆ˜ 0 (ω) = C˜ cos4
ω 2 sin 2 ω 4 sin 2
z + 2 + z −1
C˜ ≈ 4.130488488252041, C ≈ 9.684084609790816.
The impulse responses of the low-pass 9/7 filters are given in Table 11.2. The frequency responses and the transfer functions of the high-pass filters are ω 2 hˆ 1 (ω) = eiω C˜ sin4 cos 2 ω hˆ˜ 1 (ω) = eiω C sin4 cos4 2 2 −z + 2 − z −1 h 0 (z) = C 16
2 −z + 2 − z −1 ω z + 2 + z −1 + a , h 1 (z) = z C˜ a+ 2 16 4 ω 2 ω + b1 cos + b0 , (11.54) 2 2 z + 2 + z −1 (z + 2 + z −1 )2 b0 + b1 + . 4 16
Table 11.2 Impulse responses of the low-pass 9/7 filters k h[k] = ϕ[1] [k] 0 ±1 ±2 ±3 ±4
0.85269867900889 0.37740285561283 −0.11062440441844 −0.02384946501956 0.03782845554969
˜ h[k] = f˜[1] [k] 0.78848561640637 0.41809227322204 −0.04068941760920 −0.06453888262876 0
234
11 Biorthogonal Wavelet Transforms
Fig. 11.6 Impulse responses (IR) and magnitude responses (MR) of the 9/7 filters
The impulse responses of the high-pass 9/7 filters: h 1 [k] = ψ[1] [k] = (−1)k h˜ 0 [−k−1], h˜ 1 [k] = ψ˜ [1] [k] = (−1)k h 0 [−k−1], k ∈ Z.
Remark 11.2.1 Filtering with the 9/7 filters can be directly implemented by utilizing the impulse responses or as a combination of the differences (corresponding to sin2 p ω/2) and averages (corresponding to cos2 p ω/2) operations. An alternative way to implement the transforms is based on the lifting scheme to be discussed in Chap. 12. The impulse and frequency responses of the 9/7 filters are displayed in Fig. 11.6, which is produced by the MATLAB code cons3_5_9_7N.m.
11.2.1.4 Annihilation and Restoration of Polynomials (Discrete Vanishing Moments) If a filter h has either a finite or a fast decaying impulse response, it can be applied to moderately growing sequences, in particular to sampled polynomials.
11.2 Compactly Supported Biorthogonal Wavelets
235
Definition 11.2 We say that a filter h annihilates sampled polynomials of degree p (in other words, it has p discrete vanishing moments –(DVM)) if the application of this filter to any sampled polynomial of degree not exceeding p results in an identical zero sequence. We say that a filter h restores sampled polynomials of degree p if application of this filter to any sampled polynomial P p of degree not exceeding p restores this polynomial up to a constant, that is h P p = c P p . def
Application of the finite difference to a sequence x = {x[k]}, that is Δ[x] = {x[k + 1] − x[k]} , k ∈ Z, is equivalent to filtering the sequence with the filter hΔ , whose impulse response is {h Δ [−1] = 1, h Δ [0] = −1}. The frequency response and the transfer function of the filter hΔ are, respectively, hˆ Δ (ω) = ei ω − 1 and h Δ (z) = z − 1. Application of the finite difference of order p is equivalent to filtering with the filter hΔp whose frequency response and transfer function are hˆ Δp (ω) = (ei ω − 1) p and h Δp (z) = (z − 1) p , respectively. Application of the central finite difference of the second order to a sequence def x = {x[k]}: δ 2 [x] = {x[k + 1] − 2x[k] + x[k − 1]} , k ∈ Z, is equivalent to filtering the sequence with the filter hδ2 , whose impulse response is {h δ2 [−1] = h δ2 [1] = −1, h δ2 [0] = 2}. The frequency response and the transfer function of the filter hδ2 are, respectively, ω hˆ δ2 (ω) = (ei ω/2 − e−i ω/2 )2 = −4 sin2 and h δ2 (z) = z − 2 + z −1 . 2 Application of the central finite difference of order 2r to a sequence x = {x[k]} is equivalent to filtering the sequence with the filter hδ2r , whose frequency response and the transfer function are, respectively, ω and h δ2r (z) = (z − 2 + z −1 )r . hˆ δ2r (ω) = (−4)r sin2r 2 The application of the filter hδ2r can be implemented via r times iterated application of the filter hδ2 . Proposition 11.5 Assume that the frequency response and the transfer function of a filter h can be factorized as ˆ h(ω) = (1 − eiω ) p χ(ω) ˆ and h(z) = (1 − z) p χ (z),
(11.55)
respectively. If the functions χ(ω) ˆ and χ (z) do not have poles at the points ω = 0 and z = 1, respectively, then the filter h annihilates sampled polynomials of degree p − 1 (in other words, it has p DVMs). Proof It was established in Proposition 1.3 that the application of the finite difference of order p annihilates sampled polynomials of degree p − 1. Filtering a sequence x = {x[k]} with the filter h, whose structure is determined by the relations in Eq. (11.55), can be implemented via the application of the filters hΔp followed by the
236
11 Biorthogonal Wavelet Transforms
application of the filters χ , whose frequency response and the transfer function are χ(ω) ˆ and χ (z), respectively. In other words, the application of the filter h to x reduces to the application of the filter χ to the difference Δ p [x]. Consequently, the application of the filter h to a sampled polynomial of degree p − 1 annihilates the polynomial. Corollary 11.2 Assume that the frequency response and the transfer function of a filter g can be factorized as ˆ and g(z) = g(1) + (1 − z) p χ (z), g(ω) ˆ = g(0) ˆ + (1 − eiω ) p χ(ω)
(11.56)
respectively. If the functions χ(ω) ˆ and χ (z) do not have poles at the points ω = 0 and z = 1, respectively, then the filter g restores sampled polynomials of degree p − 1. Proof The impulse response of the filter g can be represented by the sum g[k] = g(0)δ[k] ˆ + h[k], where the filter h satisfies the conditions in Proposition 11.5. Consequently, the application of the filter h to a sampled polynomial of degree p − 1 annihilates the polynomial, while the application of the filter g restores the polynomial up to the constant g(0). ˆ Proposition 11.6 Assume that the frequency response and the transfer function of a filter h can be factorized as ω ˆ ˆ and h(z) = (z − 2 + z −1 )r χ (z), h(ω) = sin2r χ(ω) 2
(11.57)
respectively. If the functions χˆ (ω) and χ (z) do not have poles at the points v = 0 and z = 1, respectively, then the filter h annihilates sampled polynomials of degree 2r − 1 (has 2r discrete vanishing moments). Proof is similar to the proof of Proposition 11.5. Corollary 11.3 Assume that the frequency response and the transfer function of a filter g can be factorized as g(ω) ˆ = g(0) ˆ + sin2r
ω χˆ (ω) and g(z) = g(1) + (z − 2 + z −1 )r χ (z), (11.58) 2
respectively. If the functions χ(ω) ˆ and χ (z) do not have poles at the points ω = 0 and z = 1, respectively, then the filter g restores sampled polynomials of degree 2r − 1. Corollary 11.4 The analysis h˜ 1 and the synthesis h1 5/3 filters defined in Eq. (11.52) annihilate sampled polynomials of first degree (have 2 discrete vanishing moments). The analysis h˜ 1 and the synthesis h1 9/7 filters, defined in Eq. (11.54) annihilate sampled polynomials of third degree (have 4 discrete vanishing moments).
References
237
References 1. M. Antonini, M. Barlaud, P. Mathieu, I. Daubechies, Image coding using wavelet transform. IEEE Trans. Image Process. 1(2), 205–220 (1992) 2. A. Z. Averbuch, P. Neittaanmäki, and V. A. Zheludev. Spline and spline wavelet methods with applications to signal and image processing, Volume I: Periodic splines (Springer, Berlin, 2014) 3. A. Cohen, I. Daubechies, J.-C. Feauveau, Biorthogonal bases of compactly supported wavelets. Comm. Pure Appl. Math. 45(5), 485–560 (1992) 4. M.J. Smith, T.R. Barnwell, Exact reconstruction techniques for tree-structured subband coders. IEEE Trans. Acoust. Speech Signal Process. 34(3), 434–441 (1986) 5. D.S. Taubman, M.W. Marcellin (eds.), JPEG2000: Image compression fundamentals, standards, and practice, vol. 642. The Springer International Series in Engineering and Computer Science (Springer, Berlin, 2002) 6. M. Vetterli, C. Herley, Wavelets and filter banks: theory and design. IEEE Trans. Signal Process. 40(9), 2207–2232 (1992)
Chapter 12
Biorthogonal Wavelet Transforms Originating from Splines
Abstract This chapter describes how to design families of biorthogonal wavelet transforms of signals and respective biorthogonal Wavelet bases in the signal space using spline-based prediction filters. Although the designed Wavelets originate from splines, they are not splines themselves. The design and implementation of the biorthogonal Wavelet transforms is done using the Lifting scheme. Most of the filters participating in the expansion of signals over the presented bases have infinite impulse responses and are implemented by recursive filtering whose computational cost is competitive with the FIR filtering cost. Properties of the designed Wavelets, such as symmetry, flat spectra, good time domain localization, discrete vanishing moments, are valuable for signal processing.
12.1 Lifting Scheme of Wavelet Transforms The lifting scheme of the Wavelet transform introduced by Sweldens [10–12] can be implemented either in a primal or in a dual mode.
12.1.1 Primal Scheme 12.1.1.1 Primal Decomposition Generally, the primal lifting mode of the Wavelet transform consists of four steps: 1. Split. 2. Predict. 3. Update or lifting. 4. Normalization. Split:
The signal x = {x[k]}l∈Z is split into its polyphase components: def
xl = {xl [k] = x[2k + l]}l∈Z , l = 0, 1. Predict: The even polyphase component x0 is filtered by some low-pass prediction filter f˜ in order for the filtered version of the even component x0 to predict the odd component x1 . Then, the existing odd array x1 is replaced by the array a1 , which is the difference between x1 and the predicted array. In the z-domain, these operations are described by a 1 (z) = x1 (z) − f˜(z −1 )x0 (z). © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_12
239
240
12 Biorthogonal Wavelet Transforms Originating from Splines
Update (lifting): To suppress the spectral aliasing caused by downsampling the original signal x into x0 , the generated array a1 is filtered by a low-pass update filter, which we prefer to denote by f/2. The filtered array is used to update the even array x0 resulting in the array a0 : a 0 (z) = x0 (z) + 21 f (z)a 1 (z). Provided that the filter f is properly chosen, the even array x0 is transformed into a smoothed and downsampled replica of x. 0 and the array of details y1 are Normalization: Finally, the smoothed array y[1] [1] √ √ 0 = 2 a0 , and y1 = a1 / 2. obtained by the operation y[1] [1] 12.1.1.2 Primal Reconstruction One of the most attractive features of lifting schemes is that the reconstruction of the 0 and y1 is implemented by a reverse decomposition: signal x from the arrays y[1] [1] √ √ 1 0 0 Undo Normalization: a = y[1] / 2 a1 = 2 y[1] . Undo Lifting: The even polyphase component is restored by x0 (z) = a 0 (z) − 21 f (z)a 1 (z). Undo Predict: The odd polyphase component is restored by x1 (z) = a 1 (z) + f˜(z −1 )x0 (z). Undo Split: The last step is a standard restoration of the signal from its even and odd components. In the z-domain, it appears as x(z) = x1 (z 2 ) + z −1 x0 (z 2 ).
12.1.2 Dual Scheme 12.1.2.1 Dual Decomposition The dual lifting mode of the Wavelet transform consists of four steps: 1. Split. 2. Update or lifting. 3. Predict. 4. Normalization. Split:
The signal x = {x[l]}l∈Z is split into its polyphase components: def
xl = {xl [k] = x[2k + l]}l∈Z , l = 0, 1. Update (lifting): The odd polyphase component is filtered by the low-pass update filter f in order for the filtered version of the odd component x1 to approximate the even component x0 . Then, the existing even array x0 is replaced by the array a0 , which is the average between x0 and the approximated array. In the z-domain, the operations are described by a 0 (z) = (x0 (z) + f (z)x1 (z))/2. Predict: The odd array is predicted by the generated array a0 , which is filtered by ˜ Then the existing odd array x1 is replaced by the array a1 , the predict filter f. which is the difference between x1 and the predicted array: a 1 (z) = x1 (z) − f˜(z −1 )a 0 (z). 0 and the array of details y1 are Normalization: Finally, the smoothed array y[1] [1] √ √ 0 = 2 a 0 , y1 = 2 a 1 . obtained by the operation y[1] [1]
12.1 Lifting Scheme of Wavelet Transforms
241
Remark 12.1.1 Note that the dual normalization differs from the primal one.
12.1.2.2 Dual Reconstruction 0 and y1 is implemented by reversReconstruction of the signal x from the arrays y[1] [1] ing the decomposition steps : √ √ 0 / 2 a1 = y1 / 2. Undo Normalization: a0 = y[1] [1] Undo Predict: The odd polyphase component is restored by x1 (z) = a 1 (z) + f˜(z −1 )a 0 (z). Undo Lifting: The even polyphase component is restored by x0 (z) = 2a 0 (z) − f (z)x1 (z). Undo Split: x(z) = x1 (z 2 ) + z −1 x0 (z 2 ).
12.1.3 Filter Banks We show in this section that the implementation of the direct and inverse lifting ˜ and synthesis H transforms of a signal is equivalent to the application of analysis H filterbanksto the signal. Since the lifting transform is invertible by definition, the ˜ H constitutes a PR filter bank pair H,
12.1.3.1 Primal Mode Rewriting the lifting steps in a matrix form, we obtain the polyphase matrices of the Wavelet transforms: √ 0 y[1] (z) 2 0√ 1 f (z)/2 · 1 (z) = 0 1 y[1] 0 1/ 2 1 0 x0 (z) x0 (z) −1 ˜ = P . · (z ) · × p x1 (z) x1 (z) − f˜(z −1 ) 1 Hence, the primal analysis polyphase matrix is √ √ −1 ) f (z)/2 f (z)/ 2 ˜ 2 1 − f (z P˜ p (z −1 ) = . √ √ − f˜(z −1 )/ 2 1/ 2 The reconstruction operations are represented by
242
12 Biorthogonal Wavelet Transforms Originating from Splines
x0 (z) x1 (z)
√ 1 0 1 − f (z)/2 1/ 2 √0 · = · 0 1 f˜(z −1 ) 1 0 2 0 0 y[1] (z) y[1] (z) = P p (z) · × 1 1 (z) . y[1] (z) y[1]
Hence, the primal synthesis polyphase matrix is
√ √ 1/ 2 − f (z)/ 2 . √ √ f˜(z −1 )/ 2 2 1 − f˜(z −1 ) f (z)/2
P p (z) =
It is readily verified that P p (z) = P˜ p (z −1 )−1 . Therefore, the perfect reconstruction ˜ and synthesis H condition is satisfied. Recall that polyphase matrices of analysis H filter banks are structured as follows: 0 0 h˜ (z) h˜ 01 (z) h 0 (z) h 10 (z) def def ˜ . , P(z) P(z) = ˜ 01 = h 01 (z) h 11 (z) h 0 (z) h˜ 11 (z) ˜ p that corresponds to the polyphase matrix Thus, the primal analysis filter bank H ˜P p (z), comprises the filters whose transfer functions are: h˜ 0p (z −1 ) = =
√ 2 1−
1 2
f˜(z −2 ) f (z 2 ) − z f (z 2 )
1 + z f (z 2 ) + W (z 2 ) ,
√1 2
h˜ 1p (z −1 ) = z √1
2
(12.1)
1 − z −1 f˜(z −2 ) ,
where def W (z) = 1 − f˜(z −1 ) f (z).
(12.2)
The primal synthesis filters are 1 + z −1 f˜(z −2 ) = z −1 h˜ 1 (−z −1 )
h 0p (z) =
√1 2
h 1p (z)
z −1 √1 2
=
1−z
f (z 2 ) +
W (z 2 )
(12.3) .
˜ p = h˜ 0p , h˜ 1p and H p = h0p , h1p constitute a perfect reconThe filter banks H struction filter bank. The biorthogonality relations in Eqs. (11.17), and (11.19) (11.18) 0 1 can be regarded y[1] are readily verified. Thus, the transform of a signal x −→ y[1]
def def as one step of a biorthogonal Wavelet transform, where ϕ˜[1] = h˜ 0p and ψ˜ [1] = h˜ 0p are
12.1 Lifting Scheme of Wavelet Transforms
243 def
def
the analysis discrete-time Wavelets, while ϕ[1] = h0p and ψ[1] = h0p are the synthesis discrete-time Wavelets. The analysis and synthesis Waveletsare interchangeable. If the z-transform of the zero polyphase component of a filter h is a constant number h 0 (z) = c, then the filter is interpolating (Sect. 2.1.4). We see from (12.3) that the low-pass synthesis filter h0 is interpolating. Consequently, the zero polyphase component of the synthesis Wavelet ϕ[1] interpolates the √ Kronecker delta (up to the constant c = 2−1/2 ). This means that ϕ[1] [2l] = δ[l]/ 2, l ∈ Z. Properties of filter banks and the corresponding Waveletsare determined by the choice of the predict f˜ and the update f filters. The perfect reconstruction and the biorthogonality conditions for the presented filter banks are satisfied with any choice of low-pass filters f˜ and f. However, utilization of continuous and discrete splines for the filters design produces a diverse family of biorthogonal Wavelets. Properties of these Waveletssuch as symmetry, interpolation, smoothness, flat spectra, good time-domain localizations and vanishing moments fit signal processing needs well. Implementation of these transforms is highly efficient. Remark 12.1.2 Once a predict filter f˜ is selected, any low-pass filter can serve as an update filter f. In what follows, we focus on the simplest choice for the update ˜ Implications of other options are discussed filter f to be equal to the predict filter f. in [2–4].
12.1.3.2 Dual Mode By presenting the dual lifting steps in a matrix form, we derive the polyphase matrices of the Wavelet transforms to be
0 (z) y[1] 1 (z) y[1]
√ 1 0 x0 (z) x0 (z) 2 √0 1/2 f (z)/2 −1 ˜ · · = Pd (z )· . = · x1 (z) x1 (z) 0 1 − f˜(z −1 ) 1 0 2
Hence, the analysis polyphase matrix is P˜ d (z −1 ) =
√ f (z)/ 2 √ √ . − f˜(z −1 )/ 2 1 − f˜(z −1 ) f (z)/2 2 √ 1/ 2
The reconstruction operations are represented by
x0 (z) x1 (z)
=
0 √ 0 (z) y[1] (z) y[1] 1 0 2 − f (z) 1/ 2 0√ · 1 · ˜ −1 · = Pd (z)· 1 . 0 1 f (z ) 1 y[1] (z) y[1] (z) 0 1/ 2
244
12 Biorthogonal Wavelet Transforms Originating from Splines
The synthesis polyphase matrix is √ √ 2 1 − f˜(z −1 ) f (z)/2 − f (z)/ 2 . Pd (z) = √ √ f˜(z −1 )/ 2 1/ 2 Obviously, Pd (z) = P˜ d (z −1 )−1 . Therefore, the perfect reconstruction condition is satisfied. The synthesis filters are 1 h 0d (z) = √ 1 + z −1 f˜(z −2 ) + W (z 2 ) , 2 −1 z h 1d (z) = √ 1 − z f (z 2 ) 2
(12.4)
where W (z) is defined in Eq. (12.2). The analysis filters are 1 h˜ 0d (z −1 ) = √ 1 + z f (z 2 ) , 2 1 (12.5) h˜ 1d (z −1 ) = z √ 1 − z −1 f˜(z −2 ) + W (z 2 ) . 2
˜ d = h˜ 0 , h˜ 1 and H = h0 , h1 constitute a perfect reconThe filter banks H d d d d 0 1 can be regarded −→ y[1] struction filter bank. Thus, the transform of a signal y[1] as one step of a Wavelet transform. ˜ which Remark 12.1.3 If the update filter f is chosen to be equal to the predict filter f, are the same for either primal or dual modes, then the primal synthesis filters are equal to the dual analysis filters and vice versa. h˜ 0d (z) = h 0p (z), h˜ 1d (z) = h 1p (z), h˜ 0p (z)
=
h 0d (z),
h˜ 1p (z)
=
(12.6)
h 1d (z).
The multilevel Wavelet transform is achieved by iterated application of the lifting operations to the smoothed coefficients arrays x −→
0 , y[1] 0 1 , −→ . . . −→ y[m−1] −→ y[1]
0 , y[m] 1 . y[m]
(12.7)
1 1 0 Reconstruction of the signal x from the coefficients arrays y[m] y[m] . . . y[1] is implemented in the inverse order.
12.1 Lifting Scheme of Wavelet Transforms
245
Splines provide flexible tools for the design of the predict filters. The idea behind the design is the following: Either a polynomial or a discrete spline is constructed, which (quasi-)interpolates even samples of signals. Then, odd samples are predicted by the spline’s values at the midpoints between the (quasi-)interpolation points.
12.2 Filter Banks Originating from Polynomial Splines This section has some overlap with the contents of Sect. 7.2.1, which presents spline filters for the binary subdivision.
12.2.1 Prediction Filters Derived from Polynomial Splines Due to Eq. (4.43), the spline S p (t) ∈ p S , which interpolates a signal q = {q[k]} at grid points {k}, can be represented by the integral 1 S (t) = 2π
2π
p
0
q(ω) ˆ ζ p (ω, t) dω, u p (ω)
(12.8)
where ζ p (ω, t) = Z [B p ](ω, t) = u p (ω) = ζ p (ω, 0) =
l∈Z
e−iωl B p (t l∈Z −iωl p
+ l),
B (l).
e
(12.9)
The values of the spline S p at grid points S p (k) = q[k], while its values at the midpoints between the interpolation points are 2π 1 1 1 q(ω) ˆ p ω, k + = ζ dω. Sp k + 2 2π 0 u p (ω) 2 The shift property in Eq. (4.7) of the exponential splines implies that ζ p (ω, k + 1/2) = eiωk eiω/2 υ p (ω), where, as in Sect. 7.2.1, def
υ (ω) = e p
=
−iω/2
l∈Z
ζ
p
e
iπl
1 ω, 2
=e
−iω/2
sin(ω/2 + πl) (ω/2 + πl)
p
k∈Z
.
e
−iωk
1 B k+ 2 p
(12.10)
246
12 Biorthogonal Wavelet Transforms Originating from Splines
Consequently, 2π iω k 1 1 e q(ω) ˆ S k+ = υ p (ω) eiω/2 dω p 2 2π 0 u (ω) υ p (ω) 1 −iωk q(ω). ˆ e S k+ =⇒ = eiω/2 p 2 u (ω)
(12.11)
k∈Z
Put z = eiω and define the Laurent polynomials def
u¯ p (z) =
z −l B p (l) , υ¯ p (z) = z −1/2 def
l∈Z
l∈Z
1 . z −l B p l + 2
(12.12)
Certainly, due to the compact support property of the B-splines, the sums in Eq. (12.12) are finite. Then, the z-transform becomes k∈Z
z
−k
υ¯ p (z) 1 = z 1/2 p q(z). S k+ 2 u¯ (z)
(12.13)
Equation (12.13) means that, in order to derive the midpoint values {S (k + 1/2)} of the spline S p (t) ∈ p S , which interpolates the even polyphase component x0 = {x[2k]} at grid points {k}: S p (k) = x[2k], we should filter the signal x0 with the time-reversed filter f˜ p , whose transfer function and frequency response are f˜ p (z −1 ) = Ω p (z), fˆ˜ p (−ω) = Ωˆ p (ω), where υ¯ p (z) υ p (ω) def def . Ω p (z) = z 1/2 p , Ωˆ p (ω) = eiω/2 p u¯ (z) u (ω)
(12.14)
Remark 12.2.1 Note that, the functions υ p (ω) are Laurent polynomials with respect to the variable eiω/2 . Due to the symmetry of the B-splines, the functions υ p (ω) are symmetric about zero and, therefore, they are polynomials with respect to the def
cosine variable θ = cos ω/2. Respectively, the functions υ¯ p (z) are symmetric about inversion z → 1/z. Consequently, the following symmetry relations hold: z −1 Ω p (z 2 ) = z Ω p (z −2 ), e−iω Ωˆ p (2ω) = eiω Ωˆ p (−2ω).
(12.15)
The transfer function Ω p (z) is a rational function. According to Propositions 4.10 and 4.11, the denominator can be factored as u¯ p (z) =
r −1 n=1
1 (1 + γn z)(1 + γn z −1 ), 0 < γ1 < γ1 < . . . < γr −1 < 1, (12.16) γn
12.2 Filter Banks Originating from Polynomial Splines
247
p Table 12.1 Sampled B-splines B[1] (k + 1/2) l
−4
−3
−2
−1
0
1
2
3
4
B 2 (k + 1/2) × 2 B 3 (k + 1/2) × 2 B 4 (k + 1/2) × 48 B 5 (k + 1/2) × 24 B 6 (k + 1/2) × 3840 B 7 (k + 1/2) × 720 B 8 (k + 1/2) × 7! 27 B 9 (k + 1/2) × 8!
0 0 0 0 0 0 1 1
0 0 0 0 1 1 2179 247
0 0 1 1 237 57 60657 4293
1 1 23 11 1682 302 259723 15619
1 1 23 11 1682 302 259723 15619
0 0 1 1 237 57 60657 4293
0 0 0 0 1 1 2179 247
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0
where r = ( p + 1)/2, and the function f p (z −1 ) can be expanded into a Laurent series whose coefficients decay exponentially. Therefore, filtering can be implemented in a two-directional recursive mode as described in Sect. 2.2.2. Table 3.1 provides samples of B-splines B p (t) of orders from 2 to 9 at grid points. The values {B p (k + 1/2)} are presented in Table 12.1. The samples of higher order splines were computed by the MATLAB function bspuvN.m. They are gathered in the file BSUV.mat.
12.2.2 Filter Banks 12.2.2.1 Transfer Functions and Frequency Responses of Filter Banks If the update filter f p is chosen to be equal to the predict filter f˜ p and, consequently, the transfer function f p (z) = f˜ p (z) = Ω p (z −1 ), then 2 def W p (z) = 1 − f˜ p (z −1 ) f p (z) = 1 − Ω p (z) = W p (z −1 ), 2 def Wˆ p (ω) = 1 − f˜ p (−ω) f p (ω) = 1 − Ωˆ p (ω) = Wˆ p (−ω).
(12.17)
Due to Eqs. (12.1) and (12.3), the transfer functions of the synthesis and analysis filter banks are √ 2 1 + z −1 Ω p (z 2 ) , h 0 (z) = 2 √ 2 1 − z Ω p (z −2 ) = z −1 h 0 (−z −1 ), h˜ 1 (z) = z −1 √ 2 2 1 + z −1 Ω p (z) + W p (z 2 ) (12.18) h˜ 0 (z) = 2 √ 2 p 2 W (z ), = h 0 (z) + 2
248
12 Biorthogonal Wavelet Transforms Originating from Splines
√ 2 1 − zΩ p (z −2 ) + W p (z 2 ) h (z) = z 2 √ 2 p 2 0 1 −1 ˜ ˜ W (z ). = z h (−1/z) = h (z) + z 2 1
−1
The frequency responses of the synthesis and analysis filter banks are ˆ0
h (ω) = hˆ˜ 1 (ω) = hˆ˜ 0 (ω) = = hˆ 1 (ω) = =
√ 2 1 + e−i ω Ωˆ p (2ω) , 2 √ 2 1 − ei ω Ωˆ p (−2ω) = e−i ω hˆ˜ 0 (−ω + π ), e−i ω √ 2 2 1 + e−i ω Ωˆ p (2ω) + Wˆ p (2ω) 2 √ ˆh 0 (ω) + 2 Ωˆ p (2ω), √ 2 2 1 − ei ω Ωˆ p (−2ω) + Wˆ p (2ω) e−i ω 2 √ 2 p ˆ −i ω ˆ˜ 0 1 −i ω Ωˆ (2ω). h (−ω + π ) = h˜ (ω) + e e 2
(12.19)
12.2.2.2 Approximation Properties of Filters The following fact was established in Sect. 11.2.1.4 Proposition 12.1 If frequency responses of the filters h and g are represented by ω ω ˆ ˆ = g(0) ˆ + sin2r χˆ 1 (ω), h(ω) = sin2r χˆ (ω), g(ω) 2 2
(12.20)
and the functions χˆ (ω) and χˆ 1 (ω) do not have poles at ω = 0, then the filters h and g annihilate and restore sampled polynomials of degree not exceeding 2r − 1, respectively. The filter h has 2r discrete vanishing moments. Proposition 12.2 The analysis filter h˜ 1 derived from interpolating splines of order p annihilates sampled polynomials of degree not exceeding p − 1 (have p discrete vanishing moments). The respective synthesis filter h0 restores these polynomials.
Proof Assume that the array x = x[k] = Pp−1 (k/2) consists of the samples of a polynomials of degree not exceeding p − 1. It was established in Sect. 4.2.1.2 that interpolating splines of order p retain polynomials of degree not exceeding p − 1. That is, if S p (k) = x[2k] = Pp−1 (k), k ∈ Z, then S p (t) ≡ Pp−1 (t). Therefore, the prediction of odd samples of x by S p (k + 1/2) = Pp−1 (k + 1/2) = x[2k + 1], k ∈ Z, is exact. Consequently, application of the analysis filters h˜ 1 , which consists of
12.2 Filter Banks Originating from Polynomial Splines
249
extraction of the predicted odd array from the original one, results in a zero sequence. The claim about the filter h0 can be similarly proved. Further, we show that this is as well true for the filters h˜ 0 and h1 . Surprisingly, if the filters are derived from odd-order splines S 2r −1 (t) (which are piece-wise polynomials of degree 2r −2), then they, respectively, restore and annihilate sampled polynomials of degree 2r − 1. This is a consequence of the so-called super-convergence property of odd-order splines (Sect. 5.2.2.3, [13, 14]). Denote def def Φˆ p (ω) = 1 + e−i ω Ωˆ p (2ω), Ψˆ p (ω) = 1 − e−i ω Ωˆ p (2ω).
(12.21)
Equation (12.15) implies that Φˆ p (ω) = Φˆ p (−ω), Ψˆ 2r (ω) = Ψˆ 2r (−ω).
(12.22)
Proposition 12.3 If the order of the generating spline is even, that is p = 2r , then the following relations hold: Φˆ 2r (ω) = 2 cos2r
ω u 2r (ω) ω u 2r (ω + π ) , Ψˆ 2r (ω) = 2 sin2r . (12.23) 2r 2 u (2ω) 2 u 2r (2ω)
Proof Equation (12.14) implies that 1 + e−i ω Ωˆ p (2ω) = 1 +
υ p (2ω) . u p (2ω)
Then, referring to Proposition 7.1, we get the first relation in Eq. (12.23). Apparently, Ψˆ 2r (ω) = Φˆ 2r (ω + π ). Hence, Eq. (12.23) follows. Proposition 12.4 If the order of the generating spline is odd, that is p = 2r − 1, then the following relations hold: Φˆ 2r −1 (ω) = cos2r
ω ω ξ(ω), Ψˆ 2r −1 (ω) = sin2r η(ω), 2 2
(12.24)
ξ(ω) and η(ω) are rational functions of sin2 ω/2 that do not have poles at ω = 0. Proof Eqs. 4.6 and 12.10 imply the following representation of the functions u p (2ω) and υ p (2ω) when p = 2r − 1: u 2r −1 (2ω) = sin2r −1 ω
l∈Z
υ 2r −1 (2ω) = sin2r −1 ω
l∈Z
(−1)l (ω + πl)2r −1 1 (ω + πl)2r −1
, .
250
12 Biorthogonal Wavelet Transforms Originating from Splines
The difference of these functions is D(ω) = u 2r −1 (2ω) − υ 2r −1 (2ω) = sin2r −1 ω β 2r −1 (ω), 1 def β 2r −1 (ω) = − . (ω + π(2l + 1))2r −1 l∈Z The function β 2r −1 (ω) is analytic, provided r > 1 and β 2r −1 (0) =
l∈Z
1 (π(2l + 1))2r −1
= 0.
Thus, the analytic function D(ω) has zero of order 2r at ω = 0. On the other hand, the function υ 2r −1 (2ω) is a polynomial of cos ω and, therefore, can be represented as a polynomial of sin2 ω/2. The same is true for u 2r −1 (2ω). Thus, D(ω) is a polynomial of sin2 ω/2, which has zero of order 2r at ω = 0. It can be represented as D(ω) = α(ω) sin2r ω/2, where α(ω) is a polynomial of sin2 ω/2. Consequently, Ψˆ 2r −1 (ω) = 1 −
D(ω) α(ω) ω υ 2r −1 (2ω) = 2r −1 = sin2r . 2r −1 2r u (2ω) u (2ω) 2 u −1 (2ω)
The function Φˆ 2r −1 (ω) = Ψˆ 2r −1 (ω + π ). Corollary 12.1 When the spline’s order p is equal to either 2r or 2r −1, the function Wˆ p (2ω) can be represented by ω ω cos2r ϑ(ω), Wˆ p (2ω) = sin2r 2 2
(12.25)
where ϑ(ω) is a rational function of sin2 ω/2, which does not have pole at ω = 0. Proof The claim follows from the representation: 2 Wˆ p (2ω) = 1 − Ωˆ p (2ω) = Φˆ p (ω) Ψˆ p (−ω) = Φˆ p (ω) Ψˆ p (ω).
(12.26)
Combining the facts established in this section, we come to the following statement.
12.2 Filter Banks Originating from Polynomial Splines
251
Proposition 12.5 When the spline’s order p is equal to either 2r or 2r − 1, the filters h˜ 1 and h1 derived from interpolating splines of order p annihilate sampled polynomials of degree not exceeding 2r − 1 (have 2r discrete vanishing moments). The filters h˜ 0 and h0 restore such polynomials. Proof The frequency responses of the filters can be represented as follows: √ 2 p 2 p ˆ 1 −i ω h (ω) = Φˆ (ω), h˜ (ω) = e Ψˆ (ω) 2 √2 2 p Φˆ (ω) 1 + Ψˆ p (ω) , hˆ˜ 0 (ω) = 2 √ 2 p hˆ 1 (ω) = e−i ω Ψˆ (ω) 1 + Φˆ p (ω) . 2 √
ˆ0
(12.27)
The claim of the proposition concerning the high-pass filters h˜ 1 and h1 follows directly from Eq. (12.27). In order to establish the restoration of the polynomials by the low-pass filters h˜ 0 and h0 , we note that if def Ψˆ p (ω) = 1 − e−i ω Ωˆ p (2ω) = sin2r
ω η(ω), 2
then def Φˆ p (ω) = 1 + e−i ω Ωˆ p (2ω) = 2 − sin2r
ω ω η(ω) = Φˆ p (0) − sin2r η(ω). 2 2
Thus, the filter h0 restores polynomials of degree not exceeding 2r −1. The frequency response of the filter h˜ 0 is √ 2 p Φˆ (ω) Ψˆ p (ω) 2 √ 2 2r ω = hˆ˜ 0 (0) − sin η(ω) 1 − Φˆ p (ω) . 2 2
hˆ˜ 0 (ω) = hˆ 0 (ω) +
Hence, the claim about the low-pass filters h˜ 0 follows. Denote Φ p (z) = 1 + z −1 Ω p (z 2 ), Ψ 2r (z) = 1 − z −1 Ω p (z 2 ). def
def
(12.28)
Equation (12.15) implies that Φ p (z) = Φ p (z −1 ), Ψ p (z) = Ψ p (z −1 ).
(12.29)
252
12 Biorthogonal Wavelet Transforms Originating from Splines
Then, the transfer functions of the filters can be expressed as follows: √ 2 p 2 p 1 −1 ˜ h (z) = Φ (z), h (z) = z Ψ (z) 2 √2 2 p
Φ (z) 1 + Ψ p (z) , h˜ 0 (z) = 2 √ 2 p
h 1 (z) = z −1 Ψ (z) 1 + Φ p (z) . 2 √
0
(12.30)
12.2.3 Examples of Filters Originating from Splines In the forthcoming examples, we present filters related to the primal lifting scheme. The dual filters are described by the relations from Eq. (12.6). Example: linear interpolating spline, p = 2: The z-transforms are 1+z 2 + z + z −1 2 − z − z −1 , Φ 2 (z) = , Ψ 2 (z) = , (12.31) 2 2 2 2 − z − z −1 2 + z + z −1 h 0 (z) = , h˜ 1 (z) = z −1 , √ √ 2 2 2 2 √ √ 2 −1 −2 z 3 z z 2 z 0 −1 −1 z+2+z − −z + 4 − z = 2 − + + + h˜ (z) = 8 8 4 4 4 8 √ 2 −z + 2 − z −1 z + 4 + z −1 . h 1 (z) = z −1 8
Ω 2 (z) =
The frequency responses are √ ω ω , hˆ˜ 1 (ω) = 2 e−iω sin2 , 2 2 ˆh˜ 0 (ω) = √2 cos2 ω 1 + 2 sin2 ω 2 2 √ ˆh 1 (ω) = 2 e−iω sin2 ω 1 + 2 cos2 ω . 2 2
hˆ 0 (ω) =
√
2 cos2
(12.32)
Comments: The high-pass filters h˜ 1 and h1 have two vanishing moments; the low-pass filters h˜ 0 and h0 restore linear polynomials. Comparing relations in Eq. (12.31) with Eqs. (11.51) and (11.52), √ we observe that the designed filters coincide with the 5/3 filters up to the factor 2.
12.2 Filter Banks Originating from Polynomial Splines
253
Fig. 12.1 Impulse and magnitude responses of the filters derived from the linear interpolating splines. Top analysis filters. Bottom synthesis filters
Figure 12.1, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the linear interpolating splines. Example: quadratic interpolating spline, p = 3: The transfer function of the prediction filter is Ω 3 (z) = 4
1+z , D 3 (z)
D 3 (z) = z + 6 + z −1 = def
1 (1 + α3 z) (1 + α3 z −1 ), (12.33) α3
√ def where α3 = 3 − 2 2 ≈ 0.172. Then, we have Φ 3 (z) =
(z + 2 + z −1 )2 (z − 2 + z −1 )2 , Ψ 3 (z) = . 3 2 D (z ) D 3 (z 2 )
(12.34)
The transfer functions of the corresponding analysis and synthesis filters are derived according to Eq. (12.30). The functions Φˆ 3 (ω) and Ψˆ 3 (ω) are 4 cos4 ω/2 8 cos4 ω/2 = , 3 + cos 2ω 1 + cos2 ω 4 sin4 ω/2 8 sin4 ω/2 Ψˆ 3 (ω) = = . 3 + cos 2ω 1 + cos2 ω Φˆ 3 (ω) =
(12.35)
254
12 Biorthogonal Wavelet Transforms Originating from Splines
Fig. 12.2 Impulse and magnitude responses of the filters derived from the quadratic interpolating splines. Top analysis filters. Bottom synthesis filters
The frequency responses are derived according to Eq. (12.27). Comments: This example illustrates Proposition 12.5. Although the quadratic interpolating splines retain polynomials of second degree, the analysis filters h˜ 1 and h1 annihilate polynomials of third degree (have four vanishing moments), while the filters h˜ 0 and h0 restore them. The synthesis filter h0 is a discrete spline from the space 4S [1] that can serve as a generator of that space. It follows from Corollary 10.1. Figure 12.2, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the quadratic interpolating splines. Example: cubic interpolating spline, p = 4: The transfer function of the prediction filter is (1 + z)(z + 22 + z −1 ) , 8 D 4 (z) 1 def D 4 (z) = z + 4 + z −1 = (1 + α4 z) (1 + α4 z −1 ), α4
Ω 4 (z) =
(12.36)
12.2 Filter Banks Originating from Polynomial Splines def
where α4 = 2 −
255
√ 3 ≈ 0.268. Then, we have (z −1 + 2 + z)2 (z + 4 + z −1 ) , 8 (z −2 + 4 + z 2 ) (z −1 − 2 + z)2 (−z + 4 − z −1 ) . Ψ 4 (z) = 8 (z −2 + 4 + z 2 ) Φ 4 (z) =
(12.37)
The transfer functions of the corresponding analysis and synthesis filters are derived according to Eq. (12.30). The functions Φˆ 4 (ω) and Ψˆ 4 (ω) are Φˆ 4 (ω) =
2 cos4 ω/2 (2 + cos ω) sin4 ω/2 (2 − cos ω)) , Ψˆ 4 (ω) = . (12.38) 2 + cos 2ω 2 + cos 2ω
Comments: The high-pass filters h˜ 1 and h1 annihilate polynomials of third degree (have four vanishing moments). The same number of vanishing moments have the filters that werederived from quadratic splines whose structure is simpler than the cubic-spline filter. In that sense, the quadratic spline filters have an advantage over the cubic spline ones. The filters h˜ 0 and h0 restore cubic polynomials. Figure 12.3, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the cubic interpolating splines. Example: interpolating spline of fourth degree, p = 5: The transfer function of the prediction filter is Ω 5 (z) = 16
(1 + z)(z + 10 + z −1 ) , D 5 (z)
D 5 (z) = z 2 + 76 z + 230 + 76 z −1 + z −2 (1 + a51 z) (1 + α51 z −1 )(1 + a51 z) (1 + α52 z −1 ) = , α52 α52 √ √ a51 = 19 + 4 19 − 2 166 + 38 19 ≈ 0.0137, √ √ 2 a5 = 19 − 4 19 − 2 166 − 38 19 ≈ 0.3613. def
(12.39)
256
12 Biorthogonal Wavelet Transforms Originating from Splines
Fig. 12.3 Impulse and magnitude responses of the filters derived from the cubic interpolating splines. Top analysis filters. Bottom synthesis filters
Then, we have (z + 2 + z −1 )3 (z + z −1 + 10) , D 5 (z 2 ) (z − 2 + z −1 )3 (z + z −1 − 10) Ψ 5 (z) = . D 5 (z 2 ) Φ 5 (z) =
(12.40)
The transfer functions of the corresponding analysis and synthesis filters are derived according to Eq. (12.30). The functions Φˆ 5 (ω) and Ψˆ 5 (ω) are cos6 ω/2 (5 + cos ω) , 5 + 18 cos2 ω + cos4 ω sin6 ω/2 (5 − cos ω) Ψˆ 5 (ω) = 8 . 5 + 18 cos2 ω + cos4 ω Φˆ 5 (ω) = 8
(12.41)
Comments: Similarly to the high-pass filters h˜ 1 and h1 that were derived from quadratic splines, the filters derived from the fourth degree splines have more vanishing moments than their order. Although the fourth degree (fifth order) interpolating splines retain
12.2 Filter Banks Originating from Polynomial Splines
257
Fig. 12.4 Impulse and frequency responses of the filters derived from the interpolating splines of fourth degree (fifth order). Top analysis filters. Bottom synthesis filters
polynomials of fourth degree, the high-pass filters annihilate sampled polynomials of fifth degree (has six vanishing moments). The low-pass filters h˜ 10 and h0 restore sampled polynomials of the fifth degree. Figure 12.4, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the fourth-degree interpolating splines. All the filters originating from interpolating splines except for the linear spline have infinite impulse response. The high- pass FIR filters derived from linear spline have only two DVMs. However, it is possible to design FIR linear phase filters with more vanishing moments by using local quasi-interpolating splines introduced in Sect. 5.2.2. Example: quadratic quasi-interpolating spline: The quadratic spline, which quasi-interpolates a sequence x = {x[k]} , is defined in Eq. (5.12). Sq3 (t) =
k∈Z
L 31 (t) = Sq3 (t) =
1 2π 1 2π
x[k] L 31 (t − k),
2π 0 2π 0
1 ω 2 3 1+ ζ (ω, t) dω =⇒ 2 sin 8 2 ω 2 3 1 ζ (ω, t) dω. 2 sin x(ω) ˆ 1+ 8 2
258
12 Biorthogonal Wavelet Transforms Originating from Splines
If the sequence x is a sampled cubic polynomial, then the spline Sq3 coincides with the spline that interpolates the sequence. Thus, like the quadratic quasi-interpolating spline, the spline S 3 possesses the super-convergence property. The spline’s values at midpoints between the grid points are Sq3
2π 1 1 ω 2 1 k+ υ 3 (ω) eiω/2 dω. = 2 sin x(ω) ˆ 1+ 2 2π 0 8 2
Thus, the frequency response of the prediction filter is 1 ω 2 1 Ωˆq3 (ω) = 1 + eiω . 1+ 2 sin 2 8 2 The transfer function of the prediction filter is Ωq3 (z) =
−z −1 + 9 + 9z − z 2 1 10 − z − z −1 (1 + z) = . 16 16
(12.42)
Then, we have (4 − z − z −1 )(z + 2 + z −1 )2 −z 3 + 9z + 16 + 9z −1 − z −3 = , 16 16 (4 + z + z −1 )(z − 2 + z −1 )2 z 3 − 9z + 16 − 9z −1 + z −3 Ψq3 (z) = = . 16 16 Φq3 (z) =
The transfer functions of the corresponding analysis and synthesis filters are derived according to Eq. (12.30). The functions Φˆ q3 (ω) and Ψˆ q3 (ω) are Φˆ q3 (ω) = 2 cos4
ω ω (2 − cos ω) , Ψˆ q3 (ω) = 2 sin4 (2 + cos ω) .(12.43) 2 2
Comments: • In this case, filtering can be implemented via integer operations. Therefore, like the 5/3 Wavelets, the Waveletsderived from quadratic quasi-interpolating splines, which have four discrete vanishing moments, can be utilized for lossless compression. • Similarly to the high-pass filters h˜ 1 and h1 that were derived from quadratic interpolating splines, the filter derived from the quadratic quasi-interpolating splines have four vanishing moments. The low-pass filters h˜ 0 and h0 restore sampled polynomials of third degree. The impulse responses of the low-pass filters h˜ 0 and h0 have lengths 11 and 5, respectively. • Donoho [7] presented a scheme where an odd sample is predicted by the value at the central point of a polynomial of odd degree that interpolates adjacent even samples. It is readily verified that the prediction filter Ωq3 coincides with the filter
12.2 Filter Banks Originating from Polynomial Splines
259
Fig. 12.5 Impulse and magnitude responses of the filters derived from the quadratic quasiinterpolating splines. Top analysis filters. Bottom synthesis filters
derived by Donoho’s scheme by using a cubic interpolating polynomial. Note that in Donoho’s construction, the update step does not exist. On the other hand, the filter h0 is the autocorrelation of the 4-tap filter by Daubechies, [5, 9]. Figure 12.5, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from quadratic quasi-interpolating splines. Example: cubic quasi-interpolating spline: The cubic spline, which quasi-interpolates a sequence x = {x[k]}, is defined in Eq. (5.17) to be Sq4 (t) =
k∈Z
L 41 (t)
1 = 2π
1 Sq4 (t) = 2π
x[k] L 41 (t − k),
2π 0 2π 0
1 ω 2 4 1+ ζ (ω, t) dω =⇒ 2 sin 6 2 ω 2 4 1 ζ (ω, t) dω. 2 sin x(ω) ˆ 1+ 6 2
(12.44)
260
12 Biorthogonal Wavelet Transforms Originating from Splines
If the sequence x is a sampled cubic polynomial P3 (t), then the spline Sq4 (t) coincides with the spline, which interpolates the sequence and, therefore, Sq4 (t) ≡ P3 (t). The spline’s values at midpoints between the grid points are 2π 1 1 ω 2 1 υ 4 (ω) eiω/2 , dω. Sq4 k + = 2 sin x(ω) ˆ 1+ 2 2π 0 6 2 Thus, the frequency response of the prediction filter is 1 ω 2 2iω 1 ˆ 4 Ωq (ω) = e + 23eiω + 23 + e−iω . 1+ 2 sin 48 6 2 The transfer function of the prediction filter is 1 (1 + z) −z 2 − 14z + 174 − 14z −1 − z −2 288 −z −2 − 15z −1 + 160 + 160 z − 15z 2 − z 3 . = 288
Ωq4 (z) =
(12.45)
Then, we have (80 − 25(z + z −1 ) + 4(z 2 + z −2 ) − (z 3 + z −3 ))(z + 2 + z −1 )2 , (12.46) 288 (80 + 25(z + z −1 ) + 4(z 2 + z −2 ) + (z 3 + z −3 ))(−z + 2 − z −1 )2 . Ψq4 (z) = 288 Φq4 (z) =
The transfer functions of the corresponding analysis and synthesis filters are derived according to Eq. (12.30). The functions Φˆ q4 (ω) and Ψˆ q4 (ω) are Φˆ q4 (ω) = Ψˆ q4 (ω) =
cos4
ω 2
sin4 ω2
(40 − 25 cos ω + 4 cos 2ω − cos 3ω) , 9 (40 + 25 cos ω + 4 cos 2ω + cos 3ω) . 9
(12.47)
Comments: • As in the previous example, filtering can be implemented via integer operations. Thus it can be utilized for lossless compression. • Similarly to the high-pass filters h˜ 1 and h1 derived from quadratic quasi-interpolating splines, the filter derived from the cubic quasi-interpolating splines have four vanishing moments. The low-pass filters h˜ 0 and h0 restore sampled polynomials of third degree, however, impulse responses of the filters are much longer compared to the impulse responses of the respective filters derived from the quadratic splines.
12.2 Filter Banks Originating from Polynomial Splines
261
Fig. 12.6 Impulse and magnitude responses of the filters derived from the cubic quasi-interpolating splines. Top analysis filters. Bottom synthesis filters
Figure 12.6, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from cubic quasi-interpolating splines.
12.3 Flter Banks Originating from Discrete Splines Prediction filters are derived from discrete splines by a scheme similar to the derivation scheme for polynomial splines. To be specific, discrete splines of span 2 are constructed which interpolate even samples of a signal. Then, odd samples are predicted by the midpoint values of the splines.
12.3.1 Summary for the Discrete Splines of Span 2 2r ∈ Here we gather several facts related to the special case of the discrete splines s[1] 2r S [1] with the span 2 (m = 1).
262
12 Biorthogonal Wavelet Transforms Originating from Splines
The centered B-spline b2r [1] is supported on the set −r + 1, ..., r − 1 when p = 2r . The DTFT and the z-transform of the centered discrete B-spline of order 2r are
ω 2r 2r (ω) = cos2r , b[1] (z) = bˆ[1] 2
z + 2 + 1/z 4
r .
(12.48)
The centered B-splines b2r [1] of different orders are displayed in Fig. 3.5. Discrete splines are represented either via B-splines or via discrete exponential splines 2r [k] s[1]
=
l∈Z
2r q[l] b[1] [k
1 − 2l] = 2π
π
−π
2r ξ[1] (ω) ζ[1] (ω)[k] dω,
2r is a 2π -periodic function. ˆ The symbol ξ[1] (ω) of the spline s[1] where ξ[1] (ω) = q(ω). The exponential splines, which are the Zak transforms of the discrete B-splines, are def iωl 2r 2r (ω)[k] = Z [b2r e b[1] [k − 2l] ζ[1] [1] ](ω)[k] = l∈Z
eiωk/2 = 2 =
eiωk/2 2
ω + 2π 2r ω 2r + (−1)k bˆ[1] bˆ[1] 2 2 ω ω cos2r + (−1)k sin2r . 4 4
(12.49)
The characteristic function of the space 2r S[1] is def
2r (ω)[m] = U 2r (ω) = ζ[1]
l∈Z
2r e−iωl b[1] [2l] =
ω 1 2r ω cos + sin2r . (12.50) 2 4 4
The functions U 2r (ω) are positive for all real ω. We define the function def
2r V 2r (ω) = ζ[1] (ω)[1] =
l∈Z
2r e−iωl b[1] [2l + 1]
(12.51)
eiω/2 2r ω ω cos − sin2r . = 2 4 4 def 2r [2k] and The functions U 2r (ω) and V 2r (ω) are the DTFT of the even b2r = b 1e [1] 2r def 2r odd b1o = b[1] [2k + 1] polyphase components of the discrete B-spline b2r [1] , respectively.
12.3 Flter Banks Originating from Discrete Splines
263
def 2r [2l] and The Laurent polynomials U¯ 2r (z) = l∈Z z −l b[1] def −l 2r V¯ 2r (z) = l∈Z z b[1] [2l + 1] are the z-transforms of the even and the odd ¯ 2r polyphase components, respectively, of the discrete B-spline b2r [1] . Thus U (z) and 2r ¯ V (z) can be derived directly from Eq. (12.48) using the relations in Eq. (2.14). def
Denote ρ(z) = z + 2 + z −1 . Then, the polynomials are: 1 2r 2r b[1] (z) + b[1] (−z) = U¯ 2r (z 2 ) = 2 z 2r 2r b[1] (z) − b[1] V¯ 2r (z 2 ) = (−z) = 2
ρ(z) r 1 ρ(−z) r , + 2 4 4 ρ(z) r z ρ(−z) r . − 2 4 4
(12.52) (12.53)
12.3.2 Prediction Filters 2r def 2r [2k] and s2r def 2r Denote by s[1e] = s[1] [1o] = s[1] [2k] the even and the odd polyphase 2r = s 2r [k] ∈ 2r S . As above, b2r and b2r denote components of a spline s[1] [1] [1] [1e] [1o] the even and the odd polyphase components, respectively, of the B-spline b2r [1] . 2r Assume that the spline s[1] interpolates the even polyphase component x0 of a signal x = {x[k]} at grid points: 2r [2k] = s[1] 2r [k] = s[1e]
l∈Z
l∈Z
2r q[l] b[1] [2k − 2l] = x[2k] ⇐⇒
(12.54)
2r q[l] b[1e] [k − l] = q b2r 2e [k] = x[2k].
Applying the DTFT and the z-transforms to the relation in Eq. (12.54), we get 2r 2r (ω) = q(ω) ˆ bˆ[1e] (ω) = q(ω) ˆ U 2r (ω) = xˆ0 (ω), sˆ[1e] 2r s[1e] (z) = q(z) U¯ 2r (z) = x0 (z).
Thus, q(ω) ˆ =
x0 (z) xˆ0 (ω) , q(z) = 2r . 2r ¯ U (ω) U (z)
(12.55)
The odd polyphase component of x is predicted by the odd polyphase component of 2r , which is derived from the coefficients q of the spline s2r by the spline s[1] [1]
264
12 Biorthogonal Wavelet Transforms Originating from Splines 2r s[1o] [k] = 2r (z) =⇒ s[1o] 2r sˆ[1o] (ω)
l∈Z
2r q[l] b[1o] [k − l] = q b2r 1o [k]
2r = q(z) b[1o] (z) = Ξ 2r (z) x0 (z),
= def
Ξ 2r (z 2 ) =
2r q(ω) ˆ bˆ[1o] (ω) V¯ 2r (z 2 )
=z
(12.56)
ˆ 2r
= Ξ (−ω) xˆ0 (ω), ρ r (z) − ρ r (−z) , ρ r (z) + ρ r (−z)
U¯ 2r (z 2 ) 2r eiω/2 cos2r ω/4 − sin2r ω/4 def V (ω) Ξˆ 2r (ω) = = . U 2r (ω) 2 cos2r ω/4 + sin2r ω/4
(12.57) (12.58)
Remark 12.3.1 It is seen from Eqs. (12.57) and (12.58) that the function z −1 Ξ 2r (z 2 ) is symmetric about inversion z → 1/z, while the function e−iω Ξˆ 2r (2ω) is symmetric about the swap ω → −ω. Equation (12.56) means that, in order to derive the odd polyphase component of the 2r , which interpolates the even polyphase component x = {x[2k]} at grid spline s[1] 0 2r [2k] = x[2k]), the signal x should be filtered with the points {2k} (such that s[1] 0 filter f˜ 2r , whose transfer function and frequency response are fˆ2r (−ω) = Ξˆ 2r (ω),
f˜2r (z −1 ) = Ξ 2r (z),
(12.59)
respectively. The transfer functions are rational functions. The structure of their denominators U¯ 2r (z) is similar to the structure of the denominators u¯ p (z) of the transfer functions of prediction filters derived from polynomial splines. Equation (12.52) is equivalent to z −r U¯ 2r (z 2 ) = 2r +1 Dr (z), 2
def Dr (z) = (z + 1)2r + (−1)r (z − 1)2r .
(12.60)
Proposition 12.6 If r = 2 p + 1, then the following representation holds: Dr (z) = 4r (γ1r γ2r . . . γ pr )−1 z r
p
(1 + γkr z −2 )(1 + γkr z 2 ),
(12.61)
k=1
where γkr = cot 2
( p + k)π < 1, k = 1, . . . , p. 2r
If r = 2 p, then Dr (z) = 2(γ1r γ2r . . . γ pr )−1 z r
p k=1
(1 + γkr z −2 )(1 + γkr z 2 ),
(12.62)
12.3 Flter Banks Originating from Discrete Splines
265
where γkr = cot 2
(2 p + 2k − 1)π < 1, k = 1, . . . , p. 4r
Proof Suppose that r = 2 p + 1. The equation Dr (z) = 0 is equivalent to (z + 1)2r = (z − 1)2r . The roots of this latter equation can be found from the relation z k + 1 = e2πik/2r (z k − 1), k = 1, 2, . . . , 2r − 1. Hence, we have zk =
kπ e2πik/2r + 1 = −i cot , k = 1, 2, . . . , 2r − 1 2πik/2r e −1 2r
(12.63)
The points xk = cot kπ/2r are symmetric about zero and x2 p+1−k = xr −k = 1/xk , therefore we can write Dr (z) = 4r z
2p
(z 2 + xk2 ) = 4r z
k=1
p
(z 2 + γkr )(z 2 + (γkr )−1 ),
k=1
where γkr = x 2p+k . Hence (12.63) follows. When r = 2 p the roots are derived from the equation z k +1 = e2πi(k−1/2)/2r (z k − 1). Thus, z k = −i cot
(2k + 1)r π , k = 0, 1, . . . , 2r − 1. 4r
(12.64)
Hence (12.62) is derived. According to Proposition 4.11, the transfer functions f˜2r (z −1 ) can be expanded into a Laurent series, whose coefficients decay exponentially. Therefore, filtering can be implemented in a two-directional recursive mode as it is described in Sect. 2.2.2.
12.3.2.1 Butterworth Wavelets If the update filter f 2r is chosen to be equal to the predict filter f˜ 2r , then the transfer function f 2r (z) = f˜2r (z) = Ξ 2r (z −1 ). Denote def Φˆ 2r (ω) = 1 + eiω Ξˆ 2r (−2ω), def Ψˆ 2r (ω) = 1 − eiω Ξˆ 2r (−2ω), Ψ 2r (z) = 1 − z Ξ 2r (z −2 ) = Ψ 2r (z −1 ), 2 def 2 def W 2r (z) = 1 − Ξ 2r (z) = Φ 2r (z) Ψ 2r (z), Wˆ 2r (w) = 1 − Ξˆ 2r (ω) . def
Φ 2r (z) = 1 + z Ξ 2r (z −2 ) = Φ 2r (z −1 ) def
(12.65)
Then, due to Eqs. (12.1), (12.2) and (12.3), the transfer functions and the magnitude responses of the synthesis and analysis filter banks are
266
12 Biorthogonal Wavelet Transforms Originating from Splines
h (z) = 0
h˜ 1 (z) = h˜ 0 (z) = h 1 (z) =
√ √ 2 2r 2 2r 0 ˆ Φˆ (ω), (12.66) Φ (z), h (ω) = 2 √ 2 √ 2 2r 2 2r Ψ (z), hˆ˜ 1 (ω) = e−iω Ψˆ (ω), z −1 (12.67) 2 2 √ √ 2 2r 2 2r Φ (z) 1 + Ψ 2r (z) = h 0 (z) + W (z), (12.68) 2 √ 2 √ 2 2r 2 2r Ψ (z) 1 + Φ 2r (z) = h˜ 1 (z) + z −1 W (z). z −1 2 2
Equations (12.57) and (12.58) enable us to explicitly present the above analysis and synthesis filters. For this, we calculate 2ρ r (z) 2 cos2r ω/2 ˆ 2r (ω) = , Φ , ρ r (z) + ρ r (−z) cos2r ω/2 + sin2r ω/2 2ρ r (−z) 2 sin2r ω/2 ˆ 2r (ω) = . , Ψ Ψ 2r (z) = r ρ (z) + ρ r (−z) cos2r ω/2 + sin2r ω/2 Φ 2r (z) =
We get W 2r (z) = Φ 2r (z) Ψ 2r (z) ==
4ρ r (z) ρ r (−z)
, (ρ r (z) + ρ r (−z))2 4 cos2r ω/2 sin2r ω/2 Wˆ 2r (w) = Φˆ 2r (ω) Ψˆ 2r (ω) =
2 . cos2r ω/2 + sin2r ω/2 The transfer functions and the frequency responses of the filters h˜ 1 and h0 are √ √ −1 2ρ r (−z) e−iω 2 sin2r ω/2 ˆ 1 ˜ ˜h 1 (z) = z , h (ω) = , ρ r (z) + ρ r (−z) cos2r ω/2 + sin2r ω/2 √ r √ 2ρ (z) 2 cos2r ω/2 , hˆ 0 (ω) = . h 0 (z) = r r ρ (z) + ρ (−z) cos2r ω/2 + sin2r ω/2
(12.69) (12.70)
Explicit expressions of the filters lead to apparent conclusions: Proposition 12.7 1. The high-pass filters h˜ 1 and h1 derived from the discrete splines of order 2r eliminate sampled polynomials of degree 2r − 1 (have 2r discrete vanishing moments). The low-pass filters h˜ 0 and h0 restore such polynomials. 2. The impulse responses of the filters h0 derived from the discrete splines of order 2r belong to the spline space 2r S[1] , while the impulse responses of h˜ 1 belong 2r to the orthogonal space √ W[1] . −1 1 −1 √ 0 3. The functions h (z)/ 2 and z h˜ (z )/ 2 coincide with the magnitude squared transfer functions of the low-pass and high-pass half-band Butterworth
12.3 Flter Banks Originating from Discrete Splines
267
√ √ filters of order r , respectively. The functions hˆ 0 (ω)/ 2 and e−iω hˆ˜ 0 (−ω)/ 2 coincide with the magnitude squared frequencyresponses of the low-pass and high-pass half-band Butterworth filters of order r , respectively. Proof 1. Proof is similar to the proof of Proposition 12.5. −1 def
2. Denote ξ(ω) = cos2r ω/4 + sin2r ω/4 . Then, −1 ξ(ω + 2π ) = cos2r (ω/4 + π/2) + sin2r (ω/4 + π/2) = ξ(ω). Thus, ξ(ω) is a 2π -periodic function. The frequency responses of the filters h0 and h˜ 1 can be represented as hˆ 0 (ω) =
√ √ ω ω 2 cos2r ξ(2ω), hˆ˜ 1 (ω) = e−iω 2 sin2r ξ(2ω). 2 2
Then, the statement follows from Corollaries 10.1 and 10.2. 3. It is sufficient to compare Eqs. (12.69) and (12.70) with Eqs. (2.45) and (2.46). The impulse responses of the analysis and synthesis filters are the biorthogonal discrete-time Waveletsof the first level: ϕ[1] [k] = h 0 [k], ϕ˜ [1] [k] = h˜ 0 [k], ψ[1] [k] = h 1 [k], ψ˜ [1] [k] = h˜ 1 [k]. The Waveletsof lower levels are derived iteratively using Eq. (11.42). Due to the relation of the filters to the Butterworth filters, it is natural to refer to the Waveletsderived from discrete splines as Butterworth Wavelets. Remark 12.3.2 The one-pass Butterworth filters were used in [8] for the design of orthogonal non-symmetric Wavelets. The computations in [8] were conducted in the time domain using recursive filtering.
12.3.2.2 Examples Spline of Second Order: r = 1
2 (z) = b[1]
1 z −1 z + 2 + 1/z = + 1 + z2 . 4 2 4
Thus the z-transforms of the polyphase components 1 1+z 1+z =⇒ Ξ 2 (z) = . U¯ 2 (z) = , V¯ 2 (z) = 2 4 2
(12.71)
268
12 Biorthogonal Wavelet Transforms Originating from Splines
Comparing Eq. (12.71) with Eq. (12.31), we observe that Ξ 2 (z) = Ω 2 (z). Thus, the prediction filter derived from the discrete spline of second order coincides with the filter derived from the second-order polynomial spline. Splines of fourth order: r = 2 z −1 1 2 1 2 z + 4z + 6 + 4z −1 + z −2 = z + 6 + z −2 + 1 + z2 , 16 16 4 −1 √ (1 + α z)(1 + α /z) z + 6 + z 2 2 = , γ2 = 3 − 2 2 ≈ 0.1716, (12.72) U¯ 4 (z) = 16 16 γ2 1+z 1+z , Ξ 2 (z) = 4 . V¯ 4 (z) = 4 z + 6 + z −1 4 (z) = b[1]
Comparing Eq. (12.72) with Eq. (12.34), we observe that the prediction filter derived from the discrete spline of fourth order coincides with the filter derived from the quadratic polynomial spline. Consequently, all the analysis and synthesis filters are the same for these two kinds of splines. Such a coincidence does not take place for higher order splines. Splines of sixth order: r = 3 z 3 + 6z 2 + 15z + 20 + 15z −1 + 6z −2 + z −3 256 6 (z) ¯ (1 + z)(z + 14 + z −1 ) V 1 . =⇒ Ξ 6 (z) = 6 = 6 z + 10 + z −1 U¯ (z) 6 (z) = b[1]
(12.73)
The characteristic polynomial U¯ 6 (z) is factorized into (1 + γ3 z)(1 + γ3 /z) , γ3 = 1/3 ≈ 0.333. U¯ 6 (z) = 32 γ3
(12.74)
The high-pass filters h˜ 1 and h1 eliminate sampled polynomials of the fifth degree (have 6 discrete vanishing moments). The low-pass filters h˜ 0 and h0 restore such polynomials. Figure 12.7, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the sixth-order discrete splines.
12.3 Flter Banks Originating from Discrete Splines
269
Fig. 12.7 Impulse and magnitude responses of the filters derived from the sixth-order discrete splines. Top analysis filters. Bottom synthesis filters
Splines of eighth order: r = 4 z 4 + 8z 3 + 28z 2 + 56z + 70 + 56z −1 + 28z −2 + 8z −3 + z −4 256 8 (z) ¯ V (1 + z)(z + 6 + z −1 ) . (12.75) =⇒ Ξ 8 (z) = 8 =8 2 z + 28z + 70 + 28z −1 + z −2 U¯ (z) 8 (z) = b[1]
The characteristic polynomial U¯ 8 (z) is factorized into U¯ 8 (z) =
(1 + γ41 z)(1 + γ41 /z)(1 + γ42 z)(1 + γ42 /z)
256γ41 γ42 √ √ γ41 = 7 − 4 2 − 2 20 − 14 2 ≈ 0.4465, √ √ γ42 = 7 + 4 2 + 2 20 − 14 2 ≈ 0.0396.
,
(12.76)
The high-pass filters h˜ 1 and h1 eliminate sampled polynomials of the seventh degree (have 8 discrete vanishing moments). The low-pass filters h˜ 0 and h0 restore such polynomials. Figure 12.8, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the analysis and synthesis filters derived from the eighth-order discrete splines.
270
12 Biorthogonal Wavelet Transforms Originating from Splines
Fig. 12.8 Impulse and magnitude responses of the filters derived from the eighth-order discrete splines. Top analysis filters. Bottom synthesis filters
Splines of tenth order: r = 5 Ξ 10 (z) =
V¯ 10 (z) 1 (1 + z)(z 2 + 44z + 166 + 44z −1 + z −2 ) . (12.77) = 2 5z 2 + 60z + 126 + 60z −1 + 5z −2 U¯ 10 (z)
The characteristic polynomial U¯ 8 (z) is factorized into U¯ 10 (z) =
(1 + γ51 z)(1 + γ51 /z)(1 + γ52 z)(1 + γ52 /z) 512γ51 γ52
,
(12.78)
√ √ γ51 = 2 5 − 5 ≈ 0.5279, γ52 = 2/ 5 − 1 ≈ 0.1056. The high-pass filters h˜ 1 and h1 eliminate sampled polynomials of the ninth degree (have 10 discrete vanishing moments). The low-pass filters h˜ 0 and h0 restore such polynomials. Figure 12.9, which is produced by MATLAB code BW_exampN.m, displays the impulse and magnitude responses of the filters derived from the tenthorder discrete splines.
12.3 Flter Banks Originating from Discrete Splines
271
Fig. 12.9 Impulse and magnitude responses of the filters derived from the tenth-order discrete splines. Top analysis filters. Bottom synthesis filters
12.3.2.3 Implementation Practically, the described Wavelet transforms are implemented in a lifting mode using the prediction filters Ξ 2r . The update filters can be chosen to be equal to the prediction filters but not necessarily so. The direct lifting Wavelet transforms are implemented by the MATLAB function BW_analN.m, while the inverse transforms are implemented by the MATLAB function BW_synthN.m. For all r > 1, the filters Ξ 2r have infinite impulse responses. However, due to the rationality of the transfer functions and a special structure of their denominators described in Proposition 12.6, the transforms are implemented via a cascade of FIR and causal-anticausal recursive filtering. This is done by the MATLAB function caus_acaus_filt.m. For example, the transfer function Ξ 8 (z) can be factored as Ξ 8 (z) = 8 γ41 γ42
1 1 1 1 (z + 7 + z −1 ) (1 + z). 1 1 2 1 + γ4 z 1 + γ4 /z 1 + γ4 z 1 + γ42 /z
This means that the application of the filter Ξ 8 to a signal x = {x[k]}: y = Ξ 8 x can be split into the following sequence of elementary operations:
272
12 Biorthogonal Wavelet Transforms Originating from Splines
y1 [k] = x[k] + x[k + 1], y2 [k] = y1 [k + 1] + 7y1 [k] + y1 [k − 1], y3 [k] = y2 [k] + γ42 y3 [k − 1] causal recursion, y4 [k] = y3 [k] + γ42 y4 [k + 1] anticausal recursion, y5 [k] = y4 [k] + γ41 y5 [k − 1] causal recursion, y6 [k] = y5 [k] + γ41 y6 [k + 1] anticausal recursion, y[k] = 8 γ41 y6 [k]. Remark 12.3.3 It is established in [6] that any biorthogonal Wavelet transform can be factorized into a sequence of lifting (predict–update) steps. For example, the onelevel decomposition with the 9/7 filters comprises the following operations on the even x0 [k] and the odd x1 [k] polyphase components of a signal x[k]: x1 [k] = x1 [k] + (x0 [k] + x0 [k + 1])α1 , x0 [k] = x0 [k] + (x1 [k] + x1 [k − 1])α2 , y 1 [k] = x1 [k] + (x0 [k] + x0 [k + 1])α3 , y 0 [k] = x0 [k] + (y 1 [k] + y 1 [k − 1])α4 , where α1 = −1.586134342, α2 = −0.05298011854, a3 = 0.8829110762, a4 = 1.149604398. Here y 0 [k] and y 1 [k] are the low- and high-frequency coefficients, respectively, of the Wavelet transform. A similar factorization of the 9/7 filters is independently presented in [1]. Direct and inverse lifting Wavelet transforms with 9/7 filters are implemented by the MATLAB functions BW_analN.m and BW_synthN.m, respectively.
12.3.2.4 2D Wavelet Transform The two-dimensional Wavelet transforms of an array X are implemented in a standard way: 0 (low1. 1D transform is applied to rows of X, thus producing two subarrays Y[1] 1 (high-frequency) 0 Y1 frequency) and Y[1] Y[1] [1] 0 and Y1 thus producing 2. 1D transform is applied to columns of the subarrays Y[1] [1]
0,0 0,1 1,0 (low-low-frequency), Y[1] (low-high-frequency), Y[1] (highfour subarrays Y[1] 1,1 low-frequency) and Y[1] (high-high-frequency) :
0,0 1,0 Y[1] Y[1] 0,1 1,1 Y[1] Y[1]
12.3 Flter Banks Originating from Discrete Splines
0,0 3. The above procedures are applied to the subarray Y[1] to generate
273 0,0 1,0 Y[2] Y[2] 0,1 1,1 Y[2] Y[2] 0,1 Y[1]
1,0 Y[1] 1,1 Y[1]
4. The procedures are iterated until a prescribed level J . The direct and inverse 2D lifting Wavelet transforms are implemented by the MATLAB functions BW_analN_2D.m and MATLAB function BW_synthN_2D.m, respectively.
References 1. A. Averbuch, F. Meyer, J.-O. Stromberg, Fast adaptive wavelet packet image compression. IEEE Trans. Image Process. 9(5), 792–800 (2000) 2. A. Averbuch, A.B. Pevnyi, V. Zheludev, Biorthogonal Butterworth wavelets derived from discrete interpolatory splines. IEEE Trans. Signal Process. 49(11), 2682–2692 (2001) 3. A. Averbuch, A.B. Pevnyi, V. Zheludev, Butterworth wavelet transforms derived from discrete interpolatory splines: recursive implementation. Signal Process. 81(11), 2363–2382 (2001) 4. A. Averbuch, V. Zheludev, Construction of biorthogonal discrete wavelet transforms using interpolatory splines. Appl. Comput. Harmon. Anal. 12(1), 25–56 (2002) 5. I. Daubechies, Ten Lectures on Wavelets (SIAM, Philadelphia, PA, 1992) 6. I. Daubechies, W. Sweldens, Factoring wavelet transforms into lifting steps. J. Fourier Anal. Appl. 4(3), 245–267 (1998) 7. D. Donoho, Interpolating wavelet transform. Preprint 408, Department of Statistics, Stanford University (1992) 8. C. Herley, M. Vetterli, Wavelets and recursive filter banks. IEEE Trans. Signal Process. 41(12), 2536–2556 (1993) 9. N. Saito, G. Beylkin, Multiresolution representations usung the auto-correlation functions of compactly supported wavelets. IEEE Trans. Signal Process. 41(12), 3584–3590 (1993) 10. W. Sweldens, Lifting scheme: a new philosophy in biorthogonal wavelet constructions, in ed. by A.F. Laine, M.A. Unser, Wavelet Applications in Signal and Image Processing III. Proc. SPIE, vol. 2569, pp. 68–79 (1995) 11. W. Sweldens, The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 12. W. Sweldens, The lifting scheme: a construction of second generation wavelets. SIAM J. Math. Anal. 29(2), 511–546 (1997) 13. V. Zheludev, Local spline approximation on a uniform mesh. U.S.S.R. Comput. Math. Math. Phys. 27(5), 8–19 (1987) 14. V. Zheludev, Interpolatory subdivision schemes with infinite masks originated from splines. Adv. Comput. Math. 25(4), 475–506 (2006)
Chapter 13
Data Compression Using Wavelet and Local Cosine Transforms
Abstract The chapter describes an algorithm that compresses two-dimensional data arrays, which are piece-wise smooth in one direction and have oscillating events in the other direction. Seismic, hyper-spectral and fingerprints data, for example, have such a mixed structure. The transform part of the compression process is an algorithm that combines wavelet and local cosine transform (LCT). The quantization and the entropy coding parts of the compression are taken from the SPIHT codec. To efficiently apply the SPIHT codec to a mixed coefficients array, reordering of the LCT coefficients takes place. On the data arrays, which have the mixed structure, this algorithm outperforms other algorithms that are based on the 2D wavelet transforms combined with the SPIHT coding and on the JPEG 2000 compression standard. The algorithm retains fine oscillating events even at a low bitrate. Its compression capabilities are also demonstrated on multimedia images that have a fine texture. The wavelet part in the mixed transform of the presented algorithm utilizes the library of Butterworth wavelet transforms described in Chap. 12. Currently, wavelet transforms constitute a recognized tool for signal and image processing applications. In particular, they have gained proven success in data compression. A main reason for such a success is a dual time-frequency (spatialfrequency) nature of wavelet transforms. This duality allows separation of smooth areas in a signal (image) from sharp transitions and high-frequency oscillations (edges in images). As a result, a signal (image) can be represented with a sufficient accuracy by a relatively small number of the transform’s coefficients.
13.1 Spatial and Spectral Meaning of Wavelet Transform Coefficients In this section, we summarize some known facts that highlight the duality of the wavelet transform coefficients. Multiscale wavelet transform of a signal is implemented via iterated multirate filtering. One step in the transform of a signal x = {x[k]} consists of filtering the signal by an, approximately half-band, low-pass filter h˜ 0 and a high-pass filter h˜ 1 . This filtering is followed by factor-2 downsampling of both filtered signals. Thus, © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_13
275
276
13 Data Compression Using Wavelet and Local Cosine Transforms def
two sets of coefficients y0[1] =
0 [k] and y1 def 1 y[1] [1] = y[1] [k] are produced. The
coefficients’ set y0[1] contains the whole information of the low frequency component of the signal x. The set y1[1] does the same for the high frequency component of the signal x. On the other hand, the wavelet coefficients have a spatial meaning. It is j stated in Eq. (11.25) that the coefficients y[1] [k] , j = 0, 1, are represented as follows: 0 [l] = y[1] k∈Z ϕ˜ [1] [k − 2l] x[k] = x, ϕ˜ [1] [· − 2l] , 1 [l] = y[1]
˜
k∈Z ψ[1] [k
− 2l] x[k] = x, ψ˜ [1] [· − 2l] ,
(13.1)
def def where the signals ϕ˜[1] [k] = h˜ 0 [k] and ψ˜ [1] [k] = h˜ 1 [k] are the discrete-time lowfrequency and high-frequency analysis wavelets, respectively, of the first decomposition level. j The relations in Eq. (13.1) mean that the coefficients y[1] [k] , j = 0, 1, are the correlation coefficients of the signal x with two-sample shifts of the wavelets ϕ˜[1] and 0 [l] is related to the translated waveform ψ˜ [1] , respectively. Namely, the coefficient y[1] 0 [l] ϕ˜[1] [k − 2l], which is centered around the sample 2l. Similarly, the coefficient y[1] is the correlation coefficient of the signal x with the waveform ψ˜ [1] [k − 2l], which is centered around the sample 2l + 1. The DTFTs of the wavelets ϕ˜[1] and ψ˜ [1] occupy the low-frequency 1and the high0 F[1] . as seen in frequency subbands of the interval F[0] = (−π, π ): F[0] → F[1] figures from Chap. 12, for example, in Fig. 12.9. Loosely speaking, the coefficients’ sets y0[1] and y1[1] split the frequency band F0 . The next step of the wavelet transform applies the pair of filters h˜ 0 and h˜ 1 to the “low-frequency” coefficients’ array y0[1] . The filtering is followed by downsampling. The produced sets of coefficients y0[2] and y1[2] from filtering by h˜ 0 and h˜ 1 , respectively, are the correlation coefficients of the signal x with four-sample shifts of the secondlevel wavelets ϕ˜ [2] and ψ˜ [2] that, loosely speaking, are two times dilations of the first-level wavelets ϕ˜[1] and ψ˜ [1] , respectively. Their DTFTs split the sub-band 0 0 → F[2] F[1]
1 0 =⇒ F[0] → F[2] F[2]
1 F[2]
1 . F[1]
1 [l] is related to the wavelet ψ ˜ [2] [k − 4l], The “high-frequency coefficient” y[2] which is centered around the sample 4l + 2. Then this decomposition is iterated to reach level J . It results in the coefficients’ array y[J ] whose structure is y[J ] = y0[J ] y1[J ] y1[J −1] . . . y1[1] . 1 [l], 1 ≤ m ≤ J is related to the wavelet The “high-frequency” coefficient y[m] ψ˜ [2] [k − 2m l], which is centered around the sample 2m l + 2m−1 .
13.1 Spatial and Spectral Meaning of Wavelet Transform Coefficients
277
Fig. 13.1 Top left The analysis wavelets derived from interpolating quadratic spline (left to right): ϕ˜ [3] [k], ψ˜ [3] [k], ψ˜ [2] [k], ψ˜ [1] [k]. Top right the magnitudes of their DTFTs (half band). Bottom the same for the synthesis wavelets ψ[ j] [k], j = 1, 2, 3, ϕ[3] [k]
Respectively, the frequency band F[0] becomes split into subbands whose widths are distributed in an approximately logarithmic way such that F[0] −→ F0[J ]
F1[J ]
F1[J −1]
...
F1[1] .
The analysis ψ˜ [ j] [k], j = 1, 2, 3, ϕ˜[3] [k] and the synthesis ψ[ j] [k], j = 1, 2, 3, ϕ[3] [k] discrete-time wavelets from the first to third decomposition levels, which are derived from the interpolating quadratic spline, are displayed in Fig. 13.1. The right panels in the figure display the magnitudes of the DTFTs of these wavelets. The wavelets derived from the tenth-order discrete spline and their DTFTs are displayed in Fig. 13.2. Both figures are produced by the MATLAB code BW_examp_3levN. Remark 13.1.1 Note that the wavelets derived from the quadratic spline are well localized in the time domain, but their DTFTs are strongly overlapped. On the contrary, the wavelets derived from the tenth-order discrete spline have small overlap in the frequency domain, but their effective supports in the time domain are much wider compared to those of the quadratic spline wavelets.
278
13 Data Compression Using Wavelet and Local Cosine Transforms
Fig. 13.2 Top left The analysis wavelets derived from tenth-order discrete spline (left to right): ϕ˜ [3] [k], ψ˜ [3] [k], ψ˜ [2] [k], ψ˜ [1] [k]. Top right the magnitudes of their DTFTs (half band). Bottom the same for the synthesis wavelets ψ[ j] [k], j = 1, 2, 3, ϕ[3] [k]
Tree structure of the wavelet transform coefficients Assume that a signal x is decomposed down to the level J = 3. The “high1 [l] from the coarsest level is related to the wavelet ψ ˜ [3] [k + frequency” coefficient y[3] 8l], which is centered around the sample 8l + 4. The “high-frequency” coefficients 1 [2l] and y 1 [2l + 1] from the second decomposition level are related to the y[2] [2] wavelets ψ˜ [2] [k+8l] and ψ˜ [2] [k+8l+4], which are centered around the samples 8m+ 2 and 8m + 6, respectively. These waveforms occupy, approximately, the same area as the waveform ψ˜ [3] [k + 8l]. In that sense, we claim that the finer level coefficients 1 [2l] and y 1 [2l +1] are the “offsprings” of the coarsest level coefficient y 1 [l]. In y[2] [2] [3] 1 [4l], y 1 [4l +1], y 1 [4l +2] turn, their “offsprings” are the fine-scale coefficients y[1] [1] [1] 1 [4l + 3]. Thus, the coarsest-scale coefficient y 1 [l], is the root of the tree and y[1] [3] 1 [4l], y[1] 1 [4l + 1], y[1] 1 1 [2l + 1] y[1] [4l + 2], y[2] y 1 [4l + 3]. [1]
1 y[3] [l]
1 [2l] y[2]
(13.2)
13.2 SPIHT Coding Scheme
279
13.2 SPIHT Coding Scheme The wavelet transform of a two-dimensional array X = {x[n, m]} of size N × M is implemented in a tensor product form, as explained in Sect. 12.3.2.4. The layout of the transform coefficients, which corresponds to the partition of the frequency domain for a three-level wavelet transform, is displayed in Fig. 13.3. 0,1 1,0 1,1 0,0 The coefficients’ arrays Y[J ] , Y[J ] and Y[J ] are derived from the array Y[J −1]
0,1 1,0 1,1 by the same operations as the coefficients’ arrays Y[J −1] , Y[J −1] and Y[J −1] are 0,0 derived from the array Y[J −2] , respectively. Similarly to the 1D case, each coefficient
0,1 0,1 1,0 1,0 1,1 1,1 y[J ] [n, m] ∈ Y[J ] , y[J ] [n, m] ∈ Y[J ] and y[J ] [n, m] ∈ Y[J ] from the coarse scale has four “offsprings” from the finer scale J − 1 such that
0,1 y[J ] [n, m]
1,0 y[J ] [n, m]
1,1 y[J ] [n, m]
0,1 y[J −1] [2n, 2m], 0,1 y[J −1] [2n + 1, 2m], 0,1 y[J −1] [2n, 2m + 1], 0,1 y[J −1] [2n + 1, 2m + 1], 1,0 y[J −1] [2n, 2m], 1,0 y[J −1] [2n + 1, 2m], 1,0 y[J −1] [2n, 2m + 1], 1,0 y[J −1] [2n + 1, 2m + 1], 1,1 y[J −1] [2n, 2m], 1,1 y[J −1] [2n + 1, 2m], 1,1 y[J −1] [2n, 2m + 1], 1,1 y[J −1] [2n + 1, 2m + 1].
Fig. 13.3 Layout of coefficients of a three-level 2D wavelet transform
(13.3)
280
13 Data Compression Using Wavelet and Local Cosine Transforms
Fig. 13.4 Relationship among wavelet coefficients from different scales
Similar relations exist between the coefficients from the scales J − 1 and J − 2, and so on. These relations for J = 3 are illustrated in Fig. 13.4. 0,1 0,1 1,0 1,0 1,1 1,1 Thus, each coefficient y[J ] [n, m] ∈ Y[J ] , y[J ] [n, m] ∈ Y[J ] or y[J ] [n, m] ∈ Y[J ] from the coarse scale (level) can be regarded as a root of a quad-tree of coefficients. This relationship between wavelet coefficients in different scales is exploited in the embedded zerotree wavelet (EZW) codec [15]. This codec takes advantage of the self-similarity between wavelet coefficients across the decomposed scales and their decay toward high frequency scales. The basic assumption in the EZW codec is that if a root coefficient is close to zero then all the coefficients that belong to the quadtree are close to zero. If this is the case, then the whole tree can be coded by a small number of bits. One efficient coding algorithms, which is based on the zerotree concept, is the Set Partitioning In Hierarchical Trees (SPIHT) algorithm [12, 14]. SPIHT added to the EZW algorithm a set-partitioning technique. This algorithm combines adaptive quantization of the wavelet coefficients with coding. The algorithm presents a scheme for progressive coding of coefficients’ values when the most significant bits are coded first. This property allows to have a tight control of the compression budget. The produced bitstream is further compressed losslessly by the application of adaptive arithmetic coding [13, 18]. The SPIHT coding procedure is fast and its decoding procedure is even faster. Biorthogonal symmetric wavelets manifested remarkable abilities in still image compression, especially when the 9/7 wavelets [1] are used, which were adopted by JPEG 2000 image compression standard [16]. However, the spline-based biorthogonal wavelets described in Chap. 12 proved to be quite competitive with the 9/7 wavelets and, in a number of experiments, even outperformed them [3].
13.3 Local Cosine Transform for Data Compression
281
13.3 Local Cosine Transform for Data Compression The wavelet transforms techniques were applied to seismic compression [7, 17]. However, the outcomes were less impressive due to the great variability of seismic data, the inherent noisy background and their oscillatory nature. Moreover, some researchers have argued that seismic signals are not wavelet-friendly ([5, 10]), due to oscillatory patterns that are present in seismic data. Typically, seismic data has different structure in its vertical and horizontal directions. While its horizontal structure is piece-wise smooth, the vertical traces comprise oscillatory patterns. Wavelets provide a sparse representation of such mixedstructured data in the horizontal direction but fail to properly capture the vertical oscillations. On the other hand, oscillatory patterns are handled much better by local cosine transforms (LCT). Therefore, it is advisable to apply the wavelet transform to the horizontal direction and the LCT to the vertical direction. It turns out that the LCT coefficients can be rearranged in such a way that the combined array consisting of the wavelet and LCT coefficients has a quad-tree structure similar to the structure of the coefficients from the 2D wavelet transform. Thus, the combined coefficients’ array can be quantized and coded using the SPIHT algorithm. Such a “hybrid” compression scheme ([4]) combines the strengths of the LCT for capturing oscillating events, the strengths of wavelet transforms for handling piece-wise data and the multiscale coding of SPIHT.
13.3.1 Local Cosine Transform (LCT) Two types of the discrete cosine transforms (DCT) are used for data compression: N −1 1. Direct and inverse DCT-II of a signal x = {x[k}k=0 , N = 2 j , are:
xˆ I I [n] = b[n]
N −1
x[k] cos
k=0
x I I [k] =
2 N
N −1
nπ N
√ 1 1/ 2, if n = 0; k+ , b[n] = 1, otherwise, 2
b[n] xˆ I I [n] cos
n=0
nπ N
1 k+ . 2
2. Direct and inverse DCT-IV of a signal x, are: xˆ
IV
[n] =
N −1 k=0
x
IV
π x[k] cos N
1 n+ 2
1 k+ , 2
N −1 1 1 2 IV π n+ k+ . [k] = xˆ [n] cos N N 2 2 n=0
282
13 Data Compression Using Wavelet and Local Cosine Transforms
Unlike DCT-II, no coefficient of DCT-IV is the average of the function f . Thus, applying DCT-IV to a flat constant function will result in many non-zero transform coefficients. This is of course a disadvantage of DCT-IV when it is used in transform coding of smooth signals. On the other hand, the DCT-IV is a good choice for efficient coding of oscillatory signals. An important difference between DCT-II and DCT-IV lies in the symmetry of the transform basis functions at the boundaries of intervals. The cosine element in their 1 k + the basis function of the DCT-II has the term nπ N 2 , while the cosine element π 1 1 in the DCT-IV has the term N n + 2 k + 2 . Thus, the difference between them is the replacement of the term n by n+ 12 . This difference totally changes the symmetry behavior of the basis functions at the boundaries. By expanding the range of k from 0, . . . , N − 1 to −N , . . . , 2N − 1, the basis functions of DCT-II become even on both sides, e.g., even with respect to − 21 and N − 21 . Therefore, application of this transform to partitioned signals and images reduces the blocking effect. This was one of the reasons why 8 × 8 2D DCT-II transforms are used in the JPEG image compression standard. When applying the same extension to DCT-IV, the basis functions of DCT-IV become even on the left side with respect to − 21 and odd on the right side with respect to N − 21 . Therefore, direct application of the DCT-IV transforms to a partitioned data leads to severe boundary discrepancies. However, this transform serves as a base for the so called local cosine bases [6], which are windowed lapped DCT-IV transforms. These bases were successfully exploited in [2, 5, 9, 10] for image and seismic data compression. def N −1 and a partition P of the interval 0 : Assume that we have a signal x = {x[k]}k=0 N − 1. The idea behind the lapped DCT-IV transform, also referred to as local cosine transform (LCT), of a signal, is to apply overlapped bells to adjacent sub-intervals. The overlapping parts are folded back to the sub-intervals across the endpoints of the sub-intervals. The DCT-IV transform is applied on each sub-interval. In the reconstruction phase, the transform coefficients are unfolded. For details, we refer to [2, 5, 8]. We refer to this transform as P-based lapped DCT or local CT. It is important that the LCT produces no discrepancies between adjacent intervals. We illustrate the implementation of the LCT in Fig. 13.5. The choice of a bell is discussed in [2, 9]. There are fast algorithms that implement the LCT.
13.3.2 A Hybrid Algorithm for Data Compression The idea behind the algorithm is to apply a wavelet transform in the horizontal direction and the LCT in the vertical direction, or vice versa. The mixed waveletLCT transforms coefficients are encoded by the SPIHT algorithm. For this, it is necessary to establish an ancestor-descendant relationship between the transform coefficients that will be similar to the relationship in the array of the
13.3 Local Cosine Transform for Data Compression
283
Fig. 13.5 Scheme of LCT
2D multi-level wavelet transform’s coefficients. The coefficients of the LCT are to be reordered in a way that mimics the layout of the wavelet transform coefficients. The array of DCT coefficients {c[k]} , k = 0, ...J −1, of a signal of length J = 2 j produces a natural logarithmic split of the frequency band after being separated into j + 1 blocks: ⎞T c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] ⎠ . ⎝ c[8] c[9] c[10] c[11] c[12] c[13] c[14] c[15]... ⎛
(13.4)
The partition in Eq. (13.4) appears automatically when the coefficients’ indices are presented in a binary mode: ⎞T c0 c1 c10 c11 c100 c101 c110 c111 ⎠ . ⎝ c1000 c1001 c1010 c1011 c1100 c1101 c1110 c1111 ⎛
(13.5)
Thus, the array is partitioned according to the number of bits in the coefficients’ indices. We call this a bit-wise partition. Assume that we are given an N × M data array X, where N = 2 j Q, M = 2m R. def
We define the partition P of the interval I = [0, 1, ..., N − 1] by splitting it into Q i I of length J = 2 j each. We apply the P-based LCT Q subintervals I = i=1 transform to each column of X, as described in Sect. 13.3.1. Thus, the array X is transformed into the array C of LCT coefficients. For each column, we get the array c of N LCT coefficients, which consists of Q J −1 Q def blocks c = i=1 ci , where ci = ci [k] k=0 . Each of the blocks can be bit-wise j partitioned as in Eq. (13.5) to be ci = β=0 biβ , where bi0 = ci [0], bi1 = ci [1],
284
13 Data Compression Using Wavelet and Local Cosine Transforms
bi2 = ci [2], ci [3], and biβ is the set of coefficients ci [k], whose indices can be represented by β bits. In order to obtain a wavelet-like structure of the array c of N LCT coefficients, we rearrange it in a bit-wise mode def
c −→ b =
j
def
bβ , bβ =
β=0
As a result, we get
Q
biβ .
(13.6)
i=1
Q T b0 = c01 , c02 , ..., c0 , T Q b1 = c11 , c12 , ..., c1 , Q Q T b2 = c21 , c31 ; c22 , c32 ; ...; c2 , c3 ,
and so on. That reordering of the LCT coefficients is performed for all the columns of the array C. Thus, we get C −→ B =
k
β=0
def
Bβ Bβ =
Q
Biβ .
(13.7)
i=1
This rearrangement is illustrated in Fig. 13.6 for the case when the an array X, which has 16 rows, is parted into two 8-row subarrays. Respectively, the array C of 1 2 the LCT coefficients is divided into two 8-row 3subarrays C and C . Then, the array C is bit-wise rearranged into the array B = β=0 Bβ . The structure of the column array b is similar to the structure of the coefficients’ array y of the wavelet transform of a column signal where the signal was decomposed into the j − 1 level. The similarity relations are Fig. 13.6 Reordering scheme of the LCT coefficients
13.3 Local Cosine Transform for Data Compression
285
Fig. 13.7 Ancestor-descendant relationship in the LCT coefficients array
b0 ∼ y0[ j−1] , b1 ∼ y1[ j−1] , b2 ∼ y1[ j−2] , ..., b j−1 ∼ y1[1] .
(13.8)
The ancestor-descendant relationships in the array b are similar to those in y. They are illustrated in Fig. 13.7 Once the LCT has been applied to columns of X and the transform coefficients have been rearranged to the array B, each row in the array B is decomposed to m-th level (scale) by the application of a wavelet transform. This produces the combined LCT–wavelet coefficients’ array denoted by BY. The structure of BY is similar to the structure of a 2D wavelet coefficients array, where the transform on the columns was applied to scale j − 1, while the transform on the rows was applied till scale m. The three-scale decomposition structure of the BY array is illustrated in Fig. 13.8. The array BY is the input to the SPIHT codec that implements quantization and entropy coding. The hybrid LCT–wavelet forward and inverse transforms of 2D arrays are implemented by the MATLAB functions Lc_BW_anal.m and Lc_BW_synth.m, respectively. If the data arrays have oscillating structures in both vertical and horizontal directions, then it is reasonable to apply the LCT transform in both directions, which is followed by reordering of the transform coefficients in both directions (MATLAB functions Lc_anal_2DN.m and Lc_synth_2DN.m) and coding by SPIHT.
Fig. 13.8 Layout of the LCT–wavelet coefficients in three scales
286
13 Data Compression Using Wavelet and Local Cosine Transforms
13.4 Numerical Examples The following examples illustrate the application of the compression algorithms by using 2D wavelet transforms, the hybrid LCT-wavelet transforms and 2D LCT to different data types such as seismic, fingerprints and multimedia images. All the experiments are implemented by the interactive MATLAB code COM_runN.m. In the examples, we compare between the performance of those algorithms, where the quantization and entropy coding was borrowed from the SPIHT codec, and the performance of the JPEG2000 compression standard. For the latter, we used the MATLAB script imwrite. We also compare the performance of the spline-based wavelet transforms described in Chap. 12 with that of the 9/7 wavelet transform [1]. The choice of a bell in the LCT construction has some effect on the performance of the LCT and, consequently, on the hybrid algorithm. A library of bells was introduced in [9]. A comparative study of their effects on the performance of an LCT–based image compression algorithm is given in [11]. However, such a comparison is beyond the scope of this book and we did not check the effects of different bells on the performance of the algorithm. To demonstrate the capabilities of the hybrid and the 2D LCT methods, it was sufficient to implement LCT with the “sine” bell b(x) = sin π2 (x + 1/2). For brevity, we use the following notations for the transforms: • JP for the JPEG2000 standard • W97 for the 2D wavelet transform with the biorthogonal 9/7 wavelets • WIP for the 2D wavelet transform with the wavelets derived from interpolating spline of order P • WDP for the 2D wavelet transform with the wavelets derived from discrete spline of order P • H97/h for the hybrid algorithm with the 9/7 wavelets, where the original data array is split into h horizontal rectangles • HIP/h for the hybrid algorithm with the wavelets derived from interpolating spline of order P, where the original data array is split into h horizontal rectangles • HDP/h for the hybrid algorithm with the wavelets derived from discrete spline of order P, where the original data array is split into h horizontal rectangles • LC/v/h for the 2D LCT algorithm where original data array is split into h horizontal rectangles and v vertical rectangles. All the images that were used in the examples are represented by 8-bit grayscale pixel’ arrays. Assume that an image X was subjected to a lossy compression by ˜ whose array of samples is some method M and, then, reconstructed to the image X def N x˜ = {x˜k }k=1 . The quality of different compression methods is measured by the peak signal to noise ratio (PSNR) in decibels def
P S N R = 10 log10
N
N 2552
k=1 (x k
− x˜k )2
d B,
(13.9)
13.4 Numerical Examples
287
in addition to visual inspection. The SPIHT codec, which we utilized, was enhanced with an adaptive arithmetic coder. The bolded numbers in the following tables indicate the best achieved results. The abbreviation bpp means bits per pixel. All the experiments were implemented by the interactive MATLAB code COM_ runN.m. For the implementation of the lapped cosine transforms, the MATLAB codes edgefold.m, edgeunfold.m, fold.m and unfold.m from the toolbox WAVELAB 850 (http://statweb.stanford.edu/ wavelab/) were utilized.
13.4.1 Seismic Compression Compression of seismic data, which is used for the reconstruction of subsurface layers structure, should retain all the seismic events in the traces. A stacked common mid-point (CMP) data section is used in the experiments. The original section of size 512 × 512 and a fragment of size 280 × 280 pixels are displayed in Fig. 13.9. Five types of transforms are used: W97, WD10, H97/8, HD10/8 and LC/16/16. The transform coefficients were coded by SPIHT. The results were compared with the results from the application of JP. The achieved PSNR values are presented in Table 13.1. The PSNR values after the application of the hybrid transforms and of LC are significantly higher than those after the application of the 2D wavelet transforms whether JP or SPIHT are used. It means that the hybrid transforms and LC fit better seismic data than the 2D wavelet transforms. The best PSNR values achieved after the application of LC/8/8. They only slightly exceed the values produced by HD10/8. The reason for that is in the presence of oscillations in the vertical and, partially, in the horizontal directions. Note that the 2D wavelet and hybrid transforms, which use the Butterworth wavelets, produced higher PSNR than the 9/7 transform. The
Fig. 13.9 The original stacked CMP section. Left the whole section. Right a fragment from the left image. The X-axis corresponds to the horizontal direction along the earth surface while the Y-axis corresponds to the vertical (depth) direction
288
13 Data Compression Using Wavelet and Local Cosine Transforms
Table 13.1 The PSNR values after decompression of the stacked CMP seismic section bpp JP W97 WD10 H97/8 HD10/8 LC/8/8 1/8 1/4 1/2 1 2
31.03 33.12 35.91 40.61 48.66
30.86 32.79 35.39 39.83 46.91
31.01 32.99 35.84 40.43 48.82
31.38 33.74 36.94 42.24 51.58
31.39 33.79 37 42.26 51.58
31.46 33.83 37.01 42.31 51.63
hybrid transforms and the LC retain seismic events much better than the 2D wavelet transforms do. This is illustrated in Figs. 13.10 and 13.11. Figure 13.10 displays fragments from the reconstruction of CMP section of the Fig. 13.9 (right) after the application of the JP compression algorithm where the compression ratio is 1/4 bit per pixel (left image) and from the application of the LC/8/8–SPIHT compression (right image). The LC/8/8–SPIHT compression retains the main structure of the data, unlike the outcome from the application of the JP algorithm. Figure 13.11 displays the vertical trace #110 from the original section versus a line from the reconstructed section after the 1/2 bpp compression ratio by the applications of the JP and HD10/8–SPIHT algorithms. We observe that the reconstructed trace in the top image of Fig. 13.11 is very close to the original trace. This is not the case for the trace in the bottom image.
Fig. 13.10 A fragment of the reconstructed CMP section in Fig. 13.9 (right). Left Output from the application of the JP algorithm. Right Output from the application of the LC/8/8–SPIHT algorithm. The compression ratio is 1/4 bpp
13.4 Numerical Examples
289
Fig. 13.11 The original vertical trace #110 in the CMP section displayed in Fig. 13.9 (dashed lines) versus the reconstructed lines (solid lines) after the applications of the JP algorithm (bottom) and the HD10/8–SPIHT algorithm (top). The compression ratio for both is 1/2 bpp
13.4.2 Fingerprints The 2D wavelet, the hybrid and the 2D LC transforms followed by the SPIHT coding, as well as the JPEG2000 compression standard, were applied to compress a fingerprint image of size 512 × 512 shown in Fig. 13.12. It has an oscillating structure in each direction. Each pixel has 8 bits. The performances of the SPIHT-coded algorithms were compared with the performance of the JPEG2000 compression standard. The LCT transforms, used the partition of the image into 16 horizontal and vertical rectangles. The achieved PSNR values are given in Table 13.2. We can see from Table 13.2 that LC/16/16+SPIHT outperforms all the other algorithms at all the bitrates. This happens due to better capturing oscillating events compared to the algorithms that use only wavelet transforms. The hybrid transform HD10/16 produces PSNR values close to LC/16/16. WD10+SPIHT, which uses the 2D Butterworth wavelet transform, achieves a good performance while demonstrating its advantage over W97. Figure 13.13 displays fragments from the reconstructed fingerprint image after the applications of JP (left) and LC/16/16+SPIHT (right). The compression ratio is 1/8 bpp. The right fragment retains the structure of the data much better than the fragment from the application of JP compression (left).
290
13 Data Compression Using Wavelet and Local Cosine Transforms
Fig. 13.12 Left The whole original “Fingerprint” image. Right A fragment from the left image Table 13.2 PSNR values for the “Fingerprint” compression bpp JP W97 WD10 H97/16 1/8 1/4 1/2 1
22.54 25.29 28.93 32.93
21.86 24.97 28.75 32.72
22.60 25.66 29.39 33.25
22.81 25.47 29.15 33.24
HD10/16
LC/16/16
23.03 25.81 29.49 33.58
23.22 26 29.66 33.95
Fig. 13.13 A fragment from the reconstructed “Fingerprint” image. Left After the application of JP. Right After the application of LC/16/16+SPIHT. The compression ratio is 1/8 bpp
Figure 13.14 displays the column line #150 from the original section versus this column line from the reconstructed sections after the applications of JP and LC/16/16+SPIHT. The compression ratio is 1/8 bpp. We observe that, unlike JP, LC/16/16+SPIHT restores the curve very close to its original form even when the compression ratio is low.
13.4 Numerical Examples
291
Fig. 13.14 Column line #150 from the “Fingerprint” image. Dashed line original. Solid line restored. Bottom The two lines after the application of JP. Top The two lines after the application of LC/16/16+SPIHT. The compression ratio is 1/8 bpp
13.4.3 Compression of Multimedia Images These hybrid compression algorithms also proved to be efficient for multimedia images. Their superior performance is more evident for images that have an oscillating texture. The algorithm restores the texture even at a very low bitrate. On the other hand, it sometimes produces artifacts on the boundaries between smooth and texture areas.
13.4.3.1 Barbara Image “Barbara” image of size 512 × 512 and its fragment of size 280 × 280 are displayed in Fig. 13.15. Each pixel in this image has 8 bits. This image comprises areas with oscillating textures. We compared the performances of 6 transforms. The hybrid transform splits the image direction into Q = 16 horizontal rectangles each of height 32. LC transform splits the image into Q × Q = 256 squares. The achieved PSNR values are presented in Table 13.3. The LC/16/16+SPIHT algorithm, which produced the best PSNR results for all the bit-rates, except for 1 bpp, retains the fine texture of the image much better than JP. This fact is illustrated in Fig. 13.16, which displays fragments of the reconstructed “Barbara” image after the applications of the JP and LC/16/16+SPIHT algorithms. The compression ratio is 1/8 bpp. It is worth noting that, when 2D wavelet transforms
292
13 Data Compression Using Wavelet and Local Cosine Transforms
Fig. 13.15 Left The whole original “Barbara” image. Right A fragment Table 13.3 The PSNR values from the compression/decompression of “Barbara” bpp JP W97 WD10 H97/16 HD10/16 1/8 1/4 1/2 1
25.75 28.70 32.71 37.97
25.19 27.85 31.57 36.82
25.11 28.30 32.34 37.91
26.01 29.07 33.19 38.33
26.08 29.18 33.28 38.38
LC/16/16 26.79 29.55 33.29 38.15
Fig. 13.16 A fragment from the reconstructed “Barbara” image after the applications of: Left JP. Right LC/16/16+SPIHT. The compression ratio is 1/8 bit per pixel
were applied, the Butterworth wavelets WD10 significantly outperformed the 9/7 wavelets W97 for all the bit-rates except for 1/8 bpp. Figure 13.17 displays the column line #246 from the original image versus this column from the reconstructed image after the application of JP and LC/16/16+SPIHT. The compression ratio is 1/4 bpp.
13.4 Numerical Examples
293
Fig. 13.17 Column #246 from the Barbara image. Dashed lines original. Solid lines restored. Bottom: restored after the application of JP. Top restored after the application of LC/16/16+SPIHT. The compression ratio is 1/4 bpp
We observe that the LC/16/16+SPIHT algorithm retains most of the oscillatory events that were missed by JP.
13.4.3.2 “Elaine” Image The “Elaine” image of size 512×512 and its fragment of size 280×280 are displayed in Fig. 13.18. Each pixel has 8 bits. We compared the performances of 6 transforms where the hybrid and LC transforms partition the vertical direction into Q = 8 horizontal rectangles each of height 64. In the 2D wavelet transforms and the hybrid transforms we use the wavelets, which are derived from the fifth-order interpolating splines, instead of the wavelets derived from the tenth-order discrete splines that participated in the previous examples. The achieved PSNR values are presented in Table 13.4. The highest PSNR values in all the bitrates except for 1/8 bit per pixel were produced by the LC/8/8+SPIHT, while the JP was advantageous with 1/8 bpp. However, the advantage of LC/8/8+SPIHT over JP at bitrates at 1/2 bpp and 1 bpp was overwhelming. At bitrates 1/8 and 1/4 bpp, reconstruction from LC/8/8+SPIHT and hybrid algorithms produced better visual quality of the images compared to JP, which oversmoothed texture in the images. This fact is illustrated in Fig. 13.19, which
294
13 Data Compression Using Wavelet and Local Cosine Transforms
Fig. 13.18 Left The whole original “Elaine” image. Right A fragment of the image Table 13.4 The PSNR values from the compression/decompression of “Elaine” bpp JP W97 WI5 H97/8 HI5/16 1/8 1/4 1/2 1
31.14 32.30 33.52 36.07
31.1 32.32 33.48 35.74
31.13 32.35 33.41 35.58
30.64 32.16 33.99 36.64
30.64 32.19 34.12 36.76
LC/8/8 30.75 32.8 34.9 37.72
Fig. 13.19 A fragment of the reconstructed “Elaine” image after the applications of: Left JP. Right LC/8/8+SPIHT. The compression ratio is 1/4 bpp
displays fragments of “Elaine” image that were reconstructed after the application of JP and of LC/8/8+SPIHT. The compression ratio is 1/4 bpp.
13.4 Numerical Examples
295
Fig. 13.20 Column #280 from the “Elaine image”. Dotted line original. Solid line restored. Bottom restored after the application of JP. Top restored after the application of LC/8/8+SPIHT. The compression ratio is 1/4 bit per pixel
Oversmoothing by JP is clearly seen in Fig. 13.20, which displays column line #280 from the original image versus this column line from the reconstructed image after the applications of the JP and LC/8/8+SPIHT algorithms. The compression ratio is 1/4 bpp. We observe that the LC/8/8+SPIHT algorithm retains most of the fine texture that was blurred by JP.
13.4.4 Conclusions The experimental results suggest that the hybrid “wavelet–LCT–SPIHT” and 2D LCT algorithms with reordering of the transform coefficients provide tools to compress seismic data, fingerprints and other data that comprise oscillatory structures and(or) a fine texture. Although all the components of the algorithm are well known, their combined operation via reordering of the transform coefficients, in many cases significantly outperforms compression schemes that are based on multidimensional wavelet transforms with either SPIHT or JPEG2000 coding. Additional flexibility of the method stems from the use of the library of spline-based wavelet transforms of different orders. In almost all the examples, the 2D wavelet and the hybrid transforms
296
13 Data Compression Using Wavelet and Local Cosine Transforms
that use the spline-based wavelets outperform the transforms with the popular 7/9 wavelets. The 2D LCT algorithm with reordering of the transform coefficients demonstrates an excellent performance when oscillating events are present in different directions as in fingerprints or when the image comprise a fine texture as for example in the “Elaine” image. The algorithm retains fine oscillating events even at a low bitrate. This is important for processing seismic and fingerprint images and less critical for multimedia type images. The extension of the algorithm to compress 3D seismic cubes is straightforward. In horizontal planes, the 2D wavelet transform is applied while the LCT is applied to the vertical direction, followed by reordering the coefficients. The joint array of coefficients is the input to SPIHT encoding. The algorithm is completely automatic and the encoding/decoding operations are implemented in a fast way.
References 1. M. Antonini, M. Barlaud, P. Mathieu, I. Daubechies, Image coding using wavelet transform. IEEE Trans. Image Process. 1(2), 205–220 (1992) 2. A. Averbuch, G. Aharoni, R. Coifman, M. Israeli, Local cosine transform—a method for the reduction of blocking effects in jpeg. J. Math. Imaging Vision Spec. Issue Wavelets 3 (1993) 3. A. Averbuch, V. Zheludev, A new family of spline-based biorthogonal wavelet transforms and their application to image compression. IEEE Trans. Image Process. 13(7), 993–1007 (2004) 4. A. Averbuch, V. Zheludev, M. Guttmann, D.D. Kosloff, LCT-wavelet based algorithms for data compression. Int. J. Wavelets Multiresolut. Inf. Process. 11(5), 1–25 (2013) 5. A.Z. Averbuch, F. Meyer, J.-O. Stromberg, R. Coifman, A. Vassiliou, Efficient compression for seismic data. IEEE Trans. Image Process. 10(12), 1801–1814 (2001) 6. R.R. Coifman, Y. Meyer, Remarques sur l’analyse de Fourier à fenêtre. C. R. Acad. Sci. Paris Sér. I Math. 312(3), 259–261 (1991) 7. P.L. Donoho, R.A. Ergas, J.D. Villasenor, High-performance seismic trace compression. in Annual International Meeting, Society of Exploration ... Society of Exploration Geophysicists Expanded Abstracts 8. S. Mallat, A Wavelet Tour of Signal Processing: The Sparse Way, vol. 3 edn (Academic Press, San Diego, 2008) 9. G. Matviyenko, Optimized local trigonometric bases. Appl. Comput. Harmon. Anal. 3 (1996) 10. F.G. Meyer. Fast compression of seismic data with local trigonometric bases. in ed. by A.F. Laine, M.A. Unser, A. Aldroubi Wavelet Applications in Signal and Image Processing VII, vol. 3813. Proceedings SPIE, pp. 648–658 (1999) 11. F.G. Meyer, Image compression with adaptive local cosines: A comparative study. IEEE Trans. Image Proc. 11(6), 616–629 (2002) 12. W.A. Pearlman, A. Said, Digital Signal Compression: Principles and Practice (Cambridge University Press, Cambridge, 2011) 13. J.J. Rissanen, Jr. G.G. Langdon, Arithmetic coding. IBM J. Res. Dev. 23(2), 149–162 (1979) 14. A. Said, W.A. Pearlman, A new, fast, and efficient image codec based on set partitioning in hierarchical trees. IEEE Trans. Circuits Syst. Video Technol. 6(3), 243–250 (1996) 15. J.M. Shapiro, Embedded image coding using zerotrees of wavelet coefficients. IEEE Trans. Signal Process. 41(12), 3445–3462 (1993) 16. D.S. Taubman, M.W. Marcellin (eds.), JPEG2000: Image compression fundamentals, standards, and practice, vol. 642. The Springer International Series in Engineering and Computer Science (Springer, Berlin, 2002)
References
297
17. A. Vassiliou, M.V. Wickerhauser, Comparison of wavelet image coding schemes for seismic data compression. in Annual International Meeting, Society of Exploration Society of Exploration Geophysicists Expanded Abstracts 18. I.H. Witten, R.M. Neal, J.G. Cleary, Arithmetic coding for data compression. Commun. ACM 30(6), 520–540 (1987)
Chapter 14
Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Abstract It was indicated in Sect. 2.2 that oversampled perfect reconstruction (PR) filter banks generate specific types of frames in the signal space. In this chapter, a family of tight and semi-tight frames is presented. The three- and four-channel filter banks that generate the framed originate from polynomial and discrete splines. Those frames have properties, which are attractive for signal processing, such as symmetry, interpolation, flat spectra. These properties are combined with fine time-domain localization and efficient implementation. This family includes framelets, that have any number of discrete vanishing moments. Non-compactness of their supports is compensated by exponential decay of the framelets as time tends to infinity. Recently, frames or redundant expansions of signals have attracted considerable interest from researchers working in signal processing although one particular class of frames, the Gabor systems, has been applied and investigated since 1946 [12]. As the requirement of one-to-one correspondence between the signal and its transform coefficients is dropped, there is more freedom to design and implement frame transforms. Frame expansions of signals demonstrate, for example, resilience to quantization noise and to coefficients losses [13–15]. Thus, frames may serve as a tool for error correction of signals that are transmitted through lossy/noisy channels. Recently, over-complete representations of signals were applied to image reconstruction [6, 7]. Combination of wavelet frames with the Bregman iterations techniques [3, 21] impacted the image processing applications such as deconvolution, inpainting, denoising, to name a few [4, 5, 10, 19, 20]. A few examples of images restoration from incomplete corrupted data are given in Volume I [2]. In some applications, it is important to have compactly supported framelets, which are provided by filter banks with FIR filters. However, it is proved in [17] that a 3-channel filter bank with linear phase interpolating filters can only produce a tight frame whose high-frequency framelets have two and one vanishing moments. However, it is possible to construct a variety of compactly supported interpolating symmetric semi-tight frames, as they are called, with an increased number of vanishing moments. Addition of one more channel to the filter bank makes it possible to construct a compactly supported interpolating symmetric tight frame [8]. We provide examples of compactly supported symmetric tight frames which are based on quasi-interpolating splines and on the so-called pseudo-splines [11]. Framelets that
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_14
299
300
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
originate from interpolating polynomial and discrete splines have infinite support but they decay exponentially as time grows. The corresponding transforms are implemented by recursive filtering using polyphase represention of signals and filters.
14.1 Oversampled Filter Banks and Frames This section deals with 3- and 4-channel analysis and synthesis filter banks where each contains one low-pass and one high-pass filters, and either one or two bandpass filters. The downsampling factor is 2, and the transfer functions of all filters are rational functions. In most cases, for the design of the low-pass filters, we utilize spline-based prediction filters, which were used in the lifting schemes in Chap. 12.
14.1.1 Matrix Expression of Filter Banks with the Downsampling Factor 2 ˜ = h˜ s and a synthesis H = {hs } , filter banks, where Assume that an analysis H s = 0, ..., S − 1, with downsampling by factor 2 form a perfect reconstruction (PR) S-channel filter bank. In the forthcoming construction, h˜ 0 and h0 are the low-pass filters. Application of the time-reversed analysis filter bank to a signal x produces the s , s = 0, ..., S − 1: output signals y[1] h˜ s [k − 2l] x[k], l ∈ Z, k∈Z s (2ω) = 1 hˆ˜ s (−ω) x(ω) yˆ[1] ˆ + h˜ s (−ω + π ) x(ω ˆ + π) 2 s (z 2 ) = 1 h˜ s (z −1 ) x(z) + h˜ s (−z −1 ) x(−z) , s = 0, ..., S − 1. y[1] 2 s [l] y[1]
=
(14.1)
s , s = 0, ..., S − 1, that are Application of the synthesis filter bank to the signals y[1] upsampled by factor 2, restores the original signal x by
x[k] = x(ω) ˆ =
S−1 s=0
S−1 s=0
l∈Z h
s [k
s [l], n ∈ Z, − 2l] y[1]
s (2ω) h s (ω), x(z) = yˆ[1]
S−1 s=0
(14.2) s (z 2 ) h s (z). y[1]
The analysis relations in Eq. (14.1) are expressed in a matrix form
14.1 Oversampled Filter Banks and Frames
301
⎛
0 (2ω) ⎞ yˆ[1]
x(ω) ˆ ⎜ ⎟ 1 ˆ˜ .. , ⎝ ⎠ = H(−ω) · x(ω . ˆ + π) 2 S−1 yˆ[1] (2ω)
where
⎛
hˆ˜ 0 (ω) ⎜ def ⎜ .. ˆ˜ = ⎝ H(ω) . ˆh˜ S−1 (ω)
⎞ hˆ˜ 0 (ω + π ) ⎟ .. ⎟. . ⎠
(14.3)
hˆ˜ S−1 (ω + π )
s (z), s = 0, ..., S − 1, of the signals x and ys are The z-transforms x(z) and y[1] [1] linked by the matrix relation
⎛
0 (z 2 ) ⎞ y[1]
x(z) ⎜ ⎟ 1 ˜ −1 .. ⎝ ⎠ = H(z ) · x(−z) , . 2 S−1 2 y[1] (z )
where
⎛
def ⎜ ˜ H(z) = ⎝
h˜ 0 (z)
h˜ 0 (−z)
⎞
(14.4)
⎟ .. ⎠ . S−1 S−1 (z) h˜ (−z) h˜ .. .
and h˜ s (z) are the transfer functions of the filters h˜ s , s = 0, ..., S − 1. The synthesis relations in Eq. (14.2) can be expressed in a matrix form:
x(ω) ˆ x(ω ˆ + π)
0 (2ω) ⎞ yˆ[1] ⎟ ⎜ .. ˆ = H(ω) ·⎝ ⎠, . S−1 yˆ[1] (2ω)
⎛
hˆ 2 (ω) hˆ 0 (ω) . . . , hˆ 0 (ω + π ) . . . hˆ S−1 (ω + π ) ⎛ 0 2 ⎞ y[1] (z )
x(z) ⎜ ⎟ .. = H(z) · ⎝ ⎠, . x(−z) S−1 2 y[1] (z )
0 h (z) . . . h S−1 (z) def . H(z) = h 0 (−z) . . . h S−1 (−z) def ˆ H(ω) =
(14.5)
(14.6)
ˆ˜ ˜ The matrices H(ω) and H(z) are the modulation matrices of the analysis filter bank ˜ ˆ H in the frequency and in the z-domains, respectively. The matrices H(ω) and H(z) are the modulation matrices of the synthesis filter bank H.
302
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
However, for practical implementation, a polyphase representation of the filter def banks is more useful. Let xm = {x[2k + m]} , k ∈ Z, m = 0, 1 be the polyphase def ˜ s s s def ˜ components of the signal x and hm = h [2k + m] , hm = {h s [2k + m]} , k ∈ Z, m = 0, 1 be the even and the odd polyphase components of the filters hs , s = 0, 1, ..., S − 1. The DTFT and the z-transform analysis polyphase matrices are, respectively, ⎛
hˆ˜ 00 (ω) ⎜ def ⎜ .. ˜ = ⎝ P(ω) . ˜hˆ S−1 (ω) 0
⎞ ⎛ 0 ⎞ h˜ 0 (z) h˜ 01 (z) hˆ˜ 01 (ω) ⎟ def ⎜ ⎟ .. .. .. ⎟ , P(z) ˜ = ⎝ ⎠. . . . ⎠ S−1 S−1 ˜ ˜ h 0 (z) h 1 (z) hˆ˜ S−1 (ω)
(14.7)
1
Then, the DTFT and the z-transforms of the output signals can be presented in a polyphase form ⎞ 0 (ω) yˆ[1]
⎟ ˆ ⎜ xˆ0 (ω) .. ⎟ = P(−ω) ⎜ ˜ · , . ⎠ ⎝ xˆ1 (ω) S−1 yˆ[1] (ω) ⎛
⎞ 0 (z) y[1]
⎟ ⎜ .. ⎟ = P(z ⎜ ˜ −1 ) · x0 (z) . . ⎠ ⎝ x1 (z) S−1 (z) y[1] ⎛
(14.8)
The DTFT and z-transform synthesis polyphase matrices are, respectively, def
P(ω) =
hˆ 00 (ω) . . . hˆ 01 (ω) . . .
0 hˆ 0S−1 (ω) h 0 (z) . . . h 0S−1 (z) def , P(z) . = h 01 (z) . . . h 1S−1 (z) hˆ 1S−1 (ω)
(14.9)
Then, the DTFT and the z-transforms of the signal x can be presented in a polyphase form
xˆ0 (ω) xˆ1 (ω)
⎛
⎛ 0 ⎞ 0 (ω) ⎞ yˆ[1] y[1] (z)
x0 (z) ⎜ ⎜ ⎟ ⎟ .. .. ˆ = P(ω) ·⎝ = P(z) · ⎝ ⎠, ⎠ .(14.10) . . x1 (z) S−1 S−1 yˆ[1] (ω) y[1] (z)
A PR filter bank is characterized by the matrix relations ˆ˜ ˜ −1 ) = 2I2 , ˆ H(ω) · H(−ω) = 2I2 , H(z) · H(z ˆ˜ ˜ −1 ) = I2 , I2 def ˆ = P(ω) · P(−ω) = I2 , P(z) · P(z
10 . 01
(14.11) (14.12)
ˆ Remark 14.1.1 The synthesis matrices H(ω), H(z) and P(z) must be left inverse of ˆ −1 ˜ −1 ), respectively. Obviously, if ˜ ˜ the analysis matrices H(−ω)/2, H(z )/2 and P(z such matrices exist, they are not unique. Surely, the inverse relations such as, for ˜ −1 ) · P(z) = I2 are not possible. example, P(z
14.1 Oversampled Filter Banks and Frames
303
Equations (14.11) and (14.12) imply, in particular, the following relations between the analysis and synthesis filters: S−1
S−1 ˆh s (ω) hˆ˜ s (−ω) = 2, h s (z) h˜ s (z −1 ) = 2,
s=0 S−1
(14.13)
s=0
hˆ s (ω) hˆ˜ s (−ω + π ) =
s=0
S−1
h s (z) h˜ s (−z −1 ) = 0.
(14.14)
s=0
14.1.2 Frames Generated by Filter Banks def Definition 14.1 A system Φ˜ = {φ˜ j } j∈Z of signals forms a frame in the signal space if there exist positive constants A and B such that for any signal x = {x[k]} ∈ l1 [Z]
Ax2 ≤
|x, φ˜ j |2 ≤ Bx2 .
j∈Z
If the frame bounds A and B are equal to each other, then the frame is said to be tight. def If the system Φ˜ is a frame, then there exists another frame Φ = {φi }i∈Z of the signal space such that any signal x can be expanded into the sum
x=
x, φ˜ i φi .
(14.15)
i∈Z
The analysis Φ˜ and the synthesis Φ frames can be interchanged. Together, they form ˜ the so-called bi-frame. If the frame Φ˜ is tight then Φ can be chosen as Φ = cΦ. If the elements {φ˜ j } of the analysis frame Φ˜ are not linearly independent, then many synthesis frames can be associated with a given analysis frame. In this case, the expansion in Eq. (14.15) provides a redundant representation of the signal x.
14.1.2.1 One-Level Framelet Transform ˜ = h˜ s , s = 0, ...S −1, and a synthesis H = {hs } , s = Assume that an analysis H 0, ...S − 1, filter banks with downsampling by factor 2 form a PR) filter bank. Denote s def ˜ s s def s ψ˜ [1] = {ψ[1] [l] = h˜ s [l]}l∈Z , ψ[1] = {ψ[1] [l] = h s [l]}l∈Z , s = 0, ..., S − 1,
304
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
where {h˜ s [l]} and {h s [l]} are the impulse responses of the filters h˜ s and hs , respectively. Then, the analysis and the synthesis relations in Eqs. (14.1) and (14.2) can be rewritten as x[k] =
S−1
def
s s x[1] [k], x[1] [k] =
s=0 s [l] = y[1]
⇐⇒ x =
k∈Z
l∈Z
s s y[1] [l] ψ[1] [k − 2l],
s s ψ˜ [1] [k − 2l] x[k] = x, ψ˜ [1] [· − 2l],
S−1
s x[1] =
s=0
S−1 s s x, ψ˜ [1] [· − 2l] ψ[1] [· − 2l].
(14.16) (14.17)
(14.18)
s=0 l∈Z
Recall the condition (Theorem 2.1) for an analysis filter bank to generate a frame expansions of signals x. ˜ = h˜ s , s = 0, ...S − 1, whose polyphase Theorem 14.1 ([9]) A filter bank H ˜ matrix P(z), given in Eq. (14.7), consists of stable rational functions, implements a frame expansion if and only if there exists a matrix P(z) of stable rational functions ˜ which is a left inverse of P(z) such that ˜ P(z) P(z) = I,
(14.19)
where I is the identity matrix. A rational function is stable if it does not have poles on the unit circle. ˜ whose polyphase matrix P(z) ˜ Theorem 14.2 ([9]) A filter bank H, consists of stable rational functions, implements a tight frame expansion if and only if ˜ −1 ) = cI, P˜ T (z) P(z
(14.20)
˜ Note that matrices that satisfy the conwhere P˜ T (z) is the transposed matrix P(z). dition of Eq. (14.20) are called paraunitary matrices. def s (· − If the conditions of Theorem 14.1 are satisfied, then the system Ψ˜ = {ψ˜ [1] s 2l)}l∈Z , s = 0, ..., S − 1, of 2−sample translations of the signals ψ˜ [1] forms def
s (· − 2l)} an analysis frame of the signal space. The system Ψ = {ψ[1] l∈Z , s = s 0, ..., S − 1, of 2−sample translations of the signals ψ[1] forms a synthesis frame of the signal space. Together Ψ˜ and Ψ form a bi-frame. If the condition (14.20) is satisfied, then the synthesis filter bank can be chosen to be equal to the analysis filter bank (up to a constant factor). s and ψ s are referred to as discrete-time analysis and synthesis The signals ψ˜ [1] [1] def
framelets of thefirst decomposition level, respectively. The transform x −→ Y[1] = 0 , ..., y S−1 is a one-level framelet transform. y[1] [1]
14.1 Oversampled Filter Banks and Frames
305
14.1.2.2 Multilevel Framelet Transforms 0 can be represented by Similarly to the whole signal x, the low-frequency signal y[1] S−1
0 y[1] [k] = s [l] = y[2]
s=0 l∈Z
k∈Z
s y[2] [l] h s [k − 2l],
0 [k]. h˜s [k − 2l] y[1]
(14.21) (14.22)
Iterating this procedure, we split the m-level set of the low-frequency coefficients 0 y[m−1] [l] =
S−1
0 y[m] [ p] h s [k − 2l],
s y[m] [l] =
s=0 l∈Z
0 h˜ s [k − 2l] y[m−1] [k].
(14.23)
k∈Z
The m-level framelet transform of a signal x results in the following set of coefficients def
x −→ Ym =
0 y[m] [l]
S−1
s y[m] [l]
(14.24)
s=1 S−1
s y[m−1] [l]
s=1
...
S−1
s y[1] [l] , l ∈ Z.
s=1
The transform is invertible. Once the set Ym of coefficients is available, consecutive application of the convolution operations in Eqs. (14.23),...,(14.22) restores the lowfrequency coefficients. In the end, the convolution in Eq. (14.16) restores the signal x. Diagrams in Fig. 14.1 illustrate direct and inverse multilevel framelet transforms generated by a 3-channel PR filter bank (S=3). The set Ym of transform coefficients is a set of coordinates of the signal x in a frame expansion. It is apparent for the one-leveltransform, where the analysis frame consists of the 2-sample shifts of the framelets ψ˜ [1] , s = 0, ..., S − 1, and the synthesis analysis frame consists of 2-sample shifts of the framelets ψ[1] , s = 0, ..., S − 1, of the first level. Substituting Eq. (14.17) with s = 0 in Eq. (14.22), we derive s [l] = y[2]
=
n∈Z
k∈Z
x(z)
0 [k] = h˜ s [k − 2l] y[1]
k∈Z
h˜ s [k − 2l]
k∈Z
0 [n − 2k] = h˜ s [k − 2l] ψ˜ [1]
n∈Z
n∈Z
x(z)
0 ψ˜ [1] [n − 2k] x(z)
κ∈Z
0 [n − 2κ − 4l]. h˜ s [κ] ψ˜ [1]
306
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.1 Diagrams of direct (top) and inverse (bottom) 3-level framelet transforms
Denote
def s ψ˜ [2] (z) =
Then, s y[2] [l] =
n∈Z
κ∈Z
0 [n − 2κ]. h˜ s [κ] ψ˜ [1]
(14.25)
s s x(z) ψ˜ [2] [n − 4l] = x, ψ˜ [2] [· − 4l] .
(14.26)
By ubstituting Eq. (14.21) in Eq. (14.16) with s = 0, we get 0 x[1] [k] =
=
l∈Z
S−1 s=0 n∈Z
where
0 0 y[1] [l] ψ[1] [k − 2l] =
s y[2] (z)
l∈Z
l∈Z
0 ψ[1] [k − 2l]
s ψ[1] [k − 2l] h 0 [l − 2n] =
def
s [k] = ψ[2]
l∈Z
S−1 s=0 n∈Z
S−1 s=0 n∈Z
s y[2] (z) h s [l − 2n]
s s y[2] (z) ψ[2] [k − 4n],
s ψ[1] [k − 2l] h 0 [l], s = 0, ..., S − 1.
(14.27)
14.1 Oversampled Filter Banks and Frames
307
s s and ψ[2] are called the analysis and the synthesis discrete-time The signals ψ˜ [2] framelets of the second decomposition level, respectively. As a result of the two-level framelet transform, the signal x is expanded over 4-sample shifts of the second level framelets and 2-sample shifts of the first level framelets such that x=
S−1
s x[2] +
s=0 s x[2] [k]
=
l∈Z
S−1
s x[1] , where
s=1
s s x, ψ˜ [2] [· − 4l] ψ[2] [k − 4l], s = 0, ..., S − 1,
(14.28)
s x[1] [k] =
l∈Z
s s x, ψ˜ [1] [· − 2l] ψ[1] [k − 2l], s = 1, ..., S − 1.
0 + The iterated transform leads to the frame expansion of the signal x = x[m] m S−1 s ν=1 s=1 x[ν] , where s [k] = x[m]
l∈Z
s [· − 2m l] ψ s [k − 2m l], s = 0, ..., S − 1, x, ψ˜ [m] [m]
s [k] = s [· − 2ν l] ψ s [k − 2ν l], ˜ x, ψ x[ν] l∈Z [ν] [ν] ν = 1, ..., m − 1, s = 1, ..., S − 1.
(14.29)
The synthesis and analysis framelets are derived iteratively def
s [k] = ψ[ν]
s [k] def ψ˜ [ν] =
s l∈Z ψ[ν−1] [k
− 2ν−1l] h 0 [l],
˜s ˜0 l∈Z h [l] ψ[ν−1] [k
(14.30) − 2ν−1l],
s = 0, ..., S − 1.
s is to Remark 14.1.2 Another way to derive the m-th level synthesis framelet ψ[m] start the reconstruction procedure from level m according to the scheme in Fig. 14.1 for the coefficients array Y¯m , which consists of zeros only except for a single coefs [1] = 1. Keeping in mind that synthesis and analysis filter banks are ficient y[m] interchangeable, the analysis framelets are derived similarly.
The diagram in Fig. 14.2 illustrates the distribution of redundancy for the multilevel frame transform with three-channel oversampled filter bank.
308
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.2 Diagram of the distribution of redundancy for the multilevel frame transform with threechannel filter bank with downsampling factor 2
14.2 Design of Three-Channel Filter Banks Which Generate Frames In this section, we discuss the design of three-channel linear phase filter banks, which generate tight and so-called semi-tight frames in the signals’ space of periodic signals.
14.2.1 Interpolating Filter Banks for Frame Generation Assume that the low-pass analysis h˜ 0 and synthesis h0 filters from a 3-channel PR filter bank with the downsampling factor 2 are interpolating. Then the z-transforms of their even polyphase √ components are constants. For normalization purposes, let these constants be 1/ 2. Their transfer functions are then represented by def h˜ 0 (z) =
√ √ 2 2 def −1 ˜ 2 0 1 + z f (z ) , h (z) = 1 + z −1 f (z 2 ) 2 2
(14.31)
that are similar to the transfer function of the low-pass interpolatory synthesis filter h0 def derived from the lifting scheme (see Eq. (12.3)). Denote W (z) = 1 − f˜(z −1 ) f (z).
14.2 Design of Three-Channel Filter Banks Which Generate Frames
309
We assume that the functions f (z) satisfy the following conditions: A1. f (z) and f˜(z) are rational functions and have no poles on the unit circle |z| = 1. A2. f (1) = f˜(1) = 1. A3. Symmetry: (14.32) z −1 f˜(z 2 ) = z f˜(z −2 ), z −1 f (z 2 = z f (z −2 ). The filters h˜ 0 and h0 have a linear phase. The polyphase matrices for filter banks comprising the interpolatory low-pass filters are √ ⎞ ⎛ √ √
1/ 2 f˜(z)/ 2 2 h 10 (z) h 20 (z) 1/ √ def ˜P(z) = ⎝ h˜ 1 (z) h˜ 1 (z) ⎠ , P(z) def . = 0 1 f (z)/ 2 h 11 (z) h 21 (z) h˜ 20 (z) h˜ 21 (z) The perfect reconstruction condition Eq. (14.12) leads to ˜ 12 (1/z) = Q(z), P12 (z) · P
(14.33)
where
1 h˜ 10 (z) h˜ 11 (z) h 0 (z) h 20 (z) def 12 , , P (z) = h 11 (z) h 21 (z) h˜ 20 (z) h˜ 21 (z)
1 − f˜(z −1 ) def 1 . Q(z) = 2 − f (z) 2 − f (z) f˜(z −1 ) def P˜ 12 (z) =
(14.34)
Therefore, the design of a PR filter bank starting from the interpolatory low-pass filters h˜ and h reduces to factorization of the matrix Q(z) as in Eq. (14.33). A straightforward option is the triangular factorization of Q(z) such that
1 0 w(z) ˜ 0 1 12 ˜P12 (z) = √1 , P (z) = √ , (14.35) 2 1 − f˜(z) 2 w(z) − f (z) where w(z)w(z ˜ −1 ) = 2W (z). Thus, to complete the design, thefunction W(z) should be factorized. As soon as ˜ = h˜ 0 , h˜ 1 , h˜ 2 H = h0 , h1 , h2 appears. Its it is done, the PR filter bank H transfer functions are √ √ 2 def def 0 2 0 −1 2 1 + z −1 f (z 2 ) , h˜ (z) = 2 1 + z f˜(z ) , h (z) = 2 √ √ h˜ 1 (z) = z −1 w(z ˜ 2 )/ 2, h 1 (z) = z −1 w(z 2 )/ 2 (14.36) −1 2 −1 ˜ 2 1 − z f (z ) h˜ 2 (z) = 1−z √ f (z ) = h˜ 0 (−z), h 2 (z) = = h 0 (−z). √ 2 2
310
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
In this case, the filters h2 and h˜ 2 are interpolating. Once f (1) = f˜(1) = 1, these filters are high-pass. The filters h˜ 1 and h1 have no even polyphase component. If the function f (z) satisfies Conditions A1–A3 then, due to Theorem 14.1, the filter bank in Eq. (14.36) generates a bi-frame in the signal space. Note that other types of factorization of Q(z) are possible, such as an eigenvaluesbased factorization [1, 16]. In the Sect. 14.2.2, implications of the triangle factorization of matrices Q(z) are discussed.
14.2.2 Frames Derived from Triangular Factorization The triangular factorization in Eq. (14.35) of the matrices 1 Q(z) = 2 def
1 − f˜(z −1 ) − f (z) 2 − f (z) f˜(z −1 )
implies that the polyphase matrices for the filter banks are √ √ ⎞ √ √
1/ 2 f˜(z)/√2 2 0√ 1/ 2√ 1/ √ def ⎝ ˜ ⎠ , P(z) def . P(z) = = 0√ w(z)/ ˜ 2 √ f (z)/ 2 w(z)/ 2 − f (z)/ 2 ˜ 1/ 2 − f (z)/ 2 ⎛
The symmetry condition in Eq. (14.32) implies that the transfer functions of the filters h˜ 0 , h0 , h˜ 2 , and h2 , which are presented in Eq. (14.36), are symmetric about inversion z → 1/z. Thus, the filters have a linear phase. Since the rational functions satisfy f˜(1) = f (1) = 1, the rational transfer functions of the high-pass filters can ˜ h 0 (z) = (1 − z)χ (z), where the functions be represented as h˜ 0 (z) = (1 − z)χ(z), χ(z), ˜ and χ (z) do not have poles at the point z = 1. Due to Proposition 11.5, they annihilate constants, and the corresponding framelets have at least one discrete vanishing moment. The rational function W (z 2 ) = 1 − f (z 2 ) f˜(z −2 ) can be written as W (z 2 ) = 1 − z −1 f (z 2 ) · z f˜(z −2 ) = W (z −2 ). Thus, a rational symmetric or antisymmetric factorization w(z) w(z) ˜ √ = 2W (z)√is possible. The trivial rational symmetric factor˜ = 2W (z) or vice versa. We have W (1) = 0. Thereizations are w(z) = 2, w(z) fore, at least one of the filters h˜ 1 , h1 , is high-pass and the corresponding framelet has vanishing moments. Remark 14.2.1 Substituting z = eiω in the symmetry relation W (z) = W (z −1 ), we get W (eiω ) = W (e−iω ). This means that W (eiω ) is a real-valued cosine rational function that is a ratio of two cosine polynomials with real coefficients.
14.2 Design of Three-Channel Filter Banks Which Generate Frames
311
14.2.2.1 Tight Frames When f (z) = f˜(z), we have h 0 (z) = h˜ 0 (z), h 2 (z) = h˜ 2 (z) = h 0 (−z) and W (z) = 1 − | f (z)|2 , W (z 2 ) = 2h 0 (z) h 0 (−z).
(14.37)
If the inequality | f (z)| ≤ 1, as |z| = 1,
(14.38)
holds, then, the function W (z) can be factorized into W (z) = w(z) w(1/z)/2. The following Riesz’s theorem holds. M an cos nω be a trigonometric polynomial Theorem 14.3 ([18]) Let A(ω) = n=1 containing only cosines, which assumes real and non-negative for all real ω. M values bn einω of degree M Then there exists a trigonometric polynomial B(ω) = n=1 with real coefficients bn such that |B(ω)|2 = A(ω). Thus, a rational factorization W (z) = w(z) w(1/z) is possible such that h 1 (z) = h˜ 1 (z). Then, the analysis filter bank coincides with the synthesis filter bank √ h 0 (z) = h˜ 0 (z) = (1 + z −1 f (z 2 ))/ 2, √ h 2 (z) = h˜ 2 (z) = (1 − z −1 f (z 2 ))/ 2,
(14.39)
√ h 1 (z) = h˜ 1 (z) = z −1 w(z 2 )/ 2, and generates a tight frame. Due to Eq. (14.37), the (anti)symmetric rational factorization is possible if and only if all roots and poles of the function h 0 (z) have even multiplicity. If h 0 (z) has a root of multiplicity 2m at z = 1 then W (z 2 ) = 2h 0 (z) h 0 (−z) = (1 − z)2m θ (z), where θ (z) is a rational function. Consequently, √ h 1 (z) = z −1 w(z 2 )/ 2 = (1 − z)m χ (z), where χ (z) is a rational function. Proposition 11.5 implies that the filter h1 annihilates polynomials of degree m −1 and the corresponding framelet has m discrete vanishing moments.
14.2.2.2 Semi-tight Frames If the condition in Eq. (14.38) is not satisfied, it is still possible to generate frames, which are very close to tight frames. In this case, the function W (z) can be factorized as 2W (z) = w(z) w(1/z), ˜ and the transfer functions of the filter bank are
312
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
√ h 0 (z) = h˜ 0 (z) = (1 + z −1 f (z 2 ))/ 2, √ h 2 (z) = h˜ 2 (z) = (1 − z −1 f (z 2 ))/ 2,
(14.40)
√ √ h˜ 1 (z) = z −1 w(z ˜ 2 )/ 2, h 1 (z) = z −1 w(z 2 )/ 2. Such a filter bank generates a frame, which is natural to refer to as a semi-tight frame. Due to the symmetry of W (z), its (anti)symmetric factorization is always possible. Therefore, even when Eq. (14.38) holds, sometimes it is preferable to construct a semi-tight rather than a tight frame. For example, the following fact holds. Proposition 14.1 ([17]) Assume that an interpolatory symmetric tight frame is generated by a filter bank presented by Eq. (14.39), where the filters have finite impulse response. Then necessarily, f (z) = (1 + z)/2. In this case, the filters h1 and h2 annihilate polynomials of degree zero and one, respectively, and the corresponding framelets have one and two discrete vanishing moments, respectively. However, it is possible to construct a variety of compactly supported interpolatory symmetric semi-tight frames.
14.2.3 Design of Frames Using Spline Filters Application of the time reversed high-pass filter h˜ 2 , whose transfer function is √ ˜h 2 (z −1 ) = (1 − z f (z −2 ))/ 2, to a signal x = x0 + x1 followed by downsampling by factor 2 is 2 [l] = y[1]
˜ 2 [k − 2l] x[k]
k∈Z h
2 (z) = h˜ 2 (z −1 ) x (z) + h˜ 2 (z −1 ) x (z) ⇐⇒ y[1] 0 1 0 1
(14.41)
√ = x0 (z) − f (z −1 ) x1 (z) / 2. 2 is the difference between the even component x of This means that the output y[1] 0 x and its odd component x1 , which is filtered by the filter whose transfer function is def s [l] = h˜ s [l]} f (z −1 ). In order for the framelet ψ˜ [1] = {ψ˜ [1] l∈Z to have discrete vanishing moments, the filtered odd component should well predict the even component x0 . This can be achieved by utilizing the spline-based prediction filters described in Sects. 12.2 and 12.3.
14.2.3.1 Frames Originating from Polynomial Splines If we use as prediction filters f˜(z) the filters Ω p defined in Eq. (12.14), which are based on polynomial splines, then the design of tight frames with (anti)symmetric
14.2 Design of Three-Channel Filter Banks Which Generate Frames
313
1 is possible only for the cases p = 2, 3 (linear and quadratic splines). framelets ψ[1] For higher orders, the semi-tight construction is advised in order to retain symmetry.
Examples: Linear spline, p = 2: f (z) =
−z 2 + 2 − z −2 1+z , W (z 2 ) = 1 − | f (z 2 )|2 = . 2 4
2 2 2 −2 The function 2W (z √ ) can by factorized as 2W (z ) = w(z ) w(z ), where w(z 2 ) = (1 − z 2 )/ 2. Thus, the filter bank with the transfer functions
z −1 + 2 + z 1 h˜ 0 (z) = h 0 (z) = √ 1 + z −1 f (z 2 ) = (14.42) √ 2 2 2 −z −1 + 2 − z z −1 − z h˜ 2 (z) = h 2 (z) = , h˜ 1 (z) = h 1 (z) = √ 2 2 2 generates a tight frame in the signal space. The filters are FIR, therefore, the corresponding framelets are compactly supported. Propositions 11.5 and 11.6 imply that the filters h1 and h2 annihilate constants and sampled polynomials of first degree, respectively, and the corre1 and ψ 2 have one and two discrete vanishing moments, sponding framelets ψ[1] [1] 1 is respectively. The filter h0 restores first-degree polynomials. The framelet ψ[1] s antisymmetric. Figure 14.3 displays the impulse responses of the filters h , which are the discrete time framelets of the first level, and their magnitude responses. Quadratic interpolating polynomial spline, p = 3: f (z) = 4
(z − z −1 )4 1+z 2 , W (z ) = 2 . z + 6 + z −1 z −2 + 6 + z 2
(14.43)
An obvious factorization of the function 2W (z 2 ) is √ 2 (z − z −1 )2 . 2W (z 2 ) = w(z 2 ) w(z −2 ), where w(z 2 ) = −2 z + 6 + z2 Thus, the filter bank with the transfer functions (z + 2 + z −1 )2 z −1 (z − z −1 )2 h 0 (z) = √ , (14.44) , h 2 (z) = h 0 (−z), h 1 (z) = −2 −2 2 z + 6 + z2 2 z +6+z
generates a tight frame in the signal space.
314
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.3 Impulse (left) and magnitude responses (right) of the filter bank derived from linear splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
The filters are IIR, therefore, the corresponding framelets have infinite support. Propositions 11.5 and 11.6 imply that the filters h1 and h2 annihilate sampled polynomials of first and third degrees, respectively, and the corresponding framelets 1 and ψ 2 have two and four discrete vanishing moments, respectively. The filψ[1] [1] ter h0 restores cubic polynomials. All the framelets are symmetric. Figure 14.4 displays the impulse responses of the filters hs , which are the discrete time framelets of the first level, and their magnitude responses. Observe that the magnitude responses of the filters h0 and h2 are much more flat compared to the respective filters derived from the linear splines. Polynomial interpolating cubic spline, p = 4: f (z) =
(z −1 − z)4 (−z 2 + 14 − z −2 ) z 2 + 23z + 23 + z −1 2 , W (z ) = . 8(z + 4 + z −1 ) 64(z −2 + 4 + z 2 )2 (14.45)
(z −1 + 2 + z)2 (z + 4 + z −1 ) 1 h 0 (z) = √ 1 + z −1 f (z 2 ) = √ 2 8 2(z −2 + 4 + z 2 ) (z −1 − 2 + z)2 (−z + 4 − z −1 ) h 2 (z) = h 0 (−z) = . √ 8 2(z −2 + 4 + z 2 )
(14.46)
The factorization 2W (z) = w(z)w(1/z), which results in a tight frame, provides the filter h1 , whose transfer function is
14.2 Design of Three-Channel Filter Banks Which Generate Frames
315
Fig. 14.4 Impulse (left) and magnitude responses (right) of the filter bank derived from quadratic interpolating splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
(z −1 − z)2 (1 − qz 2 ) , h 1 (z) = z −1 √ −2 8 q(z + 4 + z 2 )
(14.47)
√ where q = 7 − 4 3 ≈ 0.0718. The transfer function is not symmetric about 1 is slightly asymmetric. It has inversion z → 1/z. Consequently, the framelet ψ[1] 2 has four vanishing moments. two vanishing moments, whereas the framelet ψ[1] 0 As in the previous example, the filter h restores cubic polynomials. Figure 14.5 displays the impulse responses of the filters hs , which are the discrete time framelets of the first level, and their magnitude responses. Observe that the impulse response of the filter h1 is not symmetric. Symmetry of the framelets can be achieved by the factorization 2W (z) = w(z)w(1/z) ˜ with unequal factors w(z) and w(z), ˜ which leads to a semi-tight 1 = ψ 1 . Such a factorization is not unique in providing addiframe where ψ˜ [1] [1] tional adaptation abilities. For example, either the analysis h˜ 1 or the synthesis h1 filter can be chosen to be FIR. The discrete vanishing moments can be transferred 1 to the analysis ψ ˜ 1 framelet and vice versa. from the synthesis ψ[1] [1] The following are examples of the filters h˜ 1 and h1 that result from two different factorization modes:
316
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.5 Impulse (left) and magnitude responses (right) of the filter bank derived from cubic interpolating splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
1.
Symmetric factorization with equal number (two) of vanishing moments in 1 and the synthesis ψ 1 framelets: the analysis ψ˜ [1] [1] −1 2 z −z ˜h 1 (z) = z −1 , 2 z −2 + 4 + z 2 −1 2 − z −z 2 + 14 − z −2 1 −1 z h (z) = z . 32 z −2 + 4 + z 2
2.
(14.48)
Antisymmetric factorization with three vanishing moments in the analysis 1 and one vanishing moment in the synthesis ψ 1 framelets: ψ˜ [1] [1] h˜ 1 (z) =
z −1 − z
3
, 4 z −2 + 4 + z 2 −1 − z −z 2 + 14 − z −2 1 −1 z h (z) = z . 16 z −2 + 4 + z 2
(14.49)
Figure 14.6 displays the impulse responses and the magnitude responses of the filters h˜ 1 and h1 . These responses stem from different factorizations of the function W (z) given in Eq. (14.45). Observe that the impulse responses of the filters h1 are either symmetric or antisymmetric. In case of the symmetric factorization, the
14.2 Design of Three-Channel Filter Banks Which Generate Frames
317
Fig. 14.6 Top left Impulse responses of the analysis filter h˜ 1 and the synthesis filter h1 for the semi-tight frames, which are defined in Eqs. (14.48). Top right their magnitude responses. Bottom the same for the filters defined in Eqs. (14.49). The impulse and magnitude responses of the analysis filters are drawn by solid lines and those of the synthesis filters are drawn by dashed lines 1 is hardly distinguishable from the shape of the shape of the analysis framelet ψ˜ [1] 1 . The same can be said about the magnitude responses of synthesis framelet ψ[1] 1 1 the filters h˜ and h . Thus, this semi-tight frame is very close to a tight one, while all the framelets are symmetric.
Quadratic quasi-interpolating spline:
Equation (12.42) implies that
−z −1 + 9 + 9z − z 2 (z − z −1 )4 (14 − z 2 − z −2 ) , W (z 2 ) = (14.50) 16 256 −z 3 + 9z + 16 + 9z −1 − z −3 z 3 − 9z + 16 − 9z −1 + z −3 h 0 (z) = , h 2 (z) = . √ √ 16 2 16 2 f (z) =
The filter h2 annihilates cubic polynomials, while the low-pass filter h0 restores such polynomials. The numerator of the function W (z 2 ) presented in Eq. (14.50) is the same as the numerator of W (z 2 ) presented in Eq. (14.45), which is derived from the cubic interpolating spline. Thus, factorization modes 2W (z) = w(z) w(1/z) ˜ for the function W (z 2 ) given in Eq. (14.50)are are similar to those for W (z 2 ) presented in Eq. (14.45):
318
1.
2.
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Non-symmetric factorization 2W (z) = w(z) w(1/z), which results in the filters (z −1 − z)2 (1 − qz 2 ) , (14.51) h˜ 1 (z) = h 1 (z) = z −1 √ 16 q √ where q = 7 − 4 3 ≈ 0.0718. In this case, all the filters have finite impulse 1 has response and the filter bank generates a tight frame. The framelet ψ[1] 2 two vanishing moments, while ψ[1] has four. Figure 14.7 displays the impulse responses of the filters hs , which are the discrete time framelets of the first level, and their magnitude responses. Observe that the impulse response of the filter h1 is not symmetric. Visually, these impulse and magnitude responses are similar to the respective impulse and magnitude responses derived from the cubic interpolating splines (Fig. 14.5). However, all the filters generating the tight frame have short finite impulse responses. Symmetric factorization with equal number (two) of vanishing moments in 1 and the synthesis ψ 1 framelets: the analysis ψ˜ [1] [1] h˜ 1 (z) = z −1
z −1 − z 4
2 , h (z) = z 1
−1
z −1 − z
2 2 −z + 14 − z −2 . 64 (14.52)
Fig. 14.7 Impulse (left) and magnitude responses (right) of the filter bank derived from quadratic quasi-interpolating splines (tight frame). Left to right h0 −→ h1 −→ h2
14.2 Design of Three-Channel Filter Banks Which Generate Frames
3.
319
Antisymmetric factorization with three vanishing moments in the analysis ψ˜ 1 (t) and one vanishing moment in the synthesis ψ 1 (t) framelets: h˜ 1 (z) = z −1
z −1 − z 8
3 , h (z) = z 1
−1
z −1 − z
2 −z + 14 − z −2 . 32 (14.53)
Figure 14.8 displays the impulse responses and the magnitude responses of the filters h˜ 1 and h1 , which stem from different factorizations of the function W (z) given in Eq. (14.50). Observe that the impulse responses of the filter h1 are either symmetric or antisymmetric. As in the cubic-spline example, the shape of the 1 designed by the symmetric factorization, is very close to analysis framelet ψ˜ [1] 1 . The same can be said about the magnitude the shape of the synthesis framelet ψ[1] responses of the filters h˜ 1 and h1 . Thus, this semi-tight frame is near a tight one, while all the framelets are symmetric.
Fig. 14.8 Top left Impulse responses of the analysis filter h˜ 1 and the synthesis filter h1 for the semi-tight frames that are defined in Eq. (14.52). Top right: their magnitude responses. Bottom: the same for the filters defined in Eq. (14.53). The impulse and magnitude responses of the analysis filters are drawn by solid lines and those of the analysis filters are drawn by dashed lines
320
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
14.2.3.2 Frames Originating from Discrete Splines (Butterworth Frames) In this section, prediction filters derived from discrete splines of span 2 are used for the frames design. These filters are described in Sect. 12.3. Unlike filters derived from polynomial splines, the discrete-splines prediction filters enable us to explicitly design tight and semi-tight frames, where the framelets are (anti)symmetric and may have any number of discrete vanishing moments. Since there is a relation between the filters and the Butterworth filters, the corresponding frames are referred to as Butterworth frames. def Let ρ(z) = z + 2 + z −1 . The transfer function f 2r (z) = Ξ 2r (z −1 ) of the prediction filter f 2r , where the function Ξ 2r (z) is defined in Eq. (12.57) is f 2r (z 2 ) = Ξ 2r (z −2 ) = z
ρ r (z) − ρ r (−z) . ρ r (z) + ρ r (−z)
(14.54)
Then, the low- and high-pass filters are explicitly defined as √ r 2ρ (z) 1 −1 2r 2 ˜ 1 + z f (z ) = r , h (z) = h 0 (z) = √ ρ (z) + ρ r (−z) 2 √ r 2ρ (−z) 1 2 2 −1 2r 2 ˜ 1 − z f (z ) = r . h (z) = h (z) = √ ρ (z) + ρ r (−z) 2 0
(14.55)
def
The function W (z 2 ) = 1 − | f 2r (z 2 )|2 = 2h 0 (z) h 0 (−z) is represented as follows 2r 4(−1)r z − z −1 4ρ r (z) ρ r (−z) W (z ) = r = (ρ (z) + ρ r (−z))2 (ρ r (z) + ρ r (−z))2 2r 4(−1)r z −2r 1 − z 2 . = (ρ r (z) + ρ r (−z))2 2
(14.56)
The factorization 2W (z 2 ) = w(z 2 ) w(z −2 ) is always possible with r 23/2 1 − z 2 w(z ) = r . ρ (z) + ρ r (−z) 2 def
(14.57)
If r = 2n, then w(z 2 ) can be defined in a symmetric form: 2n 23/2 z − z −1 w(z ) = 2n . ρ (z) + ρ 2n (−z) 2 def
(14.58)
Hence, the three-channel filter bank consisting of the filters h0 and h2 , which are defined by Eq. (14.55), and the filter h1 , whose transfer function h 1 (z) =
14.2 Design of Three-Channel Filter Banks Which Generate Frames
321
√ z −1 w(z 2 )/ 2, generates a tight frame in the signal space. If w(z 2 ) is defined either 2 has 2r discrete vanas in Eq. (14.114) or as in Eq. (14.85), then the framelet ψ[1] 1 has r discrete vanishing moments. The ishing moments, while the framelet ψ[1] 0 2 1 is symmetric when framelets ψ[1] and ψ[1] are symmetric, whereas the framelet ψ[1] r is even and antisymmetric when r is odd. The magnitude response of the filter h0 is maximally flat, and the filter restores sampled polynomials of degree 2r − 1. The magnitude response of the filter h2 is a mirrored version of the response of h0 . The magnitude response |hˆ 1 (ω)| of the filter h1 is symmetric about π/2, and it vanishes at the points ω = 0 (z = 1) and ω = π (z = −1). We gain more freedom in the design of the filters h˜ 1 and h1 by dropping the requirement w(z) = w(z) ˜ in the factorization of W (z). Doing so, we arrive at a semitight case. For example, a symmetric factorization of W (z) is possible for either of even and odd values of r : √ p 2r − p 2 2 − z −2 − z 2 2 2 − z −2 − z 2 2 def , w(z ˜ ) = , s ∈ Z. w(z ) = r (ρ (z) + ρ r (−z))s (ρ r (z) + ρ r (−z))2−s 2 def
If the p is odd and s ∈ Z, then the factors def
w(z 2 ) = −
p 2(−z 2 )− p 1 − z 2 (ρ r (z) + ρ r (−z))s
2r − p 2 ) p−2r 1 − z 2 2(−z def w(z ˜ 2) = , (14.59) (ρ r (z) + ρ r (−z))2−s
are antisymmetric. The semi-tight design enables us to swap vanishing moments between the analysis 1 and the synthesis ψ 1 framelets. Another option is where one of the filters ψ˜ [1] [1] h1 : h 1 (z) = z −1 w(z 2 ) or h˜ 1 : h˜ 1 (z) = z −1 w(z ˜ 2 ) has a finite impulse response. It is achieved if either s ≤ 0 or s ≥ 2 in Eq. (14.59).
Examples: Discrete spline of fourth order, r = 2: The transfer function Ξ 4 (z) of the prediction filter derived from the fourth-order discrete spline coincides with the transfer function Ω 3 (z) of the prediction filter derived from the quadratic interpolating polynomial spline. Thus the frame design in this case is identical to the design for the quadratic spline. Discrete spline of sixth order, r = 3: (z 2 + 1)(z 2 + 14 + z −2 ) ρ 3 (z) − ρ 3 (−z) , = ρ 3 (z) + ρ 3 (−z) 2 3z 2 + 10 + 3z −2 √ 3 2ρ (z) (z −1 + 2 + z)3 0 ˜ 0 h (z) = h (z) = 3 = √ , (14.60) ρ (z) + ρ 3 (−z) 2 2 3z 2 + 10 + 3z −2 f (z 2 ) = z
322
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
(−z −1 + 2 − z)3 h 2 (z) = h 0 (−z) = √ , 2 2 3z 2 + 10 + 3z −2 W (z 2 ) =
−(z − z −1 )6 −z −6 (1 − z 2 )6 2 = 2 . 4 3z 2 + 10 + 3z −2 4 3z 2 + 10 + 3z −2
(14.61)
The factorization 2W (z 2 ) = w(z 2 ) w(z −2 ), where 3 z −2 1 − z 2 w(z ) = √ 2 3z 2 + 10 + 3z −2 3 z −1 1 − z 2 1 ˜ 1 , =⇒ h (z) = h (z) = 2 2 3z + 10 + 3z −2 2 def
(14.62)
2 has six discrete generates a tight frame in the signal space. The framelet ψ[1] 1 is antisymmetric and has three vanishing vanishing moments. The framelet ψ[1] moments (Fig. 14.9).
˜ −2 ) (and many othThe following two factorization modes 2W (z 2 ) = w(z 2 ) w(z ers) result in semi-tight frames:
Fig. 14.9 Impulse (left) and magnitude responses (right) of the filter bank derived from the sixth order discrete splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
14.2 Design of Three-Channel Filter Banks Which Generate Frames
1.
Symmetric factorization: Increase the number of vanishing moments in the 1 has two vanishing analysis framelet ψ˜1 [1] to four. The synthesis framelet ψ[1] moments where −z −1 (z − z −1 )2 z −1 (z − z −1 )4 h˜ 1 (z) = . h 1 (z) = 2 3z + 10 + 3z −2 4 3z 2 + 10 + 3z −2
2.
323
(14.63)
Antisymmetric factorization: Increase the number of vanishing moments in 1 to five. The synthesis framelet ψ ˜ 1 has only one the analysis framelet ψ˜ [1] [1] vanishing moment where 2z −2 (z 2 − 1) z −4 (1 − z 2 )5 h˜ 1 (z) = z −1 . h 1 (z) = z −1 2 3z + 10 + 3z −2 8 3z 2 + 10 + 3z −2 (14.64)
Figure 14.10 displays the impulse responses and the magnitude responses of the filters h˜ 1 and h1 , which stem from different factorizations of the function W (z) given in Eq. (14.61). Observe that the impulse responses of the filter h1 are either symmetric or antisymmetric.
Fig. 14.10 Top left Impulse responses of the analysis filter h˜ 1 and the synthesis filter h1 for the semi-tight frames that are defined in Eqs. (14.63). Top right their magnitude responses. Bottom the same for the filters defined in Eqs. (14.64). The impulse and magnitude responses of the analysis filters are drawn by solid lines and those of the synthesis filters are drawn by dashed lines
324
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Discrete spline of eighth order, r = 4: (1 + z)(z + 6 + z −1 ) , z 2 + 28z + 70 + 28z −1 + z −2 (z −1 + 2 + z)4 h 0 (z) = h˜0 (z) = √ , 2 z −4 + 28z −2 + 70 + 28z 2 + z 4 f (z) = Ξ 8 (z −1 ) = 8
(14.65)
(z −1 − 2 + z)4 h 2 (z) = h 0 (−z) = √ , 2 z −4 + 28z −2 + 70 + 28z 2 + z 4 W (z 2 ) =
(z − z −1 )8 z −4 + 28z −2 + 70 + 28z 2 + z 4
2 .
(14.66)
The straightforward symmetric factorization 2W (z 2 ) = w(z 2 ) w(z −2 ), where √ 2(z − z −1 )4 (14.67) w(z ) = −4 z + 28z −2 + 70 + 28z 2 + z 4 (z − z −1 )4 =⇒ h 1 (z) = h˜1 (z) = z −1 −4 , z + 28z −2 + 70 + 28z 2 + z 4 2 def
2 has eight discrete generates a tight frame in the signal space. The framelet ψ[1] 1 has four vanishing moments. vanishing moments. The framelet ψ[1]
Figure 14.11 displays the impulse and magnitude responses of the filters derived from the eighth-order discrete splines. We observe that all the impulse responses, which are the framelets of the first level, are symmetric. The magnitude responses of the filters h0 and h2 , which mirror each other, are maximally flat and their shapes are close to rectangular. The magnitude responses of h1 are symmetric about π/2.
14.2.3.3 Comparison with Wavelet Transform In the presented constructions, biorthogonal wavelet transforms and framelet transforms are derived from the same prediction filters originating from polynomial and discrete splines. Consequently, they have much in common. We compare wavelet and tight frame transforms that are derived from the same splines. As an example, we use the tight frame originated from the quadratic polynomial interpolating spline, which is defined in Eq. (14.44) (see also Eq. (2.33)) and displayed in Fig. 14.4. For the biorthogonal wavelet transform, we use the synthesis low-pass filter and the analysis high-pass filter whose transfer functions are
14.2 Design of Three-Channel Filter Banks Which Generate Frames
325
Fig. 14.11 Impulse (left) and magnitude responses (right) of the filter bank derived from the eighth-order discrete splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
(z − 2 + z −1 )2 (z + 2 + z −1 )2 h 0w (z) = √ and h˜ 1w (z) = z −1 √ , 2 z −2 + 6 + z 2 2 z −2 + 6 + z 2
(14.68)
respectively. They coincide with the transfer functions of the filters h 0 (z) and h 2 (z) of the frame transform (up to the factor z −1 ), respectively. The structures of the analysis low-pass filter and the synthesis high-pass filter are more complicated: def h˜ 0w (z) = h 0w (z) + 2−1/2 W 3 (z 2 , W 3 (z 2 = 1 − | f (z 2 )|2 .
(14.69)
For comparison, we redraw Fig. 12.1, which displays the impulse and magnitude responses of the biorthogonal filters derived from the quadratic interpolatory splines, and Fig. 14.4, which displays the impulse and magnitude responses of the respective tight-frame filter bank (Figs. 14.12 and 14.13) . We observe that the impulse responses of the wavelet filters hw1 and h˜ w0 are less regular compared to the impulse responses of the frame filters h2 and h0 . Unlike the magnitude responses of the frame filters h2 and h0 , which are maximally flat, the magnitude responses of the wavelet filters hw1 and h˜ w0 have “bumps” in the passbands. It is seen from Eq. (14.69) that these “bumps” are due to the term W 3 (z 2 , which differentiates the wavelet filters from the corresponding frame filters and the analysis wavelet filters from the synthesis ones.
326
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.12 Impulse and magnitude responses of the filters derived from quadratic interpolating splines. Top analysis filters. Bottom synthesis filters
Thus, introduction of the additional filter h1 , which means switching from biorthogonal wavelet transform to frame transform, simplifies the structure of the filters. The filter h1 removes the difference between the analysis and the synthesis wavelet filters. In the frequency domain, it compensates for the “bumps”, which are inherent in wavelet filters. Loosely speaking, by moving from wavelet to frame transforms we split the complex filters into simpler components.
14.2.3.4 Remarks on the Implementation of the Frame Transforms It is advisable to implement the designed frame transforms by using a polyphase representation. The triangular factorization of the matrices Q(z) defined in Eq. (14.34) produces the analysis and synthesis polyphase matrices √ √ ⎞ √ √
1/ 2 f˜(z)/√2 2 0√ 1/ 2√ 1/ √ def ⎝ ˜ ⎠ , P(z) def . P(z) = = 0√ w(z)/ ˜ 2 √ f (z)/ 2 w(z)/ 2 − f (z)/ 2 ˜ 1/ 2 − f (z)/ 2 ⎛
14.2 Design of Three-Channel Filter Banks Which Generate Frames
327
Fig. 14.13 Impulse (left) and magnitude responses (right) of the filter bank derived from quadratic interpolating splines (tight frame). Left to right h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines)
Then, the z-transform of the one-level transform coefficients √ ⎞ ⎛ √ 0 (z) ⎞
y[1] 1/ 2 f˜(z −1 )/√2 x0 (z) 1 (z) ⎠ −1 ⎝ ⎝ y[1] ⎠ = ⇐⇒ (14.70) · 0√ w(z ˜ )/ √2 x1 (z) 2 (z) y[1] 1/ 2 − f˜(z −1 )/ 2 1 1 0 1 y[1] (z) = √ x0 (z) + f˜(z −1 ) x1 (z) , y[1] (z) = √ w(z ˜ −1 ) x1 (z)) 2 2 1 2 (z) = √ x0 (z) − f˜(z −1 ) x1 (z) . y[1] 2 ⎛
It is obvious from Eq. (14.70) that only the odd polyphase component x1 of the signal x should be filtered. The steps of the transform are: 1. The signal is split into the polyphase component x = x0 x1 . ˜ whose transfer function 2. The odd component is filtered by the time-reversed filter f, −1 ˜ ˜ is f (z ): t = f x1 . √ √ 0 = (x + t)/ 2 and y2 = (x − t)/ 2. 3. The output signals are y[1] 0 0 [1] ˜ whose 4. The odd component is filtered by the time-reversed filter w, √ transfer func1 =w ˜ x1 / 2. tion is w(z ˜ −1 ), thus producing the output signal y[1]
328
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Restoration of the signal x from the transform coefficients is expressed via the z-transform as follows
⎞ ⎛ 0 √ √ y[1] (z) 1/ √ 2 0√ 1/ 2√ x0 (z) 1 (z) ⎠ ⎝ y[1] = ⇐⇒ (14.71) x1 (z) f (z)/ 2 w(z)/ 2 − f (z)/ 2 2 (z) y[1] 1 0 2 x0 (z = √ y[1] (z) + y[1] (z) , 2 1 0 2 1 f (z) (y[1] (z) − y[1] (z)) + w(z) y[1] (z) . x1 (z) = √ 2
It is obvious from relations in Eq. (14.71) that filtering is needed only for the restoration of the odd polyphase component x1 of the signal x. The steps of the inverse transform are: 1. The even is restored as the sum of the transform coefficients component polyphase √ 0 2 x0 = y[1] + y[1] / 2. 2. The difference of the transform coefficients is filtered by the filter f, whose transfer 0 − y2 . function is f (z): d = f y[1] [1] 1 are filtered by the filter w, whose transfer function 3. The transform coefficients y[1] 1 . is w(z): q = w y[1] √ 4. The odd polyphase component is restored as the sum x1 = (d + q) / 2.
Remark 14.2.2 Summarizing, we state that implementation of the frame transform ˜ of a signal consists of filtering its odd polyphase component by the filters f˜ and w and a few arithmetic operations. The inverse transform consists of a few arithmetic operations on the coefficients followed by filtering by the filters f and w. Most of the presented prediction filters have infinite impulse responses, and their transfer functions are rational. The denominators of these rational transfer functions are Laurent polynomials, which are symmetric about inversion z → 1/z and do not have zeros on the unit circle z = eiω , ω ∈ R. Thus, the denominators can be factored as p D(z) = d (1 + γk z −1 )(1 + γk z) k=1
and filtering is implemented via the application of the FIR filter related to the numerator of the transfer function and application of the causal–anticausal pairs of recursive filters related to the denominator. The operations are carried out either in a cascade or in a parallel mode, as exemplified in Sect. 2.2.2. The multilevel transforms are implemented according to the diagram in Fig. 14.1. The diagram in Fig. 14.14 illustrates the layout of transform coefficients for a 3-level framelet transform.
14.2 Design of Three-Channel Filter Banks Which Generate Frames
329
Fig. 14.14 Layout of transform coefficients for 3-level framelet transform
The direct and the inverse framelet transforms are implemented by the MATLAB functions fram34_dec_N.m and fram34_rec_N.m, respectively. The figures displaying impulse and magnitude responses of the 3-channel filter banks generating tight and semi-tight frames are produced by the MATLAB code fram3_exam_N.m.
14.2.4 2D Frame Transforms Implementation of 2D frame transforms is, to some extent, similar to the implementation of 2D wavelet transforms. One-level transform of a two-dimensional array X = {X [k, n]} of size K × N starts with the application of 1D framelet transform to columns of the matrix X. That means filtering the columns by the rime-reversed filters h˜ 0 , h˜ 1 and h˜ 2 . The transform coefficients from each column are arranged into a column of length 2K according to the scheme in Fig. 14.14, thus forming a matrix X1 of size 2K × N . Then 1D framelet transform is applied to rows of the matrix X[1] . That is, each row is filtered by the filters h˜ 0 , h˜ 1 and h˜ 2 . The transform coefficients from each row of X[1] are arranged into a row vectorof length 2N according to the scheme in Fig. 14.14, thus forming a matrix Y[1] = Y[1] [k, n] of size 2K × 2N . The matrix Y[1] comprises the blocks of coefficients Y[1] ⊃ Yl,m [1] , l, m = 0, 1, 2,
def ˜ m ˜l where Yl,m [1] = h (→) (h (↑) X). To pass to the next decomposition level,the same 2D transform is applied to 0,0 0,0 the low-frequency array Y[1] = Y[1] [k, n] of size K /2 × N /2, thus forming a matrix Y[2] = Y[2] [k, n] of size K × N . The matrix Y[2] comprises the blocks of
330
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Yl,m [2] , l, m = 0,1, 2. Next, the transform is applied to the 0,0 0,0 low-frequency array Y[2] = Y[1] [k, n] of size K /4 × N /4, and so on. The direct and the inverse 2D framelet transforms are implemented by the MATLAB functions fram34_dec2d_N.m and fram34_rec2d_N.m, respectively. The diagram in Fig. 14.15 illustrates the layout of transform coefficients for 3level 2D framelet transform. Note that for such a transform of a square matrix X 41 2 N compared to N 2 of size N × N the number of the transform coefficients is 2 64 entries in the matrix X. Thus, the transform provides a significant redundancy in the representation. coefficients Y[2] ⊃
Fig. 14.15 Layout of transform coefficients for 3-level 2D framelet transform
14.3 Design of Four-Channel Filter Banks Which Generate Frames
331
14.3 Design of Four-Channel Filter Banks Which Generate Frames In previous sections, we dealt with the frame transforms generated by three-channel perfect reconstruction filter banks with the downsampling factor 2. Each step of such transform produced the redundancy 1:1.5. It was apparent that design of a tight frame starting from a linear phase low-pass filter can result in non-symmetric framelets ψ 1 and ψ 2 . However, increase of the number of channels in the generating filter bank (still retaining the downsampling factor 2) simplifies the design of tight frames with (anti)symmetric framelets.
14.3.1 Four-Channel Oversampled Filter Banks ˜ = Assume that an analysis H h˜ 0 , h˜ 1 , h˜ 2 , h˜ 3 and a synthesis H = 0 1 2 3 h , h , h , h filter banks with downsampling by factor 2 form a PR fil1 ter bank. Here, h˜ 0 and h0 are the low-pass filters and h˜ 1 and h are the highs pass filters. The transfer functions of the filters are h˜ (z) , s = 0, 1, 2, 3, and {h s (z)} , s = 0, 1, 2, 3,, respectively. We assume that these transfer functions are stable rational functions. Thus, due to Theorem 14.1, the 2-sample shifts def def ˜ s s ˜ ψ [· − 2k] = h [· − 2k] , s = 0, 1, 2, 3, k ∈ Z, and ψ s [· − 2k] = h s [· − 2k] , s = 0, 1, 2, 3, k ∈ Z, of the impulse responses form the analysis and synthesis frames of the signal space, respectively, such that x[l] =
3
x, ψ˜ s [· − 2k] ψ s [l − 2k].
s=0 k∈Z
Extension of the frame transform to the sparser levels is carried out similarly to the three-channel case as described in Sect. 14.1.2. The analysis and synthesis polyphase matrices are, respectively, ⎛ ˜0 h 0 (z) 1 ⎜ def ⎜ h˜ 0 (z) ˜ = ⎝ ˜2 P(z) h 0 (z) h˜ 30 (z)
⎞ h˜ 01 (z)
0 h˜ 11 (z) ⎟ h 0 (z) h 10 (z) h 20 (z) h 30 (z) ⎟ , P(z) def , = h 01 (z) h 11 (z) h 21 (z) h 31 (z) h˜ 21 (z) ⎠ h˜ 3 (z)
(14.72)
1
where h˜ 0s and h˜ 1s are the even and the odd polyphase components of the filters h˜ s , respectively. It is the same for the filters hs , s = 0, 1, 2, 3. The direct and inverse transforms of a signal x can now be presented in a polyphase form by
332
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
⎞ ⎛ 0 0 (z) ⎞ y[1] y[1] (z)
1 (z) ⎟ 1 (z) ⎟ ⎜ y[1] ⎜ y[1] x0 (z) ⎟ = P(z ⎟ ⎜ ⎜ ˜ −1 ) · x0 (z) , = P(z) · 2 ⎝ y (z) ⎠ ⎝ y 2 (z) ⎠ . (14.73) x1 (z) x1 (z) [1] [1] 3 (z) 3 (z) y[1] y[1] ⎛
A PR filter bank is characterized by the matrix relations
˜ −1 ) = P(z) · P(z
⎛ ˜ 0 −1 h 0 (z ) h˜ 10 (z −1 ) h 00 (z) h 10 (z) h 20 (z) h 30 (z) ⎜ ·⎜ 0 1 2 3 ⎝ h 1 (z) h 1 (z) h 1 (z) h 1 (z) h˜ 20 (z −1 ) h˜ 30 (z −1 )
⎞ h˜ 01 (z −1 ) h˜ 11 (z −1 ) ⎟ ⎟ = I2 . (14.74) h˜ 21 (z −1 ) ⎠ h˜ 31 (z −1 )
The matrix product in Eq. (14.74) can be split into two products: ˜ −1 ) = P01 (z) · P˜ 01 (z −1 ) + P23 (z) · P˜ 23 (z −1 ) = P(z) · P(z
0
0 h 0 (z) h 10 (z) h˜ 0 (z) h˜ 01 (z) def def 01 01 ˜ , P (z) = ˜ 1 P (z) = h 01 (z) h 11 (z) h 0 (z) h˜ 11 (z)
2
h 0 (z) h 30 (z) h˜ 20 (z) h˜ 21 (z) def def 23 ˜ P . P23 (z) = (z) = h 21 (z) h 31 (z) h˜ 30 (z) h˜ 31 (z)
10 , (14.75) 01 (14.76) (14.77)
˜ of filter banks generates a tight frame According to Theorem 14.2, a PR pair H, H if their polyphase matrices are linked as ˜ T ⇐⇒ P01 (z) = P˜ 01 (z)T and P23 (z) = P˜ 23 (z)T , n ∈ Z. P(z) = P(z) ˜ Definition 14.2 Assume that P(z) and P(z) are polyphase matrices of the PR pair ˜ H of filter banks which generate a bi-frame F, ˜ F in the signals’ space. If H, 01 01 T 23 23 the matrices P (z) = P˜ (z) but P (z) = P˜ (z)T , |z| ≡ 1, then the frame ˜ F is referred to as semi-tight. F, As in three-channel case, design of four-channel filter banks begins from a linear phase low-pass filter h0 = h˜ 0 , whose transfer function h 0 (z) = h 00 (z 2 ) + z −1 hˆ 01 (z 2 ) is a rational function of z = eiω with real coefficients, that has no poles on the unit circle. Assume that hˆ 0 (z) is symmetric about the swap z → 1/z, which implies that h 00 (z) = h 00 (z −1 ) and z −1 h 01 (z) = z h 01 (z −1 ). The IR h 0 [k] is symmetric about k = 0. In addition, assume that P01 (z) = P˜ 01 (z)T and the product P (z) · P (z 01
01
−1
)=
α(z) 0 0 β(z)
(14.78)
14.3 Design of Four-Channel Filter Banks Which Generate Frames
333
is a diagonal matrix. The assumption in Eq. (14.78) is equivalent to the condition h 00 (z) h 01 (z −1 ) + h 10 (z) h 11 (z −1 ) = 0. The simplest way to satisfy this condition is to define 2 2 def def h 10 (z) = −h 01 (z −1 ), h 11 (z) = h 00 (z −1 ) =⇒ α(z) = β(z) = h 00 (z) + h 01 (z) . Due to the symmetry of h 0 (z), the transfer function of the filter h1 is h 1 (z) = −h 01 (z −2 ) + z −1 h 00 (z −2 ) = z −1 h 00 (z 2 ) − z −1 h 01 (z 2 ) = z −1 h 0 (−z).
(14.79)
Equation (14.79) implies that the zh 1 (z) is symmetric about the swap z → 1function 1/z and, consequently, the IR h [k] is symmetric about k = 1. It follows from the assumption in Eq. (14.78) that the product def P (z) · P˜ 23 (z −1 ) = Q(z) = 23
t (z) 0 , where 0 t (z)
(14.80)
2 2 def t (z) = 1 − h 00 (z) − h 01 (z) ,
is a diagonal matrix. Thus, the design of the PR filter bank is reduced to factorization of the matrix Q(z).
14.3.1.1 Diagonal Factorization of the Matrix Q(z) There are many ways to factorize the matrix Q(z). One way is to define the matrices P23 (z) and P˜ 23 (z) to be diagonal:
P23 (z) =
2 h 20 (z) 0 h˜ 0 (z) 0 def 23 ˜ (z) = , P . 0 h 31 (z) 0 h˜ 31 (z)
This means that the odd polyphase components of the filters h˜ 2 and h2 as well as the even polyphase components of the filters h˜ 3 and h3 vanish. Consequently, we have to find four functions h 20 (z), h˜ 20 (z), h 31 (z) and h˜ 31 (z) such that h 20 (z) h˜ 20 (z −1 ) = h 31 (z) h˜ 31 (z −1 ) = t (z).
(14.81)
334
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Tight frame filter banks: If the following inequality holds 2 2 α(z) = h 00 (z) + h 01 (z) ≤ 1, |z| = 1,
(14.82)
then, due to symmetry properties of the rational functions h 00 (z) and h 01 (z), for z = eiω , we have t (z) = P(cos ω)/R(cos ω), where the polynomial R is strictly positive and P is non-negative. Due to Riesz’s theorem 14.3, the polynomials can be factorized as P(cos ω)) = p(z) p(z −1 ), R(cos ω)) = q(z) q(z −1 ), where p and q are polynomials with real coefficients and q(z) does not have roots for |z| = 1. Thus, we can define h 20 (z) = h˜ 20 (z) = h 31 (z) = h˜ 31 (z) = T (z) =
def
p(z) . q(z)
(14.83)
The PR filter bank, whose FRs are h 0 (z) = h 00 (z 2 ) + z −1 h 01 (z 2 )
h 2 (z) = T (z 2 ),
h 1 (z) = −h 01 (z −2 ) + z −1 h 00 (z −2 ), h 3 (z) = z −1 T (z 2 ), generates a tight wavelet frame in the signals’ space. Certainly, symmetry of the transfer function h 0 (z) does not guarantee symmetry of the transfer functions h 2 (z) and h 3 (z).
Semi-tight frame filter banks: If the condition of Eq. (14.82) is not satisfied, then the function t (z) can be factorized as t (z) = T (z) T˜ (z −1 ), where T (z) = T˜ (z). Thus, we obtain the PR filter bank, whose FRs are h 0 (z) = h 00 (z 2 ) + z −1 h 01 (z 2 ), h 2 (z) = T 2 (z 2 ), h 3 (z) = z −1 T 3 (z 2 ),
h 1 (z) = −h 01 (z −2 ) + z −1 h 00 (z −2 ), h˜ 2 (z) = T˜ 2 (z 2 ), h˜ 3 (z) = z −1 T˜ 3 (z 2 ).
(14.84)
where T 2 (z) T˜ 2 (z −1 ) = T 3 (z) T˜ 3 (z −1 ) = t (z). The PR filter bank defined by Eq. (14.84) generates a semi-tight frame in the signals’ space. Remark 14.3.1 The rational function t (z) of z is symmetric about change z → 1/z. Therefore, it can be factorized into product of two symmetric rational functions T (z) and T˜ (z −1 ). An additional advantage of the semi-tight design is the option to swap approximation properties between the analysis and the synthesis framelets.
14.3 Design of Four-Channel Filter Banks Which Generate Frames
335
14.3.1.2 Symmetric Factorization of the Matrix Q(z) If the inequality in Eq. (14.82) holds, then the function t (z) can be factorized as t (z) = T (z) T (z −1 ) and the following factorization of the matrix Q(z) is possible. Define,
A(z −1 ) −A(z −1 ) def def P˜ 23 (z) = P23 (z)T , (14.85) P23 (z) = A(z) A(z) √ def where A(z) = T (z)/ 2. Then, the product P (z) · P˜ 23 (z −1 ) = 23
A(z −1 ) −A(z −1 ) A(z) A(z)
A(z) A(z −1 ) · = Q(z). −A(z) A(z −1 )
A consequence of this choice is the fact that the filters h2 and h3 have a linear phase: h 2 (z) = A(z −2 ) + z −1 A(z 2 ), h 2 (z −1 ) = A(z 2 ) + z A(z −2 ) = z h 2 (z), h 3 (z) = −A(z −2 ) + z −1 A(z 2 ), h 3 (z −1 ) = −A(z 2 ) + z A(z −2 ) = −z h 3 (z). The following symmetry properties hold. Proposition 14.2 The impulse response (IR) of the filter h2 is symmetric about 1/2, while the IR of h3 is antisymmetric about 1/2. Proof When z = eiω , we have eiω h 2 (eiω ) = h 2 (e−iω )= hˆ 2 (−ω). Using Eq. (1.22), ∞ we express the IR of the filter h2 as h 2 [k] = (2π )−1 −∞ eikω h 2 (eiω ) dω. On the other hand, ∞ ∞ 1 1 e−ikω eiω h 2 (eiω ) dω = e−ikω h 2 (e−iω ) dω 2π −∞ 2π −∞ ∞ 1 = eikω h 2 (eiω ) dω = h 2 [k] 2π −∞
h 2 [−k + 1] =
The claim about the filter h3 is proved similarly. Since P˜ 23 (z) = P23 (z)T , the four-channel filter bank h 0 (z) = h 00 (z) + z −1 h 01 (z), h 1 (z) = −h 01 (z −1 ) + z −1 h 00 (z −1 ), h 2 (z) = A(z −1 ) + z −1 A(z), h 3 (z) = −A(z −1 ) + z −1 A(z). generates a tight frame in the signals’ space. Remark 14.3.2 The design based on the symmetric factorization is, in essence, similar to the design presented in [11]. Certainly, other schemes are possible.
336
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
14.3.1.3 Interpolating Filter Banks Assume that the low-pass filter h0 is interpolating and its transfer function is h 0 (z) = √ −1 2 1 + z f (z ) / 2, where the function f (z) is rational, has no poles on the unit circle |z| = 1 and f [0]1 = 1, z −1 f (z 2 ) = z f (z −2 ). The function t (z) to be factorized is 2 2 W (z) t (z) = 1 − h 00 (z) + h 01 (z) = , 2 W (z 2 )
def
= 1 − | f (z 2 )|2 = 2h 0 (z) h 0 (−z).
Remark 14.3.3 Certainly, the function W (z) is defined in the same way as the function W p (z) used in the design of biorthogonal wavelets in Sect. 12.1.3 and the function W ( z) used in the design of three-channel filter banks in Sect. 14.2.1. When the diagonal factorization of the matrix Q(z) is applied, the polyphase submatrices are
1 1 f (z) 01 01 T ˜ , (14.86) P (z) = P (z) = √ −1 2 − f (z ) 1
2
2 T (z) 0 T˜ (z) 0 P˜ 23 (z) = , (14.87) P23 (z) = 0 T 3 (z) 0 T˜ 3 (z) where T 2 (z) T˜ 2 (z −1 ) = T 3 (z) T˜ 3 (z −1 ) = W (z)/2. In the case when the inequality in Eq. (14.82) holds and the function t (z) is factorized as t (z) = T (z) T (z −1 ), the polyphase matrices P01 (z) = P˜ 01 (z)T are given in Eq. (14.86), while the matrices P23 (z) = P˜ 23 (z)T are given in Eq. (14.85).
14.3.2 Low-Pass Filters Like in the three-channel case, the key point in the design of a four-channel PR filter bank that generates a (semi-)tight frame in the signal space, is the definition of a relevant low-pass filter h0 = h˜ 0 . Once it is done, the rest of the filters can be designed as described in Sect. 14.3.1.
14.3.2.1 Interpolating Low-Pass Filters A number of interpolating linear phase low-pass filters, which originate from polynomial and discrete interpolating splines, is described in Sect. 14.2.3. The structure of the transfer functions of those filters is
14.3 Design of Four-Channel Filter Banks Which Generate Frames
337
1 h 0 (z) = hˆ˜ 0 (z) = √ 1 + z −1 f (z 2 ) , 2 where f (z) is the transfer function of a prediction filter derived from a spline. If the polynomial interpolating spline of order p is utilized then υ¯ p (z) , u¯ p (z)
1 def −l p def −1/2 −l p p , = z B (l) , υ¯ (z) = z z B l+ 2
f (z) = z 1/2 u¯ p (z)
l∈Z
l∈Z
where B p (t) is the B-spline. The corresponding low-pass filter h0 restores polynomials of degree p-1 if p is even, and of degree p if p is odd. The transfer function of the prediction filter derived from the discrete spline of order 2r is f (z 2 ) = z
ρ r (z) − ρ r (−z) def , ρ(z) = z + 2 + z −1 . ρ r (z) + ρ r (−z)
The corresponding low-pass filter h0 restores polynomials of degree 2r-1. All the above low-pass filters, except for filters derived from splines of second order, have infinite impulse response. These second order filters restore linear polynomials. However, in some applications, it is preferable to have FIR filters with a higher approximation accuracy. One of such filters is presented in Sect. √ 14.2.3. It is the interpolating low-pass filter whose transfer function is h 0 (z) = 1 + z −1 f q (z 2 ) / 2, where the prediction filter is derived from the quadratic quasi-interpolating spline (Eq. (14.50)): −z −1 + 9 + 9z − z 2 −z 3 + 9z + 16 + 9z −1 − z −3 , h 0 (z) = , √ 16 16 2 √ ω ω 1 + 2 sin2 . (14.88) hˆ 0 (ω) = 2 cos4 2 2 f (z) =
The filter h0 restores cubic polynomials.
14.3.2.2 Two Examples of Non-interpolating FIR Filters Quadratic quasi-interpolating spline Denote by S 3 (t) the quadratic spline, which quasi-interpolates the even polyphase def
component x0 of a signal x (Sect. 5.2.2). Samples of the spline are denoted as s0 [k] = def
S 3 (k) and s1 [k] = S 3 (k + 1/2), κ ∈ Z. Equation (5.14) implies that the sequence s0 is
338
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
s0 [k] =
−x0 [k − 2] + 4 x0 [k − 1] + 58 x0 [k] + 4 x0 [k − +1] − x0 [k + 2] . 64
In other words, the sequence s0 is derived by filtering x0 with the FIR filter g, whose transfer function is g(z) =
−z −2 + 4 z −1 + 58 + 4 z − z 2 . 64
(14.89)
The sequence s1 is derived by filtering x0 with the FIR filter f, whose transfer function is given in Eq. (14.88). Recall that the sequence s1 approximates the odd polyphase component x1 of the signal x, thus retaining sampled cubic polynomials. The sequence s0 approximates the even polyphase component x0 of the signal x, thus retaining sampled quadratic polynomials. We define a non-interpolating low-pass filter by its transfer function: ρ 2 (z) (10 − z 2 − z −2 ) def 1 g(z 2 ) + z −1 f (z 2 ) = h 0 (z) = √ . √ 2 64 2
(14.90)
The IR of the filter h0 comprises nine terms. The frequency response of the filter is √ ω ω 1 2 + sin2 ω = hˆ 0 (0) + 2 sin4 5 + 4 cos ω + cos2 ω . hˆ 0 (ω) = √ cos4 2 2 2 Thus, due to Corollary 11.3, the low-pass filter h0 restores cubic polynomials. The same approximation order is achieved by filters that have shorter IRs. For example, the interpolating filter h0 , whose transfer function is defined in Eq. (14.88), restores cubic polynomials, while its IR comprises only five terms (up to periodization). Like the interpolating quadratic spline, the quadratic quasi-interpolating spline possesses the super-convergence property at midpoints between grid nodes. This is the reason why the filter h0 restores sampled cubic polynomials, although the generating spline consists of pieces of quadratic polynomials.
Pseudo-spline filters A family of linear phase FIR low-pass filters is introduced in [11] for non-periodic setting. The design starts from the obvious identity ω ω m+l , m, l ∈ N. 1 = cos2 + sin2 2 2
(14.91)
The FR of a low-pass filter h0 is defined by summation of the first l + 1 terms of the binomial expansion in Eq. (14.91) to become
14.3 Design of Four-Channel Filter Banks Which Generate Frames
h 0 (ω) =
√
2 cos2m
339
l ω m +l ω ω sin2 j cos2(l− j) . j 2 2 2 j=0
Example: m = 2, l = 1 h 0 (ω) =
√
2 cos4
ω 2ω ω √ ω ω cos + 3 sin2 = 2 cos4 1 + 2 sin2 . 2 2 2 2 2
One can observe that the filter h0 is the same as the interpolating filter derived from the quadratic quasi-interpolating spline whose FR is given by Eq. (14.88). Example from [11] : m = 3, l = 1 √ ω ω 1 + 3 sin2 . 2 cos6 2 2 √ ω ω ω hˆ 0 (ω) − h 0 (0) = 2 sin4 3 cos4 + 2 cos2 + 1 . 2 2 2 hˆ 0 (ω) =
(14.92)
Then, Corollary 11.3 implies that the low-pass filter h0 restores sampled cubic polynomials. The filter h0 is not interpolating. The transfer function of the filter h0 is −3z 4 − 8z 3 + 12z 2 + 72z + 110 + 72z −1 + 12z −2 − 8z −3 − 3z −4 . √ 128 2 (14.93) IR of the filter h0 comprises nine terms. In the trivial case whrn l = 0, the frequency response is hˆ 0 (ω) = cos2m ω/22.
h 0 (z) =
Proposition 14.3 The following identity for the infinite product holds ∞ j=2
cos
2m
ω = 2j
sin ω/2 ω/2
2m ,
(14.94)
which is the Fourier transform of the B-spline B 2m (t). Proof n
n n ω cos2m ω/2 j sin2m ω/2 j 1 sin2m ω/2 j−1 = = 2j 22mn sin2m ω/2 j sin2m ω/2 j j=2 j=2 j=2
1 sin ω/2 2m 2m ω 2m ω sin = 2m(n−1) sin −→ 2 2n ω/2 2
cos2m
as n → ∞. Equation (14.94) is the well-known Dirichlet identity.
340
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
14.4 Four-Channel Filter Banks Using Spline Filters In this section, we present examples of PR four-channel filter banks, which generate tight and semi-tight frames in the space of discrete-time signals.
14.4.1 Summary of the Filter Bank Design Scheme The polyphase matrices of the analysis and synthesis filter banks comprise two submatrices: 01 P˜ (z), ˜ , P(z) = P01 (z), P23 (z) , P(z) = ˜ 23 P (z) where the submatrices P˜ i j (z) and Pi j (z) are defined in Eqs. (14.76) and (14.77). Once a linear phase low-pass filter h0 , whose transfer function is h 0 (z) = h 00 (z 2 )+ −1 z h 01 (z 2 ), is selected, the high-pass filter h1 is defined by its transfer function as follows: h 1 (z) = z −1 hˆ 00 (z 2 ) − z −1 h 01 (z 2 ) = z −1 h 0 (−z). Thus, the submatrices, whose indices are (0,1), are P01 (z) = P˜ 01 (z)T =
h 00 (z) −h 01 (z −1 ) . h 01 (z) h 00 (z −1 )
(14.95)
Design of the band-pass filters is based on factorization of the function 2 2 def t (z) = 1 − h 00 (z) + h 01 (z) = T (z) T˜ (z −1 ). Once the factorization is accomplished, the FRs of the band-pass filters h˜ s and hs , s = 2, 3, are defined as h 2 (z) = T (z 2 ), h˜ 2 (z) = T˜ (z 2 ),
h 3 (z) = z −1 T˜ (z 2 ), h˜ 3 (z) = z −1 T (z 2 ).
(14.96)
˜ H of the filter banks, where H ˜ = hˆ 0 , h˜ 1 , h˜ 2 , h˜ 3 and H = The PR pair H, 0 1 2 3 h , h , h , h , generates a semi-tight frame in the signals’ space. In this case, the submatrices, whose indices are (2,3), are P˜ 23 (z)T =
T (z) 0 T˜ (z) 0 . , P23 (z) = 0 T˜ (z) 0 T (z)
(14.97)
14.4 Four-Channel Filter Banks Using Spline Filters
341
When T (z) = T˜ (z), we use the “Symmetric” design of the filter banks H that generates the following tight frames: h 2 (z) = A(z −2 ) + z −1 A(z 2 ), h 3 (z) = −A(z −2 ) + z −1 A(z 2 ),
(14.98)
√ def where A(z) = T (z)/ 2. The respective submatrices are:
P23 (z) =
A(z −1 ) A(z) A(z −1 ) −A(z −1 ) , P˜ 23 (z) = , A(z) A(z) −A(z −1 ) A(z)
(14.99)
√ def where A(z) = T (z)/ 2. Recall that impulse responses of the filters h˜ s and hs , s = 0, 1, 2, 3, are the s and ψ s of the first decomposition level, respectively. discrete-time framelets ψ˜ [1] [1] In almost all the forthcoming examples, the low-pass filters are interpolating. If the low-pass filter is interpolating then the polyphase submatrices of the four-channel PR filter bank are given in Eqs. (14.86), (14.87) and (14.85). In that case, once the prediction filter f is available, the transfer functions of the low- and the high-pass filters and the function to be factorized are √ −1 f (z 2 ) / 2, z h 0 (z) = h˜ 0 (z) = 1 + √ h 1 (z) = h˜ 1 (z) = z −1 1 − z f (z −2 ) / 2, (14.100) def t (z) = W (z)/2, W (z 2 ) = 1 − | f (z 2 )|2 = 2h 0 (z) h 0 (−z). Consequently, if W (z) = w(z) w(z ˜ −1 ), then w(z) ˜ w(z) T˜ (z) = √ , T (z) = √ . 2 2
(14.101)
The polyphase matrices are: 1 P (z) = P˜ 01 (z)T = √ 2 01
1 − f (z −1 ) . f (z) 1
(14.102)
If the function W (z) is factorized as W (z) = w(z) w(z −1 ), then A(z) = w(z)/2.
14.4.2 Outline of the Frame Transforms’ Implementation As the three-channel frame transforms, the four-channel transforms of a signal x = x0 x1 are implemented using polyphase representation. If polyphase components of the low-pass filter h0p , p = 0, 1, are given, then, due to Eq. (14.95), the z-transforms of the low- and high-frequency transform coefficients are:
342
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
y 0 (z) = h 00 (z −1 ) x0 (z) + h 01 (z −1 ) x1 (z),
y 1 (z) = −h 01 (z) x0 (z) + h 00 (z) x1 (z).
If h0 is an interpolating filter, then Eq. (14.100) implies that 1 y 0 (z) = √ x0 (z) + f (z −1 ) x1 (z) , 2
1 y 1 (z) = √ (− f (z) x0 (z) + x1 (z)) . 2
If the factorization of the function t (z) = T (z) T˜ (z −1 ) is achieved with different T (z) and T˜ (z), which results in a semi-tight frame, then the z-transforms of the mid-frequency transform coefficients are: y 2 (z) = T˜ (z −1 ) x0 (z),
y 3 (z) = T (z −1 ) x1 (z).
√ When T (z) = T˜ (z) = 2 A(z), which results in a tight frame, the z-transforms of the coefficients are y 2 (z) = A(z) x0 (z) + A(z −1 ) x1 (z), y 3 (z) = −A(z) x0 (z) + A(z −1 ) x1 (z). Restoration of polyphase components of the signal x p , p = 0, 1, from the 23 transform coefficients is expressed via the z-transform as x p (z) = x 01 p (z) + x p (z), where 0 0 1 1 23 2 2 3 3 x 01 p (z) = h p (z) y (z) + h p (z) y (z), x p (z) = h p (z) y (z) + h p (z) y (z).
From Eq. (14.95) we have x001 (z) = h 00 (z) y 0 (z) − h 10 (z −1 ) y 1 (z), x101 (z) = h 01 (z) y 0 (z) + h 00 (z −1 ) y 1 (z). If the filter h0 is interpolating, then Eq. (14.100) implies that 1 1 x001 (z) = √ y 0 (z) − f (z −1 ) y 1 (z) , x101 (z) = √ − f (z) y 0 (z) + y 1 (z) . 2 2 If t (z) = T (z) T˜ (z −1 ) while T (z) = T˜ (z), then x023 (z) = T (z) y 2 (z), x123 (z) = √ T˜ (z) y 3 (z). In the tight-frame case when T (z) = T˜ (z) = 2 A(z), we have x023 (z) = A(z −1 ) y 2 (z) − y 3 (z) , x123 (z) = A(z) y 2 (z) + y 3 (z) . The direct and inverse framelet transforms are implemented by the MATLAB functions fram34_dec_N.m and fram34_rec_N.m, respectively. The figures displaying impulse and magnitude responses of the 4-channel filter banks that generate tight and semi-tight frames are produced by the MATLAB code fram4_exam_N.m. The 2D frame transforms using four-channel filter banks are implemented by a scheme similar to the implementation scheme of the 2D transforms using threechannel filter banks, as outlined in Sect. 14.2.4. The direct and the inverse 2D framelet
14.4 Four-Channel Filter Banks Using Spline Filters
343
transforms are implemented by the MATLAB functions fram34_dec2d_N.m and fram34_rec2d_N.m, respectively.
14.4.3 Examples of Filter Banks with FIR Filters A few examples of filter banks with FIR filters are given in this section. Linear interpolating spline: The prediction filter is f (z) = (1 + z)/2. Thus, W (z) = 1 − | f (z)|2 =
1−z −z + 2 − z −1 =⇒ A(z) = . 4 4
The transfer functions of the filters are ρ(−z) ρ(z) h 0 (z) = √ , h 1 (z) = z −1 √ , 2 2 2 2 −2 2 (1 + z)(1 − z)2 1−z 1−z + z −1 =− , h 2 (z) = 4 4 4 z2 1 − z2 1 − z −2 (1 − z)(1 + z)2 h 3 (z) = − , + z −1 = 4 4 4 z2 def
where ρ(z) = z + 2 + 1/z. The filter bank generates a tight frame in the signals’ space. Proposition 11.55 and Corollary 11.3 imply that the filter h0 restores sampled polynomials of first degree, while the filters h1 and h2 eliminate them. The filter h3 1 and ψ 2 , which are the IRs of the filters eliminates only constants. The framelets ψ[1] [1] h1 and h2 , respectively, have two DVMs. Either of them is symmetric. The framelet 3 is antisymmetric and has one DVM. ψ[1] IRs of the filters hs , s = 0, 1, 2, 3, and their magnitude responses (MRs) are displayed in Fig. 14.16. Although both magnitude responses |hˆ 2 (ω)| and |hˆ 3 (ω)| are equal to zero when n = 0, the magnitude response |hˆ 2 (ω)| is flatter in the zero vicinity in comparison to |hˆ 3 (ω)|. This geometrical phenomenon reflects the fact that ψ 2 has two DVMs in comparison to one DVM that has ψ 3 . Quadratic quasi-interpolating spline (interpolating low-pass filter): The transfer functions of the prediction filter f and of the low-pass filter h0 are given in Eq. (14.88). Then, we have
344
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.16 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from linear interpolating splines. Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
−z 3 + 9z + 16 + 9z −1 − z −3 ρ 2 (z) (4 − z − z −1 ) = , √ √ 16 2 16 2 ρ 2 (−z) (4 + z + z −1 ) h 1 (z) = z −1 h 0 (−z) = z −1 . √ 16 2
h 0 (z) =
The function W 1 (z) to be factorized is W (z) =
ρ 2 (−z) (14 − z − z −1 ) . 256
(14.103)
The filter h0 restores sampled cubic polynomials, while the filter h1 eliminates them. 1 has four DVMs. Thus, the framelets ψ[1] The following factorization modes W (z) = w(z) w(z ˜ −1 ) are possible: 1. Non-symmetric factorization W (z) = w(z) w(z −1 ), where w(z) =
√ ρ(−z) (1 − q z) , q = 7 − 4 3. √ 16 q
The transfer functions of the filters h2 and h3 are defined in Eq. (14.98) with A(z) = w(z)/2.
14.4 Four-Channel Filter Banks Using Spline Filters
345
Fig. 14.17 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from quadratic quasiinterpolating splines (interpolating low-pass filter). Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight frame. The filters h3 and h2 eliminate sampled polynomials of the second and the first degrees, 3 and ψ 2 , which are impulse responses of the respectively. The framelets ψ[1] [1] filters h3 and h2 , have three and two DVMs, respectively. IRs of the filters hs , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.17. Note that the MRs of the filters h2 and h3 mirror each other. 2. Symmetric factorization of W (z) = w(z) w(z ˜ −1 ), which provides equal number (two) of DVMs to the analysis and to the synthesis framelets: w(z) ˜ =
ρ(−z) (14 − z − z −1 ) ρ(−z) , w(z) = . 4 64
The transfer functions of the filters h˜ s and hs , s = 2, 3, are given in Eq. (14.96), where the functions T (z) and T˜ (z) are defined by Eq. (14.101). 3. Antisymmetric factorization of W (z) = w(z) w(z ˜ −1 ), which assigns three DVMs 2 2 to the analysis framelet ψ˜ [1] leaving only one DVM to the synthesis framelet ψ[1] 3 and ψ 3 : and vice versa for the framelets ψ˜ [1] [1]
346
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.18 Top/Bottom filters from symmetric/antisymmetric factorization, respectively. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from quadratic quasi-interpolating splines (interpolating low-pass filter). Right MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
w(z) ˜ =
z 2 − 3 z + 3 − z−1 (1 − z) , (14 − z − z −1 ) , w(z) = . 8 32
The transfer functions of the filters h˜ s and hs , s = 2, 3, are given in Eq. (14.96), where the sequences T (z) and T˜ (z) are defined by Eq. (14.101). Figure 14.18 displays impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MR. Quadratic quasi-interpolating spline (non-interpolating low-pass filter): Frequency responses of the filter h0 and h1 are
h 0 (z) =
ρ 2 (−z) (10 − z 2 − z −2 ) ρ 2 (z) (10 − z 2 − z −2 ) , h 1 (z) = z −1 . √ √ 64 2 64 2
The filter h0 restores sampled cubic polynomials while the filter h1 eliminates them. 1 has four DVMs. Thus, the framelet ψ[1]
14.4 Four-Channel Filter Banks Using Spline Filters def
t (z) = 1 − |h 00 (z)|2 − |h 01 (z)|2 =
347
ρ 2 (−z) ϒ(z) , 8192
ϒ(z) = −z 2 − 12z + 346 − 12z −1 − z −2 . def
1. Non-symmetric factorization t (z) = T (z) T (z −1 ): √
2 ρ(−z)(1 − α1 z)(1 + α2 z) , √ 128 α1 α2 α1 = 0.073953753020242364122024941764069,
T (z) =
α2 = 0.039128545627548780526469694812049. The transfer functions of the filters h2 and h3 are defined in Eq. (14.98) where √ A(z) = T (z)/ 2. The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight 3 has three DVMs, while ψ 2 has two. IRs of the filters frame. The framelet ψ[1] [1] s h , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.19. s 2. Symmetric factorization t (z) = T (z) T˜ (z −1 ), where either of the framelets ψ˜ [1] s and ψ[1] , s = 2, 3, has two DVMs:
Fig. 14.19 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from quadratic quasiinterpolating splines (non-interpolating low-pass filter). Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
348
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.20 Top/Bottom filters from symmetric/antisymmetric factorization, respectively. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from quadratic quasi-interpolating splines (noninterpolating low-pass filter). Right MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
√ T (z) =
2ρ(−z) ϒ(z) , T˜ (z) = 2048
√ 2ρ(−z) ϒ(z) . 4
(14.104)
3. Antisymmetric factorization of t (z) = T (z) T˜ (z −1 ), which assigns three DVMs 2 leaving only one DVM to the synthesis framelet ψ 2 to the analysis framelet ψ˜ [1] [1] 3 and ψ 3 : and vice versa for the framelets ψ˜ [1] [1] T˜ (z) =
√ (1 − z) ϒ(z) √ z 2 − 3z + 3 − z −1 , T (z) = 2 . (14.105) 2 8 1024
The transfer functions of the filters h˜ s and hs , s = 2, 3, are defined in Eq. (14.96). Figure 14.20 displays the impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MR. Pseudo-spline: The transfer functions and FRs of the non-interpolating low-pass filter h0 and the corresponding high-pass filter h1 are
14.4 Four-Channel Filter Banks Using Spline Filters
349
√ ω ω ω ω 1 + 3 sin2 , hˆ 1 (ω) = e−iω 2 sin6 1 + 3 cos2 , 2 2 2 2 ρ 3 (−z) (7 + 3 z + 3 z −1 ) ρ 3 (z) (7 − 3 z − 3 z −1 ) h 0 (z) = , h 1 (z) = z −1 . √ √ 128 2 128 2
hˆ 0 (ω) =
√
2 cos6
The filter h0 restores sampled polynomials of the third degree while the filter h1 1 have six eliminates sampled polynomials of the fifth degree. Thus, the framelets ψ[1] DVMs. We have def
t (z) = 1 − |h 00 (z)|2 − |h 01 (z)|2 =
2ρ 2 (−z) Q(z) , 2562
Q(z) = −9Z2 − 28z + 1610 − 28Z−1 − 9z −2 . def
1. Non-symmetric factorization t (z) = T (z) T (z −1 ): √ 2 3ρ(−z)(1 − α1 z)(1 + α2 z) T (z) = √ 256 α1 α2
(14.106)
α1 = 0.084036721311635863751390197446785, α2 = 0.066541718952892961207287011854059. The transfer functions of the filters h2 and h3 are defined in Eq. (14.98) where √ A(z) = T (z)/ 2. The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight frame. The filters h2 and h3 eliminate sampled polynomials of the first and the 2 and ψ 3 have two and three second degrees, respectively, thus the framelets ψ[1] [1] DVMs, respectively. IRs of the filters hs , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.21. 2. Symmetric factorization t (z) = T (z) T˜ (z −1 ): √ √ 2ρ(−z) Q(z) 2ρ(−z) , T˜ (z) = . T (z) = 8192 4
(14.107)
The filters hs and h˜ s , : s = 2, 3, eliminate sampled polynomials of the first 2 and ψ s have two DVMs. degree, thus the framelets ψ[1] [1] 3. Antisymmetric factorization of t (z) = T (z) T˜ (z −1 ), which assigns three DVMs 2 leaving only one DVM to the synthesis framelet ψ 2 to the analysis framelet ψ˜ [1] [1] 3 and ψ 3 : and vice versa for the framelets ψ˜ [1] [1] T˜ (z) =
√ (1 − z) Q(z) √ z 2 − 3z + 3 − z −1 , T (z) = 2 . 2 8 4096
(14.108)
The transfer functions of the filters h˜ s and hs , s = 2, 3, are defined in Eq. (14.96).
350
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.21 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from pseudo-splines. Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
Figure 14.22 displays the impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MR.
14.4.4 Four-Channel Filter Banks with IIR Filters When recursive filtering is possible, the implementation cost of IIR filters is quite competitive with the cost of FIR filters. However, giving up the requirement of finite impulse response provides an additional flexibility in the design of filter banks with necessary properties. 0 For the design, we use interpolating filters low-pass √h . The transfer functions of 0 −1 2 the filters are structured as h (z) = 1 + z f (z ) / 2, where f (z) is the transfer function of a prediction filter. Prediction filters derived from interpolating polynomial and discrete splines are described in Sects. 12.2 and 12.3, respectively. Similarly to the design of three-channel filter banks with interpolating low-pass filters, which is described in Sect. 14.2, the key point is the factorization of the function W (z) = 1 − | f (z)|2 . Therefore, we can use the factorization results from Sect. 14.2.
14.4 Four-Channel Filter Banks Using Spline Filters
351
Fig. 14.22 Top/Bottom filters from symmetric/antisymmetric factorization, respectively. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from pseudo-splines. Right MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
14.4.4.1 Examples of Filter Banks Originating from Polynomial Interpolating Splines Quadratic interpolating spline p = 3: def We have Ωc3 (z) = z + 6 + z −1 . The transfer functions of the prediction filter f, of the filters h0 and h1 and the function W (z) are
ρ(−z) 2 1+z f (z) = 4 3 , W (z) = , Ωc (z) Ωc3 (z) √ ρ 2 (−z) √ ρ 2 (z) h 0 (z) = 2 3 2 , h 1 (z) = z −1 2 3 2 . Ωc (z ) Ωc (z )
(14.109)
The filter h0 restores sampled cubic polynomials, while the filter h1 eliminates 1 has four DVMs. them. Thus, the framelet ψ[1] 1. Symmetric factorization W (z) = w(z) w(z −1 ), where w(z) = ρ(−z)/Ωc3 (z), results in the filters h2 and h3 , whose transfer functions are defined in Eq. (14.98) where A(z) = w(z)/2. The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight frame. The filter h3 eliminates sampled quadratic polynomials: thus the framelet
352
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.23 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from quadratic interpolating splines. Right: MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
3 , has three DVMs, while the framelet ψ 2 , has two DVMs. IRs of the filters ψ[1] [1] s h , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.23. 2. Antisymmetric factorization of W (z) = w(z) w(z ˜ −1 ), which assigns three DVMs 2 while leaving only one DVM to the synthesis framelet to the analysis framelet ψ˜ [1] 2 and vice versa for the framelets ψ 3 and ψ ˜3 : ψ[1] [1] [1]
w(z) ˜ =
2 (1 − z) z 2 − 3z 2 + 3 − z −1 , w(z) = . 2Ωc3 (z) Ωc3 (z)
(14.110)
The transfer functions of the filters h˜ s and hs , s = 2, 3, are defined in Eq. (14.96), taking into account Eq. (14.101). Figure 14.24 displays the impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MRs. Cubic interpolating spline: p = 4: We have Ωc4 (z) = z + 4 + z −1 , Γc4 (z) = −z + 14 − z −1 . def
def
(14.111)
14.4 Four-Channel Filter Banks Using Spline Filters
353
Fig. 14.24 Filters from antisymmetric factorization. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from quadratic interpolating splines. Right MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
The transfer functions of the prediction filter f, of the filters h0 and h1 and the function W (z) are z 2 + 23z + 23 + z −1 , W (z) = f (z) = 8Ωc4 (z) h 0 (z) =
ρ(−z) 8Ωc4 (z)
2 Γc4 (z), (14.112)
ρ 2 (z) Ωc4 (z) ρ 2 (−z) Ωc4 (−z) , h 1 (z) = z −1 ) √ . √ 8 2Ωc4 (z 2 ) 8 2Ωc4 (z 2 )
The filter h0 restores sampled cubic polynomials while the filter h1 eliminates 1 has four DVMs. them. Thus, the framelet ψ[1] Comparing Eq. (14.112) with Eq. (14.103), we observe that the numerators of the functions W (z) in both cases are the same. Therefore, factorization of W (z) for the cubic interpolating spline is similar to the factorization for the quadratic quasiinterpolating spline. 1. Non-symmetric factorization W (z) = w(z) w(z −1 ), where √ ρ(−z) w(z) = √ (1 − qz) , q = 7 − 4 3. 4 8 q Ωc (z)
354
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.25 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from cubic interpolating splines. Right: MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
The transfer functions of the filters h2 and h3 are defined in Eq. (14.98), where A(z) = w(z)/2. The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight frame. The filter h3 eliminates sampled quadratic polynomials, thus the framelet 3 has three DVMs, while the framelet ψ 2 , has two DVMs. IRs of the filters ψ[1] [1] s h , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.25. 2. Symmetric factorization W (z) = w(z) w(z ˜ −1 ) where w(z) ˜ =
ρ(−z) , w(z) = w(z) ˜ Γc4 (z). 8 Ωc4 (z)
The filters hs and h˜ s , : s = 2, 3, eliminate sampled polynomials of the first 2 and ψ s have two DVMs. degree, thus the framelets ψ[1] [1] 3. Antisymmetric factorization W (z) = w(z) w(z ˜ −1 ), which assigns three DVMs to 2 framelets and vice versa the analysis ψ˜2 [1] and one DVM to the synthesis ψ[1] for ψ˜3 and ψ 3 : [1]
[1]
w(z) ˜ =
z 2 − 3z + 3 − z −1 (1 − z) Γc4 (z) , w(z) = . 4 Ωc4 (z) 16 Ωc4 (z)
14.4 Four-Channel Filter Banks Using Spline Filters
355
Fig. 14.26 Filters from antisymmetric factorization. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from cubc interpolating splines. Right MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
In both the symmetric and the antisymmetric cases, the transfer functions of the filters h˜ s and hs , s = 2, 3, are defined in Eq. (14.96) while taking into account Eq. (14.101). Figure 14.26 displays the impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MRs. Interpolating spline of fourth degree, p = 5: We have Ωc5 (z) = z 2 + 76z + 230 + 76z −1 + z −2 , Γc5 (z) = −z + 98 − z −1 . def
def
The prediction filter f is defined in Eq. (12.39). The transfer function of the filter f and the function W to be factorized are f (z) = 16
ρ 3 (−z) Γc5 (z) (1 + z)(z + 10 + z −1 ) , W (z) = 2 . Ωc5 (z) Ωc5 (z)
356
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
The transfer functions of the filters h0 and h1 are h 0 (z) =
ρ 3 (−z) (−z − z −1 + 10) ρ 3 (z) (z + z −1 + 10) , h 1 (z) = z −1 √ √ 2 Ωc5 (z 2 ) 2 Ωc5 (z 2 )
The filter h0 restores sampled polynomials of fifth degree, while the filter h1 1 has six DVMs. eliminates them. Thus, the framelet ψ[1] 1. Non-symmetric factorization W (z) = w(z) w(z −1 ), where w(z) =
√ z − 3 + 3z −1 − z −2 − qz) , q = 49 − 20 6. (1 √ q Ωc5 (z)
The transfer functions of the filters h2 and h3 are defined in Eq. (14.98) where A(z) = w(z)/2. The filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight 2 has four DVMs and ψ 3 has three DVMs. IRs of the frame. The framelet ψ[1] [1] s filters h , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.27. 2. Symmetric factorization W (z) = w(z) w(z ˜ −1 ), which assigns four DVMs to the 2 2 framelets and vice versa for ˜ analysis ψ[1] and two DVMs to the synthesis ψ[1] 3 3 ψ˜ [1] and ψ[1] :
Fig. 14.27 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from fourth-degree interpolating splines. Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
14.4 Four-Channel Filter Banks Using Spline Filters
357
Fig. 14.28 Filters from antisymmetric factorization. Left IRs of the filters h˜ 2 −→ h2 −→ h˜ 3 −→ h3 derived from fourth-degree interpolating splines. Right: MRs of h2 and h˜ 3 (coincide with each other) (solid line), and MRs of h˜ 2 and h3 (coincide with each other) (dashed line)
√ ρ 2 (−z) ρ(−z) . w(z) = √ ˜ =8 2 Γc5 (z), w(z) Ωc5 (z) 8 2 Ωc5 (z) s 3. Antisymmetric factorization W (z) = w(z) w(z ˜ −1 ), where all the framelets ψ˜ [1] s and ψ[1] , s = 2, 3, have three DVMs:
w(z) ˜ =
z − 3 + 3z −1 − z −2 , w(z) = 128 w(z) ˜ Γc5 (z). √ 8 2 Ωc5 (z)
(14.113)
In both the symmetric and the antisymmetric cases, the transfer functions of the filters h˜ s and hs , s = 2, 3, are defined in Eq. (14.96), taking into account Eq. (14.101). Figure 14.28 displays the impulse responses of the filters h˜ s and hs , s = 2, 3, which are the discrete-time framelets of the first level and their MRs. 14.4.4.2 Four-Channel Filter Banks Derived from Discrete Splines The transfer functions of the prediction filters f and the functions W (z) to be factorized which originate from the discrete splines of order 2r (see Sect. 14.2.3.2), are
358
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
ρ r (z) − ρ r (−z) 4ρ r (z) ρ r (−z) , W (z 2 ) = , r r ρ (z) + ρ (−z) (ρ r (z) + ρ r (−z))2 2r 2r 4(−1)r z −2r 1 − z 2 4(−1)r z − z −1 = , = (ρ r (z) + ρ r (−z))2 (ρ r (z) + ρ r (−z))2
f (z 2 ) = z
where ρ(z) = z + 2 + 1/z. The transfer functions of the low- and high-pass filters are √ r √ r 2ρ (z) 2ρ (−z) 0 1 −1 , h (z) = z . h (z) = r r r ρ (z) + ρ (−z) ρ (z) + ρ r (−z) def
The function W (z) is factorized as W (z) = w(z) w(z −1 ). We denote s = r 2 z −2s 1 − z 2 . w(z ) = r ρ (z) + ρ r (−z) 2 def
r 2 . Then, (14.114)
The transfer functions of the band-pass filters are h 2 (z) = A(z −1 ) + z −1 A(z), h 3 (z) = −A(z −1 ) + z −1 A(z), where A(z) = w(z)/2. The interpolating low-pass filter h0 restores sampled polyno1 mials of degree 2r −1 while the high-pass filter h1 eliminates them (the framelet ψ[1] s has 2r DVMs). The filter bank H = {h } , s = 0, 1, 2, 3, generates a tight frame. If r is even, then the band-pass filter h2 eliminates sampled polynomials of degree 2 has r + 1 DVMs), while the filter h3 eliminates polynomials of r (the framelet ψ[1] 3 has r DVMs) and vice versa for r odd. degree r − 1 (the framelet ψ[1] Example: Discrete spline of fourth order: r = 2 In this case, the filter bank H is the same as the filter bank derived from the quadratic polynomial interpolating spline. Example: Discrete spline of sixth order: r = 3. In this case,
A(z) =
z −1 − 3 + 3z − z 2 . 4 3 z + 10 + 3 z −1
(14.115)
IRs of the filters hs , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.29.
14.4 Four-Channel Filter Banks Using Spline Filters
359
Fig. 14.29 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from sixth-order discrete splines. Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
Example: Discrete spline of eighth order: r = 4. In this case,
A(z) =
ρ 2 (−z) . 2 (z 2 + 28z + 70 + 28z −1 + z −2 )
(14.116)
IRs of the filters hs , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 14.30.
Comments Figures 14.16, 14.17, 14.18, 14.19, 14.20, 14.21, 14.22, 14.23, 14.24, 14.25, 14.26, 14.27, 14.28, 14.29, 14.30, which are produced by the MATLAB code fram4_exam_N.m, display impulse and magnitude responses of four-channel filter banks that generate tight and semi-tight frames. The impulse responses of the filters h˜ s and hs are the corresponding discrete-time framelets s [k], s = 0, 1, 2, 3, of the first decomposition level. In the tight frame case, ψ[1] s [k], s = 0, 1, 2, are symmetric, while the framelets ψ 3 [k] are the framelets ψ[1] [1] antisymmetric. MRs of the filters h0 and h1 mirror each other with respect to π/2
360
14 Wavelet Frames Generated by Perfect Reconstruction Filter Banks
Fig. 14.30 Left IRs of the filters h0 −→ h1 −→ h2 −→ h3 derived from eighth-order discrete splines. Right MRs of h0 and h˜ 1 (dotted lines), of h2 (solid line) and of h3 (dashed line)
and −π/2. The same is true for the band-pass pair h2 and h3 . Note that, as the spline order is growing, the shapes of MRs of the filters h0 and h1 are approaching rectangles while MRs of the filters h2 and h3 are shrinking. Direct and inverse framelet transforms that use four-channel filter banks are implemented by the MATLAB functions fram34_dec_N.m and fram34_rec_N.m, respectively. The two-dimensional transforms are implemented by the MATLAB functions fram34_dec2d_N.m and fram34_rec2d_N.m, respectively. The available frames are listed in the MATLAB code list_frame4N.m.
References 1. A. Averbuch, V. Zheludev, T. Cohen, Tight and sibling frames originated from discrete splines. Signal Process. 86(7), 1632–1647 (2006) 2. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, New York, 2014) 3. L.M. Bregman, The relaxation method of finding the common points of convex sets and its application to the solution of problems in convex programming. USSR Comput. Math. Math. Phys. 7(3), 200–217 (1967) 4. J. Cai, S. Osher, Z. Shen, Split Bregman methods and frame based image restoration. Multiscale Model. Simul. 8(2), 337–369 (2009/10) 5. J. Cai, Z. Shen, Framelet based deconvolution. J. Comput. Math. 28(3), 289–308 (2010)
References
361
6. R.H. Chan, S.D. Riemenschneider, L. Shen, Z. Shen, High-resolution image reconstruction with displacement errors: a framelet approach. Int. J. Imaging Syst. Technol. 14(3), 91–104 (2004) 7. R.H. Chan, S.D. Riemenschneider, L. Shen, Z. Shen, Tight frame: an efficient way for highresolution image reconstruction. Appl. Comput. Harmon. Anal. 17(1), 91–115 (2004) 8. C.K. Chui, W. He, Compactly supported tight frames associated with refinable functions. Appl. Comput. Harmon. Anal. 8(3), 293–319 (2000) 9. Z. Cvetkovi´c, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245– 1255 (1998) 10. B. Dong, H. Ji, J. Li, Z. Shen, Y. Xu, Wavelet frame based blind image inpainting. Appl. Comput. Harmon. Anal. 32(2), 268–279 (2012) 11. B. Dong, Z. Shen, Pseudo-splines, wavelets and framelets. Appl. Comput. Harmon. Anal. 22(1), 78–104 (2007) 12. D. Gabor, Theory of communications. J. Inst. Electr. Eng. 93, 429–457 (1946) 13. V.K. Goyal, J. Kova˘cevi`c, J.A. Kelner, Quantized frame expansions with erasures. Appl. Comput. Harmon. Anal. 10(3), 203–233 (2001) 14. V.K. Goyal, M. Vetterli, N.T. Thao, Quantized overcomplete expansions in R N : analysis, synthesis and algorithms. IEEE Trans. Inf. Theory 44(1), 16–31 (1998) 15. J. Kova˘cevi`c, P.L. Dragotti, V.K. Goyal, Filter bank frame expansions with erasures. IEEE Trans. Inf. Theory 48(6), 1439–1450 (2002) 16. A.P. Petukhov, Explicit construction of framelets. Appl. Comput. Harmon. Anal. 11(2), 313– 327 (2001) 17. A.P. Petukhov, Symmetric framelets. Constr. Approx. 19(2), 309–328 (2003) 18. G. Polya, G. Szegö, Aufgaben and Lehrsätze aus der Analysis, vol. II (Springer, Berlin, 1971) 19. L. Shen, M. Papadakis, I.A. Kakadiaris, I. Konstantinidis, D. Kouri, D. Hoffman, Image denoising using a tight frame. IEEE Trans. Image Process. 15(5), 1254–1263 (2006) 20. Z. Shen, Wavelet frames and image restorations, in ed. by R. Bhatia Proceedings of the International Congress of Mathematicians, vol IV (Hindustan Book Agency, New Delhi, 2010) pp. 2834–2863 21. W. Yin, S. Osher, D. Goldfarb, J. Darbon, Bregman iterative algorithms for l1 -minimization with applications to compressed sensing. SIAM J. Imaging Sci. 1(1), 143–168 (2008)
Chapter 15
Biorthogonal Multiwavelets Originated from Hermite Splines
Abstract This chapter presents multiwavelet transforms that manipulate discretetime signals. The transforms are implemented in two phases: 1. Pre (post)-processing, which transforms a scalar signal into a vector signal (and back). 2. Wavelet transforms of the vector signal. Both phases are performed in a lifting way. The cubic interpolating Hermite splines are used as a predicting aggregate in the vector wavelet transform. Pre(post)-processing algorithms which do not degrade the approximation accuracy of the vector wavelet transforms are presented. A scheme of vector wavelet transforms and three pre(post)-processing algorithms are described. As a result, we get fast biorthogonal algorithms to transform discrete-time signals which are exact on sampled cubic polynomials. The transform results in the expansion of signals over biorthogonal bases consisting of translations of a few discrete-time wavelets which are symmetric and have short supports. The wavelet frame transforms discussed in Chap. 14 are generalizations of wavelet transforms. They operate using oversampled filter banks and, consequently, provide redundant representations of signals and images. Another generalization of wavelet transforms, which allows us to achieve a high approximation accuracy by using filters with very short supports, is the so-called multiwavelet transform. Like wavelet transforms (and unlike frame transforms), the multiwavelet transforms retain oneto-one correspondence between signals and sets of their transforms’ coefficients, although they use more filters than wavelet transforms. There are many publications presenting different types of multiwavelet transforms and their applications ([4, 6– 10], to mention a few) starting from [1, 5]. A review and an expanded bibliography can be found in [11]. In this chapter, one type of biorthogonal multiwavelets is presented, which originate from the cubic Hermite splines [3]. The design scheme has some similarity to the scheme of designing biorthogonal wavelets using spline filters described in Chap. 12. This chapter is mainly based on [2]. While the original signal is scalar, the input stream to the multiwavelet transform must be a vector array. This array is produced by a pre-processing of the signal. Reconstruction of the scalar signal from the vector array is called post-processing. Thus, a multiwavelet transform of a signal consists of two phases: 1. Pre(post)-processing which transforms the scalar signal into a vector-signal (and back). 2. Wavelet transforms of the vector-signal. All these operations are implemented in a lifting mode. © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_15
363
364
15 Biorthogonal Multiwavelets Originated from Hermite Splines
15.1 Preliminaries 15.1.1 Cubic Hermite Splines A cubic Hermite spline on the grid {tk }, k ∈ Z, is a piecewise polynomial function S(t) belonging to C 1 . Inside the intervals (tk , tk+1 ), it coincides with cubic polynomials which are determined by the boundary conditions: S (tk ) = s 1 [k] S(tk ) = s 0 [k], 0 S(tk+1 ) = s [k + 1], S (tk+1 ) = s 1 [k + 1],
(15.1)
where s 0 [k] and s 1 [k] are predetermined sequences. Equation (15.1) can be expressed in the following way: T def interpolates the vector-sequence The vector-function S(t) = S(t), S (t) def 0 T {s [k]} = s [k], s 1 [k] on the grid {tk }, k ∈ Z . We emphasise that the Hermite spline is perfectly local. In order to calculate a spline’s value S(t) when t ∈ (tk , tk+1 ), it is sufficient to know the values of the spline and its derivative at the points (tk and tk+1 ). Apparently, if P is a cubic polynomial and s 0 [k] = P(tk ) and s 1 [k] = P (tk ), k ∈ Z, then S(t) ≡ P(t) . There exists an exact estimation of the approximation strength of the cubic Hermite splines. Proposition 15.1 that a function Ψ (t) belongs to C 4 and the vector ([12]) Assume T def interpolates the vector-function = S(t), S (t) spline S(t) def T on the grid {tk }, k ∈ Z . Then, for t ∈ (tk , tk+1 ), the = Ψ (t), Ψ (t) F(t) following estimations hold: 1 max |Ψ (4) (t)| (tk+1 − tk )4 , 384 t∈(tk ,tk+1 ) √ S (t) − Ψ (t) ≤ 3 max |Ψ (4) (t)| (tk+1 − tk )3 . 216 t∈(tk ,tk+1 ) |S(t) − Ψ (t)| ≤
(15.2)
Assume that we are given a pair of signals x0 = x 0 [k] and x1 = x 1 [k] , k ∈ Z. Throughout the chapter, S(t) will denote a Hermite spline constructed on the equidistant grid {2hk}, k ∈ Z, h ∈ R, satisfying the conditions S(2hk) = x 0 [2k], h S (2hk) = x 1 [2k].
(15.3)
15.1 Preliminaries
365
The multiwavelet design to be presented is implemented via a vector lifting scheme, whose important step consists of prediction of odd samples of a vector-signal from its filtered even samples. Similarly to the wavelet design in Chap. 12, we interpoT def late even samples of the vector-signal by the vector-spline S(t) = S(t), h S (t) on the grid {2kh} and predict odd samples by the vector-spline’s values on the grid {[2k + 1]h}. These midpoint values of a spline S(t), defined by Eq. (15.3), are readily calculated by 1 0 1 1 1 x [2k] + x 1 [2k] + x 0 [2[k + 1]] − x 1 [2[k + 1]] (15.4) 2 4 2 4 3 1 3 1 h S (h[2k + 1] = − x 0 [2k] − x 1 [2k] + x 0 [2[k + 1]] − x 1 [2[k + 1]]. 4 4 4 4 S(h[2k + 1]) =
15.1.2 Multifilters 15.1.2.1 Multifilters and Their “Transfer Functions” Let H = {H [k]}, k ∈ Z, be a matrix sequence: def
H [k] =
h 11 [k] h 12 [k] h 21 [k] h 22 [k]
def x [k]} = (x 0 [k], x 1 [k])T be a vector signal. The following operation and x = { y = H x ⇐⇒ y[k] =
H [k − l] x[k]
(15.5)
l∈Z
is called the matrix-vector convolution or multifiltering the signal x. The set H = {H [k]}k∈Z is referred to as multifilter. The z−transforms of the vector signal x = { x [k]} and of the multifilter H = {H [k]}k∈Z are defined as follows: def
x(z) =
def
H(z) =
k∈Z
k∈Z
z −k x[k], z −k H [k]
=
h 11 (z) h 12 (z) . h 21 (z) h 22 (z)
By analogy with the scalar case, we refer to the matrix function H(z) as the transfer function of the multifilter H. As before, we assume that z = eiω . It is readily verified that, as in the scalar case, y = H x ⇐⇒ y(z) = H(z) x (z).
(15.6)
366
15 Biorthogonal Multiwavelets Originated from Hermite Splines
15.1.2.2 Multifilter Banks A wavelet transform of a scalar signal is implemented by application of 2-channel filter banks with the downsampling factor 2. Similarly, for multiwavelet transforms, we introduce 2-channel multifilter banks with the downsampling factor 2. ˜ m (z), and the synthesis The analysis multifilter bank consists of the multifilters H m multifilter bank consists of the multifilters H (z), m = 0, 1. We denote the output signals from the analysis multifilter bank by ym , m = 0, 1. These signals are used as the input to the synthesis multifilter bank. Then, the analysis and the synthesis formulas become (15.7) H˜ m [n − 2l] x[n] ym [l] = n∈Z
˜ m (−z −1 ) ˜ m (z −1 ) x (z) + H x (−z) H , m = 0, 1, 2 1 1 H m [l − 2n] ym [n] ⇔ xˇ (z) = Hm (z)y m (z 2 ). (15.8) xˇ [l] = ⇔ ym (z 2 ) =
m=0 n∈Z
m=0
If, for any vector-signal x, the output from the synthesis transform in Eq. (15.8), vector-signal xˇ is equal to the input vector-signal x then the analysis-synthesis pair of the multifilter banks constitutes a PR multifilter bank.
Polyphase representation of multifiltering Denote by def p def = H(2k + p], x p [k] = x[2k + p], H
p = 0, 1,
the even (when p = 0) and the odd polyphase components (when p = 1) of the respectively. vector-signal x and the multifilter H, The z-transforms of a vector signal x and a multifilter H can be represented in the following polyphase mode x(z) = x0 (z 2 ) + z −1 x1 (z 2 ), H(z) = H0 (z 2 ) + z −1 H1 (z 2 ), where def
def
x0 (z) =
z −k x0 [k], x1 (z) =
def
k∈Z
H0 (z) =
k∈Z
z −k x1 [k],
k∈Z
z
−k
def
H [2k], H1 (z) =
k∈Z
z −k H [2k + 1].
15.1 Preliminaries
367
It is seen from Eq. (15.7) that the vector-signal ym is the even polyphase component of the vector-signal Y m that results from the application of the time-reversed ˜ m to a vector-signal x: multifilter H Y m [k] =
l∈Z
˜ m (z −1 ) x [l] ⇔ Y m (z) = H x (z) H˜ m [l − k]
−1 x (z) + H −1 x (z). ˜m ˜m Y0m (z) = ym = H 0 1 0 (z ) 1 (z )
(15.9)
The application of the synthesis multifilter bank to the pair of vector-signals y0 , y1 can be presented as x0 (z) = H00 (z)y 0 (z) + H01 (z)y 1 (z), (15.10) x1 (z) = H10 (z)y 0 (z) + H11 (z)y 1 (z). Thus, the analysis and synthesis Eqs. (15.7) and (15.8), respectively, can be rewritten in a matrix form:
0 0
x0 (z) y (z) x0 (z) y (z) −1 ˜ = P(z) · , , = P(z ) · x1 (z) x1 (z) y1 (z) y1 (z) where def ˜ P(z) =
0 ˜ 0 (z) ˜ 0 (z) H H H0 (z) H01 (z) def 0 1 , P(z) = ˜ 1 (z) H ˜ 1 (z) H10 (z) H11 (z) H 0 1
(15.11)
˜ are the analysis P(z) and synthesis P(z) block-wise polyphase matrices. The perfect reconstruction property is expressed via the polyphase matrices as: ˜ −1 ) = P(z) · P(z
I2 0 0 I2
,
(15.12)
where I2 is the 2 × 2 identity matrix. Thus, the synthesis polyphase matrix P(z) is ˜ −1 ) . the inverse of the analysis matrix P(z A necessary and sufficient condition for (15.12) to hold is that the analysis matrix ˜ P(z) has a full rank of 4 on the unit circle |z| = 1.
15.1.2.3 Prediction Multifilter Derived from Hermite splines def
In addition to the vector-signal x[k] = (x 0 [k], x 1 [k])T , we introduce the spline def vector-signal S[k] = S(kh), k ∈ Z. The vectors x p [k] and S p , p = 0, 1, denote respectively. the polyphase components of the vector-signals x and S, Due to Eq. (15.3), the z-transform of the even polyphase component of S is S0 (z) = x0 (z). Applying the z-transform to both relations in Eq. (15.4), we obtain def the z-transform of the odd polyphase component S0 = S(2kh) of the vector signal S:
368
15 Biorthogonal Multiwavelets Originated from Hermite Splines
⎛ ⎞ 2(1 + z) x00 (z) + (1 − z) x01 (z) 1 ⎠ = A(z) x0 (z), S1 (z) = ⎝ 4 0 1 −3(1 − z) x0 (z) − (1 + z) x0 (z) where ⎛ ⎞ 2(1 + z) (1 − z) 1 def ⎠. = ⎝ A(z) 4 −3(1 − z) −(1 + z)
(15.13)
On the other hand, if the odd polyphase component of S is S1 (z) = x1 (z), then its even polyphase component can be expressed as follows: ⎛ 1 S0 (z) = ⎝ 4
D(z)
2(1 + z −1 ) x10 (z) + (z −1 − 1) x11 (z)
⎞
⎠ = D(z) x1 (z), 3(1 − z −1 ) x10 (z) − (1 + z −1 ) x11 (z) where (15.14) ⎞ ⎛ −1 −1 2(1 + z ) (z − 1) def 1 ⎝ ⎠ = z −1 A(z). = 4 −1 −1 −3(z − 1) −(1 + z )
Note that A(z) is the transfer function of the two-tap multifilter A = {A[−1], A[0]} whose components are ⎛1 A[−1] = ⎝
2
− 41
3 4
− 41
⎞
⎛
⎠
A[0] = ⎝
1 2
1 4
− 43
− 41
⎞ ⎠.
(15.15)
The z-transform of the entire vector-signal S is S(z) = S0 (z 2 ) + z −1 S1 (z 2 ) = I2 + z −1 A(z 2 ) x0 (z 2 ).
(15.16)
15.2 Lifting Scheme of Wavelet Transform of Vector-Signals The lifting scheme for transforms of vector-signals contains the same steps as the transform scheme for scalar signals: 1. Split, 2. Predict and 3. Lifting or Update. The fourth step Normalization, which was implemented in the scalar setting is replaced by step 4. Rescaling. Two mutually dual versions of the transform are possible. We describe only the Primal mode. The dual scheme can be easily derived similarly to the scalar scheme described in Chap. 12. Also, it can be found in [2].
15.2 Lifting Scheme of Wavelet Transform of Vector-Signals
369
Decomposition: 1. Split: We split the vector signal into even and odd polyphase components: x = x0 + x1 . The z-transforms of x p , p = 0, 1, are: x0 (z 2 ) =
1 z ( x (z) + x(−z)), x1 (z 2 ) = ( x (z) − x(−z)). 2 2
(15.17)
2. Predict: The odd polyphase component x1 of the vector-signal x is predicted by the def odd polyphase component S1 of the spline vector-signal S[k] = S(kh), k ∈ Z, is the Hermite vector-spline, which interpolates the even polyphase where S(t) component x0 of x on the grid {2kh}. Then, the array x1 is transformed by extracting the predicted values from the existing ones. From Eq. (15.13) we have: def
y1 (z) = x1 (z) − A(z) x0 (z), where the matrix A(z) is defined in Eq. (15.15). 3. Lifting: This step updates the even array x0 by using the new array d and some multifilter B x0 (z) = x0 (z) + B(z)y 1 (z). Remark 15.2.1 There is a remarkable freedom in the choice of the multifilter B. However, it was established in [2] that, in some sense, optimal choice is the multifilter B such that B(z) = D(z)/2, where D(z) is defined in Eq. (15.14). Thus, B(z) = A(z)/2z. We will keep to that choice. We have y0 (z) = x0 (z) +
z −1 A(z) y1 (z). 2
Reconstruction is performed in a reverse order. Given two vector arrays y0 and y1 , we restore the vector-signal x in the following way: 1. Undo lifting: restore the even polyphase component x0 (z) = y0 (z) −
z −1 A(z)y 1 (z). 2
(15.18)
2. Undo predict: restore the odd polyphase component x1 (z) = y1 (z) + A(z) x0 (z).
(15.19)
3. Unsplit: restore the signal x from its even and odd polyphase components. In the z−domain we have (15.20) x(z) = x0 (z 2 ) + z −1 x1 (z 2 ).
370
15 Biorthogonal Multiwavelets Originated from Hermite Splines
15.3 Multifilter Banks 15.3.1 Structure of Multifilter Banks The operations on vector-signals, which were implemented in a lifting manner, can be viewed as processing the signal by biorthogonal PR multifilter banks. As in Sect. 12.1.3.1, we derive transfer functions of these multifilter banks by rewriting the above lifting steps in a matrix form:
y0 (z) y1 (z)
I2 +A(z)/2z I2 0 x0 (z) · · 0 I2 −A(z) I2 x1 (z)
˜ −1 ) · x0 (z) , = P(z x1 (z)
=
(15.21)
where the analysis polyphase matrix is ˜ −1 ) = P(z
I2 − A(z) · A(z)/2z −A(z)
A(z)/2z I2
.
(15.22)
˜ It is readily verified that det(P(z)) ≡ 1. The reconstruction steps are presented as follows
x0 (z) x1 (z)
0
I2 A(z)/2z y (z) I2 0 · · = A(z) I2 0 I2 y1 (z) 0
y (z) , = P(z) · y1 (z)
(15.23) (15.24)
where the synthesis polyphase matrix is −1 I 2 ˜ −1 ) = P(z) = P(z A(z)
−A(z)/2z I2 − A(z) · A(z)/2z
.
(15.25)
def
Substituting F(z) = A(z −1 ), where A(z) is defined in Eq. (15.15), into Eqs. (15.22) and (15.25), we obtain the following explicit expressions: ⎛
⎞ z − z −1 8(1 + z −1 ) −4(1 − z −1 ) 18 − z − z −1 −1 −1 −1 −1 ⎟ ⎜ ˜ −1 ) = 1 ⎜ −3(z − z ) 2(12 + z + z ) −12(z − 1) −4(1 + z ) ⎟ , P(z ⎝ ⎠ −16(1 + z) 8(z − 1) 32 0 32 24(1 − z) 8(1 + z) 0 32 (15.26)
15.3 Multifilter Banks
371
⎛
⎞ 4(1 − z −1 ) 32 0 −8(1 + z −1 ) 1 ⎜ 0 32 −12(1 − z −1 ) 4(1 + z −1 ) ⎟ ⎜ ⎟. P(z) = ⎝ ⎠ z − z −1 32 16(1 + z) 8(1 − z) 18 − z − z −1 −1 −1 24(z − 1) −8(1 + z) −3(z − z ) 2(12 + z + z ) Hence, the decomposition transform of a vector-signal x into y0 y1 can be ˜ 0 and H ˜ 1 , respectively, which is represented as filtering of x by the multifilters H followed by downsampling by factor 2. Reconstruction of the vector-signal x from the upsampled arrays y0 and y1 can be implemented as filtering the arrays by the ˜ 1 have a multifilters H0 and H1 . The synthesis multifilter H0 and the analysis H simple structure. Their transfer functions are H0 (z) = I2 + z −1 A(z 2 ) =
1 4
2(z + 2 + z −1 ) z −1 − z −1 3(z − z ) 4 − (z −1 + z)
,
(15.27)
z 2(−z + 2 − z −1 ) z − z −1 1 −1 −1 2 ˜ = zH0 (−z). H (z ) = z I2 − z A(z ) = 3(z −1 − z) 4 + z −1 + z 4
Denote def
W(z) = I2 − z
−1
1 A(z) · A(z) = 16
z − z −1 2 − z − z −1 . 3(z −1 − z) 2(4 + z −1 + z)
(15.28)
˜ 0 and the synthesis multifilter Now, the transfer functions of the analysis multifilter H 1 H are:
z −2 z −1 0 −1 2 2 ˜ A(z ) · A(z ) + A(z 2 ) H (z ) = I2 − 2 2 1 0 = H (z) + W(z 2 ) , (15.29) 2
z −2 z −1 I2 − A(z 2 ) · A(z 2 ) − A(z 2 ) H1 (z) = z −1 2 2 =
z −2 ˜ 1 −1 z −1 ˜ 0 (−z −1 ). H (z ) + W(z 2 ) = z −1 H 2 2
(15.30)
Proposition 15.2 The following biorthogonal relations are true: ˜ 0 (z −1 ) H0 (z) + H ˜ 1 (z −1 ) H1 (z) = 2I2 , H ˜ 0 (z −1 ) H1 (z) + H ˜ 1 (z −1 ) H0 (z) = 0. H
(15.31)
Proof The relations in Eq. (15.31) are verified by substitutions of the multifilters’ transfer functions from Eqs. (15.27) and (15.30).
372
15 Biorthogonal Multiwavelets Originated from Hermite Splines
15.3.2 Approximation Properties of Multifilters Assume that Φ(t) is a differentiable function and x = { x [k]}, x[k] =
Φ(hk) . hΦ (hk)
(15.32)
Let x p , p = 0, 1, be the polyphase components of the vector-signal x. In addition, def
denote by x11 = { x [2k−1]} the shifted odd polyphase component of x . A polynomial of degree r is denoted by Pr (t). Definition 15.1 We say that a multifilter M possesses the approximation property of order r + 1 if, for any Φ(t) = Pr (t), M x0 = x1 and M x11 = x0 . Definition 15.2 We say that a multifilter Q reproduces sampled polynomials of degree r if for any Φ(t) = Pr (t), Q x = c x, where c is a constant. A multifilter Q0 eliminates such polynomials if, for any Φ(t) = Pr (t), Q0 x = 0. The two-tap multifilter A = {A[−1], A[0]}, defined in (15.15), has the “symmetry” property |A[−1]i j | = |A[0]i j |, i, j = 1, 2. Proposition 15.1 implies the following statement. Proposition 15.3 The multifilter A = {A[−1], A[0]} defined in Eq. (15.15) possesses the fourth order approximation property. Proposition 15.4 The synthesis multifilter H0 reproduces cubic polynomials. The ˜ 1 eliminates cubic polynomials. Namely, if x = (P3 (kh), h P analysis multifilter H 3 T (kh)) , then ˜ 1 x = 0. x, H (15.33) H0 x = 2 Proof Assume that the vector-signal x is defined by Eq. (15.32) where Φ(t) = t 3 and h = 1. Then, vecx[k] = (k 3 , 3k 2 )T and we have H0 x[k] =
1 4
2((k + 1)3 + 2k 3 + (k − 1)3 ) + 3((k − 1)2 − (k + 1)2 ) 3((k + 1)3 − (k − 1)3 ) + 12k 2 − 3((k − 1)2 + (k + 1)2 )
=2
3
k . 2k 2
˜ 1 x[k] = 0 is proved similarly. The proofs for Φ(t) = t s , s = 2, 1, 0 The relation H is similar. Proposition 15.5 The multifilter W, whose transfer function is the matrix-function W(z 2 ) defined in Eq. (15.28), eliminates cubic polynomials. Proof Again, assume that Φ(t) = t 3 and x is defined by Eq. (15.32). Applying the multifilter W to x, we get W x[k] =
1 16
−(k + 2)3 + 2k 3 − (k − 2)3 + 3((k + 2)2 − (k − 2)2 ) 3((k − 2)3 − (k + 2)3 ) + 6(4k 2 + (k − 2)2 + (k + 2)2 )
The proofs for Φ(t) = t s , s = 2, 1, 0 is similar.
=
0 . 0
15.3 Multifilter Banks
373
˜ 0 reproduces cubic polynomials. The synCorollary 15.1 The analysis multifilter H 1 thesis multifilter H eliminates cubic polynomials. Proposition 15.6 1. There is no two-tap multifilter C = {C[−1], C[0]}, where |C[−1]i j | = |C[0]i j |, i, j = 1, 2,
(15.34)
other than A, which possesses the fourth order approximation property. 2. There is no two-tap multifilter satisfying Eq. (15.34) which possesses the fifth order approximation property. Proof 1. Let
C[0] =
a b cd
, C[−1] =
aˇ cˇ
bˇ dˇ
,
(15.35)
be a two-tap multifilter satisfying Eq. (15.34) and possessing the fourth-order approximation property. Here qˇ denotes a number whose absolute value |q| ˇ = |q|. Assume Φ(t) = t 3 , h = 1 and the vectors x0 , x11 are the polyphase components ( x11 shifted x1 ) of a vector-signal x. Then, for t = 2k, we have C[0] x11 [k] + C[−1] x11 [k + 1] = x0 [k] ⇐⇒
3
aˇ bˇ (t + 1)3 t a b (t − 1)3 + = cd 3(t − 1)2 3(t + 1)2 3t 2 cˇ dˇ ˇ 2 ⇐⇒ (a + a)t ˇ 3 + 3(−a + aˇ + b + b)t ˇ − a + aˇ + 3b + 3bˇ = t 3 , +3(a + aˇ − 2b + 2b)t
ˇ 2 + 3(c + cˇ − 2d + 2d)t ˇ (c + c)t ˇ 3 + 3(−c + cˇ + d + d)t −c + cˇ + 3d + 3dˇ = 3t 2 .
ˇ c= To satisfy these identities we have to choose a = 1/2 = a, ˇ b = 1/4 = −b, ˇ −3/4 = −c, ˇ d = −1/4 = d. Hence, it follows that C = A. T 2. Assume Φ(t)=t 4 . Then we have A[0] x0 [0]+ A[−1] x0 (1)− d = h 4 /2 0 . Remark 15.3.1 The claim in item 1 of Proposition 15.6 justifies our choice of the updating multifilter B(z) = z −1 A(z)/2 in the lifting scheme (see Remark 15.2.1). Thus, we designed a scheme of wavelet transforms of vector-signals. The multifilters which are used in these transforms are finite, symmetric and possess the fourth order approximation property in the sense of Definition 15.1. This property ˜ 0 and H0 ) and annihilation implies the approximate restoration (by multifilters H ˜ 1 and H1 ) of a sampled function Φ(t) ∈ C 4 , provided the input (by multifilters H vector-signals are x[k] = (Φ(hk), hΦ (hk).
374
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Typically, we have only samples of a scalar signal s = (s[k]}. Therefore, to apply the multiwavelet transforms to such a scalar signal while retaining the fourth-order approximation property, we have to transform s into a vector-signal x = x 0 [k], x 1 [k])T such that, for some function Φ(t) ∈ C 4 , x 0 [k] = Φ(hk) and x 1 [k] ≈ Φ (hk). The fourth-order approximation property is retained once the following relation is true: x 1 [k] − hΦ (kh) = O(h 3 Φ (4) ) ∀Φ ∈ C 4 .
(15.36)
The transformation s −→ x is carried out by pre-processing algorithms, which are to be described in Sect. 15.4. Restoration of a scalar signal from the vector-signal, which is an output of multiwavelet processing, is implemented by a post-processing algorithm.
15.4 Lifting Algorithms for Pre/Post-processing Phases When we have pre/post-processing schemes which are finite, symmetric and possess the approximation property (15.36), they fit the vector wavelet transforms constructed in Sect. 15.3. In this section, we describe these schemes. Assume that an input scalar signal s is a sampling of a function Ψ (t). An obvious way to produce such a vector x is to take x 0 [k] = Ψ (kh) and to find x 1 [k] as an approximation to F (kh) from the samples {Ψ (lh/2)}. However, it can be proved that, if we require the post-processing filters to be finite and symmetric, we cannot achieve in this way an approximation order higher than two. Therefore, we chose not to leave the samples x 0 [k] = Ψ (kh) unchanged but to update them using neighboring samples {Ψ (lh/2)}. In other words, we will convert the input signal Ψ (t) into a function Φ(t) such that x 0 [k] = Φ(kh), x 1 [k] ≈ hΦ (kh) and Eq. (15.36) holds. If {Ψ (lh/2)} are samples of a cubic polynomial we will require that x 0 [k] = Φ(kh) and x 1 [k] = hΦ (kh). Similar to the implementation of multiwavelet transforms, we construct and implement the pre-processing by lifting steps. It is common in lifting algorithms that the calculations are performed “in place” and post-processing is performed in a reverse order. Denote s0 [k] = Ψ (kh) and s1 [k] = Ψ ((k + 1/2)h). We start the construction of the preprocessing algorithms with a simple scheme which illustrates our approach and serves as a basis for higher order algorithms. A similar algorithm is presented in [10].
15.4 Lifting Algorithms for Pre/Post-processing Phases
375
15.4.1 An Orthogonal Scheme of Third Approximation Order (Haar Algorithm) Let us update the arrays s0 and s1 as follows: x 1 [k] = s1 [k] − s0 [k] = Ψ ((k + 1/2)h) − Ψ (kh), x 0 [k] = s0 [k] + x 1 [k]/2 = (Ψ ((k + 1/2)h) + Ψ (kh)) /2, x 1 [k] = 2x 1 [k].
(15.37)
The post-processing is implemented in a reverse order: Put s1 [k] = x 1 [k]/2, s0 [k] = x 0 [k] and proceed: x 1 [k] = x 1 [k]/2, 0 (15.38) s0 [k] = x [k] − x 1 [k]/2 s1 [k] = x 1 [k] + s0 [k]. def 1 2
Denote: Φ(t) =
(Ψ (t + h/2) + Ψ (t)).
Proposition 15.7 Assume that Ψ (t) ∈ C 3 . Then, x 0 [k] = Φ(kh) and x 1 [k] = hΦ (kh) + O(h 3 F (3) ). If Ψ (t) is a quadratic polynomial, then Φ(t) is a quadratic polynomial as well and x 1 [k] = hΦ (kh). Proof Assume that Ψ (t) = t 2 . Then, Φ (hk) = 2hk + h/2. On the other hand, x 1 [k] = 2(h 2 k + h 2 /4) = hΦ (hk). The same relations are true for Ψ (t) = t and Ψ (t) = const. The assertion of the Proposition follows from the Taylor expansion. The pre-processing procedure can be presented in a matrix form. As usual, si (z) and x i (z), i = 0, 1 denote the z-transforms of the respective signals. The matrix representation is:
x 0 (z) x 1 (z)
= P˜ 00 (z −1 ) ·
s0 (z) 1/2 1/2 0 −1 def ˜ , P0 (z ) = . s1 (z) −2 2
(15.39)
Thus, the pre-processing procedure as processing the scalar signal s by is interpreted 0 1 ˜ ˜ ˜ the two-channel filter bank f0 = f0 , f0 with downsampling factor 2, and P˜ 00 (z) is the polyphase matrix of the filter bank f˜0 . The post-processing can be presented as
−1 1 −1/4
x 0 (z) 0 0 −1 ˜ = , where P0 (z) = P0 (z ) = . 1 1/4 x 1 (z) (15.40) 0 1 Thus, the post-processing procedure is interpreted as processing of the pair x , x of signals by the two-channel filter bank f0 = f00 , f01 with upsampling factor 2 and P00 (z) is the polyphase matrix of the filter bank f0 . s0 (z) s1 (z)
P00 (z) ·
376
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Table 15.1 Impulse responses third-order algorithm k 0 f 00 [k] 1 f 01 [k] −1/4
of post-processing (left) and pre-processing (right) filters for the 1 1 1/4
k f˜00 [k] f˜01 [k]
0 1/2 −2
1 1/2 2
Impulse responses of the pre- and post-processing filters are presented in Table 15.1. The transfer functions of the pre- and post-processing filters are f˜00 (z) = (1 + z −1 )/2, f˜01 (z) = 2(z −1 − 1), f 00 (z) = 1 + z −1 ), f˜01 (z) = (z −1 − 1)/4.
(15.41)
On the other hand, the (pre-)post-processing procedures can be regarded as the wavelet transforms of a signal s, namely, the orthogonal Haar wavelet transform. The filters f˜00 , and f˜01 are orthogonal to each other and the same is true for the filters f00 and f01 . We define the discrete-time wavelets as the impulse responses of the (pre-)postdef def processing filters ϕ˜0i [k] = f˜0i [k], ϕ0i [k] = f 0i [k], i = 0, 1, and refer to the vectorsignals ϕ˜0 = (ϕ˜00 , ϕ˜01 )T and ϕ0 = (ϕ00 , ϕ01 )T as multiwavelets of zero level related to the Haar scheme. We can observe that ϕ˜00 [k] = ϕ00 [k]/2 and ϕ˜01 [k] = 2ϕ01 [k]. Surely, the transfer functions of the filters given in Eq. (15.41) are the z-transforms of the respective wavelets.
15.4.2 Schemes of the Fifth Approximation Order Additional lifting steps are applied to the arrays x 0 and x 1 produced in Eq. (15.37) in order to increase their approximation order while retaining the symmetry and the finite support of the corresponding multiwavelets.
15.4.2.1 Scheme I Let us update the vector-signal x designed in Sect. 15.4.1 as follows: x 0 [k] = 21 x 0 [k] − x 1 [k + 1] − x 1 [k − 1] /48 , x 1 [k] = x 1 [k]/2.
(15.42)
Restoration is implemented in a reverse order by x 1 [k] = 2x 1 [k], x 0 [k] = 2x 0 [k] + x 1 [k + 1] − x 1 (k − 1) /96.
(15.43)
15.4 Lifting Algorithms for Pre/Post-processing Phases
377
The operations in Eq. (15.42) can be presented in a matrix form:
x 0 (z) 1/2 (z −1 − z)/192 −1 def ˜ , where M(z ) = . 0 1/2 x 1 (z) (15.44) Combining Eq. (15.44) with Eq. (15.39), we get the pre-processing formula
x 0 (z) x 1 (z)
˜ −1 ) · = M(z
s0 (z) , where (15.45) s1 (z)
24 + z − z −1 24 − z + z −1 ˜P01 (z −1 ) = M(z ˜ −1 ) · P˜ 00 (z −1 ) = 1 . −96 96 96
x 0 (z) x 1 (z)
= P˜ 01 (z −1 ) ·
Thus, the pre-processing procedure as processing the scalar signal s by is interpreted the two-channel filter bank f˜0 = f˜00 , f˜01 with downsampling factor 2, and P˜ 01 (z) is the polyphase matrix of the filter bank f˜0 . The transfer functions of the pre-processing filters are 1 −2 −z + z −1 + 24 + 24z + z 2 − z 3 , f˜00 (z −1 ) = 96
f˜01 (z −1 ) = z − 1.
Keeping in mind that s0 [k] = Ψ (hk) and s1 [k] = Ψ (h(k + 1/2)), we write x 0 [k] =
1 96
− Ψ ((k + 23 )h) + Ψ ([k + 1]h)
+24(Ψ ((k + 21 )h) + Ψ (kh)) + Ψ ((k − 21 )h) − Ψ ((k − 1)h) , x 1 [k] = Ψ ((k + 1/2)h) − Ψ (kh). Denote def 1 96
Φ(t) = +
− Ψ (t + 23 h) + Ψ (t + h) + 24Ψ (t + 21 h) 24Ψ (t) + Ψ (t − 21 h) − (Ψ (t + h) .
(15.46)
Proposition 15.8 Assume that F ∈ C 5 and the function Φ(t) is defined by Eq. (15.46). Then x 0 [k] = Φ(kh) and x 1 [k] = hΦ (kh) + x1 (h 5 F (5) ). In particular, if Ψ (t) is a polynomial of fourth degree, then Φ(t) is a polynomial of fourth degree as well and x 1 [k] = hΦ (kh). 1 3 7 Proof Let Ψ (t) = t 4 . Then Φ(t) = 21 t 4 + 1/2 ht 3 + 41 h 2 t 2 + 16 h t − 192 h4 3 2 1 2 1 3 3 and Φ (t) = 2 t + 2 ht + 2 h t + 16 h . 1 4 h = hΦ (t). In turn, (t + 1/2 h)4 − t 4 = 2 ht 3 + 23 h 2 t 2 + 21 h 3 t + 16 r Similar equations for Ψ (t) = t , r = 0, 1, 2, 3 are readily verified. Hence, the assertion of the proposition follows.
378
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Table 15.2 Impulse responses of post-processing (top two lines) and pre-processing (bottom two lines) filters of zero level for the Scheme I algorithm k −2 −1 0 1 2 3 f 01 [k] 0 0 2 2 0 0 f 00 [k] 1/48 1/48 −1/2 1/2 −1/48 −1/48 f˜00 [k] −1/96 1/96 1/4 1/4 1/96 −1/96 f˜01 [k] 0 0 −1 1 0 0
The post-processing procedure is presented by
x 0 (z) , where = x 1 (z)
−1 1 96 z − 24 − z −1 1 1 −1 ˜ . = P0 (z) = P0 (z ) 48 96 z + 24 − z −1 s0 (z) s1 (z)
P01 (z) ·
(15.47)
The transfer functions of the post-processing filters are: f 00 (z) = 2 + 2z −1 ,
f 01 (z) =
1 2 z + z − 24 + 24z −1 − z −2 − z −3 . 48
The impulse responses of the post-processing and pre-processing filters are given in Table 15.2. We refer to the vector-signals ϕ0 = (ϕ00 , ϕ01 )T and ϕ˜0 = (ϕ˜00 , ϕ˜01 )T as zero-level multiwavelets related to the Scheme I.
15.4.2.2 Scheme II Another way to increase the approximation order of the Haar scheme is to update the array x 1 rather than updating x 0 . It is done via the following lifting steps: x 1 [k] = x 1 [k]/2 + x 0 [k + 1] − x 0 (k − 1) /32, x 0 [k] = x 0 [k], ⇐⇒ x 0 [k] = 9/16 x 0 [k], x 1 [k] = x 1 [k] 0
0
9/16 0 x (z) ˜ −1 ) · x 1 (z) , M(z ˜ −1 ) def . (15.48) = = M(z (z − z −1 )/32 1/2 x 1 (z) x (z) Return to the Haar scheme is implemented in a reverse order: x 0 [k] = 16/9 x 0 [k], x 1 [k] = x 1 [k], x 1 [k] = 2x 1 [k] − x 0 [k + 1] − x 0 (k − 1) /32. x 0 [k] = x 0 [k],
15.4 Lifting Algorithms for Pre/Post-processing Phases
379
Combining Eq. (15.48) with Eq. (15.39), we get the pre-processing formula
s0 (z) , where (15.49) s1 (z)
18 18 ˜ −1 ) · P˜ 00 (z −1 ) = 1 . P˜ 02 (z −1 ) = M(z 64 z − 64 − z −1 z + 64 − z −1 x 0 (z) x 1 (z)
= P˜ 02 (z −1 ) ·
The transfer functions of the pre-processing filters are 9 f˜00 (z −1 ) = (1 + z) , 32
1 3 z + z 2 + 64z − 64 − z −2 − z −1 . f˜01 (z −1 ) = 64
Thus, we have
1 9 Ψ ((k + )h) + Ψ (kh) 32 2 1 1 1 x 1 [k] = − Ψ ((k − 1)h) − Ψ ((k − )h) − Ψ (kh) 64 64 2 1 1 1 3 + Ψ ((k + )h) + Ψ ([k + 1]h) + Ψ ((k + )h). 2 64 64 2
x 0 [k] =
(15.50)
def
Denote: Φ(t) = 9/32 (Ψ (t + 1/2h) + Ψ (t)). Proposition 15.9 Assume that F ∈ C 5 . Then x 0 [k] = Φ(kh) and x 1 [k] = hΦ (kh) + x1 (h 5 F (5) ). If Ψ (t) is a polynomial of the fourth degree, then Φ(t) is a polynomial of the fourth degree as well, and x 1 [k] = hΦ (kh). The proof is similar to the proof of Proposition 15.8. The post-processing procedure is presented by
x 0 (z) = , where x 1 (z)
−1 1 z + 64 − z −1 −18 2 2 −1 ˜ = . P0 (z) = P0 (z ) 36 z −1 + 64 − z 18 s0 (z) s1 (z)
P02 (z) ·
(15.51)
The transfer functions of the post-processing filters are; f 00 (z) =
1 2 z − z + 64 + 64z −1 − z −2 + z −3 , 36
f 01 (z) =
1 −1 (z − 1). 2
The impulse responses of the post-processing and pre-processing filters are given in Table 15.3. We refer to the vector-signals ϕ0 = (ϕ00 , ϕ01 )T and ϕ˜0 = (ϕ˜00 , ϕ˜01 )T as zero-level multiwavelets related to the Scheme II.
380
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Table 15.3 Impulse responses of post-processing (top two lines) and pre-processing (bottom two lines) filters of zero level for the Scheme II algorithm k −2 −1 0 1 2 3 f 00 [k] 1/36 −1/36 16/9 16/9 −1/36 1/36 f 10 [k] 0 0 −1/2 1/2 0 0 f˜00 [k] 0 0 9/32 9/32 0 0 f 01 [k] −1/64 −1/64 −1 1 1/64 1/64
Pre-processing of either 1D signals or rows of a 2D arrays is implemented by the MATLAB function hprepN. Post-processing is implemented by the MATLAB function hpostN.
15.5 Bases for the Space of Discrete-Time Signals 15.5.1 Bases of Zero Level In Sect. 15.4, we introduced three (post-)pre-processing pairs of multiwavelets of zero level ϕ0 = (ϕ00 , ϕ01 )T and ϕ˜0 = (ϕ˜00 , ϕ˜01 )T , respectively. Their translations form three biorthogonal bases for the space of scalar discrete-time signals. The following assertion now holds. Proposition 15.10 1. The following biorthogonal relations ϕ00 [· − 2l], ϕ˜10 [· − 2k] = δ[k − l], ϕ01 [· − 2l], ϕ˜01 [· − 2k] = δ[k − l], ϕ00 [· − 2l], ϕ˜01 [· − 2k] = 0, ϕ01 [· − 2l], ϕ˜10 [· − 2k] = 0
(15.52)
hold. 2. Any signal s : s[k] = Ψ (kh/2), k ∈ Z, can be represented as follows: s[k] =
l
x 0 [l]ϕ00 [k − 2l] +
x 1 [l]ϕ01 [k − 2l].
(15.53)
l
3. The coefficients are: x 0 [l] = s, ϕ˜00 [· − 2l], x 1 [l] = s, ϕ˜01 [· − 2l].
(15.54)
Proof We present the proof only for the algorithm of third order that was introduced in Sect. 15.4.1. The other two cases can be similarly treated.
15.5 Bases for the Space of Discrete-Time Signals
381
1. The biorthogonal relations in Eq. (15.52) follow from the PR property P00 (z) = −1 P˜ 00 (z −1 ) of the generating filter banks. −l 2. Let s(z) = l z s[l] be the z−transform of the signal s and s0 (z), s1 (z), x 0 (z) and x 1 (z) be the z−transforms of the signals s0 [k], s1 [k], x 0 [k] and x 1 [k]. From Eq. (15.40), we derive s0 (z) = x 0 (z) − x 1 (z)/4, s1 (z) = x 0 (z) + x 1 (z)/4. Substituting these relations to the identity s(z) = s0 (z 2 ) + z −1 s1 (z 2 ) and by using Eq. (15.41), we obtain s(z) = x 0 (z 2 )(1 + z −1 ) + x 1 (z 2 )(z −1 − 1)/4 = x (z 0
2
) ϕ00 (z) +
x (z 1
2
) ϕ01 (z)
(15.55)
= x(z ) · ϕ0 (z). 2 T
Here ϕ0 (z) = (ϕ00 (z), ϕ01 (z))T is the z-transform of the zero-level multiwavelet. Switching from the z-domain in Eq. (15.55) to the time domain yields Eq. (15.53). 3. Equation (15.54) stems immediately from the biorthogonal relations in Eq. (15.52).
Corollary 15.2 Assume that s is a quadratic polynomial sampled on the grid kh/2 and ϕ˜00 and ϕ˜01 are the pre-processing wavelets for the Haar algorithm. Then the inner products x 0 [k] = s, ϕ˜10 [· − 2k], k ∈ Z are the values of a quadratic polynomial sampled on the grid kh, and the products x 1 [k] = s, ϕ˜01 [· − 2k] are the values of its derivative multiplied by h. In the case when the wavelets ϕ˜10 and ϕ˜01 are derived from the schemes of the fifth order and s is a sampled polynomial of the fourth degree, the inner products are samples of polynomials of the fourth degree and of its derivative multiplied by h, respectively. Summarizing, the sets of signals {ϕ00 [· − 2l], ϕ01 [· − 2l]}, {ϕ˜00 [· − 2k], ϕ˜01 [· − 2k]} form a biorthogonal pair of bases for the signal space.
15.5.2 Bases of the First Level Once we have the vector-signal x derived from a scalar signal s by one of the preprocessing algorithms, we can proceed with the vector wavelet transform described in Sect. 15.4. Practically, it is implemented by the lifting scheme. We show that the transformations of a vector signal x presented in Sect. 15.4 lead to re-expansions of the original signal s with respect to new biorthogonal pairs of bases.
15.5.2.1 Analysis Filter Banks of the First Level As in Eq. (2.10), the polyphase components of a signal s are denoted by sm,M , where def
sm,M = {s[m + k M]} , k ∈ Z . In the case M = 2, we retain the notations sm ,
382
15 Biorthogonal Multiwavelets Originated from Hermite Splines
m = 0.1, for the even and odd polyphase components of the signals, respectively. Recall that xm (z) = (xm0 (z), xm1 (z))T , m = 0, 1. Denote the components of the vector y j (z) by y j,i (z). Thus, y j (z) = (y j,0 (z), y j,1 (z))T ,
j = 0, 1.
Due to Eq. (15.21),
y0 (z) y1 (z)
˜ −1 ) · = P(z
x0 (z) , x1 (z)
(15.56)
where x0 and x1 are the polyphase components of the vector-signal x. In turn,
0
s0 (z) x (z) j −1 ˜ =⇒ (15.57) (z ) · x(z) = = P 0 s1 (z) x 1 (z)
0
0
x1 (z) x0 (z) s4,0 (z) s4,2 (z) j −1 j −1 ˜ ˜ , , = = P0 (z ) · = P0 (z ) · s4,1 (z) s4,3 (z) x01 (z) x11 (z) where j = 0, 1, or 2, depending on the pre-processing scheme. Define the 4 × 4 block-wise matrix j P˜ 0 (z −1 ) 0 j −1 def PP0 (z ) = , j = 0, 1, 2. j 0 P˜ 0 (z −1 )
(15.58)
Now we can represent the output from one-level multiwavelet transform of a signal s as follows:
y0 (z) y1 (z)
⎞ ⎞ ⎛ y 0,0 (z) s0,4 (z) ⎟ ⎜ ⎜ y 0,1 (z) ⎟ ⎟ ˜ j −1 ⎜ s1,4 (z) ⎟ =⎜ ⎝ y 1,0 (z) ⎠ = P1 (z ) · ⎝ s2,4 (z) ⎠ , s3,4 (z) y 1,1 (z) ⎛
(15.59)
j ˜ −1 )· PP 0j (z −1 ), where the matrices of the first decomposition level are P˜ 1 (z −1 ) = P(z ˜ j −1 j = 0, 1, 2. The 4×4 matrices P1 (z ) are the polyphase matrices of the four-channel analysis filter bank h˜ = h˜ i , i = 0, . . . , 3, with downsampling by 4. This means
that ⎛
h˜ 00,4 (z) ⎜ h˜ 1 (z) ⎜ j P˜ 1 (z) = ⎜ ˜ 0,4 ⎝ h 20,4 (z) h˜ 30,4 (z)
h˜ 01,4 (z) h˜ 11,4 (z) h˜ 21,4 (z) h˜ 31,4 (z)
h˜ 02,4 (z) h˜ 12,4 (z) h˜ 22,4 (z) h˜ 32,4 (z)
⎞ h˜ 03,4 (z) h˜ 13,4 (z) ⎟ ⎟ ⎟. h˜ 23,4 (z) ⎠ h˜ 33,4 (z)
(15.60)
15.5 Bases for the Space of Discrete-Time Signals
383
Recall that the filter bank h˜ depends on the selected pre-processing scheme (j=0,1 or 2). The transfer functions of the filters are: h˜ i (z) = h˜ i0,4 (z 4 ) + z −1 h˜ i1,4 (z 4 ) + z −2 h˜ i2,4 (z 4 ) + z −3 h˜ i3,4 (z 4 ), i = 0, .., 3. (15.61) 15.5.2.2 Synthesis Filter Banks of the First Level The vector-signal x is restored from the vector-signals yi , i = 0, 1, as in Eq. (15.23): ⎛
x0 (z) x1 (z)
= P(z) ·
y0 (z) y1 (z)
⇐⇒
(15.62)
⎞ ⎛ 0,0 ⎞ x00 (z) y (z) ⎜ x 1 (z) ⎟ ⎜ y 0,1 (z) ⎟ ⎜ 0 ⎟ ⎟, ⎜ 0 ⎟ = P(z) · ⎜ ⎝ y 1,0 (z) ⎠ ⎝ x1 (z) ⎠ y 1,1 (z) x11 (z) where x0 and x1 are the polyphase components of the vector-signal x. In turn,
s0 (z) s1 (z)
s0,4 (z) s1,4 (z)
=
j P0 (z) ·
j
= P0 (z) ·
x 0 (z) x 1 (z)
=⇒
0
x00 (z) x1 (z) s2,4 (z) j , , (z) · = P 0 1 s3,4 (z) x0 (z) x11 (z)
where j = 0, 1, or 2, depending on the post-processing scheme. Define the 4 × 4 block-wise matrix j P0 (z) 0 def j PP0 (z) = , j = 0, 1, 2. j 0 P0 (z)
(15.63)
Now we can represent the signal s, which is an output from the one-level inverse multiwavelet transform of a pair {y0 , y1 } of vector-signals, as follows: ⎛
⎞ ⎛ 0,0 ⎞ y (z) s0,4 (z) 0
0,1 ⎜ s1,4 (z) ⎟ ⎟ ⎜ y (z) j ⎜ ⎟ ⎜ y (z) ⎟ ⎝ s2,4 (z) ⎠ = P1 (z) · y1 (z) = ⎝ y 1,0 (z) ⎠ , s3,4 (z) y 1, (z) j
(15.64)
j
where the matrices of the first decomposition level are P1 (z) = PP0 (z) · P(z) and j j = 0, 1, 2. The 4 × 4 matrices i P1 (z) are the polyphase matrices of the four-channel synthesis filter bank h = h , i = 0, 1, 2, 3 with upsampling of 4. That means
384
15 Biorthogonal Multiwavelets Originated from Hermite Splines
that ⎛
h 00,4 (z) h 10,4 (z) h 20,4 (z) h 30,4 (z)
⎞
⎜ h 0 (z) h 1 (z) h 2 (z) h 3 (z) ⎟ ⎜ ⎟ j 1,4 1,4 1,4 P1 (z) = ⎜ 01,4 ⎟. ⎝ h 2,4 (z) h 12,4 (z) h 22,4 (z) h 32,4 (z) ⎠
(15.65)
h 03,4 (z) h 13,4 (z) h 23,4 (z) h 33,4 (z) The filter bank h depends on the selected post-processing scheme (j=0,1 or 2). The transfer functions of the filters are: h i (z) = h i0,4 (z 4 ) + z −1 h i1,4 (z 4 ) + z −2 h i2,4 (z 4 ) + z −3 h i3,4 (z 4 ).
(15.66)
15.5.2.3 Signal Expansion Over the First-Level Multiwavelet Basis The impulse responses ϕ˜ 1i [k] = h˜ i [k], k ∈ Z, of the analysis filters h˜ i are referred to as discrete-time analysis wavelets of the first decomposition level, and the impulse responses ϕ1i [k] = h i [k], k ∈ Z, of the synthesis filters hi are referred to as discretetime synthesis wavelets of the first decomposition level. def
def
def
For brevity, we denote y 0 [k] = y 0,0 [k], y 1 [k] = y 0,1 [k], y 2 [k] = y 1,0 [k] and def
y 3 [k] = y 1,1 [k]. Equations (15.64) and (15.65) mean that the polyphase components of the signal s can be represented as: si,4 (z) =
3
m h i,4 (z) y m (z) ⇐⇒ si,4 [i + 4k] =
3
h m [i + 4(k − l)] y m [l].
m=0 l∈Z
m=0
Hence, it follows that the entire signal s can be expanded via 4-samples shifts of four synthesis wavelets of the first decomposition level: s[k] =
3
h m [k − 4l] y m [l] =
m=0 l∈Z
3
ϕmm [k − 4l] y m [l].
(15.67)
m=0 l∈Z
On the other hand, Eqs. (15.59) and (15.60) imply that y (z) = m
3
m (z −1 ) si,4 (z), m = 0, 1, 2, 3. h˜ i,4
i=0 m Due to Eq. (2.17), them signal y [k] is the zero polyphase component of the convo˜ lution η[k] = l∈Z h [l − k] s[l]. Thus,
y m [k] =
l∈Z
h˜ m [l − 4k] s[l] = s, ϕ˜1m [· − 4k] , m = 0, 1, 2, 3.
(15.68)
15.5 Bases for the Space of Discrete-Time Signals
385
Combining Eqs. (15.67) and (15.68), we come to the biorthogonal expansion of a signal s: s[k] =
3
h [k − 4l] y [l] = m
m
m=0 l∈Z
3
ϕ1m [k − 4l] s, ϕ˜1m [· − 4l] . (15.69)
m=0 l∈Z
15.5.2.4 Example: Wavelets Originating from the Haar Pre-Post-processing Scheme ( j = 0) Analysis wavelets ˜ · The analysis polyphase matrices of the first decomposition level are P˜ 1 (z) = P(z) j j ˜ 0 (z), where the matrix P(z) 0 (z), j = 0, 1, 2 are PP is given in Eq. (15.26) and PP the block-wise matrices defined in Eq. (15.58). In this case, Eq. (15.39) implies that j
⎛
1/2 ⎜ −2 0 0 (z) = ⎜ PP ⎝ 0 0
1/2 2 0 0
0 0 1/2 −2
⎞ 0 0 ⎟ ⎟. 1/2 ⎠ 2
Consequently, the fist-level analysis polyphase matrix is ⎛
⎞ 3z −1 − 5 z + 18 3 z − 5z −1 + 18 24 − 8z −1 24z −1 − 8 −1 −1 −1 −1 ⎟ 1 ⎜ ⎜ −11 z − 5z − 96 96 + 11z + 5 z 4z 28 −28z − 4 ⎟ P˜ 10 (z −1 ) = ⎝ ⎠ 16 − 48 z 16 z − 48 32 32 64 −56 z − 8 8 z + 56 −128 128 and the transfer functions of the analysis filters are 3 z 5 − 5 z 4 − 8 z 3 + 24 z 2 + 18 z + 18 + 24 z −1 − 8 z −2 − 5 z −3 + 3 z −4 h˜ 0 (z −1 ) = 64 2 (1 + z)(1 + z ) 3 z 2 − 8 z − 3 + 32 z −1 − 3, z −2 − 8 z −3 + 3 z −4 , = 64 5 − 11 z 4 − 4 z 3 + 28 z 2 + 96 z − 96 − 28 z −1 + 4 z −2 + 11 z −3 − 5 z −4 5 z 1 −1 h˜ (z ) = 64 z−1 −1 −2 18 z + 18z − 10z − 10 z 2 − 6z −3 − 6 z 3 + 5z −4 + 5 z 4 + 114 = 64 (z − 1)4 (z + 1) 1 2 −1 z5 − 3 z4 + 2 z3 + 2 z2 − 3 z + 1 = , h˜ (z ) = 4 4 (z − 1)3 (z 2 − 4z + 1) 1 5 z − 7 z 4 + 16 z 3 − 16 z 2 + 7 z − 1 = . h˜ 3 (z −1 ) = 8 8
386
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Table 15.4 Impulse responses of the first-level analysis filters related to the Haar pre-processing scheme k −4 −3 −2 −1 0 1 2 3 4 5 h˜ 0 ×64 3 −5 −8 24 18 18 24 −8 −5 3 h˜ 1 ×64 −5 11 4 −28 −96 96 28 −4 −11 5 h˜ 2 × 4 – – – – 1 −3 2 2 −3 1 ˜h3 × 8 – – – – −1 7 −16 16 −7 1
Proposition 15.11 The filter h˜ 0 restores constants, while the filter h˜ 1 eliminates them (the wavelet ϕ˜11 has one DVM). The filters h˜ 2 and h˜ 3 eliminate sampled cubic and quadratic polynomials, respectively (the wavelets ϕ˜12 and ϕ˜13 have four and three DVM, respectively). Proof Follows from Proposition 11.55 and Corollary 11.3. Table 15.4 contains the impulse responses of the analysis filters. The impulse and magnitude responses of the analysis filters h j , j = 0, 1, 2, 3, are displayed in Fig. 15.1, which is produced by the MATLAB code disp_mw1.m.
Synthesis wavelets j
The synthesis polyphase matrices of the first decomposition level are P1 (z) = j (P˜ 1 (z −1 ))−1 . Thus, we have
Fig. 15.1 Impulse and magnitude responses of the first-level analysis filters related to the Haar pre-processing scheme. Top to bottom h˜ 0 h˜ 1 h˜ 2 h˜ 3
15.5 Bases for the Space of Discrete-Time Signals
⎛
128 −32 ⎜ 128 1 32 0 ⎜ P˜ 1 (z) = 128 ⎝ 40 z + 88 40 − 24 z 88 z + 40 24 − 40 z
387
⎞ −20 − 44 z −1 12 − 20 z −1 −44 − 20 z −1 20 − 12 z −1 ⎟ ⎟ 72 − 7 z −1 − z 2 z − 6 z −1 − 24 ⎠ 72 − z −1 − 7 z 6 z − 2 z −1 + 24
and the transfer functions of the synthesis filters are h 0 (z) = = h 1 (z) = = h 2 (z) = = h 3 (z) = =
1 −3 5z + 11z −2 + 16z −1 + 16 + 11z + 5z 2 16 (1 + z)(1 + z 2 ) −1 5z + 6z −2 + 5z −3 16 1 −3z 2 − 5z − 4 + 4z −1 + 5z −2 + 3z −3 16 1−z 3z + 8 + 12z −1 + 8z −2 + 3z −3 , 16 −z −7 − 7z −6 − 20 z −5 − 44z −4 + 72z −3 + 72z −2 − 44z −1 − 20 − 7z − z 2 128 (1 − z)2 (1 + z) −1 z + 8z −2 + 29z −3 + 80z −4 + 29z −5 + 8z −6 + z −7 , − 128 −z −7 − 3z −6 − 6 z −5 − 10z −4 + 12z −3 − 12z −2 + 10z −1 + 6 + 3z + z 2 64 (z − 1) z + 4 + 10z −1 + 20z −2 + 8z −3 + 20z −4 + 10z −5 + 4z −6 + z −7 . 64
Proposition 15.12 The filter h0 restores constants, while the filters h1 and h3 eliminate them (the wavelets ϕ11 and ϕ13 have one DVM). The filters h2 eliminates sampled linear polynomials (the wavelet ϕ12 has two DVM). Table 15.5 contains the impulse responses of the analysis filters. The impulse and magnitude responses of the synthesis filters h j , j = 0, 1, 2, 3, are displayed in Fig. 15.2, which is produced by the MATLAB code disp_mw1.m. Remark 15.5.1 In cases when the fifth-order pre-post-processing schemes are used, the filters can be designed in a similar way.
Table 15.5 Impulse responses of the first-level analysis filters related to the Haar pre-processing scheme k −2 −1 0 1 2 3 4 5 6 7 h0 ×16 h1 ×16 h2 × 128 h3 ×64
5 –3 −1
11 –5 −7
16 −4 −20
16 4 −44
11 5 72
5 3 72
– − −44
– – −20
– – −7
– – −1
1
3
6
10
−12
12
−10
−6
−3
−1
388
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Fig. 15.2 Impulse and magnitude responses of the first-level synthesis filters related to the Haar post-processing scheme. Top to bottom h0 h1 h2 h3
˜ 1 and H1 be the analysis and synthesis multifilters defined by their transfer Let H functions in Eqs. (15.30) and (15.30), respectively. Proposition 15.13 Assume that the vector-signal x = (x 0 [k], x 1 [k])T is a result of application of the Haar preprocessing algorithm to a sampled quadratic polynomial. ˜ 0 and H0 restore ˜ 1 and H1 annihilate x, while the multifilters H Then, the multifilters H it (up to a constant). When the fifth order preprocessing algorithms are used, a similar claim is true for sampled cubic polynomials. Proof Follows directly from Corollary 15.1 and Propositions 15.4, 15.7, 15.8 and 15.9.
15.6 Extension of the Multiwavelet Transforms to Coarser Levels As a result from the first-level multiwavelet transform which consists of a preprocessing procedure and the lifting steps described in Sect. 15.2, we have two vector-signals y0 and y1 . These vector-signals correspond to the low- and highfrequency arrays of coefficients of a conventional wavelet transforms, respectively. Then, similarly to a conventional wavelet transforms, we apply the multiwavelet transform to the “low-frequency” vector array y0 . It is done by the same lifting steps as in Sect. 15.2), which, however, should be preceded by some rescaling.
15.6 Extension of the Multiwavelet Transforms to Coarser Levels
389
Rescaling While the input vector-signal x ≈ (Φ(kh), h Φ (kh))T is related to the grid kh, the vector-signals yi , i = 0, 1, are related to the coarse grid 2kh. Therefore, in order to go into coarser scales by using the y0 array instead of x, while retaining approximation properties of the transform, we have to double the second component of the vector y0 . Namely, the z-transform of the rescaled y0 is ˜ · y0 (z), R ˜ def y¯ 0 (z) = R =
10 . 02
(15.70)
Practically, we add one more step into the lifting procedure applied to the “lowfrequency” vector arrays from the first and subsequent levels: Decomposition Rescaling Split Predict Lifting
Reconstruction Undo Lifting Undo Predict Undo Split Undo Rescaling
The lifting decomposition procedure is equivalent to the application of the analy ˜ 1 , whose polyphase matrix is given in Eq. (15.26), to the ˜ 0, H sis filter bank H 0 0 , y 1 . The rescaled vector-signal y¯ , which produces the pair of vector-signals y[2] [2] application of the synthesis filter bank H0 ,H1 , whose polyphase matrix is given 0 1 in Eq. (15.26), to the pair of vector-signals y[2] , y[2] restores the rescaled vector0
signal y¯ . Such a two-level processing results in the following expansion of the initial signal s over the biorthogonal basis:
s[k] =
3 m=1 l∈Z
ϕ1m [k
− 4l]
s, ϕ˜1m [· − 4l]
+
3 m=0 l∈Z
ϕ2m [k − 8l] s, ϕ˜2m [· − 8l] ,
(15.71) where ϕ˜2m and ϕ2m , m = 0, 1, 2, 3, are wavelets of the second discrete level, which are the impulse responses of the corresponding filters. Extension to lower levels is implemented in the same way. The diagram in Fig. 15.3 illustrate a 3-level multiwavelet transform of a signal s. The multilevel direct multiwavelet transform of either a 1D signal or rows of a 2D array (including pre-processing) is implemented by the MATLAB function MW_dec_N.m. The inverse transform (including post-processing) is implemented by the MATLAB function MW_rec_N.m. The 3-level 1D transform of rows of the matrix, which represents the “Lena” image, is illustrated in Fig. 15.4 produced by the MATLAB code mult_lena.m.
390
15 Biorthogonal Multiwavelets Originated from Hermite Splines
Fig. 15.3 3-level direct (top) and inverse (bottom) multiwavelet transform of a signal s. f˜0i and ˜ i and Hi , i − 0, 1, f0i , i = 0, 1, are the pre-processing and post-processing filters, respectively. H are the analysis and synthesis multifilters, respectively
Fig. 15.4 1D multiwavelet transform of rows of the “Lena” image. “Level 0” means result from pre-processing
15.7 Two-Dimensional Multiwavelet Transforms
391
15.7 Two-Dimensional Multiwavelet Transforms Two-dimensional multiwavelet transforms of data matrices are implemented generally in the same way as two-dimensional multiwavelet transforms with the difference that the transforms should start with a 2D pre-processing. The 2D pre-processing consists of the application of a 1D pre-processing to rows of the matrix, followed by a 1D pre-processing of columns of the resulting matrix. As a result, the initial data matrix is transformed into a matrix of quadruples. The 1D multiwavelet transform is applied to the rows of the latter matrix, followed by a 1D transform of the columns of the resulting matrix. Then, the multiwavelet transform is expanded to coarser levels by using the “low-low”-frequency quarter of the coefficients’ matrix and the procedure is iterated to lower-resolution levels. The multilevel direct 2D multiwavelet transform of a data matrix (including 2D pre-processing) is implemented by the MATLAB function MW_dec2_N.m. The inverse transform (including 2D post-processing) is implemented by the MATLAB function MW_rec2_N.m. The 3-level 2D transform of the matrix, which represents the “Lena” image, is illustrated in Fig. 15.5, which also is produced by the MATLAB code mult_lena.m..
Fig. 15.5 2D multiwavelet transform of the “Lena” image. “Level 0” means result from preprocessing
392
15 Biorthogonal Multiwavelets Originated from Hermite Splines
References 1. B. Alpert, A class of bases in L 2 for the sparse representation of integral operators. SIAM J. Math. Anal. 24(1), 246–262 (1993) 2. A. Averbuch, V. Zheludev, Lifting scheme for biorthogonal multiwavelets originated from Hermite splines. IEEE Trans. Signal Process. 50(3), 487–500 (2002) 3. E. Catmull, R. Rom, A class of local interpolating splines, in Computer Aided Geometric Design, ed. by R.E. Barnhill, R.F. Riesenfeld (Academic Press, New York, 1974), pp. 317–326 4. W. Dahmen, B. Han, R.-Q. Jia, A. Kunoth, Biorthogonal multiwavelets on the interval: cubic Hermite splines. Constr. Approx. 16(2), 221–259 (2000) 5. J.S. Geronimo, D.P. Hardin, P.R. Massopust, Fractal functions and wavelet expansions based on several scaling functions. J. Approx. Theory 78(3), 373–401 (1994) 6. T.N.T. Goodman, S.L. Lee, Wavelets of multiplicity r . Trans. Am. Math. Soc. 342(1), 307–324 (1994) 7. B. Han, Q. Jiang, Multiwavelets on the interval. Appl. Comput. Harmon. Anal. 12(1), 100–127 (2002) 8. L. Hervé, Multi-resolution analysis of multiplicity d: applications to dyadic interpolation. Appl. Comput. Harmon. Anal. 1(4), 299–315 (1994) 9. G. Strang, V. Strela, Finite element multiwavelets, in Approximation Theory, Wavelets and Applications, ed. by S.P. Singh (Kluwer, Dordrecht, 1995), pp. 485–496 10. V. Strela, A.T. Walden, Orthogonal and biorthogonal multiwavelets for signal denoising and image compression. In Wavelet Applications V. Proc. SPIE, vol. 3391 (1998) 11. H. Sun, Z. He, Y. Zi, J. Yuan, X. Wang, J. Chen, S. He, Multiwavelet transform and its applications in mechanical fault diagnosis—a review. Mech. Syst. Signal Process. 43 (2014) 12. Yu.S. Zav’yalov, B.I. Kvasov, V.L. Miroshnichenko, Methods of Spline-Functions (Nauka, Moscow, 1980). (in Russian)
Chapter 16
Multiwavelet Frames Originated From Hermite Splines
Abstract The chapter presents a method for the construction of multiwavelet frame transform for manipulation of discrete-time signals. The frames are generated by three-channel perfect reconstruction oversampled multifilter banks. The design of the multifilter bank starts from a pair of interpolating multifilters, which originate from the cubic Hermite splines. The remaining multifilters are designed by factoring polyphase matrices. Input to the oversampled analysis multifilter bank is a vectorsignal, which is derived from an initial scalar signal by one out of three pre-processing algorithms. The post-processing algorithms convert the vector output from the synthesis multifilter banks into a scalar signal. The discrete-time framelets, generated by the designed filter banks, are (anti)symmetric and have short support. Section 14.2 described schemes for the design of wavelet frames in signals’ space, which are generated by three-channel perfect reconstruction filter banks. In this chapter, we present a somewhat similar design scheme utilizing three-channel oversampled multifilter banks. This scheme results in a multi-frame in signals’ space, which is constituted by translations of a number of compactly supported signals called the discrete-time framelets. The frame transforms provide redundant representation of signals. Although the redundancy rate is the same as that for the wavelet frames generated by the conventional three-channel filter banks, the number of “testing” framelets is twice more. To be specific, there are six wavelets at each decomposition level. To convert a scalar signal to be processed into a vector-signal, which is an input to the analysis multifilter bank, and to convert the output vector-signal back to the scalar signal, the (pre-)post-processing algorithms described in Sect. 15.4 are used. In addition, we utilize the Hermite spline prediction multifilters given in Sect. 15.1.2.3. Most multi-frame constructions reported in the literature are based on the multiresolution analysis in the space L 2 and provide continuous-time frames in L 2 ([3–5], for example). On the contrary, our design, which is based on oversampled multifilter banks ([2]), provides discrete-time frames in the signal space l2 . This chapter is mainly based on [1].
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2_16
393
394
16 Multiwavelet Frames Originated From Hermite Splines
16.1 Oversampled Multifilter Banks Multifilters and two-channel multifilter banks were introduced in Sect. 15.1.2. In this chapter we deal with three-channel PR multifilter banks with downsampling factor 2 (oversampled multifilter banks).
16.1.1 Three-Channel Multifilter Banks As before, we assume that z = eiω and all the multifilters’ components {H [l]} are real-valued. ˜ consists of the multifilters H ˜ m , and the synthesis The analysis multifilter bank H multifilter bank H consists of the multifilters Hm , m = 0, 1, 2. We assume that the ˜ H constitutes the PR multifilter bank, The output signals from application pair H, of the analysis multifilter bank to a vector-signal x, are denoted by ym , m = 0, 1, 2. These signals are used as the input to the synthesis multifilter bank. Then, the analysis and synthesis relations are similar to those in Eqs. (15.7) and (15.8): ym [l] =
H˜ m [n − 2l] x[n]
(16.1)
n∈Z
˜ m (−z −1 ) ˜ m (z −1 ) x (z) + H x (−z) H , m = 0, 1, 2, 2 2 2 x[l] = H m [l − 2n] ym [n] ⇔ x(z) = Hm (z)y m (z 2 ). (16.2) ⇔ ym (z 2 ) =
m=0 n∈Z
m=0
Polyphase representation The z-transforms of a vector-signal x and a multifilter H can be represented in the following polyphase mode x(z) = x0 (z 2 ) + z −1 x1 (z 2 ), H(z) = H0 (z 2 ) + z −1 H1 (z 2 ), where
def p def = H(2k + p], x p [k] = x[2k + p], H
p = 0, 1,
are the even (when p = 0) and the odd polyphase components (when p = 1) of the respectively. vector-signal x and the multifilter H, Similarly to Eqs. (15.7) and (15.8), the analysis and synthesis transforms in Eqs. (16.1) and (16.2), respectively, can be rewritten as
16.1 Oversampled Multifilter Banks
395
⎛ 0 ⎞ ⎞
y (z) y0 (z) x (z) (z) x 0 0 ˜ −1 ) · ⎝ y1 (z) ⎠ = P(z , = P(z) · ⎝ y1 (z) ⎠ , x1 (z) x1 (z) y2 (z) y2 (z) where (16.3) ⎛ 0 ⎞ 0 ˜ (z) ˜ (z) H
0 H 1 H0 (z) H01 (z) H02 (z) def ⎝ 01 def 1 ˜ ⎠ ˜ ˜ P(z) = = , P(z) H0 (z) H1 (z) H10 (z) H11 (z) H12 (z) ˜ 2 (z) H ˜ 2 (z) H ⎛
0
1
˜ are the analysis P(z) and synthesis P(z) block-wise polyphase matrices. The PR property is expressed via the polyphase matrices as ˜ −1 ) = P(z) · P(z
I2 0 , 0 I2
(16.4)
where I2 is the 2 × 2 identity matrix. Thus, the synthesis polyphase matrix has to be a left inverse to the analysis matrix. Obviously, if such a matrix exists, it is not unique. ˜ A necessary condition for (16.4) to hold is that the analysis matrix P(z) has a full rank of 4 on the unit circle |z| = 1. However, if this condition is satisfied then there ˜ exists at least one solution to (16.4), namely, the parapseudoinverse of P: −1 def ˜ P(z) = P˜ + (z) = P˜ ∗ (z) · P(z) · P˜ ∗ (z). def
Here we use the common notation H ∗ (z) = H (z −1 )T .
16.1.2 Bases of Zero Level A scalar
input signal s = {s[k]} is transformed into the vector-signal x = (x 0 [k], x 1 [k])T by one of the pre-processing algorithms presented in Sect. 15.4: The inverse operation is implemented by the respective post-processing algorithm:
x 0 (z) x 1 (z)
= P˜ 0 (z −1 ) · j
0
s0 (z) x (z) s0 (z) j , j = 0, 1, 2, , = P0 (z) · s1 (z) s1 (z) x 1 (z)
where s0 (z), s1 (z) are the z-transforms of the polyphase components of the signal s. The pre-post-processing polyphase matrices1 for the Haar scheme are denoted by P˜ 00 (z) and P00 (z), respectively, and for Scheme I by P˜ 01 (z) and P01 (z), and for Scheme II by P˜ 02 (z) and P02 (z). 1 See
Sect. 15.4.
396
16 Multiwavelet Frames Originated From Hermite Splines
In Sect. 15.4, we introduced three pairs of the zero-level multiwavelets of ϕ0 = (ϕ00 , ϕ01 )T and ϕ˜0 = (ϕ˜ 00 , ϕ˜01 )T , which are related to the three pre-post-processing schemes. Their translations form three biorthogonal bases for the space of scalar discrete-time signals. It is established in Proposition 15.10 that any signal s : s[k] = Ψ (kh/2), k ∈ Z, can be represented as follows: s[k] =
x 0 [l]ϕ00 [k − 2l] +
l
x 1 [l]ϕ01 [k − 2l],
(16.5)
l
x 0 [l] = s, ϕ˜00 [· − 2l], x 1 [l] = s, ϕ˜01 [· − 2l].
(16.6)
Thus, the sets of signals {ϕ00 [· − 2l], ϕ01 [· − 2l]}, {ϕ˜ 00 [· − 2k], ϕ˜01 [· − 2k]} form a biorthogonal pair of bases for the signal space.
16.1.3 Analysis Filter Banks of the First Level def
As in Eq. (2.10), denote by s p,M = {s[ p + k M]} , M, k ∈ Z, p = 0, ..., M − 1, the polyphase components of a signal s. When M = 2, we retain the notation s p , p = 0.1, for the even and odd polyphase components, respectively. Recall that x p (z) = (x 0p (z), x 1p (z))T , p = 0, 1. The components of the vectors ym (z) are denoted by y m,i (z), m = 0, 1, 2, i = 0, 1. Thus, ym (z) = (y m,0 (z), y m,1 (z))T , m = 0, 1, 2. Due to Eqs. (16.3) and (15.57), we have ⎞
y0 (z) ˜ −1 ) · x0 (z) . ⎝ y1 (z) ⎠ = P(z (16.7) x1 (z) y2 (z)
0
0
x1 (z) x0 (z) s4,0 (z) s4,2 (z) j −1 j −1 ˜ ˜ , , = P = P (z ) · (z ) · 0 0 s4,1 (z) s4,3 (z) x01 (z) x11 (z) ⎛
where j = 0, 1, or 2, depending on the pre-processing scheme. The output from one-level multi-frame transform of a signal s is represented by ⎞ y 0,0 (z) ⎞ ⎛ ⎛ 0 ⎞ ⎜ y 0,1 (z) ⎟ s0,4 (z) ⎜ 1,0 ⎟ y (z) ⎟ ⎜ ⎟ ⎜ ⎝ y1 (z) ⎠ = ⎜ y 1,1 (z) ⎟ = P˜ j (z −1 ) · ⎜ s1,4 (z) ⎟ , 1 ⎜ y (z) ⎟ ⎝ s2,4 (z) ⎠ ⎟ ⎜ y2 (z) ⎝ y 2,0 (z) ⎠ s3,4 (z) y 2,1 (z) ⎛
(16.8)
16.1 Oversampled Multifilter Banks
397
˜ −1 )· PP 0 (z −1 ). where the matrices of the first decomposition level are P˜ 1 (z −1 ) = P(z j 0 (z) are defined in Eq. (15.58), j = 0, 1, 2. The 6 × 4 The block-wise matrices PP j −1 ˜ matrices P1 (z ) are the polyphase matrices of the six-channel analysis filter bank ˜h = h˜ i , i = 0, ..., 5, with downsampling factor 4. This means that j
⎛ ˜0 h 0,4 (z) ⎜ h˜ 1 (z) ⎜ 0,4 ⎜ h˜ 2 (z) ⎜ j P˜ 1 (z) = ⎜ ˜ 0,4 ⎜ h 30,4 (z) ⎜ 4 ⎝ h˜ 0,4 (z) h˜ 50,4 (z)
h˜ 01,4 (z) h˜ 11,4 (z) h˜ 21,4 (z) h˜ 31,4 (z) h˜ 41,4 (z) h˜ 51,4 (z)
h˜ 02,4 (z) h˜ 12,4 (z) h˜ 22,4 (z) h˜ 32,4 (z) h˜ 42,4 (z) h˜ 52,4 (z)
⎞ h˜ 03,4 (z) h˜ 13,4 (z) ⎟ ⎟ h˜ 23,4 (z) ⎟ ⎟ ⎟. h˜ 33,4 (z) ⎟ ⎟ h˜ 43,4 (z) ⎠ h˜ 5 (z)
j
(16.9)
3,4
Certainly, the filter bank h˜ depends on the selected pre-processing scheme ( j = 0, 1 or 2). The transfer functions of the filters are expressed via the z-transforms of their polyphase components as in Eq. (15.61).
16.1.4 Synthesis Filter Banks of the First Level The vector-signal x is restored from the vector-signals ym , m = 0, 1, 2, as in Eq. (16.3): ⎛
⎞ y0 (z) = P(z) · ⎝ y1 (z) ⎠ ⇐⇒ y2 (z) ⎛ 0,0 ⎞ y (z) ⎛ 0 ⎞ ⎜ y 0,1 (z) ⎟ x0 (z) ⎜ 1,0 ⎟ ⎜ ⎟ ⎜ x 1 (z) ⎟ ⎜ 0 ⎟ = P(z) · ⎜ y (z) ⎟, ⎜ y 1,1 (z) ⎟ ⎝ x 0 (z) ⎠ 1 ⎜ ⎟ ⎝ y 2,0 (z) ⎠ x11 (z) y 2,1 (z)
x0 (z) x1 (z)
(16.10)
where x0 and x1 are the polyphase components of the vector-signal x. In turn,
s0,4 (z) s1,4 (z)
=
j P0 (z) ·
0
s2,4 (z) x00 (z) x1 (z) j = P0 (z) · , , s3,4 (z) x01 (z) x11 (z)
where j = 0, 1, or 2, depending on the post-processing scheme. Then, the polyphase components of the signal s, which is an output from the one-level inverse multi-frame transform, are represented by
398
16 Multiwavelet Frames Originated From Hermite Splines
⎞ y 0,0 (z) ⎛ 0 ⎞ ⎜ y 0,1 (z) ⎟ s0,4 (z) ⎜ 1,0 ⎟ y (z) ⎟ ⎜ ⎜ s1,4 (z) ⎟ ⎜ ⎟ = P j (z) · ⎝ y1 (z) ⎠ = ⎜ y (z) ⎟, 1 ⎜ y 1,1 (z) ⎟ ⎝ s2,4 (z) ⎠ ⎟ ⎜ y2 (z) ⎝ y 2,0 (z) ⎠ s3,4 (z) y 2,1 (z) ⎛
⎛
⎞
j
(16.11)
j
where the matrices of the first decomposition level are P1 (z) = PP0 (z) · P(z). j The block-wise matrices PP0 (z) are defined in Eq. (15.63), j = 0, 1, 2. The 4 × 6 j matrices
i P1 (z) are the polyphase matrices of the six-channel synthesis filter bank h = h , i = 0, ..., 5, with upsampling factor of 4. This means that ⎛
h 00,4 (z) ⎜ h 01,4 (z) j P1 (z) = ⎜ ⎝ h 0 (z) 2,4 h 03,4 (z)
h 10,4 (z) h 11,4 (z) h 12,4 (z) h 13,4 (z)
h 20,4 (z) h 21,4 (z) h 22,4 (z) h 23,4 (z)
h 30,4 (z) h 31,4 (z) h 32,4 (z) h 33,4 (z)
h 40,4 (z) h 41,4 (z) h 42,4 (z) h 43,4 (z)
⎞ h 50,4 (z) h 51,4 (z) ⎟ ⎟. h 52,4 (z) ⎠ h 53,4 (z)
(16.12)
The filter bank h depends on the selected post-processing scheme ( j = 0, 1 or 2). The transfer functions of the filters are expressed via the z-transforms of their polyphase components as in Eq. (15.66).
16.2 Multiwavelet Frames Frames in the signals’ space are defined in Definition 2.1, while Theorems 2.1 and 2.2, which are established in [2], describe the relation of the signal-space frames to PR filter banks.
16.2.1 Signal’s Expansion Over the First-Level Multi-frame We describe the structure of the signal’s frame expansion originated from threechannel PR multifilter banks with down(up)sampling factor 2, combined with the (pre-)post-processing two-channel results in banks. Note that this combination filter i i ˜ ˜ six-channel PR filter banks h = h , i = 0, ..., 5 and h = h , i = 0, ..., 5 with down(up)sampling factor 4. The impulse responses ϕ˜1m [k] = h˜ m [k], k ∈ Z of the analysis filters h˜ m are referred to as discrete-time analysis framelets of the first decomposition level, while the impulse responses ϕ1m [k] = h i [k], k ∈ Z, m = 0, ..., 5 of the synthesis filters hm are referred to as discrete-time synthesis framelets of the first decomposition level.
16.2 Multiwavelet Frames
399
For brevity, denote def
def
def
def
def
def
y 0 [k[ = y 0,0 [k], y 1 [k[ = y 0,1 [k], y 2 [k[ = y 1,0 [k], y 3 [k[ = y 1,1 [k], y 4 [k[ = y 2,0 [k], y 5 [k[ = y 2,1 [k]. Equations (16.11) and (16.12) mean that the polyphase components of the z-transform of the signal s are represented as: s p,4 (z) =
5
5
h mp,4 (z) y m (z) ⇐⇒ s p,4 [ p + 4k] =
h m [ p + 4(k − l)] y m [l].
m=0 l∈Z
m=0
Hence, it follows that the entire signal s can be expanded via 4-samples shifts of four synthesis wavelets of the first decomposition level such that s[k] =
5
h m [k − 4l] y m [l] =
m=0 l∈Z
5
ϕ1m [k − 4l] y m [l].
(16.13)
m=0 l∈Z
On the other hand, Eqs. (16.8) and (16.9) imply that y m (z) =
3
h˜ mp,4 (z −1 ) s p,4 (z), m = 0, ..., 5.
p=0 m Due to Eq. (2.17), the signal y [k] is the zero polyphase component of the convolution η[k] = l∈Z h˜ m [l − k] s[l]. Thus,
y m [k] =
h˜ m [l − 4k] s[l] = s, ϕ˜1m [· − 4k] , m = 0, ..., 5.
(16.14)
l∈Z
Combining Eqs. (16.13) and (16.14), we come to the frame expansion of a signal s: s[k] =
5 m=0 l∈Z
h m [k − 4l] y m [l] =
5
ϕ1m [k − 4l] s, ϕ˜1m [· − 4l] . (16.15)
m=0 l∈Z
16.2.2 Extension of the Multi-frame Transforms to Coarser Levels As a result of the first-level multi-frame transform (which is a combination of a pre-processing procedure and the transform of the vector-signal using multifilters, as
400
16 Multiwavelet Frames Originated From Hermite Splines
described in Sect. 16.1.1, we have three vector-signals ym , m = 0, 1, 2 (six scalar signals y m , m = 0, ..., 5). Then, similarly to a conventional frame transforms, the multiwavelet transform is applied to the vector-signal y0 . It uses the same analysis ˜ as in Sect. 16.1.1. The polyphase matrix of the multifilter bank H ˜ multifilter bank H m , m = 0, 1, 2, of vector-signals of is given in Eq. (16.3). As a result, the triple y[2] the second decomposition level is produced. The application of the synthesis filter bank H, whose polyphase matrix is given m , m = 0, 1, 2, restores the vector-signal y 0 . Such a in Eq. (16.3), to the triple y[2] two-level processing provides the following multi-frame expansion of the signal s: s[k] =
5 m=1 l∈Z
ϕ1m [k
5 m − 4l] s, ϕ˜1 [· − 4l] + ϕ2m [k − 8l] s, ϕ˜2m [· − 4l] , m=0 l∈Z
(16.16) where ϕ˜2m and ϕ2m , m = 0, ..., 5, are framelets of the second discrete level, which are the impulse responses of the corresponding filters. Extension to lower levels are implemented in the same way. The diagrams in Fig. 16.1 illustrate a 3-level multiframe transform of a signal s.
Fig. 16.1 3-level direct (top) and inverse (bottom) multi-frame transform of a signal s. f˜0i and ˜ m and Hm , m = f0i , i = 0, 1, are the pre-processing and post-processing filters, respectively. H 0, 1, 2, are the analysis and synthesis multifilters, respectively
16.3 Design of Multifilter Banks Generating Frames
401
16.3 Design of Multifilter Banks Generating Frames In this section, we design PR multifilter banks that generate frames in signals’ space. The design scheme is very similar to the design scheme of the three-channel filter banks, which is presented in Sect. 14.2. The design uses the prediction multifilters derived from the Hermite splines in Sect. 15.1.2.3: A(z) =
1 4
1 2(1 + z) 2(1 + z) 1−z z−1 ˜ , A(z) = = z A(z −1 ). −3(1 − z) −(1 + z) 4 3(1 − z) −(1 + z) (16.17)
16.3.1 Design Scheme We begin with “low-pass” multifilters and construct the remaining multifilters using matrix factorization. As a starting multifilter, we use the synthesis multifilter, which results from the lifting multiwavelet transform in Eq. (15.27). We define the analysis and the synthesis multifilters to be equal to each other. Their transfer functions are: ˜ 2 ) , H0 (z) = √1 I2 + z −1 A(z 2 ) . ˜ 0 (z) = √1 I2 + z −1 A(z H 2 2
(16.18)
The polyphase matrices are P(z) =
⎛ √ √
I2 / 2 1 2 2 H0 (z) H0 (z) I2 / √ ˜ ⎝H ˜ 1 (z) , P(z) = 0 A(z)/ 2 H11 (z) H12 (z) ˜ 2 (z) H 0
√ ⎞ ˜ A(z)/ 2 ˜ 1 (z) ⎠ . H 1 ˜ 2 (z) H 1
From the PR property Eq. (16.4), we have P1 (z)P˜ 1 (z −1 ) =
1 Q(z), 2
(16.19)
where
1 ˜ (z) H01 (z) H02 (z) H def 0 ˜ , P (z) = 1 1 2 ˜ H1 (z) H1 (z) H02 (z)
˜ −1 ) −A(z I2 def Q(z) = ˜ −1 ) . −A(z) 2I2 − A(z) A(z def
P1 (z) =
˜ 1 (z) H 1 ˜ 2 (z) , H 1
Thus, construction of a perfect reconstruction multifilter bank with given multifilters ˜ 0 is reduced to the factorization as in Eq. (16.19) of the matrix Q(z). H0 = H
402
16 Multiwavelet Frames Originated From Hermite Splines
We consider the block-triangle factorization such that 1 P1 (z) = √ 2
˜ 1 0 I2 I2 −A(z) ˜ , , P1 (z) = √ ˜ −A(z) V(z) 2 0 V(z)
˜ where V(z) and V(z) are a pair of matrix functions that satisfy ˜ −1 ) = I2 −z −1 A(z) A(z). (16.20) ˜ −1 ) = 2W(z), W(z) def = I2 −A(z) A(z V(z)V(z
Remark 16.3.1 Note that the matrix-function W(z) is the same as the matrixfunction defined in Eq. (15.28). The polyphase matrices of the multifilters are: 1 P(z) = √ 2
⎛
I2 0 I2 I2 ˜ −1 ) = √1 ⎝ 0 , P(z A(z) V(z) −A(z) 2 I 2
⎞ ˜ −1 ) A(z ˜ −1 ) ⎠ . V(z ˜ −1 ) −A(z
16.3.2 Transfer Functions of the Multifilter Banks The transfer functions of the multifilters are:
1 z − z −1 2(z + 2 + z −1 ) ˜ 0 (z) = √1 (I2 + z −1 A(z ˜ 2 )) = √ = H0 (z −1 ), H 3(z −1 − z) 4 − (z −1 + z) 2 4 2 −1 −1 ˜ 1 (z) = z√ V(z ˜ 2 ), H1 (z) = z√ V(z 2 ), H 2 2
1 z 2 2(−z + 2 − z −1 ) z −1 − z ˜ (z) = √ (I2 − z −1 A(z ˜ 2 )) = √ = H2 (z −1 ), H −1 −1 4+z +z 3(z − z ) 2 4 2
where the matrix-functions are to be derived by factoring the matrix-function W(z) to be
z − z −1 z − z −1 ˜ −1 ) = 2W(z) = 1 2 − −1 . (16.21) V(z)V(z 8 3(z − z) 2(4 + z −1 + z) Approximation properties of the multifilter A were discussed in Sect. 15.3.2. In particular, it was established that the multifilter A possesses the fourth-order approxi˜ 0 and H0 restore cubic polynomials, mation property. Consequently, the multifilters H 2 2 ˜ and H eliminate them. while the multifilters H ˜ 2 (H2 ) suggest their use as the ˜ 0 (H0 ) and H These properties of the multifilters H “low-pass” and the “high-pass” multifilters, respectively, provided the input vector-
16.3 Design of Multifilter Banks Generating Frames
403
signal x[k] is derived from the original scalar signal by one of the pre-processing procedures described in Sect. 15.4. By the reasons given in Sect. 15.6, when the above multifilter bank is utilized to perform a multiscale frame transform, rescaling of “low-pass” multifilters is needed. ˜ 0 and H0 with the matrices It is implemented by multiplication of the multifilters H def
R =
10 1 0 −1 , and R = , 02 0 1/2
respectively. To complete the formation of the PR multifilter bank, a factorization of the matrix function W(z) is needed. We propose two schemes for the factorization. Let √ √
2 v11 (z) v12 (z) 2 v˜ 11 (z) v˜ 12 (z) def ˜ , V(z) = . V(z) = v21 (z) v22 (z) v˜ 21 (z) v˜ 22 (z) 4 4 def
Triangle factorization:
Assume that v12 (z) = v˜ 21 (z) ≡ 0. Then we get
v11 (z)˜v11 (z −1 ) = −z + 2 − z −1 , v11 (z)˜v12 (z −1 ) = z − z −1 , v21 (z)˜v11 (z −1 ) = −3z + 3/z, v22 (z)˜v22 (z −1 ) + v21 (z)˜v12 (z −1 ) = 8 + 2z + 2/z.
The factorization that produces multifilters with the shortest possible impulse responses: 1 V(z) = 4
1 z−1 z+1 z−1 0 ˜ , V(z) = . 3(z + 1) z − 1 0 z−1 2
(16.22)
Each impulse response comprises two terms only. ˜ and V have transfer functions Proposition 16.1 Assume that the multifilters V √ ˜ 2 )/ 2, ˜ 1 (z) = z −1 V(z ˜ 1 such that H defined in Eq. (16.22). Then the multifilter H eliminates first-degree sampled polynomials. ˜ 1 is Proof The transfer function of the multifilter H 1 ˜ 1 (z) = √ H 2 2
z − z −1 z + z −1 0 z − z −1
.
def
Let x[k] = (ak + b, a)T . Then, 1 ˜ 1 x[k] = √ H 2 2
2(ak + b) − a(k − 1) − b) − a(k + 1) − b) + 2a 0+a−a
0 = . 0
404
16 Multiwavelet Frames Originated From Hermite Splines
Trivial factorization with maximal elimination order: We define
1 (2 − z − z −1 ) z −1 − z def def ˜ = W(z −1 ) = . (16.23) V(z) = I2 , V(z) 3(z − z −1 ) 8 + 2z + 2/z 8 ˜ Proposition 16.2 Assume that V(z) and V(z) are constructed according √ to (16.23). ˜ 2 )/ 2, eliminates ˜ 1 , such that H ˜ 1 (z) = z −1 V(z Then the multifilter multifilter H cubic polynomials. The proof is similar to the proof of Proposition 16.1. Two-dimensional multi-frame transforms The scheme of the two-dimensional multi-frame transforms of data matrices is similar to the scheme of the two-dimensional multiwavelet transforms described in Sect. 15.7 with the difference that three pairs of multifilters are involved instead of two pairs of multifilters that participate in the multiwavelet transforms. The multilevel direct 2D multiwavelet transform of a data matrix including 2D preprocessing is implemented by the MATLAB function MW_dec2_N.m. The inverse transform including 2D post-processing is implemented by the MATLAB function MW_rec2_N.m.
16.3.3 Example: Framelets Originating From the Haar Pre-Post-processing Scheme ( j = 0): It was explained in Sect. 16.2.1 that a signal’s processing by a PR three-channel PR multifilter bank with down(up)sampling factor 2, combined with the (pre-)postprocessing two-channel filter banks, the signal by is equivalent to its processing
six-channel PR filter banks h˜ = h˜ i , i = 0, ..., 5 and h = hi , i = 0, ..., 5, with down(up)sampling factor 4. The impulse responses ϕ˜1m [k] = h˜ m [k], k ∈ Z, of the analysis filters h˜ m are the discrete-time analysis framelets of the first decomposition level, and the impulse responses ϕ1m [k] = h i [k], k ∈ Z, m = 0, ..., 5, of the synthesis filters hm are the discrete-time synthesis framelets of the first decomposition level. In this section, we exemplify the first-level framelets under the condition that the Haar pre-post-processing scheme is utilized. Analysis framelets The transfer functions of the analysis filters, which are the z-transform of the corresponding framelets, are
16.3 Design of Multifilter Banks Generating Frames
405
(1 + z −1 ) (z + z −1 ) (z − 4 + z −1 ) h˜ 0 (z) = , √ 4 2 (1 − z −1 ) (z 2 − 6z − 22 − 6z −1 + z −2 ) h˜ 1 (z) = , √ 8 2 (1 − z −1 )3 (3z 2 + 4z + 3) (z −1 − 1)2 (z + 1), (z + z−1 ) h˜ 2 (z) = , h˜ 3 (z) = − , √ √ 4 2 2 (1 − z −1 )4 (z 2 + z) (z −1 − 1)3 (z − 4z + 1) h˜ 4 (z) = , h˜ 5 (z) = . √ √ 4 2 8 2 Proposition 16.3 The filter h˜ 0 restores constants while the filter h˜ 1 eliminates them (the wavelet ϕ˜11 has one DVM). The filters h˜ 2 and h˜ 5 eliminate sampled quadratic polynomials, respectively each of the wavelets ϕ˜12 and ϕ˜15 have three DVM. The filters h˜ 3 and h˜ 4 eliminate first- and third-degree polynomials; thus the wavelets ϕ˜13 and ϕ˜14 have two and four DVM, respectively. Proof Follows from Proposition 11.55 and Corollary 11.3. The impulse and magnitude responses of the analysis filters h j , j = 0, ..., 5 are displayed in Fig. 16.2, which is produced by the MATLAB code disp_MF.m. Synthesis wavelets The transfer functions of the synthesis filters, which are the z-transform of the corresponding framelets, are
Fig. 16.2 Impulse and magnitude responses of the first-level analysis filters related to the Haar pre-processing scheme. Top to bottom: h˜ 0 h˜ 1 h˜ 2 h˜ 3 h˜ 4 h˜ 5
406
16 Multiwavelet Frames Originated From Hermite Splines
h 0 (z) = h 1 (z) = h 2 (z) = h 3 (z) = h 4 (z) = h 5 (z) =
(1 + z −1 ) (z + z −1 ) (5z + 6 + 5z −1 ) , √ 16 2 (z −1 − 1) (3z 2 + 8z + 12 + 8z −1 + 3z −2 ) , √ 16 2 (1 − z −1 ) (z 2 + 8z + 8 + 8z −1 + z −2 ) , √ 16 2 (z −1 − 1)2 (z + 1), (z + z −1 ) − , √ 16 2 (1 − z −1 )2 (5z −1 + 16 + 5z) (1 + z) − , √ 16 2 (1 − z −1 ) (3z 2 + 8z + 4 + 8z −1 + 3z −2 ) . √ 16 2
Proposition 16.4 The filter h0 restores constants while the filters h1 , h2 , and h5 eliminate them (the wavelets ϕ11 , ϕ12 and ϕ15 , have one DVM each). The filters h3 and h4 eliminate sampled first-degree polynomials, respectively the wavelets ϕ13 and ϕ14 have two DVM, each. Proof Follows from Proposition 11.55 and Corollary 11.3. The impulse and magnitude responses of the synthesis filters h j , j = 0, 1, 2, 3, are displayed in Figure 16.3, which is produced by the MATLAB code disp_mw1.m.
Fig. 16.3 Impulse and magnitude responses of the first-level synthesis filters related to the Haar post-processing scheme. Top to bottom: h0 h1 h2 h3 h4 h5
16.3 Design of Multifilter Banks Generating Frames
407
Remark 16.3.2 Note that impulse responses of all the analysis and synthesis filters have very short support (6 taps). In cases when the fifth-order pre-post-processing schemes are used, the filters can be designed in a similar way.
References 1. A. Averbuch, V. Zheludev, T. Cohen, Multiwavelet frames in signal space originated from Hermite splines. IEEE Trans. Signal Process. 55(3), 797–808 (2007) 2. Z. Cvetkovi´c, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245– 1255 (1998) 3. B. Han, Dual multiwavelet frames with high balancing order and compact fast frame transform. Appl. Comput. Harmon. Anal. 26(1), 14–42 (2008) 4. B. Han, Q. Mo, Multiwavelet frames from refinable function vectors. Adv. Comput. Math. 18(2–4), 211–245 (2003) 5. H.O. Kim, R.Y. Kim, J.K. Lim, New look at the constructions of multiwavelet frames. Bull. Korean Math. Soc. 47(3), 563–573 (2010)
Appendix A
Guide to SplineSoftN
The toolbox contains MATLAB codes, which implement the spline-based methods described in the above chapters. It comprises 13 folders: 1. 2. 3. 4. 5. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Spline_Uniform, SubdivisionN, ConvolutionP, RMPursuitP, Block_basP, W_packetsP, Discr_SplineP, Discr_SplineWaveletP, Discr_SplineRMPursuitP, B_waveletsP, FramesP, Bregman_iteration, Utilities, Store.
A.1 Spline_Uniform This folder is associated with Chaps. 3, 4 and 5. bsplN.m This function computes values of the B-splines B p (t) of any order using Eq. (3.15). bspuvN.m The function calculates samples of B-splines of different orders at integer and semi-integer points and saves them in the file BSUV.mat. bsplsN.m The code displays the B-splines and their Fourier spectra. In addition, it compares B-spline of order P = 12 with the Gaussian curve. char_funN.m This function computes values of characteristic functions u p (ω) of any order using Eq. (3.18). © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2
409
410
Appendix A: Guide to SplineSoftN
char_plotN.m The code displays characteristic functions u p (ω) of different orders. spligenN3.m The function computes values of different generators of spline spaces in triadic rational points, using approximation of non-periodic generators by periodic ones (Eq. (4.35), for example) and ternary subdivision. For subdivision it calls the function intersplliNt.m. genspl_consN3.m The code displays different generators of spline spaces and their Fourier spectra. GensplConsNF_examp.m The code displays global smoothing generators of spline spaces of different orders and their Fourier spectra versus respective interpolating (fundamental) generators and their spectra. defroNSm.m The function finds the optimal regularization parameter for smoothing splines. smoothsplaNt.m This function implements binary/ternary subdivision of a smoothing spline (any spline order for ternary subdivision, even spline order for binary subdivision) using the function intersplliNt.m. Periodic approximation is utilized using the DFT. smoothsplaNt.m This function implements binary/ternary subdivision of a smoothing spline (any spline order for ternary subdivision, even spline order for binary subdivision) using the function intersplliNt.m. Periodic approximation is utilized using the DFT. smoothing_example_chirpN.m The code illustrates application of interpolating and smoothing splines of different orders to approximation of a fragment of the chirp function from sparsely located samples corrupted by noise. grid_ls_TDN.m The function computes grid samples of different local splines approximating a signal x. locspla_dif_curvN.m The function computes values at diadic (triadic) rational points of different local splines approximating a signal x, using either binary or ternary subdivision. For subdivision it calls either the function binsub.m or the function tersub.m. In addition, derivatives of the local splines are computed and, optionally, the curvatures of the splines. gen_LSpl_specN.m The function computes Fourier spectra of local spline space generators. gen_LSpl_consN3.m The code displays local spline generators of spline spaces and their Fourier spectra versus respective interpolating (fundamental) generators and their spectra. spligenN3.m The function computes values of different generators of splinewavelet spaces in diadic rational points, using approximation of non-periodic generators by periodic ones and binary subdivision. For subdivision it calls the function intersplliNt.m. genWspl_consN.m The code displays generators of spline-wavelet spaces of different orders. spec_gen_plotN.m The code displays the Fourier transforms of generators of spline-wavelet spaces of different orders.
Appendix A: Guide to SplineSoftN
411
A.2 SubdivisionN This folder is associated with Chap. 7. intersplliNt.m This function implements binary/ternary N-periodic spline subdivision (any spline order for ternary subdivision, even spline order for binary subdivision) using the FFT. binsub.m The function implements the binary subdivision of either a signal or rows a 2D array with polynomial-spline filters using recursive filtering by function recur_spline.mand FIR filtering by function up_sq_z.m. up_sq_z.m The function implements polyphase filtering of an upsampled signal (or rows of 2D array) by the FIR filter whose transfer function is (z + 2 + 1/z) p . tersub.m The function implements the ternary subdivision of either a signal or rows a 2D array with polynomial-spline filters using recursive filtering by function recur_spline.m and FIR filtering by function up_sq3_z.m. recur_spline.m The function implements recursive filtering with polynomialspline filters of either a signal or rows a 2D array using the function caus_ acaus_filt.m. up_sq3_z.m The function implements polyphase filtering of an upsampled signal (or rows of 2D array) by the FIR filter whose transfer function is (z +1+1/z) p . b3cell.m The code collects a list of polyphase components of Laurent polynomials (z + 1 + 1/z) p . sub2_exam.m The code provides two examples of image upsampling.
A.3 Spline_N_uniform This folder is associated with Chap. 6. bs_v.m This function computes value at the point t of the B-spline of order “p” designed on a non-uniform grid using the function divdiff.m. bspl_nu_exam.m Displays B-splines of different orders designed on a nonuniform grid. lsp0_nu.m This function computes value at the point t of the simplest local cubic spline s04 [ f ](t) designed on a non-uniform grid using the function bs_v.m. lsp0_nu1.m This function computes value at the point t of the simplest local cubic spline s04 [ f ](t) designed on a non-uniform grid using the function divdiff.m. Is useful for the computation of spline’s values at a multiple points set. lsp0_nu1.m This function computes value at the point t of the simplest local cubic spline s04 [ f ](t) designed on a uniform grid. lsp1_nu.m This function computes value at the point t of the quasi-interpolating local cubic spline sq4 [ f ](t) designed on a non-uniform grid using the function divdiff.m.
412
Appendix A: Guide to SplineSoftN
divdiff.m This function authored by Tashi Ravach computes divided differences of a function sampled on a non-uniform grid. grid_des.m This function design of (non-)uniform grid with N nodes for cubic spline approximation with size of steps of power p growth. loc_NU_example_chirpN Compares approximation of the chirp function sin 1/t by cubic local splines designed on a non-uniform grid with the approximation by the same spline designed on uniform grid.
A.4 Discr_SplineN This folder is associated with Chaps. 3 (Sect. 3.3.1), 9 and 10. dspl_charfun.m This function computes values of characteristic functions of the spaces p S K ,M of discrete splines of different orders whose span is K and the shift parameter is M. disbsplN.m This code displays discrete B-splines of different orders whose spans are 2, 3 and 4. dsp_gen_exampN.m This code displays different generators of discrete-spline spaces and discrete-spline wavelet spaces with spans 2 j and their DTFTs. The generators are computed by the function D_gen_consN.m. The DTFTs are computed by the function D_gen_specN.m. D_gen_consN.m This function computes different generators of discrete-spline spaces and discrete-spline wavelet spaces with spans 2 j using approximation of non-periodic generators by periodic ones and the FFT. D_gen_specN.m This function computes the DTFTs of different generators of discrete-spline spaces and discrete-spline wavelet spaces with spans 2 j using the function dspl_charfun2.m. dspl_charfun2.m This function computes values of characteristic functions of the spaces p S[ j] of discrete splines of different orders whose spans are 2 j .
A.5 Biorth_waveletN This folder is associated with Chaps. 11 and 12. BW_analN.m This function implements the forward lifting biorthogonal wavelet transform of either a row signal or an array of row signals, using prediction filters derived from polynomial and discrete splines and the 9/7 biorthogonal filters. BW_analN_2D.m Does the same for two-dimensional signals. down_lifN.m This function implements one step of the direct biorthogonal wavelet transform using the function slfilt_lifN.m.
Appendix A: Guide to SplineSoftN
413
slfilt_lifN.m This function implements filtering of a signal “x” (array of row signals) by filters derived from polynomial and discrete splines using the function caus_acaus_filt.m and filtering with the 9/7 biorthogonal filters. slfilt_paramN.m This function provides parameters for spline-based prediction filters. BW_synthN.m This function implements the inverse lifting biorthogonal wavelet transform. It restores either a row signal or an array of row signals from the set of the wavelet transform coefficients. BW_synthN_2D.m Does the same for two-dimensional signals. up_lifN.m This function implements one step of the inverse biorthogonal wavelet transform using the function slfilt_lifN.m. cons3_5_9_7N.m The code displays the impulse and magnitude responses of 5/3 and 9/7 filters. BW_exampN.m The code displays impulse and magnitude responses of the analysis and synthesis low- and high-pass filters originated from polynomial and discrete splines. BW_examp_3levN.m The code displays biorthogonal wavelets, which originate from interpolating, quasi-interpolating and discrete splines. It produces figures that depict the analysis and synthesis wavelets from three decomposition levels and their DTFTs.
A.6 CompressionN This folder is associated with Chap. 13. COM_runN.m This is an interactive code that implements compression of 2D data arrays (in particular, grayscale images) using either 2D wavelet or hybrid wavelet-LC transforms, or 2D LCT. For coding the transform coefficients either the SPIHT codec or the JPEG2000 compression standard are used. loadParametersCO_N.m This function provides an interactive framework for specifying the parameters’ set for the code COM_runN.m. for_trans.m This function implements forward 2D wavelet, hybrid waveletLC transforms and 2D LCT of a 2D array using the functions BW_analN_2D.m, Lc_BW_anal.m, Lc_anal_2DN.m, respectively. Lc_BW_anal.m This function implements forward hybrid wavelet-LC transforms a 2D array using the functions Lc_anal_2DN.m, diatran_N.m and BW_analN.m. Lc_anal_2DN.m This function implements 2D LCT of a 2D array using the function Lc_anal_N.m and diatran_N.m. Lc_anal_N.m This function implements 1D LCT of columns of a 2D array. It is a modified version of the function CPAnalysis.m authored by David L. Donoho as a part of WaveLab802 toolbox.
414
Appendix A: Guide to SplineSoftN
diatran_N.m This function implements reordering of LCT coefficients to achieve a compatibility with wavelet transform coefficients. spiht_cod.m This function implements coding of transform coefficients with the prescribed bit-budget using the SPIHT codec presented by the function WaveEnc.exe. The output from the coding are the files param.asc and comp.dat saved on the disc. spiht_decode.m This function implements the reconstruction of the coefficients’ array from the file comp.dat, which, together with the file param.asc, provides an input to the function WaveDec.exe1 . inv_trans.m This function restores the original data from the SPIHT-decoded coefficients’ array. Lc_BW_synth.m This function implements inverse hybrid wavelet-LC transforms a 2D array using the functions riatran_N.m, Lc_synth_2DN.m and BW_synthN.m. Lc_synth_2DN.m This function implements inverse 2D LCT of a 2D array using the function Lc_synth_N.m and riatran_N.m. riatran_N.m This function restores the original order of the LCT coefficients that were reordered by the function diatran_N.m. Lc_synthN.m This function implements inverse 1D LCT of columns of a 2D array. It is a modified version of the function CPSynthesis.m authored by David L. Donoho as a part of WaveLab802 toolbox. Auxiliary functions for LCT: MakeONBell_N.m, edgefold_N.m, fold_ N.m, unfold_N.m, edgefold_N.m authored by David L. Donoho as a part of WaveLab802 toolbox. dctf_N.m This function implements the discrete cosine transform of a row signal. COM_Color_runN.m This is an interactive code that implements compression of color images using either 2D wavelet or hybrid wavelet-LC transforms, or 2D LCT. For coding the transform coefficients either the SPIHT codec or the JPEG2000 compression standard are used. Images represented in the RGB format are converted into the YUV format by the function yuv2rgbN.m and the Y, U and V images are compressed separately. The compression ratio for the chrominance (color) components U and V is twice as high as the ratio for the luminance component Y. After decompression, the YUV format is converted back to RGB by the same function yuv2rgbN.m. loadParametersCO_col_N.m This function provides an interactive framework for specifying the parameters’ set for the code COM_Color_runN.m. yuv2rgbN.m This function converts images represented in the RGB format into the YUV format and back.
1 The
codes WaveEnc.exe and WaveDec.exe are written by Moshe Guttman.
Appendix A: Guide to SplineSoftN
415
A.7 FramesN This folder is associated with Chap. 14. list_frame3N.m This script comprises the list of the available frames generated by spline-based three-channel filter banks. list_frame4N.m This script comprises the list of the available frames generated by spline-based four-channel filter banks. fram34_dec_N.m This function provides the frame decomposition of either a signal or an array of row signals. The frame transforms are implemented by either three-channel or four-channel filter banks, involving either the function fram_down3N.m or fram_down4N.m, respectively. fram34_dec2d_N.m Does the same for two-dimensional signals. fram_down3N.m . This function implements a single step of the three-channel frame decomposition of either a signal or an array of row signals involving the function slfilt_lifN.m and framband_filt3N.m. framband_filt3N.m This function implements band-pass filtering of either a signal or an array of row signals. fram_down4N.m This function implements a single step of the four-channel frame decomposition of either a signal or an array of row signals, involving the function slfilt4_downN.m and framband_downN.m. slfilt4_downN.m This function implements low-pass filtering of a pair of polyphase components of either a signal or an array of row signals involving the function slfilt_param4N.m and caus_acaus_filt.m. slfilt_param4N.m This function prepares the set of parameters for one step of a frame transform, which is implemented by a four-channel filter bank. framband_downN.m This function implements band-pass filtering of a pair of polyphase components of either a signal or an array of row signals involving the function slfilt_paramN.m and caus_acaus_filt.m and so also the auxiliary functions A_p.m and T_p.m. fram34_rec_N.m This function implements synthesis of a row signal or an array of row signals from the set of the frame transform coefficients. The inverse frame transforms are implemented by either three-channel or four-channel filter banks, involving either fram_up3N.m or fram_up4N.m functions, respectively. fram34_rec2d_N.m Does the same for two-dimensional signals. item[fram_up3N.m] This function implements a single step of the three-channel frame reconstruction of a signal or an array of row signals involving the function slfilt_lifN.m and framband_filt3N.m. fram_up4N.m This function implements a single step of the four-channel frame reconstruction of either a signal or an array of row signals, involving the functions slfilt4_upN.m and framband_upN.m. slfilt4_upN.m This function implements filtering of the low-frequency and high-frequency blocks of the frame transform coefficients of either a signal
416
Appendix A: Guide to SplineSoftN
or an array of row signals involving the function slfilt_param4N.m and caus_acaus_filt.m. framband_upN.m This function implements band-pass filtering of the midfrequency blocks of the frame transform coefficients of either a signal or an array of row signals involving the function slfilt_paramN.m and caus_acaus_filt.m and so also the auxiliary functions A_p.m and T_p.m. A_p.m This function implements FIR filtering either of a signal or an array of row signals for tight frames generated by four-channel filter banks. T_p.m This function implements FIR filtering either of a signal or an array of row signals for semi-tight frames generated by four-channel filter banks. item[fram3_exam_N.m] . This code displays the impulse and magnitude responses of three-channel filter banks generating tight and semi-tight frames using the functions fram3_lev_N.m and fram3_spec_N.m. fram3_lev_N.m This function computes impulse responses of three-channel filter banks generating tight and semi-tight frames. fram3_spec_N.m This function computes frequency responses of three-channel filter banks generating tight and semi-tight frames. item [fram4_exam_N.m] This code displays the impulse and magnitude responses of four-channel filter banks generating tight and semi-tight frames using the functions fram4_lev_N.m and fram4_spec_N.m. fram3_lev_N.m This function computes impulse responses of four-channel filter banks generating tight and semi-tight frames. fram3_spec_N.m This function computes frequency responses of four-channel filter banks generating tight and semi-tight frames.
A.8 MW_framesN This folder is associated with Chaps. 15 and 16. hprepN.m This function implements pre-processing of either a signal or an array of row signals, that is it converts the scalar signals into vector-signals. hprep2d_N.m This function implements pre-processing of a 2D array, that is it converts the 2D array into a quadruple set involving the function hprepN.m. hppostN.m This function implements post-processing of either a vector-signal or an array of vector-signals, that is it converts the vector-signals into scalar signals. hpost2d_N.m This function implements post-processing of a quadruple set, that is it converts the quadruple set into a 2D array into involving the function hpostN.m. MW_dec_N.m This function implements the multiwavelet transform of either a signal or an array of row signals involving the functions hprepN.m and downMW_N.m.
Appendix A: Guide to SplineSoftN
417
downMW_N.m This function implements one step of the multiwavelet transform of either a vector-signal or an array of row vector-signals involving the function multA.m. multA.m 1This function designs of the prediction multifilter for the multiwavelet transform. MW_dec2_N.m This function implements 2D multiwavelet transform of a 2D array involving the functions hprep2d_N.m and downMW_N.m. MW_rec_N.m This function implements inverse multiwavelet transform of rows of the vector-coefficients’ array involving the functions hpostN.m and upMW_N.m. It transforms the set of vector-coefficients into either a scalar signal or an array of row signals. upMW_N.m This function implements one step of the inverse multiwavelet transform of a set of vector-coefficients involving the function multA.m. MW_rec2_N.m This function implements 2D inverse multiwavelet transform of a 2D array involving the functions hpost2d_N.m and upMW_N.m. MF_dec_N.m This function implements the multi-frame transform of either a signal or an array of row signals involving the functions hprepN.m and downMF_N.m. downMF_N.m This function implements one step of the multi-frame transform of either a vector-signal or an array of row vector-signals involving the functions , multV.m and multA1.m. multV.m This function designs band-pass multifilters for the multi-frame transform. multA1.m This function designs multifilters for the direct and inverse multiframe transforms. MF_dec2_N.m This function implements 2D multiwavelet transform of a 2D array involving the functions hprep2d_N.m and downMF_N.m. MF_rec_N.m This function implements inverse multi-frame transform of rows of the vector-coefficients’ array involving the functions hpostN.m and upMF_N.m. It transforms the set of vector-coefficients into either a scalar signal or an array of row signals. upMW_N.m This function implements one step of the inverse multi-frame transform of a set of vector-coefficients involving the functions multA1.m and multV.m. MF_rec2_N.m This function implements 2D inverse multi-frame transform of a 2D array involving the functions hpost2d_N.m and upMF_N.m. disp_mw1.m This code displays multiwavelet filters of the first level related to the Haar pre-post-processing scheme using the auxiliary functions bar_fil.m and plot_frec.m. disp_MF.m This code displays multiwavelet frame filters of the first level related to the Haar pre-post-processing scheme using the auxiliary functions bar_fil.m and plot_frec.m. mult_lena.m This code illustrates layout of the transform coefficients for 1D and 2D multiwavelet transforms of the “Lena” image.
418
Appendix A: Guide to SplineSoftN
A.9 Utilities This folder contains auxiliary codes. betw.m This function inserts columns of an array between columns of another array. betwR.m This function is an accelerated version the function betw.m for the case when number of columns in both arrays is the same. Imaging codes: aj.m, ja.m, ai.m, bj.m, cj.m, XYti.m. bspuvN.m This function computes samples of B-splines of multiple orders at integer and semi-integer grid points. The samples are saved in the file BSUV.mat. caus_acaus_filt.m The function implements several passes of causal–anticausal recursive filtering of either a signal or rows a 2D array using the function recur_filN.m. recur_filN.m The function implements one pass of recursive filtering of either a signal or rows a 2D array. cent_dif.m This function computes central differences of even orders of either a row signal or an array of row signals. circ_h.m Circular shift of a row signal or an array of row signals. dia_mat.m The function implements extension of a 2 × 2 matrix to a K-blockdiagonal matrix. divdiff.m The function authored by Tashi Ravach computes a set of divided differences of a signal sampled on an arbitrary grid. rshuk.m Right shift of of a row signal or an array of row signals. lshuk.m Left shift of of a row signal or an array of row signals. ushuk.m Up shift of of a column signal or an array of column signals. dshuk.m Down shift of of a column signal or an array of column signals. evodR.m Separation of even and odd columns of an array. exteB.m Symmetric extension of an array. shrinB.m Shrinkage of an array. havshB.m Split an array into 2 halves in horizontal direction. havsvB.m Split an array into 2 halves in vertical direction. quartB.m Split a square array into 4 squares. surqua.m This function inserts a sub-array into upper left corner of a bigger array. sof_thre.m The function implements soft thresholding of an array. up_sa.m The function implements upsampling of rows of an array by zerocolumns. juviP.m The function computes characteristic sequences of spaces of N -periodic splines. format_ticks.m The function handles ticks in MATLAB figures. hshif.m The function implements shift of of a row signal or an array of row signals with symmetric extension at the boundaries. psnB.m, psnM.m The functions compute PSNR.
Appendix A: Guide to SplineSoftN
419
A.10 Store This folder contains a few image files in .mat, .bmp, .tiff and .jpg formats, which are used in applications.
Glossary
R, Z and N sets of all real numbers, all integers and all natural numbers, respectively. Rn sets of n-dimensional vectors, whose components belong to R. ·∗ complex conjugate. n k the binomial coefficient. def
Δd [ f ](t) = f (t + d) − f (t) the forward finite difference of f (t). def δd [ f ](t) = f (t + d/2) − f (t − d/2) the central finite difference of f (t). def Δnd [ f ](t) = Δd [Δn−1 d [ f ](t)](t) finite differences of higher order. def
δdn [ f ](t) = δd [δdn−1 [ f ](t)](t) finite differences of higher order. C p space of functions, which have p2 continuous derivatives. cn ( f ) the Fourier coefficient of a periodic signal f (t). def
l1 [Z] the space of complex-valued sequences x = {x[k]}, k ∈ Z such that the norm def x1 = k∈Z |x[k]| < ∞. def x(ω) ˆ = k∈Z x[k] e−iωk the discrete-time Fourier transform (DTFT) of a signal x. def x(z) = n∈Z z −n x[n] the z-transform of a signal x. def x(ϑ, ˆ ω) = k,n∈Z x[k, n] e−i(ϑk+ωn) the discrete-time Fourier transform of a 2D discrete-time signal. δ[n] Kronecker delta. (↓ M)x downsamplinga signal x by factor of M. (↑ M)x upsampling a signal x by factor of M. Z [ f ](ω, t) Zak transform of the signal f (t). x0 and x1 the even and the odd polyphase components of a signal x. B p (t) B-spline of order p. ζ p (ω, t) exponential spline of order p ( Zak transform of the B-spline). p S space of splines of order p on the grid {h k}. h 2r W wavelet subspace of the space 2r S . 2h h ϑ 2r (ω, t) exponential wavelet of order 2r . C 2r (t/2) B-wavelet of order 2r . u p (ω) characteristic function of spline space p S . © Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2
421
422
Glossary
Z [f M ](ω)[k] M-fold discrete Zak transform. p b K centered discrete-time B-spline. p ζ K ,M (ω)[k] Zak transforms of the discrete B-spline. def
p
p
u K ,M (ω) = ζ K ,M (ω)[0] characteristic function of the discrete splines space pS [K ,M] . def
ρ(z) = z + 2 + 1/z. [x] the largest integer not exceeding x. H T transposed matrix. def
H ∗ (z) = H (z −1 )T complex conjugated matrix.
Index
A Allpass filters, 10 Analysis multifilters, 381 Analysis filter bank, 13 Analysis polyphase matrix, 16, 208 Annihilation and restoration of polynomials, 234 Approximation properties of multifilters, 372 Approximation properties of quasiinterpolating splines, 112 Approximation properties of simplest local splines, 112 Approximation properties of splines, 108
B Bases generated by multiwavelets, 380 Battle–Lemarié wavelets, 165 B-discrete splines’ wavelets , 199 Bernoulli monospline, 70, 89, 111 Bernoulli polynomials, 70, 111 Binary refinement, 127 Biorthogonal bases generated by PR filter banks, 218 Biorthogonal filter banks, 220 B-splines, 35, 51 Butterworth wavelets, 265, 267 Butterworth frames, 320 B-wavelets , 157, 158, 164
C Cascade recursive filtering, 26 Causal filters, 10 Centered discrete-time B-splines, 43 Central divided difference, 36
Characteristic function, 42 Characteristic function of shift-invariant space, 34 Characteristic function of spline space p S , 53 Characteristic function of spline space p Sh , 39 Characteristic function of the discrete spline space, 46, 175, 262 Characteristic function of the spline space, 175 Characteristic Laurent polynomial of the discrete spline space, 176 Characteristic polynomials of spline spaces, 132, 140 Characteristic polynomials: examples, 135, 142 Coefficients of quasi-interpolating splines, 101 Computation of B-wavelets , 159 Computation of discrete splines, 178 Computation of smoothing splines, 78 Continuous-time decaying signals, 1 Convolution of splines, 55 Convolution of decaying signals, 2 Cubic extended quasi-interpolating spline , 97 Cubic Hermite splines, 364 Cubic interpolating spline, 69 Cubic local splines, 117 Cubic quasi-interpolating spline , 95, 120
D 2D convolution of decaying signals, 4 2D discrete-time Fourier transform, 8, 421 Derivative of the spline, 55
© Springer International Publishing Switzerland 2016 A.Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, DOI 10.1007/978-3-319-22303-2
423
424 Design of biorthogonal low-pass FIR filters, 229 2D Fourier transform, 4 2D frame transforms, 329 Differentiation and shift of decaying signals, 2 Differentiation and shifts of 2D decaying signals, 5 Digital filtering, 6 Discrete Battle–Lemarié wavelets, 199 Discrete B-wavelets, 194 Discrete exponential wavelets, 191 Discrete spline-wavelet transform of signals, 206 Discrete splines spaces, 171 Discrete vanishing moments, 234 Discrete-time analysis and synthesis framelets, 304 Discrete-time Fourier transform, 6, 421 Discrete-time signals, 5 Discrete-time wavelets, 222 Discrete B-splines, 43 Discrete convolution, 5, 6, 8 Discrete moments of the B-splines, 88 Discrete spline, 45 Divided differences, 115 Downsampling, 12, 421 DTFT of the polyphase components of a signal, 42 Dual generators of discrete spline spaces, 182 Dual generators of discrete wavelet spaces, 197 Dual generators of spline spaces, 59 Dual generators of wavelet spaces, 162 2D wavelet transform, 272 Dyadic spline insertion rule, 129 E Eigenvalues factorization of matrices Q(z), 310 Exponential decay of generators, 71 Exponential discrete splines, 173 Exponential wavelets, 149 F Fifth order QIS, 102 Filter bank, 13, 20, 21, 299 Filter bank frame, 303, 304, 331 Filter bank frame, 21 Filtering decaying signals, 9 Filtering in a polyphase form, 15
Index 5/3 filters , 230 9/7 filters, 232 Finite differences, 3, 7 FIR approximation of a causal – anticausal IIR filters , 25 Four-channel filter banks derived from discrete splines, 357 Four-channel filter banks derived from polynomial splines, 350 Four-channel oversampled filter banks , 331 Fourier series, 3 Fourier transform, 2 Fourier transform of a spline, 55 Fourier transform of convolution, 2, 4 Frames, 20 Frames originating from discrete splines, 320 Frames originating from polynomial splines, 312 Frequency response, 10 Fundamental discrete splines , 185
G Galerkin projection spline, 61 Generator dual to the B-spline, 60 Generator dual to the fundamental spline, 65 Generator of spline space whose shifts are orthogonal to each other (self-dual generator), 68 Generators and dual generators of the discrete spline wavelet space, 196 Generators and dual generators of wavelet space, 162 Generators dual to the B-wavelets, 164 Generators of discrete splines’ spaces, 181 Generators of spline spaces, 58 Generators of the wavelet space, 156
H Haar pre/post-processing algorithm, 375 Hybrid algorithm for data compression, 282
I Implementation of causal – anticausal IIR filters with a rational transfer function, 25 Impulse response (IR), 10 Integer shifts of exponential splines, 53 Integral representation of discrete splines, 177 Integral representation of splines, 54
Index Interpolating filter, 17 Interpolating filter banks, 336 Interpolating generator (fundamental spline), 63, 72 Interpolating polynomials, 116 Interpolation by discrete splines, 47, 178 Interpolation by mixed convolution, 34 Interpolation by mixed discrete-continuous convolution, 42
K Kronecker delta (impulse), 9
L Lifting scheme of multiwavelet transform, 368 Lifting scheme of wavelet transforms, 239 Linear interpolation, 18 Linear phase filters, 10 Local splines , 90 Low-pass filter, 10
M Magnitude response of a filter, 10 M-fold discrete Zak transform, 41 Minimal norm property of even-order splines, 73 Mirror signals extension, 26 Mixed discrete-continuous convolution (MDCC) , 31, 32 Mixed discrete-discrete convolution, 40 Modulation matrices, 301 Moments of the B-splines, 87 Multifilter banks, 366, 370 Multifilters, 365 Multifilters and their transfer functions, 365 Multilevel framelet transforms, 305 Multi-level multiwavelet transforms, 388 Multirate filtering, 12 Multiscale spline wavelet transforms, 155
N Non-interpolating FIR filters, 337 Norms of splines, 57
O Optimal regularization parameter, 76 Orthogonal projection spline, 60 Oversampled filter banks, 300
425 P Parallel recursive filtering, 26 Parseval identities, 2, 4 Parseval identity for splines, 56 Perfect reconstruction (PR) filter bank, 13, 17, 218, 300, 302, 331 Phase response of a filter, 10 Poisson summation formula, 33, 41 Polynomial global smoothing splines, 74, 75 Polynomial interpolating splines, 68 Polynomial spline, 35, 51 Polynomial spline interpolation, 39 Polynomial splines spaces, 34, 37 Polyphase representation, 13 Polyphase representation of multifiltering, 366 Polyphase decomposition, 13 Polyphase matrices, 302 Prediction filters derived from discrete splines, 263 Prediction filters derived from polynomial splines, 245 Prediction multifilters derived from Hermite splines, 367 Pre/post-processing schemes of fifth approximation order, 376 Pseudo-spline filters, 338
Q Quadratic interpolating spline, 351 Quadratic quasi-interpolating spline, 92, 337 Quasi-interpolating cubic splines, 119 Quasi-interpolating local splines, 91 Quasi-interpolating splines of arbitrary order, 98
R Real-time computation of the quasiinterpolating spline with delay, 120 Recursive filtering, 26 Relation of discrete splines to their periodic counterparts, 179 Relation of periodic and non-periodic exponential splines, 53 Restoration of sampled polynomials, 236
S Self-dual discrete spline generators, 185 Semi-tight frame, 312 Semi-tight frame filter banks, 334 Shift-invariant space, 32
426 Shifts of discrete exponential splines, 177 Simplest cubic splines, 118 Sixth order QIS, 103 Smoothing generators of the spline spaces, 79 Space L 1 [R], 1 Space l1 [Z], 5 Space L 2 [R], 1 Space l2 [Z], 5 Space of discrete splines, 42 SPIHT coding scheme, 279 Spline filters for binary subdivision, 129 Spline filters for triadic subdivision, 135 Spline wavelet transforms, 151 Spline spaces p Sh , 37 Stable rational function, 21, 304 Subdivision scheme, 127 Super-convergence property, 100, 111, 129 Super-convergence property of odd order splines, 249 Symbol of the discrete spline, 174, 181 Synthesis filter bank, 13 Synthesis multifilter banks, 383 Synthesis polyphase matrix, 17 T Ternary refinement, 128 Tight frame, 311 Tight frame filter banks, 334 Transfer function, 10 Triadic spline insertion rule, 135 Triangular factorization of matrices Q(z), 309, 310
Index Truncated factorial polynomial, 43 Two-dimensional decaying signals, 4 Two-scale relation for the discrete exponential splines, 175 Two-scale relation for the discrete exponential wavelets, 193 Two-scale relations, 147 Two-scale relations for B-splines, 149
U Upsampling, 12, 421 Upsampling with discrete splines, 181
V Variation diminishing property, 91 Variation diminishing splines, 90
W Wavelet frame, 21, 304
Z Zak transform, 33, 421 Zak transform of continuous-time signals, 32 Zak transform of the B-spline, 38, 145 Zak transform of the B-splines (exponential splines), 52 Zak transforms of the discrete B-splines, 46, 262 z-transform, 6, 421