relatore: prof. fabrizio ferrandi correlatore: ing. marco d. santambrogio
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Politecnico di MilanoPolitecnico di Milano
Realizzazione di un IP-Core per il Realizzazione di un IP-Core per il trattamento dell’immagine mediante trattamento dell’immagine mediante
tecniche di hardware software codesigntecniche 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
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 2
SommarioSommario
• 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
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 3
• 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.
ObiettiviObiettivi
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 4
Hardware Software Hardware Software CodesignCodesign
Fasi di progettazione: • pianificazione • validazione • implementazione • test e verifica
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 5
JPEG2000 - Caratteristiche JPEG2000 - Caratteristiche InnovativeInnovative
• 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
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 6
JPEG2000 – Algoritmo di JPEG2000 – Algoritmo di compressione compressione
Pre-processing TrasformataWavelet Quantizzazione Codifica
Entropica Immaginecompressa
Immagineoriginale
• Immagine non compressa Bitmap nello spazio colore RGB (Red, Green, Blue) a 24 bit
Immagineoriginale Pre-processing
• Suddivisione dell’immagine in tile
• Trasformazione delle componenti: Red Green Blue
Y Cb Cr
TrasformataWavelet
• 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
Quantizzazione
• Discretizzati i risultati dell’uscita dei filtri della trasformata Wavelet
Codifica Entropica
• Tecnica per ridurre la quantità di memoria, impiegata per rappresentare le informazioni più significative dell’immagine rimasta
Trasformazione delle componenti:
RGB YCbCr
Caso di studio
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 7
• RGB: colore e luminosità fuse insieme in ogni componente
compressione: perdita significativa della qualità dell’immagine
• YCbCr:
JPEG2000 – Trasformazione JPEG2000 – Trasformazione Delle ComponentiDelle Componenti
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
Cause della trasformazione:
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 8
Virtex-II pro Evaluation Board
Porta serialeConnettore JTAG
FPGA XC2VP7 Virtex-II pro
Alimentazione
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 9
FPGA - Introduzione
Blocco di Input/output
Blocco logico configurabile
Interconnessioni configurabili
• FPGA (Field Programmable Gate Array)
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 10
Metodologia Metodologia Di ProgettoDi Progetto
Acquisizione dell’immagine
Bitmap iningresso
Gestione e letturadei pixel RGB
Invio dei pixel RGB all’elaboratore
Moltiplicazionematriciale dei
pixel
Lettura dei pixelFinali YCbCr
SW
HWcomunicazione comunicazione
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 11
Implementazione dell’IP-Implementazione dell’IP-CoreCore
Bus PLB
IPIC
IP-CORE plb_molt
Bus per la comunicazione tra Il microprocessore
e l’IP-Core
Interfaccia di collegamento con il bus
Interfaccia tral’IPIF e la User Logic
Operazioni di lettura e scrittura sui registri
Elaborazione dei pixel
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 12
Architettura hardwareArchitettura hardware
PowerPC
Bus PLB
Bus OPB
IP-Core realizzat
o
Figura tratta da EDK: Embedded Figura tratta da EDK: Embedded Development KitDevelopment Kit
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 13
RGB1
IP-Core: doppio IP-Core: doppio moltiplicatoremoltiplicatore
SWSWBus PLB
User Logic: scrittura su regsitri 0
t
RGB2
RGB3SWSW Bus PLB
User Logic: scrittura su regsitri Plb_molt_core: elaborazione
RGB1 e RGB2
RGB4
t1
YCbCr1SWSW
Bus PLBUser Logic: lettura da regsitri YCbCr2
RGB..SWSW
Bus PLBUser Logic: scrittura su regsitri Plb_molt_core: elaborazione
RGB3 e RGB4
RGB..
YCbCr3SWSW Bus PLB
User Logic: lettura da regsitri YCbCr4
t2
t3
t4
t5
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 14
Memory-map e DriverMemory-map e Driver
0x 0000 318 16 24
Red_1 Green_1 Blue_10
OFFSET
Red_2 Green_2 Blue_20
Red_3 Green_3 Blue_30
Red_4 Green_4 Blue_40
0x 004
0x 008
0x 010
MEMORIA DI APPOGGIO PER LE OPERAZIONI DI SCRITTURA DEI
REGISTRI0x030
INUTILIZZATO0x040
Y_1-2 Y_3-4
Cb_1-2 Cb_3-4
Cr_1-2 Cr_3-4
0x044
0x048
Memoria dell’IP-Core
SW: System.c
OPERAZIONI DI LETTURA \ SCRITTURA
Bus PLB
HW: IP-Core plb_molt
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 15
Test EffettuatiTest Effettuati
Singolo Moltiplicatore
32 bit (bus OPB)
Doppio moltiplicatore
32 bit (bus OPB)
Doppio moltiplicatore
32 bit (bus PLB)
Doppio moltiplicatore
64 bit (bus PLB)
Modulo esclusivamente
software
Doppio moltiplicatore
64 bit (bus PLB)
Modulo esclusivamente software (PLB)
Confronto delle prestazioni temporali
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 16
PrestazioniPrestazioni
TIPOLOGIA MODULO BUS TEMPO (# cicli)
Modulo puramente software PLB 5691
Singolo moltiplicatore (Y,Cb,Cr=32 bit)
OPB 12875
Doppio moltipliplicatore a 32 bit
(Y=32 bit, Cb e Cr = 16 bit)
OPB 9261
Doppio moltipl. a 32 bit
(Y, Cb e Cr = 16 bit)
PLB 7499
Doppio moltipl. a 64 bit
(Y= 32 bit, Cb e Cr = 16 bit)
PLB 4393
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 17
Conclusioni e Sviluppi Conclusioni e Sviluppi FuturiFuturi
• 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.
Settembre 2005 Andrea Ardemagni - Matteo Sangalli 18
FINE PRESENTAZIONE