Mobile Virtual Reality (MVR): un nuovo modello di realtà virtuale A. Sanna C. Zunino F.Lamberti Dipartimento di Automatica e Informatica Politecnico di Torino Corso Duca degli Abruzzi 24, I-10129 Torino (Italy) email: {andrea.sanna,claudio.zunino,fabrizio.lamberti}@polito.it Virtuality 2003 - Torino, 3-5 Novembre Indice della presentazione • • • • • • • Motivazioni Idea di base Background La soluzione proposta L’architettura Esempio Conclusioni e sviluppi futuri Virtuality 2003 - Torino, 3-5 Novembre Tipi di realtà virtuale • Immersive Virtual Reality (IVR): – Impiego di dispositivi ad-hoc per fornire all’utente il senso di completa immersione (CAVE) • Desktop Virtual Reality (DVR): – Impiego di dispositivi “tradizionali” (monitor, tastiera e mouse) e di supporti per la visualizzazione 3D • Mobile Virtual Reality (MVR): – Impiego di dispositivi mobili come Personal Digital Assistant (PDA), tablet PC, telefoni cellulari, … Virtuality 2003 - Torino, 3-5 Novembre Motivazioni • I dispositivi palmari (PDA) si sono diffusi velocemente a partire dalla fine degli anni novanta • Grazie al continuo sviluppo delle tecnologie per dispositivi mobili la grafica 3D di qualità sta diventando un importante campo di ricerca • Sebbene alcuni tool per progettare applicazioni di grafica 3D esistano, la visualizzazione di modelli complessi è ancora fuori dalla portata dei PDA Virtuality 2003 - Torino, 3-5 Novembre Idea di base • Il calcolo (rendering) di modelli complessi è demandato a sistemi “centralizzati” • Il dispositivo mobile viene usato unicamente come risorsa di visualizzazione remota • In questo tipo di scenario: – Un sistema (lato-server) fornisce la potenza di calcolo e la capacità di memorizzazione – I dispositivi mobili (lato-client) si connettono al server e fanno da front-end Virtuality 2003 - Torino, 3-5 Novembre Idea di base: vantaggi • Questa soluzione presenta principalmente tre vantaggi: – La visualizzazione remota è indipendente dal tipo di dati – Non c’è trasferimento di dati dal server al client – È possibile la visualizzazione di modelli estremamente complessi che non sarebbero gestibili localmente su un dispositivo palmare Virtuality 2003 - Torino, 3-5 Novembre Background • L’idea di separare i compiti di calcolo e visualizzazione non è nuova: – Vizserver di Silicon Graphics e GLR abilitano visualizzazioni collaborative remote simultaneamente per utenti multipli – Sono state proposte anche soluzioni non commerciali che però mancano di indipendenza dall’applicazione e/o dall’architettura • Solo pochi tentativi considerano i PDA per la visualizzazione: – Stegmaier et al. Hanno presentato recentemente un’applicazione basata su OpenGL che usa l’infrastruttura client-server VNC per inviare l’output al PDA Virtuality 2003 - Torino, 3-5 Novembre La soluzione proposta • Chromium è stato scelto per realizzare l’architettura di rendering centralizzata: – Con Chromium è possibile “unificare” la potenza di calcolo di un cluster di macchine dotate di schede grafiche acceleratrici – Chromium fornisce un’interfaccia all’hardware attraverso chiamate OpenGL • L’utente può navigare la scena attraverso il PDA: – I comandi sono impartiti ad un’applicazione sviluppata per il PDA – I comandi sono inviati dal PDA all’applicazione grafica centralizzata – Chromium riceve i comandi e divide il rendering tra i vari nodi del cluster – L’immagine finale è riassemblata e mandata al PDA Virtuality 2003 - Torino, 3-5 Novembre L’applicazione lato client • Per ottimizzare le prestazioni, l’applicazione lato client è stata sviluppata usando il linguaggio nativo della piattaforma: – Microsoft eMbedded Visual C++ per PocketPC • L’applicazione include un’interfaccia di visualizzazione, un generatore di eventi e un decodificatore delle immagini Virtuality 2003 - Torino, 3-5 Novembre L’applicazione lato client • L’interfaccia di visualizzazione “gestisce”: – L’interazione con l’utente – L’area di schermo dove visualizzare le immagini provenienti dal server – Le immagini provenienti dal server. In caso di immagini compresse applica un opportuno algoritmo di decompressione Virtuality 2003 - Torino, 3-5 Novembre L’applicazione lato client Virtuality 2003 - Torino, 3-5 Novembre L’applicazione lato server • L’applicazione eseguita sul server di visualizzazione deve: – Gestire la comunicazione con il client ricevendo i comandi dal PDA – Passare i comandi ricevuti dal client al motore di rendering basato su OpenGL – Usare Chromium (mediante un’opportuna SPU) per dividere il calcolo tra i vari nodi – Usare Chromium (mediante un’opportuna SPU) per ricostruire l’immagine finale, opportunamente codificata, da inviare al PDA Virtuality 2003 - Torino, 3-5 Novembre L’architettura complessiva Virtuality 2003 - Torino, 3-5 Novembre Latenza del sistema La sequenza di operazioni che determinano la latenza complessiva del sistema Virtuality 2003 - Torino, 3-5 Novembre Impatto della comunicazione di rete • Sono state considerate due possibili tecnologie di comunicazione wireless: – IEEE 802.11b – GSM/GPRS • Le operazioni che il PDA deve eseguire indipendentemente dal canale di comunicazione (lettura da socket, scrittura nel framebuffer, aggiornamento del contesto grafico) sono state valutate per trovare il massimo frame rate teorico (7fps) • La banda disponibile con IEEE 802.11b è sufficiente a garantire il massimo frame rate Virtuality 2003 - Torino, 3-5 Novembre Impatto della comunicazione di rete • Le prestazioni cambiano radicalmente per canali di comunicazione GPRS: – La banda non è sufficiente a garantire il massimo frame rate teorico – Adozione di tecniche di compressione con e senza perdita • L’introduzione di una forma forma di codifica risolve il problema della banda del canale ma la decompressione lato client è un’attività “onerosa”: – Il massimo frame rate ottenuto è di 2 fps Virtuality 2003 - Torino, 3-5 Novembre Esempio • PDA: Compaq iPaq H3630 equipaggiato con il sistema operativo Microsoft PocketPC, CPU StrongARM 206MHz, display 12-bit 240x320 pixel touch screen, 32MB RAM e 16MB Flash ROM • Risoluzione del frame: 150x150 pixel • Configurazione di Chromium: una workstation master (dual PIII 800MHz) che esegue il motore di rendering OpenGL e un cluster di 8 PC 1.4 GHz AMD Athlon e scheda grafica GeForce2 Virtuality 2003 - Torino, 3-5 Novembre Esempio Virtuality 2003 - Torino, 3-5 Novembre Alcune considerazioni • Le prestazioni del sistema sono legate alla ricerca di un compromesso tra larghezza di banda e schema di codifica: – I canali trasmissivi con una larghezza di banda ristretta “impongono” l’adozione di schemi di codifica per mantenere l’interattività – Schemi di codifica sofisticati richiedono un’elevata capacità di elaborazione lato-client • Entrambe questi problemi saranno superati con l’adozione di canali wireless a larga banda (es. IEEE 802.11g) e dalle nuove CPU montate sui PDA (es. Intel XScale) Virtuality 2003 - Torino, 3-5 Novembre Conclusioni e sviluppi futuri • La soluzione proposta permette di visualizzare interattivamente su dispositivi mobili oggetti 3D estremamente complessi • Lo sviluppo futuro sarà mirato a realizzare uno schema di codifica ottimizzato per canali di comunicazione wireless a banda stretta Virtuality 2003 - Torino, 3-5 Novembre