• Aucun résultat trouvé

7.2.1 Introduction

Le rendu/visualisation 3D interactive `a distance (en anglais remote rendering) dans un cadre de mobilit´e n’est pas une technique nouvelle. Diff´erents travaux l’ont exploit´e dans diff´erents contextes.

Au d´ebut des ann´ees 1990, la biblioth`eque Distributed IRIS GL de SGI (Integrated Raster Imaging System Graphics Library ancˆetre de la biblioth`eque OpenGL) est l’´equivalent de l’actuel protocole GLX d’OpenGL : les commandes graphiques GL sont intercept´ees par la biblioth`eque cliente, envoy´ees par le r´eseau au serveur et transmises au hardware du serveur pour y ˆetre ex´ecut´ees. Le produit OpenGL Vizserver de SGI permet de cr´eer une session de rendu `a distance entre un ordinateur de bureau et des serveurs graphiques de type SGI Onyx. Engle et al. [ESEE99,ESE00] ont d´evelopp´e une interface pour les applications OpenIn-ventor et Cosmo3D. L’id´ee consiste `a envoyer via un r´eseau les images calcul´ees et compress´ees

Fig. 7.1: Mod`ele du David de Michel-Ange rendu de fa¸con dite ”r´ealiste” (`a gauche) et en utilisant un rendu NPR `a base de traits caract´eristiques (`a droite).

sur le serveur `a un client disposant d’une machine virtuelle Java. Les ´ev´enements g´en´er´es par le client ´etant retourn´es comme des requˆetes CORBA.

Dans [DGE04], Diepstraten et al. proposent une technique reposant sur la simplicit´e et la facilit´e de compression des images obtenues `a l’aide d’un rendu dit non-photor´ealiste (NPR). Contrairement au rendu d’image classique (abusivement appel´e photor´ealiste pour s’opposer au NPR) qui cherche `a simuler au mieux les ph´enom`enes lumineux (lumi`ere, ombres, caus-tiques, etc.) et les propri´et´es des mat´eriaux des objets du monde r´eel, les techniques NPR cherchent `a reproduire les techniques de reproduction expressives utilis´ees dans les arts plas-tiques. Il existe de tr`es nombreuses techniques de rendus NPR, pour plus de d´etails nous renvoyons le lecteur `a l’ouvrage de Strothotte et Schlechtweg [SS02]. Une famille de m´ethode cherche `a cr´eer des images se rapprochant des crayonn´es de la bande dessin´ee en g´en´erant uniquement des lignes caract´eristiques du mod`ele affich´e (voir figure 7.1. Diepstraten et al. g´en`erent sur, le serveur, une image de ce type en noir et blanc. L’image obtenue est vectoris´ee en un ensemble de traits. Ces traits sont ensuite compress´es et transmis au client qui n’a plus qu’`a les rasteriser sur sa surface d’affichage.

La technique que nous avons mise au point est assez similaire `a cette derni`ere. Elle diff`ere cependant en deux points : nous transmettons l’image binaire compress´ee plutˆot qu’un en-semble de segments et le NPR n’est utilis´e que lors de la phase d’interaction.

7.2.2 Sch´ema propos´e

Notre technique repose sur une application r´epartie communiquant sur un r´eseau haut d´ebit `a l’aide du protocole TCP/IP. L’application se divise en deux parties :

1. d’une part la partie client, g´en´eralement ex´ecut´ee sur un terminal mobile `a faibles ca-pacit´es de calcul (PDA, t´el´ephone portable, etc.) qui permet `a l’utilisateur de visualiser et d’interagir avec la sc`ene disponible sur le serveur qu’il a pr´ealablement choisie ; 2. d’autre part la partie serveur situ´ee sur une machine disposant d’une bonne capacit´e de

traitement, en particulier graphique.

Le serveur stocke ou a acc`es `a une base de donn´ees de sc`enes 3D (dans notre cas en OpenInventor, VRML97 ou X3D). Lorsque la connexion avec le client est ´etablie, le serveur transmet la liste des sc`enes disponibles au client. Une fois la sc`ene choisie par l’utilisateur, le

111

client envoie au serveur le nom de la sc`ene 3D `a visualiser. D`es la sc`ene ouverte sur le serveur, celui-ci rentre dans la phase de rendu-interaction illustr´e par le diagramme 7.2. Le principe de notre technique consiste `a ce que le serveur puisse alterner entre deux sch´emas de rendus en fonction de l’´etat du client. Nous distinguons ainsi les phases d’interaction et les phases statiques.

7.2.2.1 Phases d’interaction

Les phases d’interaction sont les moments durant lesquels le client est en train d’interagir avec la sc`ene sur les dispositifs d’interaction du terminal mobile (les touches et l’appui stylet sur l’´ecran tactile du PDA dans notre cas). Lors de ces phases, il est important que l’utilisateur puisse constater en temps r´eel l’effet de ses actions sur la sc`ene. Il existe donc une contrainte de performance forte sur la requˆete du client fournissant au serveur les informations sur l’interaction r´ealis´ee et attendant en retour la nouvelle image `a afficher. Il convient donc de r´eduire sensiblement la quantit´e de donn´ees transmises sur le r´eseau et, si n´ecessaire, le temps de calcul de la sc`ene par le serveur (par exemple avec les techniques d´ecrites dans le chapitre pr´ec´edent). Une image couleur de taille 320 × 240 (r´esolution dite QVGA utilis´ee par de nombreux PDA) cod´ee en 16 bits sous forme brute non compress´ee afin d’´economiser le temps de compression / d´ecompression p`ese 150Ko. Dans la pratique, le temps de calcul et de transmission d’un tel flux d’images en temps r´eel s’av`ere difficile `a atteindre, car elle n´ecessite un haut d´ebit (pour 15 images par secondes, 2,2Mo de donn´ees doivent transiter par seconde) et une latence (le temps minimum pour effectuer un aller et retour entre deux points du r´eseau, la latence est forc´ement longue si les deux points sont ´eloign´es) faible, ce qui est rarement le cas sur des r´eseaux sans fil.

Nous proposons donc de transmettre une image en noir et blanc d´ecrivant les traits

ract´eristiques de la sc`ene visualis´ee. Pour obtenir un tel rendu, nous utilisons une technique de rendu NPR. Dans notre cadre exp´erimental, nous utilisons une technique consistant `a ex-traire de la sc`ene diff´erents contours caract´eristiques tels que les fronti`eres et les silhouettes des objets.

Contrairement `a [DGE04], nous ne vectorisons pas l’image pour en extraire un ensemble de lignes. En effet, si cette vectorisation a un coˆut, il faut aussi compter que la rast´erisation des lignes en a un ´egalement cˆot´e client. Or il est g´en´eralement moins coˆuteux de transf´erer d’un seul coup `a la m´emoire graphique un tampon image plutˆot que de modifier la valeur des pixels un `a un. Aussi, l’image binaire calcul´ee est plutˆot encod´ee `a l’aide d’une technique de type codage des r´ep´etitions (en anglais run-length encoding, ou RLE). En moyenne, pour une image au format QVGA, le fichier obtenu est de l’ordre de moins d’une dizaine de kilos octets.

7.2.2.2 Phases statiques

Les phases statiques correspondent aux p´eriodes durant lesquelles l’utilisateur n’interagit plus avec la sc`ene. Si la sc`ene n’est pas anim´ee, il n’y a donc plus de contrainte pr´egnante concernant le temps de calcul et de transfert de l’image entre le serveur et le client. Pour cette phase, la sc`ene peut ˆetre calcul´ee en couleur avec une technique de rendu classique.

7.2.3 R´esultats et bilan

Nous avons exp´eriment´e cette technique sur un PDA Toshiba e800 disposant de connexions USB 2.0 et WiFi 802.11b (d´ebit th´eorique de 11 Mbps, 6 Mbps r´e´els, avec une port´ee pouvant aller jusqu’`a 300 m`etres dans un environnement d´egag´e). Sur notre jeu de sc`enes 3D, nous avons obtenu une bonne interactivit´e, offrant un taux de rafraˆıchissement de l’ordre de 15tps sur le PDA, taux largement suffisant sur une telle machine. La quantit´e de donn´ees transitant sur le r´eseau pendant les phases d’interaction est relativement faible : pour 15 trames par secondes, 15×10=150Ko par seconde. La figure7.3illustre les deux phases de notre technique. En conclusion, cette approche de rendu `a distance en deux phases est int´eressante pour visualiser, sur des machines `a faibles ressources, des donn´ees complexes avec des techniques de rendu ´eprouv´ees sur des machines puissantes. La visualisation en NPR lors des phases d’interaction permet de baisser sensiblement la quantit´e de donn´ees transmises sur le r´eseau et d’augmenter par l`a mˆeme la sensation d’interactivit´e de l’utilisateur. En contrepartie, cette technique n´ecessite une tr`es bonne accessibilit´e au r´eseau et en particulier une latence faible. Elle est donc adapt´ee `a un environnement sp´ecifique tel que l’enceinte d’un mus´ee ou d’un site touristique, et, pour pouvoir ˆetre utilis´ee `a simultan´ement par de nombreux utilisateurs, n´ecessite une puissante grappe de serveurs de rendu d´edi´es.