Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica...

Post on 01-May-2015

219 views 1 download

Transcript of Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica...

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