Lifting
Part 2: Subdivision
Ref: SIGGRAPH96
Subdivision Methods
On constructing more powerful predictors …
Subdivision methods
• Often referred to as the cascade algorithm• Systematic ways to build predictors
– Concentrate on the P box
• Types:– Interpolating subdivision– Average-interpolating– B-spline (more later)– …
Interpolating Subdivision
First proposed by Deslauriers-Dubic
Basic Ideas
• In general, use N (=2D) samples to build a polynomial of degree N-1 that interpolates the samples
• Calculate the coefficient on the next finer level as the value of this polynomial– e.g., Lagrange polynomial (or Neville’s algorithm)
• Order of the subdivision scheme is N• This can be extended to accommodate bounded
interval and irregular sampling settings.
Math Review: Lagrange Polynomial
• The unique n-th degree polynomial that passes through (n+1) points can be expressed as follows:
)()(
)()(
0 0i
n
i ji
jn
ijj
xfxx
xxxP
niii xfx ,...,0))(,(
Linear and Cubic Interpolation
Order = 2 Order = 4
2
1
2
1
16
116
9
16
9
16
1
Numerical Example: Cubic Interpolation Stencil
48104… …
48104 877… …
9/16 9/16 -1/16-1/16
Scaling Functions
• All scaling functions at different levels are translates and dilates of one fixed function:– the fundamental solution (so named by the origi
nal inventor, Deslauriers-Dubuc) of the subdivision scheme
• Obtained by cascade algorithm
)(x
Cascading (linear interpolation)
3,23,22,22,21,21,20,20,2 dsdsdsds
00000100
000010 21
21
0,1,0,0
0,0,0,0 .5, .5, 0,0
0, .5, 1, .5, 0,0,0,0
1,11,10,10,1 dsds
0100
21
21 10
41
21
43
43
21
41 10
0,1
0,0 .5, .5
0, .5,1, .5
.25, .75, .75, .25
0, .25, .5, .75, 1, .75, .5, .25
Cascading !
Compare with what we said before …
• From forward transform– Hi-wire: coarsened signal
– Lo-wire: difference signal
• Subdivision: Inverse transform with zero detail• Cascading: apply delta sequence to get impulse
response (literally)– Hi-wire: scaling functions
– Lo-wire: wavelets
Interpolating Scaling Functions
Properties of Scaling Functions
• Compact support– [-N+1, N-1]
• Interpolating
• Smoothness– N large, smoother …
• Polynomial reproduction– Polynomials up to
degree N-1 can be expressed as linear combinations of scaling functions
)(x
0for 0)(
1)0(
kk
Properties of Scaling Functions
• Refinability
)(x
1
)1(
)2()(N
Nll lxhx
zero-non are terms12Only
result thecall;
fromn subdivisio of step one do
:follows as obtained
,10,,0
N
shs
h
llkk
l
16
1,0,
16
9,1,
16
9,0,
16
1 :cubic
2
1,1,
2
1 :linear
l
l
h
h
ransform wavelet tinverse in thefilter
pass low theof FIR thedescribes lh
Computing the filter coefficients
0010
3,02,01,00,0 ssss
000010 21
21
1,0,12
121 ,1,
llh
0100
161
169
169
161 0100
3,,316
1169
169
161 ,0,,1,,0,
llh
N=2
N=4
Refinement Relations
kjk
kllj
ljl
klkj
shs
xhx
,2,1
,12, )()(
kjk
kllj
ljl
klkj
shs
xhx
,2,1
,12, )()(
21
21 1
0010sj
00000100upsampling
000010 21
21sj+1
21
21 1
21
21 1
21
21 1
21
21 1
1321sj
01030201upsampling
21
25
23 12321sj+1
21
21 1
21
21 1
21
21 1
21
21 1
21
21 1
21
21 1
21
21 1
Average-Interpolating Subdivision
Proposed by Donoho (1993)
Basic Ideas
Think of the signals as the intensity
obtained from CCD
Meaning of Signal sj,k
area = Sj,k (width)
Sj,k : the average signal in this interval
p(x)
CCD sensor
Averaging-interpolating subdivision (constant)
• Which (constant) polynomial would have produced these average?
• Subdivide according to the (implied) constant polynomial
Order = 1
Average-interpolating subdivision (quadratic)
Order = 3
defines the (implied) quadratic curve
produce the finer averages accordingly
Average-Interpolating (N=3)
j
j
j
j
j
j
k
kkj
k
kkj
k
kkj
dxxps
dxxps
dxxps
2)2(
2)1(1,
2)1(
2,
2
2)1(1,
)(
)(
)(
j
j
j
j
k
kkj
k
kkj
dxxps
dxxps
2)1(
2)(12,1
2)(
22,1
21
21
)(2
)(2
jk 2)1( jk 2 jk 2)1( jk 2)2(
jk 2)( 21
p(x) is the (implied) quadratic
polynomial
p(x) is the (implied) quadratic
polynomial
The coefficient “2” is due to half width
Average-Interpolating (N=3)
x
k jdyypxP
2)1()()( 3rd degree polynomial
)2)2((
)2)1((
)2(
)2)1((0
1,,1,
,1,
1,
jkjkjkj
jkjkj
jkj
j
kPsss
kPss
kPs
kP
)2)(()2)1((2
)2()2)((2
21
12,1
21
2,1
jjkj
jjkj
kPkPs
kPkPs
Define
4 conditions: P(x) can be d
etermined
Numeric Example (N=3)
)3(12
)2(8
)1(3
)0(0
1,,1,
,1,
1,
Psss
Pss
Ps
P
kjkjkj
kjkj
kj
125.5)4375.58(2
)5.1()2(2
875.4)34375.5(2
)1()5.1(2
12,1
2,1
PPs
PPs
kj
kj
Solve for P(1.5) =5.4375 using Lagrange polynomial (next page)
…
0 1 2 31.5
…
4531,,1, kjkjkj sss
4.875 5.125
Lagrange Polynomial
)3()23)(13)(03(
)2)(1)(0()2(
)32)(12)(02(
)3)(1)(0(
)1()31)(21)(01(
)3)(2)(0()0(
)30)(20)(10(
)3)(2)(1()(
Pxxx
Pxxx
Pxxx
Pxxx
xP
5.4375
12)23)(13)(03(
)25.1)(15.1)(05.1(8
)32)(12)(02(
)35.1)(15.1)(05.1(
3)31)(21)(01(
)35.1)(25.1)(05.1(0
)30)(20)(10(
)3)(2)(1()5.1(
xxx
P
Details
Derive Weighting (N=3)
)3(
)2(
)1(
)0(0
1,,1,
,1,
1,
Psss
Pss
Ps
P
kjkjkj
kjkj
kj
?)5.1( Solve P
)3()23)(13)(03(
)2)(1)(0()2(
)32)(12)(02(
)3)(1)(0(
)1()31)(21)(01(
)3)(2)(0()0(
)30)(20)(10(
)3)(2)(1()(
Pxxx
Pxxx
Pxxx
Pxxx
xP
1,161
,168
1,1617
1,,1,161
,1,169
1,169
1,,1,
,1,1,
)()(
)()23)(13)(03(
)25.1)(15.1)(05.1(
)()32)(12)(02(
)35.1)(15.1)(05.1()(
)31)(21)(01(
)35.1)(25.1)(05.1()5.1(
kjkjkj
kjkjkjkjkjkj
kjkjkj
kjkjkj
sss
ssssss
sss
sssP Check:
If sj,k-1 = sj, k= sj,k+1 = x,
P(1.5) = 1.5x = 24x/16
Consider in-place Computation
125.5)4375.5(2
)5.1()2(2
875.4)4375.5(2
)1()5.1(2
,1,
12,1
1,
2,1
kjkj
kj
kj
kj
ss
PPs
s
PPs
12,12,1
1,,1,
kjkj
kjkjkj
ss
sss
•Solution 1 : compute sj+1,2k+1 first
•Not a good solution… dependent on execution sequence
Problem: occupy the same piece of memory
Observe that …
)2)((222
)2)((2)2()2)1((2
:difference
)2()2)1((2
:average
21
,1,
21
2,112,1,
,2,112,1
jkjkj
jjj
kjkjkj
kjjjkjkj
kPss
kPkPkP
ssd
skPkPss
Utilize inverse Haar transform !
1,4
11,4
1
1,161
,168
1,1617
,1,
2,112,1,
,2,112,1
222
:difference2
:average
kjkj
kjkjkjkjkj
kjkjkj
kjkjkj
ss
sssss
ssd
sss
1,41
1,41
,AI )( kjkjkj sssP 1,41
1,41
,AI )( kjkjkj sssP
Closed form of quadratic PAI
Three-Stage Lifting
25.043
)(
52/)(
41
1,1,41
2,112,1,
2,112,1,
kjkjkjkjkj
kjkjkj
ssssd
sss
kjs 2,1
12,1 kjs
kjs ,
kjd ,
125.5875.425.0)(
875.42
25.05)(
2,1,12,1
,,2,1
kjHaarkjkj
kjHaarkjkj
sPds
dUss
Numerical Example (N=3)
3, 5, 4, 3
0, 0, 0, 0
0.5, 0.25, –0.5, –0.25
2.75, 4.875, 4.25, 3.125
3.25, 5.125, 3.75, 2.875
Merged Result: 2.75, 3.25, 4.875, 5.125, 4.25, 3.75, 3.125, 2.875
AI Subdivision
AI Scaling Function by Cascading (N=3)
0, 1, 0, 0
0, 0, 0, 0
0.25, 0, –0.25, 0
-0.125, 1, 0.125, 0
0.125, 1, -0.125, 0
Merged Result: -0.125, 0.125, 1, 1, 0.125, -0.125, 0, 0
Remark
• Recall inverse Haar preserves average …
• Implying …
• More about this later
Properties of Scaling Functions
• Compact support– [-N+1, N]
• Average-interpolating
• Polynomial reproduction– Up to degree N-1
• Smoothness:– continuous of order R(N)
• Refinability:– Obtained similarly as i
n interpolating subdivision
1283
1283
6411
6411
6411
6411
1283
1283
81
81
81
81
,,,,1,,,,
(1,5) CDF :quartic
,,1,1,,
(1,3) CDF :quadratic
l
l
h
h
0,
1)( k
k
kdxx
kjk
kllj
ljl
klkj
shs
xhx
,2,1
,12, )()(
Average-interpolating scaling functions
Summary
• Types of Predictors:– Interpolating
– Average-interpolating
– B-spline
• So far, we only considered subdivision in inverse transform. How about its role in forward transform?
• Roles of Predictors– In inverse transform
• Subdivision
– In forward transform:• Predict results to
generate the difference signal (low-wire)
• More …– On constructing more
powerful P boxes– Define “power”!?
MRA and Lifting(part I)
MRA Properties
• Scaling functions at all levels are dilated and translated copies of a single function
1
1
,
,
)2( then )( if :Dilation
)2( then )( if :nTranslatio
:Nestedness
),(span
)2()(
jj
jj
j
jj
ljj
jlj
VxfVxf
VkxfVxf
VV
ZlxV
lxx
)(x
Order of an MRA
• The order of MRA is N if every polynomial of degree < N can be written exactly as a linear combination of scaling functions of a given level
• The order of MRA is the same as the order of the predictor used to build the scaling functions
Graphing by Cascading
• Scaling functions: delta sequence on hi-wire
• Wavelets: delta sequence on lo-wire More on this later
Homeworks
• Derive the weights for cubic interpolation
• Implement cascading to see scaling functions (and wavelets) at different levels
• Use lifting to process audio data– Provide routines for read/write/plot data– denoising radio recordings (WAV)
undecided
Convention:
• Smaller index, smaller data set (coarser)
• 2D lifting the same as classical?!
• Lifting and biorthogonality!?
From lifting-2
• Filter coefficient • Refinement relations follow from the fact that subdivision from level 0 with s0,k and level 1 with s1,k should be the same.