180 likes | 375 Views
Realizzazione di un IP-Core per il trattamento dell ’ immagine mediante tecniche di hardware software codesign. Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO. Tesi di Laurea di: Andrea Ardemagni Matteo Sangalli. A.A. 2004/2005.
E N D
Realizzazione di un IP-Core per il trattamento dell’immagine mediante tecniche di hardware software codesign Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO Tesi di Laurea di: Andrea Ardemagni Matteo Sangalli A.A. 2004/2005
Sommario • Obiettivi • Hardware software codesign • Trattamento dell’immagine • Caratteristiche innovative del formato JPEG2000 • Algoritmo di compressione e Trasformazione delle componenti • Introduzione alla tecnologia delle FPGA • Metodologia di progetto e implementazione dell’IP-Core • Test e prestazioni • Conclusioni e sviluppi futuri Andrea Ardemagni - Matteo Sangalli
Obiettivi • Realizzazione di un IP-Core per la trasformazione nel piano dei colori di un’immagine mediante tecniche di hardware software codesign; • Integrazione dell’IP-Core all’interno di un’architettura a singolo processore; • Comparazione delle prestazioni tra il modulo realizzato con progettazione “mista” ed uno esclusivamente software. Andrea Ardemagni - Matteo Sangalli
Hardware Software Codesign Fasi di progettazione: • pianificazione • validazione • implementazione • test e verifica Andrea Ardemagni - Matteo Sangalli
JPEG2000 - Caratteristiche Innovative • Sistema di codifica unico • Compressione con perdita di informazione (lossy) e senza perdita (lossless) • A bassi bit-rate, qualità visiva dell’immagine JPEG200 migliore rispetto a quella JPEG • Concetto di ”zona di interesse” (ROI, Region Of Interest) di un’immagine • Resistenza alla propagazione degli errori Andrea Ardemagni - Matteo Sangalli
JPEG2000 – Algoritmo di compressione Immagine originale Immagine originale Pre-processing Pre-processing Trasformata Wavelet Trasformata Wavelet Quantizzazione Quantizzazione Codifica Entropica Codifica Entropica Immagine compressa • Immagine non compressa Bitmap nello spazio colore RGB (Red, Green, Blue) a 24 bit • Trasformata Wavelet Discreta (DWT): • Applicata ad ogni singolo tile di ogni componente • Vero cuore della conversione delle immagini • Attarverso filtri passa-alto e passa-basso vengono eliminati i dettagli meno significativi dell’immagine • Suddivisione dell’immagine in tile • Trasformazione delle componenti:Red Green Blue • Discretizzati i risultati dell’uscita dei filtri della trasformata Wavelet • Tecnica per ridurre la quantità di memoria, impiegata per rappresentare le informazioni più significative dell’immagine rimasta Caso di studio Trasformazione delle componenti: RGB YCbCr Y Cb Cr Andrea Ardemagni - Matteo Sangalli
JPEG2000 – Trasformazione Delle Componenti Cause della trasformazione: • RGB: colore e luminosità fuse insieme in ogni componentecompressione: perdita significativa della qualità dell’immagine • YCbCr: Y – luminanza: grado di luminosità in scala di grigi Cb, Cr – componenti relative alla crominanza compressione: applicata principalmente alle componenti Cb, Cr senza intaccare la luminosità – qualità visiva migliore Andrea Ardemagni - Matteo Sangalli
Virtex-II pro Evaluation Board FPGA XC2VP7 Virtex-II pro Connettore JTAG Portaseriale Alimentazione Andrea Ardemagni - Matteo Sangalli
FPGA - Introduzione • FPGA (Field Programmable Gate Array) Bloccodi Input/output Bloccologico configurabile Interconnessioni configurabili Andrea Ardemagni - Matteo Sangalli
Metodologia Di Progetto Acquisizione dell’immagine Bitmap in ingresso SW Gestione e lettura dei pixel RGB Lettura dei pixel Finali YCbCr Invio dei pixel RGB all’elaboratore Moltiplicazione matriciale dei pixel HW comunicazione comunicazione Andrea Ardemagni - Matteo Sangalli
Implementazione dell’IP-Core Bus per la comunicazione tra Il microprocessore e l’IP-Core Bus PLB IP-CORE plb_molt Interfaccia di collegamento con il bus IPIF Interfaccia tral’IPIF e la User Logic IPIC User Logic Operazioni di lettura e scrittura sui registri plb_molt_core Elaborazione dei pixel Andrea Ardemagni - Matteo Sangalli
Architettura hardware Bus PLB Bus OPB PowerPC IP-Core realizzato Figura tratta da EDK: Embedded Development Kit Andrea Ardemagni - Matteo Sangalli
IP-Core: doppio moltiplicatore 0 SW RGB1 User Logic: scrittura su regsitri RGB2 t1 Bus PLB SW RGB3 User Logic: scrittura su regsitri Plb_molt_core: elaborazione RGB1 e RGB2 RGB4 t2 Bus PLB SW YCbCr1 YCbCr2 User Logic: lettura da regsitri t3 Bus PLB SW RGB.. User Logic: scrittura su regsitri Plb_molt_core: elaborazione RGB3 e RGB4 RGB.. t4 Bus PLB SW YCbCr3 YCbCr4 User Logic: lettura da regsitri t5 Bus PLB t Andrea Ardemagni - Matteo Sangalli
Memory-map e Driver Memoria dell’IP-Core SW: System.c OFFSET 0 8 16 24 31 0x 000 RGB 1 0 Red_1 Green_1 Blue_1 OPERAZIONI DI LETTURA \ SCRITTURA 0x 004 RGB 2 0 Red_2 Green_2 Blue_2 0x 008 RGB 3 0 Red_3 Green_3 Blue_3 Driver 0x 010 RGB 4 0 Red_4 Green_4 Blue_4 MEMORIA DI APPOGGIO PER LE OPERAZIONI DI SCRITTURA DEI REGISTRI Bus PLB 0x030 INUTILIZZATO 0x040 Y_1-2 Y_3-4 YCbCr 1 e 2 0x044 HW: IP-Core plb_molt Cb_1-2 Cb_3-4 0x048 Cr_1-2 Cr_3-4 Andrea Ardemagni - Matteo Sangalli
Test Effettuati Modulo esclusivamente software Modulo esclusivamente software (PLB) Confronto delle prestazioni temporali Singolo Moltiplicatore 32 bit (bus OPB) Doppio moltiplicatore 32 bit (bus OPB) Doppio moltiplicatore 32 bit (bus PLB) Doppio moltiplicatore 64 bit (bus PLB) Doppio moltiplicatore 64 bit (bus PLB) Andrea Ardemagni - Matteo Sangalli
Prestazioni Andrea Ardemagni - Matteo Sangalli
Conclusioni e Sviluppi Futuri • Le prestazioni del modulo progettato mediante hardware software codesign sono decisamente migliori di quelle ottenibili utilizzando una gestione puramente software • Il “collo di bottiglia” di questa architettura risultano essere le comunicazioni tra moduli • Lavori futuri: realizzazione di un intero convertitore di immagini dal formato Bitmap a JPEG2000 per mezzo di IP-Core sviluppati con progettazione mista. Andrea Ardemagni - Matteo Sangalli
FINE PRESENTAZIONE Andrea Ardemagni - Matteo Sangalli