Politecnico di Milano
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
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
2
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.
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
3
Hardware Software Codesign
Fasi di progettazione: • pianificazione
• validazione
• implementazione
• test e verifica
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
4
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
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
5
JPEG2000 – Algoritmo di
compressione
Immagine
Trasformata
Codifica
Pre-processing
Quantizzazione
originale
Wavelet
Entropica
Immagine
compressa
• Tecnica
per
ridurre
laDiscreta
quantità
di nello
memoria,
Immagine
Suddivisione
Trasformata
Discretizzati
non
Wavelet
idell’immagine
risultati
compressa
dell’uscita
Bitmap
(DWT):
tile
dei filtri
spazio
della
Caso
diinstudio
impiegata
rappresentare
leainformazioni
più
colore
trasformata
RGBper
(Red,
Wavelet
Green,tile
Blue)
24
bit
•
Applicata
ad
ogni
singolo
di
ogni
componente
• Trasformazione
delle componenti:
significative dell’immagine
rimasta
Red
Blueconversione
• Trasformazione
VeroGreen
cuore della
delle immagini
delle componenti:
• Attarverso filtri passa-alto e passa-bassoYvengono
Cb Creliminati
i dettagli meno
significativi
dell’immagine
RGB
YCbCr
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
6
JPEG2000 – Trasformazione Delle
Componenti
Cause della trasformazione:
• RGB: colore e luminosità fuse insieme in ogni componente
compressione: 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
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
7
Virtex-II pro Evaluation Board
FPGA XC2VP7
Virtex-II pro
Connettore
JTAG
Porta seriale
Alimentazione
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
8
FPGA - Introduzione
• FPGA (Field Programmable Gate Array)
Blocco di
Input/output
Blocco logico
configurabile
Interconnessioni
configurabili
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
9
Metodologia Di Progetto
Gestione e lettura
dei pixel RGB
Acquisizione
dell’immagine
Bitmap in
ingresso
SW
Lettura dei pixel
Finali YCbCr
Invio dei pixel RGB
all’elaboratore
comunicazione
Settembre 2005
Moltiplicazione
matriciale dei
pixel
comunicazione
Andrea Ardemagni - Matteo Sangalli
HW
10
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
Interfaccia tra
l’IPIF e la User Logic
IPIC
Operazioni di lettura e
scrittura sui registri
Elaborazione dei pixel
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
11
Architettura hardware
Bus PLB
Bus OPB
PowerPC
IP-Core
realizzato
Figura tratta da EDK: Embedded Development Kit
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
12
IP-Core: doppio moltiplicatore
SW
RGB1 RGB2
SW
RGB3 RGB4
SW
SW
SW
User Logic: scrittura su regsitri
Bus PLB
Bus PLB
YCbCr1 YCbCr2
Bus PLB
RGB.. RGB..
Bus PLB
YCbCr3 YCbCr4
Bus PLB
0
t1
User Logic: scrittura su regsitri
Plb_molt_core: elaborazione
RGB1 e RGB2
t2
User Logic: lettura da regsitri
t3
User Logic: scrittura su regsitri
Plb_molt_core: elaborazione
RGB3 e RGB4
t4
User Logic: lettura da regsitri
t5
t
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
13
Memory-map e Driver
Memoria dell’IP-Core
OFFSET
0
8
16
24
31
0x 000
0
Red_1
Green_1
Blue_1
0x 004
0
Red_2
Green_2
Blue_2
0x 008
0
Red_3
Green_3
SW: System.c
OPERAZIONI DI
LETTURA \
SCRITTURA
Blue_3
0x 010
0
Red_4
Green_4
Blue_4
MEMORIA DI APPOGGIO PER LE
OPERAZIONI DI SCRITTURA DEI
REGISTRI
INUTILIZZATO
Settembre 2005
Bus PLB
0x030
Y_1-2
Y_3-4
0x040
Cb_1-2
Cb_3-4
0x044
Cr_1-2
Cr_3-4
0x048
Andrea Ardemagni - Matteo Sangalli
HW: IP-Core
plb_molt
14
Test Effettuati
Modulo
esclusivamente
software
software
(PLB)
Confronto delle
prestazioni temporali
Singolo
Moltiplicatore
32 bit (bus OPB)
Doppio
moltiplicatore
32 bit (bus OPB)
Settembre 2005
Doppio
moltiplicatore
32 bit (bus PLB)
Andrea Ardemagni - Matteo Sangalli
Doppio
moltiplicatore
64 bit (bus PLB)
15
Prestazioni
TIPOLOGIA MODULO
BUS
TEMPO (#
cicli)
Modulo puramente software
PLB
5691
Singolo moltiplicatore (Y,Cb,Cr=32 bit)
OPB
12875
Doppio moltipliplicatore a 32 bit
OPB
9261
(Y=32 bit, Cb e Cr = 16 bit)
Doppio moltipl. a 32 bit
PLB
7499
(Y, Cb e Cr = 16 bit)
Doppio moltipl. a 64 bit
PLB
4393
(Y= 32 bit, Cb e Cr = 16 bit)
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
16
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.
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
17
FINE PRESENTAZIONE
Settembre 2005
Andrea Ardemagni - Matteo Sangalli
18
Scarica

TesiArdemagniSangalli_slide_IT