42
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

Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Embed Size (px)

Citation preview

Page 1: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

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

Page 2: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Introduzione

Necessità di elaborare molti dati General purpose - lenti ma versatili Sistemi embedded – veloci ma non

aggiornabili

Page 3: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Introduzione

Con le FPGA si ha– Possibilità di sistemi embedded riconfigurabili– Semplificazione circuiteria necessaria – System

on a Chip (SoC)

Page 4: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

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

Page 5: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

La scheda

Piattaforma per applicazioni multimediali FPGA Virtex-II Convertitori configurabili System ACE Controller

Page 6: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Componenti usati

Page 7: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Page 8: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Generatore di clock

Page 9: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

CPU

Page 10: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Bus dati

Bus indirizzi

Page 11: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Memoria RAM

Page 12: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Bus OPB- Periferiche lente

Page 13: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Inizializzazione dei convertitori

Page 14: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Interfaccia I2C

Page 15: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Interfaccia RS232

Page 16: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Bus FSL – Periferiche veloci

Page 17: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Sistema implementato

Acceleratore Hardware

Risincronizzatore

Page 18: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video

Page 19: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video

Page 20: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video - CCIR

Page 21: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video - CCIR

Page 22: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video

Page 23: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video

Page 24: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

L’elaborazione video

Page 25: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Page 26: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Si costruisce un istogramma:

In ascissa: i livelli di grigioIn ordinata: il numero di

pixel con quel valore

Page 27: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Si calcola la funzione di distribuzione cumulativa

Page 28: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

La si linearizza!

G = livelli di grigioNxM = dimensione immagineFdc = funz. Distribuz. cumulativa

Page 29: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Page 30: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Comunica gli indirizzi da leggere

o da cancellare

Page 31: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Trasmette i dati

relativi al conteggio dei pixel

Page 32: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Scrive sulla LUT i

nuovi valori o …

Page 33: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Scrive sulla LUT i

nuovi valori o …

… configura

la modalità

del contatore

Page 34: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Equalizzazione di istogramma

Scrive sulla LUT i

nuovi valori o …

… configura

la modalità

del contatore

1. Conteggio pixel2. Lettura valori3. Cancellazione4. Stand-by

Page 35: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

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:

Page 36: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Conclusioni

Sistema funzionante in real-time Minimo ritardo pari a 2 schermate

Page 37: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

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

Page 38: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Il MicroBlaze

Page 39: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Bus FSL

Page 40: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Temporizzazioni bus FSL -lettura

Page 41: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

Temporizzazioni bus FSL -scrittura

Page 42: Realizzazione di algoritmi video su FPGA Corso di laurea triennale in ingegneria elettronica applicata Università Degli Studi di Trieste Anno accademico

CCIR – parola di controllo