You are on page 1of 22

Implementacin de algoritmos de

compresin de imgenes sobre


FPGA's: Diseo, Implementacin
y Optimizacin
Juan Jos Abelln Prez
Directores:Federico Garca Cresp
Otoniel M. Lpez Granado
Ingeniero de Telecomunicacin
Universidad Miguel Hernndez de Elche

Contenido
Introduccin
Objetivos
Implementacin
Resultados
Conclusiones y trabajo

futuro

Introduccin
La

compresin de imgenes cobra


importancia con la aparicin de Internet.

La

compresin permite reducir tanto el ancho


de banda necesario para transmitir imgenes
como la memoria necesaria para
almacenarlas.

Los

algoritmos usados para la compresin


son muy costosos de ejecutar en
procesadores tradicionales.

Introduccin

Las FPGAs han incrementando con los aos sus capacidades en


cuanto a velocidad, perifricos embebidos, nmero de componentes
lgicos, memoria, DSPs y procesadores embebidos, disminuyendo
su tamao y coste.

Con estas ventajas las FPGAs proporcionan los medios adecuados


para el procesado de imagen.

Objetivos

Desarrollar, ejecutar y comparar varios algoritmos de compresin de


imgenes:

JPEG
Es

un estndar. Algoritmo de compresin con prdidas


Muy usado hoy en da
Basado en la DCT
Calidad baja. Efecto Bloque
Diversas implementaciones en software y hardware

JPEG 2000
Es

un estndar. Compresin con y sin prdidas


Basado en la DWT
Mayor calidad que JPEG
Muy verstil pero muy costoso computacionalmente y uso alto de memoria
Diversas implementaciones en software y hardware

LTW
No

es un estndar. Compresin con prdidas


Basado en la DWT y rboles de coeficientes.
Calidad similar a JPEG 2000
Menor coste computacional que JPEG 2000
Desarrollado en software, hasta ahora no haba sido implementado en
hardware

Implementacin
Herramientas
Placa

utilizadas:

de desarrollo Digilent Genesys Virtex 5

Soft-Processor
MicroBlaze v
Memoria externa DDR2 de 256
Memoria FLASH de 32 MB
Puerto RS-232

Placa

7.30a
MB

de desarrollo Avnet Virtex 5 FX30T

Hard-Processor
Memoria externa

PowerPC 440
DDR2 64 MB
Mdulo system ACE
Puerto RS-232
PC
Procesador Intel Core i7
Memoria DDR3 de 4 GB

Q740

Implementacin
Aplicaciones

y desarrollo:

Dev-C++
Implementacin

y ejecucin de los algoritmos en software

JPEG
JasPer
LTW

Implementacin
Xilinx

EDK 12.1

Xilinx

Platform Studio (XPS)

Diseo

Xilinx

de arquitecturas hardware

Software Development Kit (SDK)

Ejecucin de los algoritmos


Debug y profiling

en las arquitecturas diseadas

Implementacin
Impulse

CoDeveloper 3.70

Diseo

de coprocesadores hardware usando Impulse C

Implementacin
Diseo

de arquitecturas con dos procesadores


JPEG

LTW

Resultados para JPEG


Ciclos y tiempo de ejecucin para la codificacin
Barbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

Arquitectura

Ciclos

T(s)

Ciclos

T(s)

Ciclos

T(s)

MBlazeA

237189512

1,8975

589045620

4,7124

2024568921

16,1966

MBlazeB

126029603

1,0082

490480310

3,9238

1791521916

14,3322

MBlazeC

77570314

0,6206

245959040

1,9677

923959980

7,3917

PPC

106129291

0,2653

391794180

0,9795

2005161875

5,0129

Core i7

0,1728

0,8943

4,6288

DMblazeD

19673619

0,1574

112181503

0,8975

574965569

4,5997

Relacin seal a ruido de pico


Tamao
Original(KB)

Tamao Final
(KB)

bpp

Barbara
(512x512) 8 bpp

256

24

0,75

28,8

Lena (512x512)
8 bpp

256

18

0,5625

26,78

Earth(1024x1024)
8 bpp

1024

64

0,5

24,66

Caf(2048x2560)
8 bpp

5120

656

1,025

23,80

Bike (2048x2560)
8 bpp

5120

426

0,665625

24,05

PSNR (dB)

SpeedUp JPEG
14

12.06

12

10
MicroBlazeA
MicroBlazeB
MicroBlazeC
PowerPC
DualMicroBlazeD

SpeedUp

8
7.15

6
4.81

5.25

3.23

3.06
2.39

2.19

1.88

2
1

1.20

1.13

0
Brbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

3.52

Resultados para JPEG 2000


Ciclos y tiempo de ejecucin para la codificacin con una tasa fija de 0,5 bpp
Barbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

Arquitectura

Ciclos

T(s)

Ciclos

T(s)

Ciclos

T(s)

MBlazeA

490064208

3,9205

1447544506

11,5804

MBlazeB

300374003

2,4030

866967324

6,9357

2095271584

16,7622

PowerPC

191330219

0,4783

552342993

1,3809

1967489210

4,9187

Core i7

0,0498

0,1457

1,2147

Relacin seal a ruido de pico


PSNR(dB)
Tasa de bit

Lena

Barbara

Earth

Caf

Bike

44.62

43,93

49,44

39,09

44,01

40,31

37,99

44,50

32,04

38,09

0,5

37,22

32,83

38,23

26,79

33,50

0,25

34,03

28,74

34,40

23,12

29,58

0,125

30,84

25,69

31,59

20,74

26,32

0,0625

27,81

23,67

29,28

19,03

23,75

SpeedUp JPEG 2000


18
16.77

16.39
16

13.89

14

SpeedUp

12
10

MicroBlazeA
MicroBlazeB
PowerPC

8
6
4
2

3.26
2.04

1.67
1

Brbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

Resultados LTW
Ciclos y tiempo de ejecucin para la codificacin con 6 niveles en la transformada
Wavelet y una tasa fija de 0,5 bpp
Barbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

Arquitectura

Ciclos

T(s)

Ciclos

T(s)

Ciclos

T(s)

MBlazeA

220011314

1,7601

446702770

3,5736

1182915687

9,4633

MBlazeB

58030165

0,4642

162699517

1,3016

872464984

6,9797

MBlazeC'

34622466

0,2770

117552849

0,9404

620527038

4,9642

PowerPC

44772537

0,1119

141582721

0,3540

768686960

1,9217

DMBlaceD'

4454421

0,0356

17643019

0,1411

81341222

0,6507

Core i7

0,0295

0,0654

0,3185

Relacin seal a ruido de pico


PSNR (dB)
Tasa de bit

Lena

Barbara

Earth

Caf

Bike

45,46

43,78

48,00

39,11

43,92

40,50

37,73

43,57

32,03

37,92

0,5

37,35

32,49

38,43

26,86

33,28

0,25

34,31

26,30

34,62

23,24

29,42

0,125

31,27

25,69

31,80

20,76

26,14

0,0625

28,47

23,84

29,49

19,03

23,57

SpeedUp LTW
60.00

49.39

50.00

SpeedUp

40.00
MicroBlazeA
MicroBlazeB
MicroBlazeC'
PowerPC
DualMicroBlazeD'

30.00
25.32

20.00
15.72

14.54
10.10

10.00
6.35
3.79
1

2.75

4.92

3.80
1

1.36 1.91

0.00
Barbara (512x512)

Earth (1024x1024)

Caf (2048x2560)

Comparacin
Tamaos ocupados en las FPGAs por las distintas arquitecturas
Slices

BRAMs(36K)

DSP48E

Tamao Total

7200

60

48

MBlazeA

2298

19

MBlazeC(JPEG)

2736

47

MBlazeB

3419

34

MblazeC'(LTW)

3786

43

16

DMBlazeD(JPEG)

5005

46

12

DMBlazeD'(LTW)

5671

52

22

Slices

BRAMs(36K)

DSP48E

Tamao Total

5120

68

64

PowerPC

2395

13

Comparacin de la relacin seal a ruido en los tres algoritmos


PSNR(dB)
Lena

Brbara

Earth

Caf

Bike

LTW

37,35

32,49

38,43

26,86

33,28

JPEG
2000

37,22

32,83

38,23

26,79

33,50

JPEG

28,88

26,78

24,66

23,80

24,05

Comparacin

JPEG: 512x512x0.5bpp
PSNR: 28.88 dB

Original: 512x512x8bpp

JPEG 2000: 512x512x0.5bpp


PSNR: 37.22

LTW: 512x512x0.5bpp
PSNR: 37.35 dB

Comparacin

4.00

7.84

3.75
3.50
3.25
3.00
2.75

Tiempo de Ejecucin (s)

2.50

2.40

2.25
2.00

1.90
1.76

1.75
1.50
1.25
1.01

1.00
0.75

0.62
0.48

0.50
0.03 0.05

0.11

0.04

0.28

0.27

0.16

LTW

0.17

JPEG

0.25

0.46

0.00

MicroBlaze
A

JasPer

JPEG

MicroBlaze
B

LTW

JasPer

JPEG

MicroBlaze
C'/C

LTW

JPEG

PowerPC

LTW

JasPer

Dual
MicroBlaze
D'/D

JPEG

LTW

JPEG

JasPer

LTW

Core i7

Conclusiones
Los

algoritmos implementados basados en la DWT


ofrecen una mejora de calidad considerable respecto
a JPEG.

LTW

es el algoritmo ms rpido independientemente


de la arquitectura en la que se ejecute, ofreciendo
una calidad similar a JPEG 2000 y superior a JPEG.

El

uso de tcnicas de codiseo hardware-software


nos permite acelerar algoritmos diseados para
ejecutarse en un entorno software.

Trabajo futuro
Implementar

los coprocesadores directamente

en VHDL.
Usar

los coprocesadores creados para funcionar


con PowerPC.

Implementar

un compresor de video a partir de


los diseos realizados.

Turno de Preguntas

You might also like