In questo articolo vengono descritte alcune metodologie per la visualizzazione di dati scientifici ed i loro prevedibili sviluppi futuri. Viene inoltre esaminata la struttura del VideoLab del CRS4 utilizzato per la produzione di filmati video in campo scientifico.
La visualizzazione di dati scientifici ha una grande importanza per l'aiuto che fornisce nell'interpretazione e comprensione dei dati numerici derivanti dalla realizzazione fisica di esperimenti o dalla loro simulazione numerica. La potenza di calcolo degli attuali computers permette l'elaborazione in breve tempo di una mole enorme di informazioni, l'interpretazione dei risultati ottenuti richiede pero' l'analisi e comprensione di una mole altrettanto grande di dati.
La visualizzazione permette di evidenziare le caratteristiche dei dati in esame che piu' interessano rendendo quindi piu' agevole la comprensione dei fenomeni che si stanno studiando. Lo potenza delle workstations utilizzate per la grafica e la visualizzazione e' inoltre tale da consentire una elevata interattivita' del processo di visualizzazione, consentendo quindi di variare in tempo reale le grandezze che vengono esaminate e manipolare agevolmente i dati corrispondenti.
Per la presentazione dei risultati della ricerca non vengono ormai piu' utilizzati testo e grafici, ma sempre piu' spesso vengono utilizzate delle animazioni. Questo fatto ha generato la necessita' di integrare nelle macchine che eseguono l'elaborazione dei dati anche la capacita' di generare ed elaborare immagini in movimento e suoni.
Di seguito esamineremo alcune delle principali tecniche avanzate di visualizzazione e descriveremo quali potranno essere i loro sviluppi futuri.
Una animazione consente di esaminare facilmente l'evoluzione temporale o spaziale di un fenomeno e delle grandezze ad esso legate. L'occhio umano percepisce come continua una successione di fotogrammi fissi che si succedono alla frequenza di almeno 25-30 al secondo.
Se consideriamo che, per immagini nel formato standard televisivo europeo PAL, un fotogramma e' costituito da 780x575 punti, ci rendiamo conto che l'elaborazione in tempo reale di filmati digitali richiede l'elaborazione e trasmissione di piu' di 400.000 punti per fotogramma. Poiche' in genere ogni punto di una immagine a colori viene codificato con 24 bit, 8 bit per ognuna delle componenti cromatiche RGB, e vengono trasmesse 25 immagini al secondo interallacciate otteniamo un volume di dati di circa 16 Mbyte/sec.
In generale quindi la produzione di animazioni non puo' essere effettuata in tempo reale, ma solo generando un fotogramma per volta e impiegando parecchio tempo per l'elaborazione fra un fotogramma ed un altro. La generazione di animazioni in tempo reale costituisce un problema anche perche' la mole di dati da trattare e' particolarmente elevata, dell'ordine di centinaia di megabytes, e quindi i tempi di accesso alle memorie di massa costituiscono un ulteriore collo di bottiglia.
Questi problemi possono essere parzialmente superati nelle attuali workstation che sono tipicamente dotate di dischi molto veloci, dispongono di elevate quantita' di memoria RAM, hanno dell'hardware specializzato per la grafica e soprattutto, come vedremo in seguito, con delle tecniche di compressione dei dati.
A titolo di esempio, nella figura viene presentato un fotogramma di una animazione, realizzata nel VideoLab del CRS4, che rappresenta la visualizzazione dei risultati di una simulazione numerica, effettuata dalla Alfa Romeo Avio, della camera di combustione di una turbina a gas.
L'animazione rappresenta la struttura in esame ad un istante prefissato e le diverse grandezze vengono visualizzate al variare dei punti all'interno di essa. Il file dei dati, che rappresenta i valori di temperatura e velocita' su 48x48x27 punti in una griglia rettangolare, e' di circa 1 Mbyte. La generazione di ogni singolo fotogramma richiede alcuni secondi di elaborazione su una workstation grafica.
Tale animazione, della durata di alcuni minuti, permette di esaminare le varie grandezze che caratterizzano il progetto della camera di combustione, come temperatura e velocita' del fluido nei vari punti all'interno della struttura, e di verificare la validita' del progetto prima ancora della realizzazione fisica di un prototipo.
Pertanto in questo caso l'animazione e' uno strumento indispensabile sia come aiuto alla progettazione che per la comprensione dei fenomeni fisici all'interno di una struttura relativamente complessa come la camera di combustione in esame.
In genere si intende definire multimediale un dispositivo che interagisce con l'utilizzatore attraverso la elaborazione e visualizzazione simultanea di diversi tipi di informazione quali immagini in movimento, suoni e testi.
La integrazione di audio e video con dati alfanumerici e' probabilmente uno degli ultimi e piu' importanti traguardi raggiunti nel campo della visualizzazione scientifica. Infatti se la possibilita' di creare delle animazioni apre le porte ad un diverso modo di visualizzare i risultati di un esperimento od una simulazione, la possibilita' di aggiungere a questa dei commenti sonori, ed integrare il tutto con dei testi ed i dati numerici originali, offre innumerevoli possibilita' aggiuntive.
Ultimamente ad esempio molte ricerche sono state fatte riguardo lo sviluppo di sistemi di visualizzazione in cui la quantita' di informazioni presentate e' aumentata dall'aggiunta di suoni (sonification) variabili in funzione di alcune delle grandezze da rappresentare.
Fra le altre applicazioni citiamo ad esempio i sistemi di video conferenza che, cosi' come i sistemi per il Computer Supported Cooperative Work, stanno avendo un grosso sviluppo rendendo possibile, a persone fisicamente lontane, di lavorare sugli stessi dati e di comunicare interattivamente quasi come fossero nello stesso ufficio.
La richiesta per questo tipo di sistemi e' tale che attualmente anche macchine di basso costo, come Apple Centris 660AV o Silicon Graphics Indy, vengono fornite di serie con una telecamera, un microfono ed il software per la loro gestione.
Il vero limite nell'applicazione di tecniche multimediali e' costituito dalla velocita' di trasmissione, relativamente bassa, delle attuali reti. La velocita' di trasmissione delle reti locali piu' usate, ad esempio ethernet o token-ring, e' infatti di 10-16 Mbit/sec. e quindi molto inferiore a quella che sarebbe necessaria per il trattamento di informazioni multimediali.
Questo fatto, oltre a favorire lo sviluppo di nuove tecnologie per la trasmissione di dati digitali, ha anche stimolato lo sviluppo di tecniche di compressione, quale MPEG (Moving Picture Expert Group), che consentono di codificare un segnale video e audio in un flusso di 1-2 Mbit/sec.
Poiche' esistono gia' delle schede hardware che si occupano della compressione/decompressione dei dati in tempo reale, questo consente anche ai computers meno potenti di trattare immagini in movimento e suoni e di inviare tali dati sulle attuali reti di comunicazione digitale.
Questo fatto consente tramite protocolli e tools ipertestuali, come WWW (World Wide Web) ed Xmosaic, di accedere ad informazioni multimediali attraverso la rete Internet.
Inoltre con tali schede possono essere utilizzati dei CD-ROM o dei dischi magneto ottici, che hanno un'alta capacita' (circa 600 Megabytes) ma un basso transfer-rate (inferiore ai 2 Mbit/sec), per la memorizzazione in tempo reale di audio e video.
Questo permette la archiviazione di animazioni o altro materiale multimediale su supporti che sono facilmente distribuibili ed il cui costo sta velocemente diminuendo. Sono pertanto gia' disponibili un gran numero di CD-ROM che contengono trattati scientifici, o addirittura intere enciclopedie, e che possono essere consultati in maniera interattiva attraverso un comune personal computer.
La visualizzazione di oggetti tridimensionali ha sempre presentato dei problemi soprattutto se questi sono particolarmente complessi, ad esempio la visualizzazione di grosse molecole nella chimica computazionale, e devono essere manipolati in tempo reale. Questa necessita' ha stimolato lo sviluppo di sistemi in grado di fornire una visione tridimensionale e di dispositivi che permettano una interazione tridimensionale con il dispositivo di visualizzazione.
Una delle prime tecniche sviluppate rende possibile la visualizzazione tridimensionale filtrando l'immagine per l'occhio sinistro attraverso uno schermo rosso e quella per l'occhio destro con uno verde. Osservando le due immagini sovrapposte con un paio di occhiali le cui lenti hanno lo stesso colore dei filtri utilizzati si ottiene la visione tridimensionale dell'immagine. Un esempio di immagine generata con questa tecnica puo' essere visto nella figura seguente :
Una delle tecniche piu' utilizzate per la visualizzazione tridimensionale prevede invece che sul monitor vengano visualizzate alternativamente le immagini generate per l'occhio destro e sinistro. L'utente indossa un paio di occhiali le cui lenti, costituite da pannelli a cristalli liquidi, vengono alternativamente oscurate.
Questo fa in modo che l'utente abbia l'occhio sinistro oscurato quando viene proiettata l'immagine per l'occhio destro e viceversa abbia oscurato l'occhio destro quando viene proiettata l'immagine per l'occhio sinistro. Data l'importanza della sincronizzazione fra gli occhiali ed il monitor in genere gli occhiali hanno un ricevitore agli infrarossi collegato con un trasmettitore posto in cima al monitor.
In questo modo l'utente e' in grado di percepire, guardando un normale schermo 2D, molte piu' informazioni riguardo alla posizione spaziale degli oggetti visualizzati rispetto ad una semplice visualizzazione 2D.
Per la interazione vengono utilizzati dispositivi, dalla forma di sfera o stilo, con 6 gradi di liberta' in grado quindi di interpretare le traslazioni e le torsioni intorno ai tre assi.
Naturalmente, visto che la generazione di immagini stereoscopiche richiede la elaborazione delle immagini per i due occhi, la potenza di calcolo necessaria sara' sostanzialmente doppia rispetto al caso di generazione di immagini bidimensionali.
La fusione delle tecniche di visualizzazione stereoscopica con quelle di integrazione di audio, video e testi ha portato alla nascita di sistemi per la cosiddetta Realta' Virtuale. Con essi l'utente ha una visione stereoscopica dei dati visualizzati ottenuta attraverso degli schermi a cristalli liquidi, uno per occhio, in genere applicati ad un casco che egli indossa.
La interazione con il sistema avviene attraverso un dispositivo che rileva le rotazioni del casco, e quindi della testa dell'utente, ed eventualmente dei dispositivi di puntamento, in genere incorporati in un guanto od un joystick.
Sebbene questi sistemi stiano avendo un forte successo soprattutto nel campo dell'intrattenimento essi vengono usati anche nella visualizzazione scientifica in quei casi in cui e' necessaria una forte interazione dell'utente con il sistema di visualizzazione. Attualmente il loro sviluppo e' frenato dall'enorme potenza di calcolo richiesta al sistema di visualizzazione ed al conseguente alto costo.
Per ovviare a questo problema vengono visualizzate, a bassa risoluzione, solo delle scene non troppo complesse ed il display viene aggiornato con una frequenza ridotta. Si ottiene quindi una drastica riduzione della potenza di calcolo necessaria al costo pero' di un minore realismo della visualizzazione.
Uno sviluppo che si prevede per i sistemi di Realta' Virtuale e' costituito dai sistemi a Realta' Aumentata, sviluppati originariamente in aereonautica militare per consentire ai piloti di tenere sotto controllo, durante il volo, l'alto numero di strumenti nella cabina di pilotaggio. In essi l'utente indossa ancora un visore a cristalli liquidi, ma su esso vengono visualizzate delle informazioni sovrapposte alla scena reale che egli sta guardando.
Nel caso del pilota il visore e' integrato nel casco e visualizza le indicazioni degli strumenti di bordo piu' importanti in ogni dato istante.
In campo medico invece, un chirurgo puo' vedere, mentre esegue una operazione indossando il visore a cristalli liquidi, delle informazioni numeriche e grafiche sovrapposte alla scena reale della sala operatoria dalle quali puo' trarre indicazioni su come effettuare l'intervento.
Tali informazioni possono essere, ad esempio, il risultato di una elaborazione della previsione di intervento fatta dal chirurgo stesso e dei dati letti in tempo reale dalle apparecchiature collegate al paziente (elettrocardiogramma, pressione arteriosa ecc.).
In generale, al diminuire del costo delle macchine ed all'aumentare della loro potenza, le applicazioni di queste metodologie sono sempre piu' alla portata della grande utenza e le loro applicazioni pratiche aumentano di giorno in giorno.
Alla NASA, Ames Research Center, viene correntemente utilizzata una galleria del vento virtuale, mostrata nella figura, in cui il progettista si vede immerso in una galleria del vento assieme ad una visualizzazione della struttura del velivolo da esaminare. Ovviamente la sua presenza non puo' interferire con l'esperimento anche se egli puo' manipolare, con dei semplici gesti, sia la struttura del velivolo che inserire dei traccianti per verificarne l'aerodinamica.
I settori che trarranno maggiore beneficio, in futuro, di queste tecniche saranno quelli nei quali e' richiesta l'interazione in tempo reale fra l'utente edil sistema di visualizzazione quali ad esempio il campo medico, il CAD/CAM, la didattica, l'esplorazione di ambienti naturali ed architettonici e l'intrattenimento.
Un esempio di struttura per la visualizzazione multimediale di dati scientifici e' costituito dal VideoLab del CRS4 il cui schema a blocchi e' riportato nella figura. Tale struttura viene utilizzata per la produzione di filmati video rappresentanti animazioni da visualizzazioni di dati scientifici.
La generazione delle animazioni viene fatta su una qualsiasi workstation abilitata e collegata al VideoLab in rete locale ethernet, se all'interno del CRS4, oppure remotamente attraverso la rete Internet.
Ogni fotogramma viene inviato, attraverso la rete, al server che si occupa della sua visualizzazione, conversione nello standard PAL e memorizzazione in formato analogico su un disco WORM (Write Once Read Many). Tale disco utilizza delle cartucce la cui capacita' e' di circa 70.000 fotogrammi ai quali si puo' accedere in maniera casuale sia in registrazione che in riproduzione.
Una volta che tutti i fotogrammi sono stati memorizzati sul WORM il server puo' controllare la loro riproduzione consecutiva ed il risultato puo' essere riversato su un normale videoregistratore ottenendo un nastro S-VHS. Il server controlla anche un lettore di CD che puo' essere utilizzato per aggiungere un commento sonoro al filmato.
Dato che il server viene controllato remotamente dalla rete, la generazione di un filmato puo' avvenire senza alcun intervento manuale locale. Il controllo del server da parte dell'utente remoto avviene mediante dei semplici comandi, attraverso una pannello di controllo interattivo oppure, in casi piu' complessi, l'utente puo' sviluppare le sue applicazioni facendo uso di una particolare libreria di funzioni.
Le estensioni future del VideoLab prevedono la introduzione di una scheda digitalizzatrice ed una per la compressione, secondo lo standard MPEG, dei filmati archiviati sul WORM. Tali estensioni permetteranno ad una qualunque workstation di esaminare i filmati archiviati sul WORM, consentendo quindi la creazione di una banca dati di immagini e filmati scientifici accessibile attraverso la rete. Una scheda audio consentira' la registrazione sul WORM di commenti sonori, abbinati ai filmati, e generati in maniera digitale sulle workstations remote.