NEWS         TESTS         INTERVIEWS         DOSSIERS         BOUTIQUE         GALLERY 3D         3D SITES         FORUM 3D

Compression 3D (juin 2001)

MENU
Introduction+Compression géométrique
Compression des médias + Streaming


La compression des données est un élément critique dans toute application web. La 3D n'échappe pas à la règle, bien au contraire. Nous distinguerons trois usages de la compression de contenus 3D : réduction des temps de chargement sur le réseau, garantir une vitesse d'affichage convenable sur la majeure partie des PC, encapsuler et sécuriser les données. La 3D web faisant parti des Rich Medias, tous ses composants peuvent être compressés : géométrie, son, images, animations... L'organisation intelligente des informations compactées pourra donner naissance à des solutions de streaming (lecture en continu) de contenus 3D.

Fonction Meshsmooth-3dsmax1 Compression géométrique

1-1 Réduction polygonale
Pour réduire les formes géométriques, ont peut bien sûr appliquer aux fichiers des algorithmes de compressions non destructeurs (entropy/predective coding). Le gain d'espace sera de l'ordre de 30% à 50%, mais ces techniques compliquent la diffusion continue (streaming) de la géométrie. On préférera optimiser directement la géométrie en simplifiant les surfaces (suivie le cas échéant par une compression non destructive). Les gains d'espaces peuvent alors être conséquents : on peut atteindre des taux de 60% à 90% sans dégradation visuelle de l'objet. Les objets organiques, les modèles issus de numériseurs 3D se prêtent très bien à cet exercice, tandis que des objets à angles saillants seront rapidement dégradés.

Pour optimiser le maillage, de nombreuses techniques existent. Les concepteurs de jeux vidéo les utilisent quotidiennement. Le principe est de rassembler les points proches, les surfaces quasi coplanaires... On peut mesurer les différences entre l'objet initial et l'objet compressé en comparant l'ensemble des différences "ponctuelles" de volumes.
Des outils performants de réduction de polygones sont implantés directement dans les nouvelles versions de Max, Cinema 4D...
Le graphiste-modeleur peut aussi, par sa façon de concevoir l'objet, veiller à garder un nombre de polygones réduit. Dans ce cas l'objet ne pourra être utilisé qu'à basse résolution. Certains projets nécessitent pourtant de travailler avec deux résolutions, par exemple les jeux vidéo : un modèle haute résolution est utile dans les scènes cinématiques et un modèle très simple pour le jeu 3D en temps réel..
En revanche, les graphistes ne doivent pas abuser des subdivisions de surfaces qui sont aujourd'hui présentes dans tous les packages 3D, si ils destinent leurs modèles au web.
Quant aux objets web qui proviendraient d'autres techniques de construction (NURBS, surfaces de Bezier...), au moment de la conversion en polygones on peut ajuster le niveau de détail, et ainsi disposer de différentes versions du modèle : "multiresolution".

Les outils d'optimisation de polygones sont de plus en plus nombreux et efficaces. Ils permettent un contrôle complet du processus : on n'est pas obligé de choisir un facteur global de compression. Par exemple, pour un personnage : le visage bénéficiera de plus de détails que le reste du corps.

1-2 Surfaces paramétriques (High Order Surface-HOS)
Les surfaces paramétriques (Bezier, NURBS, BSpline...) ne sont pas reconnues par la plupart des technologies web 3D. Elles ont pourtant le mérite de décrire des surfaces courbes évoluées avec très peu d'information. Voici les principales raisons pour lesquelles elles ne sont pas supportées par les technologies web 3D :
- Elles ne sont pas populaires chez les infographistes, qui préfèrent la richesse des fonctions, et la précision de contrôle des outils polygonaux. Les polygones permettent un ajustement précis des surfaces de subdivision et du plaquage des textures.
- Les enveloppes polygonales sont une référence en matière de format d'échange 3D (le VRML est basé sur une description polygonale).
- Les surfaces paramétriques doivent être converties en triangles pour la visualisation 3D
temps réel. Cette étape doit être faite par le player web. Hors de nombreuses surfaces paramétriques existent et ne répondent pas à une norme d'échange.
Seul le plug-in 3 Space de TGS sait interpréter les surfaces paramétriques complexes issues d'AMAPI. Espérons qu'il fasse rapidement des émules, car ces surfaces comportent de nombreux avantages en terme de taille de fichier et de support multirésolution 3D.

Voxel  Stream1-3 Voxel
Le voxel est une approche originale de la 3D. En effet : la topologie des objets va être analysée puis convertie en "pixels 3D" placés dans l'espace. Une grille 3D avec une résolution plus ou moins fine servira de matrice. Cette façon "bitmap" de concevoir la 3D permet en outre d'adopter pratiquement tous les algorithmes utilisés dans le plan : wavelet, JPEG, GIF, résolution, nombre de couleurs, LZW... Voxel Stream propose sur son site des objets 3D web provenants de modèles numérisés en 3D. L'éditeur parvient à réduire la taille d'un fichier de 22 Mo en 12 Ko, au prix d'une dégradation visible en haute résolution ou en zoom.
Le voxel ne semble pas mauvais sur le papier mais nécessite de meilleurs outils pour s'imposer face aux technologies 3D "pures" : la plupart des logiciels 3D ne savent ni créer des volumes en Voxel ni interpréter ses informations en import.

1-4 N-Patches et RT-PatchesN-Patches   RT-Patches
Sans cesse en train de s'affronter pour obtenir le leadership sur le marché très convoité des cartes graphiques, nVidia et ATI affinent leurs armes en introduisant de nouvelles fonctions 3D dans leurs puces. Qui s'en plaindra ? Cela permet d'entretenir un très haut niveau de performances (les performances doublent tous les 9 mois, soit une progression plus rapide que celle des CPU).
ATI a inauguré un nouveau système permettant de lisser les polygones : Truform (fonction disponible sur le R200/Radeon 2). Cette fonction, aussi appelée N-Patches dans DIRECT X ou (PN-Patches dans Open GL,"Point Normal") est "compatible" avec le parc des cartes 3D installée. "Compatible" dans le sens qu'elle ne bloquera pas l'exécution de telles objets 3D sur les anciennes cartes 3D, mais seules les nouvelles cartes en tireront profit.
Grâce à Truform, l'infographiste pourra spécifier les objets de sa scène qu'il voudra lisser à l'affichage. Une simple ligne de code suffit à activer cette fonction Direct X8. Le principe de ce lissage de courbe n'est pas aussi révolutionnaire que voudrai nous laisser croire les chercheurs d'ATI. Il s'agit d'une subdivision de surfaces triangulaires. A partir de normales attribuées à chaque sommets, une surface lisse est générée et les triangles de subdivision sont agencés de telle sorte qu'ils épousent cette surface lissée idéale.
Le choix de nVidia porte sur le RT Patches (fonction DirectX/OpenGL) qui n'est pas compatible avec les cartes graphiques actuelles. En revanche le RT Patches donnent de meilleurs résultats que le PN-Patches.
La politique tracée par ATI semble mieux adaptée au marché, mais nVidia reste plus dynamique : la Ge Force 3 est déjà disponible et la puce graphique au coeur de la XBox devrait elle aussi comporter une accélération de type PN-Patches.

1-5 Les outils de réduction
Digimation/Intel MultiresDes outils de réduction polygonales sont de mieux en mieux intégrés au processus ce modélisation. Soulignons la technique MultiRes d'Intel qui permet de générer des polygones optimisés en fonction de la bande passante, de la vitesse d'animation et de la distance du modèle par rapport à la caméra. MultiRes s'intègre parfaitement à Max 3.0 (plug-in commercialisé par Digimation). L'outil développé par Intel/Digimation, facilite le travail de l'infographiste, qui peut modéliser un objet de façon détaillée, puis adapter sa résolution aux différentes applications du modèle : web 3D, video games, broadcast... L'infographiste bénéficie d'une visualisation temps réel afin de contrôler le niveau de dégradation. Multires conserve les textures et les directions des normales.
>télécharger la démo Digimation/viewer
SIM propose également un outil de réduction polygonale éprouvé : Rational Reducer. Il importe du VRML, DXF, 3DS et permet de visualiser en temps réel les modifications. Certains modèles peuvent subir des réductions de 90% sans pertes visuelles majeures.
Parallel Graphics propose pour sa part Internet Model Optimizer (IMO), qui permet de réduire la géométrie de modèles VRML/DXF. Il peut attribuer différents taux de compression aux multiples parties d'un modèle. Enfin, il autorise l'édition des points après optimisation. Cet outil est très visuel et efficace (jusqu'à 90% de réduction, conversion en Spline...).

1-6 Les plug-ins web
La plupart des technologies web comportent une réduction polygonale propre. Il s'agit d'un élements crucial de ces technologies. Le VRML est l'une des technologies les moins bien lotie en la matière. Les fichiers VRML peuvent être compressés sous formes d'archives (gzip), mais la réduction géométrique doit être réalisée en amont dans le logiciel de création 3D ou dans une application dédiée à l'optimisation géométrique (Rational Reducer ou IMO).
Les moteurs de rendu Java 3D comportent généralement des outils d'optimisation assez performants : on peut réduire les modèles d'environ 60%.
Les technologies propriétaires basées sur composants Active X intègrent des outils de compression particulièrement puissants. Ces outils qui créent la plus value de ces technologies sont gardés jalousement secrets. Combinés à un streaming géométrique (Viewpoint, Enbaya, Virtue 3D) le chargement des objets devient dynamique. L'internaute n'attend donc plus passivement le chargement.
Macromedia et Intel proposent d'intégrer directement les outils de compression dans le modeleur et personne ne s'en plaindra : l'infographiste a un contrôle permanent de la géométrie lors de la phase de création.

1-7 L'avenir de la compression 3D
Certaines techniques semblent particulièrement prometteuses et nous laissent présager de nouvelles possibilités en terme de compression. La géométrie fractale est de part sa nature parfaitement adaptée pour décrire très simplement des surfaces "naturelles" complexes. Ainsi, deux ou trois "équations fractales" (itérations du plan complexes) suffisent pour générer des nuages ou des reliefs réalistes. Les propriétés des ensembles fractales peuvent aussi servir à générer du bruit sur les textures (diffuse ou bumpmapping) pour créer des irrégularités naturelles. La géométrie fractale tarde à s'imposer dans le domaine de la compression 3D. Est ce-du à la complexité des calculs fractals qui ralentissent les rendus temps réel, ou à la difficulté à déployer des algorithmes efficaces dans tous les cas de figure ? Une chose est sûre : la compression fractale s'avère excellente dans le monde 2D (résultats meilleurs que le JPEG pour un poids égal). Si cette technologie n'a pas été massivement adoptée jusqu'à maintenant dans le domaine 2D, c'est sans aucun doute à cause des licences prohibitives et la durée d'encodage.
L'avenir de la compression 3D passera peut-être par la génération de fichiers archivant les étapes de constructions et non pas les coordonnées des maillages finaux. Un système de "reverse engineering", permettrait de retrouver quelles ont été les différentes modifications réalisées par l'infographiste aux primitives de base. Ce principe "idéaliste" comporte des limites : chaque outil 3D comporte des fonctions de création différentes. Nous sommes encore loin du langage universel de désignation d'objets 3D basé sur les étapes de création...
Nous avons vu que les objets définis par des surfaces évoluées (NURBS, surfaces de Bezier...) sont généralement plus légers que leurs représentations polygonales respectives. Les technologies 3D-web devront être capables d'interpréter ces surfaces et les transformer en triangles pour les animer. Elles pourront paramêtrer le nombre de triangles en fonction des ressources de la machine. Malheureusement, ces courbes n'offrent pas les mêmes possibilités que les polygones (et les surfaces de subdivision) en matière de modélisation, ainsi de nombreux infographistes restent fidèles à ce mode de construction inévitable.
De nouveaux langages devraient voir le jour pour simplifier la description de volumes : le SGDL, est un langage novateur qui décrit efficacement tous les volumes.
Par ailleurs, les constructeurs de cartes graphiques devraient jouer un rôle important dans le domaine de la compression et de l'amélioration de la qualité visuelle en proposant des algorithmes de lissage de courbes standardisés et d'anticrénelage hardware.

2 Compression des médias

2-1 Les textures
Pour les textures, le problème est semblable à ce qui se passe en 2D. Les meilleures technologies pour comprimer des documents de type photographique sont à ce jour les ondulettes (wavelet) et le JPEG. Pour les images de type vectoriel (avec peu de nuances de couleur) le GIF reste imbattable et très précis. Quant au PNG, ces taux de compression souffrent de la concurrence avec le JPEG et GIF.

Texture GIF
Texture codée en GIF (8,7Ko)
Très bien adapté aux dessins vectoriels : écritures, illustrations avec peu de nuances de couleurs...
 
texture JPEG
Texture codée en JPEG (8,7Ko)
Le jpeg donne d'excellents résultats pour des photos, mais pour des aplats de couleurs mieux vaut utiliser le GIF, qui ne laisse pas de "bruits" désagréable aux frontières des zones de couleurs.

Regrettons que certaines technologies ne proposent pas le GIF comme format de compression 2D. En effet, dans de nombreux cas de figures, le GIF se montre indispensable à l'infographiste web 3D.

2-2 Les sons
Certaines technologies ne comportent pas de gestion du son, il faut donc passer par Windows Media Player, Quicktime ou Flash. Les fichiers sonores (MIDI, WAV, PCM, MP3...) sont supportés par certaines technologies. Des compressions type MPEG/Wavelet peuvent être appliquées sur ces données.

2-3 Les animations
Les informations de déplacement, rotation, morphing peuvent aussi subir des compressions non destructives et/ou destructives. En effet, les animations peuvent occuper beaucoup d'espace mémoire. CULT 3D permet de comprimer ces informations. Shockwave 3D avec sa gestion des bones permet aussi de concevoir des animations légères. En outre, l'animation tout comme le son se prète très bien au streaming. Certaines technologies orientées avatar/3d (Qedsoft, Pulse, B3D) film proposent généralement la lecture continue des informations sonores et des animations.

3 Streaming


Les médias" streamés" (=en lecture progressive et continue) ont une place de choix sur internet. Les pages HTML en sont un exemple : lorsque l'on arrive sur un site, le texte est le premier élément à apparaître, suivi des différents éléments graphiques. Cela permet aux l'internautes d'accéder rapidement aux informations, et ce chargement dynamique le rassure quant à la disponibilité du serveur. Une autre école voudrait que lorsque l'internaute accède à une page internet, elle s'affiche d'un seul tenant et ne montre pas les étapes de constructions. Du coup même Flash, pourtant maître des médias streamé est devenu spécialiste des barres de chargement animées...
D'un point de vue purement esthétique cette conception non streamée d'internet est tout à fait logique, mais elle ignore la réalité du réseau et les particularité d'internet. C'est pourquoi, les utilisateurs préfèrent des contenus streamés.
ViewpointViewpoint (ex. MTS) a été l'une des premières sociétés à implémanter un moteur de rendu capable de lire les informations géométrique de façon continue. Le modèle apparaît donc très rapidement à plusieurs résolutions : au début l'objet est grossier, puis il gagne progressivement en détails.
Cette technique est très appréciée par les internautes surfant sur des modems RTC. Une fois la géométrie chargée, presque toutes les technologies chargent dynamiquement les textures (même le VRML).

4 Conclusion

On distingue dans la pratique deux cas de figure : le cas où l'on doit convertir des modèles existants (issus de catalogues de modèles 3D, d'un film 3D, d'un scan 3D...) et le cas où l'on réalise un objet spécifiquement pour le web. Dans le premier cas, les solutions de compression sont d'un très grand secours pour alléger la scène. On peut dans certains cas espérer obtenir un gain de 90% d'espace. Dans le cas d'une modélisation exclusivement destiné au web, on peut en utilisant des méthodes de compression économes en polygones (LPM) conserver un nombre de triangles très réduits. Les méthodes de compression ne seront dans ce cas pas très efficaces (de l'ordre de 30%).

Dans le cas d'un modèle haute résolution, les infographistes préfèrent bien souvent "recommencer" la modélisation en tenant compte du format de sortie. En effet, les moteurs web 3D ne supportent pas le rendu des faces cachées, les objets qui se superposent, les textures compliquées... Ainsi, en prenant en compte de toutes les limitations du format web final, on peut réellement optimiser le modèle dans la phase de conception.

^ Top

 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2006 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider