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