You are on page 1of 15

EE S632

Chapter 10
Wavelet transforms that map integers
to integers
Authors:
A.R CALDERBANK, !NCR!D DAUBECH!ES,
W!N SWELDENS, AND BOONLOCK YEO
August 1336
1
outline
!ntroduction
S transform
The lifting scheme
Lifting and integer wavelet transforms
Examples
Experiment results
Conclusion
2
!ntroduction
!nvertible wavelet transforms that map
integer to integers lossless coding.
!nteger Fourier and cosine transforms
!n this paper, we present two approaches
that lead to wavelet transform that map
integers to integers:
!nspired by precoding
Combining the lifting constructions with rounding
off in a reversible way
Not an integer arithmetic wavelet transforms
3
S transform
Haar transform
Not an integer transform
!nteger version
Omitting the division by two
S transform(Sequential)
2
1 2 , 0 2 , 0
, 1

l l
l
s s
s
l l l
s s d
2 , 0 1 2 , 0 , 1

2 /
, 1 , 1 2 , 0 l l l
d s s
2 /
, 1 , 1 1 2 , 0 l l l
d s s

analysis
synthesis

S transform(cont.)
The sum and the difference of two integers
are either both even or both odd.
We can safely omit the last bit of the sum.
Example:
S+8=13 , 8S=3 both odd
0101+1000=1101 , 10000101=0011
S
1,0
6:0110
(2)
d
1,0
3:0011
(2)
S+7=12 , 7S=2 both even
0101+0111=1100 , 01110101=0010

2 / ) (
1 2 , 0 2 , 0 , 1

l l l
S S S
l l l
S S d
2 , 0 1 2 , 0 , 1

analysis
S
S transform(cont.)
Example:(S,8)
S
1,0
6:0110
(2)
d
1,0
3:0011
(2)
S
0,0
S:0101
(2)
S
0,1
8:1000
(2)
!t is not clear how to generalize this approach to
other wavelet filters.
Another way to write the Haar transform using
lifting steps,leads to a natural generalization.

2 /
, 1 , 1 2 , 0 l l l
d s s

2 / ) 1 ( ,
, 1 2 , 1 1 2 , 0

l l l
d s s
synthesis

2 / ) (
1 2 , 0 2 , 0 , 1

l l l
S S S
l l l
S S d
2 , 0 1 2 , 0 , 1
,

analysis
6
S transform(cont.)
l l l
s s d
2 , 0 1 2 , 0 , 1

2 /
, 1 2 , 0 , 1 l l l
d s s
2 /
, 1 , 1 2 , 0 l l l
d s s
l l l
s d s
2 , 0 , 1 1 2 , 0


2 / ) 1 ( 2 / d d d

2 /
, 1 , 1 2 , 0 l l l
d s s

2 / ) 1 (
, 1 2 , 1 1 2 , 0

l l l
d s s
analysis
synthesis
This example shows that lifting allows us to obtain an
integer transform using simply truncation and without
losing invertibility.
7
The lifting scheme
There are two ways of looking at lifting:
Basis function point of view
Transform point of view
The lifting algorithm can be described in
three steps:
Split step: The original signal, x
k
, is split into two
odd and even subsequences (lazy wavelet
transform):
1 2
0
2
0
,



d s
8
The lifting scheme(cont.)
Lifting step: This step is executed as N substeps,
where the odd and even subsequences are filtered by
the prediction and update filters, P
n
(k) and U
n
(k):
3 d k U s s
3 s k P d d
k
3
3
3

k
3
3
3

, , 2 , 1 , ) (
, , 2 , 1 , ) (
1
1 1

3
!
3
&
3
8

3
/

3
/

3
Forward
Backward
8

3
!
3
&
3
8

3
/

3
/

3
-
-

The lifting scheme(cont.)


Normalization step:

d K d s K s
1 0
,
l l
s s
2 , 0
) 0 (
, 1

1 2 , 0
) 0 (
, 1
,

l l
s d

k l

l
s p d d
) 1 (
, 1
) ( ) 1 (
, 1
) (
, 1

k l

l
d u s s
) (
, 1
) ( ) 1 (
, 1
) (
, 1
Forward wavelet transform Backward wavelet transform
10
Lifting and integer wavelet transforms
Write every wavelet transform using lifting
Build an integer version of every transform
!n each step roundoff the result of the filter
!nvertible
]ust flipping the signs and reversing the
operations

2 / 1
) 1 (
, 1
) ( ) 1 (
, 1
) (
, 1
k

k l

l
s p d d

2 / 1
) (
, 1
) ( ) 1 (
, 1
) (
, 1
k

k l

l
d u s s
11
Examples(integer |S,3] filter)
s
0
0
d
0
0
s
1
0
d
1
0
s
2
0
d
2
0
s
3
0
nput sequence
4
1
4
1
1
s
0
1
4
1
4
1
1
s
1
1
4
1
4
1
1
s
2
1
1
s
3
1
Low-pass output
0
1
0 0 0
1
0
1
0
1
0 0 0 0
1
0
1
0 1 1
1
0 1
8
1
4
1
4
3
4
1
8
1
) (
2
1
) (
2
1
4
1
) (
4
1



s d s d s s s d s s d s d d s s
1
1 0
K K
2
1

2
1

1
2
1

2
1

1
2
1

2
1

1
d
0
1
d
1
1
d
2
1
igh-pass output
) (
2
1
0
1
0 0 1



s s d d
12
aubechies (, 7) filter
2
i 0 i
2
i 1 i
2
i
2
1 i
1
i
2
i
1
1 i
1
i
1
i
2
i
1
i
1
1 i
0
i
1
i
0
1 i
0
i
0
i
1
i
2i
0
i 1 2i
0
i
s K s , d K d
) d (d o s s , ) s (s d d
) d (d s s , ) s (s d d
s s , s d
L L
L L
L L


-
1
1 0
K K , 8 1.14960439 K K
22, 0.44350685 o , 62 0.88291107
854, 0.05298011 , 2 1.58613434 u




2
1

2
1

2
1

2
1

13
Experiment results
S1 S0 60 S7 60 S8 S6 S8
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
16 16 1S7 1SS 161 1S 1S8 1S
160 160 163 1S8 160 161 1S 1SS
11 1 1S0 1 3 1 2 0
2S7 2S6 2SS 2S6 0 1 7 3
238 23 238 23 2 1 7 2
27 22 21 21 2 0 1
66 61 60 62 2 1 2 2
10 10 10 0 0 0 0
3 2 1 0 2 1 2 1
S 1 0 S 0 2
S1 S0 60 S7 60 S8 S6 S8
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
162 162 162 161 162 1S6 163 160
16 16 1S7 1SS 161 1S 1S8 1S
160 160 163 1S8 160 161 1S 1SS
NSE = 0
1
Conclusion
!nvertible wavelet transforms that map integers to
integers have important applications in lossless
coding.
This approach builds upon the idea of factoring
wavelet transforms into lifting steps.
Easy to implement by hardware
1S

You might also like