420 likes | 591 Vues
Realizzazione di algoritmi video su FPGA. Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste. Laureando: Marco Fusilli Relatore: Chiar.mo Prof. Stefano Marsi. Anno accademico 2007/2008. Introduzione. Necessità di elaborare molti dati
E N D
Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Laureando: Marco Fusilli Relatore: Chiar.mo Prof. Stefano Marsi Anno accademico 2007/2008
Introduzione • Necessità di elaborare molti dati • General purpose - lenti ma versatili • Sistemi embedded – veloci ma non aggiornabili
Introduzione • Con le FPGA si ha • Possibilità di sistemi embedded riconfigurabili • Semplificazione circuiteria necessaria – System on a Chip (SoC)
Obiettivi del progetto • Creare un sistema di elaborazione video in tempo reale • Sfruttare la tecnologia SoC • Sfruttare la velocità dell’hardware • Sfruttare l’intelligenza del software
La scheda • Piattaforma per applicazioni multimediali • FPGA Virtex-II • Convertitori configurabili • System ACE Controller
Sistema implementato Generatore di clock
Sistema implementato Bus indirizzi Bus dati
Sistema implementato Memoria RAM
Sistema implementato Bus OPB - Periferiche lente
Sistema implementato Inizializzazione dei convertitori
Sistema implementato Interfaccia I2C
Sistema implementato Interfaccia RS232
Sistema implementato Bus FSL – Periferiche veloci
Sistema implementato Acceleratore Hardware Risincronizzatore
Equalizzazione di istogramma Si costruisce un istogramma: In ascissa: i livelli di grigio In ordinata: il numero di pixel con quel valore
Equalizzazione di istogramma Si calcola la funzione di distribuzione cumulativa
Equalizzazione di istogramma La si linearizza! G = livelli di grigio NxM = dimensione immagine Fdc = funz. Distribuz. cumulativa
Equalizzazione di istogramma Comunica gli indirizzi da leggere o da cancellare
Equalizzazione di istogramma Trasmette i dati relativi al conteggio dei pixel
Equalizzazione di istogramma Scrive sulla LUT i nuovi valori o …
Equalizzazione di istogramma Scrive sulla LUT i nuovi valori o … … configura la modalità del contatore
Equalizzazione di istogramma Scrive sulla LUT i nuovi valori o … … configura la modalità del contatore • Conteggio pixel • Lettura valori • Cancellazione • Stand-by
Riassunto • Tramite la LUT attiva la modalità lettura • Manda gli indirizzi da leggere • Legge i dati • Attiva la modalità di cancellazione • Manda gli indirizzi da cancellare • Attiva la modalità conteggio • Effettua i calcoli • Scrive i nuovi valori sulla LUT Quando arriva un interrupt, il MicroBlaze:
Conclusioni • Sistema funzionante in real-time • Minimo ritardo pari a 2 schermate
Conclusioni • Sistema non ottimizzato • Il demux e il mux della scomposizione video lavorano con contatori (in tot. 4 da 11 bit, 2 da 9 bit) • Procedura di lettura e cancellazione non automatizzata • Uso della LUT per la selezione della modalità • Poca memoria – elaborazioni più complesse difficili da implementare in software