Download Presentation
## Lifting

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Lifting**Part 1: Introduction Ref: SIGGRAPH96**Outline**• Introduction to wavelets and lifting scheme • Basic Ideas • Split, Predict, Update • In-place computation • Simple Examples • Lifting version of Haar • Linear interpolating wavelet**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**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 …**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 • …**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 (+|-, *|/)**Original signal**difference signal coarsened signal That is, … (Forward Transform) s: even indices d: odd indices sj sj-1, dj-1**Inverse Transform**• Observe the similarity with forward transform !**Hi-wire:**coarsened signal Schematically, … forward Convention: (水平) – (垂直) Lo-wire: difference signal inverse**Simple Examples**Haar (lifting version) Linear Interpolating Wavelet**d**s d s Revisit Haara slightly different version Forward Transform Preserve “average”; not “energy”**d**s d s Haar (cont) Inverse Transform**Haar and Lifting**• Rewrite expressions (forward) b replaces d a replaces s**Haar and Lifting (cont)**• Inverse Transform: • Reverse order of operations • exchange plus/minus • Facilitate in-place computation**Note this order is different from Mallat’s order!**Ex: Haar (Lifting)**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**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**1 0**1 1 0 0 1 0 0 0 0 0 -½ 0 -½ ½ 0 0 ½ 0 1 0 Cascading Scaling Functions Wavelets**1**8 × + 4 × 1 + ½ -2 × -½ + 2 × ½ -½ Double Check Note the wavelet definition is different**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**Pseudo Codes**Forward Inverse**f**Lifting Ordering (n=8) final result**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**Linear Interpolating Wavelet**• more powerful lifting • Predictor (Order = 2) • Exact for linear data • Update (Order = 2) • Preserve the average and first moment**Preserve average**Linear Interpolating Wavelet (Update) use results already computed Propose update of the form :**original signal**coarsened signal Linear Wavelet (Update) Preserve average is equivalent to having zero mean difference**Preservation of 1st Moment**We will refer this as the dual order of MRA**assume data periodicity**Numeric Example (linear wavelet) Forward Average: 26/4 Inverse Average: 52/8**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)**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**Homework: lifting version of D4**Speed up ratio!? Wiring diagram!?**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?