Sviluppo di un software multi piattaforma per l'acquisizione video in risoluzione "full high-definition" con bassa latenza
1. Presentazione di Prelaurea
Candidato: Enrico Giulio Maria Verzegnassi
Relatore: Alberto Bartoli
Correlatore: Giorgio Faustini
In collaborazione con
O3 Enterprise
Titolo: Sviluppo di un software multi-piattaforma per l'acquisizione
video in risoluzione "Full High-Definition" con bassa latenza
2. Problema da risolvere
Visualizzare su schermo il video, acquisito da una
videocamera, con queste proprietà:
• Bassa latenza ( meno di 30 ms )
• Full HD ( 1920x1080 )
• Possibilità di registrazione
• Software cross-platform
• User-friendly
3. Intensity Shuttle (Black Magic)
• Portatile e collegabile via USB 3.0 (4.8 Gigabit/s)
• Full HD 1080p30
• Schema di colori YUV (= YCbCr) 4:2:2
• Ingressi e uscite sia in analogico che digitale
• Costo 200€
Hardware di acquisizione
4. Linguaggio di programmazione
Java 8
Libreria per l’acquisizione video: OpenCV 3.0
• Scritto in C,C++ ed eseguibile su (Windows, Linux, OS X)
• Possiede un wrapper Java
• Bassa latenza
Inoltre
• Molto documentato
• In continuo sviluppo
• Image processing
5. Modulare grazie alle diverse classi java per:
• Interfaccia
• Tipo di input
• Acquisizione immagini
• Salvataggio
• File manager
Multi-Thread
• Core
• Acquisition
• Storage
• Interface
Stile di programmazione
7. Il software è stato realizzato per l'ambito sanitario.
Le persone che si interfacceranno al programma saranno
appartenenti:
• Personale medico
• Personale sanitario
Ambito d’utilizzo
8. • Software in stile applicazione smartphone
• Pochi comandi e tutti visibili
• Colori e simboli uniformi
• Pannello di controllo omogeneo
Interfaccia
9. Latenze circa 38ms:
• 6 ms per la visualizzazione
• 4 ms per l'elaborazione
• 28 ms per l'acquisizione
Instabilità del software/hardware:
• Interfacciamento scheda hardware con DirectShow
• Impossibilità di acquisizione video dall'uscita HDMI del
computer
Test
10. Caricamento delle configurazioni da un file
Miglioramento delle prestazioni:
• Ricerca di un nuovo hardware per l'acquisizione del segnale video
• Accelerazione dell'acquisizione video nel S.O.
Collegamento in rete:
• Possibilità di caricare su un server online i file video/immagini
acquisite
Sviluppi futuri
11. Conoscenze informatiche acquisite:
• Compilazione di sorgenti (Linux)
• Progettazione e sviluppo di una interfaccia grafica
• Encoding e risoluzioni video
Esperienza dell'ambiente lavorativo:
• Collaborazione con i colleghi
• Schedulazione del proprio lavoro e di quello in collaborazione con i
colleghi
• Relazione lavorativa con un proprio superiore
Accrescimento personale