Upload
grant-jones
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
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 (+|-, *|/)
That is, … (Forward Transform)
) U(d s
)P(s d
)Split( : ),(
11
11
11
jj
jj
jjj sds
Original signal
coarsened signal
difference signal
12,2,1,0, ...... njnjjj ssss
njnjjj dsds ,1,10,10,1 ......
sj
sj-1, dj-1
s: even indicesd: odd indices
Inverse Transform
• Observe the similarity with forward transform !
)d,Merge(s :
)P(s d
) U(d s
11
11
11
jjj
jj
jj
s
Schematically, …
forward
inverse
Convention:(水平 ) – (垂
直 )
Hi-wire:coarsened
signal
Lo-wire:difference
signal
Simple Examples
Haar (lifting version)
Linear Interpolating Wavelet
Revisit Haara slightly different version
abd
bas
2 5379
22 48
4 6
s d
s d
Forward Transform
Preserve “average”;
not “energy”
Haar (cont)
2/
2/
dsb
dsa
5379
22 48
4 6
s d
s d
ba
Inverse Transform
2
2
2
1
4
8
3
9
2
2
2
1
4
8
5
7
)4(64
)4(68
21
21
Haar and Lifting
• Rewrite expressions (forward)
2/das
abd
2/
ba
ab
sd and var for needno
b replaces da replaces s
abd
bas
2
Haar and Lifting (cont)
• Inverse Transform:– Reverse order of operations– exchange plus/minus
• Facilitate in-place computation
ab
ba
2/
Ex: Haar (Lifting)
2/
ba
ab
2/
ba
ab
Note this order is different from Mallat’s order!
1,10,10,00,02246 ddds
5379 3,22,21,20,2 ssss
2428 1,11,10,10,1 dsds
2426 1,10,00,10,0 ddds
In-place Computation
• Only one set of array is used
• Data are overwritten during the computation
• Saves overhead for allocating multiple arrays
3,22,21,20,2 ssss
1,11,10,10,1 dsds
1,10,00,10,0 ddds
Operate on the same piece of memory
Operate on the same piece of memory
Lifted Haar (inverse transform)
5379
2428
2426
ab
ba
2/
ab
ba
2/
3,22,21,20,2 ssss
1,11,10,10,1 dsds
1,10,00,10,0 ddds
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
Give exact prediction if
function were constant
Order: has to do with polynomial
reproduction (more later)
Haar & Lifting
2/)(
)(
xxU
xxP
Haar
Haar
2/)(
)(
xxU
xxP
Haar
Haar
),Merge( :
)P(
) U(
11
11
11
jjj
jj
jj
dss
sd
ds
) U(
)P(
)Split( : ),(
11
11
11
jj
jj
jjj
ds
sd
sds
Cascading1 0
0 0 1 0
1 1 0 0
1 0
-½ 0
½ 0
-½ ½ 0 0
0 0
Scaling FunctionsScaling Functions
WaveletsWavelets
Double Check
5379
2428
1,11,10,10,1 dsds
8 ×
4 ×
-2 ×
2 ×
+
½
1
1
-½
½
-½
+
+Note the wavelet definition is
different
Lifting Framework
9 7 3 5
9 3
7 5 -2 2
8 4 9 3
7 5
9 7 3 5
2/)(
)(
,1,1
,1,1
kjkjHaar
kjkjHaar
ddU
ssP
2/)(
)(
,1,1
,1,1
kjkjHaar
kjkjHaar
ddU
ssP
U: to ensure
coarsened signal preserves average
Pseudo CodesForward
Inverse
Lifting Ordering
(n=8)
3,23,22,22,21,21,20,20,2 dsdsdsds
1,11,10,10,1 dsds
0,00,0 ds
final result
76543210 ffffffff
2d
2sf 1s0s
1d 0d
3,21,12,20,01,20,10,20,0 ddddddds
About Demo Implementation
ndata = 16JMAX = 4
INCR
0 1 2 3 4
1 2 4 8 16
#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
15,414,413,412,411,410,49,48,47,46,45,44,43,42,41,40,4 ssssssssssssssss
7,37,36,36,35,35,34,34,33,33,32,32,31,31,30,30,3 dsdsdsdsdsdsdsds
3,23,22,22,21,21,20,20,2 dsdsdsds
1,11,10,10,1 dsds
0,00,0 ds
Linear Interpolating Wavelet
• more powerful lifting• Predictor (Order = 2)
– Exact for linear data
• Update (Order = 2)– Preserve the average and first moment
1,1,1,1,1 2
1
Predictor
ljljljlj ssdd 1,1,1,1,1 2
1
Predictor
ljljljlj ssdd
Linear Interpolating (Predictor)
1,1,1,1,1 2
1 ljljljlj ssdd 1,1,1,1,1 2
1 ljljljlj ssdd
Linear Interpolating Wavelet (Update)
)( ,11,12,,1 ljljljlj ddAss )( ,11,12,,1 ljljljlj ddAss
llj
llj
lljljlj
llj
llj
llj
llj
sAsA
sssAs
dAss
12,2,
22,2,21
12,2,
,12,,1
2)21(
2
2
4/1 Therefore, A
l
ljl
lj ss ,,1 2
1Preserve average
Propose update of the form :
use results already computed
Linear Wavelet (Update)
Preserve average is equivalent to having zero mean difference
Preserve average is equivalent to having zero mean difference
coarsened signal
original signal
ljljljlj ddss ,11,1,1,1 4
1 ljljljlj ddss ,11,1,1,1 4
1
Preservation of 1st Moment
2 UpdateofOrder
symmetry todue satisfied 2
1,,1
l
ljl
lj slsl
We will refer this as the dual order of MRA
In-place computation
Numeric Example (linear wavelet)
64426812106442
Average: 26/4
Average: 52/8
Forward
Inverse
6412183101412
6415.21935.101412
6412183101412
64426812106442
assume data periodicityassume data periodicity
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)
22,12,2,12,22,,1 8
1
4
1
4
3
4
1
8
1 ljljljljljlj ssssss
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!?
undecided
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?