Presentacion Algoritmos compresion de imágenes

download Presentacion Algoritmos compresion de imágenes

of 22

description

Presentacion Algoritmos compresion de imágenes

Transcript of Presentacion Algoritmos compresion de imágenes

Implementacin de algoritmos de compresin de imgenes sobre FPGA's: Diseo, Implementacin y Optimizacin

Juan Jos Abelln Prez

Directores:Federico Garca CrespOtoniel M. Lpez Granado

Ingeniero de TelecomunicacinUniversidad 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:JPEGEs 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 2000Es 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

LTWNo 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 utilizadas:Placa de desarrollo Digilent Genesys Virtex 5Soft-ProcessorMicroBlaze v 7.30a

Memoria externa DDR2 de 256 MB

Memoria FLASH de 32 MB

Puerto RS-232

Placa de desarrollo Avnet Virtex 5 FX30THard-ProcessorPowerPC 440

Memoria externa DDR2 64 MB

Mdulo system ACE

Puerto RS-232

PC Procesador Intel Core i7 Q740

Memoria DDR3 de 4 GB

Implementacin

Aplicaciones y desarrollo:Dev-C++Implementacin y ejecucin de los algoritmos en software

JPEG
JasPerLTW

Implementacin

Xilinx EDK 12.1Xilinx Platform Studio (XPS)Diseo de arquitecturas hardware

Xilinx Software Development Kit (SDK)Ejecucin de los algoritmos en las arquitecturas diseadas

Debug y profiling

Implementacin

Impulse CoDeveloper 3.70Diseo de coprocesadores hardware usando Impulse C

Implementacin

Diseo de arquitecturas con dos procesadores

JPEG

LTW

Resultados para JPEG

Barbara (512x512)Earth (1024x1024)Caf (2048x2560)

ArquitecturaCiclosT(s)CiclosT(s)CiclosT(s)

MBlazeA2371895121,89755890456204,7124202456892116,1966

MBlazeB1260296031,00824904803103,9238179152191614,3322

MBlazeC775703140,62062459590401,96779239599807,3917

PPC1061292910,26533917941800,979520051618755,0129

Core i7-0,1728-0,8943-4,6288

DMblazeD196736190,15741121815030,89755749655694,5997

Tamao Original(KB)Tamao Final (KB)bppPSNR (dB)

Barbara (512x512) 8 bpp256240,7528,8

Lena (512x512) 8 bpp256180,562526,78

Earth(1024x1024) 8 bpp1024640,524,66

Caf(2048x2560) 8 bpp51206561,02523,80

Bike (2048x2560) 8 bpp51204260,66562524,05

Ciclos y tiempo de ejecucin para la codificacin

Relacin seal a ruido de pico

SpeedUp JPEG

Resultados para JPEG 2000

Barbara (512x512)Earth (1024x1024)Caf (2048x2560)

ArquitecturaCiclosT(s)CiclosT(s)Ciclos T(s)

MBlazeA4900642083,9205144754450611,5804--

MBlazeB3003740032,40308669673246,9357209527158416,7622

PowerPC1913302190,47835523429931,380919674892104,9187

Core i7-0,0498-0,1457-1,2147

Ciclos y tiempo de ejecucin para la codificacin con una tasa fija de 0,5 bpp

PSNR(dB)

Tasa de bitLenaBarbaraEarthCafBike

244.6243,9349,4439,0944,01

140,3137,9944,5032,0438,09

0,537,2232,8338,2326,7933,50

0,2534,0328,7434,4023,1229,58

0,12530,8425,6931,5920,7426,32

0,062527,8123,6729,2819,0323,75

Relacin seal a ruido de pico

SpeedUp JPEG 2000

Resultados LTW

Barbara (512x512)Earth (1024x1024)Caf (2048x2560)

ArquitecturaCiclosT(s)CiclosT(s)Ciclos T(s)

MBlazeA2200113141,76014467027703,573611829156879,4633

MBlazeB580301650,46421626995171,30168724649846,9797

MBlazeC'346224660,27701175528490,94046205270384,9642

PowerPC447725370,11191415827210,35407686869601,9217

DMBlaceD'44544210,0356176430190,1411813412220,6507

Core i7 -0,0295-0,0654-0,3185

Ciclos y tiempo de ejecucin para la codificacin con 6 niveles en la transformadaWavelet y una tasa fija de 0,5 bpp

PSNR (dB)

Tasa de bitLenaBarbaraEarth CafBike

245,4643,7848,0039,1143,92

140,5037,7343,5732,0337,92

0,537,3532,4938,4326,8633,28

0,2534,3126,3034,6223,2429,42

0,12531,2725,6931,8020,7626,14

0,062528,4723,8429,4919,0323,57

Relacin seal a ruido de pico

SpeedUp LTW

Comparacin

SlicesBRAMs(36K)DSP48E

Tamao Total 72006048

MBlazeA2298193

MBlazeC(JPEG)2736479

MBlazeB3419346

MblazeC'(LTW)37864316

DMBlazeD(JPEG)50054612

DMBlazeD'(LTW)56715222

SlicesBRAMs(36K)DSP48E

Tamao Total51206864

PowerPC2395513

PSNR(dB)

LenaBrbaraEarthCafBike

LTW37,3532,4938,4326,8633,28

JPEG 200037,2232,8338,2326,7933,50

JPEG28,8826,7824,6623,8024,05

Tamaos ocupados en las FPGAs por las distintas arquitecturas

Comparacin de la relacin seal a ruido en los tres algoritmos

Comparacin

Original: 512x512x8bpp

LTW: 512x512x0.5bppPSNR: 37.35 dB

JPEG: 512x512x0.5bppPSNR: 28.88 dB

JPEG 2000: 512x512x0.5bppPSNR: 37.22

Comparacin

Core i7

Dual MicroBlazeD'/D

MicroBlazeC'/C

PowerPC

MicroBlazeB

MicroBlazeA

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

SpeedUpMicroBlazeAMicroBlazeBMicroBlazeCPowerPCDualMicroBlazeD

Brbara (512x512)11.882014275646023.05773561777777.15171494412.0562216844801

Earth (1024x1024)11.200956711187862.394893149688664.81106172485.2508266001749

Caf (2048x2560)11.13008325654222.19118680984433.2309713382723.52120027729869

SpeedUpMicroBlazeAMicroBlazeBMicroBlazeC'PowerPCDualMicroBlazeD'

Barbara (512x512)13.791326708062616.3545824389799415.724733356307149.3916750207895

Earth (1024x1024)12.745569121489093.8000165373952110.096209869031325.3227852928489

Caf (2048x2560)11.355831704752821.906308049107074.9244105791987314.5426348183947

Tiempo de Ejecucin (s)Columna H

LTW0.029488354977827

JasPer0.0497685777906304

JPEG0.172762

NaN

LTW0.035635368

JPEG0.157388952

NaN

LTW0.111931342530287

JPEG0.265323228184862

JasPer0.47832554741491

NaN

LTW0.276979728

JPEG0.620562512

NaN

LTW0.46424132

JPEG1.008236824

JasPer2.402992024

NaN

LTW1.76009051550224

JPEG1.897516096

JasPer7.84102732

SpeedUpMicroBlazeAMicroBlazeBPowerPC

Brbara (512x512)13.2630267773206716.3926584360306

Earth (1024x1024)11.6696644336274916.7727027605796

Caf (2048x2560)12.0379816309292313.8901905338612