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.
1
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.
1-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-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
Des
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
codée en GIF (8,7Ko)
Très bien adapté aux dessins vectoriels
: écritures, illustrations avec peu de nuances
de couleurs... |
|
|
 |
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.
Viewpoint
(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
|