Grafica mobile

La sempre maggiore disponibilità e incremento di prestazioni dei terminali grafici mobili, tra cui smartphone e tablet con schermi ad alta risoluzione e GPU potenti, insieme alla maggiore disponibilità di connessioni dati mobili ad alta velocità, sta aprendo la strada a una varietà di applicazioni grafiche in rete. In questo contesto, applicazioni native o siti mobili coesistono per raggiungere l'obiettivo di fornire a tutti noi utenti l'accesso a una grande quantità di informazioni multimediali mentre siamo in movimento. Nel quadro del progetto TDM, abbiamo sviluppato materiale informativo per fornire un'introduzione tecnica al mondo della grafica mobile. Questo materiale copre lo spettro hardware-software, ed esplora lo stato dell'arte e le principali innovazioni in settori applicativi specifici, tra cui la cattura e l'acquisizione, il rendering 3D in tempo reale ad alta qualità e l'esplorazione interattiva di ambienti complessi. Gli esperti del progetto TDM hanno presentato, sulla base di questo materiale, un tutorial sulla Mobile Graphics  alla decima edizione di SIGGRAPH Asia, tenutasi dal 27 al 30 novembre a Bangkok, in Thailandia. La conferenza, con quasi 7.000 partecipanti provenienti da oltre 60 paesi, è stata la più grande conferenza annuale della regione asiatica  sulla computer grafica e sulle tecniche interattive. Il corso è stato organizzato da CRS4 in collaborazione con esperti dell'UPC (Spagna) e di KAUST (Arabia Saudita). Per maggiori informazioni: https://sa2017.siggraph.org/attendees/courses?view=session&sid=8 In questa pagina, forniamo lo stesso materiale, estendendolo con ulteriori informazioni pratiche. Questo materiale sarà ulteriormente ampliato nell'ambito delle scuole estive del progetto TDM.

Outline

Negli ultimi decenni, gli abbonamenti mondiali di telefonia mobile sono aumentati a oltre sette miliardi, penetrando il 100% della popolazione mondiale e raggiungendo anche il fondo della piramide economica. Di questi abbonamenti, circa 3,5 miliardi hanno accesso a Internet e la capacità di scambio di informazioni continua a crescere in modo esponenziale, con un'ampia diffusione dei dati multimediali. Pertanto, si prevede che il futuro del computing in generale, e del visual computing in particolare, sarà enormemente influenzato da questo scenario. In particolare, nell'ambito del progetto TDM, e delle applicazioni delle smart city in generale, i terminali mobili personali, grazie ai loro sensori, possono essere considerati importanti fonti di informazione sulle persone e sugli ambienti, nonché terminali ampiamente capaci e diffusi  per fornire dati (grafici) alla popolaazione. In queste pagine, presentiamo una panoramica dell'evoluzione e dello stato dell'arte delle piattaforme di grafica mobile, discutiamo le attuali API grafiche e gli strumenti di sviluppo per lo sviluppo di applicazioni mobili e illustriamo le tendenze attuali nello sfruttamento dell'hardware di acquisizione, di rete e di visualizzazione. Esempi dettagliati sono forniti in due settori del visual computing di particolare interesse per le applicazioni legate al progetto TDM: lo sfruttamento delle tecniche di fusione dei dati per l'acquisizione e la ricostruzione metrica e lo sfruttamento dell'hardware di rete e di visualizzazione per visualizzare e interagire con modelli di grandi dimensioni. Il materiale si conclude con una visione delle sfide future.

  • SLIDE SET - Session 0: Introduction [pdf]

Evoluzione della grafica mobile

Negli ultimi 15 anni (ed oltre), il cellulare è passato da essere uno strumento utile per le emergenze a uno strumento che ci assiste per la maggior parte dei nostri compiti quotidiani. Li usiamo per guidarci durante la guida, per capire quanti passi o chilometri abbiamo percorso, per rispondere alle nostre mail e, naturalmente, per passare un po' di tempo giocando o guardando i programmi televisivi. Molte aziende si affidano all'ubiquità dei dispositivi mobili (e delle connessioni Internet attraverso di essi) per fornire i loro servizi. Chiediamo un taxi durante l'ascolto di musica cloud-stored, e otteniamo notifiche continue sul transito, meteo, offerte di shopping.... Ericsson Mobility Report [Eri16] prevede che gli abbonamenti globali agli smartphone passeranno da 7.3 miliardi a 9 miliardi entro il 2021, con una notevole crescita degli smartphone, che raddoppieranno. Inoltre, si prevede che il traffico mobile medio per persona passerà da 1,4 GB/mese a 8,9 GB/mese entro il 2021. Già i primi dispositivi mobili includevano grafica e giochi. Così in tutta la storia degli smartphone, il gioco [FGBAR12]. (soprattutto il casual gaming [Kul09]) è diventato una delle sue caratteristiche desiderate, e questo ha portato ad aumentare la potenza grafica, con benefici per applicazioni più serie. Nel seguente slide set, forniamo un'analisi dell'evoluzione del mondo mobile dal punto di vista grafico, includendo tutti gli elementi collegati, come la GPU, il sistema operativo, e così via.... I principali aspetti trattati sono i seguenti:

  • Panoramica del mondo mobile e della sua diffusione capillare;
  • Descrizione delle principali caratteristiche di connettività dei terminali grafici mobili;
  • Capacità, grafica e display, sensori e CPU;
  • Discussione sulle questioni attuali e sulle opportunità future;
  • Analisi delle tendenze delle applicazioni mobili.
  • SLIDE SET - Session 1: Evolution of mobile graphics [pdf]

Tendenze di sviluppo delle applicazioni di grafica mobile

Secondo l'organizzazione GSM, due terzi della popolazione possiede un dispositivo mobile ([A ∗ 17]). Nonostante questo, vi è una ridotta varietà di fornitori e sistemi operativi. La maggior parte dei dispositivi venduti, infatti, sono basati sui sistemi operativi iOS o Android, che rappresentano ormai il 95% del mercato. L'evoluzione delle applicazioni e della grafica in generale è quindi strettamente legata all'evoluzione di questi due sistemi operativi ( [GR11,Tra12]). Nel seguente set di diapositive, vengono trattati diversi aspetti della grafica mobile, ed in particolare:

  • Panoramica generale della pipeline di rendering per applicazioni mobili 3D interattive;
  • Evoluzione delle applicazioni di grafica 3D, dalle soluzioni di rendering remoto alle soluzioni ibride mobile/remoto, sfruttando metodi basati su immagini o modelli;
  • Panoramica delle tendenze attuali nell'accelerazione hardware con l'utilizzo di pipeline parallele, ray-tracing in tempo reale e approcci multi-rate:
  • Panoramica di altre applicazioni visive mobili come acquisizione ed elaborazione 3D, simulazioni fisiche e correzione dell'aberrazione visiva

Sviluppo di applicazioni grafiche per terminali mobili

Come commentato in precedenza, dominano il mercato solo due sistemi operativi, con una quota di mercato superiore al 95%: iOS e Android. Apple è stata la prima a creare un modo chiuso per installare nuove app su un cellulare, attraverso l'Apple Store. I proprietari dei dispositivi possono installare le applicazioni solo dal negozio ufficiale. Inoltre, Apple utilizza una politica di approvazione rigorosa, che è lunga e a volte arbitraria. Anche se ci sono altri mezzi per installare applicazioni in un iPhone o iPad, sono vietate da Apple e non sono in alcun modo accessibili alla maggior parte della popolazione, a causa delle sue complicazioni tecniche. Questo ha permesso ad Apple di avere un controllo a grana fine su cui le applicazioni appaiono nel negozio e, anche se ha i suoi difetti, soprattutto per gli sviluppatori, ha alcuni vantaggi per gli utenti, come la sicurezza relativa del contenuto. Seguendo il percorso segnato da Apple, Google fornisce anche lui un negozio per il sistema Android, anche se gli utenti possono facilmente installare applicazioni da altre fonti, anche da altri fornitori come Amazon o Samsung, che competono con Google sia nella vendita di dispositivi che nella vendita di applicazioni. Entrambi i proprietari dei sistemi operativi (Apple e Google) hanno creato gli strumenti che facilitano lo sviluppo di applicazioni. Nel caso di iOS, Apple fornisce un SDK per lo sviluppo utilizzando l'Objective C. Più recentemente, Apple sta passando a un nuovo linguaggio chiamato Swift, e spostando lo sviluppo grafico a un nuovo linguaggio, chiamato Metal [CP15], entrambi sviluppati da Apple. Google ha scelto invece Java, per la sua popolarità, ma ci sono vari strumenti per sviluppare direttamente in C o C++. Android SDK fornisce anche una serie di strumenti per lo sviluppo di applicazioni, che è in continua evoluzione. Il linguaggio grafico implementato in Android è OpenGL, anche se le nuove versioni di Android stanno ora supportando l'evoluzione di OpenGL: Vulkan. Nella seguente serie di diapositive vengono trattati i seguenti argomenti:

  • Panoramica dei principali sistemi operativi utilizzati nelle piattaforme mobili;
  • Descrizione dei linguaggi e degli strumenti di programmazione e degli ambienti di distribuzione attualmente utilizzati;
  • Introduzione alle API 3D attualmente disponibili.
  • SLIDE SET - Session 3: Graphics development for mobile systems [pdf]

Visualizzazione mobile scalabile

Le GPU dei terminali mobili hanno subito una notevole evoluzione negli ultimi anni. Tuttavia, nonostante si affermi spesso il contrario, le GPU mobili non sono ancora alla pari con le console e/o le GPU desktop, soprattutto a causa di considerazioni energetiche. Questo rende l'uso di scene di grandi dimensioni o di grandi insiemi  di dati abbastanza difficile. Di conseguenza, c'è la necessità di implementare algoritmi specializzati che siano in grado di gestire modelli di grandi dimensioni. In particolare, lo sviluppo di applicazioni grafiche per dispositivi mobili pone diverse sfide:

  • Limitazioni di rete e di memoria: Il modello finale potrebbe non essere adatto all'interno del dispositivo mobile, che è molto più limitato rispetto al desktop countepart - inoltre, l'invio di modelli di grandi dimensioni ai dispositivi mobili deve tener conto delle limitazioni delle reti wireless. I sistemi grafici mobili devono quindi includere tecniche per limitare la larghezza di banda e il consumo di memoria (rappresentazione intelligente dei dati, compressione, renderizzatori adattativi, livelli di dettaglio).
  • Capacità della GPU: L'algoritmo che intendiamo utilizzare potrebbe richiedere funzionalità di GPU non disponibili, specialmente se l'applicazione si rivolge a molti dispositivi diversi (ad esempio, non tutte le GPU supportano la tassellatura). Gli algoritmi devono quindi essere progettati in modo da aggirare le limitazioni delle capacità delle GPU (ad esempio, utilizzando tecniche più semplici e metodi multi-pass).
  • Potenza e prestazioni della GPU: Anche se la GPU ha le capacità richieste e memoria sufficiente per memorizzare i dati, l'algoritmo richiesto (ad esempio un raycasting basato su GPU) potrebbe non essere in grado di garantire prestazioni sufficienti per l'implementazione. Nella peggiore delle ipotesi, l'altgoritmo potrebbe essere considerato così costoso che il sistema operativo ucciderebbe l'applicazione perché considerata non reattiva. Gli algoritmi devono quindi essere progettati in modo da garantire prestazioni e reattività (metodi di approssimazione, multirisoluzione, livelli di dettaglio, rendering progressivo).

Nel corso degli ultimi anni, ci sono stati molti metodi sviluppati su misura per dispositivi mobili per migliorare il rendering di grandi quantità di dati, sia in termini di qualità che di prestazioni. La tendenza iniziale è stata la creazione di architetture client-server, dove il terminale mobile visualizza semplicemente un'immagine generata da un dispositivo di fascia alta lato server [PGGB12]. Questa architettura è stata utilizzata sia per mesh, nuvole di punti e dati volumetrici [LS07]. L'arrivo di GPU più potenti, solo di recente, ha permesso la possibilità di visualizzare direttamente sul terminale mobile modelli di grandi dimensioni, gestendo la ridotta performance attraverso metodi di semplificazione adattiva [BAMG14a][BGM∗ 12]. Questa semplificazione è necessaria dato che le attuali GPU mobili sono ancora da 10 a 40 volte più lente di una GPU desktop, come si può vedere nei benchmark che confrontano entrambe le GPU (come GFXBench). Per un'illuminazione di alta qualità, troviamo ad oggi solo metodi approssimati per alcune componenti dell'equazione di rendering, come ombre [BLM16], o ristretti effetti di scatterning [LKC14]. In molti casi, quando implementate in ambito mobile, le approssimazioni dell'illuminazione globale si basano su preprocessing [KUK15], solitamente sotto forma di mappe luminose [SE16]. Ci sono solo alcune tecniche che calcolano una certa approssimazione all'equazione di rendering in tempo reale, per esempio l'occlusione ambientale [SV16a]. Nel caso dei modelli volumetrici, è stato solo nel 2011-2012 che è stato possibile renderli direttamente sullo smartphone, utilizzando un raycasting basato su GPU standard [BV12]. Solo modelli relativamente piccoli sono però attualmente gestibili su device mobili  [SAK15]. Nella seguente serie di diapositive vengono trattati i seguenti argomenti:

  • Caratteristiche dei dispositivi mobili rispetto a modelli di grandi dimensioni e necessità di una tecnica scalabile con un basso overhead della CPU;
  • Conversione di ambienti complessi in soluzioni basate su immagini;
  • Scalabilità in termini di geometria: confronto di metodi generali di triangolazione a blocchi/nuvola puntiforme con tecniche limitate che sfruttano formati di immagine compressi predefiniti e primitive grafiche;
  • Miglioramento della qualità visiva con metodi di illuminazione globale in tempo reale basati su calcoli screen-space o per applicazioni mobili.
  • Approcci per supportare l'esplorazione volumetrica interattiva.

Mobile metric capture and reconstruction

Mobile devices have become increasingly attractive for solving environment sensing problems given their multi-modal acquisition capabilities and their growing processing power, enabling fast digital acquisition and effective information extraction [DL15]. This is particularly of interest for a project dealing with spatial data such as TDM, since the current combination of many sensors in a single device opens the door to multi-model acquisition and data fusion. In particular, by exploiting visual sensors as well as position and orientation sensors, it is possible to recover the shape of complex environments. In the following slide set, we cover the following subjects:

  • Overview of the mobile device sensor and sensor-fusion capabilities available on mobile devices, ranging from commodity smartphones and tablets to new generation spherical panoramic cameras (SPC).
  • Introduction to image-based 3D reconstruction methods running on mobile devices;
  • Mobile metric reconstruction methods using a combination of images and inertial acceleration data with an example implementation of a full acquisition and SfM reconstruction pipeline working in a limited bounding volume;
  • Real-world cases: mobile mapping and reconstruction of indoor scenes, from the limits of the perspective views to the advantages of the wide-FOV panoramic images;
  • Example of application: mobile reconstruction and exploration of indoor structures exploiting omnidirectional images;
  • Motion estimation and dense depth maps generation from small motion with mobile SPC;
  • Future trends: automatic mapping and reconstruction of indoor structures from 360 video sequences.
  • SLIDE SET - Session 5: Mobile metric capture and reconstruction [pdf]

Wrap-up

Il materiale qui fornito offre un'introduzione generale e una sintesi del settore della grafica mobile. Alcuni lavori particolari sono presentati in modo più dettagliato per illustrare casi di studio di metodi e applicazioni significativi. I riferimenti a questi lavori sono i seguenti:

  • acquisizione e ricostruzione [PGGS16b, GPG∗ 16, PGG∗ 16, PAG14, PG14];
  • ricostruzione metrica con dispositivi mobili [GPG∗ 16];
  • presentazione di rappresentazioni di immagini migliorate [AJPG16];
  • esplorazione degli ambienti basata sull'immagine [PGGS16a,DGB∗ 14];
  • esplorazione interattiva in tempo reale di superfici [BAMG14b, BGMT13, BGMT13, GMB∗ 12] e volumi [VB12,DGBN∗ 16] a grande scala;
  • illuminazione globale in tempo reale [SV16b]
  • SLIDE SET - Session 6: Closing [pdf]

Referenze

  • [A∗17] GSMA: The mobile economy 2017. URL: http://www.gsma.com/mobileeconomy/[accessed March 17].
  • AJPG16] AGUS M., JASPE VILLANUEVA A., PINTORE G., GOBBETTI E.: PEEP: Perceptually enhanced exploration of pictures. In Proc. VMV (Oct. 2016).
  • [BAMG14a] BALSA M., AGUS M., MARTON F., GOBBETTI E.: Humors: Huge models mobile rendering system. In Proceedings of the 19th International ACM Conference on 3D Web Technologies (2014), ACM, pp. 7–15.
  • [BAMG14b] BALSA RODRIGUEZ M., AGUS M., MARTON F., GOBBETTI E.: HuMoRS: Huge models mobile rendering system. In Proc. Web3D (Aug. 2014), pp. 7–16. 3
  • [BGM∗12] BALSA M., GOBBETTI E., MARTON F., PINTUS R., PINTORE G., TINTI A.: Interactive exploration of gigantic point clouds on mobile devices. In VAST (2012), pp. 57–64.
  • [BGMT13] BALSA RODRÍGUEZ M., GOBBETTI E., MARTON F., TINTI A.: Coarse-grained multiresolution structures for mobile exploration of gigantic surface models. In Proc. SIGGRAPH Asia Symposium on Mobile Graphics and Interactive Applications (November 2013), pp. 4:1– 4:6.
  • [BLM16] BALA S., LOPEZ MENDEZ R.: Efficient soft shadows based on static local cubemap. GPU Pro 7 (2016), 175.
  • [BV12] BALSA M., VÁZQUEZ P. P.: Practical volume rendering in mobile devices. In International Symposium on Visual Computing (2012), Springer, pp. 708–718.
  • [CP15] CAIRA T., PRIETO J.: Learn metal for ios 3D game development.
  • [DGB∗14] DI BENEDETTO M., GANOVELLI F., BALSA RODRIGUEZ M., JASPE VILLANUEVA A., SCOPIGNO R., GOBBETTI E.: ExploreMaps: Efficient construction and ubiquitous exploration of panoramic view graphs of complex 3D environments. Computer Graphics Forum 33, 2 (2014), 459–468.
  • [DGBN∗16] DÍAZ-GARCÍA J., BRUNET P., NAVAZO I., PEREZ F., VÁZQUEZ P.-P.: Adaptive transfer functions. The Visual Computer (2016), 1–11.
  • [DL15] DEV K., LAU M.: Democratizing digital content creation using mobile devices with inbuilt sensors. Computer Graphics and Applications 35, 1 (Jan 2015), 84–94.
  • [Eri16] ERICSSON: Ericsson mobile report, 2016, 2016. https://www.ericsson.com/res/docs/2016/ericsson-mobility-report2016.pdf, [accessed March 17].
  • [FGBAR12] FEIJOO C., GÓMEZ-BARROSO J.-L., AGUADO J.-M., RAMOS S.: Mobile gaming: Industry challenges and policy implications. Telecommunications Policy 36, 3 (2012), 212–221.
  • [GMB∗12] GOBBETTI E., MARTON F., BALSA RODRIGUEZ M., GANOVELLI F., DI BENEDETTO M.: Adaptive quad patches: an adaptive regular structure for web distribution and adaptive rendering of 3d models. In Proc. Web3D (Aug. 2012), pp. 9–16.
  • [GPG∗16] GARRO V., PINTORE G., GANOVELLI F., GOBBETTI E., SCOPIGNO R.: Fast metric acquisition with mobile devices. In Proc. VMV (Oct. 2016).
  • [GR11] GOADRICH M. H., ROGERS M. P.: Smart smartphone development: ios versus android. In Proceedings of the 42nd ACM technical symposium on Computer science education (2011), ACM, pp. 607–612.
  • [KUK15] KÁN P., UNTERGUGGENBERGER J., KAUFMANN H.: High-quality consistent illumination in mobile augmented reality by radiance convolution on the gpu. In International Symposium on Visual Computing (2015), Springer, pp. 574–585.
  • [Kul09] KULTIMA A.: Casual game design values. In Proceedings of the 13th international MindTrek conference: Everyday life in the ubiquitous era (2009), ACM, pp. 58–65.
  • [LKC14] LEE W.-S., KIM S.-D., CHIN S.: Subsurface scattering-based object rendering techniques for real-time smartphone games. Mathematical Problems in Engineering (2014).
  • [LS07] LAMBERTI F., SANNA A.: A streaming-based solution for remote visualization of 3d graphics on mobile devices. IEEE transactions on visualization and computer graphics 13, 2 (2007).
  • [PAG14] PINTORE G., AGUS M., GOBBETTI E.: Interactive mapping of indoor building structures through mobile devices. In Proc. 3DV Workshop on 3D Computer Vision in the Built Environment (Dec. 2014).
  • [PG14] PINTORE G., GOBBETTI E.: Effective mobile mapping of multiroom indoor structures. The Visual Computer 30, 6–8 (2014), 707–716.
  • [PGG∗16] PINTORE G., GARRO V., GANOVELLI F., GOBBETTI E., AGUS M.: Omnidirectional image capture on mobile devices for fast automatic generation of 2.5D indoor maps. In Proc. WACV (Feb. 2016), pp. 1–9.
  • [PGGB12] PINTORE G., GOBBETTI E., GANOVELLI F., BRIVIO P.: 3dnsite: A networked interactive 3d visualization system to simplify location awareness in crisis management. In Proceedings of the 17th International Conference on 3D Web Technology (2012), ACM, pp. 59–67.
  • [PGGS16a] PINTORE G., GANOVELLI F., GOBBETTI E., SCOPIGNO R.: Mobile mapping and visualization of indoor structures to simplify scene understanding and location awareness. In Proc. ACVR (Oct. 2016).
  • [PGGS16b] PINTORE G., GANOVELLI F., GOBBETTI E., SCOPIGNO R.: Mobile reconstruction and exploration of indoor structures exploiting omnidirectional images. In Proc. SIGGRAPH Asia Symposium on Mobile Graphics and Interactive Applications (Dec. 2016), pp. 1:1–1:4.
  • [SAK15] SCHIEWE A., ANSTOOTS M., KRÜGER J.: State of the art in mobile volume rendering on ios devices. In Eurographics Conference on Visualization (EuroVis)-Short Papers. The Eurographics Association (2015).
  • [SE16] SMITH A. V., EINIG M.: Physically based deferred shading on mobile. GPU Pro 7: Advanced Rendering Techniques (2016), 187.
  • [SV16a] SUNET M., VAZQUEZ P.-P.: Optimized screen-space ambient occlusion in mobile devices. In Proceedings of the 21st International Conference on Web3D Technology (2016), ACM, pp. 127–135.
  • [SV16b] SUNET M., VAZQUEZ P.-P.: Optimized screen-space ambient occlusion in mobile devices. In Proc. Web3D (2016), ACM, pp. 127– 135.
  • [Tra12] TRACY K. W.: Mobile application development experiences on apple ios and android os. IEEE Potentials 31, 4 (2012), 30–34.
  • [VB12] VÁZQUEZ P.-P., BALSA M.: Practical volume rendering in mobile devices. In Proc. International Symposium on Visual Computing, vol. 7431 of Lecture Notes in Computer Science (LNCS). Springer Verlag, 2012, pp. 708–718.