Post on 01-May-2015
Realizzazione di algoritmi video su FPGA
Corso di laurea triennale in ingegneria elettronica applicata
Università Degli Studi di Trieste
Anno accademico 2007/2008
Laureando:Marco Fusilli
Relatore:Chiar.mo Prof.Stefano Marsi
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
Componenti usati
Sistema implementato
Sistema implementato
Generatore di clock
Sistema implementato
CPU
Sistema implementato
Bus dati
Bus indirizzi
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
L’elaborazione video
L’elaborazione video
L’elaborazione video - CCIR
L’elaborazione video - CCIR
L’elaborazione video
L’elaborazione video
L’elaborazione video
Equalizzazione di istogramma
Equalizzazione di istogramma
Si costruisce un istogramma:
In ascissa: i livelli di grigioIn 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 grigioNxM = dimensione immagineFdc = funz. Distribuz. cumulativa
Equalizzazione di istogramma
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
1. Conteggio pixel2. Lettura valori3. Cancellazione4. Stand-by
Riassunto
1. Tramite la LUT attiva la modalità lettura
2. Manda gli indirizzi da leggere
3. Legge i dati
4. Attiva la modalità di cancellazione
5. Manda gli indirizzi da cancellare
6. Attiva la modalità conteggio
7. Effettua i calcoli
8. 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
Il MicroBlaze
Bus FSL
Temporizzazioni bus FSL -lettura
Temporizzazioni bus FSL -scrittura
CCIR – parola di controllo