View
92
Download
1
Category
Preview:
Citation preview
Wavelet Lifting onApplication Specific Vector Processor
David Barina Pavel Zemcik
Faculty of Information Technology, BUT, Czech Republic
September 17, 2013
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 1 / 13
Motivation
discrete wavelet transform (DWT)
compression, e.g. JPEG 2000, Dirac
lifting scheme is SIMD-friendly
feasible for embedded systems
evaluated on Application Specific Vector Processor (ASVP)
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 2 / 13
Separability
2D using 1D
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 3 / 13
Lifting CDF 9/7
lifting scheme
P(z) =
[1 α(1 + z−1)0 1
] [1 0
β(1 + z) 1
][
1 γ(1 + z−1)0 1
] [1 0
δ(1 + z) 1
] [ζ 00 1/ζ
]
α, β, γ, δ
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 4 / 13
Lifting CDF 9/7
lifting scheme practically
s(0)l = x2l
d(0)l = x2l+1
d(1)l = d
(0)l +α (s
(0)l + s
(0)l+1)
s(1)l = s
(0)l +β (d
(1)l + d
(1)l−1)
d(2)l = d
(1)l +γ (s
(1)l + s
(1)l+1)
s(2)l = s
(1)l +δ (d
(2)l + d
(2)l−1)
sl = ζ s(2)l
dl = d(2)l /ζ
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 5 / 13
Data flow graph
α
β
γ
δ
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 6 / 13
Horizontal vectorisation
α
β
γ
δ
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 7 / 13
Vertical vectorisation
α
β
γ
δ
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 8 / 13
ASVP platform
bus
CPU
BCE
DMA
banks
SDRAM
sCPU VPU
memory
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 9 / 13
FPGA kit SP605
Figure : Xilinx Spartan-6 FPGA SP605 Evaluation Kit
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 10 / 13
ASVP platform
two C source codes (MicroBlaze + PicoBlaze)
accelerate operations on vectors of floats
Vector operations
VCOPY M0[i ]← M1[j ]
VADD M0[i ]← M1[j ] + M2[k]
VSUB M0[i ]← M1[j ]−M2[k]
VMUL M0[i ]← M1[j ] ·M2[k]
VMAC M0[i ]← M3[l ] + (M1[j ] ·M2[k])
VMSUBAC M0[i ]← M3[l ]− (M1[j ] ·M2[k])
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 11 / 13
Evaluation
100n
1µ
10µ
100µ
10.0 100.0 1.0k 10.0k 100.0k 1.0M
seco
nd
s/sa
mp
le
horizontal BCEvertical
samples
horizontal CPU
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 12 / 13
Summary
two methods compared on ASVP platform
achieved speedup is up to 2.6×next research: an adaptation to the 2-D wavelet transform
vectorisation µs/sample speedup
CPU horizontal 1.1 1.0CPU vertical 0.8 1.4BCE horizontal 0.4 2.6
David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 13 / 13
Recommended