13
Wavelet Lifting on Application 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

Wavelet Lifting on Application Specific Vector Processor

Embed Size (px)

Citation preview

Page 1: Wavelet Lifting on Application Specific Vector Processor

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

Page 2: Wavelet Lifting on Application Specific Vector Processor

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

Page 3: Wavelet Lifting on Application Specific Vector Processor

Separability

2D using 1D

David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 3 / 13

Page 4: Wavelet Lifting on Application Specific Vector Processor

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

Page 5: Wavelet Lifting on Application Specific Vector Processor

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

Page 6: Wavelet Lifting on Application Specific Vector Processor

Data flow graph

α

β

γ

δ

David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 6 / 13

Page 7: Wavelet Lifting on Application Specific Vector Processor

Horizontal vectorisation

α

β

γ

δ

David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 7 / 13

Page 8: Wavelet Lifting on Application Specific Vector Processor

Vertical vectorisation

α

β

γ

δ

David Barina, Pavel Zemcik (FIT BUT) Wavelet Lifting on ASVP September 17, 2013 8 / 13

Page 9: Wavelet Lifting on Application Specific Vector Processor

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

Page 10: Wavelet Lifting on Application Specific Vector Processor

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

Page 11: Wavelet Lifting on Application Specific Vector Processor

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

Page 12: Wavelet Lifting on Application Specific Vector Processor

Evaluation

100n

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

Page 13: Wavelet Lifting on Application Specific Vector Processor

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