# Lifting

## Lifting

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Lifting Part 1: Introduction Ref: SIGGRAPH96

2. Outline • Introduction to wavelets and lifting scheme • Basic Ideas • Split, Predict, Update • In-place computation • Simple Examples • Lifting version of Haar • Linear interpolating wavelet

3. General Concepts • Wavelets are building blocks that can quickly de-correlate data • Most signals in life have correlation in time and frequency • temporal coherence and banded frequency • Build wavelets that: • Are compactly support (good time resolution; able to localize spatial features) • Have banded spectrum (good frequency resolution) • smoothness (decay towards high freq) • Have vanishing moments (decay towards low freq) more later

4. How lifting scheme differs from classical wavelets • Developed in 1994 by Wim Sweldens • All constructions are derived in the spatial domain • Faster implementation • In some cases, the number of operations halved • In-place computation • No auxiliary memory required • Easy to invert • In classical derivations, perfect reconstruction must be verified via Fourier transforms Recall how PR of orthogonal wavelets are verified …

5. Lifting in Second Generation Wavelets • True power of lifting is to construct wavelets in settings where classical (translation and dilation) and Fourier transform cannot be used: • Bounded domain • Avoid ad-hoc solutions: periodicity, zero-padding, reflection around edges … • Wavelets on curves and surfaces • Irregular sampling • …

6. Basic Ideas • Forward transform: three stages • Split the data into two smaller subsets: s/detail • e.g., interlace sampling (lazy wavelet) • Predict the subset based on the local correlation in the original data • Replace the detail as the difference between data and prediction. (If prediction is reasonable, difference will be small) • Update and maintain some global properties of data with original data • (e.g., overall signal average) • Inverse transform: • Simply reverse order of operations and signs (+|-, *|/)

7. Original signal difference signal coarsened signal That is, … (Forward Transform) s: even indices d: odd indices sj sj-1, dj-1

8. Inverse Transform • Observe the similarity with forward transform !

9. Hi-wire: coarsened signal Schematically, … forward Convention: (水平) – (垂直) Lo-wire: difference signal inverse

10. Simple Examples Haar (lifting version) Linear Interpolating Wavelet

11. d s d s Revisit Haara slightly different version Forward Transform Preserve “average”; not “energy”

12. d s d s Haar (cont) Inverse Transform

13. Haar and Lifting • Rewrite expressions (forward) b replaces d a replaces s

14. Haar and Lifting (cont) • Inverse Transform: • Reverse order of operations • exchange plus/minus • Facilitate in-place computation

15. Note this order is different from Mallat’s order! Ex: Haar (Lifting)

16. In-place Computation • Only one set of array is used • Data are overwritten during the computation • Saves overhead for allocating multiple arrays Operate on the same piece of memory

17. Lifted Haar (inverse transform)

18. Order: has to do with polynomial reproduction (more later) Give exact prediction if function were constant • Predict: how the data fail to be constant • eliminate zeroth order correlation • Order of predictor = 1 • Update: preserve average • zeroth order moment • Order of Update operator = 1

19. Haar & Lifting

20. 1 0 1 1 0 0 1 0 0 0 0 0 -½ 0 -½ ½ 0 0 ½ 0 1 0 Cascading Scaling Functions Wavelets

21. 1 8 × + 4 × 1 + ½ -2 × -½ + 2 × ½ -½ Double Check Note the wavelet definition is different

22. Lifting Framework 8 4 9 3 9 3 9 7 3 5 9 7 3 5 -2 2 7 5 7 5 U: to ensure coarsened signal preserves average

23. Pseudo Codes Forward Inverse

24. f Lifting Ordering (n=8) final result

25. About Demo Implementation #define S(j,l) ss[(l)*INCR[JMAX-(j)]] // increment #define D(j,l) ss[INCR[JMAX-((j)+1)]+(l)*INCR[JMAX-(j)]] // offset + increment ndata = 16 JMAX = 4

26. Linear Interpolating Wavelet • more powerful lifting • Predictor (Order = 2) • Exact for linear data • Update (Order = 2) • Preserve the average and first moment

27. Linear Interpolating (Predictor)

28. Preserve average Linear Interpolating Wavelet (Update) use results already computed Propose update of the form :

29. original signal coarsened signal Linear Wavelet (Update) Preserve average is equivalent to having zero mean difference

30. Preservation of 1st Moment We will refer this as the dual order of MRA

31. In-place computation

32. assume data periodicity Numeric Example (linear wavelet) Forward Average: 26/4 Inverse Average: 52/8

33. Remarks • By substituting the predictor into update one gets • This is biorthogonal (2,2) of CDF • CDF: Cohen-Daubechies-Feauveau • More computations in this form (and cannot be done in-place) • Inverse transform harder to get (rely on Fourier-based techniques)

34. Homeworks • Review the derivation of PR for orthogonal wavelets • Verify that reversing order of operations indeed inverses the transform • Write a program that does general lifting. Implement Haar and linear interpolation. Compare. • Verify the CDF (2,2) formula

35. Homework: lifting version of D4 Speed up ratio!? Wiring diagram!?

36. undecided

37. Q • In lifting, it seems that forward and inverse use the same P and U boxes. Then, are H_tilda (G_tilda) and H (G) are related? … unlike what we mentioned in biorthogonal wavelets?