Transcript
Page 1: Fast Algorithms for  Discrete Wavelet Transform

Fast Algorithms for Discrete Wavelet Transform

Review and Implementation

by Dan LiF2000

Page 2: Fast Algorithms for  Discrete Wavelet Transform

DWT and FWT: Significance

DWTDWT Multi-resolution mode to access

the information Extensively (and intensively)

used in information processing Advantage over other

transformse.g. (in JPEG 2000), DWT provides 20-30% improvement in compression efficiency as oppose to DCT.

FWTFWT Multi-resolution mode to access

the information DWT: intensive computation

and large memory requirement. FWT makes DWT practicable in

real applications Main factors controlling the

speed of DWT:– Filter length– Floating point operation vs.

integer operation

Page 3: Fast Algorithms for  Discrete Wavelet Transform

FWT Algorithm: An Outline

“Regular” Structure

Mallat Straightfoward Filter Bank

Polyphase Transversal Filters#

Polyphase Short-length Filters*

Classical Lattice Filters

CORDIC Lattice Filters

Lifting Scheme and Integer WT

Binomial QMF Filters (* also known as “fast-running FIR algo”)

(* based on FFT for fast filtering)

“Irregular” Structure

“Regular” Structure

Page 4: Fast Algorithms for  Discrete Wavelet Transform

FWT Algorithm: An Overview (I)H(z)

G(z)

H(z)

G(z)

H(z)

G(z)

x[n]D1

D2

D3

A3A2A1

2

2

2

2 2

2

A1

D1

G0(z)

x[n]

2

2H0(z)

G1(z)

H1(z)

x0[n]

x1[n-1]z-1

x[n]

2

2 -

z-1

z-1

H0(z)

H0(z)+H1(z)

H1(z)

-

+

+-

+

-+

D1

A1

Mallat Filter Bank

Transversal Filters

Short-length Filters

Page 5: Fast Algorithms for  Discrete Wavelet Transform

c0

A1

D1

x[n]

2

2 x0[n]

x1[n-1]z-1

(1+z-1)3

(1-z-1)3

(1+z-1)2

(1+z-1)(1-z-1)

(1-z-1)2

(1+z-1)2

(1+z-1)(1-z-1)

(1-z-1)2

c1

c2

-c0

c1

-c2

A1

D1

1

1

2-2

-2-2

z-1

11

2

2

z-1

K’

1

-2-2

2-2

1

-1

1x[n]

-2-4

2-8

2-16

-0 -2 2

x[n]

2

2x0[n]

x1[n-1]

z-1

...

p1(z)

q1(z)

p2(z)

q2(z)

pM(z)

qM(z)

K1

K2

A1

D1

s(0)

d(0)

s(1)

d(1)

s(2)

d(2)

s(M)

d(M)

x[n]

2

2

z-1

K’

cos 0

cos 0

sin0

-sin0

cos 1

cos 1

sin1

-sin1...

A1

D1

cos L

cos L

sinL

-sinL

z-1z-1-1

FWT Algorithm: An Overview (II)

Binomial QMF

Classical Lattice

CORDIC Lattice

Lifting Ladder

Page 6: Fast Algorithms for  Discrete Wavelet Transform

Comput. Complexity: A Comparison

05

101520253035

0 10 20 30 40

Mallat FBTran.Filter (FFT)Tran.Filter(Short-length)

# of mults

Filter length L

05

101520253035

0 10 20 30 40

Mallat FB

Tran.Filter (FFT)

Tran.Filter(Short-length)# of adds

Filter length L

0

1020

3040

50

5 10 15 20

Tran.Filter (FFT)

Tran.Filter(Short-length)

Binomial QMF filters

Classical Lattice

CORDIC LatticeWord length w (bits)

# of addersneeded

Arithmetic Complexity (per input point & per decomposition cell)

Computational Structure Complexity (per filter coefficient)

Page 7: Fast Algorithms for  Discrete Wavelet Transform

“Efficiency” in the sense of arithmetic complexity and computational structure

Straightforward filter bank: classical and used in many commercial s/w

Polyphase structure: more efficient than direct FB. (Worthy of further exploration!)

FFT based filtering: efficient for medium or long filters

Fast running FIR filter: good for short filters Binomial QMF: reduces the # of mults with

expense of additional adds Lattice: easier to implement with each relatively

simpler stages CORDIC: most suitable fore efficient VLSI

implementation since only addition and shifts involved and least possible adders required

Lifting scheme: lead to IWT which is faster than floating-point DWT and ideal for lossless coding/compression.

Implementation focused on the following:

Fast filtering for short and long filters

Various formats of polyphase structures

Reformulation of polyphase transversal filter with the consideration of reduced inter-channel communication

Integer filter and IWT implementations

Simulations

Comments, Implementations, etc.


Recommended