Compression de maillages 3D statiques et dynamiques - Artemis
Compression de maillages 3D statiques et dynamiques - Artemis
Compression de maillages 3D statiques et dynamiques - Artemis
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
UNIVERSITE RENE DESCARTES - PARIS V<br />
Centre Universitaire <strong>de</strong>s Saints-Pères<br />
UFR DE MATHEMATIQUES ET INFORMATIQUE<br />
Thèse présentée en vue <strong>de</strong> l’obtention du gra<strong>de</strong> <strong>de</strong> Docteur<br />
<strong>de</strong> l’Université RENE DESCARTES - PARIS V<br />
Discipline : Sciences <strong>de</strong> la Vie <strong>et</strong> <strong>de</strong> la Matière<br />
Spécialité :Mathématiques <strong>et</strong> Informatique<br />
Par Khaled MAMMOU<br />
Suj<strong>et</strong> <strong>de</strong> la thèse :<br />
<strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong> <strong>et</strong> <strong>dynamiques</strong><br />
Soutenue le 5 Septembre 2008, <strong>de</strong>vant le jury composé <strong>de</strong>:<br />
Madame le Professeur Christine GRAFFIGNE Prési<strong>de</strong>nt<br />
Monsieur le Professeur Faouzi GHORBEL Rapporteur<br />
Monsieur le Professeur<br />
Madame le Professeur<br />
Rémy PROST<br />
Françoise PRÊTEUX Rapporteur<br />
Directeur <strong>de</strong> thèse<br />
Monsieur le Docteur Didier NICHOLSON Examinateur<br />
Monsieur le Docteur Titus ZAHARIA Examinateur
Remerciements<br />
Initiée il y a un peu plus <strong>de</strong> trois ans, c<strong>et</strong>te thèse n’aurait pas pu aboutir sans l’aimable<br />
concours <strong>de</strong> plusieurs personnes, que je tiens vivement à remercier ici.<br />
En premier lieu, je tiens à remercier Madame le Professeur Françoise Prêteux, directeur <strong>de</strong><br />
c<strong>et</strong>te thèse, pour m’avoir accueilli au sein du département ARTEMIS <strong>de</strong> l’Institut TELECOM/<br />
TELECOM & Management SudParis. Quelle soit assurée <strong>de</strong> ma profon<strong>de</strong> gratitu<strong>de</strong> pour la<br />
qualité <strong>de</strong> la formation dont elle m’a fait bénéficier <strong>et</strong> pour ses conseils avisés. Je lui serai<br />
toujours reconnaissant pour m’avoir impliqué dans le processus ISO/MPEG <strong>et</strong> pour m’avoir<br />
fait ainsi découvrir le mon<strong>de</strong> passionnant <strong>de</strong> la normalisation internationale.<br />
Je tiens à remercier tout particulièrement Monsieur le Docteur Titus Zaharia, Maître <strong>de</strong><br />
Conférences au Département ARTEMIS pour son encadrement quotidien, pour les discussions<br />
scientifiques passionnées que nous avons partagées <strong>et</strong> pour ses recommandations pédagogiques<br />
précieuses.<br />
A Madame Christine Graffigne, Professeur à l’Université Paris V, qui m’a fait l’honneur <strong>de</strong><br />
prési<strong>de</strong>r ce jury, je tiens àtémoigner mon respect <strong>et</strong> mes remerciements les plus sincères.<br />
A Monsieur Faouzi Ghorbel, Professeur àl’ École Nationale <strong>de</strong>s Sciences <strong>de</strong> l’Informatique<br />
<strong>de</strong> Tunis, qui a accepté la lour<strong>de</strong> charge d’être rapporteur, j’exprime mes remerciements les<br />
plus profonds pour l’interêt qu’il a bien voulu porter à ce travail. Je souhaite également lui<br />
témoigner ma gratitu<strong>de</strong> <strong>et</strong> ma profon<strong>de</strong> reconnaissance pour m’avoir fait découvrir le mon<strong>de</strong><br />
<strong>de</strong> l’imagerie <strong>et</strong> pour m’avoir orienté vers ce domaine passionnant. Je ne le remercierai jamais<br />
assez pour la rigoureuse formation scientifique dont il m’a fait bénéficier ainsi que pour ses<br />
précieux conseils <strong>et</strong> son soutien amical. Je serai toujours son re<strong>de</strong>vable élève !<br />
Que Monsieur Rémy Prost, Professeur à l’INSA <strong>de</strong> Lyon, rapporteur <strong>de</strong> ce mémoire, trouve<br />
ici l’expression <strong>de</strong> toute ma gratitu<strong>de</strong> pour sa lecture minutieuse <strong>et</strong> l’intérêt qu’il a porté à<br />
c<strong>et</strong>te recherche. Qu’il soit également remercié pouravoirenrichi<strong>et</strong>amélioré la qualité <strong>de</strong> c<strong>et</strong>te<br />
thèse grâce à sa gran<strong>de</strong> expérience dans ce domaine.<br />
Que Monsieur le Docteur Didier Nicholson, Ingénieur <strong>de</strong> Recherche chez Thalès Communications<br />
<strong>et</strong> Chef <strong>de</strong> la Délégation Française dans la commission JPEG, soit assuré <strong>de</strong>mes<br />
remerciements les plus chaleureux pour m’avoir fait l’honneur d’être examinateur <strong>de</strong> c<strong>et</strong>te<br />
thèse.<br />
A Marius Preda, Nicolas Rougon, Catalin F<strong>et</strong>ita <strong>et</strong> Mihai Mitrea, Maîtres <strong>de</strong> Conférences<br />
au Département ARTEMIS, j’exprime mes rermerciements pour leur écoute attentive <strong>et</strong> leur<br />
ai<strong>de</strong> stimulante.<br />
Que Madame Evelyne Taroni trouve ici l’expression <strong>de</strong> mes remerciements pour son ai<strong>de</strong><br />
patiente <strong>et</strong> son inépuisable énergie pour résoudre toutes les questions administratives.<br />
i
ii<br />
Je tiens également à remercier l’ensemble <strong>de</strong>s membres d’ARTEMIS (actuels <strong>et</strong> anciens),<br />
que j’ai eu la chance <strong>de</strong> côtoyer : Afef, Alain, Antoine, Benoît, Blagica, Corneliu, Diane, Franck,<br />
Imen, Ines, Ivica, Maher, Marc, Octavian, Oguzhan, Olfa, Walid, Perrine, Pierre-Yves, Rachid,<br />
Son <strong>et</strong> Sorin.<br />
Je tiens particulièrement à remercier mon ami Amaury <strong>et</strong> mon collègue <strong>de</strong> bureau Matthieu<br />
pour les innombrables <strong>et</strong> agréables pauses (café ou autres) que nous avons partagées. Nos<br />
discussions amicales <strong>et</strong> parfois scientifiques restent un plaisir inégalé!<br />
Enfin, je ne remercierai jamais assez ma famille <strong>et</strong> mes amis pour leur précieux soutien tout<br />
au long <strong>de</strong> ces années.
Table <strong>de</strong>s matières<br />
Remerciements i<br />
Introduction 1<br />
I <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong> 5<br />
1 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 7<br />
1.1 Notions mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.1.1 Maillage triangulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.1.2 Variétés, orientation <strong>et</strong> genre . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
1.2 Standards/formats <strong>de</strong> représentation . . . . . . . . . . . . . . . . . . . . . . . 14<br />
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art . . . . . . . . . . . . . . 15<br />
1.3.1 Approches <strong>de</strong> compression mono-résolution . . . . . . . . . . . . . . . . 16<br />
1.3.1.1 <strong>Compression</strong> par ban<strong>de</strong>s <strong>de</strong> triangles . . . . . . . . . . . . . . 16<br />
1.3.1.2 Codage par arbres couvrants . . . . . . . . . . . . . . . . . . 17<br />
1.3.1.3 Décomposition en niveaux . . . . . . . . . . . . . . . . . . . . 18<br />
1.3.1.4 Codage <strong>de</strong>s valences . . . . . . . . . . . . . . . . . . . . . . . 18<br />
1.3.1.5 Codage par conquête <strong>de</strong> triangles . . . . . . . . . . . . . . . . 21<br />
1.3.1.6 Codage prédictif <strong>de</strong> la géométrie <strong>et</strong> <strong>de</strong>s attributs . . . . . . . 21<br />
1.3.1.7 Quantification vectorielle . . . . . . . . . . . . . . . . . . . . . 23<br />
1.3.2 Approches <strong>de</strong> compression multi-résolution . . . . . . . . . . . . . . . . 24<br />
1.3.2.1 Techniques <strong>de</strong> simplification <strong>de</strong> <strong>maillages</strong> . . . . . . . . . . . . 24<br />
1.3.2.2 Les <strong>maillages</strong> progressifs . . . . . . . . . . . . . . . . . . . . . 25<br />
1.3.2.3 Codage par complexe simplicial progressif . . . . . . . . . . . 25<br />
1.3.2.4 Codage par forêt progressive d’opération vsplit . . . . . . . . 26<br />
1.3.2.5 Approches par décimation <strong>de</strong> somm<strong>et</strong>s . . . . . . . . . . . . . 26<br />
1.3.2.6 Codage par décomposition en niveaux . . . . . . . . . . . . . 28<br />
1.3.2.7 Codage par décomposition en arbres géométriques . . . . . . . 28<br />
1.3.2.8 Codage spectral . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />
1.3.2.9 Approches par on<strong>de</strong>l<strong>et</strong>tes . . . . . . . . . . . . . . . . . . . . 30<br />
1.4 Analyse <strong>et</strong> discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
iii
iv TABLE DES MATI ÈRES<br />
2 Le codage TFAN 37<br />
2.1 L’approche TFAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
2.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
2.1.2 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />
2.1.3 Algorithme <strong>de</strong> codage : construction <strong>de</strong> la représentation TFAN . . . . 44<br />
2.1.4 Decodage <strong>de</strong> la représentation TFAN . . . . . . . . . . . . . . . . . . . 47<br />
2.1.5 <strong>Compression</strong> <strong>de</strong> la représentation TFAN . . . . . . . . . . . . . . . . . 48<br />
2.1.6 Préservation <strong>de</strong> l’ordre <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s fac<strong>et</strong>tes . . . . . . . . . . . 51<br />
2.1.7 Codage <strong>de</strong> la géométrie du maillage . . . . . . . . . . . . . . . . . . . . 51<br />
2.2 Propriétés <strong>de</strong> l’approche TFan . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />
2.2.1 Complexité <strong>de</strong> calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />
2.2.2 Rendu temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />
2.2.3 Capacité <strong>de</strong>mémoire nécessaire . . . . . . . . . . . . . . . . . . . . . . 52<br />
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> . . . . . . . . . . . . 52<br />
2.3.1 Corpus <strong>de</strong> test SEMANTIC-<strong>3D</strong> . . . . . . . . . . . . . . . . . . . . . . 53<br />
2.3.1.1 Structure à multiples composantes connexes . . . . . . . . . . 53<br />
2.3.1.2 Problème d’éclatement <strong>de</strong>s composantes connexes (“cracking”) 54<br />
2.3.1.3 Distribution <strong>de</strong>s valences . . . . . . . . . . . . . . . . . . . . . 56<br />
2.3.1.4 Conversion en <strong>maillages</strong> manifold . . . . . . . . . . . . . . . . 56<br />
2.3.1.5 Adéquation <strong>de</strong>s approches classiques aux données CAO . . . . 57<br />
2.3.2 Critères d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
2.3.3 Distribution <strong>de</strong>s configurations TFAN . . . . . . . . . . . . . . . . . . . 58<br />
2.3.4 Espace mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
2.3.5 Performances <strong>de</strong> compression . . . . . . . . . . . . . . . . . . . . . . . 61<br />
2.3.6 Temps <strong>de</strong> décodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />
3 Codage par approximation B-Splines 67<br />
3.1 <strong>Compression</strong> par images géométriques : principe <strong>et</strong> limitations . . . . . . . . . 68<br />
3.2 Codage par surfaces B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
3.2.1 Schéma général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
3.2.2 Segmentation <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> . . . . . . . . . . . . . . . . . . . . . . . 71<br />
3.2.3 Paramétrisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />
3.2.4 Approximation par surfaces B-Splines . . . . . . . . . . . . . . . . . . . 79<br />
3.2.5 Recollage <strong>de</strong>s patchs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
3.3 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
II <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong> 89<br />
4 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art 91<br />
4.1 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />
4.1.1 Films d’animation <strong>et</strong> eff<strong>et</strong>s spéciaux <strong>3D</strong> . . . . . . . . . . . . . . . . . . 92<br />
4.1.2 Jeux vidéos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />
4.2 Techniques <strong>de</strong> création d’animation <strong>3D</strong> . . . . . . . . . . . . . . . . . . . . . . 94<br />
4.2.1 Animation par modèles <strong>de</strong>scriptifs . . . . . . . . . . . . . . . . . . . . . 94<br />
4.2.2 Animation procédurale . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
4.3 Standards <strong>de</strong> représentation <strong>3D</strong> <strong>et</strong> formats propriétaires . . . . . . . . . . . . . 97
TABLE DES MATI ÈRES v<br />
4.3.1 Standard VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
4.3.2 Standard H-Anim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
4.3.3 Le standard MPEG-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
4.3.4 Standard X<strong>3D</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />
4.3.5 Standard COLLADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />
4.3.6 Formats propriétaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />
4.3.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />
4.4 Fonctionnalités avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />
4.5 Synthèse bibliographique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />
4.5.1 Prédicteurs spatio-temporels locaux . . . . . . . . . . . . . . . . . . . . 103<br />
4.5.2 <strong>Compression</strong> par ACP . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />
4.5.3 <strong>Compression</strong> par transformées en on<strong>de</strong>l<strong>et</strong>tes . . . . . . . . . . . . . . . 111<br />
4.5.3.1 On<strong>de</strong>l<strong>et</strong>tes temporelles . . . . . . . . . . . . . . . . . . . . . . 111<br />
4.5.3.2 On<strong>de</strong>l<strong>et</strong>tes spatiales régulières <strong>et</strong> semi-régulières . . . . . . . . 112<br />
4.5.3.3 On<strong>de</strong>l<strong>et</strong>tes spatiales irrégulières . . . . . . . . . . . . . . . . . 113<br />
4.5.4 <strong>Compression</strong> par segmentation . . . . . . . . . . . . . . . . . . . . . . . 114<br />
4.6 Analyse <strong>et</strong> discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116<br />
5 Compensation <strong>de</strong> mouvement par modèle <strong>de</strong> peau (skinning) 121<br />
5.1 Segmentation au sens du mouvement . . . . . . . . . . . . . . . . . . . . . . . 122<br />
5.1.1 Etat <strong>de</strong> l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />
5.1.2 Formulation mathématique . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />
5.1.3 Segmentation par algorithme <strong>de</strong> k-moyennes . . . . . . . . . . . . . . . 124<br />
5.1.3.1 Calcul <strong>de</strong> la partition initiale . . . . . . . . . . . . . . . . . . 125<br />
5.1.3.2 Raffinement <strong>de</strong> la partition . . . . . . . . . . . . . . . . . . . 125<br />
5.1.4 Segmentation hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />
5.2 Modèle <strong>de</strong> peau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
5.2.1 Estimation <strong>de</strong>s transformée affines . . . . . . . . . . . . . . . . . . . . . 130<br />
5.2.1.1 Existence <strong>et</strong> unicité . . . . . . . . . . . . . . . . . . . . . . . . 131<br />
5.2.1.2 Solution par SVD . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />
5.2.2 Estimation <strong>de</strong>s poids d’animation . . . . . . . . . . . . . . . . . . . . . 134<br />
5.2.3 Prédiction <strong>de</strong>s normales . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />
5.3 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br />
5.3.1 Métho<strong>de</strong>s <strong>de</strong> segmentation : évaluation expérimentale . . . . . . . . . . 137<br />
5.3.2 Prédiction <strong>de</strong>s positions <strong>et</strong> <strong>de</strong>s normales . . . . . . . . . . . . . . . . . 139<br />
5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />
6 <strong>Compression</strong> MCGV 147<br />
6.1 Approche GV : principe <strong>et</strong> limitations . . . . . . . . . . . . . . . . . . . . . . 148<br />
6.2 Approche MCGV : schéma global . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />
6.3 Codage du modèle <strong>de</strong> skinning . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<br />
6.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
6.4.1 Atlas <strong>de</strong> paramétrisations . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />
6.4.2 Construction <strong>de</strong>s images géométriques . . . . . . . . . . . . . . . . . . 152<br />
6.4.3 Remplissage <strong>de</strong>s images géométriques . . . . . . . . . . . . . . . . . . . 155<br />
6.4.4 Codage <strong>de</strong>s images géométriques . . . . . . . . . . . . . . . . . . . . . 156<br />
6.5 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
6.6 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
vi TABLE DES MATI ÈRES<br />
6.6.1 Corpus d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<br />
6.6.2 Critères d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<br />
6.6.3 Résultats <strong>de</strong> compression . . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />
6.6.3.1 MCGV/JPEG versus MCGV/MPEG-4 V2 . . . . . . . . . . 159<br />
6.6.3.2 MCGV versus GV . . . . . . . . . . . . . . . . . . . . . . . . 159<br />
6.6.3.3 MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art . . . . . . . . . 164<br />
6.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<br />
7 L’approche FAMC : la nouvelle spécification MPEG-4 169<br />
7.1 Schéma global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<br />
7.2 Co<strong>de</strong>ur arithmétique avec contexte CABAC . . . . . . . . . . . . . . . . . . . 171<br />
7.2.1 Schéma <strong>de</strong> binarisation à longueur fixe . . . . . . . . . . . . . . . . . . 172<br />
7.2.2 Schémas <strong>de</strong> binarisation Unary <strong>et</strong> Truncated Unary . . . . . . . . . . . 173<br />
7.2.3 Schéma <strong>de</strong> binarisation Exponential Golomb . . . . . . . . . . . . . . . 173<br />
7.2.4 Schéma <strong>de</strong> binarisation Unary/Exponential Golomb . . . . . . . . . . . 174<br />
7.3 <strong>Compression</strong> du modèle <strong>de</strong> mouvement . . . . . . . . . . . . . . . . . . . . . . 175<br />
7.3.1 Codage du modèle<strong>de</strong>peau(skinning) . . . . . . . . . . . . . . . . . . 175<br />
7.3.1.1 Codage <strong>de</strong> la partition . . . . . . . . . . . . . . . . . . . . . . 175<br />
7.3.1.2 Codage <strong>de</strong>s transformées affines . . . . . . . . . . . . . . . . . 176<br />
7.3.1.3 Codage <strong>de</strong>s poids d’animation . . . . . . . . . . . . . . . . . . 177<br />
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles . . . . . . . . . . . . . . . . . . . . . . . . 178<br />
7.4.1 <strong>Compression</strong> par DCT/TO . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />
7.4.1.1 Tansformée DCT . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />
7.4.1.2 Transformée en on<strong>de</strong>l<strong>et</strong>tes biorthogonales (4,2) . . . . . . . . 179<br />
7.4.1.3 Prédiction spatiale <strong>de</strong>s coéfficients spectraux . . . . . . . . . . 180<br />
7.4.1.4 Codages <strong>de</strong>s coefficient spectraux . . . . . . . . . . . . . . . . 181<br />
7.4.2 <strong>Compression</strong> par ACP . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />
7.4.2.1 Distorsion <strong>de</strong> quantification . . . . . . . . . . . . . . . . . . . 183<br />
7.4.2.2 Optimisation débit/distorsion . . . . . . . . . . . . . . . . . . 185<br />
7.4.3 <strong>Compression</strong> par prédiction hiérarchique LD (Layered Decomposition) . 187<br />
7.4.3.1 Décomposition en patchs . . . . . . . . . . . . . . . . . . . . . 188<br />
7.4.3.2 Phase <strong>de</strong> décimation . . . . . . . . . . . . . . . . . . . . . . . 188<br />
7.4.3.3 Décomposition en niveaux hiérarchiques . . . . . . . . . . . . 190<br />
7.4.3.4 Prédiction hiérarchique . . . . . . . . . . . . . . . . . . . . . . 191<br />
7.4.3.5 Codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . . 192<br />
7.5 Fonctionnalités supportées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193<br />
7.5.1 Scalabilité spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194<br />
7.5.2 Scalabilité temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195<br />
7.5.3 Scalabilité en qualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196<br />
7.5.4 Streaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197<br />
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197<br />
8 Résultats expérimentaux 199<br />
8.1 Corpus <strong>de</strong> test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200<br />
8.2 Critères d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200<br />
8.3 Evaluation expérimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202<br />
8.3.1 Comparaison <strong>de</strong>s différentes configurations <strong>de</strong> FAMC . . . . . . . . . . 202<br />
8.3.2 FAMC versus MCGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206<br />
8.3.3 FAMC versus les technologies MPEG-4 . . . . . . . . . . . . . . . . . . 207
TABLE DES MATI ÈRES vii<br />
8.3.3.1 FAMC versus BIFS . . . . . . . . . . . . . . . . . . . . . . . 207<br />
8.3.3.2 FAMC versus AFX-IC . . . . . . . . . . . . . . . . . . . . . . 208<br />
8.3.4 FAMC versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art . . . . . . . . . . . . . . 211<br />
8.4 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />
8.4.1 Scalabilité spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />
8.4.2 Scalabilité en qualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214<br />
8.4.3 Codage <strong>de</strong>s attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215<br />
8.4.4 Codage quasi sans perte . . . . . . . . . . . . . . . . . . . . . . . . . . 216<br />
8.4.5 Streaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />
8.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218<br />
Conclusion 219
viii TABLE DES MATI ÈRES
Table <strong>de</strong>s figures<br />
1.1 Illustration <strong>de</strong> l’enveloppe convexe [χ1,χ2,χ3] <strong>de</strong> trois points dans R 3 . Elle<br />
représente la surface du triangle défini par les trois points {χ1,χ2,χ3}. . . . . . 9<br />
1.2 Illustration d’un maillage triangulaire M =(K, X )dansR 3 . . . . . . . . . . . 10<br />
1.3 Exemples <strong>de</strong> <strong>maillages</strong> manifolds <strong>et</strong> non-manifolds. . . . . . . . . . . . . . . . 12<br />
1.4 (a) Orientation <strong>de</strong> la normale associée au triangle (v1,v2,v3) (b) maillage nonorienté<br />
<strong>et</strong> (c) maillage orienté. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
1.5 Surfaces <strong>de</strong> différents genres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
1.6 Schéma général <strong>de</strong> compression monorésolution <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>. . . . . . . . . 17<br />
1.7 Exemple <strong>de</strong> codage par arbres couvrants : (a) maillage original, (b) arbre couvrant<br />
<strong>de</strong>s somm<strong>et</strong>s, (c) découpage du maillage selon l’arbre couvrant <strong>de</strong>s somm<strong>et</strong>s,<br />
(d) polygone planaire simplement connexe suite à (c) <strong>et</strong> (e) arbre couvrant<br />
<strong>de</strong>s triangles (Source : [1]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
1.8 Décomposition en niveaux. Les contours en gras représentent les différents niveaux<br />
<strong>de</strong> somm<strong>et</strong>s (Source : [2]). . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
1.9 Conquête du maillage par l’algorithme <strong>de</strong> Touma <strong>et</strong> Gotsman : (a) maillage<br />
initial, (b) insertion du somm<strong>et</strong> fantôme, (c) ADD 6, ADD 7, ADD 4 (insertion<br />
du premier triangle), (d) ADD 4, (e) ADD 7, (f) ADD 5, (g) ADD 5, (h) Somm<strong>et</strong><br />
courant compl<strong>et</strong>, focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la liste active, (i) ADD<br />
4, (j) ADD5, (k) SPLIT 5, (l) Focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la nouvelle<br />
liste active, (m) ADD 4, (n) ADD dummy 5, (o) R<strong>et</strong>irer la nouvelle liste active<br />
du FIFO, (p) ADD 4, (q) Focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la liste active, (r)<br />
Focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la liste active <strong>et</strong> (s) Conquête du maillage<br />
achevée. (Source : [3]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
1.10 Codage par l’algorithme <strong>de</strong> EdgeBreaker : les numéros <strong>de</strong>s triangles indiquent<br />
l’ordre <strong>de</strong> parcours, tandis que les différents types <strong>de</strong> hachures représentent les<br />
co<strong>de</strong>s <strong>de</strong>s opérations (Source : [4]). . . . . . . . . . . . . . . . . . . . . . . . . 22<br />
1.11 Prédiction par règle du parallélogramme. . . . . . . . . . . . . . . . . . . . . . 23<br />
1.12 L’opération <strong>de</strong> “edge collapse” (ecol) <strong>et</strong> sa duale, “vertex split” (vsplit). . . . . 24<br />
1.13 Les différentes configurations <strong>de</strong> “vertex split” généralisé. (Source : [5]). . . . . 26<br />
1.14 L’opération <strong>de</strong> “forest split”. a) le maillage initial avec, en gras, les arêtes <strong>de</strong> la<br />
forêt ; b) le découpage du maillage au long <strong>de</strong>s arêtes <strong>de</strong> la forêt ; c. triangulation<br />
<strong>de</strong> la structure obtenue ; d) le maillage raffiné. (Source : [6]). . . . . . . . . . . 26<br />
1.15 Codage progressif selon l’algorithme <strong>de</strong> Alliez <strong>et</strong> Desbrun : a) Maillage initial,<br />
patchs <strong>et</strong> portes d’entrée (notées gi) ; b) Maillage après décimation <strong>et</strong> étape <strong>de</strong><br />
n<strong>et</strong>toyage; c) Maillage final obtenu. (Source : [7]). . . . . . . . . . . . . . . . . 27<br />
ix
x TABLE DES FIGURES<br />
1.16 Illustration <strong>de</strong> l’algorithme par décomposition en arbre Kd, pour le cas 2D.<br />
(Source : [8]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
1.17 <strong>Compression</strong> par on<strong>de</strong>l<strong>et</strong>tes semi-régulières. (Source : [9]). . . . . . . . . . . . . 31<br />
1.18 Configurations <strong>de</strong> subdivision pour l’approche <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes irrégulières. 32<br />
2.1 Eventail <strong>de</strong> triangles <strong>de</strong> <strong>de</strong>gré 4décrit par les somm<strong>et</strong>s (v0,v1,v2,v3,v4,v5). . . 38<br />
2.2 Décomposition <strong>de</strong> la connectivité d’un maillage triangulaire en trois éventails <strong>de</strong><br />
triangles : TF1 = {v1,v8,v9,v2}, TF2 = {v9,v3,v7,v6,v2} <strong>et</strong> TF3 = {v6,v7,v5,v4}. 40<br />
2.3 Maillage reconstruit àpartir<strong>de</strong>lareprésentation du maillage par éventails <strong>de</strong><br />
triangles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />
2.4 Algorithme <strong>de</strong> codage <strong>de</strong> l’approche TFAN. . . . . . . . . . . . . . . . . . . . 46<br />
2.5 Algorithme <strong>de</strong> décodage <strong>de</strong> la représentation TFAN. . . . . . . . . . . . . . . . 48<br />
2.6 Exemples <strong>de</strong>s dix configurations considérées par TFAN. . . . . . . . . . . . . . 50<br />
2.7 Quelques modèles CAO <strong>3D</strong> du corpus SEMANTIC-<strong>3D</strong>. . . . . . . . . . . . . . 53<br />
2.8 Modèle CAO original avec 1274 composantes connexes. (20491 triangles <strong>et</strong> 20626<br />
somm<strong>et</strong>s). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />
2.9 Distributions <strong>de</strong>s nombres <strong>de</strong> triangles <strong>et</strong> <strong>de</strong> somm<strong>et</strong>s par composante connexe<br />
pour l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base. . . . . . . . . . . . . . . . . . . . . . . 54<br />
2.10 Problème <strong>de</strong> “cracking” induit par la structure à multiples composantes connexes<br />
caractéristiques aux modèles CAO (1455 triangles <strong>et</strong> 1626 somm<strong>et</strong>s). (a) Maillage<br />
original, (b) Maillage compressé avec l’approche spectrale exhibant <strong>de</strong>s problèmes<br />
<strong>de</strong> “cracking”, (c) composantes connexes <strong>de</strong> (b) colorées <strong>et</strong> (d) Zoom sur la région<br />
d’intérêt <strong>de</strong> (c) montrant l’inefficacité <strong>de</strong> l’approche <strong>de</strong> compression spectrale à<br />
gérer les <strong>maillages</strong> à multiples composantes connexes. . . . . . . . . . . . . . . 55<br />
2.11 Problème <strong>de</strong> “cracking” pour les niveaux <strong>de</strong> détails intermédiaires pour les approches<br />
<strong>de</strong> compression par décimation : compression par maillage progressif<br />
[10]. (a) Maillage original (1549 triangles <strong>et</strong> 1557 somm<strong>et</strong>s), (b) Composantes<br />
connexes <strong>de</strong> (a) colorées (1252 triangles <strong>et</strong> 1302 somm<strong>et</strong>s), (c) Zoom sur la région<br />
d’intérêt dans (b) <strong>et</strong> (d) Modèle sans problème <strong>de</strong> “cracking” obtenu par <strong>de</strong>s<br />
opérations <strong>de</strong> type half edge collapses pour les somm<strong>et</strong>s <strong>de</strong> bord (1373 triangles<br />
<strong>et</strong> 1457 somm<strong>et</strong>s) : pas <strong>de</strong> simplification significative possible du modèle original. 56<br />
2.12 Distributions <strong>de</strong>s pourcentages <strong>de</strong>s triangles <strong>et</strong> <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord pour l’ensemble<br />
<strong>de</strong>s modèles <strong>de</strong> la base SEMANTIC. . . . . . . . . . . . . . . . . . . . 56<br />
2.13 Illustration <strong>de</strong>s triangles bord : (a) <strong>et</strong> (c) composantes connexes colorées <strong>et</strong> (b)<br />
<strong>et</strong> (d) triangles <strong>de</strong> bord colorés en rouge. . . . . . . . . . . . . . . . . . . . . . 57<br />
2.14 Distribution <strong>de</strong>s valences <strong>de</strong>s somm<strong>et</strong>s pour l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base<br />
SEMANTIC-<strong>3D</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />
2.15 Histogramme <strong>de</strong>s configurations TFAN pour <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> type manifold<br />
orienté. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />
2.16 Histogramme <strong>de</strong>s configurations TFAN pour <strong>de</strong>s <strong>maillages</strong> CAO <strong>de</strong> topologies<br />
arbitraires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
2.17 Courbes d’évolution du nombre <strong>de</strong> somm<strong>et</strong>s stockés en mémoires pour différents<br />
<strong>maillages</strong> CAO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
2.18 Performances <strong>de</strong> compression pour une quantification sur 12 bits : TFAN vs.<br />
MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />
2.19 Courbes débit/distorsion pour différents <strong>maillages</strong> CAO : TFAN vs. MPEG-<br />
4/<strong>3D</strong>MC <strong>et</strong> TG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />
2.20 Gains en terme <strong>de</strong> débit <strong>de</strong> l’approche TFAN par rapport aux techniques MPEG-<br />
4/<strong>3D</strong>MC <strong>et</strong> TG pour une quantification sur 12 bits. . . . . . . . . . . . . . . . 64
TABLE DES FIGURES xi<br />
2.21 Temps <strong>de</strong> décodage pour les approches TFAN, MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG. . . . . 64<br />
2.22 Gains en terms <strong>de</strong> temps <strong>de</strong> décodage <strong>de</strong> l’approche TFAN par rapport aux<br />
techniques MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG. . . . . . . . . . . . . . . . . . . . . . . . . 65<br />
3.1 Processus <strong>de</strong> conversion d’un maillage <strong>3D</strong> en une image géométrique. . . . . . 68<br />
3.2 Limitations du processus <strong>de</strong> remaillage pour les maillage “Bunny” (a <strong>et</strong> b) <strong>et</strong><br />
“Horse” (c <strong>et</strong> d) : triangulation <strong>de</strong> mauvaise qualité <strong>et</strong>sur-échantillonnage <strong>de</strong> la<br />
surface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
3.3 Schéma synoptique <strong>de</strong> l’algorithme <strong>de</strong> compression par représentation B-Spline. 70<br />
3.4 Maillage <strong>de</strong> graphe dual associé. . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
3.5 Découpage du maillage par duplication <strong>de</strong>s somm<strong>et</strong>s localisés aux bords <strong>de</strong>s patchs. 73<br />
3.6 Elimination <strong>de</strong>s bords multiples : (a) patch avec <strong>de</strong>ux bords B1 <strong>et</strong> B2, (b) <strong>de</strong>ux<br />
somm<strong>et</strong>s fictifs v1 <strong>et</strong> v2 respectivement connectés à B1 <strong>et</strong> B2, <strong>et</strong>(c)découpage<br />
du patch selon le plus court chemin entre v1 <strong>et</strong> v2. . . . . . . . . . . . . . . . . 74<br />
3.7 Optimisation <strong>de</strong> la paramétrisation par élargement du bord : (a) Paramétrisation<br />
initiale avec <strong>de</strong>s hautes distorsions <strong>de</strong> paramétrisation ; (b) Somm<strong>et</strong> fictif v<br />
connecté au bord, somm<strong>et</strong> interne v0 ayant la plus gran<strong>de</strong> courbure Gaussienne<br />
<strong>et</strong> découpage du maillage selon le plus court chemin entre v <strong>et</strong> v0 ;(c)Paramétrisation<br />
finale <strong>de</strong> distorsion plus faible. . . . . . . . . . . . . . . . . . . . 75<br />
3.8 Segmentation <strong>de</strong> <strong>maillages</strong> <strong>de</strong> diverses formes <strong>et</strong> complexités. . . . . . . . . . . 76<br />
3.9 Paramétrisation d’un maillage triangulaire sur un domaine 2D carré. . . . . . . 78<br />
3.10 Les courbes isoparamétriques dans le domaine paramétrique. . . . . . . . . . . 79<br />
3.11 Paramétrisation d’un patch par différentes métho<strong>de</strong>s <strong>de</strong> paramétrisation : (a)<br />
Tutte, (b) Tutte optimisé <strong>et</strong> (c) Floater. . . . . . . . . . . . . . . . . . . . . . 80<br />
3.12 Collage <strong>de</strong> <strong>de</strong>ux patchs : en partant <strong>de</strong>s <strong>de</strong>ux somm<strong>et</strong>s v 1 <strong>et</strong> v 2 <strong>et</strong> en suivant<br />
les <strong>de</strong>ux sens <strong>de</strong> parcours s 1 <strong>et</strong> s 2 ,ledéco<strong>de</strong>ur fusionne succesivement les NC<br />
somm<strong>et</strong>s <strong>de</strong> bords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
3.13 Courbes débit/distorsion pour les modèles “Horse”, “Bunny” <strong>et</strong> “Venus”. . . . 83<br />
3.14 Maillages “Horse”, “Venus” <strong>et</strong> “Bunny” compressés avec MPEG-4/<strong>3D</strong>MC (a, e<br />
<strong>et</strong> i), TG (b, f <strong>et</strong> j), CS (c, g <strong>et</strong> k) <strong>et</strong> notre approche (d, f, h <strong>et</strong> l). . . . . . . . 84<br />
3.15 Résultats <strong>de</strong> compression àdifférents débits:(a,b,c<strong>et</strong>d)“Tyra”,(e,f,g<strong>et</strong>h)<br />
“Gargoyle”, (i, j, k <strong>et</strong> l) “Hand”, (m, n, o <strong>et</strong> p) “Lucy” (Partie 1). . . . . . . . 85<br />
3.16 Résultats <strong>de</strong> compression àdifférents débits : (a, b, c <strong>et</strong> d) “Max Planck”, (e, f,<br />
g <strong>et</strong> h) “Dinosaur”, (i, j, k <strong>et</strong> l) “Rabbit”, (m, n, o <strong>et</strong> p) “Feline” (Partie 2). . 86<br />
4.1 Extraits <strong>de</strong>s films d’animation <strong>3D</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />
4.2 Extraits <strong>de</strong>s jeux vidéo <strong>3D</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />
4.3 Standard H-Anim : squel<strong>et</strong>te hiérarchique d’un humanoï<strong>de</strong>. (source : http ://hanim.org/)<br />
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />
4.4 Exemples <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong>. . . . . . . . . . . . . . . . . . . . . . . 102<br />
4.5 Prédicteur ELP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />
4.6 Prédicteur Replica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />
4.7 Prédicteur AP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />
4.8 Prédicteur moyenneur (N=4). . . . . . . . . . . . . . . . . . . . . . . . . . . . 108<br />
4.9 Prédicteur MV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
xii TABLE DES FIGURES<br />
5.1 Résultats <strong>de</strong> segmentation avec <strong>et</strong> sans la procédure <strong>de</strong> raffinement pour le<br />
maillage dynamique “Dance” : (a) Segmentation par k-moyennes sans raffinement,<br />
(b) Segmentation par k-moyennes avec raffinement, (c) Segmentation<br />
hiérarchique sans raffinement <strong>et</strong> (d) Segmentation hiérarchique avec raffinement. 126<br />
5.2 Opération half-edge collapse : l’arête (v, w) est contractée, les <strong>de</strong>ux somm<strong>et</strong>s<br />
v <strong>et</strong> w fusionnés, <strong>et</strong> la connectivité du maillage redéfinie, en connectant à v<br />
l’ensemble <strong>de</strong>s arêtes inci<strong>de</strong>nte à w. . . . . . . . . . . . . . . . . . . . . . . . . 128<br />
5.3 Segmentation hiérarchique du maillage dynamique “Raptor” : (a) avec fusion<br />
<strong>de</strong>s CCs <strong>et</strong> (b) sans fusion <strong>de</strong>s CCs. . . . . . . . . . . . . . . . . . . . . . . . . 129<br />
5.4 Rendu <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> “Dance” <strong>et</strong> “Horse gallop” (a, c) sans <strong>et</strong> (b,<br />
d) avec lissage en exploitant les normales associées aux somm<strong>et</strong>s du maillage. . 136<br />
5.5 Segmentation par k-moyennes vs. segmentation hiérarchique : (a, b) “Horse gallop”,<br />
(b, c) “Chicken”, (e, f) “Cow”, (g, h) “Camel collapse”, (i, j) “Dolphin”, (k,<br />
l) “Elephant gallop”“, (m, n) “Dance”, (o, p) “Horse collapse”, (q, r) “Raptor”,<br />
(s, t) “Shark”, (u, v) “Troll” <strong>et</strong> (w, x) “Wolf”. . . . . . . . . . . . . . . . . . . 141<br />
5.6 Processus <strong>de</strong> raffinement <strong>de</strong> la partition : évolution <strong>de</strong> l’erreur quadratique<br />
moyenne <strong>de</strong> compensation <strong>de</strong> mouvement avec le nombre d’itérations. . . . . . 142<br />
5.7 Prédicteur affine par morceaux vs. modèle <strong>de</strong> skinning :(a)première trame<br />
segmentée, (b) trame 36, (c) trame 36 prédite par transformées affines, (d) distribution<br />
<strong>de</strong>s erreurs <strong>de</strong> (c), (e) trame 36 prédite par modèle <strong>de</strong> skinning <strong>et</strong> (f)<br />
distribution <strong>de</strong>s erreurs <strong>de</strong> (e). . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />
6.1 MCGV versus GV : la procédure <strong>de</strong> remaillage opérée par GV conduit à<strong>de</strong>s<br />
pertes <strong>de</strong> détails <strong>et</strong> à<strong>de</strong>sartéfacts visuels. . . . . . . . . . . . . . . . . . . . . 149<br />
6.2 Schéma synoptique du co<strong>de</strong>ur MCGV. . . . . . . . . . . . . . . . . . . . . . . 149<br />
6.3 Atlas <strong>de</strong> paramétrisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />
6.4 Images géométriques <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement. . . . . . . . 153<br />
6.5 Image géomatrique obtenue après l’application <strong>de</strong> la procédure <strong>de</strong> remplissage<br />
(padding) sur l’image <strong>de</strong> la Figure 6.4. . . . . . . . . . . . . . . . . . . . . . . 153<br />
6.6 MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) “Chicken”,<br />
b) “Cow” <strong>et</strong> c) “Dance”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />
6.7 MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) “Dolphin”,<br />
b) “Snake” <strong>et</strong> c) “Humanoid”. . . . . . . . . . . . . . . . . . . . . . . . . . . . 161<br />
6.8 Courbes débit/distorsion <strong>de</strong>s approches prédictives MCGV/MPEG-4 V2 <strong>et</strong> GV<br />
en mo<strong>de</strong> P. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />
6.9 MCGV/MPEG-4 V2 versus GV-mo<strong>de</strong> P à : a) 2 <strong>et</strong> b) 4 bpts. . . . . . . . . . 163<br />
6.10 MCGV/JPEG versus GV-mo<strong>de</strong> I à 8 bpts. . . . . . . . . . . . . . . . . . . . . 165<br />
6.11 Animation “Snake” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art. . . . . . . 166<br />
6.12 Animation “Humanoid” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art. . . . 166<br />
6.13 Animation “Chicken” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art. . . . . . 166<br />
7.1 Schéma synoptique du co<strong>de</strong>ur FAMC. En grisé, les modules optionnels. . . . . 170<br />
7.2 Schéma fonctionnel du co<strong>de</strong>ur CABAC. . . . . . . . . . . . . . . . . . . . . . . 172<br />
7.3 Exemple <strong>de</strong> codage par plages <strong>de</strong> valeurs d’une partition, pour un maillage avec<br />
14 somm<strong>et</strong>s partitionnés en 3 clusters. . . . . . . . . . . . . . . . . . . . . . . 176<br />
7.4 Les quatre points utilisés pour la représentation du mouvement affine d’un cluster.177<br />
7.5 Codage <strong>de</strong>s poids d’animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
TABLE DES FIGURES xiii<br />
7.6 Opération <strong>de</strong> décimation topologique VRem(v) :(a)patch original ; (b) supression<br />
du somm<strong>et</strong> v ainsi que <strong>de</strong> l’ensemble <strong>de</strong>s arêtes <strong>et</strong> <strong>de</strong>s triangles qui lui sont<br />
inci<strong>de</strong>nts ; (c) re-triangulation du patch obtenu. . . . . . . . . . . . . . . . . . 188<br />
7.7 Re-triangulations possibles pour <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> <strong>de</strong>grés : (a) 6, (b) 5, (c) 4 <strong>et</strong><br />
(d) 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />
7.8 Exemple <strong>de</strong> décomposition en cinq niveaux hiérarchiques du maillage dynamique<br />
“Cow”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191<br />
7.9 Scalabilité temporelle : exemple <strong>de</strong> structure <strong>de</strong> prédiction temporelle hiérarchique.195<br />
7.10 Scalabilité en qualité :décomposition <strong>de</strong>s coefficients spectraux en niveaux <strong>de</strong><br />
détails correspondant à quatre ban<strong>de</strong>s <strong>de</strong> fréquences. . . . . . . . . . . . . . . 196<br />
8.1 Comparaison <strong>de</strong>s performances <strong>de</strong> compression <strong>de</strong>s différentes configurations<br />
FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD,<br />
(5) FAMC/DCT+LD <strong>et</strong> (6) FAMC/ACP (partie 1). . . . . . . . . . . . . . . . 204<br />
8.2 Comparaison <strong>de</strong>s performances <strong>de</strong> compression <strong>de</strong>s différentes configuration FAMC :<br />
(1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5) FAMC/DCT+LD<br />
<strong>et</strong> (6) FAMC/ACP (partie 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . 205<br />
8.3 Performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC/DCT vs. l’approche MCGV. . 207<br />
8.4 FAMC/DCT vs. AFX-IC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />
8.5 FAMC vs. les techniques <strong>de</strong> l’état <strong>de</strong> l’art. . . . . . . . . . . . . . . . . . . . . 212<br />
8.6 Scalabilité spatiale du co<strong>de</strong>ur FAMC/LD pour les animations : (a, b, c) “Horse<br />
gallop”, (d, e, f) “Dragon”, (g, h, i) “Eagle”, (j, k, l) “Troll”, (m, n, o) “Wolf”<br />
<strong>et</strong> (p, q, r) “Raptor”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213<br />
8.7 Scalabilité en qualité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215<br />
8.8 Codage <strong>de</strong>s normales : FAMC/DCT vs. AFX-IC. . . . . . . . . . . . . . . . . 216<br />
8.9 Codage quasi sans perte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />
8.10 Performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC/DCT avec <strong>et</strong> sans streaming. . 218<br />
8.11 Exemple <strong>de</strong> codage pour l’approche TFAN. . . . . . . . . . . . . . . . . . . . . 229<br />
8.12 Extraits <strong>de</strong>s animations : (a) “Ball”, (b) “Box”, (c) “Camel collapse”, (d) “Camel<br />
gallop”, (e) “Chicken”, (f) “Cow” <strong>et</strong> (g) “Dance”. . . . . . . . . . . . . . . 233<br />
8.13 Extraits <strong>de</strong>s animations : (a) “Dolphin”, (b) “Dragon”, (c) “Eagle”, (d) “Elephant<br />
gallop”, (e) “Horse collapse”, (f) “Horse gallop” <strong>et</strong> (g) “Humanoid”. . . 234<br />
8.14 Extraits <strong>de</strong>s animations : (a) “Jump”, (b) “Rabbit”, (c) “Raptor”, (d) “Snake”,<br />
(e) “troll” <strong>et</strong> (f) “Wolf”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
xiv TABLE DES FIGURES
Liste <strong>de</strong>s tableaux<br />
1.1 Etat <strong>de</strong> l’art <strong>de</strong>s techniques monorésolutions <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
1.2 Etat <strong>de</strong> l’art <strong>de</strong>s techniques multirésolutions <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
2.1 Les dix configurations TFAN (X représente une valeur arbitraire). . . . . . . . 49<br />
2.2 Propriétés topologiques du corpus SEMANTIC-<strong>3D</strong> avant <strong>et</strong> après convertion en<br />
<strong>maillages</strong> manifolds.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
4.1 Etat <strong>de</strong> l’art <strong>de</strong>s modèles d’animation <strong>de</strong>scriptifs. . . . . . . . . . . . . . . . . 96<br />
4.2 Etat <strong>de</strong> l’art <strong>de</strong>s modèles d’animation par modèles procéduraux. . . . . . . . . 97<br />
4.3 Représentations supportées par les standards d’animation <strong>3D</strong>. . . . . . . . . . 101<br />
4.4 Etat <strong>de</strong> l’art : stratégies <strong>de</strong> compensation <strong>de</strong> mouvements <strong>et</strong> <strong>de</strong> codage <strong>de</strong>s<br />
erreurs résiduelles <strong>de</strong> prédiction. . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />
4.5 Etat <strong>de</strong> l’art : fonctionnalités supportées. IC : Interpolation <strong>Compression</strong>, AP:<br />
Angle Preserving, MV : vertex-wise Motion Vector, SSLPC : Spatial Scalable<br />
Linear Predictive Co<strong>de</strong>r, STSLPC:Spatio-Temporal Scalable Linear Predictive<br />
Co<strong>de</strong>r, LOPC:Layered One-directionnal Predictive Co<strong>de</strong>r, LBPC:Layered Bidirectionnal<br />
Predictive Co<strong>de</strong>r, PCA:Principal Component Analysis compression,<br />
LPCA:Linear PCA, APCA:Adaptive PCA co<strong>de</strong>r, CPCA:Clustered<br />
PCA, RLPCA:Relative Local PCA, TWC:Temporal Wavel<strong>et</strong>-based <strong>Compression</strong>,<br />
MCDWT:Motion Compensated Discr<strong>et</strong>e Wavel<strong>et</strong> Transform, SRWC:<br />
Semi-Regular Wavel<strong>et</strong>-based <strong>Compression</strong>, GV:Geom<strong>et</strong>ry Vi<strong>de</strong>os, AWC(Anisotropic<br />
Wavel<strong>et</strong>s <strong>Compression</strong>), TO : Transformée en On<strong>de</strong>l<strong>et</strong>tes, RT : Rigid<br />
Transform,ICP:Iterative Closest Point, PSC:Predictive Spectral <strong>Compression</strong>,<br />
TS : Triangle Strips-based compression, D<strong>3D</strong>MC:Dynamic <strong>3D</strong> Mesh <strong>Compression</strong>.<br />
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118<br />
5.1 Notaions utilisées dans les tableaux 5.2 <strong>et</strong> 5.3. . . . . . . . . . . . . . . . . . . 138<br />
5.2 Performances obtenues par la métho<strong>de</strong> <strong>de</strong> segmentation par k-moyenne. . . . 140<br />
5.3 Performances obtenues par la métho<strong>de</strong> <strong>de</strong> segmentation hiérarchique. . . . . . 140<br />
5.4 Modèle <strong>de</strong> skinning : erreurs <strong>de</strong> compensation <strong>de</strong> mouvement obtenues avec<br />
5.5<br />
poids optimaux <strong>et</strong> poids unitaires. . . . . . . . . . . . . . . . . . . . . . . . . .<br />
Performances <strong>de</strong>s prédicteurs <strong>de</strong>s normales :<br />
144<br />
N t v vs. Ñ t v . . . . . . . . . . . . . . 145<br />
6.1 Stratégie <strong>de</strong> compression <strong>de</strong>s différentes composantes du modèle <strong>de</strong> skinning. . 150<br />
6.2 Fonctionnalités supportées par le co<strong>de</strong>ur MCGV. . . . . . . . . . . . . . . . . 157<br />
xv
xvi LISTE DES TABLEAUX<br />
6.3 Résultats <strong>de</strong> compression disponibles <strong>et</strong> références <strong>de</strong>s sources associées. . . . . 159<br />
6.4 Gains moyens en débits obtenus par le codage prédictif MCGV/MPEG-4 V2<br />
par rapport au codage intra MCGV/JPEG. . . . . . . . . . . . . . . . . . . . 162<br />
6.5 MCGV/JPEG versus GV mo<strong>de</strong> I à 8 bpts. . . . . . . . . . . . . . . . . . . . . 163<br />
7.1 Schéma <strong>de</strong> binarisation FL pour l’alphab<strong>et</strong> A = {0, 1, 2, 3, 4, 5}. . . . . . . . . 173<br />
7.2 Schéma <strong>de</strong> binarisation Unary <strong>et</strong> TU pour l’alphab<strong>et</strong> A = {0, 1, 2, 3, 4, 5}. . . 173<br />
7.3 Schéma <strong>de</strong> binarisation EG0. . . . . . . . . . . . . . . . . . . . . . . . . . . . 174<br />
7.4 Schéma <strong>de</strong> binarisation UEG(0, 6). . . . . . . . . . . . . . . . . . . . . . . . . 175<br />
7.5 Les différentes configurations FAMC. . . . . . . . . . . . . . . . . . . . . . . . 193<br />
7.6 Fonctionnalités supportées par les différentes configurations du co<strong>de</strong>ur FAMC :<br />
(1) DCT, (2) Lift, (3) LD, (4) DCT+LD <strong>et</strong> (5) Lift+LD. . . . . . . . . . . . . 194<br />
7.7 Différents types <strong>de</strong> scalabilité supportés par le co<strong>de</strong>ur FAMC. . . . . . . . . . 194<br />
8.1 Complexités <strong>de</strong> calcul <strong>de</strong>s différentes configurations FAMC (VΠ est le nombre<br />
maximal <strong>de</strong> somm<strong>et</strong>s par cluster). . . . . . . . . . . . . . . . . . . . . . . . . 203<br />
8.2 Gains <strong>de</strong> l’approche FAMC par rapport au schéma <strong>de</strong> binarisation BIFS. . . . 208<br />
8.3 Gains <strong>de</strong> l’approche FAMC par rapport au co<strong>de</strong>ur MPEG-4/AFX-IC. . . . . . 210<br />
8.4 Propriétés <strong>de</strong>s animations du corpus <strong>de</strong> test. . . . . . . . . . . . . . . . . . . . 232
Introduction<br />
Aujourd’hui, les applications multimédias professionnelles ou grand public m<strong>et</strong>tent <strong>de</strong> plus<br />
en plus en scène <strong>de</strong>s contenus <strong>3D</strong> aussi bien <strong>statiques</strong> que <strong>dynamiques</strong>, dans <strong>de</strong>s contextes industriels<br />
divers. La Conception Assistée par Ordinateur (CAO) par l’industrie automobile ou<br />
aéronautique, les nouveaux services <strong>de</strong> télé-mé<strong>de</strong>cine, les industries du jeu vidéo, <strong>de</strong>s films<br />
d’animation <strong>3D</strong>, <strong>de</strong>s eff<strong>et</strong>s spéciaux ou encore <strong>de</strong>s <strong>de</strong>ssins animés sont quelques exemples<br />
représentatifs <strong>de</strong> domaines où lamodélisation <strong>3D</strong> joue un rôle incontournable.<br />
Selon l’application considérée <strong>et</strong> les techniques utilisées pour les générer, ces contenus <strong>3D</strong> sont<br />
stockés sous divers formats, normalisés ou propriétaires. Pour <strong>de</strong>s raisons d’interopérabilité<br />
multi-plateformes, <strong>de</strong> généralité ouencore<strong>de</strong>protection<strong>de</strong>lapropriété intellectuelle, ces contenussontleplussouventreprésentés<br />
sous forme <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>, <strong>statiques</strong> ou <strong>dynamiques</strong>.<br />
L’inconvénient majeur <strong>de</strong> c<strong>et</strong>te représentation est en revanche lié auxcoûtsimportants<strong>de</strong><br />
stockage <strong>et</strong> <strong>de</strong> transmission. D’où lanécessité d’élaborer <strong>et</strong> <strong>de</strong> m<strong>et</strong>tre en oeuvre <strong>de</strong>s outils <strong>de</strong><br />
compression efficace dédiés <strong>et</strong> optimisés pour ce type <strong>de</strong> contenus.<br />
Le contexte industriel mo<strong>de</strong>rne est marqué par une tendance <strong>de</strong> convergence <strong>de</strong>s technolo-<br />
gies fixes <strong>et</strong> mobiles. Dans ce cadre, les métho<strong>de</strong>s <strong>de</strong> compression <strong>3D</strong> doivent impérativement<br />
répondre au paradigme d’accès universel, à travers différents réseaux, fixes <strong>et</strong> mobiles (à<br />
débits variables) <strong>et</strong> à partir <strong>de</strong> terminaux (PDA, PC, téléphone portable...) <strong>de</strong> capacités diverses<br />
en termes <strong>de</strong> puissance <strong>de</strong> calcul, <strong>de</strong> mémoire <strong>et</strong> <strong>de</strong> visualisation. D’un point <strong>de</strong> vue<br />
méthodologique, cela se traduit par le support <strong>de</strong> fonctionnalités avancées <strong>de</strong> codage/décodage<br />
basse complexité <strong>et</strong>tempsréel, <strong>de</strong> progressivité/scalabilité (spatiale, temporelle <strong>et</strong> en qualité)<br />
<strong>et</strong> <strong>de</strong> streaming.<br />
L’objectif <strong>de</strong> c<strong>et</strong>te thèse est <strong>de</strong> proposer <strong>de</strong>s éléments <strong>de</strong> réponse àlaproblématique <strong>de</strong> com-<br />
pression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> <strong>et</strong> <strong>dynamiques</strong>. Dans ce contexte, le défi majeur à relever<br />
est <strong>de</strong> développer <strong>de</strong>s représentations à la fois compactes <strong>et</strong> adaptées à <strong>de</strong>s fonctionnalités<br />
avancées <strong>de</strong> transmission tout en assurant une faible complexité <strong>de</strong>décodage.<br />
C<strong>et</strong>te thèse est structurée en <strong>de</strong>ux parties. La première traite <strong>de</strong> la compression <strong>de</strong> <strong>maillages</strong><br />
<strong>3D</strong> <strong>statiques</strong>. Elle regroupe les trois premiers chapitres <strong>de</strong> ce mémoire.<br />
Au premier chapitre, nous rappelons tout d’abord le formalisme mathématique <strong>de</strong> représent-<br />
ation <strong>de</strong>s <strong>maillages</strong> <strong>3D</strong>, avec définitions <strong>et</strong> propriétés géométrico-topologiques. Ensuite, nous<br />
proposons une synthèse bibliographique <strong>de</strong>s principales familles d’approches <strong>de</strong> compression<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>. Principes, performances, avantages <strong>et</strong> limitations <strong>de</strong>s métho<strong>de</strong>s les<br />
plus représentatives sont ici discutés <strong>et</strong> analysés en détails. La littérature riche dédiée àla<br />
compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>, développée maintenant <strong>de</strong>puis plus <strong>de</strong> vingt ans, fait<br />
ressortir un large éventail d’approches, adaptées à <strong>de</strong>s applications diverses. Néanmoins, les<br />
1
2 Introduction<br />
métho<strong>de</strong>s <strong>de</strong> l’état <strong>de</strong> l’art semblent dans leur gran<strong>de</strong> majorité s’appuyer sur un ensemble<br />
d’hypothèses relatives aux propriétés <strong>de</strong> régularité géométrique <strong>et</strong> topologique <strong>de</strong>s <strong>maillages</strong><br />
(e.g., manifold, orientable...). En pratique, ces hypothèses sont souvent violées, ce qui restreint<br />
significativement les domaines d’application <strong>de</strong> ces approches.<br />
C’est bien dans c<strong>et</strong> objectif <strong>de</strong> généralité que s’inscrit la première contribution <strong>de</strong> c<strong>et</strong>te thèse.<br />
L’approche originale proposée, appelée TFAN (Triangle FAN-based compression), est décrite<br />
au Chapitre 2. Elle perm<strong>et</strong> <strong>de</strong> co<strong>de</strong>r directement tout maillage <strong>3D</strong> triangulaire <strong>de</strong> topologie<br />
arbitraire (manifold ou non), tout en assurant une basse complexité <strong>de</strong>décodage, adaptée aux<br />
applications <strong>de</strong> visualisation en temps réel sur <strong>de</strong>s terminaux mobiles <strong>de</strong> faibles capacités <strong>de</strong><br />
calcul <strong>et</strong> <strong>de</strong> mémoire. L’approche TFAN se montre particulièrement adaptée pour la compression<br />
<strong>de</strong> données CAO automobiles, dans le cadre <strong>de</strong> l’application industrielle considérée par<br />
le proj<strong>et</strong> RNT SEMANTIC-<strong>3D</strong>. Ces données présentent en eff<strong>et</strong> <strong>de</strong>s spécificités topologiques<br />
<strong>et</strong> géométriques, qui ren<strong>de</strong>nt les approches classiques inefficaces. L’évaluation expérimentale<br />
comparée <strong>de</strong>s performances <strong>de</strong> la métho<strong>de</strong> TFAN par rapport aux techniques <strong>de</strong> l’état <strong>de</strong> l’art,<br />
conduite sur le corpus <strong>de</strong> test du proj<strong>et</strong> SEMANTIC-<strong>3D</strong>, démontre la supériorité <strong>de</strong> l’approche<br />
TFAN. En raisons <strong>de</strong> ses propriétés, le co<strong>de</strong>ur TFAN a été récemment (Avril 2008), r<strong>et</strong>enu par<br />
le standard MPEG-4 [11].<br />
Toujours dans un contexte <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>, la <strong>de</strong>uxième contribution<br />
<strong>de</strong> c<strong>et</strong>te thèse, présentée au Chapitre 3, concerne la compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> lisses <strong>et</strong><br />
<strong>de</strong>nses, comme ceux issus <strong>de</strong>s processus <strong>de</strong> numérisation <strong>3D</strong>. L’approche <strong>de</strong> compression proposée<br />
étend les techniques récentes <strong>de</strong> compression par images géométriques. Elle est fondée sur<br />
une approximation du maillage par surfaces B-splines, adaptées pour une représentation <strong>de</strong> la<br />
géométrie <strong>3D</strong> sous forme d’une image géométrique 2D. La connectivité du maillage est ici codée<br />
sans perte ce qui perm<strong>et</strong> <strong>de</strong> s’affranchir <strong>de</strong>s problèmes <strong>de</strong> r<strong>et</strong>riangulation spécifiques aux techniques<br />
par images géométriques antérieures. En outre, l’approche B-Splines exploite le co<strong>de</strong>ur<br />
JPEG2000 pour assurer un codage progressif <strong>de</strong> la géométrie. Une évaluation expérimentale<br />
<strong>de</strong> ses performances par rapport aux techniques <strong>de</strong> l’état <strong>de</strong> l’art est également présentée <strong>et</strong><br />
discutée.<br />
La <strong>de</strong>uxième partie <strong>de</strong> c<strong>et</strong>te thèse abor<strong>de</strong> la problématique beaucoup plus récente <strong>de</strong> compression<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong>. Les modélisations par trames clés qui s’imposent comme<br />
représentations <strong>de</strong> facto dans les industries <strong>de</strong>s films <strong>3D</strong> <strong>et</strong> <strong>de</strong>s jeux vidéos sont ici considérées.<br />
C<strong>et</strong>te <strong>de</strong>uxième partie est structurée en cinq chapitres distincts.<br />
Le chapitre 4 présente un état <strong>de</strong> l’art <strong>de</strong>s techniques <strong>de</strong> création, <strong>de</strong> représentation <strong>et</strong> <strong>de</strong><br />
compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés. Les principales approches <strong>de</strong> codage <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong><br />
sont ici i<strong>de</strong>ntifiées, présentées <strong>et</strong> discutées <strong>de</strong> façon comparée. L’analyse <strong>de</strong> la littérature<br />
émergente consacrée à ce domaine <strong>de</strong> recherche encore jeune montre un besoin accru <strong>de</strong> techniques<br />
génériques <strong>de</strong> représentation <strong>et</strong> <strong>de</strong> compression <strong>de</strong> ces contenus hautement complexes.<br />
Dans ce cadre, l’ensemble <strong>de</strong> nos développements méthodologiques s’appuient sur l’observation<br />
suivante : quelle que soit la technique sous-jacente <strong>de</strong> création <strong>de</strong>s obj<strong>et</strong>s <strong>3D</strong> animés, il est<br />
possible <strong>de</strong> déterminer un modèle<strong>de</strong>peau(skinning) pourmodéliser fidèlement le mouvement<br />
<strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong>.<br />
Une première contribution, décrite au chapitre 5, concerne la spécification d’un mécanisme<br />
<strong>de</strong> compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning). La construction du modèle<br />
s’appuie sur <strong>de</strong>ux approches originales <strong>de</strong> segmentation au sens du mouvement <strong>de</strong> <strong>maillages</strong><br />
<strong>3D</strong> animés, l’une par classification en k-moyennes <strong>et</strong> l’autre, par décimation hiérarchique. Les<br />
performances <strong>de</strong> ces <strong>de</strong>ux techniques, ainsi que celles <strong>de</strong> la stratégie <strong>de</strong> prédiction par modèle<br />
<strong>de</strong> skinning sont évaluées expérimentalement, analysées <strong>et</strong> discutées. Les résultats obtenus sur
Introduction 3<br />
un riche corpus <strong>de</strong> test perm<strong>et</strong>tent <strong>de</strong> vali<strong>de</strong>r les <strong>de</strong>ux métho<strong>de</strong>s, avec <strong>de</strong>s résultats supérieurs<br />
<strong>de</strong> 46% pour la métho<strong>de</strong> par décimation hiérarchique.<br />
La technique <strong>de</strong> compensation <strong>de</strong> mouvement proposée est ensuite exploitée dans le cadre <strong>de</strong>s<br />
<strong>de</strong>ux approches originales <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong>, décrites aux chapitres<br />
6<strong>et</strong>7.<br />
Ainsi, le chapitre 6 introduit-il une nouvelle métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong><br />
<strong>3D</strong> appelée MCGV (Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o)quiétend l’approche GV (Geom<strong>et</strong>ry Vi<strong>de</strong>os)<br />
introduite dans [12]. L’approche <strong>de</strong> compression proposée combine la stratégie <strong>de</strong> prédiction par<br />
modèle <strong>de</strong> skinning avec une représentation <strong>de</strong>s erreurs résiduelles <strong>de</strong> mouvement sous forme<br />
d’une séquence d’images 2D. Les co<strong>de</strong>urs d’images JPEG <strong>et</strong> MPEG-4 V2 sont ici utilisés afin<br />
d’assurer un codage efficace d’un maillage <strong>3D</strong> dynamique. Pour évaluer l’apport <strong>de</strong> la métho<strong>de</strong>,<br />
les performances <strong>de</strong> compression du co<strong>de</strong>ur MCGV sont expérimentalement comparées à celles<br />
<strong>de</strong> l’approche originale GV, ainsi qu’à d’autres techniques <strong>de</strong> l’état <strong>de</strong> l’art.<br />
Le chapitre 7 décrit la <strong>de</strong>uxième métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong> proposée<br />
dans ce travail, appelé FAMC(Frame-based Animated Mesh <strong>Compression</strong>). Le co<strong>de</strong>ur FAMC<br />
fait cohabiter la stratégie <strong>de</strong> prédiction par modèle <strong>de</strong> skinning avec plusieurs techniques <strong>de</strong><br />
codage par transformées <strong>de</strong>s erreurs résiduelles. L’architecture modulaire du co<strong>de</strong>ur FAMC<br />
ainsi que les différentes configurations qu’il supporte sont détaillées <strong>et</strong> analysées en termes <strong>de</strong><br />
complexité <strong>de</strong> calcul <strong>et</strong> <strong>de</strong> fonctionnalités supportées. En raison <strong>de</strong> ces hautes performances<br />
d’efficacité <strong>de</strong> compression ainsi que du large spectre <strong>de</strong> fonctionnalités supportées, FAMC a<br />
été adopté comme Amen<strong>de</strong>ment 2 du standard MPEG-4 - Partie 16 AFX (Animation Framework<br />
eXtension).<br />
Enfin, le huitième <strong>et</strong> <strong>de</strong>rnier chapitre <strong>de</strong> ce mémoire propose une évaluation expérimentale<br />
objective <strong>de</strong>s différentes configurations du co<strong>de</strong>ur FAMC par rapport au techniques MCGV,<br />
aux co<strong>de</strong>urs standards MPEG-4/BIFS <strong>et</strong> MPEG-4/IC ainsi qu’au différentes techniques <strong>de</strong><br />
l’état <strong>de</strong> l’art. Une étu<strong>de</strong> expérimentale <strong>de</strong>s fonctionnalités offertes par ce co<strong>de</strong>ur est également<br />
présentée, analysée <strong>et</strong> discutée.<br />
La conclusion générale synthétise le travail accompli <strong>et</strong> ouvre les perspectives, àlafoisméthodologiques<br />
<strong>et</strong> technologiques, <strong>de</strong> recherches <strong>et</strong> applications futures.
4 Introduction
Première partie<br />
<strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong><br />
5
Chapitre1<br />
Représentation <strong>et</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Résumé : Ce chapitre dresse un état <strong>de</strong> l’art <strong>de</strong>s techniques <strong>de</strong> compression <strong>de</strong>s<br />
<strong>maillages</strong> <strong>3D</strong>. Une revue du formalisme mathématique <strong>de</strong> représentation <strong>de</strong> <strong>maillages</strong><br />
<strong>3D</strong> triangulaires est tout d’abord présentée, puis la problématique <strong>de</strong> compression introduite.<br />
Une synthèse bibliographique avec principes, avantages <strong>et</strong> limitations <strong>de</strong>s métho<strong>de</strong>s<br />
les plus représentatives <strong>de</strong> codage <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> est ensuite présentée. C<strong>et</strong>te étu<strong>de</strong> fait<br />
ressortir la nécessité d’élaborer <strong>de</strong>s techniques <strong>de</strong> compression génériques, <strong>de</strong> faible complexité<br />
adaptées à <strong>de</strong>s applications en temps réel <strong>et</strong> àundéploiement sur <strong>de</strong>s terminaux<br />
en capacités <strong>de</strong> calcul limitées.<br />
Mots clés : <strong>Compression</strong>, maillage <strong>3D</strong>, approche mono-résolution, approche multirésolution,<br />
VRML, COLLADA.<br />
7
8 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Les applications multimédias professionnelles ou grand public m<strong>et</strong>tent en scène <strong>de</strong>s obj<strong>et</strong>s<br />
<strong>3D</strong> aussi bien dans le cadre <strong>de</strong> la CAO, que dans celui <strong>de</strong>s services <strong>de</strong> télé-mé<strong>de</strong>cine, <strong>de</strong>s jeux<br />
vidéo, <strong>de</strong> la production <strong>de</strong> films d’animation <strong>3D</strong> ou <strong>de</strong> <strong>de</strong>ssins animés.<br />
Aujourd’hui, la visualisation d’obj<strong>et</strong>s représentés sous forme <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> s’effectue en<br />
temps réel sur la plupart <strong>de</strong>s cartes graphiques actuellement disponibles. En revanche, leur<br />
stockage <strong>et</strong> leur transmission sur différents terminaux <strong>et</strong> réseaux (mobiles ou fixes) requièrent<br />
d’importantes ressources en mémoire <strong>et</strong> en ban<strong>de</strong> passante. Elaborer alors <strong>de</strong>s représentations<br />
compactes <strong>de</strong> ces données <strong>3D</strong> <strong>de</strong>vient un enjeu majeur.<br />
Dans ce chapitre, nous rappelons tout d’abord quelques définitions mathématiques utiles<br />
pour l’ensemble <strong>de</strong> nos développements ultérieurs (Section 1.1). Les différents standards <strong>et</strong><br />
formats <strong>de</strong> représentation <strong>3D</strong> aujourd’hui disponibles sont ensuite passés en revue (Section 1.2).<br />
Leur analyse m<strong>et</strong> en évi<strong>de</strong>nce la nécessité <strong>de</strong>disposer<strong>de</strong>métho<strong>de</strong>s efficaces <strong>de</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong>, dont un état <strong>de</strong> l’art est proposé dans la Section 1.3.<br />
1.1 Notions mathématiques<br />
1.1.1 Maillage triangulaire<br />
Une manière àlafoisélégante <strong>et</strong> générale<strong>de</strong>définir le concept <strong>de</strong> maillage triangulaire<br />
s’appuie sur la notion <strong>de</strong> complexe simplical.<br />
Complexe simplical : Un complexe simplical K est défini par un ensemble <strong>de</strong> somm<strong>et</strong>s<br />
V = {1, 2,...,V}⊂N (N étant l’ensemble <strong>de</strong>s entiers naturels) <strong>et</strong> un ensemble <strong>de</strong> sous-parties<br />
finies <strong>et</strong> non vi<strong>de</strong>s <strong>de</strong> V, appelées simplexes telles que :<br />
1. Tout les singl<strong>et</strong>on {i} <strong>de</strong> V est un simplexe <strong>de</strong> K,<br />
2. Tout sous-ensemble d’un simplexe <strong>de</strong> K est un simplexe <strong>de</strong> K.<br />
Si le nombre d’éléments (le cardinal) d’un simplexe σ est égal à(q + 1), on parle alors d’un<br />
q-simplexe ou encore d’un simplexe <strong>de</strong> dimension q. La dimension d’un complexe simplical K<br />
est définie comme la dimension maximale <strong>de</strong> ses simplexes. Les 0-simplexes <strong>de</strong> K sont appelés<br />
somm<strong>et</strong>s, les1-simplexesarêtes <strong>et</strong> les 2-simplexes triangles.<br />
Le concept <strong>de</strong> complexe simplical est naturellement adapté pour lui associer <strong>de</strong>s relations<br />
<strong>de</strong> voisinage, indispensables àladéfinition <strong>de</strong> tout espace topologique.<br />
Voisinage <strong>de</strong> premier ordre : Soient K un complexe simplical <strong>et</strong> i <strong>et</strong> j <strong>de</strong>ux somm<strong>et</strong>s <strong>de</strong><br />
K. Les somm<strong>et</strong>s i <strong>et</strong> j sont dits voisins si <strong>et</strong> seulement si ils sont inclus dans un même simplexe<br />
<strong>de</strong> K. Levoisinage <strong>de</strong> premier ordre d’un somm<strong>et</strong> i, noté i ∗ ,estdéfini comme l’ensemble <strong>de</strong><br />
ses somm<strong>et</strong>s voisins. De la même manière, <strong>de</strong>ux triangles sont dits voisins si <strong>et</strong> seulement si<br />
ils partagent une arête commune.<br />
Valence : La valence d’un somm<strong>et</strong> est définie comme le nombre <strong>de</strong> ses voisins.<br />
Le concept <strong>de</strong> complexe simplical décrit <strong>de</strong> manière complète les relations topologiques<br />
entre ses somm<strong>et</strong>s <strong>et</strong>, plus généralement, ses simplexes. Pour associer à un complexe simplical<br />
arbitraire une surface géométrique, il est utile <strong>de</strong> considérer sa réalisation géométrique, définie<br />
à l’ai<strong>de</strong> <strong>de</strong> la notion d’enveloppe convexe, rappelée ci-<strong>de</strong>ssous.
1.1 Notions mathématiques 9<br />
Enveloppe convexe : L’enveloppe convexe d’un ensemble <strong>de</strong> vecteurs {χ0, .., χk} ⊂R n ,<br />
noté [χ0, ··· ,χk] ,estdéfinie par :<br />
[χ0, ··· ,χk] ={x =<br />
k<br />
αiχi,<br />
i=0<br />
k<br />
αi =1,αi ≥ 0,i∈{0, ··· ,k}}<br />
i=0<br />
La Figure 1.1 illustre l’enveloppe convexe associée aux trois points {χ1, χ2 <strong>et</strong> χ3} <strong>de</strong> R 3 .<br />
Figure 1.1 : Illustration <strong>de</strong> l’enveloppe convexe [χ1,χ2,χ3] <strong>de</strong> trois points dans R 3 . Elle<br />
représente la surface du triangle défini par les trois points {χ1,χ2,χ3}.<br />
Réalisation géométrique : Soient K un complexe simplical, V = {1, 2,...,V} l’ensemble<br />
<strong>de</strong> ses somm<strong>et</strong>s <strong>et</strong> X = {χ1, .., χV } un ensemble <strong>de</strong> vecteurs <strong>de</strong> Rn associés aux somm<strong>et</strong>s <strong>de</strong> V.<br />
L’enveloppe convexe d’un simplexe σ = {v1, ··· ,vk} <strong>de</strong> K, notée |σ|, estdéfinie comme<br />
étant l’enveloppe convexe <strong>de</strong>s vecteurs associés à ses somm<strong>et</strong>s [χv1, ··· ,vvk ].<br />
La réalisation géométrique <strong>de</strong> K,notée |K| ⊂ Rn est par définition la réunion <strong>de</strong>s enveloppes<br />
convexes <strong>de</strong> ses simplexes :<br />
|K| = <br />
|σ|. (1.1)<br />
σ∈K<br />
La notion <strong>de</strong> réalisation géométrique rend ainsi possible d’associer à un complexe simplical<br />
quelconque une surface géométrique dans un espace Rn .<br />
Avec ces différentes notions, il <strong>de</strong>vient maintenant possible <strong>de</strong> définir le concept <strong>de</strong> maillage<br />
triangulaire.<br />
Maillage triangulaire : Un maillage triangulaire est défini comme étant un couple M =<br />
(K, X ), où X = {χ1, .., χV } est un ensemble <strong>de</strong> vecteurs <strong>de</strong> R 3 <strong>et</strong> K est un complexe simplical<br />
<strong>de</strong> dimension 2 tel que :<br />
(P1) Chaque 0-simplexe est un sous-ensemble d’au moins un 1-simplexe <strong>de</strong> K,<br />
(P2) Chaque 1-simplexe est un sous-ensemble d’au moins un 2-simplexe <strong>de</strong> K.<br />
La surface du maillage M est définie comme étant la réalisation géométrique |K| dans<br />
R 3 . Par abus <strong>de</strong> language, la réalisation géométrique d’un somm<strong>et</strong> (respectivement arête ou<br />
triangle) <strong>de</strong> K est appelée somm<strong>et</strong> (respectivement arête ou triangle) <strong>de</strong> M. La Figure 1.2<br />
illustre un exemple <strong>de</strong> maillage triangulaire.
10 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Notons que les propriétés (P1) <strong>et</strong> (P2) <strong>de</strong> la définition d’un maillage triangulaire assurent<br />
qu’il n’existe pas <strong>de</strong> somm<strong>et</strong>s <strong>et</strong> d’arêtes isolés, i.e. tout somm<strong>et</strong> est inclus dans une arête <strong>et</strong><br />
toute arête est incluse dans un triangle.<br />
Le complexe simplical K définit la connectivité (ou topologie) du maillage, i.e. les relations<br />
d’adjacence entre les somm<strong>et</strong>s, les arêtes <strong>et</strong> les triangles du maillage. L’ensemble X <strong>de</strong>s positions<br />
<strong>de</strong>s différents somm<strong>et</strong>s correspond àlagéométrie du maillage.<br />
Notons qu’en considérant <strong>de</strong>s espaces <strong>de</strong> dimensions supérieures, d’autres attributs comme<br />
ceux photométriques (e.g., couleurs, normales, coordonnées paramétriques <strong>de</strong> texture...) peuvent<br />
être également pris en compte dans la définition <strong>de</strong> maillage triangulaire.<br />
Un maillage triangulaire peut inclure une ou plusieurs composantes connexes, définies<br />
comme suit.<br />
Figure 1.2 : Illustration d’un maillage triangulaire M =(K, X )dansR 3 .<br />
Chemin : Un chemin C sur un maillage M est une séquence sans répétition <strong>de</strong> somm<strong>et</strong>s,<br />
telle que chaque paire <strong>de</strong> somm<strong>et</strong>s consécutifs partage une arête commune. Le premier <strong>et</strong> le<br />
<strong>de</strong>rniersomm<strong>et</strong><strong>de</strong>C sont dits somm<strong>et</strong>s connectés par le chemin C.<br />
Composante connexe : Une composante connexe est une partie d’un maillage triangulaire<br />
composée d’un ensemble maximal <strong>de</strong> somm<strong>et</strong>s connectés (i.e., pour chaque paire <strong>de</strong> somm<strong>et</strong>s<br />
(i, j), il existe un chemin qui connecte i à j) entre eux. Un maillage composé d’une seule<br />
composante connexe est dit connexe.<br />
Tel que défini, un maillage <strong>3D</strong> couvre la majorité <strong>de</strong>sreprésentations informatiques que l’on<br />
r<strong>et</strong>rouve en pratique. Toutefois, afin d’obtenir <strong>de</strong>s surfaces <strong>3D</strong> topologiquement <strong>et</strong> géométriquement<br />
exploitables, il est nécessaire d’imposer <strong>de</strong>s contraintes/propriétés supplémentaires<br />
que le maillage doit satisfaire. Le plus souvent cela revient àdéfinir <strong>de</strong>s variétés orientées, dont<br />
la définition est rappelée dans la section suivante.<br />
1.1.2 Variétés, orientation <strong>et</strong> genre<br />
Rappelons tout d’abord une notion clédansl’étu<strong>de</strong> <strong>de</strong>s propriétés topologiques <strong>de</strong>s surfaces,<br />
qui est celle d’homéomorphisme.
1.1 Notions mathématiques 11<br />
Homéomorphisme : Deux surfaces <strong>3D</strong> S <strong>et</strong> S ′ sont dites homéomorphes si <strong>et</strong> seulement si<br />
il existe une bijection continue φ <strong>de</strong> S vers S ′ telle que son inverse φ−1 est également continue.<br />
Intuitivement, S <strong>et</strong> S ′ sont dites homéomorphes si la surface S peut être étirée <strong>et</strong> courbée<br />
sans rupture afin d’épouser la forme <strong>de</strong> S ′ .<br />
La notion d’homéomorphisme perm<strong>et</strong> <strong>de</strong> définir <strong>de</strong>s classes d’équivalence dans l’espace <strong>de</strong>s<br />
surfaces. En particulier, cela perm<strong>et</strong> d’introduire les variétés, définies comme suit.<br />
Variété : Une surface <strong>3D</strong> est appelée variété (manifold dans la littérature anglophone) si <strong>et</strong><br />
seulement si en tout point <strong>de</strong> la surface il existe un voisinage homéomorphe àundisqueouvert<br />
ou à un <strong>de</strong>mi-disque ouvert.<br />
Maillage manifold : Un maillage triangulaire <strong>3D</strong> est dit manifold si <strong>et</strong> seulement si sa<br />
surface (i.e., saréalisation géométrique) est une variété.<br />
Pour tester si un maillage est manifold ou non, il est utile d’introduire les notions <strong>de</strong> somm<strong>et</strong><br />
régulier <strong>et</strong> d’arête régulière.<br />
Somm<strong>et</strong> régulier : Un somm<strong>et</strong> est dit somm<strong>et</strong> régulier si <strong>et</strong> seulement si l’ensemble <strong>de</strong> ses<br />
voisins peut être réordonné pourdéfinir un unique chemin.<br />
Arête régulière : Une arête est dite arête régulière si <strong>et</strong> seulement si elle est partagée au<br />
maximum par <strong>de</strong>ux triangles.<br />
Proposition : Avec ces définition, on peut démontrer [13] la propriété suivante : Un maillage<br />
triangulaire est manifold si <strong>et</strong> seulement si tous ses somm<strong>et</strong>s <strong>et</strong> ses arêtes sont réguliers.<br />
La Figure 1.3 présente quelques exemples <strong>de</strong> <strong>maillages</strong> triangulaires manifold (Figure 1.3.a)<br />
<strong>et</strong> non-manifolds (Figures 1.3.b <strong>et</strong> 1.3.c). Pour le maillage <strong>de</strong> la Figure 1.3.b l’arête {v1,v2} est<br />
non régulière, puisque partagée par trois triangles. Dans le cas <strong>de</strong> la Figure 1.3.c, le somm<strong>et</strong> v<br />
est irrégulier puisque ses voisins ne forment pas un chemin unique.<br />
La notion <strong>de</strong> manifold perm<strong>et</strong> <strong>de</strong> caractériser <strong>de</strong> façon simple les surfaces ouvertes <strong>et</strong><br />
fermées, en définissant les somm<strong>et</strong>s, les triangles <strong>et</strong> les arêtes internes <strong>et</strong> celles <strong>de</strong> bord. Cela<br />
s’appuie sur l’observation que pour un maillage triangulaire manifold une arête est partagée<br />
au maximum par <strong>de</strong>ux triangles.<br />
Bord, triangle <strong>de</strong> bord, triangle interne, arête <strong>de</strong> bord <strong>et</strong> somm<strong>et</strong> <strong>de</strong> bord : Si une<br />
arête appartient exactement à un seul triangle, alors elle est dite arête <strong>de</strong> bord. Sinon(i.e., si<br />
elle est partagée par <strong>de</strong>ux triangles différents), elle est dite arête interne. Lebord est défini<br />
comme étant la réunion <strong>de</strong> l’ensemble <strong>de</strong>s arêtes <strong>de</strong> bord. Si un somm<strong>et</strong> appartient à une arête<br />
<strong>de</strong> bord, alors il est dit somm<strong>et</strong> <strong>de</strong> bord. Dans le cas contraire, il s’agit d’un somm<strong>et</strong> interne.<br />
Un triangle est dit triangle <strong>de</strong> bord, si <strong>et</strong> seulement si il contient au moins une arête<strong>de</strong>bord.<br />
Une autre notion particulièrement utile pour <strong>de</strong>s applications <strong>de</strong> rendu est celle <strong>de</strong> maillage<br />
orienté. Le principe consiste à associer une normale à chaque triangle du maillage. Pour un<br />
triangle arbitraire {v1,v2,v3}, il est possible <strong>de</strong> définir <strong>de</strong>ux vecteurs normaux àlasurfacedu<br />
triangle, <strong>de</strong> même direction <strong>et</strong> <strong>de</strong> sens opposés : ±(χ2 − χ1) ∧ (χ3 − χ1). Pour définir la normale<br />
sans ambiguïté, le principe consiste à associer à chaque triangle un ordre <strong>de</strong> parcours <strong>de</strong> ses<br />
somm<strong>et</strong>s. Le sens <strong>de</strong> la normale est alors déterminé <strong>de</strong>façon unique en appliquant par exemple<br />
la règle du tire-bouchon (Figure 1.4.a).
12 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
(a) Maillage manifold (b) Maillage non manifold avec une<br />
arête {v1,v2} irrégulière<br />
(c) Maillage non manifold avec un<br />
somm<strong>et</strong> v irrégulier<br />
Figure 1.3 : Exemples <strong>de</strong> <strong>maillages</strong> manifolds <strong>et</strong> non-manifolds.<br />
Maillage orienté : Un maillage est dit orienté si <strong>et</strong> seulement si tout couple <strong>de</strong> triangles<br />
voisins a <strong>de</strong>s vecteurs normaux <strong>de</strong> même orientation.<br />
C<strong>et</strong>te propriété est assurée si <strong>et</strong> seulement si l’arête commune est parcourue dans les <strong>de</strong>ux<br />
triangles dans <strong>de</strong>s sens contraires.<br />
La Figure 1.4.b présente un exemple <strong>de</strong> maillage non-orienté. Ici, l’arête (v1,v2) est traversée<br />
dans le même sens par les <strong>de</strong>ux triangles voisins. La Figure 1.4.c illustre un exemple <strong>de</strong> maillage<br />
orienté : l’arête (v1,v2) est parcourue dans <strong>de</strong>ux sens différents.<br />
(a) (b) (c)<br />
Figure 1.4 : (a) Orientation <strong>de</strong> la normale associée au triangle (v1,v2,v3) (b) maillage nonorienté<br />
<strong>et</strong> (c) maillage orienté.<br />
Genre : Le genre d’une surface connexe est le nombre maximum <strong>de</strong> courbes fermées simples,<br />
sanspointcommun<strong>et</strong>géodésique à la surface que l’on peut tracer sans déconnecter la surface<br />
en plusieurs composantes connexes.<br />
La Figure 1.5 illustre quelques exemples <strong>de</strong> surfaces <strong>de</strong> :<br />
• genre 0 : sphère (Figure 1.5.a),<br />
• genre 1 : tore (Figure 1.5.b),<br />
• genre 2 : surface en forme <strong>de</strong> 8 (Figure 1.5.c).
1.1 Notions mathématiques 13<br />
(a) Sphère:genre0 (b) Tore : genre 1 (c) Surface en forme <strong>de</strong> 8 : genre 2<br />
Figure 1.5 : Surfaces <strong>de</strong> différents genres.<br />
Le genre est une caractéristique topologique globale qui perm<strong>et</strong> également <strong>de</strong> définir <strong>de</strong>s<br />
classes d’équivalence dans l’espace <strong>de</strong>s variétés. Une autre notion importante pour caractériser<br />
la topologie d’un maillage triangulaire est celle <strong>de</strong> maillage régulier.<br />
Maillage régulier : Un maillage est dit régulier si <strong>et</strong> seulement si tous ses somm<strong>et</strong>s ont la<br />
même valence.<br />
En pratique, un p<strong>et</strong>it nombre <strong>de</strong> <strong>maillages</strong> vérifie c<strong>et</strong>te propriété <strong>de</strong>régularité. Cependant,<br />
sous certaines hypothèse, on peut démontrer que la valence moyenne <strong>de</strong>s somm<strong>et</strong>s est <strong>de</strong> 6. Ce<br />
résultat est une conséquence directe <strong>de</strong> la relation d’Euler-Poincarré [14], rappelée ci-<strong>de</strong>ssous.<br />
Proposition (relation d’Euler-Poincarré) : Soit M un maillage manifold, orienté<strong>et</strong><br />
sans bord, composé <strong>de</strong>F triangles, E arêtes <strong>et</strong> V somm<strong>et</strong>s. Soit G le genre <strong>de</strong> M. Larelation<br />
d’Euler-Poincarré [14] est donnée par :<br />
F − E + V =2− 2G. (1.2)<br />
Dans le cas d’un maillage manifold sans bord, chaque arête interne est partagée par <strong>de</strong>ux<br />
triangles. De plus, par définition, un triangle comporte trois arêtes. Il en résulte la relation<br />
suivante :<br />
3F =2E. (1.3)<br />
En substituant (1.3) dans (1.2), on obtient la relation suivante :<br />
E =3V − 6+6G. (1.4)<br />
En sommant les valences <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> en tenant compte qu’une arête est composée <strong>de</strong><br />
<strong>de</strong>ux somm<strong>et</strong>s, on obtient facilement la relation suivante, connue sous le nom <strong>de</strong> lemme <strong>de</strong><br />
Handshaking [15] :<br />
<br />
val(v) =2E, (1.5)<br />
v∈V<br />
où val(v) désigne la valence du somm<strong>et</strong> v.<br />
En remplacant (1.5) dans (1.4) on obtient :<br />
<br />
val(v) =6V − 12 + 12G, (1.6)<br />
ou encore,<br />
v∈V
14 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
¯ϑ = 1<br />
V<br />
<br />
val(v) =6−<br />
v∈V<br />
où ¯ ϑ désigne la valence moyenne <strong>de</strong>s somm<strong>et</strong>s du maillage.<br />
12 + 12G<br />
. (1.7)<br />
V<br />
Dans le cas <strong>de</strong>s <strong>maillages</strong> que l’on traite en pratique, le nombre <strong>de</strong> somm<strong>et</strong>s V est beaucoup<br />
plus important que le genre G du maillage : V>>G. On obtient alors la relation suivante :<br />
qui établit le corollaire <strong>de</strong> la valence moyenne, énoncé ci-<strong>de</strong>ssous.<br />
¯ϑ ≈ 6, (1.8)<br />
Corollaire <strong>de</strong> la valence moyenne : La valence moyenne d’un maillage manifold sans<br />
bord tend vers la valeur 6.<br />
Cela complète la revue du formalisme mathématique <strong>de</strong> représentation <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>.<br />
Intéressons-nous àprésent aux représentations informatiques <strong>de</strong> ces obj<strong>et</strong>s <strong>3D</strong>, nécessaires<br />
pour obtenir <strong>de</strong>s spécifications d’obj<strong>et</strong>s <strong>3D</strong> automatiquement interprétables par un ordinateur.<br />
1.2 Standards/formats <strong>de</strong> représentation<br />
Les <strong>maillages</strong> <strong>3D</strong> sont aujourd’hui représentés sous une multitu<strong>de</strong> <strong>de</strong> formats standards (e.g.,<br />
VRML 1 , MPEG 2 ,X<strong>3D</strong> 3 <strong>et</strong> COLLADA 4 ...) ou propriétaires (e.g., <strong>3D</strong>S<strong>et</strong>Mayadéveloppés<br />
par la société Auto<strong>de</strong>sk 5 , BLEND <strong>de</strong> Blen<strong>de</strong>r 6 , X <strong>de</strong> Direct <strong>3D</strong> 7 ...). Le lecteur est invité à<br />
consulter la Section 4.3 pour une <strong>de</strong>scription détaillée <strong>de</strong> ces formats.<br />
Quel que soit le format considéré, la représentation commune adoptée est celle par triangles<br />
in<strong>de</strong>xés. Le principe est <strong>de</strong> co<strong>de</strong>r la géométrie du maillage sous la forme d’une matrice G <strong>de</strong><br />
dimension V × 3(où V estlenombre<strong>de</strong>somm<strong>et</strong>s):<br />
⎛<br />
⎜<br />
G = ⎜<br />
⎝<br />
χx 1<br />
χx 2<br />
χx 3<br />
.<br />
χ x V<br />
χ y<br />
1<br />
χy2<br />
χ y<br />
3<br />
.<br />
χy<br />
V<br />
χz 1<br />
χz2 χz 3<br />
.<br />
χz V<br />
⎞<br />
⎟ , (1.9)<br />
⎟<br />
⎠<br />
avec χx v , χyv <strong>et</strong> χzv les coordonnées (exprimées dans un repère cartésien) <strong>de</strong> l’ensemble <strong>de</strong>s<br />
somm<strong>et</strong>s <strong>de</strong> M.<br />
La connectivité du maillage est, quant à elle, spécifiée par une matrice d’entiers, notée Γ, <strong>de</strong><br />
1. http ://www.<strong>de</strong>motri<strong>de</strong>.com/vrml97-spec-html/in<strong>de</strong>x.html<br />
2. http ://www.mpeg-3dgc.org/<br />
3. http ://www.web3d.org/<br />
4. http ://www.collada.org/<br />
5. www.auto<strong>de</strong>sk.com<br />
6. www.blen<strong>de</strong>r.org/<br />
7. http ://www.microsoft.com/
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 15<br />
dimension F × 3(où F est le nombre <strong>de</strong> triangles) :<br />
⎛<br />
⎜<br />
Γ= ⎜<br />
⎝<br />
v 1 1 v 2 1 v 3 1<br />
v 1 2 v 2 2 v 3 2<br />
v 1 3 v 2 3 v 3 3<br />
.<br />
.<br />
.<br />
v 1 V v 2 V v 3 V<br />
⎞<br />
⎟ , (1.10)<br />
⎟<br />
⎠<br />
avec (v 1 n,v 2 n,v 3 n) les trois in<strong>de</strong>x entiers <strong>de</strong>s somm<strong>et</strong>s qui forment le n-ième triangle <strong>de</strong> M.<br />
Analysons le coût <strong>de</strong> stockage nécessaire à une telle représentation.<br />
Si on considère que chaque coordonnée géométrique est codée sur B bits (le plus souvent<br />
B = 32, pour une représentation en virgule flottante) <strong>et</strong> que chaque in<strong>de</strong>x entier est codé<br />
sur ⌈log2(V )⌉ 8 bits, la quantité d’information Q(M) nécessaire pour spécifier complètement le<br />
maillage est alors donnée par :<br />
Q(M) =3× V × B +3× F ×⌈log2(V )⌉ . (1.11)<br />
En combinant les équations (1.2) <strong>et</strong> (1.3) <strong>et</strong> en supposant que (V >> G), nous pouvons<br />
déduire que :<br />
F ≈ 2V. (1.12)<br />
Il en resulte que :<br />
Q(M) =V × (3 × B +6×⌈log2(V )⌉). (1.13)<br />
La relation (1.13) montre que le coût <strong>de</strong> stockage Q(M) d’un maillage <strong>3D</strong> est non linéaire avec<br />
le nombre <strong>de</strong> somm<strong>et</strong>s V . Autrement dit, le coût <strong>de</strong> codage par somm<strong>et</strong> n’est pas constant,<br />
contrairement aux images 2D où lecoût <strong>de</strong> codage d’un pixel est le mêmequellequesoit<br />
la taille <strong>de</strong> l’image (i.e., 8 bits pour les images à niveaux <strong>de</strong> gris <strong>et</strong> 24 bits pour les images<br />
couleurs). Cela est dû à la redondance <strong>de</strong> la représentation par triangles in<strong>de</strong>xés : dans la<br />
matrice Γ, chaque somm<strong>et</strong> apparaît autant <strong>de</strong> fois que le nombre <strong>de</strong> triangles dans lesquels il<br />
intervient !<br />
Afin d’éliminer c<strong>et</strong>te redondance, il est nécessaire d’élaborer <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> efficaces <strong>et</strong> génériques. Ces techniques doivent être capables <strong>de</strong> prendre en<br />
compte <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> plus en plus volumineux (i.e., jusqu’à quelques millions <strong>de</strong> somm<strong>et</strong>s<br />
pour <strong>de</strong>s obj<strong>et</strong>s issus <strong>de</strong>s scanners <strong>3D</strong>) <strong>et</strong> répondre aux besoins <strong>de</strong>s applications mo<strong>de</strong>rnes, que<br />
ce soit dans le domaine <strong>de</strong> l’infographie, <strong>de</strong> l’imagerie médicale, ou encore <strong>de</strong> la CAO.<br />
Les principales métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> sont présentés dans la<br />
section suivante.<br />
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
La littérature extrêmement riche dédiée aux métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> fait<br />
état <strong>de</strong> <strong>de</strong>ux gran<strong>de</strong>s familles d’approches :<br />
8. ⌈.⌉ : la fonction qui associe àunréel r le plus p<strong>et</strong>it entier n tel que n ≥ r.
16 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
• Approches monorésolution : la connectivité du maillage est codée séparément, en exploitant<br />
le plus souvent un certain ordre <strong>de</strong> parcours <strong>de</strong>s fac<strong>et</strong>tes, <strong>de</strong>s arêtes ou <strong>de</strong>s somm<strong>et</strong>s<br />
du maillage. La géométrie <strong>et</strong> les attributs sont ensuite codés <strong>de</strong> manière différentielle<br />
(prédictive). Ils subissent en général une procédure <strong>de</strong> quantification qui conduit à une<br />
dégradation irréversible du maillage initial (codage avec perte).<br />
• Approches multirésolution : le maillage original est simplifié itérativement, par fusions<br />
successives <strong>de</strong>s fac<strong>et</strong>tes <strong>et</strong>/ou arêtes (selon différents opérateurs <strong>de</strong> simplification <strong>de</strong><br />
maillage), jusqu’à obtenir un maillage <strong>de</strong> base, <strong>de</strong> résolution minimale. Le principe<br />
consiste alors àreprésenter <strong>et</strong> à co<strong>de</strong>r l’ensemble <strong>de</strong>s différences entre les différentes<br />
représentations maillées aux niveaux <strong>de</strong> résolution successifs. Une telle approche répond<br />
bien aux paradigmes <strong>de</strong> la compression progressive. Il s’agit dans ce cas <strong>de</strong> transm<strong>et</strong>tre<br />
au récepteur une représentation grossière du maillage initial (i.e., larésolution la plus<br />
basse), suivie d’une information itérative <strong>de</strong> différences, qui perm<strong>et</strong> <strong>de</strong> reconstruire le<br />
maillage à<strong>de</strong>srésolutions <strong>de</strong> plus en plus fines. L’utilisateur final peut alors déco<strong>de</strong>r<br />
<strong>et</strong> visualiser l’obj<strong>et</strong> <strong>3D</strong> avant même <strong>de</strong> recevoir la totalité du flux binaire associé. En<br />
outre, ce type d’approche est particulièrement bien adapté aux paradigmes d’accès universel<br />
<strong>et</strong> <strong>de</strong> réutilisation <strong>de</strong>s flux, perm<strong>et</strong>tant l’adaptation du niveau <strong>de</strong> résolution aux<br />
caractéristiques <strong>de</strong>s divers terminaux.<br />
Remarquons que dans les <strong>de</strong>ux cas, il s’agit d’un codage différentiel (prédictif) <strong>de</strong> la<br />
géométrie <strong>et</strong> <strong>de</strong>s attributs du maillage. Dans le cadre <strong>de</strong>s approches monorésolution, la prédiction<br />
est réalisée à partir <strong>de</strong>s somm<strong>et</strong>s voisins déjà décodés, tandis que dans le cas <strong>de</strong>s approches<br />
multirésolution, la prédiction est effectuée à travers les niveaux successifs <strong>de</strong> résolution.<br />
Présentons tout d’abord les différentes techniques <strong>de</strong> compression monorésolution <strong>de</strong> <strong>maillages</strong><br />
<strong>3D</strong>.<br />
1.3.1 Approches <strong>de</strong> compression mono-résolution<br />
Ces approches s’appuient sur un principe général <strong>de</strong> codage différentiel, illustré Figure 1.6.<br />
La connectivité est ici traitée séparément <strong>de</strong> la géométrie <strong>et</strong> <strong>de</strong>s attributs. L’idée est <strong>de</strong><br />
générer une suite <strong>de</strong> symboles qui perm<strong>et</strong> <strong>de</strong> parcourir <strong>et</strong> <strong>de</strong> co<strong>de</strong>r <strong>de</strong> manièreefficacelegraphe<br />
<strong>de</strong> connectivité. Cela conduit àlaspécification d’un ordre <strong>de</strong> parcours <strong>de</strong>s somm<strong>et</strong>s/triangles<br />
du maillage, exploité ensuite pour définir <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> prédiction causale, aussi bien pour<br />
la géométrie que pour les autres attributs asociés au maillage. Les trois étapes successives<br />
traditionnelles <strong>de</strong>s algorithmes <strong>de</strong> codage différentiel sont alors appliquées : quantification,<br />
prédiction <strong>et</strong> codage binaire. Notons que dans le cas d’une telle approche, il est essentiel<br />
d’effectuer la quantification en premier lieu pour éviter <strong>de</strong>s problèmes d’éclatement (“cracking”,<br />
cf. Section 2.3.1.2) <strong>de</strong>s <strong>maillages</strong> à multiples composantes connexes.<br />
Les différentes approches <strong>de</strong> l’état <strong>de</strong> l’art se distinguent principalement par la technique<br />
adoptée pour le codage <strong>de</strong> la connectivité.<br />
1.3.1.1 <strong>Compression</strong> par ban<strong>de</strong>s <strong>de</strong> triangles<br />
Le codage par ban<strong>de</strong>s <strong>de</strong> triangles [16] (triangle strips), [17] consiste àdéfinir une suite<br />
<strong>de</strong> somm<strong>et</strong>s telle que chaque somm<strong>et</strong> <strong>de</strong> la suite forme un triangle avec les <strong>de</strong>ux somm<strong>et</strong>s<br />
précé<strong>de</strong>nts. Cela perm<strong>et</strong> <strong>de</strong> définir un nouveau triangle pour chaque nouveau somm<strong>et</strong> inséré<br />
<strong>et</strong> conduit donc à un codage efficace <strong>de</strong> la connectivité, en particulier pour <strong>de</strong>s ban<strong>de</strong>s <strong>de</strong><br />
triangle très longues où le nombre <strong>de</strong> triangles approche le nombre <strong>de</strong> somm<strong>et</strong>s. Toutefois, en
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 17<br />
Figure 1.6 : Schéma général <strong>de</strong> compression monorésolution <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>.<br />
pratique, le nombre <strong>de</strong> fac<strong>et</strong>tes <strong>de</strong>s <strong>maillages</strong> approche le double du nombre <strong>de</strong> somm<strong>et</strong>s. Cela<br />
conduit à<strong>de</strong>srépétitions <strong>de</strong>s mêmes somm<strong>et</strong>s dans la liste, ce qui diminue considérablement<br />
l’efficacité <strong>de</strong>codage.Enoutre,définir <strong>de</strong>s ban<strong>de</strong>s <strong>de</strong> triangles optimales nécessite la mise en<br />
oeuvre <strong>de</strong> procédures très lour<strong>de</strong>s <strong>et</strong> complexes en temps <strong>de</strong> calcul [18], [19]. Des métho<strong>de</strong>s<br />
moins complexes, mais sous-optimales <strong>de</strong> définition <strong>de</strong> ban<strong>de</strong>s <strong>de</strong> triangles sont proposées dans<br />
[20], [21].<br />
1.3.1.2 Codage par arbres couvrants<br />
Les métho<strong>de</strong>s <strong>de</strong> codage par arbres couvrants (spanning trees) s’appuient sur une observation<br />
fondamentale <strong>de</strong> Turan [22], qui a établi qu’un graphe planaire peut être codé avec<br />
un nombre constant <strong>de</strong> bits par somm<strong>et</strong>, en utilisant <strong>de</strong>ux arbres couvrants : 1) un arbre <strong>de</strong><br />
somm<strong>et</strong>s <strong>et</strong> 2) un arbre <strong>de</strong>s triangles. En partant <strong>de</strong> ce résultat théorique, Taubin <strong>et</strong> Rossignac<br />
proposent une métho<strong>de</strong> <strong>de</strong> codage <strong>de</strong> la connectivité appelée “topological surgery” [1].<br />
L’idée est <strong>de</strong> découper le maillage selon un ensemble d’arêtes pour le convertir en un polygone<br />
planaire simplement connexe. Les somm<strong>et</strong>s selon lesquels le découpage a été opéré (i.e.,<br />
somm<strong>et</strong>s dupliqués lors du découpage) définissent l’arbre couvrant <strong>de</strong>s somm<strong>et</strong>s. L’arbre couvrant<br />
<strong>de</strong>s triangles est obtenu en assignant à chaque triangle du polygone planaire un somm<strong>et</strong><br />
<strong>et</strong> à chaque couple <strong>de</strong> triangles voisins (i.e., partageant une arête commune) une arête. Les<br />
auteurs montrent qu’avec c<strong>et</strong>te nouvelle représentation il est possible <strong>de</strong> r<strong>et</strong>rouver exactement<br />
la connectivité initiale moyennant un changement d’ordre <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s triangles du<br />
maillage. Les <strong>de</strong>ux arbres sont enfin codés en utilisant une technique RLE [23] (Run Length<br />
Encoding). La Figure 1.7 illustre les principales étapes <strong>de</strong> codage par arbres couvrants pour<br />
un exemple simple <strong>de</strong> maillage <strong>3D</strong>.<br />
C<strong>et</strong> algorithme n’est en revanche pas directement applicable aux <strong>maillages</strong> <strong>de</strong> type nonmanifold.<br />
Dans ce <strong>de</strong>rnier cas, les <strong>maillages</strong> doivent tout d’abord être décomposés en plusieurs<br />
composantes connexes <strong>de</strong> type manifold [24], ce qui implique un découpage complémentaire<br />
du maillage qui diminue significativement l’efficacité globale du codage.<br />
Pour obtenir un découpage du maillage initial en un polygone simplement connexe propice<br />
à une compression efficace, Taubin <strong>et</strong> Rossignac [1] utilisent une technique similaire à celle <strong>de</strong><br />
la décomposition par niveaux, présentée par la suite.
18 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
(a) (b) (c)<br />
(d) (e)<br />
Figure 1.7 : Exemple <strong>de</strong> codage par arbres couvrants : (a) maillage original, (b) arbre couvrant<br />
<strong>de</strong>s somm<strong>et</strong>s, (c) découpage du maillage selon l’arbre couvrant <strong>de</strong>s somm<strong>et</strong>s, (d) polygone<br />
planaire simplement connexe suite à (c) <strong>et</strong> (e) arbre couvrant <strong>de</strong>s triangles (Source : [1]).<br />
1.3.1.3 Décomposition en niveaux<br />
La technique par décomposition en niveaux [2] est fondée sur une décomposition <strong>de</strong>s<br />
<strong>maillages</strong> en plusieurs ban<strong>de</strong>s (ou niveaux) concentriques <strong>de</strong> somm<strong>et</strong>s (Figure 1.8). Des niveaux<br />
<strong>de</strong> triangles sont ensuite construits, à partir <strong>de</strong> niveaux <strong>de</strong> somm<strong>et</strong>s adjacents. Chaque<br />
niveau <strong>de</strong> triangles est enfin codé comme une ban<strong>de</strong> <strong>de</strong> triangles généralisée.<br />
Idéalement, les niveaux <strong>de</strong> somm<strong>et</strong>s ne doivent pas s’auto-intersecter, mais en pratique, pour<br />
<strong>de</strong>s <strong>maillages</strong> quelconques, c<strong>et</strong>te contrainte n’est pas satisfaite. Des mécanismes spécifiques <strong>de</strong><br />
gestion <strong>de</strong> ces auto-intersections sont alors proposés. Cela assure la généralité <strong>de</strong> l’approche.<br />
Le prix à payer est une diminution <strong>de</strong> l’efficacité <strong>de</strong> compression.<br />
Notons que chaque triangle dépend uniquement <strong>de</strong> <strong>de</strong>ux niveaux successifs <strong>de</strong> somm<strong>et</strong>s.<br />
C<strong>et</strong>te localisation <strong>de</strong> l’information est naturellement appropriée pour la transmission résistante<br />
aux erreurs en milieux bruités (e.g., environnements mobiles), puisque les erreurs <strong>de</strong> transmission<br />
peuvent être localisées avec précision entre <strong>de</strong>ux niveaux <strong>de</strong> somm<strong>et</strong>s successifs.<br />
1.3.1.4 Codage <strong>de</strong>s valences<br />
Les approches par codage <strong>de</strong>s valences, initialement introduites dans [3] sont fondées sur<br />
la définition d’un contour évolutif <strong>de</strong> propagation (appelé aussi “liste active”) qui sépare le
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 19<br />
Figure 1.8 : Décomposition en niveaux. Les contours en gras représentent les différents niveaux<br />
<strong>de</strong> somm<strong>et</strong>s (Source : [2]).<br />
maillage en <strong>de</strong>ux parties, l’une intérieure (ou visitée) <strong>et</strong> l’autre extérieure (non-visitée). Ce<br />
contour est défini initialement comme un triangle quelconque du maillage. La partie extérieure<br />
est ensuite graduellement conquise en ajoutant successivement les somm<strong>et</strong>s voisins au contour.<br />
A chaque nouveau somm<strong>et</strong> ajouté, un co<strong>de</strong> <strong>de</strong> type “ADD n” estgénéré, signifiant l’ajout<br />
d’un nouveau somm<strong>et</strong> <strong>de</strong> valence n. On obtient ainsi une liste <strong>de</strong> valences, à partir <strong>de</strong> laquelle<br />
la connectivité initialepeutêtre reconstruite. Comme dans le cas <strong>de</strong> la gran<strong>de</strong> majorité <strong>de</strong>s<br />
<strong>maillages</strong> rencontrés en pratique la distribution <strong>de</strong>s valences présente un pic proéminent autour<br />
<strong>de</strong> la valeur 6, c<strong>et</strong>te liste <strong>de</strong> valences peut être codée très efficacement en utilisant <strong>de</strong>s<br />
algorithmes <strong>de</strong> codage entropique (i.e., Huffman [25]) ou <strong>de</strong> codage arithmétique [26].<br />
C<strong>et</strong>te approche est bien définie pour <strong>de</strong>s <strong>maillages</strong> manifolds, orientés, fermés (sans bord)<br />
<strong>et</strong> <strong>de</strong> genre 0. Son extension à <strong>de</strong>s <strong>maillages</strong> avec <strong>de</strong>s bords est réalisée aisément. Le principe<br />
consiste àinsérer un somm<strong>et</strong> supplémentaire, appelé fantôme, puis <strong>de</strong> le relier par <strong>de</strong>s arêtes<br />
virtuelles à l’ensemble <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord. C<strong>et</strong>te procédure simple perm<strong>et</strong> <strong>de</strong> convertir le<br />
maillage initialement ouvert en un maillage fermé.<br />
Notons que pendant son évolution, le contour <strong>de</strong> propagation peut s’auto-intersecter. Pour<br />
gérer ce phénomène, il est alors nécessaire d’introduire un co<strong>de</strong> spécifique, appelé SPLIT, suivi<br />
<strong>de</strong> l’in<strong>de</strong>x dans la liste active du somm<strong>et</strong> qui a généré leSPLIT. Le contour est alors divisé en<br />
<strong>de</strong>ux listes distinctes, une active qui continue àévoluer, <strong>et</strong> une <strong>de</strong>uxième qui est introduite dans<br />
une liste <strong>de</strong> type FIFO (First In First Out). Lorsque la conquête <strong>de</strong> la liste active courante est<br />
épuisée, une liste est r<strong>et</strong>irée du FIFO <strong>et</strong> <strong>de</strong>vient la liste active courante.<br />
Lorsque plusieurs listes sont simultanément présentes, il est également possible que <strong>de</strong>s<br />
intersections entre les différentes listes surviennent (i.e., maillage <strong>de</strong> genre supérieur à0).Ce<br />
<strong>de</strong>uxième cas particulier est géré par l’insertion d’un co<strong>de</strong> spécifique, appelée MERGE, qui<br />
perm<strong>et</strong> <strong>de</strong> fusionner les <strong>de</strong>ux listes en une seule.<br />
Ce mécanisme <strong>de</strong> parcours <strong>et</strong> <strong>de</strong> codage du maillage est illustré Figure 1.9, pour un exemple<br />
simple.<br />
En pratique, ce sont bien les comman<strong>de</strong>s <strong>de</strong> SPLIT <strong>et</strong> <strong>de</strong> MERGE qui dégra<strong>de</strong>nt l’efficacité<br />
<strong>de</strong> codage. Pour pallier c<strong>et</strong> inconvénient, Alliez <strong>et</strong> Desbrun [27] ont proposé une technique qui<br />
perm<strong>et</strong>, via quelques procédures <strong>de</strong> décision heuristiques (focalisation dans la liste active sur<br />
le somm<strong>et</strong> ayant le nombre minimal d’arêtes non-parcourues, critère <strong>de</strong> distance euclidienne)<br />
<strong>de</strong> minimiser le nombre <strong>de</strong>s opérations <strong>de</strong> type SPLIT <strong>et</strong> MERGE.
20 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Figure 1.9 : Conquête du maillage par l’algorithme <strong>de</strong> Touma <strong>et</strong> Gotsman : (a) maillage initial,<br />
(b) insertion du somm<strong>et</strong> fantôme, (c) ADD 6, ADD 7, ADD 4 (insertion du premier triangle),<br />
(d) ADD 4, (e) ADD 7, (f) ADD 5, (g) ADD 5, (h) Somm<strong>et</strong> courant compl<strong>et</strong>, focalisation sur<br />
le somm<strong>et</strong> suivant <strong>de</strong> la liste active, (i) ADD 4, (j) ADD5, (k) SPLIT 5, (l) Focalisation sur<br />
le somm<strong>et</strong> suivant <strong>de</strong> la nouvelle liste active, (m) ADD 4, (n) ADD dummy 5, (o) R<strong>et</strong>irer la<br />
nouvelle liste active du FIFO, (p) ADD 4, (q) Focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la liste<br />
active, (r) Focalisation sur le somm<strong>et</strong> suivant <strong>de</strong> la liste active <strong>et</strong> (s) Conquête du maillage<br />
achevée. (Source : [3]).
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 21<br />
1.3.1.5 Codage par conquête<strong>de</strong>triangles<br />
Les techniques par conquête <strong>de</strong> triangles sont fondées sur le mêmeprincipe<strong>de</strong>conquête<br />
évolutive <strong>de</strong>s triangles du maillage. La différence par rapport àlamétho<strong>de</strong> <strong>de</strong> Touma <strong>et</strong> Gotsman<br />
est qu’ici, à la place <strong>de</strong>s valences <strong>de</strong>s somm<strong>et</strong>s, ce sont les opérations <strong>de</strong> construction <strong>de</strong><br />
nouveaux triangles qui sont spécifiées <strong>et</strong> codées.<br />
Dans c<strong>et</strong>te famille d’approches, mentionnons tout d’abord la métho<strong>de</strong> CBM (Cut Bor<strong>de</strong>r<br />
Machine) <strong>de</strong> Gumold <strong>et</strong> Strasßer [28]. La technique CBM définit une série <strong>de</strong> cinq opérations<br />
(“new vertex”, “forward”, “backward”, “split” <strong>et</strong>“close”) qui sont ensuite codées par un algorithme<br />
<strong>de</strong> Huffman. Le point fort <strong>de</strong> la métho<strong>de</strong> est le temps <strong>de</strong> décodage très rapi<strong>de</strong> <strong>et</strong> adapté<br />
au calcul parallèle, qui rend c<strong>et</strong>te technique particulièrement adaptée pour <strong>de</strong>s applications<br />
nécessitant un décodage en temps réel. Des améliorations <strong>de</strong> ses performances, à travers la<br />
définition d’un co<strong>de</strong>ur arithmétique adaptatif, ont été également rapportées dans [29].<br />
Dans [4], les auteurs proposent la technique dite <strong>de</strong> Edgebreaker. Le codage est ici spécifié<br />
<strong>et</strong> effectué par rapport àchaquearête <strong>de</strong> la liste active. Ainsi, l’insertion d’un nouveau somm<strong>et</strong><br />
v formant un triangle avec l’arête courante, notée g, génère l’un <strong>de</strong>s cinq co<strong>de</strong>s suivants :<br />
1. C, si v n’est pas dans la liste,<br />
2. L (left) siv précè<strong>de</strong> g dans la liste,<br />
3. R (right), si v suit g dans la liste,<br />
4. E (end), si v suit <strong>et</strong> précè<strong>de</strong> g dans la liste,<br />
5. S (split) sinon.<br />
Ce mécanisme <strong>de</strong> codage <strong>de</strong>s opérations est illustré Figure 1.10. Pour c<strong>et</strong> exemple, la suite <strong>de</strong>s<br />
co<strong>de</strong>s générés <strong>et</strong> la suivante : CCRSRLLRSEERLRE.<br />
Le principal désavantage <strong>de</strong> l’algorithme <strong>de</strong> Edgebreaker est lié à la gran<strong>de</strong> complexité <strong>de</strong><br />
calcul <strong>de</strong> la procédure<strong>de</strong>décodage, qui est quadratique avec le nombre <strong>de</strong> somm<strong>et</strong>s. Diverses<br />
améliorations <strong>de</strong> la métho<strong>de</strong> <strong>de</strong> base ont été proposéesdans [30], [31], [32], [33]. Une version<br />
optimisée pour <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> régularité élevée est proposée dans [34].<br />
Les différentes approches présentées montrent que la problématique <strong>de</strong> codage <strong>de</strong> la connectivité<br />
est bien couverte dans la littérature, les techniques existantes perm<strong>et</strong>tant d’obtenir<br />
<strong>de</strong>s performances quasi-optimales [35, 36] en terme d’efficacité <strong>de</strong> codage. L’état <strong>de</strong> l’art est<br />
considéré comme étant l’approche <strong>de</strong> Touma <strong>et</strong> Gotsman.<br />
En ce qui concerne la géométrie <strong>et</strong> les attributs, leur codage a été n<strong>et</strong>tement moins étudié<br />
dans la littérature. Toutefois, la quantité d’information associée est en général beaucoup plus<br />
importante que celle <strong>de</strong> la connectivité. Par conséquent, élaborer <strong>de</strong>s procédures <strong>de</strong> compression<br />
efficaces dédiées aux attributs géométriques <strong>et</strong> photométriques reste un enjeu majeur.<br />
1.3.1.6 Codage prédictif <strong>de</strong> la géométrie <strong>et</strong> <strong>de</strong>s attributs<br />
Les techniques traditionnelles <strong>de</strong> codage prédictif s’appliquent directement aux données<br />
maillées <strong>3D</strong>, dès qu’un ordre <strong>de</strong> parcours <strong>de</strong>s somm<strong>et</strong>s/fac<strong>et</strong>tes est défini. Comme la géométrie<br />
<strong>et</strong> les attributs sont traités <strong>de</strong> la même façon dans les approches <strong>de</strong> la littérature, nous limiterons<br />
notre présentation au seul codage <strong>de</strong> la géométrie.<br />
Quelquesoitleformat<strong>de</strong>représentation (e.g., VRML, COLLADA, <strong>3D</strong>S...), les coordonnées<br />
<strong>de</strong>s somm<strong>et</strong>s sont en général spécifiées par <strong>de</strong>s valeurs réelles, représentées en virgule flottante
22 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
(a) Les cinq co<strong>de</strong>s <strong>de</strong> l’algorithme <strong>de</strong> Edgebreaker<br />
(b) Exemple <strong>de</strong> codage avec l’algorithme <strong>de</strong> Edgebreaker<br />
Figure 1.10 : Codage par l’algorithme <strong>de</strong> EdgeBreaker : les numéros <strong>de</strong>s triangles indiquent<br />
l’ordre <strong>de</strong> parcours, tandis que les différents types <strong>de</strong> hachures représentent les co<strong>de</strong>s <strong>de</strong>s<br />
opérations (Source : [4]).<br />
sur 32 bits. Associer 32 bits par somm<strong>et</strong> <strong>et</strong> par coordonnée pour <strong>de</strong>s <strong>maillages</strong> pouvant atteindre<br />
quelques centaines <strong>de</strong> milliers <strong>de</strong> somm<strong>et</strong>s conduit alors à<strong>de</strong>sreprésentations extrêmement<br />
gourman<strong>de</strong>s en ressources <strong>de</strong> stockage <strong>et</strong> <strong>de</strong> transmission. Il est alors nécessaire d’appliquer<br />
une première étape <strong>de</strong> quantification afin <strong>de</strong> réduire drastiquement la quantité <strong>de</strong>données à<br />
co<strong>de</strong>r.<br />
Quantification Mentionnons tout d’abord les techniques <strong>de</strong> quantification scalaire, uniforme<br />
ou non. En général, pour <strong>de</strong>s raisons <strong>de</strong> simplicité <strong>et</strong> d’efficacité <strong>de</strong> calcul, une quantification<br />
uniforme est préférée.<br />
Comme un obj<strong>et</strong> <strong>3D</strong> peut être défini à une échelle arbitraire, la boîte englobante <strong>de</strong> l’obj<strong>et</strong><br />
<strong>3D</strong> est tout d’abord déterminée. En considérant un repère cartésien, (Oxyz), la boîte englobante<br />
est définie par trois intervalles, [Xmin,Xmax], [Ymin,Ymax]<strong>et</strong>[Zmin,Zmax]quidécrivent l’étendue<br />
spatiale <strong>de</strong> l’obj<strong>et</strong> selon les trois directions du repère. Une grille <strong>3D</strong> <strong>de</strong> quantification est ensuite<br />
spécifiée, en subdivisant chaque intervalle selon un certain nombre <strong>de</strong> bits B. LesvaleursB<br />
habituellement utilisées [1], [2], [3] varient entre 6 <strong>et</strong> 16.<br />
Une approche originale est présentée dans [17] où, pour prendre en compte les caractéristiques<br />
locales <strong>de</strong> courbure <strong>et</strong> <strong>de</strong> taille <strong>de</strong>s triangles, le maillage est segmenté enplusieursrégions.<br />
Chaque région est ensuite quantifiée avec un nombre différent <strong>de</strong> bits, adapté àsaspécificité.<br />
Après quantification, les coordonnées sont codées selon un schéma prédictif.
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 23<br />
Prédiction La prédiction <strong>de</strong>s coordonnées est en général effectuée <strong>de</strong> manière linéaire, l’ordre<br />
<strong>de</strong> parcours <strong>de</strong>s somm<strong>et</strong>s du maillage perm<strong>et</strong>tant <strong>de</strong> définir une fenêtre <strong>de</strong> prédiction causale.<br />
Taubin <strong>et</strong> Rossignac [1] proposent un schéma <strong>de</strong> prédiction optimale, issu d’une modélisation<br />
auto-régressive <strong>de</strong>s coordonnées. En notant par (vn)n∈V la suite <strong>de</strong> somm<strong>et</strong>s, dans l’ordre <strong>de</strong><br />
parcours spécifié, le somm<strong>et</strong> courant vn est prédit à partir <strong>de</strong> ses prédécesseurs par le prédicteur<br />
suivant :<br />
ˆχvn =<br />
p<br />
i=1<br />
αiχvn−i . (1.14)<br />
Les coefficients <strong>de</strong> prédiction (αi)i∈{1,...,p} sont déterminés par minimisation <strong>de</strong> l’erreur quadratique<br />
moyenne, incorporés dans le flux binaire <strong>et</strong> transmis au déco<strong>de</strong>ur.<br />
Touma <strong>et</strong> Gotsman [3] proposent un schéma <strong>de</strong> prédiction par règle du parallélogramme<br />
(Figure 1.11). Pour co<strong>de</strong>r un nouveau somm<strong>et</strong> vt, les auteurs considèrent le <strong>de</strong>uxième triangle<br />
(vq,vr,vs) codé<strong>et</strong>supposent qu’il forme avec le nouveau somm<strong>et</strong> un parallélogramme. C<strong>et</strong>te<br />
règle <strong>de</strong> prédiction est particulièrement bien adaptée à <strong>de</strong>s <strong>maillages</strong> réguliers <strong>et</strong> localement<br />
quasi-planaires.<br />
Dans [37], les auteurs proposent <strong>de</strong> définir le prédicteur comme la moyenne arithmétique<br />
<strong>de</strong>s somm<strong>et</strong>s voisins déjà codés.<br />
Une combinaison <strong>de</strong> la prédiction par règle du parallélogramme <strong>et</strong> <strong>de</strong> celle par moyenne,<br />
qui perm<strong>et</strong> d’améliorer les performances du codage dans le cas <strong>de</strong>s <strong>maillages</strong> non-triangulaires,<br />
est proposée dans [38].<br />
Enfin, une prédiction linéaire du second ordre est proposée dans [2].<br />
Figure 1.11 : Prédiction par règle du parallélogramme.<br />
1.3.1.7 Quantification vectorielle<br />
Les techniques <strong>de</strong> quantification vectorielle regroupent les étapes <strong>de</strong> quantification <strong>et</strong> <strong>de</strong><br />
prédiction en une seule <strong>et</strong> unique étape. Parmi les approches <strong>de</strong> la littérature, mentionnons<br />
celles proposées dans [39], [40].<br />
Ces techniques exploitent mieux les corrélations entre les coordonnées <strong>et</strong> perm<strong>et</strong>tent <strong>de</strong><br />
définir <strong>de</strong> manière plus souple les cellules <strong>de</strong> quantification. Par conséquent, elles conduisent<br />
à <strong>de</strong>s distorsions moins importantes pour un même débit donné. Le coût à payer est en revanche<br />
lié àlagran<strong>de</strong>complexité<strong>de</strong>calcul <strong>de</strong>s algorithmes mis en oeuvre pour déterminer les<br />
dictionnaires (co<strong>de</strong> book ) associés.<br />
Les approches monorésolution offrent <strong>de</strong>s outils <strong>de</strong> compression <strong>3D</strong> puissants en termes d’efficacité<br />
<strong>de</strong> codage <strong>et</strong> bien adaptés à une large classe d’applications. Toutefois, leur principale limitation<br />
vient du traitement différencié <strong>de</strong>s informations <strong>de</strong> connectivité <strong>et</strong><strong>de</strong>géométrie/attributs,<br />
peu adapté à une transmission progressive. Les approches multi-résolution, présentées
24 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
ci-après, abor<strong>de</strong>nt la problématique <strong>de</strong> la compression sous un angle différent <strong>et</strong> perm<strong>et</strong>tent<br />
notamment <strong>de</strong> répondre aux besoins croissants <strong>de</strong> progressivité spécifiques <strong>de</strong>s environnements<br />
mobiles <strong>et</strong> transmissions sous contraintes <strong>de</strong> ban<strong>de</strong> passante.<br />
1.3.2 Approches <strong>de</strong> compression multi-résolution<br />
S’inscrivant dans le contexte <strong>de</strong> la compression progressive, les approches multirésolution<br />
offrent la possibilité <strong>de</strong> transm<strong>et</strong>tre <strong>de</strong>s <strong>maillages</strong> <strong>3D</strong> sur <strong>de</strong>s réseaux <strong>de</strong> capacité limitée.<br />
L’idée <strong>de</strong> principe est <strong>de</strong> transm<strong>et</strong>tre tout d’abord une version dégradée du maillage, à basse<br />
résolution. Ensuite, une information <strong>de</strong> raffinement est transmise graduellement, ce qui perm<strong>et</strong><br />
<strong>de</strong> reconstruire le maillage soit jusqu’à atteindre la pleine résolution, soit jusqu’à ceque<br />
l’utilisateur juge la version reçue satisfaisante <strong>et</strong> interrompe la transmission.<br />
D’une façon générale, les approches multi-résolution sont moins performantes, en terme<br />
d’efficacité <strong>de</strong> codage, que celles en monorésolution. En outre, contrairement aux approches<br />
monorésolution où la connectivité estcodée sans perte, ici la connectivité ne <strong>de</strong>vient i<strong>de</strong>ntique<br />
à celle du maillage original que si le récepteur reçoit la totalité du flux, pour reconstruire le<br />
maillage en pleine résolution. Le principal atout <strong>de</strong> ces approches est <strong>de</strong> fait lié à la nouvelle<br />
fonctionnalité <strong>de</strong> transmission progressive.<br />
Les techniques <strong>de</strong> compression multirésolution <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> sont étroitement liées au<br />
concept <strong>de</strong> simplification <strong>de</strong> <strong>maillages</strong>.<br />
1.3.2.1 Techniques <strong>de</strong> simplification <strong>de</strong> <strong>maillages</strong><br />
De manière générale, les techniques <strong>de</strong> simplification <strong>de</strong> maillage définissent un certain<br />
nombre d’opérations qui perm<strong>et</strong>tent <strong>de</strong> dériver <strong>de</strong>s versions simplifiées, avec un nombre réduit<br />
<strong>de</strong> fac<strong>et</strong>tes <strong>et</strong> <strong>de</strong> somm<strong>et</strong>s d’un maillage.<br />
Les opérations les plus connues (Figure 1.12) sont celles <strong>de</strong> “edge collapse” (ecol )<strong>et</strong>son<br />
inverse, “vertex split” (vsplit).<br />
Figure 1.12 : L’opération <strong>de</strong> “edge collapse” (ecol) <strong>et</strong> sa duale, “vertex split” (vsplit).<br />
L’opération <strong>de</strong> “edge collapse” fusionne une arête quelconque du maillage en un seul somm<strong>et</strong>.<br />
C’est l’opération <strong>de</strong> base <strong>de</strong>s algorithmes <strong>de</strong> simplification. Son opération duale, le “vertex<br />
split”, consiste à scin<strong>de</strong>r le somm<strong>et</strong> en <strong>de</strong>ux <strong>et</strong> a récréer l’arête <strong>et</strong> les triangles décimés. Lorsqu’appliquée<br />
itérativement, elle perm<strong>et</strong> <strong>de</strong> raffiner le maillage, i.e. <strong>de</strong> dériver une version plus<br />
complexe à partir d’une résolution <strong>de</strong> base, en augmentant le nombre <strong>de</strong> somm<strong>et</strong>s, arêtes <strong>et</strong><br />
fac<strong>et</strong>tes.<br />
Lors <strong>de</strong> l’étape <strong>de</strong> codage, le maillage est transformé en appliquant successivement une série<br />
d’opérations <strong>de</strong> “edge collapse” pour obtenir <strong>de</strong>s représentations à<strong>de</strong>srésolutions <strong>de</strong> plus en<br />
plus basses. La “différence” entre <strong>maillages</strong> aux niveaux successifs <strong>de</strong> résolution est représentée<br />
d’une certaine manière <strong>et</strong> codée en un flux binaire. Au niveau du déco<strong>de</strong>ur, à partir du maillage
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 25<br />
àlaplusfaiblerésolution, on applique successivement une série d’opérations <strong>de</strong> “vertex split”<br />
<strong>et</strong> on utilise l’information <strong>de</strong> différence pour reconstruire le maillage à<strong>de</strong>srésolutions <strong>de</strong> plus<br />
en plus fines.<br />
Les algorithmes <strong>de</strong> codage progressif se distinguent principalement par la façon <strong>de</strong> définir les<br />
opérations <strong>de</strong> simplification <strong>et</strong> <strong>de</strong> raffinement <strong>de</strong> maillage, par l’approche <strong>de</strong> codage géométrique<br />
<strong>et</strong> par la gestion <strong>de</strong>s interactions entre la géométrie <strong>et</strong> la connectivité.<br />
1.3.2.2 Les <strong>maillages</strong> progressifs<br />
Le concept <strong>de</strong> maillage progressif a été introduit pour la première fois dans la littérature<br />
dans [10]. A partir d’un maillage initial M = Mk, les auteurs appliquent une série <strong>de</strong> k<br />
opérations <strong>de</strong> “edge collapse” pourdériver un maillage à basse résolution, noté M0. Comme<br />
l’opération <strong>de</strong> “edge collapse” est inversible par un “vertex split” (i.e., on r<strong>et</strong>rouve exactement<br />
la même connectivité si on applique l’opération <strong>de</strong> “edge collapse” suivie <strong>de</strong> l’opération “vertex<br />
split” correspondante), le maillage M est finalement représenté sous la forme (M0, vsplit1,<br />
vsplit2, ... vsplitk).<br />
Chaque opération <strong>de</strong> “vertex split” esticireprésentée par les indices du somm<strong>et</strong> à diviser<br />
(le somm<strong>et</strong> v dans la Figure 1.12) <strong>et</strong> ceux <strong>de</strong>s somm<strong>et</strong>s obtenus après le split (les somm<strong>et</strong>s v<br />
<strong>et</strong> w). Les positions géométriques <strong>de</strong>s somm<strong>et</strong>s vt <strong>et</strong> vs dans le maillage raffiné sontprédites à<br />
partir <strong>de</strong> l’ancienne position du somm<strong>et</strong> vs (i.e., prédiction <strong>de</strong>lta) <strong>et</strong> codées avec un algorithme<br />
<strong>de</strong> Huffman.<br />
Dans chaque étape<strong>de</strong>“edge collapse”, pour garantir l’efficacité du codage, il est essentiel<br />
<strong>de</strong> choisir la “bonne” arête à collapser, i.e. l’arête dont la suppression a une influence minimale<br />
sur la qualité du maillage simplifié. Pour cela, les auteurs intègrent dans une fonctionnelle<br />
d’énergie divers critères, comme distances, régularité <strong>et</strong>continuité, qui perm<strong>et</strong>tent d’associer<br />
àchaquearête du maillage un <strong>de</strong>gré <strong>de</strong>priorité. Finalement, l’opération <strong>de</strong> “edge collapse” est<br />
appliquée sur l’arête<strong>de</strong>priorité maximale.<br />
L’approche par <strong>maillages</strong> progressifs présentée souffre <strong>de</strong> <strong>de</strong>ux limitations principales :<br />
1. l’algorithme est applicable uniquement aux <strong>maillages</strong> <strong>de</strong> type manifold ;<br />
2. le type topologique du maillage reste inchangéà travers les différents niveaux <strong>de</strong> résolution.<br />
Afin <strong>de</strong> s’affranchir <strong>de</strong> ces contraintes, une nouvelle approche, par complexe simplicial progressif,<br />
est proposée dans [5].<br />
1.3.2.3 Codage par complexe simplicial progressif<br />
L’approche par complexe simplicial progressif (CSP) [5] généralise les opérations <strong>de</strong> “edge<br />
collapse”<strong>et</strong><strong>de</strong>“vertex split” à <strong>de</strong>s paires <strong>de</strong> somm<strong>et</strong>s arbitraires, non nécessairement connectés<br />
par une arête. Les différentes configurations possibles d’opérations “vertex split” généralisées<br />
sont illustrées Figure 1.13.<br />
Quant àlagéométrie, elle est codée comme dans le cas <strong>de</strong>s <strong>maillages</strong> progressifs, par<br />
prédiction à partir du somm<strong>et</strong> <strong>de</strong> split.<br />
L’approche CSP perm<strong>et</strong> <strong>de</strong> gérer <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> topologies arbitraires, au prix d’une<br />
légère réduction <strong>de</strong> l’efficacité du codage (cf. Tableau 1.2).
26 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Figure 1.13 : Les différentes configurations <strong>de</strong> “vertex split” généralisé. (Source : [5]).<br />
1.3.2.4 Codage par forêt progressive d’opération vsplit<br />
Proposée par Taubin <strong>et</strong> al. dans [6], l’approche Progressive Forest Split (PFS) remplace<br />
l’opération <strong>de</strong> “vertex split” par une opération <strong>de</strong> “forest split”, illustrée Figure 1.14.<br />
Figure 1.14 : L’opération <strong>de</strong> “forest split”. a) le maillage initial avec, en gras, les arêtes <strong>de</strong><br />
la forêt ; b) le découpage du maillage au long <strong>de</strong>s arêtes <strong>de</strong> la forêt ; c. triangulation <strong>de</strong> la<br />
structure obtenue ; d) le maillage raffiné. (Source : [6]).<br />
Pour co<strong>de</strong>r la structure <strong>de</strong> la forêt, un bit est associé àchaquearêtedumaillage pour<br />
spécifier si elle appartient ou non à la forêt. La structure <strong>de</strong> la triangulation associée à<br />
l’opération <strong>de</strong> “forest split” (Figure 1.14.c) peut être codée en utilisant <strong>de</strong>s arbres couvrants<br />
comme dans [1]. Enfin, la géométrie est codée selon un schéma <strong>de</strong> prédiction <strong>de</strong>s nouveaux<br />
somm<strong>et</strong>s obtenus à partir du somm<strong>et</strong> initial. Elle intègre un mécanisme <strong>de</strong> lissage <strong>de</strong>s positions<br />
[41].<br />
L’opération <strong>de</strong> “forest split” peut pratiquement doubler le nombre <strong>de</strong> fac<strong>et</strong>tes du maillage,<br />
ce qui conduit à <strong>de</strong>s taux <strong>de</strong> compression beaucoup plus importants que ceux obtenus par <strong>de</strong>s<br />
opérations <strong>de</strong> “vertex split”. Notons néanmoins que ces gains en performances <strong>de</strong> compression<br />
sont obtenus au prix d’une granularité plus grossière <strong>de</strong>s niveaux <strong>de</strong> détails générés par c<strong>et</strong>te<br />
technique.<br />
1.3.2.5 Approches par décimation <strong>de</strong> somm<strong>et</strong>s<br />
Les approches par décimation <strong>de</strong> somm<strong>et</strong>s remplacent l’opération <strong>de</strong> “edge collapse” par<br />
une étape <strong>de</strong> suppression <strong>de</strong> somm<strong>et</strong>s [42], [43]. Plus précisément, un somm<strong>et</strong> est supprimé <strong>et</strong><br />
le domaine résultant, appelé patch, re-triangulé.
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 27<br />
Dans [44], les auteurs introduisent le schéma <strong>de</strong> codage par patchs colorés (PC). Le principe<br />
est <strong>de</strong> décomposer le maillage en un ensemble <strong>de</strong> patchs <strong>de</strong>ux à <strong>de</strong>ux disjoints. Les somm<strong>et</strong>s<br />
définissant les centres <strong>de</strong>s différents patchs sont ensuite décimés <strong>et</strong> les patchs r<strong>et</strong>riangulés. La<br />
structure <strong>de</strong>s patchs est finalement codée selon un co<strong>de</strong> <strong>de</strong> couleur, les triangles <strong>de</strong> <strong>de</strong>ux patchs<br />
adjacents recevant <strong>de</strong>s couleurs différentes. Quant àlagéométrie, elle est toujours codée <strong>de</strong><br />
façon différentielle, le somm<strong>et</strong> à supprimer étant prédit à partir <strong>de</strong> la moyenne <strong>de</strong> ses voisins.<br />
Dans le même contexte <strong>de</strong>s approches par décimation <strong>de</strong> somm<strong>et</strong>s, Alliez <strong>et</strong> Desbrun [7]<br />
proposent une technique exploitant les valences <strong>de</strong>s somm<strong>et</strong>s. Afin <strong>de</strong> garantir une distribution<br />
<strong>de</strong>s valences concentrée autour <strong>de</strong> la valeur 6, les auteurs proposent <strong>de</strong> décimer uniquement les<br />
somm<strong>et</strong>s ayant une valence inférieure oùégale à6.Lespatch sont parcourus successivement, en<br />
définissant pour chacun une porte d’entrée, i.e. une arête sur la frontière du patch. L’ordre <strong>de</strong><br />
parcours <strong>de</strong>s patchs est géré à l’ai<strong>de</strong> d’une file d’attente FIFO, qui stocke les portes d’entrée.<br />
Après décimation du somm<strong>et</strong> central, chaque patch conquis est ensuite re-triangulé <strong>et</strong> la valence<br />
du somm<strong>et</strong> décimé transmise au flux <strong>de</strong> sortie. A la suite <strong>de</strong> c<strong>et</strong>te opération, la distribution<br />
<strong>de</strong>s valences est drastiquement modifiée. En particulier, un nombre important <strong>de</strong> somm<strong>et</strong>s <strong>de</strong><br />
valence 3 est obtenu. C’est pourquoi une nouvelle opération, dite <strong>de</strong> n<strong>et</strong>toyage, est appliquée,<br />
ayant pour but <strong>de</strong> décimer uniquement les somm<strong>et</strong>s <strong>de</strong> valence 3.<br />
C<strong>et</strong>te procédure <strong>de</strong> codage est illustrée Figure 1.15, pour un maillage régulier où chaque<br />
somm<strong>et</strong> a la valence 6.<br />
Figure 1.15 : Codage progressif selon l’algorithme <strong>de</strong> Alliez <strong>et</strong> Desbrun : a) Maillage initial,<br />
patchs <strong>et</strong> portes d’entrée (notées gi) ; b) Maillage après décimation <strong>et</strong> étape <strong>de</strong> n<strong>et</strong>toyage ; c)<br />
Maillage final obtenu. (Source : [7]).<br />
Notons que si le maillage initial est régulier <strong>de</strong> valence 6 (6-régulier), le maillage obtenu après<br />
décimation <strong>et</strong> n<strong>et</strong>toyage est garanti 6-régulier. Toutefois, dans le cas <strong>de</strong>s <strong>maillages</strong> irréguliers,<br />
la couverture exhaustive par patch n’est pas garantie. Des patchs nuls sont alors introduits<br />
pour gérer ce cas.<br />
En ce qui concerne la géométrie, la prédiction est effectuée dans un repère local <strong>de</strong> Frén<strong>et</strong>,<br />
ce qui perm<strong>et</strong> <strong>de</strong> séparer les composantes tangentielle <strong>et</strong> normale du vecteur différence.<br />
Les performances <strong>de</strong> la métho<strong>de</strong> sont très élevées, l’efficacité <strong>de</strong> codage étant tout àfait<br />
comparable, même si légèrement inférieure, à celle du codage monorésolution <strong>de</strong> Touma <strong>et</strong><br />
Gotsman, malgré lecaractère progressif <strong>de</strong> l’approche.<br />
Enfin, toujours dans le contexte <strong>de</strong>s approches par décimation <strong>de</strong> somm<strong>et</strong>s, mentionnons<br />
la technique <strong>de</strong> Li <strong>et</strong> Kuo [45] qui co<strong>de</strong> les informations <strong>de</strong> géométrie <strong>et</strong> <strong>de</strong> topologie d’une
28 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
manière entrelacée. Toutefois, les performances associées à c<strong>et</strong>te technique restent n<strong>et</strong>tement<br />
inférieures à celles <strong>de</strong> la métho<strong>de</strong> d’Alliez <strong>et</strong> Desbrun.<br />
1.3.2.6 Codage par décomposition en niveaux<br />
Dans [46], Bajaj <strong>et</strong> al. éten<strong>de</strong>nt leur technique <strong>de</strong> codage par niveaux au contexte du codage<br />
progressif.<br />
Trois techniques <strong>de</strong> simplification <strong>de</strong> maillage sont ici proposées, notamment la simplification<br />
intra (à l’intérieur d’un même niveau), simplification inter (entre niveaux successifs) <strong>et</strong> la<br />
contraction généralisée <strong>de</strong> triangles.<br />
1.3.2.7 Codage par décomposition en arbres géométriques<br />
Gandoin <strong>et</strong> Devillers [8] proposent une approche complètement différente <strong>de</strong> codage progressif.<br />
Ici, c’est bien la géométrie <strong>et</strong> non plus la connectivité quiestconsidérée en premier<br />
lieu.<br />
Le principe consiste à subdiviser récursivement la boîte englobante <strong>de</strong> l’obj<strong>et</strong> <strong>3D</strong> en cellules<br />
<strong>de</strong> plus en plus p<strong>et</strong>ites, jusqu’à ce que chaque cellule contienne au maximum un somm<strong>et</strong> du<br />
maillage à co<strong>de</strong>r. C<strong>et</strong>te procédure <strong>de</strong> subdivision <strong>de</strong> l’espace en cellules [47] est illustrée Figure<br />
1.16, pour le cas 2D.<br />
Figure 1.16 : Illustration <strong>de</strong> l’algorithme par décomposition en arbre Kd, pour le cas 2D.<br />
(Source : [8]).<br />
On obtient ainsi un arbre, dont les noeuds représentent <strong>de</strong>s cellules <strong>de</strong> l’espace. Le nombre <strong>de</strong><br />
somm<strong>et</strong>s du maillage correspondant à chaque cellule est codé à l’ai<strong>de</strong> d’un co<strong>de</strong>ur arithmétique<br />
[26]. Si la cellule parent contient p somm<strong>et</strong>s, chacune <strong>de</strong> ses cellules enfant peut être codée avec<br />
un nombre <strong>de</strong> log2(p +1)bits.<br />
Le codage <strong>de</strong> la connectivité est ensuite réalisé, en codant les changements <strong>de</strong> connectivité<br />
survenus lors <strong>de</strong> chaque subdivision <strong>de</strong> cellule. Deux opérations <strong>de</strong> subdivision sont ici<br />
considérées, le “vertex split” [10] <strong>et</strong> le “generalized vertex split” [5].<br />
Les performances <strong>de</strong> l’approche, en terme d’efficacité <strong>de</strong> compression, sont comparables à<br />
celles du co<strong>de</strong>ur monorésolution <strong>de</strong> Touma <strong>et</strong> Gotsman [3].<br />
Dans [13], Peng <strong>et</strong> al. améliorent l’approche Kd tree en considérant en décomposition en<br />
arbre octal (octree - OT) <strong>et</strong> en introduisant une nouvelle procédure <strong>de</strong> codage <strong>de</strong> la connectivité<br />
exploitant l’information <strong>de</strong> géométrie. Le principe <strong>de</strong> l’approche proposée consiste àco<strong>de</strong>rles<br />
arrêtes résultantes <strong>de</strong> la subdivision d’une cellule <strong>de</strong> OT en exploitant un co<strong>de</strong>ur arithmétique<br />
avec contextes [26]. Ici, les contextes considérés sont liés àlarégularité <strong>de</strong>s triangles qui vont
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 29<br />
être générés : les arrêtes qui conduisent aux triangles les plus réguliers ont une probabilité<br />
d’apparition plus importante.<br />
Par rapport à l’approche <strong>de</strong> codage par arbre Kd, la technique OT conduit à <strong>de</strong>s gains en<br />
termes <strong>de</strong> débits <strong>de</strong> l’ordre <strong>de</strong> 10 à 20% pour le codage <strong>de</strong> la géométrie <strong>et</strong> jusqu’à 60% pour<br />
le codage <strong>de</strong> connectivité du maillage. Notons cependant que ces gains sont obtenus au prix<br />
d’une complexité <strong>de</strong>décodage plus importante, l’analyse <strong>de</strong> la géométrie locale du maillage<br />
(lors <strong>de</strong> la construction <strong>de</strong>s contextes) <strong>de</strong>vant être effectuée par le déco<strong>de</strong>ur.<br />
Dans [48], les auteurs optimisent le co<strong>de</strong>ur OT en appliquant itérativement l’algorithme <strong>de</strong><br />
segmentation par k-moyennes [49, 50] aux somm<strong>et</strong>s du maillage. Ici, la structure <strong>de</strong> subdivision<br />
n’est plus guidée par la structure d’arbre octal mais plutôt adaptée à la forme <strong>de</strong> l’obj<strong>et</strong> grâce<br />
àlaprocédure <strong>de</strong> segmentation par k-moyennes [49, 50] qui calcule àchaqueétape les meilleurs<br />
k représentants <strong>de</strong> la géométrie du maillage. Les résultats rapportés dans [48] montrent <strong>de</strong>s<br />
gains en qualité visuelle [51] <strong>de</strong> l’ordre <strong>de</strong> 50 à 80%.<br />
1.3.2.8 Codage spectral<br />
Le codage spectral est actuellement exploité à large échelle dans le contexte <strong>de</strong> la compression<br />
d’images 2D. En particulier, mentionnons le codage par transformée DCT (Discr<strong>et</strong>e<br />
Cosine Transform) qui perm<strong>et</strong> <strong>de</strong> compacter l’énergie du signal dans un ensemble réduit <strong>de</strong><br />
coefficients décorrélés.<br />
Karni <strong>et</strong> Gotsman [52] proposent d’utiliser la théorie spectrale <strong>de</strong>s <strong>maillages</strong> pour en dériver<br />
une métho<strong>de</strong> <strong>de</strong> compression spectrale progressive.<br />
Le principe est <strong>de</strong> construire tout d’abord la matrice laplacienne du maillage. Pour un<br />
j∈{1,...,V }<br />
maillage avec V somm<strong>et</strong>s, la matrice laplacienne L =(Lij) i∈{1,...,V } est définie à partir <strong>de</strong><br />
l’information <strong>de</strong> connectivité <strong>et</strong>exprimée par l’équation suivante :<br />
⎧<br />
⎨ 1 , si i = j<br />
Lij = −<br />
⎩<br />
1 , si i ∈ j di<br />
∗<br />
. (1.15)<br />
0 , si sinon<br />
avec di la valence du somm<strong>et</strong> i.<br />
Les vecteurs propres <strong>de</strong> la matrice L forment une base orthogonale <strong>de</strong> l’espace Rn <strong>et</strong> les<br />
valeurs propres généralisent la notion <strong>de</strong> fréquence <strong>de</strong>s fonctions <strong>de</strong> la base. C<strong>et</strong>te base est utilisée<br />
pour effectuer la décomposition <strong>de</strong>s coordonnées x, y, z <strong>et</strong> obtenir un spectre géométrique.<br />
Ce spectre est finalement quantifié, avec une troncature <strong>de</strong>s hautes fréquences. Pour assurer<br />
la progressivité, les coefficients quantifiés sont transmis par ordre croissant <strong>de</strong> la fréquence<br />
associée.<br />
L’approche <strong>de</strong> codage spectral est particulièrement efficace àbasdébits (moins <strong>de</strong> 8 bits<br />
par somm<strong>et</strong>). Expérimentalement, elle conduit à <strong>de</strong>s gains en termes <strong>de</strong> débits <strong>de</strong> l’ordre <strong>de</strong><br />
30-50% par rapport à l’algorithme monorésolution <strong>de</strong> Touma <strong>et</strong> Gotsman [3], pour <strong>de</strong>s qualités<br />
visuelles <strong>de</strong>s <strong>maillages</strong> reconstruites tout à fait comparables.<br />
La principale limitation <strong>de</strong> l’approche est liée à sa gran<strong>de</strong> complexité <strong>de</strong> calcul (en O(V 3 )),<br />
due principalement au calcul <strong>de</strong>s vecteurs propres <strong>de</strong> la matrice L. Pour pallier c<strong>et</strong> inconvénient,<br />
les auteurs proposent dans [53] d’utiliser une base <strong>de</strong> fonctions fixe, correspondant à une<br />
connectivité régulière où chaque somm<strong>et</strong> a une valence <strong>de</strong> 6. Notons que c<strong>et</strong>te base correspond<br />
à celle <strong>de</strong> la transformée DCT. C<strong>et</strong>te décomposition est certes sous-optimale, néanmoins elle<br />
perm<strong>et</strong> <strong>de</strong> réduire la complexité <strong>de</strong>calcul<strong>de</strong>O(V 3 )à O(Vlog(V )).
30 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Dans [54], les auteurs proposent <strong>de</strong> contourner le problème<strong>de</strong>complexité <strong>de</strong> calcul <strong>de</strong>s<br />
vecteurs propres en introduisant la notion <strong>de</strong> δ-coordonnées. Plus précisément, la matrice <strong>de</strong>s<br />
δ-coordonnées, notée δG, estdéfinie par :<br />
δG = LG, (1.16)<br />
avec L la matrice laplacienne <strong>et</strong> G la marice décrivant la géométrie du maillage (cf. équation<br />
(1.9)).<br />
Le co<strong>de</strong>ur proposé dans [54] procè<strong>de</strong> comme suit. Tout d’abord, la matrice δG est calculée,<br />
puis quantifiée uniformément <strong>et</strong> codée arithmétiquement. La connectivité du maillage est ici<br />
compressée en exploitant la technique [3].<br />
Afin <strong>de</strong> reconstruire le maillage, le déco<strong>de</strong>ur décompresse tout d’abord la connectivité <strong>et</strong><br />
construit la matrice laplacienne L. La matrice <strong>de</strong>s δ-coordonnées est ensuite décodée. Soit δG<br />
la matrice obtenue au niveau du déco<strong>de</strong>ur. La matrice <strong>de</strong>s coordonnées, notée G, est enfin<br />
reconstruite en résolvant le problème <strong>de</strong> minimisation suivant :<br />
G =argmin<br />
X<br />
<br />
<br />
LX − <br />
<br />
δG<br />
2<br />
, (1.17)<br />
où X représente une matrice réelle <strong>de</strong> taille V × 3.<br />
Notons que la solution du problème <strong>de</strong> minimisation au sens <strong>de</strong>s moindres carrés, décrit<br />
par l’équation (1.17), est donnée par :<br />
G =(L t L) −1 L t δG. (1.18)<br />
En pratique, cela revient à inverser la matrice creuse (LtL). Les auteurs exploitent la bibliothèque<br />
TAUCS 9 optimisée pour ce type <strong>de</strong> matrices afin d’assurer <strong>de</strong>s temps calcul <strong>de</strong><br />
décodage raisonnables (i.e., 1 secon<strong>de</strong> pour un maillage <strong>de</strong> 20000 somm<strong>et</strong>s sur une machine<br />
P4 2GHz). L’approche proposée perm<strong>et</strong> <strong>de</strong> réduire efficacement les temps <strong>de</strong> calcul <strong>de</strong> [52]<br />
tout en assurant une qualité visuelle équivalente. Notons néanmoins qu’une telle approche est<br />
totalement inadaptée pour <strong>de</strong>s terminaux <strong>de</strong> faibles capacités <strong>de</strong> calcul <strong>et</strong> <strong>de</strong> mémoire, étant<br />
donné le processus <strong>de</strong> minimisation (équation (1.18)) qu’elle implique.<br />
1.3.2.9 Approches par on<strong>de</strong>l<strong>et</strong>tes<br />
En étroite relation avec les techniques <strong>de</strong> subdivision <strong>de</strong> surfaces, les approches <strong>de</strong> compression<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> par on<strong>de</strong>l<strong>et</strong>tes éten<strong>de</strong>nt la théorie <strong>de</strong> l’analyse multirésolution, formalisée<br />
initialement pour <strong>de</strong>s fonctions définies sur l’axe réel infini par [55][56].<br />
Parmi les travaux qui généralisent la théorie <strong>de</strong> l’analyse multirésolution aux <strong>maillages</strong> <strong>3D</strong>,<br />
il convient <strong>de</strong> mentionner en premier lieu ceux <strong>de</strong> Lounsberry [57]. Son approche représente<br />
en eff<strong>et</strong> un cas particulier du schéma <strong>de</strong> Lifting introduit par Swel<strong>de</strong>ns [58]. Le schéma <strong>de</strong><br />
Lifting est une métho<strong>de</strong> <strong>de</strong> construction <strong>de</strong> bases d’on<strong>de</strong>l<strong>et</strong>tes qui perm<strong>et</strong> <strong>de</strong> définir aisément<br />
<strong>et</strong> intuitivement <strong>de</strong>s familles d’on<strong>de</strong>l<strong>et</strong>tes sur <strong>de</strong>s domaines bornés.<br />
Parmi les techniques <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> par on<strong>de</strong>l<strong>et</strong>tes, citons tout d’abord<br />
celle proposée dans [9]. Le maillage est initialement remaillé, pour obtenir une structure topologique<br />
semi-régulière, en utilisant l’algorithme MAPS - Multiresolution Adaptive Param<strong>et</strong>erizations<br />
of Meshes [59]. MAPS génère un premier maillage, représentant la résolution la<br />
plus grossière. En subdivisant récursivement ce maillage <strong>de</strong> base, selon un algorithme <strong>de</strong> Loop,
1.3 <strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art 31<br />
(a) maillage initial (b) maillage <strong>de</strong> base avec projection<br />
<strong>de</strong>s somm<strong>et</strong>s initiaux<br />
(c) maillage semi-régulier approchant<br />
le maillage initial<br />
Figure 1.17 : <strong>Compression</strong> par on<strong>de</strong>l<strong>et</strong>tes semi-régulières. (Source : [9]).<br />
on obtient ensuite une approximation du maillage initial. C<strong>et</strong>te procédure est illustrée Figure<br />
1.17.<br />
Notons que dans ce cas, la connectivité initiale du maillage est irréversiblement perdue.<br />
Quant àlagéométrie du maillage, elle est représentée par le premier maillage <strong>et</strong> une série<br />
<strong>de</strong> coefficients <strong>de</strong> la décomposition en on<strong>de</strong>l<strong>et</strong>tes. Ces coefficients ont une distribution bien<br />
concentrée autour <strong>de</strong> zéro <strong>et</strong> sont codés à l’ai<strong>de</strong> d’un algorithme <strong>de</strong> type SPIHT [60], pour<br />
assurer la progressivité <strong>de</strong>lareprésentation.<br />
C<strong>et</strong> algorithme assure <strong>de</strong>s performances n<strong>et</strong>tement supérieures (<strong>de</strong> 10-80% <strong>de</strong> gains en<br />
termes <strong>de</strong> débits) à celles du schéma <strong>de</strong> codage monorésolution <strong>de</strong> Touma <strong>et</strong> Gotsman [3].<br />
Dans [61], les auteurs proposent un nouveau schéma <strong>de</strong> compression par on<strong>de</strong>l<strong>et</strong>tes, fondé<br />
sur le concept <strong>de</strong> maillage normal [62]. Lors <strong>de</strong> l’étape <strong>de</strong> subdivision, une contrainte supplémentaire<br />
est imposée qui garantit que le vecteur différence entre la position prédite à partir du<br />
niveaux <strong>de</strong> détails précé<strong>de</strong>nt <strong>et</strong> la position exacte du somm<strong>et</strong> est normal à la surface. Cela<br />
conduit à <strong>de</strong>s coefficients en on<strong>de</strong>l<strong>et</strong>tes scalaires, qui peuvent être codés plus efficacement.<br />
Dans [63], les auteurs généralisent le schéma <strong>de</strong> subdivision 1 :4 [57] au cas <strong>de</strong>s <strong>maillages</strong><br />
irréguliers, en introduisant <strong>de</strong>s nouvelles configurations <strong>de</strong> subdivision (i.e., 1:3,1:2<strong>et</strong>1:1),<br />
illustrées Figure 1.18. Afin <strong>de</strong> construire la structure <strong>de</strong> subdivision, les auteurs exploitent<br />
un ensemble <strong>de</strong> règles topologiques. Une version améliorée, qui tient compte <strong>de</strong> la géométrie<br />
du maillage en interdisant la décimation <strong>de</strong>s somm<strong>et</strong>s localisés sur <strong>de</strong>s arêtes saillantes, est<br />
également proposée. La structure hiérarchique générée est ensuite exploitée pour en dériver une<br />
famille d’on<strong>de</strong>l<strong>et</strong>tes biorthogonales à support local. L’approche [63] perm<strong>et</strong> d’éviter l’étape <strong>de</strong><br />
remaillage tout en assurant <strong>de</strong>s résultats <strong>de</strong> compression compétitifs par rapport aux techniques<br />
décodage sans pertes <strong>de</strong> connectivité.<br />
9. http ://www.tau.ac.il/ stoledo/taucs/
32 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
(a) Triangle original (b) Subdivision 1 :4 (c) Subdivision 1 :1<br />
(d) Subdivisions 1 :2<br />
(e) Subdivisions 1 :3<br />
Figure 1.18 : Configurations <strong>de</strong> subdivision pour l’approche <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes<br />
irrégulières.<br />
Dans [64], Gu <strong>et</strong> al. proposent d’appliquer un remaillage régulier afin <strong>de</strong> convertir la<br />
géométrie d’un maillage <strong>3D</strong> en une image 2D appelée image géométrique. Le principe consiste<br />
àdéterminer une paramétrisation du maillage sur un domaine 2D carré. Un remaillage régulier<br />
est ensuite appliqué enéchantillonnant uniformément le domaine paramétrique. Cela perm<strong>et</strong><br />
<strong>de</strong> décrire (avec pertes) la géométrie du maillage par un ensemble <strong>de</strong> points <strong>3D</strong> localisés sur la<br />
surface. Ces points, ayant une structure régulière, peuvent être stockés sous forme d’une image<br />
géométrique [64] couleur où chacun <strong>de</strong>s canaux R, V <strong>et</strong> B décrit l’une <strong>de</strong>s coordonnées x, y ou<br />
z. L’image ainsi obtenue est enfin codée en exploitant une décomposition en on<strong>de</strong>l<strong>et</strong>tes.<br />
Dans [65], les auteurs proposent l’approche SGI (Smooth Geom<strong>et</strong>ry Images) qui exploite la<br />
procédure <strong>de</strong> remaillage régulier <strong>de</strong> GI afin d’approcher le maillage par une surface B-Spline<br />
cubique. Les points <strong>de</strong> contrôle<strong>de</strong>lasurfaceB-Splinegénérée sont enfin codés sous forme<br />
d’une image géométrique. La représentation SGI exploite un schéma <strong>de</strong> subdivision calculé<br />
directement au niveau <strong>de</strong> la carte graphique afin d’assurer un rendu en temps réel. Notons<br />
cependant que c<strong>et</strong>te approche induit <strong>de</strong>s pertes <strong>de</strong> détail sur la surface en raison du lissage<br />
produit par la conversion du maillage original en surface B-Spline.
1.4 Analyse <strong>et</strong> discussion 33<br />
L’appoche GI a été encoreaméliorée dans [66] en exploitant un atlas <strong>de</strong> paramétrisation<br />
(au lieu d’une paramétrisation sur domaine carré) afin <strong>de</strong> minimiser les distorsions <strong>de</strong> paramétrisation.<br />
Ici, le maillage est découpéenunensemblepatchs qui sont remaillés régulièrement<br />
<strong>et</strong> stockés ensuite dans une même image appelée MCGI (Multi-Charts Geom<strong>et</strong>ery Images). Les<br />
auteurs proposent une procédure <strong>de</strong> recollage plus ou moins heuristique afin <strong>de</strong> garantir un<br />
raccor<strong>de</strong>ment lisse <strong>de</strong>s parties.<br />
Les différentes approches <strong>de</strong> compression multirésolution <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> présentées ici<br />
illustrent clairement les importants progrès réalisés dans le domaine au cours <strong>de</strong> ces <strong>de</strong>rnières<br />
années. Même si la contrainte <strong>de</strong> progressivité peutaprioriengendrer une diminution <strong>de</strong> l’efficacité<br />
<strong>de</strong> codage, bon nombre d’approches <strong>et</strong> en particulier celles fondées sur les transformées<br />
en on<strong>de</strong>l<strong>et</strong>tes, arrivent à s’affranchir <strong>de</strong> c<strong>et</strong>te limite <strong>et</strong> conduisent à <strong>de</strong>s performances <strong>de</strong> codage<br />
comparables ou même supérieures à celles obtenues en monorésolution, tout en offrant la<br />
puissante fonctionnalité <strong>de</strong>progressivité.<br />
1.4 Analyse <strong>et</strong> discussion<br />
Le Tableau 1.1 résume les différentes propriétés <strong>de</strong>s principales approches <strong>de</strong> compression<br />
mono-résolution <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>. Comme les stratégies <strong>de</strong> codage <strong>de</strong> la géométrie<br />
sont presque équivalentes pour toutes les approches <strong>de</strong> compression mono-résolution nous nous<br />
sommes intéressés uniquement au codage <strong>de</strong> la connectivité du maillage. En eff<strong>et</strong>, les débits,<br />
notés D(Γ), rapportés dans le Tableau 1.1, sont exprimés en bps (bits par somm<strong>et</strong>) <strong>et</strong> correspon<strong>de</strong>nt<br />
uniquement au flux binaire nécessaire pour le codage <strong>de</strong> connectivité.<br />
Ces résultats montrent que les approches <strong>de</strong> codage par valences perm<strong>et</strong>tent d’atteindre les<br />
meilleurs résultats <strong>de</strong> compression. Ces performances sont obtenues au prix d’une généralité<br />
limitée (i.e. <strong>maillages</strong> manifolds <strong>et</strong> orientés). Les approches par ban<strong>de</strong>s <strong>de</strong> triangles perm<strong>et</strong>tent<br />
<strong>de</strong> traiter tout maillage triangulaire tout en étant adaptées à une implantation matérielle.<br />
Néanmoins, ces techniques restent peu efficaces en terme <strong>de</strong> compression. L’approche <strong>de</strong> codage<br />
par niveaux semble offrir un bon compromis entre efficacité <strong>de</strong> compression <strong>et</strong> généricité étant<br />
applicable à tout maillage triangulaire. De plus, elle perm<strong>et</strong> un codage résistant aux erreurs <strong>de</strong><br />
transmission. L’approche CBM assure un décodage en temps réel au prix d’un coup <strong>de</strong> codage<br />
légèrement supérieur aux autres approches <strong>de</strong> compression par conquête <strong>de</strong> triangles [30, 4].<br />
Notons enfin qu’une version améliorée <strong>de</strong> l’approche <strong>de</strong> codage par arbres couvrants [1] a été<br />
r<strong>et</strong>enue par le standard MPEG-4.<br />
Le Tableau 1.2 présente les propriétés <strong>de</strong>s principales techniques <strong>de</strong> codage multi-résolution<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>. Ici, les débits D(Γ) <strong>et</strong> D(G)représentent respectivement les nombres<br />
<strong>de</strong> bits par somm<strong>et</strong> nécessaire pour le codage <strong>de</strong> connectivité <strong>et</strong>lagéométrie du maillage. Ils<br />
sont exprimés également en bps (bits par somm<strong>et</strong>).<br />
De l’analyse du Tableau 1.2, il ressort que les techniques <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes régulières<br />
[64] ou semi-régulières [62] perm<strong>et</strong>tent d’atteindre les meilleures performances <strong>de</strong> compression.<br />
Notons cependant que <strong>de</strong> telles approches sont adaptées uniquement à <strong>de</strong>s <strong>maillages</strong> manifold,<br />
<strong>de</strong>nses <strong>et</strong> lisses. Elle modifient également la connectivité initiale du maillage ce qui peut induire<br />
l’apparition d’artéfacts visuels comme discuté Section 3.1.<br />
Dans le cas d’applications nécessitant la préservation <strong>de</strong> la connectivité du maillage, le co<strong>de</strong>ur<br />
spectral semble offrir les meilleures performances <strong>de</strong> compression àbasdébits (moins <strong>de</strong> 8<br />
bits par somm<strong>et</strong>). Notons néanmoins que c<strong>et</strong>te approche souffre d’une complexité <strong>de</strong>décodage<br />
(en O(V 3 )) pénalisante. La technique PFS, bien que r<strong>et</strong>enue par le standard MPEG-4, offre <strong>de</strong>s
34 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
Approche D(Γ) en bps Applicabilité Commentaires<br />
Triangles in<strong>de</strong>xés 6log2(V ) Tout maillage Forte redondance<br />
triangulaire<br />
Ban<strong>de</strong>s <strong>de</strong> triangles [16] 11 Tout maillage Adaptée à une implémentation<br />
triangulaire matérielle<br />
Arbres couvrants [1] 2.48 − 7.0 Manifold R<strong>et</strong>enue par le standard MPEG-4<br />
Décomposition<br />
1.40 − 6.08 Tout maillage Codage résistant aux erreurs <strong>de</strong> trans-<br />
en niveaux [46]<br />
triangulaire mission<br />
Codage <strong>de</strong>s valences [3, 0.2 − 2.4, en Manifold <strong>et</strong> Etat <strong>de</strong> l’art <strong>de</strong>s co<strong>de</strong>urs mono-<br />
27]<br />
moyenne 1.5 orienté résolution<br />
Cut Bor<strong>de</strong>r Machine 3.22 − 8.94, en Manifold Optimisée pour les applications en<br />
[28]<br />
moyenne 4<br />
temps réel<br />
Edgebreaker [4] 4aumaximumManifold <strong>et</strong> Complexité <strong>de</strong>décodage pénalisante en<br />
orienté O(V 2 )<br />
Edgebreaker optimisé 3.67 au maxi- Manifold <strong>et</strong> Complexité <strong>de</strong>décodage linéaire<br />
[30]<br />
mum<br />
orienté<br />
Table 1.1 : Etat <strong>de</strong> l’art <strong>de</strong>s techniques monorésolutions <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong>.<br />
résultats <strong>de</strong> compression très limités. Les co<strong>de</strong>urs <strong>de</strong> <strong>maillages</strong> progressifs [10, 5] conduisent au<br />
plus mauvaises performances <strong>de</strong> compression. Notons cependant que ces techniques assurent<br />
une scalabilité <strong>de</strong> haute qualité. L’approche <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes irrégulières offre <strong>de</strong>s performances<br />
<strong>de</strong> compression compétitives tout en assurant une complexité linéaire en fonction du<br />
nombre <strong>de</strong> somm<strong>et</strong>s. Les techniques <strong>de</strong> codage par arbres géométriques [8, 13, 48] compressent<br />
efficacement <strong>de</strong>s <strong>maillages</strong> <strong>3D</strong> <strong>de</strong> topologies arbitraires. Ces approches nécessitent cependant<br />
<strong>de</strong>s capacités <strong>de</strong> calcul importantes au niveau du déco<strong>de</strong>ur.
1.4 Analyse <strong>et</strong> discussion 35<br />
Approche D(Γ) en bps D(G) en bps Applicabilité Commentaires<br />
Progressive mesh [10] log2(V )+5 en - Manifold <strong>et</strong> Scalabilité <strong>de</strong> haute<br />
moyenne<br />
orienté qualité<br />
Complexe simplical pro- log2(V )+8 en - Tout maillage Scalabilité <strong>de</strong> haute<br />
gressif [5]<br />
moyenne<br />
triangulaire qualité tout en gérant<br />
<strong>de</strong>s <strong>maillages</strong> <strong>de</strong> topologies<br />
arbiraires<br />
Progressive forest split 7-10 en 20-40 pour une Manifold R<strong>et</strong>enue par le standard<br />
[6]<br />
moyenne quantification<br />
sur 6 bits<br />
MPEG-4<br />
Patchs colorés [44] 6 en moyenne 16-22 pour une Tout maillage Scalabilité <strong>de</strong> granula-<br />
quantification<br />
sur 12 bits<br />
triangulaire rité grossière<br />
Décimation guidée par 2.67-4.99 10-22 pour une Manifold <strong>et</strong> Scalabilité <strong>de</strong> granula-<br />
les valences [7]<br />
quantification<br />
sur 10-12 bits<br />
orienté rité grossière<br />
Arbre Kd tree [8] 3.5 en 15.7 en Tout maillage Adaptée aux modèles<br />
moyenne moyenne pour triangulaire <strong>de</strong> terrains <strong>3D</strong> <strong>et</strong> aux<br />
une quantification<br />
sur 10-12<br />
bits<br />
<strong>maillages</strong> <strong>de</strong>nses<br />
Arbre octree [13, 48] 3 en moyenne 8.64 en Tout maillage Nécessite <strong>de</strong>s capacités<br />
moyenne pour triangulaire <strong>de</strong> calcul importantes<br />
une quantification<br />
sur 10-12<br />
bits<br />
au niveau du déco<strong>de</strong>ur<br />
Codage spectral [52] 1.5 en 1-5 pour Tout maillage Complexité<strong>de</strong>décodage<br />
moyenne pour une qualité triangulaire pénalisante en O(V<br />
<strong>de</strong>s <strong>maillages</strong> équivalente à<br />
manifolds <strong>et</strong> une quantifi-<br />
orientés cation sur 7-8<br />
bits<br />
3 )<br />
On<strong>de</strong>l<strong>et</strong>tes irrégulières 1.72-5.46 bits 8.5-23.96 pour Manifold Perservation <strong>de</strong> la<br />
[63]<br />
une quantification<br />
sur 10-12<br />
bits<br />
connectivité initiale<br />
Maillage normal [62] Négligeable 1 en moyenne Manifold Perte <strong>de</strong> la connectivité<br />
pour que qua-<br />
initiale. Adaptée à <strong>de</strong>s<br />
litééquivalente<br />
<strong>maillages</strong> <strong>de</strong>nses <strong>et</strong> à<br />
à une quantification<br />
sur 8<br />
bits<br />
géométrie lisse<br />
Images géométriques Non codée 1-2 en Manifold Perte <strong>de</strong> la connectivité<br />
[64]<br />
moyenne<br />
initiale. Adaptée à <strong>de</strong>s<br />
pour que qua-<br />
<strong>maillages</strong> <strong>de</strong>nses <strong>et</strong> à<br />
litééquivalente<br />
à une quantification<br />
sur 8<br />
bits<br />
géométrie lisse<br />
Table 1.2 : Etat <strong>de</strong> l’art <strong>de</strong>s techniques multirésolutions <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong>.
36 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> : état <strong>de</strong> l’art<br />
1.5 Conclusion<br />
Dans ce chapitre nous avons présenté unétat <strong>de</strong> l’art <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>. Deux familles d’approches, mono <strong>et</strong> multi-résolution, ont étéi<strong>de</strong>ntifiées,<br />
<strong>et</strong> décrites en détails, avec principe, métho<strong>de</strong>s représentatives, avantages <strong>et</strong> limitations.<br />
L’analyse <strong>de</strong> l’état <strong>de</strong> l’art montre que la majeure partie <strong>de</strong>s approches s’appuie sur <strong>de</strong>s<br />
hypothèses <strong>de</strong> régularité (e.g., maniofold <strong>et</strong> orienté) <strong>de</strong>s <strong>maillages</strong> traités afin d’assurer un<br />
codage efficace. Les techniques <strong>de</strong> codage par arbres géométriques perm<strong>et</strong>tent <strong>de</strong> gérer <strong>de</strong>s<br />
<strong>maillages</strong> non manifold tout en offrant <strong>de</strong>s performances <strong>de</strong> compression compétitives. Cependant,<br />
elles restent inadaptées à une implantation matérielle en raison <strong>de</strong>s ressources <strong>de</strong> calcul<br />
<strong>et</strong> <strong>de</strong> stockage qu’elles nécessitent. Seules les techniques <strong>de</strong> compression par ban<strong>de</strong>s <strong>de</strong> triangles<br />
<strong>et</strong> l’approche CBM semblent être adaptées àundécodage temps réel. C<strong>et</strong>te propriété estindispensable<br />
pour le déploiement d’un grand nombre d’applications comme les jeux vidéo, les<br />
visites virtuelles sur terminaux mobiles...<br />
De c<strong>et</strong>te étu<strong>de</strong> il ressort qu’il n’existe pas actuellement <strong>de</strong> métho<strong>de</strong> satisfaisant àlafoisaux<br />
contraintes <strong>de</strong> généricité (i.e., applicable à tout type <strong>de</strong> maillage), d’efficacité <strong>de</strong> compression<br />
<strong>et</strong> <strong>de</strong> faible complexité <strong>de</strong>décodage.<br />
La première métho<strong>de</strong> originale <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong> que nous proposons,<br />
dites TFAN-Triangle Fan co<strong>de</strong>r (Chapitre 2), répond à ces critères <strong>et</strong> s’attaque notamment à<br />
c<strong>et</strong> ambitieux objectif. S’inscrivant dans le cadre <strong>de</strong>s approches <strong>de</strong> codage par conquêtes <strong>de</strong><br />
triangles, elle :<br />
• offre un décodage <strong>de</strong> basse complexité <strong>et</strong> adapté pour une implantation matérielle.<br />
• génère une représentation exploitant les accélérations matérielles pour un rendu en temps<br />
réel.<br />
Les techniques par on<strong>de</strong>l<strong>et</strong>tes régulières offrent <strong>de</strong> haute performances <strong>de</strong> compression tout<br />
en assurant une réutilisation directe <strong>de</strong>s technologies standards <strong>de</strong> codage d’images 2D (e.g.,<br />
JPEG <strong>et</strong> JEPG2000). Elles modifient cependant la connectivité initiale du maillage, ce qui peut<br />
conduire en pratique à l’apparition d’artéfacts visuels (cf. Section 3.1). La <strong>de</strong>uxième métho<strong>de</strong><br />
que nous proposons, appelées co<strong>de</strong>ur B-Spline (Chapitre 3), reprend l’idée <strong>de</strong> représentation<br />
régulière <strong>de</strong> l’information géométrique introduite dans [64, 66, 65], tout en l’adaptant aux<br />
contraintes <strong>de</strong> compression avec préservation <strong>de</strong> la connectivité. Optimisée pour <strong>de</strong>s <strong>maillages</strong><br />
<strong>3D</strong> issus <strong>de</strong>s scanners <strong>3D</strong>, elle assure à la fois un codage efficace <strong>et</strong> une représentation progressive.
Chapitre2<br />
Le codage TFAN<br />
Résumé : Ce chapitre propose une nouvelle approche <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong>, appelée TFAN (Triangle Fan-based compression), applicable directement àtout<br />
maillage <strong>3D</strong> triangulaire <strong>de</strong> topologie arbitraire (i.e., manifold ou non, orienté ounon,<br />
fermé ou ouvert). TFAN assure une complexité linéaire pour le codage <strong>et</strong> le décodage,<br />
tout en offrant une représentation optimisée pour le rendu en temps réel.<br />
Afin <strong>de</strong> vali<strong>de</strong>r l’approche TFAN proposée dans le cadre d’une application industrielle<br />
gran<strong>de</strong>ur nature, nous avons considéré le corpus CAO du proj<strong>et</strong> RNRT SEMANTIC-<br />
<strong>3D</strong>, qui inclut environ 4000 <strong>maillages</strong> <strong>de</strong> topologies hautement irrégulières (multiples<br />
composantes connexes, non-manifold...). L’étu<strong>de</strong> expérimentale comparée que nous avons<br />
conduite montre que le co<strong>de</strong>ur TFAN offre <strong>de</strong>s gains en termes <strong>de</strong> débits <strong>de</strong> 6 à 33% par<br />
rapport aux métho<strong>de</strong>s <strong>de</strong> Touma Gotsman [3] <strong>et</strong> la technique MPEG-4/<strong>3D</strong>MC [1]. Quant<br />
au temps <strong>de</strong> décodage, ils sont améliorés <strong>de</strong> 50% en moyenne.<br />
En raison <strong>de</strong> sa faible complexité <strong>de</strong>décodage <strong>et</strong> <strong>de</strong> ses performances <strong>de</strong> compression<br />
élevées, le co<strong>de</strong>ur TFAN est un candidat <strong>de</strong> premier plan pour le déploiement <strong>de</strong>s contenus<br />
<strong>de</strong> type CAO sur téléphones portables. Depuis Avril 2008, il est considéré dans le cadre<br />
<strong>de</strong> l’expérimentation technique [67] portant sur la compression <strong>de</strong> basse complexité <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong>, au sein du standard MPEG.<br />
Mots clés : TFAN, compression, maillage <strong>3D</strong>, topologie arbitraire, faible complexité,<br />
rendu en temps réel, données CAO.<br />
37
38 Le codage TFAN<br />
Ce chapitre décrit une nouvelle approche <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> triangulaires,<br />
appelée TFAN.<br />
2.1 L’approche TFAN<br />
L’approche TFAN proposée gère directement tout maillage <strong>3D</strong> triangulaire <strong>de</strong> topologie<br />
arbitraire (i.e. manifold ou non, orienté ounon,fermé ou ouvert). Elle assure également une<br />
complexité linéaire pour le codage <strong>et</strong> le décodage, tout en offrant une représentation optimisée<br />
pour le rendu en temps réel. En raison <strong>de</strong> ces propriétés, le co<strong>de</strong>ur TFAN se positionne en<br />
premier plan <strong>de</strong>s candidats pour le déploiement <strong>de</strong> contenus <strong>3D</strong> sur téléphones portables.<br />
2.1.1 Définition<br />
TFAN repose sur une décomposition <strong>de</strong>s triangles du maillage à co<strong>de</strong>r en un ensemble<br />
d’éventails <strong>de</strong> triangles. Concept central <strong>de</strong> la représentation proposée, un éventail <strong>de</strong> triangles<br />
est défini comme suit.<br />
Définition : un éventail <strong>de</strong> triangles (Triangle Fan -TF)TF <strong>de</strong> <strong>de</strong>gré d est un ensemble<br />
ordonné <strong>de</strong>dtriangles (tj)j∈{0,...,d−1} définis par une séquence ordonnée <strong>de</strong> (d + 2) somm<strong>et</strong>s<br />
(v0,v1,v2,...,vd+1) telsque:<br />
∀ j ∈{0,...,d− 1}, tj = {v0,vj+1,vj+2}. (2.1)<br />
La Figure 2.1 illustre un exemple d’éventail <strong>de</strong> triangles <strong>de</strong> <strong>de</strong>gré 4.<br />
Figure 2.1 : Eventail <strong>de</strong> triangles <strong>de</strong> <strong>de</strong>gré 4décrit par les somm<strong>et</strong>s (v0,v1,v2,v3,v4,v5).<br />
Par définition, les triangles d’un éventail satisfont les propriétés suivantes :<br />
• (P1) : les <strong>de</strong>ux triangles successifs d’un éventail sont adjacents, au sens où ils partagent une<br />
arête commune,
2.1 L’approche TFAN 39<br />
• (P2) : les triangles d’un éventail ont la même orientation (i.e., sens <strong>de</strong> parcours <strong>de</strong>s somm<strong>et</strong>s<br />
d’un triangle, cf. Section 1.1),<br />
• (P3) : tous les triangles d’un éventail partagent un même somm<strong>et</strong> v0 appelé somm<strong>et</strong> central<br />
(ou centre <strong>de</strong> l’éventail).<br />
Notons également que l’orientation <strong>de</strong>s triangles implique un unique ordre <strong>de</strong> parcours <strong>de</strong>s<br />
somm<strong>et</strong>s <strong>de</strong> l’éventail. L’éventail TF est alors complètement déterminé par la suite ordonnée<br />
<strong>de</strong> ses somm<strong>et</strong>s (v0,v1,v2,...,vd+1), énumérés à partir du somm<strong>et</strong> central v0.<br />
2.1.2 Principe<br />
Pour définir une représentation compacte <strong>de</strong> la connectivité d’un maillage triangulaire <strong>de</strong><br />
topologie arbitraire (i.e. manifold ou non, orienté ounon,ferméououvert), la métho<strong>de</strong> TFAN<br />
proposée dans ce chapitre exploite une partition <strong>de</strong>s triangles du maillage en un ensemble<br />
d’éventails <strong>de</strong> triangles. Le principe <strong>de</strong> base <strong>de</strong> la métho<strong>de</strong> proposée repose sur l’observation<br />
suivante : co<strong>de</strong>r un éventail TF est équivalent àco<strong>de</strong>rles(d + 2) in<strong>de</strong>x <strong>de</strong> ses somm<strong>et</strong>s<br />
constituants. Un tel mécanisme <strong>de</strong> codage évite alors les problèmes <strong>de</strong> redondance spécifiques<br />
aux approches directes <strong>de</strong> représentation, comme celle proposée par le standard VRML 1 (cf.<br />
Section 1.2).<br />
Pour analyser le gain que l’on peut obtenir avec une représentation par éventails <strong>de</strong> triangles<br />
par rapport à l’approche directe, considérons l’exemple du maillage illustré Figure2.2.Ici,le<br />
maillage inclut les sept triangles suivants : t1 = {v6,v5,v4}, t2 = {v1,v9,v2}, t3 = {v3,v7,v9},<br />
t4 = {v1,v8,v9}, t5 = {v2,v9,v6}, t6 = {v9,v7,v6}, <strong>et</strong>t7 = {v6,v7,v5}. Supposons également<br />
que le maillage est décomposé en trois éventails TF1 = {v1,v8,v9,v2}, TF2 = {v9,v3,v7,v6,v2}<br />
<strong>et</strong> TF3 = {v6,v7,v5,v4}.<br />
Co<strong>de</strong>r directement la liste <strong>de</strong>s triangles (tj)i∈{1,...,7} revient à stocker les 21 in<strong>de</strong>x associés.<br />
Le nombre <strong>de</strong> somm<strong>et</strong>s étant égal à 9, l’in<strong>de</strong>x d’un somm<strong>et</strong> peut alors être codé sur quatre bits.<br />
Le codage direct <strong>de</strong> la liste <strong>de</strong>s triangles coûterait alors 84 bits. Si l’on considère maintenant<br />
l’approche par éventails <strong>de</strong> triangles, co<strong>de</strong>r les trois éventails nécessite <strong>de</strong> stocker uniquement<br />
14 in<strong>de</strong>x, soit 56 bits.<br />
La conversion <strong>de</strong>s trois éventails TF1, TF2 <strong>et</strong> TF3 en une liste <strong>de</strong> triangles est directe<br />
en appliquant l’équation 2.1. Dans le cas <strong>de</strong> l’exemple <strong>de</strong> la Figure 2.2, les triangles obtenus<br />
= {v9,v6,v2},<br />
sont : t ′<br />
1 = {v1,v8,v9}, t ′<br />
2 = {v1,v9,v2}, t ′<br />
3 = {v9,v3,v7}, t ′<br />
4 = {v9,v7,v6}, t ′<br />
5<br />
t ′<br />
6 = {v6,v7,v5} <strong>et</strong> t ′<br />
7 = {v6,v5,v4}. Notons qu’on obtient ainsi exactement la même liste <strong>de</strong><br />
triangles que celle du maillage initial, à une permutation près. L’ordre <strong>de</strong> parcours <strong>de</strong>s triangles<br />
associés à une représentation par éventails est donc différent <strong>de</strong> celui initial (i.e., celui <strong>de</strong> la<br />
liste <strong>de</strong> triangles). En eff<strong>et</strong>, avoir réordonné les triangles du maillage nous a permis <strong>de</strong> co<strong>de</strong>r<br />
<strong>de</strong> façon implicite une partie <strong>de</strong> leurs relations d’adjacence (cf. propriétés (P1), (P2) <strong>et</strong>(P3))<br />
ce qui conduit à une représentation plus compacte.<br />
En suivant le même principe, il est possible <strong>de</strong> redéfinir également l’ordre <strong>de</strong>s somm<strong>et</strong>s<br />
du maillage afin d’introduire un <strong>de</strong>gré <strong>de</strong>liberté supplémentaire perm<strong>et</strong>tant <strong>de</strong> décrire d’une<br />
manière encore plus compacte les relations d’adjacence entre somm<strong>et</strong>s. Ainsi, si l’on renomme<br />
les somm<strong>et</strong>s <strong>de</strong> l’éventail TF1 dans l’ordre <strong>de</strong> leur parcours (i.e., v1 → v ′<br />
1, v8 → v ′<br />
2, v9 → v ′<br />
3<br />
<strong>et</strong> v2 → v ′<br />
4 )il<strong>de</strong>vientpossible<strong>de</strong>décrire l’éventail TF1 juste en spécifiant son <strong>de</strong>gré :d1 =2.<br />
Sachant qu’il s’agit d’un éventail constitué <strong>de</strong> <strong>de</strong>ux triangles, le déco<strong>de</strong>ur pourra alors créer<br />
directement l’éventail TF ′<br />
1 = {v ′<br />
1,v ′<br />
2,v ′<br />
3,v ′<br />
4}.<br />
1. http ://www.<strong>de</strong>motri<strong>de</strong>.com/vrml97-spec-html/in<strong>de</strong>x.html
40 Le codage TFAN<br />
Figure 2.2 : Décomposition <strong>de</strong> la connectivité d’un maillage triangulaire en trois éventails <strong>de</strong><br />
triangles : TF1 = {v1,v8,v9,v2}, TF2 = {v9,v3,v7,v6,v2} <strong>et</strong> TF3 = {v6,v7,v5,v4}.<br />
Le codage du <strong>de</strong>uxième éventail TF2 est un peu plus complexe puisqu’il réutilise <strong>de</strong>s somm<strong>et</strong>s<br />
déjà renommés par TF1. Dans ce cas, disposer uniquement du <strong>de</strong>gré d2 =3<strong>de</strong>l’éventail<br />
TF2 ne perm<strong>et</strong>trait pas <strong>de</strong> distinguer les somm<strong>et</strong>s déjà utilisés (qui ne peuvent donc plus être<br />
renommés) <strong>de</strong> ceux qui ne le sont pas. Pour prendre en compte c<strong>et</strong>te information additionnelle,<br />
il suffit <strong>de</strong> co<strong>de</strong>r un bit qui prend la valeur 0 si le somm<strong>et</strong> est non-codé (ditégalement nonvisité<br />
ou nouveau) <strong>et</strong> 1 sinon. Pour l’éventail TF2, les somm<strong>et</strong>s nouveaux sont v3, v7 <strong>et</strong> v6. Les<br />
somm<strong>et</strong>s déjà codés sont v9 <strong>et</strong> v2. Pourspécifierl<strong>et</strong>ypecodéounon-codé<strong>de</strong>chaquesomm<strong>et</strong><strong>de</strong><br />
TF2 il suffit <strong>de</strong> co<strong>de</strong>r la séquence binaire S2 = {1, 0, 0, 0, 1}, en respectant l’ordre <strong>de</strong> parcours<br />
<strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> l’éventail. Enfin, pour tous les somm<strong>et</strong>s <strong>de</strong> type 1 (i.e., déjà codés) le déco<strong>de</strong>ur<br />
a besoin d’une information supplémentaire, spécifiant l’in<strong>de</strong>x <strong>de</strong> chacun selon le nouvel ordre<br />
dans lequel il apparaît. Soit I2 la séquence <strong>de</strong>s in<strong>de</strong>x <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> type 1 associés àl’éventail<br />
TF2. Dans notre exemple, les somm<strong>et</strong>s déjà codés (énumérés dans l’ordre <strong>de</strong> parcours <strong>de</strong> TF2)<br />
sont v ′<br />
3<br />
<strong>et</strong> v′<br />
4 .Parconséquence, I2 = {3, 4}.<br />
Examinons àprésent le processus <strong>de</strong> reconstruction <strong>de</strong> l’éventail TF2 au niveau du déco<strong>de</strong>ur,<br />
à partir <strong>de</strong> :<br />
• son <strong>de</strong>gré d2 =3,<br />
• la séquence binaire S2 = {1, 0, 0, 0, 1}, <strong>et</strong><br />
• la séquence <strong>de</strong>s in<strong>de</strong>x I2 = {3, 4}.<br />
En analysant le premier bit <strong>de</strong> S2, ledéco<strong>de</strong>ur déduit que le premier somm<strong>et</strong> est déjà<br />
visité. Son in<strong>de</strong>x dans I2 est alors récupéré. Celui-ci étant égal à3,ils’agitalorsdusomm<strong>et</strong><br />
v ′<br />
3 .Le<strong>de</strong>uxième, troisième <strong>et</strong> quatrième bits <strong>de</strong> S2 sont à 0. Il s’agit donc <strong>de</strong> trois somm<strong>et</strong>s<br />
non-visités. Leurs in<strong>de</strong>x sont alors générés en exploitant l’ordre <strong>de</strong> parcours <strong>de</strong> l’éventail. Plus<br />
précisément, le <strong>de</strong>rnier somm<strong>et</strong> décodéétant v ′<br />
4, ils’agitalors<strong>de</strong>ssomm<strong>et</strong>sv ′<br />
5, v ′<br />
6 <strong>et</strong> v ′<br />
7, dontles<br />
correspondants dans le maillage initial sont v3, v7 <strong>et</strong> v6. Enfin, le <strong>de</strong>rnier bit <strong>de</strong> S2 étant égal à<br />
1, il s’agit encore d’un somm<strong>et</strong> déjà visité. Il suffit alors <strong>de</strong> consulter le <strong>de</strong>uxième in<strong>de</strong>x stocké<br />
dans I2, quiest4,pourdéduire qu’il s’agit du somm<strong>et</strong> v ′<br />
4 .L’éventail généré parledéco<strong>de</strong>ur<br />
est donc TF ′<br />
2 = {v′ 3 ,v′ 5 ,v′ 6 ,v′ 7 ,v′ 4 }.<br />
Pour le <strong>de</strong>rnier éventail TF3 <strong>de</strong> notre exemple, l’information <strong>de</strong> représentation à stocker est<br />
donnée par :
2.1 L’approche TFAN 41<br />
• d3 =3,<br />
•S3 = {1, 1, 0, 0}, <strong>et</strong><br />
•I3 = {7, 6}.<br />
En suivant le mêmeraisonnementquepourl’éventail TF2, ledéco<strong>de</strong>ur génère l’éventail<br />
TF ′<br />
3 = {v ′<br />
7,v ′<br />
6,v ′<br />
8,v ′<br />
9}.<br />
La Figure 2.3 illustre le maillage décodé obtenu en appliquant la procédure que nous venons<br />
<strong>de</strong> décrire. Notons qu’on r<strong>et</strong>rouve exactement le même maillage à une permutation près <strong>de</strong>s<br />
somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s triangles. L’information à co<strong>de</strong>r est constitué <strong>de</strong>séléments suivants :<br />
• trois entiers, représentant les <strong>de</strong>grés <strong>de</strong>s trois éventails considérés d1 =2,d2 =3<strong>et</strong><br />
d3 =2,chacuncodé sur <strong>de</strong>ux bits, soit un total <strong>de</strong> 6 bits,<br />
• 9bitsnécessaires pour spécifier les séquences binaires S2 = {1, 0, 0, 0, 1} <strong>et</strong> S3 = {1, 1, 0, 0},<br />
<strong>et</strong><br />
• 4 in<strong>de</strong>x entiers stockés dans I2 = {3, 4} <strong>et</strong> I3 = {7, 6}, chacun représenté sur 4 bits, pour<br />
un total <strong>de</strong> 16 bits.<br />
Le coût total <strong>de</strong> codage <strong>de</strong> la connectivité du maillage est donc réduit à31bits.<br />
Notons que le codage <strong>de</strong>s in<strong>de</strong>x entiers <strong>de</strong>s somm<strong>et</strong>s déjà décodés constitue la partie la plus<br />
coûteuse en débit <strong>de</strong> la représentation générée. Afin <strong>de</strong> réduire la quantité d’information allouée<br />
au codage <strong>de</strong>s in<strong>de</strong>x, nous proposons <strong>de</strong> choisir les centres <strong>de</strong>s éventails <strong>de</strong> façon déterministe<br />
en exploitant un parcours <strong>de</strong> voisin en voisin <strong>de</strong>s somm<strong>et</strong>s du maillage. Ce parcours sera<br />
exploité également pour la procédure<strong>de</strong>décomposition en éventails <strong>de</strong>s triangles du maillage<br />
(cf. Section 2.1.3). C<strong>et</strong>te stratégie perm<strong>et</strong> notamment <strong>de</strong> s’affranchir du codage <strong>de</strong> l’in<strong>de</strong>x du<br />
centre étant donné que l’ordre <strong>de</strong> parcours peut être reconstitué parledéco<strong>de</strong>ur sans besoin<br />
d’aucune information supplémentaire.<br />
Plus précisément, pour spécifier l’ensemble <strong>de</strong>s éléments à co<strong>de</strong>r pour chaque somm<strong>et</strong>, soit<br />
vi le somm<strong>et</strong> courant. Il s’agit alors <strong>de</strong> co<strong>de</strong>r :<br />
• N(i) lenombred’éventails <strong>de</strong> centre vi décrivant l’ensemble <strong>de</strong>s triangles non visités <strong>et</strong><br />
inci<strong>de</strong>nts à vi,<br />
• (d(i, n))n∈{1,...,N(i)} les <strong>de</strong>grés <strong>de</strong> ces éventails,<br />
• (S(i, n))n∈{1,...,N(i)} les séquences binaires décrivant les types (codés non codés) <strong>de</strong>s somm<strong>et</strong>s<br />
<strong>de</strong> chaque éventail,<br />
• (I(i, n))n∈{1,...,N(i)} la liste <strong>de</strong>s in<strong>de</strong>xes spécifiant les somm<strong>et</strong>s déjà visités correspondants.<br />
Le parcours proposé consiste à partir du premier somm<strong>et</strong> v1. Tous les triangles inci<strong>de</strong>nts<br />
à v1 sont décomposés en un ensemble d’éventails, comme décrit dans la Section 2.1.3. Le<br />
nombre N(1) <strong>de</strong>s éventails obtenus ainsi que leur <strong>de</strong>grés (d(i, n))n∈{1,...,N(i)} <strong>et</strong> les séquences<br />
(S(1,n))n∈{1,...,N(1)} <strong>et</strong> (I(1,n))n∈{1,...,N(1)} qui leur sont associées sont codés. L’ensemble <strong>de</strong>s<br />
triangles <strong>de</strong> ces éventails sont alors marqués comme traités (ou codés ou encore visités). Les<br />
somm<strong>et</strong>s non-visités <strong>de</strong>s éventails inci<strong>de</strong>nts à v1 sont ensuite visités à leur tour selon l’ordre<br />
<strong>de</strong> parcours propre àchaqueéventail. Ce processus est réitéré jusqu’à ce que l’ensemble <strong>de</strong>s<br />
somm<strong>et</strong>s du maillage soient visités.<br />
Illustrons c<strong>et</strong>te approche pour l’exemple <strong>de</strong> la Figure 2.2. Le premier somm<strong>et</strong> à visiter est<br />
v1. Unefoisvisité, il est tout <strong>de</strong> suite renommé env ′<br />
1. Ses triangles inci<strong>de</strong>nts peuvent être<br />
regroupés en un seul éventail TF1 =(v1,v8,v9,v2). Le nombre N(1) d’éventails inci<strong>de</strong>nts à v1<br />
est alors égale à1.Pourdécrire entièrement le premier éventail il suffit <strong>de</strong> stocker : N(1) = 1 <strong>et</strong><br />
d(1, 1) = 2. Les triangles t4 <strong>et</strong> t2 sont marqués comme codés <strong>et</strong> les somm<strong>et</strong>s <strong>de</strong> TF1 différents<br />
<strong>de</strong> v1 sont visités dans l’ordre <strong>de</strong> TF1 : v8, v9 <strong>et</strong> puis v2 <strong>et</strong> puis renommés respectivement en<br />
v ′<br />
2 , v′ 3 <strong>et</strong> v′ 4 .
42 Le codage TFAN<br />
Ala<strong>de</strong>uxième itération, on considère le somm<strong>et</strong> suivant non-visité dans la liste <strong>de</strong>s somm<strong>et</strong>s<br />
<strong>de</strong> TF1, quiestv8 (renommé env ′<br />
2) <strong>et</strong> qui <strong>de</strong>vient le somm<strong>et</strong> courant. Comme v ′<br />
2 n’a aucun<br />
triangle inci<strong>de</strong>nt non-codé, le nombre N(2) <strong>de</strong> ses éventails est mis à0.LavaleurN(2) = 0 est<br />
stockée <strong>et</strong> on passe au somm<strong>et</strong> suivant <strong>de</strong> l’éventail TF1 qui est v9.<br />
A la troisième itération, le somm<strong>et</strong> courant est donc v9 (renommé env ′<br />
3). Les triangles noncodés<br />
inci<strong>de</strong>nts à v9 sont décrits par l’éventail TF2 =(v9,v3,v7,v6,v2). N(3) est alors égale à<br />
1<strong>et</strong>le<strong>de</strong>gré<strong>de</strong>l’éventail d(3, 1) = 3. Les séquences S(3, 1) = {1, 0, 0, 0, 1} <strong>et</strong> I(3, 1) = {3, 4}<br />
sont calculées comme décrit précé<strong>de</strong>mment. Notons cependant que le déco<strong>de</strong>ur peut déduire<br />
directement à partir <strong>de</strong> l’ordre <strong>de</strong> parcours que v9 (qui est le centre <strong>de</strong> l’éventail) a déjà été<br />
visité <strong>et</strong> que son nouvel in<strong>de</strong>x est égale à3.Parconséquence, on peut éliminer <strong>de</strong> S(3, 1) <strong>et</strong><br />
I(3, 1) les informations relative à v9. De plus, au lieu <strong>de</strong> stocker directement le nouvel in<strong>de</strong>x<br />
du somm<strong>et</strong> v2, quiest4,onvaplutôt co<strong>de</strong>r l’in<strong>de</strong>x <strong>de</strong> ce somm<strong>et</strong> dans la liste L(3) <strong>de</strong>s voisins<br />
déjà visités <strong>de</strong> v9 (qui est la seule information disponible au niveau du déco<strong>de</strong>ur).<br />
Notons que les voisins <strong>de</strong> v9 ayant un ordre <strong>de</strong> parcours inférieur ont déjà tous leurs triangles<br />
visités. Par conséquent, ils ne peuvent plus intervenir dans la construction <strong>de</strong> nouveaux<br />
éventails. C<strong>et</strong>te observation nous conduit à ne pas les considérer lors <strong>de</strong> la construction <strong>de</strong> la<br />
liste L(3). Ainsi, seuls les voisins déjà visités <strong>de</strong> v9 <strong>et</strong> dont le nouvel ordre <strong>de</strong> parcours est<br />
supérieur à celui <strong>de</strong> v9 sont inclus dans L(3). La liste L(3) est également réordonnée selon le<br />
nouvel ordre <strong>de</strong> parcours (qui est le seul disponible au niveau du déco<strong>de</strong>ur) afin que le co<strong>de</strong>ur<br />
<strong>et</strong> le déco<strong>de</strong>ur r<strong>et</strong>rouvent exactement la même information. Dans notre cas, L(3) = {v ′<br />
4} <strong>et</strong> par<br />
conséquence on stocke la valeur 1. Au final, l’information associée au somm<strong>et</strong> v ′<br />
3 est : N(3) = 1,<br />
(2) d(3, 1) = 3 <strong>et</strong> les <strong>de</strong>ux séquences S ′<br />
(3, 1) = {0, 0, 0, 1} <strong>et</strong> I ′<br />
(3, 1) = {1}. Les triangles t3, t6<br />
<strong>et</strong> t5 sont marqués comme codés. Les somm<strong>et</strong>s v3, v7 <strong>et</strong> v6 sont renommés en v ′<br />
5, v ′<br />
6 <strong>et</strong> v ′<br />
7, puis<br />
visités àleurtour.<br />
A la quatrième <strong>et</strong> cinquième itérations, les somm<strong>et</strong>s v2 <strong>et</strong> v3 (renommés en v ′<br />
4 <strong>et</strong> v ′<br />
5) sont<br />
traités. Ici, comme pour v8, on stocke uniquement les valeurs N(4) = 0 <strong>et</strong> N(5) = 0 pour<br />
annoncer au déco<strong>de</strong>ur qu’aucun éventails ne doit être décodé.<br />
Alasixième itération, le somm<strong>et</strong> courant est v7 (renommé env ′<br />
6 ). TF3 =(v7,v5,v6) estle<br />
seul éventail <strong>de</strong> triangles inci<strong>de</strong>nt à v7. Pourledécrireonstocke:N(6) = 1, d(6, 1) = 1 <strong>et</strong> les<br />
<strong>de</strong>ux séquences S ′<br />
(6, 1) = {0, 1} <strong>et</strong> I ′<br />
(6, 1) = {1}. Le triangle t7 est marqué comme visité. Le<br />
somm<strong>et</strong> v5 est renommé env ′<br />
8 <strong>et</strong> ajouté à la liste <strong>de</strong>s somm<strong>et</strong>s à visiter.<br />
Alaseptième itération, le somm<strong>et</strong> courant est v6 (renommés en v ′<br />
7). TF4 =(v6,v5,v4) estle<br />
seul éventail <strong>de</strong> triangle inci<strong>de</strong>nt à v6. Pourledécrireonstocke:(1)N(7) = 1, (2) d(7, 1) = 1<br />
<strong>et</strong> les <strong>de</strong>ux séquences S ′<br />
(7, 1) = {1, 0} <strong>et</strong> I ′<br />
(7, 1) = {1}. Le triangle t1 est marqué comme<br />
visité. Le somm<strong>et</strong> v4 est renommé env ′<br />
9 <strong>et</strong> ajouté à la liste <strong>de</strong>s somm<strong>et</strong>s à visiter.<br />
Alahuitième <strong>et</strong> neuvième itérations, les somm<strong>et</strong>s v5 <strong>et</strong> v4 (renommés en v ′<br />
8 <strong>et</strong> v′ 9 )sont<br />
traités. Ici, comme pour v8, on stocke uniquement les valeurs N(8) = 0 <strong>et</strong> N(9) = 0 pour<br />
annoncer au déco<strong>de</strong>ur qu’aucun éventail ne doit être codé.<br />
Décrivons àprésent le processus <strong>de</strong> décodage d’une telle représentation. Au départ, le<br />
déco<strong>de</strong>ur crée automatiquement un premier somm<strong>et</strong> qu’il nommera v ′<br />
1 . En analysant, le nombre<br />
d’éventails inci<strong>de</strong>nts à v ′<br />
1 (i.e., N(1) = 1) <strong>et</strong> son <strong>de</strong>gré (i.e., d(1, 1) = 1), il déduit qu’il<br />
s’agit d’un seul éventail centré env ′<br />
1 <strong>de</strong> <strong>de</strong>gré 2. Cela lui perm<strong>et</strong> <strong>de</strong> reconstruire l’éventail<br />
TF ′<br />
1 = {v′ 1 ,v′ 2 ,v′ 3 ,v′ 4 }.Ledéco<strong>de</strong>ur ajoute également v′ 2 , v′ 3 <strong>et</strong> v′ 4 à la liste <strong>de</strong>s somm<strong>et</strong>s à<br />
visiter.<br />
Ala<strong>de</strong>uxième itération, le somm<strong>et</strong> à traiter est v ′<br />
2 . Comme N(2) = 0 aucun éventail ne<br />
doit être créé <strong>et</strong>ledéco<strong>de</strong>ur passe au somm<strong>et</strong> suivant qui est v ′<br />
3 .
2.1 L’approche TFAN 43<br />
A la troisième itération, le somm<strong>et</strong> courant est v ′<br />
3 .Eninterprétant N(3) = 1, d(3, 1) = 3 le<br />
déco<strong>de</strong>ur déduit qu’il doit reconstruire un éventail centré env3 <strong>de</strong> <strong>de</strong>gré 3.Grâce àlaséquence<br />
S ′<br />
3 = {0, 0, 0, 1}, ildéduit que les trois premiers somm<strong>et</strong>s <strong>de</strong> l’éventail sont nouveaux <strong>et</strong> le<br />
quatrième somm<strong>et</strong> a déjà été visité. Les nouveaux somm<strong>et</strong>s sont créés <strong>et</strong> nommés v ′<br />
5 , v′ 6 <strong>et</strong> v′ 7 .<br />
Afin <strong>de</strong> déterminer l’in<strong>de</strong>x du quatrième somm<strong>et</strong>, le déco<strong>de</strong>ur construit la liste triée (selon le<br />
nouvel ordre) L(3) <strong>de</strong>s voisins déjà visités <strong>de</strong> v ′<br />
3 <strong>et</strong> dont l’ordre <strong>de</strong> parcours est supérieur à<br />
celui <strong>de</strong> v ′<br />
′<br />
3 .Ici,L(3) = {v′ 4 }. En exploitant l’in<strong>de</strong>x stocké dansI 3 ,quiest1,ledéco<strong>de</strong>ur sait<br />
qu’il doit récupérer le premier élément <strong>de</strong> L(3). Par conséquent, le quatrième somm<strong>et</strong> est v ′<br />
4.<br />
Enfin, le déco<strong>de</strong>ur reconstruit l’éventail TF ′<br />
2 = {v′ 3 ,v′ 5 ,v′ 6 ,v′ 7 ,v′ 4 }. Les somm<strong>et</strong>s v′ 5 , v′ 6 <strong>et</strong> v′ 7 sont<br />
également ajoutés à la liste <strong>de</strong>s somm<strong>et</strong>s à visiter.<br />
En suivant le même raisonnement, le déco<strong>de</strong>ur déco<strong>de</strong> les éventails TF3 =(v ′<br />
6 ,v′ 8 ,v′ 7 )<strong>et</strong><br />
TF4 =(v ′<br />
7,v ′<br />
8,v ′<br />
9) <strong>et</strong> reconstruit ainsi l’ensemble <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s triangles du maillage<br />
considéré.<br />
En résumé, les éléments d’information associés à c<strong>et</strong>te nouvelle représentation sont les<br />
suivants :<br />
– La liste <strong>de</strong>s nombre d’éventails pour chaque somm<strong>et</strong> (i.e., N(1) = 1, N(2) = 0...) qui est<br />
codée sur 9 bits,<br />
–Les<strong>de</strong>grés <strong>de</strong>s éventails (i.e., d(1, 1) = 2, d(3, 1) = 3, d(6, 1) = 1 <strong>et</strong> d(7, 1) = 1) codés<br />
sur 8 bits,<br />
–lesséquences <strong>de</strong>s types <strong>de</strong> somm<strong>et</strong>s (i.e., S ′<br />
(3, 1) = {0, 0, 0, 1}, S ′<br />
(6, 1) = {0, 1} <strong>et</strong><br />
S ′<br />
(7, 1) = {1, 0}) codées sur 8 bits, <strong>et</strong><br />
–lesséquences <strong>de</strong>s in<strong>de</strong>xes relatifs (i.e., I ′<br />
codées sur 3 bits.<br />
(3, 1) = {1}, I ′<br />
(6, 1) = {1} <strong>et</strong> I ′<br />
(7, 1) = {1})<br />
Le coût total <strong>de</strong> stockage <strong>de</strong> c<strong>et</strong>te nouvelle représentation est alors <strong>de</strong> 28 bits.<br />
Figure 2.3 : Maillage reconstruit à partir <strong>de</strong> la représentation du maillage par éventails <strong>de</strong><br />
triangles.<br />
L’approche proposée est formalisée pour le cas général dans la section suivante.
44 Le codage TFAN<br />
2.1.3 Algorithme <strong>de</strong> codage : construction <strong>de</strong> la représentation TFAN<br />
Dans le cas général, le schéma global <strong>de</strong> fonctionnement <strong>de</strong> l’approche <strong>de</strong> codage TFAN<br />
peut être décrit comme suit. Au départ, les ensembles <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s triangles du maillage<br />
sont considérés comme non-visités (ou non-parcourus). Le co<strong>de</strong>ur TFAN exploite une structure<br />
<strong>de</strong> file F pour stocker les somm<strong>et</strong>s du maillage. Au départ la file F est alimentée par le premier<br />
somm<strong>et</strong> non-visité.<br />
Achaqueitération, un somm<strong>et</strong> est extrait <strong>de</strong> F. Soitvj le somm<strong>et</strong> extrait à l’itération j. Le<br />
somm<strong>et</strong> vj est marqué alors comme visité, son nouvel ordre <strong>de</strong> parcours est stocké dansO(vj)<br />
<strong>et</strong> les triangles non-visités qui lui sont inci<strong>de</strong>nts sont décomposés en un ensemble d’éventails.<br />
Notons que plusieurs stratégies sont possibles pour décomposer les triangles inci<strong>de</strong>nts à vj en<br />
une séquence d’éventails. Dans ce travail, nous avons adopté une approche itérative, décrite<br />
ci-<strong>de</strong>ssous.<br />
Achaqueétape, un éventail TFn(j) estcréé en partant du triangle t0 ayant le minimum<br />
<strong>de</strong> triangles voisins (i.e., triangles qui partagent une arête avec t0) non-visités <strong>et</strong> <strong>de</strong> même<br />
orientation que le triangle t0. Le triangle t0 est ensuite ajouté à TFn(j) <strong>et</strong>marqué comme<br />
visité. Si t0 a <strong>de</strong>s voisins non-visités <strong>de</strong> même orientation alors un voisin t1 est choisi au<br />
hasard, ajouté à TFn(j) <strong>et</strong>marqué comme visité. La même opération est ensuite appliquée<br />
à t1. Ce processus est réitéré jusqu’àépuisement <strong>de</strong>s triangles voisins <strong>de</strong> même orientation <strong>et</strong><br />
non visités. S’il reste <strong>de</strong>s triangles inci<strong>de</strong>nts à vj, encore non visités, alors un nouvel éventail<br />
est construit en partant encore une fois du triangle qui a un nombre minimal <strong>de</strong> voisins non<br />
visités <strong>et</strong> <strong>de</strong> même orientation.<br />
Soient :<br />
–(TFn(j))n∈{1,...,N(j)} l’ensemble <strong>de</strong>s N(j) éventails <strong>de</strong> triangles associés à vj,<br />
– {vj,w n j (1),wn j (2),...,wn j (d(j, n)+1)} les somm<strong>et</strong>s ordonnés <strong>de</strong> l’éventail TFn(j)<strong>et</strong>d(j, n)<br />
son <strong>de</strong>gré.<br />
Notons par L(j) la liste <strong>de</strong>s somm<strong>et</strong>s partageant avec vj au moins un triangle visité du<br />
maillage <strong>et</strong> ayant un ordre <strong>de</strong> parcours supérieur à celui <strong>de</strong> vj. La liste L(j) est triée selon un<br />
ordre croissant en considérant la relation d’ordre suivante :<br />
∀{w1,w2} ∈L(j), w1
2.1 L’approche TFAN 45<br />
Une fois tous les somm<strong>et</strong>s <strong>de</strong> TFn(j) traités, ses triangles sont marqués comme visités <strong>et</strong><br />
le processus ré-itéré jusqu’à ce que tous les somm<strong>et</strong>s du maillage soient visités. Si la file F<br />
<strong>de</strong>vient vi<strong>de</strong> <strong>et</strong> que tous les somm<strong>et</strong>s ne sont pas encore visités, alors le premier somm<strong>et</strong> non<br />
visité estajoutéà F, puis le processus est réitéré.<br />
En conclusion, l’information nécessaire pour représenter <strong>de</strong> manière complète la connectivité<br />
du maillage est composée <strong>de</strong>s éléments suivants :<br />
• Le nombre V <strong>de</strong> somm<strong>et</strong> du maillage,<br />
• La séquence (N(j))j∈{1,...,V } indiquant pour chaque somm<strong>et</strong> j le nombre <strong>de</strong>s éventails <strong>de</strong><br />
triangles qui lui sont inci<strong>de</strong>nts,<br />
• La séquence (d(j, n)) n∈{1,...,N(j)}<br />
j décrivant les <strong>de</strong>grés <strong>de</strong> tous les éventails <strong>de</strong> triangles,<br />
• La séquence <strong>de</strong>s files (S(j, n)) n∈{1,...,N(j)}<br />
j<br />
somm<strong>et</strong>s déjà visités,<br />
• La séquence <strong>de</strong>s files d’in<strong>de</strong>x I(j, n) n∈{1,...,N(j)}<br />
j<br />
m<strong>et</strong>s déjà visités <strong>de</strong>s séquences (S(j, n)) n j .<br />
indiquant pour chaque éventail l’ensemble <strong>de</strong>s<br />
qui perm<strong>et</strong> d’i<strong>de</strong>ntifier les in<strong>de</strong>x <strong>de</strong>s som-<br />
L’algorithme <strong>de</strong> codage TFAN que nous venons <strong>de</strong> décrire est représenté en pseudo-co<strong>de</strong> Figure<br />
2.4.
46 Le codage TFAN<br />
Nom: Co<strong>de</strong>ur TFAN<br />
Role: Co<strong>de</strong>r la connectivité d’un maillage triangulaire<br />
Entrée: Liste <strong>de</strong>s triangles d’un maillage<br />
Sortie: V ,(N(j)) j∈{1,...,V }, (d(j, n)) n∈{1,...,N(j)}<br />
j∈{1,...,V } ,(S(j, n)) n∈{1,...,N(j)}<br />
j∈{1,...,V } , I(j, n) n∈{1,...,N(j)}<br />
j∈{1,...,V }<br />
Entrée/Sortie:<br />
Déclaration:<br />
début<br />
F←{}<br />
ordreVisite ← 1<br />
j ← 0<br />
pour h ←1 à V faire<br />
si (le somm<strong>et</strong> vh non visité) alors<br />
F.PushBack(vh)<br />
MarquerCommeVisité(vh)<br />
O(vh) ← ordreVisite++<br />
tant que (F non vi<strong>de</strong>) faire<br />
j ++<br />
vj ←F.PopFirst()<br />
L(j) ←F.CalculerListeOrdonnéeDesVoisinsVisités()<br />
(TFn(j)) n∈{1,...,N(j)} ← DecompositionEnEnventailsDeTriangles(j)<br />
pour n ←1 à N(j) faire<br />
pour k ←1 à 1+d(j, n) faire<br />
si (le somm<strong>et</strong> wn j (k) nonvisité) alors<br />
(k) ← 0<br />
sn j<br />
MarquerCommeVisité(wn j (k))<br />
L(j).PushBack(wn j (k))<br />
O(wn j (k)) ← ordreVisite++<br />
F.PushBack(wn j (k))<br />
sinon<br />
sn j (k) ← 1<br />
si (wn j (k) ∈L(j)) alors<br />
μn j (k) ←L(j).TrouverIn<strong>de</strong>x(wn j (k))<br />
I(j, n).PushBack(μn j (k))<br />
sinon<br />
I(j, n).PushBack(O(vj) − O(wn j (k))<br />
finsi<br />
finsi<br />
finpour<br />
MarquerLesTrianglesCommeVisités(TFn(j))<br />
finpour<br />
fintantque<br />
finsi<br />
finpour<br />
fin<br />
Figure 2.4 : Algorithme <strong>de</strong> codage <strong>de</strong> l’approche TFAN.<br />
Un exemple <strong>de</strong> construction <strong>de</strong> la représentation TFAN est proposé dans l’Annexe A.<br />
Détaillons àprésent l’algorithme <strong>de</strong> décodage <strong>de</strong> la représentation TFAN.
2.1 L’approche TFAN 47<br />
2.1.4 Decodage <strong>de</strong> la représentation TFAN<br />
Le déco<strong>de</strong>ur TFAN reconstruit la connectivité du maillage en décodant successivement<br />
l’ensemble <strong>de</strong>s éventails <strong>de</strong> triangles. Notons, que les somm<strong>et</strong>s du maillage sont parcourus dans<br />
le même ordre que celui établie lors du processus <strong>de</strong> codage. L’algorithme <strong>de</strong> décodage TFAN,<br />
décrit en pseudo-co<strong>de</strong>, est présenté Figure 2.5.<br />
Achaqueitération j, leséventails <strong>de</strong> triangles non-décodés (TFn(j))n∈{1,...,N(j)} inci<strong>de</strong>nts<br />
au somm<strong>et</strong> courant j sont reconstruits comme suit. Tout d’abord, la liste ordonnée L(j) <strong>de</strong>s<br />
somm<strong>et</strong>s voisins <strong>de</strong> vj <strong>et</strong> ayant un in<strong>de</strong>x supérieur est calculée <strong>et</strong> le nombre d’éventails àdéco<strong>de</strong>r<br />
N(j) estluàpartir du flux binaire. Les éventails sont générés successivement dans l’ordre <strong>de</strong><br />
leur codage. Afin <strong>de</strong> reconstruire l’éventail TFn(j), le déco<strong>de</strong>ur lit à partir du flux binaire les<br />
éléments suivants :<br />
• Le <strong>de</strong>gré d(j, n) <strong>de</strong>l’éventail,<br />
• La file S(j, n) indiquant l’ensemble <strong>de</strong>s somm<strong>et</strong>s déjà visités, <strong>et</strong><br />
• La file d’in<strong>de</strong>x I(j, n).<br />
Au départ, l’éventail TFn(j) contient uniquement le somm<strong>et</strong> j. Les autres somm<strong>et</strong>s sont ajoutés<br />
successivement dans l’ordre <strong>de</strong> leur codage. Notons par wn j (k) lek-èmesomm<strong>et</strong><strong>de</strong>l’éventail.<br />
Afin <strong>de</strong> déterminer s’il s’agit d’un nouveau somm<strong>et</strong> ou d’un somm<strong>et</strong> déjà décodé, le déco<strong>de</strong>ur<br />
TFAN extrait <strong>de</strong> la liste S(j, n), un bit sn j (k) associé au somm<strong>et</strong> wn j (k).<br />
Si sn j (k) = 0, alors wn j (k) est un nouveau somm<strong>et</strong>. Il est donc créé, en lui assignant un<br />
in<strong>de</strong>x égal à son ordre <strong>de</strong> visite. C<strong>et</strong> in<strong>de</strong>x est ensuite ajouté à TFn(j) ainsi qu’à lalisteL(j).<br />
L’ordre <strong>de</strong> parcours est enfin incrémenté <strong>de</strong>1.<br />
Dans le cas contraire (i.e., sn j (k) = 1), le somm<strong>et</strong> wn j (k) esti<strong>de</strong>ntifiécomme ancien (i.e.<br />
déjà décodé/visité). Afin <strong>de</strong> déduire son in<strong>de</strong>x, le déco<strong>de</strong>ur extrait le premier élément μn j (k)<br />
<strong>de</strong> la liste I(j, n). Si μ n j (k) > 0, l’in<strong>de</strong>x du somm<strong>et</strong> wn j<br />
(k) est obtenu en accédant àl’élément<br />
μ n j (k) <strong>de</strong>L(j). Dans le cas contraire (i.e., μ n j (k) < 0), alors l’in<strong>de</strong>x <strong>de</strong> w n j (k) est(j − μ n j (k)).<br />
Dans les <strong>de</strong>ux cas, l’in<strong>de</strong>x calculé estajoutéà TFn(j).
48 Le codage TFAN<br />
Nom: Déco<strong>de</strong>ur TFAN<br />
Role: Déco<strong>de</strong>r la connectivité d’un maillage triangulaire<br />
Entrée: V ,(N(j)) j∈{1,...,V }, (d(j, n)) n∈{1,...,N(j)}<br />
j∈{1,...,V } ,(S(j, n)) n∈{1,...,N(j)}<br />
j∈{1,...,V } , I(j, n) n∈{1,...,N(j)}<br />
j∈{1,...,V }<br />
Sortie: Liste <strong>de</strong>s triangles d’un maillage<br />
Entrée/Sortie:<br />
Déclaration:<br />
début<br />
ordreVisite ← 1<br />
pour j ←1 à V faire<br />
si (j = ordreVisite) alors<br />
ordreVisite++<br />
finsi<br />
L(vj) ←F.CalculerListeOrdonnéeDesVoisins()<br />
lire(N(j))<br />
pour n ←1 à N(j) faire<br />
lire(d(j, n))<br />
lire(S(j, n))<br />
lire(I(j, n))<br />
TFn(j) ←{j}<br />
pour k ←1 à 1+d(j, n) faire<br />
sn j (k) ←S(j, n).PopFirst()<br />
si (sn j (k) =0)alors<br />
TFn(j).PushBack(ordreVisite)<br />
L(j).PushBack(ordreVisite)<br />
ordreVisite++<br />
sinon<br />
μn j (k) ←I(j, n).PopFirst()<br />
si (μn j (k) > 0) alors<br />
TFn(j).PushBack(L(j)(μn j (k)))<br />
sinon<br />
TFn(j).PushBack(j − μn j (k))<br />
finsi<br />
finsi<br />
finpour<br />
finpour<br />
finpour<br />
fin<br />
Figure 2.5 : Algorithme<strong>de</strong>décodage <strong>de</strong> la représentation TFAN.<br />
2.1.5 <strong>Compression</strong> <strong>de</strong> la représentation TFAN<br />
Afin <strong>de</strong> compresser la représentation TFAN, il est nécessaire <strong>de</strong> co<strong>de</strong>r <strong>de</strong> façon compacte<br />
pour chaque éventail TFn(j), son <strong>de</strong>gré d(j, n) ainsi que les <strong>de</strong>ux listes S(j, n) <strong>et</strong>I(j, n). Bien<br />
naturellement, il est tout à fait possible <strong>de</strong> co<strong>de</strong>r directement chacune <strong>de</strong> ces informations<br />
en exploitant un co<strong>de</strong>ur arithmétique. Toutefois, afin d’optimiser encore plus la métho<strong>de</strong> <strong>de</strong><br />
codage TFAN, nous proposons <strong>de</strong> distinguer les neuf configurations qui sont en pratique les plus<br />
fréquentes (cf. Section 2.3.3) <strong>et</strong> <strong>de</strong> leur associer <strong>de</strong>s représentations plus compactes. Pour rester<br />
générique <strong>et</strong> prendre en compte tous les autres cas, une dixième configuration est introduite.<br />
Ellecorrespondaucasoùl’ensemble <strong>de</strong>s informations d(j, n), S(j, n) <strong>et</strong>I(j, n) estcodé.<br />
Soit C(j, n)lenuméro <strong>de</strong> la configuration associée àl’éventail TFn(j). Le tableau 2.1 résume
2.1 L’approche TFAN 49<br />
les dix configurations r<strong>et</strong>enues par l’approche TFAN, illustrés Figure 2.6.<br />
Les configurations déterminées sont finalement codées à l’ai<strong>de</strong> du co<strong>de</strong>ur arithmétique adaptatif<br />
[68] afin <strong>de</strong> tenir compte <strong>de</strong> leurs propriétés statistiques.<br />
Configuration Information initiale Information codée<br />
C(j, n) =1 d(j, n), S(j, n) ={1, 0, 0, ..., 0, 0, 1}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={1, 2}<br />
C(j, n) =1<strong>et</strong>d(j, n)<br />
C(j, n) =2 d(j, n), S(j, n) ={1, X, X, ..., X, X, 1}<br />
<br />
1+d(j,n)<br />
<strong>et</strong> I(j, n) ={1,X,X,X,2}<br />
C(j, n) = 2, d(j, n),<br />
S ′ (j, n) ={X, X, ..., X, X}<br />
<strong>et</strong><br />
<br />
d(j,n)−1<br />
I ′ (j, n) ={X, X, X}<br />
C(j, n) =3 d(j, n), S(j, n) ={0, 0, 0, ..., 0, 0, 1}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={1}<br />
C(j, n) =3<strong>et</strong>d(j, n)<br />
C(j, n) =4 d(j, n), S(j, n) ={0, 0, 0, ..., 0, 0, 1}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={2}<br />
C(j, n) =4<strong>et</strong>d(j, n)<br />
C(j, n) =5 d(j, n), S(j, n) ={1, 0, 0, ..., 0, 0, 0}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={1}<br />
C(j, n) =5<strong>et</strong>d(j, n)<br />
C(j, n) =6 d(j, n), S(j, n) ={1, 0, 0, ..., 0, 0, 0}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={2}<br />
C(j, n) =6<strong>et</strong>d(j, n)<br />
C(j, n) =7 d(j, n), S(j, n) ={0, 0, 0, ..., 0, 0, 0}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={}<br />
C(j, n) =7<strong>et</strong>d(j, n)<br />
C(j, n) =8 d(j, n), S(j, n) ={1, 0, 0, ..., 0, 0, 1}<br />
<strong>et</strong><br />
<br />
1+d(j,n)<br />
I(j, n) ={2, 1}<br />
C(j, n) =8<strong>et</strong>d(j, n)<br />
C(j, n) =9 d(j, n), S(j, n) ={1, X, X, ..., X, X, 1}<br />
<br />
1+d(j,n)<br />
<strong>et</strong> I(j, n) ={2,X,X,X,1}<br />
C(j, n) = 9, d(j, n),<br />
S ′ (j, n) ={X, X, ..., X, X}<br />
<strong>et</strong><br />
<br />
d(j,n)−1<br />
I ′ (j, n) ={X, X, X}<br />
C(j, n) =10 d(j, n), S(j, n) = {X, X, ..., X, X, X}<br />
<br />
1+d(j,n)<br />
<strong>et</strong> I(j, n) ={X, X, X, X, X}<br />
C(j, n) = 10, d(j, n),<br />
S ′ (j, n) ={X, X, ..., X, X, X}<br />
<br />
1+d(j,n)<br />
<strong>et</strong> I ′ (j, n) ={X, X, X, X, X}<br />
Table 2.1 : Les dix configurations TFAN (X représente une valeur arbitraire).
50 Le codage TFAN<br />
(a) Configuration 1 (b) Configuration 2 (c) Configuration 3<br />
(d) Configuration 4 (e) Configuration 5 (f) Configuration 6<br />
(g) Configuration 7 (h) Configuration 8 (i) Configuration 9<br />
(j) Configuration 10 (k) Légen<strong>de</strong><br />
Figure 2.6 : Exemples <strong>de</strong>s dix configurations considérées par TFAN.<br />
Cela complète la <strong>de</strong>scription <strong>de</strong> l’approche <strong>de</strong> codage TFAN, qui perm<strong>et</strong> <strong>de</strong> représenter<br />
d’une manière compacte <strong>et</strong> sans perte d’information la connectivité d’un maillage <strong>3D</strong> <strong>de</strong> topologie<br />
arbitraire.<br />
Investiguons àprésent comment la métho<strong>de</strong> TFAN répond aux autres fonctionnalités nécessaires<br />
lorsqu’on considère la problématique <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>, comme le codage avec
2.2 Propriétés <strong>de</strong> l’approche TFan 51<br />
préservation <strong>de</strong> l’ordre <strong>de</strong>s somm<strong>et</strong>s/triangles <strong>et</strong> le codage <strong>de</strong>s attributs géométriques <strong>et</strong> photométriques.<br />
2.1.6 Préservation <strong>de</strong> l’ordre <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s fac<strong>et</strong>tes<br />
Certains standards <strong>de</strong> représentation <strong>3D</strong> (e.g. VRML <strong>et</strong> MPEG) perm<strong>et</strong>tent aux obj<strong>et</strong>s<br />
(également appelés noeuds) d’une scène <strong>3D</strong> <strong>de</strong> réutiliser ou <strong>de</strong> m<strong>et</strong>tre à jour <strong>de</strong>s champs d’autres<br />
noeuds <strong>de</strong> la scène. A titre d’exemple, l’animation par modèle <strong>de</strong> peau (skinning)spécifiée par le<br />
standard MPEG-4/AFX-BBA [69] définit un noeud <strong>de</strong> type SMS (Skel<strong>et</strong>on, Muscle and Skin)<br />
qui perm<strong>et</strong> <strong>de</strong> m<strong>et</strong>tre à jour (au cours du temps) les positions <strong>de</strong>s somm<strong>et</strong>s d’un maillage <strong>3D</strong><br />
(représenté par un noeud <strong>de</strong> type In<strong>de</strong>xed Face S<strong>et</strong> -IFS)<strong>de</strong>lascène pour l’animer. L’animation<br />
BBA associe alors aux somm<strong>et</strong>s du maillage un certain nombre d’éléments d’information [69]<br />
décrivant le modèle d’animation sous-jacent. Notons cependant que lors <strong>de</strong> la compression <strong>de</strong><br />
la scène <strong>3D</strong>, les <strong>de</strong>ux noeuds IFS <strong>et</strong> SMS sont codés <strong>de</strong> façon indépendante. Ainsi, si on change<br />
l’ordre <strong>de</strong>s somm<strong>et</strong>s ou <strong>de</strong>s triangles du maillage statique, le noeud SMS ne sera pas mis àjour<br />
pour tenir compte d’une telle permutation. Comme discuté dans [70], cela peut conduire à une<br />
mauvaise interprétation du flux décodé.<br />
Afin d’assurer la cohérence <strong>de</strong> ces représentations hétérogènes, la préservation <strong>de</strong> l’ordre<br />
<strong>de</strong> codage initial <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s triangles est indispensable. Le co<strong>de</strong>ur TFAN perm<strong>et</strong> <strong>de</strong><br />
supporter c<strong>et</strong>te fonctionnalité en codant <strong>de</strong>ux nouvelles composantes qui décrivent pour chaque<br />
somm<strong>et</strong> (respectivement triangle) sa position dans la liste <strong>de</strong>s somm<strong>et</strong>s (respectivement triangles)<br />
<strong>de</strong> la représentation initiale. Ces positions, qui sont représentées par <strong>de</strong>s entiers positifs,<br />
sont linéairement prédites (i.e. prédiction <strong>de</strong>lta) <strong>et</strong> codées à l’ai<strong>de</strong> du co<strong>de</strong>ur arithmétique [68].<br />
2.1.7 Codage <strong>de</strong> la géométrie du maillage<br />
La décomposition en éventails <strong>de</strong> triangles est également exploitée afin d’assurer une prédiciton<br />
efficace <strong>et</strong> <strong>de</strong> faible coût <strong>de</strong> calcul <strong>de</strong>s positions <strong>et</strong> <strong>de</strong>s attributs associés aux somm<strong>et</strong>s du<br />
maillage. Comme dans [3], nous proposons d’exploiter la règle <strong>de</strong> prédiction du “paraléllogramme”<br />
en l’appliquant aux somm<strong>et</strong>s <strong>de</strong> chaque éventail TF = {v0,v1,v2, ..., vd+1} <strong>de</strong> la représentation<br />
TFAN considérée. Les erreurs résiduelles <strong>de</strong> prédiction sont codées en appliquant le co<strong>de</strong>ur<br />
arithmétique [68].<br />
La même stratégie peut être exploitée pour co<strong>de</strong>r les autres attributs associés aux somm<strong>et</strong>s<br />
du maillage (e.g., couleur, coordonnées <strong>de</strong> textures, normales...). Toutefois, dans le cas <strong>de</strong>s<br />
normales <strong>et</strong> <strong>de</strong>s couleurs, la prédiction par la règle du “parallélogramme” est remplacée par<br />
une simple prédiction <strong>de</strong>lta qui donne en pratique <strong>de</strong> meilleurs résultats [1].<br />
2.2 Propriétés <strong>de</strong> l’approche TFan<br />
2.2.1 Complexité <strong>de</strong>calcul<br />
La complexité <strong>de</strong> calcul du co<strong>de</strong>ur TFAN est linéaireaveclenombre<strong>de</strong>ssomm<strong>et</strong>s(Figure<br />
2.4). L’étape la plus coûteuse en temps <strong>de</strong> calcul est la construction <strong>de</strong>s éventails <strong>de</strong> triangles,<br />
qui nécessite <strong>de</strong> déterminer les relations d’adjacence entre les somm<strong>et</strong>s <strong>et</strong> les triangles du<br />
maillage.
52 Le codage TFAN<br />
La complexité <strong>de</strong> l’algorithme <strong>de</strong> décodage TFAN (Figure 2.5) est également linéaireavecle<br />
nombre <strong>de</strong> somm<strong>et</strong>s, le nombre d’itérations <strong>de</strong> l’algorithme étant égal au nombre <strong>de</strong> somm<strong>et</strong>s<br />
V .Toutefois,ledécodage TFAN est n<strong>et</strong>tement plus rapi<strong>de</strong> (20 fois plus rapi<strong>de</strong>) que le codage<br />
étant donné que la connectivité du maillage, représentée sous forme d’éventails <strong>de</strong> triangles,<br />
est générée àlavolée en une seule passe.<br />
2.2.2 Rendu temps réel<br />
La représentation <strong>de</strong> la connectivité d’un maillage par éventails <strong>de</strong> triangles est supportée<br />
par la majorité <strong>de</strong>sstandards<strong>de</strong>représentation <strong>3D</strong> (e.g., COLLADA 2 ) <strong>et</strong> <strong>de</strong>s librairies logicielles<br />
<strong>de</strong> rendu <strong>3D</strong> (e.g., OpenGL 3 <strong>et</strong> DirectX 4 ). Une telle représentation est adaptée au<br />
rendu temps réel <strong>de</strong> maillage <strong>3D</strong> puisqu’elle minimise la quantité d’information envoyée àla<br />
carte graphique [17]. Par conséquent, afficher directement la sortie du co<strong>de</strong>ur TFAN perm<strong>et</strong><br />
<strong>de</strong> bénéficier <strong>de</strong>s accélérations matérielles optimisées pour la représentation par éventails <strong>de</strong><br />
triangles.<br />
2.2.3 Capacité <strong>de</strong>mémoire nécessaire<br />
Au niveau du co<strong>de</strong>ur, l’espace mémoire nécessaire pour le stockage <strong>de</strong>s relations d’adjacences<br />
entre les somm<strong>et</strong>s <strong>et</strong> les triangles du maillage est linéaireaveclenombre<strong>de</strong>somm<strong>et</strong>s.Pour<br />
chaque somm<strong>et</strong> (respectivement triangle) la liste <strong>de</strong> ses somm<strong>et</strong>s (respectivement triangles),<br />
voisins est stockée sous forme d’un tableau <strong>de</strong> listes (i.e., chaqueélément du tableau est une<br />
liste chaînée).<br />
Au niveau du déco<strong>de</strong>ur, seules les listes <strong>de</strong>s triangles inci<strong>de</strong>nts aux somm<strong>et</strong>s créés <strong>et</strong> non<br />
traités (cf. Section 2.1.4) sont nécessaires pour le décodage du somm<strong>et</strong> en cours. En pratique, le<br />
nombre <strong>de</strong> ces somm<strong>et</strong>s est n<strong>et</strong>tement inférieur à celui du nombre V <strong>de</strong>s somm<strong>et</strong>s du maillage<br />
comme démontré dans la section 2.3. Par conséquent, l’espace mémoire nécessaire est n<strong>et</strong>tement<br />
réduit (uniquement 2% <strong>de</strong>s somm<strong>et</strong>s sont stockés en mémoire), ce qui perm<strong>et</strong> une implantation<br />
matérielle efficace <strong>de</strong> l’algorithme.<br />
Afin d’évaluer les performances <strong>de</strong> l’approche TFAN proposée, nous avons considéré l’application<br />
liée au proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> qui concerne la compression <strong>de</strong> données CAO<br />
pour <strong>de</strong>s objectifs <strong>de</strong> transmission <strong>et</strong> d’accès à distance.<br />
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<br />
<strong>3D</strong><br />
RENAULT, le premier constructeur automobile français souhaite développer <strong>et</strong> exploiter<br />
un système d’information <strong>et</strong> <strong>de</strong> communication, en environnement noma<strong>de</strong> hétérogène, afin<br />
<strong>de</strong> rendre plus opérationnels les services <strong>de</strong> maintenance <strong>de</strong>s véhicules (diffusion <strong>de</strong> la documentation<br />
technique, recherche d’informations nécessaires à une intervention, i<strong>de</strong>ntification <strong>de</strong><br />
pannes...). Pour répondre à ces besoins, le proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 5 - Service d’Echange<br />
2. http ://www.collada.org<br />
3. www.opengl.org<br />
4. http ://msdn.microsoft.com/directX<br />
5. http ://liris.cnrs.fr/semantic-3d/
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 53<br />
<strong>et</strong> <strong>de</strong> MANipulation (Tatouage, In<strong>de</strong>xation <strong>et</strong> <strong>Compression</strong>) pour les obj<strong>et</strong>s <strong>3D</strong> - s’est proposé<br />
à:<br />
• élaborer <strong>de</strong> nouvelles approches <strong>de</strong> (dé)codage d’obj<strong>et</strong>s graphiques <strong>3D</strong>,<br />
• développer <strong>de</strong>s interfaces utilisateurs àbase<strong>de</strong>réalité virtuelle pour simplifier l’accès aux<br />
divers contenus,<br />
• sécuriser les échanges <strong>de</strong> données.<br />
Dans ce cadre, la création <strong>de</strong> techniques <strong>de</strong> compression efficaces capables <strong>de</strong> s’adapter aux<br />
spécificités topologiques <strong>et</strong> géométriques <strong>de</strong>s données CAO ainsi qu’aux ressources <strong>de</strong>s réseaux<br />
<strong>et</strong> terminaux joue un rôle central.<br />
2.3.1 Corpus <strong>de</strong> test SEMANTIC-<strong>3D</strong><br />
Le corpus <strong>de</strong> test du proj<strong>et</strong> SEMANTIC-<strong>3D</strong> est constitué <strong>de</strong> plus <strong>de</strong> 4000 <strong>maillages</strong> <strong>3D</strong><br />
<strong>de</strong> complexité <strong>et</strong> <strong>de</strong> taille variables, au format VRML 2.0, correspondant à divers types <strong>de</strong><br />
pièces (éléments <strong>de</strong> moteur, <strong>de</strong> sellerie, d’électricité, <strong>de</strong> carrosserie, <strong>de</strong> fixation...) d’une voiture<br />
Renault Laguna (Figure 2.7).<br />
Figure 2.7 : Quelques modèles CAO <strong>3D</strong> du corpus SEMANTIC-<strong>3D</strong>.<br />
La gran<strong>de</strong> majorité <strong>de</strong>s approches <strong>de</strong> compression <strong>3D</strong> (cf. chapitre 1.4) s’applique uniquement<br />
à <strong>de</strong>s maillage <strong>de</strong> type manifold. Les techniques <strong>de</strong> codage par traversée <strong>de</strong> graphes co<strong>de</strong>nt<br />
<strong>de</strong> façon indépendante chaque composante connexe. Les approches <strong>de</strong> codage par valence [3, 7]<br />
supposent que les valences <strong>de</strong>s somm<strong>et</strong>s du maillage sont distribuées <strong>de</strong> façon compacte autour<br />
<strong>de</strong> la valeur 6 ce qui perm<strong>et</strong> <strong>de</strong> les co<strong>de</strong>r <strong>de</strong> façon efficace en exploitant un codage arithmétique.<br />
Les approches spectrales [52] <strong>et</strong> celles <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes [62, 64] sont optimisées pour<br />
<strong>de</strong>s <strong>maillages</strong> <strong>de</strong>nses (avec un nombre important <strong>de</strong> somm<strong>et</strong>s par composante connexe) <strong>et</strong> à<br />
géométrie lisse (i.e., lesignal<strong>de</strong>géométrie comporte <strong>de</strong> fortes corrélations spatiales), obtenus<br />
par scanners <strong>3D</strong>.<br />
Afin <strong>de</strong> vérifier si <strong>de</strong> telles hypothèses sont vérifiées par les données CAO, nous proposons<br />
d’analyser les propriétés topologiques <strong>de</strong>s <strong>maillages</strong> issus <strong>de</strong> la CAO. C<strong>et</strong>te étu<strong>de</strong> expérimentale<br />
est indispensable afin <strong>de</strong> déterminer les propriétés <strong>de</strong> ce type <strong>de</strong> contenus.<br />
2.3.1.1 Structure à multiples composantes connexes<br />
Une première caractéristique <strong>de</strong>s données CAO à traiter est le nombre important <strong>de</strong> composantes<br />
connexes dont elles sont constituées. La Figures 2.8 illustre un exemple <strong>de</strong> maillage<br />
<strong>3D</strong> CAO composé <strong>de</strong> 1274 composantes connexes avec une moyenne <strong>de</strong> 16 triangles par composante.<br />
La figure 2.9 présente les distributions <strong>de</strong>s nombres <strong>de</strong> triangles <strong>et</strong> <strong>de</strong> somm<strong>et</strong>s par<br />
composante connexe pour l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base. Notons que ces <strong>de</strong>ux distributions<br />
sont concentrées autour <strong>de</strong> la valeur 100. Cela montre que les modèles CAO, contrairement<br />
aux modèles généralement étudiés dans la litérature, présentent un nombre réduit <strong>de</strong> somm<strong>et</strong>s<br />
par composante.
54 Le codage TFAN<br />
Figure 2.8 : Modèle CAO original avec 1274 composantes connexes. (20491 triangles <strong>et</strong> 20626<br />
somm<strong>et</strong>s).<br />
C<strong>et</strong>te propriété spécifique àc<strong>et</strong>ypecontenuestlerésultat du processus <strong>de</strong> conversion <strong>de</strong>s<br />
modèles <strong>3D</strong>, <strong>de</strong> l’outil <strong>de</strong> modélisation Catia 6 vers le format VRML 2.0. En eff<strong>et</strong>, les modèles<br />
originaux ont été produits en exploitant <strong>de</strong>s logiciels CAO avec différentes représentations<br />
<strong>de</strong> surfaces <strong>3D</strong> (e.g., maillage triangulaire, sphère, cylindre, B-Spline, NURBS, surface <strong>de</strong><br />
subdivision...). Chacun <strong>de</strong>s patchs constituant les modèles CAO étant représenté <strong>de</strong>façon<br />
indépendante <strong>de</strong>s autres, la conversion finale en <strong>maillages</strong> <strong>3D</strong> résulte en un nombre important<br />
<strong>de</strong> composantes connexes (i.e., une composante pour chaque patch <strong>de</strong> surface).<br />
C<strong>et</strong>te structure particulière réduit fortement les performances <strong>de</strong> compression <strong>de</strong>s métho<strong>de</strong>s<br />
traditionelles qui traitent séparément chaque composante connexe. Etant donné lenombre<br />
réduit <strong>de</strong> somm<strong>et</strong>s par composante connexe, ces métho<strong>de</strong>s ne parviennent donc pas àdériver<br />
<strong>de</strong>s parcours assez longs nécessaires pour assurer une compression efficace <strong>de</strong> la topologie <strong>et</strong> <strong>de</strong><br />
la géométrie du maillage. De plus, une information supplémentaire doit être également incluse<br />
dans le flux binaire afin <strong>de</strong> gérer la transition entre composantes connexes.<br />
Figure 2.9 : Distributions <strong>de</strong>s nombres <strong>de</strong> triangles <strong>et</strong> <strong>de</strong> somm<strong>et</strong>s par composante connexe<br />
pour l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base.<br />
2.3.1.2 Problème d’éclatement <strong>de</strong>s composantes connexes (“cracking”)<br />
Le <strong>de</strong>uxième problème induit par le nombre important <strong>de</strong> composantes connexes est celui<br />
du “cracking”. La Figure 2.10 présente un exemple <strong>de</strong> compression d’un modèle CAO<br />
par l’approche <strong>de</strong> compression spectrale [52]. On observe l’apparition d’artéfacts entre les<br />
différentes composantes connexes du maillage. En eff<strong>et</strong>, c<strong>et</strong>te approche étant fondée sur une<br />
6. http ://www.3ds.com/fr/corporate/about-us/brands/catia/
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 55<br />
transformée spectrale exploitant l’information <strong>de</strong> connectivité, chaque composante est ici encore<br />
une fois traitée <strong>de</strong> façon indépendante. Ainsi, <strong>de</strong>ux somm<strong>et</strong>s superposés dans l’espace<br />
<strong>de</strong>s coordonnées, mais appartenant à <strong>de</strong>ux composantes connexes différentes vont avoir un<br />
comportement différent suite à la troncature <strong>et</strong> à la quantification du spectre opérée par l’approche<br />
spectrale. Les positions reconstruites (après décodage) <strong>de</strong>s ces <strong>de</strong>ux somm<strong>et</strong>s sont en<br />
général différentes ce qui implique l’apparition d’éclatement (“crack”) entre les composantes<br />
connexes. L’incapacité <strong>de</strong>gérer sans “cracking” la structure à multiples composantes connexes<br />
<strong>de</strong>s modèles CAO rend l’approche par compression spectrale non adaptée à ce genre <strong>de</strong> données.<br />
(a) (b) (c) (d)<br />
Figure 2.10 : Problème <strong>de</strong> “cracking” induit par la structure à multiples composantes<br />
connexes caractéristiques aux modèles CAO (1455 triangles <strong>et</strong> 1626 somm<strong>et</strong>s). (a) Maillage<br />
original, (b) Maillage compressé avec l’approche spectrale exhibant <strong>de</strong>s problèmes <strong>de</strong> “cracking”,<br />
(c) composantes connexes <strong>de</strong> (b) colorées <strong>et</strong> (d) Zoom sur la région d’intérêt <strong>de</strong> (c)<br />
montrant l’inefficacité <strong>de</strong> l’approche <strong>de</strong> compression spectrale àgérer les <strong>maillages</strong> à multiples<br />
composantes connexes.<br />
La Figure 2.11 illustre le résultat <strong>de</strong> compression obtenu en appliquant l’approche <strong>de</strong> compression<br />
progressive PM [10]. Ici encore, le problème <strong>de</strong> “cracking” apparaît pour les niveaux<br />
<strong>de</strong> détails intermédiaires. De façon plus générale, le problème <strong>de</strong> “cracking” concerne non seulement<br />
l’algorithme PM, mais toutes les approches <strong>de</strong> codage par décimation qui perm<strong>et</strong>tent la<br />
simplification <strong>de</strong>s somm<strong>et</strong>s situés sur les bords <strong>de</strong>s composantes connexes du maillage.<br />
Une solution directe pour résoudre ce problème consiste à ajouter une contrainte topologique<br />
qui interdit la modification <strong>de</strong>s bords. La Figure 2.11.d montre le résultat sans “cracking”<br />
obtenu lorsqu’on perm<strong>et</strong> uniquement <strong>de</strong>s opérations <strong>de</strong> type half edge collapse sur les somm<strong>et</strong>s<br />
<strong>de</strong> bord. Une telle approche perm<strong>et</strong> <strong>de</strong> résoudre le problème <strong>de</strong> “cracking”. Néanmoins, elle est<br />
trop restrictive : 85% <strong>de</strong>s somm<strong>et</strong>s sont en eff<strong>et</strong> <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord (Figure 2.12). Cela limite<br />
le nombre <strong>de</strong> niveaux <strong>de</strong> détails qu’on peut obtenir <strong>et</strong> par suite dégra<strong>de</strong> significativement les<br />
performances <strong>de</strong> compression.<br />
La Figure 2.13 illustre la prépondérance <strong>de</strong>s triangles <strong>de</strong> bord (colorés en rouge) sur <strong>de</strong>ux<br />
exemples <strong>de</strong> <strong>maillages</strong> CAO. Quand on applique la métho<strong>de</strong> <strong>de</strong> compression par décimation<br />
PM sur le maillage <strong>de</strong> la Figure 2.11 qui comporte 1557 somm<strong>et</strong>s, le maillage <strong>de</strong> base (i.e.,<br />
la version la plus grossière obtenue) comporte 1373 somm<strong>et</strong>s. Cela prouve l’inefficacité <strong>de</strong>s<br />
approches traditionnelles <strong>de</strong> compression par décimation lorsqu’il s’agit <strong>de</strong> <strong>maillages</strong> <strong>de</strong> type<br />
CAO.
56 Le codage TFAN<br />
(a) (b) (c) (d)<br />
Figure 2.11 : Problème <strong>de</strong> “cracking” pour les niveaux <strong>de</strong> détails intermédiaires pour les approches<br />
<strong>de</strong> compression par décimation : compression par maillage progressif [10]. (a) Maillage<br />
original (1549 triangles <strong>et</strong> 1557 somm<strong>et</strong>s), (b) Composantes connexes <strong>de</strong> (a) colorées (1252<br />
triangles <strong>et</strong> 1302 somm<strong>et</strong>s), (c) Zoom sur la région d’intérêt dans (b) <strong>et</strong> (d) Modèle sans<br />
problème <strong>de</strong> “cracking” obtenu par <strong>de</strong>s opérations <strong>de</strong> type half edge collapses pour les somm<strong>et</strong>s<br />
<strong>de</strong> bord (1373 triangles <strong>et</strong> 1457 somm<strong>et</strong>s) : pas <strong>de</strong> simplification significative possible du<br />
modèle original.<br />
Figure 2.12 : Distributions <strong>de</strong>s pourcentages <strong>de</strong>s triangles <strong>et</strong> <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord pour<br />
l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base SEMANTIC.<br />
2.3.1.3 Distribution <strong>de</strong>s valences<br />
La troisième propriété topologique <strong>de</strong>s données CAO étudiées est la prédominance <strong>de</strong>s<br />
somm<strong>et</strong>s <strong>de</strong> valence 4. La Figure 2.14 présente la distribution (calculée sur l’ensemble <strong>de</strong> la<br />
base) <strong>de</strong>s valences <strong>de</strong>s somm<strong>et</strong>s. Il en ressort que 38% <strong>de</strong>s somm<strong>et</strong>s ont une valence <strong>de</strong> 4 !<br />
Les approches <strong>de</strong> codage par valence doivent alors être adaptées afin <strong>de</strong> tenir compte <strong>de</strong> c<strong>et</strong>te<br />
distribution particulière.<br />
2.3.1.4 Conversion en <strong>maillages</strong> manifold<br />
La contrainte quasi-unanimement respectée par les métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong> la littérature<br />
renvoie au caractère manifold <strong>de</strong>s <strong>maillages</strong> à co<strong>de</strong>r. Or, c<strong>et</strong>te hypothèse n’est vérifiée que pour<br />
6% <strong>de</strong>s modèles du corpus CAO SEMANTIC-<strong>3D</strong>.
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 57<br />
(a) (b)<br />
(c) (d)<br />
Figure 2.13 : Illustration <strong>de</strong>s triangles bord : (a) <strong>et</strong> (c) composantes connexes colorées <strong>et</strong> (b)<br />
<strong>et</strong> (d) triangles <strong>de</strong> bord colorés en rouge.<br />
Figure 2.14 : Distribution <strong>de</strong>s valences <strong>de</strong>s somm<strong>et</strong>s pour l’ensemble <strong>de</strong>s modèles <strong>de</strong> la base<br />
SEMANTIC-<strong>3D</strong>.<br />
Afin d’exploiter les métho<strong>de</strong>s ne s’appliquant qu’à <strong>de</strong>s <strong>maillages</strong> manifold, nous avons appliqué<br />
un processus <strong>de</strong> conversion <strong>de</strong> <strong>maillages</strong> arbitraires en variétés [24]. Le tableau 2.2<br />
montre que c<strong>et</strong>te conversion accentue encore davantage les singularités <strong>de</strong>s <strong>maillages</strong> CAO.<br />
En eff<strong>et</strong>, le nombre <strong>de</strong> composantes connexes augmente drastiquement (360%), tandis que le<br />
nombre <strong>de</strong> somm<strong>et</strong>s par composante connexe décroît significativement (70%). Suite au processus<br />
<strong>de</strong> conversion, plus <strong>de</strong> 80% <strong>de</strong>s <strong>maillages</strong> présentent un nombre moyen <strong>de</strong> somm<strong>et</strong>s par<br />
composante connexe inférieur à 50.<br />
2.3.1.5 Adéquation <strong>de</strong>s approches classiques aux données CAO<br />
Ces statistiques m<strong>et</strong>tent en évi<strong>de</strong>nce l’existence <strong>de</strong> structures à multiples composantes<br />
connexes conférant <strong>de</strong>s propriétés topologiques particulières : prédominance <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong><br />
bord (plus <strong>de</strong> 85%), concentration <strong>de</strong>s valences <strong>de</strong>s somm<strong>et</strong>s autour <strong>de</strong> la valeur 4 (au lieu<br />
<strong>de</strong> 6)... Ces spécificités ont <strong>de</strong>s répercussions directes sur les performances <strong>de</strong>s approches <strong>de</strong>
58 Le codage TFAN<br />
Base originale Base convertie en manifold<br />
V F NCC<br />
V<br />
NCC<br />
F<br />
NCC<br />
M(%) V F NCC<br />
V<br />
NCC<br />
F<br />
NCC<br />
M(%)<br />
Moyenne 5758 7174 62 72 276 6 6660 7174 340 19 21 100<br />
Ecart-type 6878 8444 185 463 823 - 7086 8444 507 276 548 -<br />
Table 2.2 : Propriétés topologiques du corpus SEMANTIC-<strong>3D</strong> avant <strong>et</strong> après convertion en<br />
<strong>maillages</strong> manifolds.<br />
compression classiques conçues pour <strong>de</strong>s <strong>maillages</strong> manifolds orientés. Outre la diminution du<br />
taux <strong>de</strong> compression, le problème <strong>de</strong> “cracking” est àmaîtriser. Il rend les approches fondées<br />
sur la simplification, celles par on<strong>de</strong>l<strong>et</strong>tes <strong>et</strong> celles par analyse spectrale inadaptées dans le cas<br />
<strong>de</strong>s <strong>maillages</strong> <strong>de</strong> type CAO. C’est pourquoi, les co<strong>de</strong>urs que nous avons r<strong>et</strong>enus pour tests <strong>et</strong><br />
évaluation sur le corpus SEMANTIC-<strong>3D</strong> sont :<br />
• la métho<strong>de</strong> <strong>de</strong> compression par arbres couvrants, adoptée par le standard MPEG-4, <strong>et</strong><br />
• la métho<strong>de</strong> <strong>de</strong> codage par valence <strong>de</strong> Touma <strong>et</strong> Gotsman (TG), longtemps considérée<br />
comme l’état <strong>de</strong> l’art <strong>de</strong>s techniques mono-résolution.<br />
2.3.2 Critères d’évaluation<br />
Afin d’évaluer les performances <strong>de</strong> compression pour <strong>de</strong>s <strong>maillages</strong> avec différents nombres<br />
<strong>de</strong> somm<strong>et</strong>s, les débits sont exprimés en bits par somm<strong>et</strong> (bps). Les débits rapportés correspon<strong>de</strong>nt<br />
à la taille totale du flux binaire nécessaire pour le décodage <strong>de</strong> connectivité <strong>et</strong><strong>de</strong>la<br />
géométrie du maillage.<br />
Les distorsions <strong>de</strong> compression sont mesurées en utilisant l’erreur RMSE [51] entre les<br />
<strong>maillages</strong> originaux <strong>et</strong> reconstruits (décodés). Rappelons que l’erreur RMSE mesurée entre<br />
<strong>de</strong>ux surfaces S <strong>et</strong> S ′ est définie par :<br />
RMSE(S, S ′ )=max(d(S, S ′ ),d(S ′ ,S)), (2.3)<br />
où<br />
d(S, S ′ <br />
1<br />
)= (minq∈S<br />
|S| p∈S<br />
′||p − q||2) 2dS. (2.4)<br />
Les temps <strong>de</strong> décodage rapportés correspon<strong>de</strong>nt au temps nécessaire au déco<strong>de</strong>ur pour lire le<br />
flux compressé <strong>et</strong>pourdéco<strong>de</strong>r en mémoire sans tenir compte du temps d’écriture du fichier<br />
sur le disque. Les expérimentations ont été effectuées sur un PC doté d’un microprocesseur<br />
Pentium 4 à 3GHz <strong>et</strong> d’une mémoire RAM <strong>de</strong> 2 Go.<br />
2.3.3 Distribution <strong>de</strong>s configurations TFAN<br />
La Figure 2.15 présente les histogrammes <strong>de</strong>s configurations TFAN (cf. Section 2.1.5) pour<br />
quelques <strong>maillages</strong> manifolds <strong>et</strong> orientés. Notons que pour ce type <strong>de</strong> <strong>maillages</strong>, seules les<br />
configurations 8 <strong>et</strong> 9 sont nécessaires pour décrire leur connectivité. De plus, la configuration 9<br />
apparaît avec une fréquence <strong>de</strong> plus <strong>de</strong> 85% <strong>de</strong>s cas, ce qui perm<strong>et</strong> une compression efficace <strong>de</strong> la<br />
séquence <strong>de</strong>s configurations. Rappelons également, que pour la configuration 8, le co<strong>de</strong>ur TFAN<br />
co<strong>de</strong> uniquement le <strong>de</strong>gré <strong>de</strong>l’éventail. Ainsi, la représentation obtenue s’avère en pratique très<br />
compacte surtout après un codage arithmétique <strong>de</strong>s séquences <strong>de</strong>s configurations <strong>et</strong> <strong>de</strong>s <strong>de</strong>grés.
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 59<br />
Pour <strong>de</strong>s <strong>maillages</strong> manifolds <strong>et</strong> orientés, ces observations s’expliquent en analysant les<br />
correspondances entre l’approche TFAN <strong>et</strong> l’approche <strong>de</strong> Touma <strong>et</strong> Gotsman (TG) [3] (cf.<br />
Section 1.3). En eff<strong>et</strong>, la configuration 8 correspond à l’opération ADD, àladifférence qu’on<br />
co<strong>de</strong> le <strong>de</strong>gré <strong>de</strong>l’éventail <strong>de</strong> triangle au lieu <strong>de</strong> co<strong>de</strong>r la valence du somm<strong>et</strong> visité. La configuration<br />
9 sert àdécrire les opérations <strong>de</strong> MERGE <strong>et</strong> SPLIT. Comme pour [3], cela implique<br />
le codage <strong>de</strong>s in<strong>de</strong>x <strong>de</strong>s somm<strong>et</strong>s d’auto-intersection (cf. Tableau 2.1) <strong>de</strong> la liste active (qui<br />
est équivalente dans notre cas àlafileF, cf. Section 2.1.3). Contrairement au co<strong>de</strong>ur <strong>de</strong> TG,<br />
la technique TFAN gère uniquement une seule liste ce qui perm<strong>et</strong> <strong>de</strong> réduire l’espace mémoire<br />
nécessaire pour l’exécution <strong>de</strong> l’algorithme. De plus, cela perm<strong>et</strong> d’éviter le test d’intersections<br />
entre plusieurs listes actives qui est en général coûteux en <strong>de</strong> temps <strong>de</strong> décodage.<br />
La Figure 2.16 présente les histogrammes <strong>de</strong>s configurations TFAN obtenus dans le cas <strong>de</strong><br />
<strong>maillages</strong> CAO non-manifolds <strong>et</strong> à plusieurs composantes connexes (cf. Section 2.1.5). Notons<br />
quec<strong>et</strong>ype<strong>de</strong>contenusn’estpasgéré par le co<strong>de</strong>ur TG qui s’applique uniquement à<strong>de</strong>s<br />
<strong>maillages</strong> manifolds <strong>et</strong> orientés. Dans le cas <strong>de</strong>s <strong>maillages</strong> CAO, le co<strong>de</strong>ur TFAN exploite <strong>de</strong>s<br />
configurations supplémentaires afin <strong>de</strong> décrire la connectivité du maillage. Ici, les configurations<br />
3, 4, 5 <strong>et</strong> 6 perm<strong>et</strong>tent <strong>de</strong> décrire <strong>de</strong>s éventails avec <strong>de</strong>s triangles <strong>de</strong> bord. La configuration 7 est<br />
exploitée dans le cas <strong>de</strong> somm<strong>et</strong>s non-réguliers (Section 1.1). Les configurations 1 <strong>et</strong> 8 décrivent<br />
<strong>de</strong>s éventails associés à <strong>de</strong>s somm<strong>et</strong>s réguliers. Les configurations 2 <strong>et</strong> 9 servent àgérer <strong>de</strong>s cas<br />
d’auto-intersection (i.e., équivalentes aux opérations SPLIT <strong>et</strong> MERGE du co<strong>de</strong>ur TG). Ces<br />
neufs cas perm<strong>et</strong>tent <strong>de</strong> décrire plus <strong>de</strong> 87% <strong>de</strong>s configurations rencontrées. La configuration<br />
générique 10 est utilisée en pratique dans moins <strong>de</strong> 13% <strong>de</strong>s cas. Elle sert àdécrire <strong>de</strong>s cas<br />
non-manifolds plus complexes.<br />
(a) (b) (c)<br />
(d) (e) (f)<br />
Figure 2.15 : Histogramme <strong>de</strong>s configurations TFAN pour <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> type manifold<br />
orienté.
60 Le codage TFAN<br />
(a) (b) (c)<br />
(d) (e) (f)<br />
(g) (h) (i)<br />
(j) (k) (l)<br />
Figure 2.16 : Histogramme <strong>de</strong>s configurations TFAN pour <strong>de</strong>s <strong>maillages</strong> CAO <strong>de</strong> topologies<br />
arbitraires.<br />
2.3.4 Espace mémoire<br />
La Figure 2.17 présente les courbes d’évolution <strong>de</strong>s nombres <strong>de</strong> somm<strong>et</strong>s stockés en mémoire,<br />
lors du processus <strong>de</strong> décodage, pour différents <strong>maillages</strong> <strong>de</strong> type CAO. Soit Gmem le rapport<br />
entre le nombre maximal <strong>de</strong> somm<strong>et</strong>s stockés, noté Vmem, <strong>et</strong> le nombre total <strong>de</strong> somm<strong>et</strong>s V :<br />
Gmem = Vmem<br />
. (2.5)<br />
V
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 61<br />
Une étu<strong>de</strong> menée sur la totalité <strong>de</strong>labaseCAOmontrequelorsdudécodage, au maximum<br />
2% <strong>de</strong>s somm<strong>et</strong>s sont stockés en mémoire. Cela prouve que le co<strong>de</strong>ur TFAN proposé estpeu<br />
gourmand en ressources mémoires, contrairement à l’approche MPEG-4/<strong>3D</strong>MC [1] qui nécessite<br />
le stockage <strong>de</strong> la totalité <strong>de</strong>s <strong>de</strong>ux arbres couvrants afin <strong>de</strong> pouvoir déco<strong>de</strong>r le maillage <strong>3D</strong>.<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 2.17 : Courbes d’évolution du nombre <strong>de</strong> somm<strong>et</strong>s stockés en mémoires pour différents<br />
<strong>maillages</strong> CAO.<br />
2.3.5 Performances <strong>de</strong> compression<br />
La Figure 2.18 présente les débits obtenus suite à la compression <strong>de</strong> la totalité <strong>de</strong>labase<strong>de</strong><br />
données CAO (i.e., plus <strong>de</strong> 4000 modèles) avec les trois techniques : TFAN, MPEG-4/<strong>3D</strong>MC <strong>et</strong><br />
TG <strong>et</strong> pour une quantification sur 12 bits. La Figure 2.19 illustre les courbes débit/distorsion<br />
pour différents <strong>maillages</strong> CAO <strong>de</strong> la base.<br />
Notons que la technique TG ne s’applique qu’à <strong>de</strong>s <strong>maillages</strong> manifolds <strong>et</strong> orientés. Un<br />
processus <strong>de</strong> conversion <strong>de</strong>s <strong>maillages</strong> originaux (en <strong>maillages</strong> manifolds <strong>et</strong> orientés) [24] a été
62 Le codage TFAN<br />
au préalable appliqué auxmodèles <strong>de</strong> la base afin <strong>de</strong> pouvoir les compresser par le co<strong>de</strong>ur TG.<br />
Rappelons que ce processus <strong>de</strong> conversion implique la duplication <strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s arêtes<br />
non-régulières <strong>de</strong>s <strong>maillages</strong> traités (cf. Section 1.1). La technique MPEG-4/<strong>3D</strong>MC exploite<br />
une approche analogue afin <strong>de</strong> pouvoir appliquer le co<strong>de</strong>ur par arbres couvrants introduit dans<br />
[1]. Ici, une information supplémentaire est également transmise afin <strong>de</strong> perm<strong>et</strong>tre au déco<strong>de</strong>ur<br />
<strong>de</strong> fusionner les somm<strong>et</strong>s <strong>et</strong> les arêtes dupliquées <strong>et</strong> <strong>de</strong> r<strong>et</strong>rouver la connectivité initialedu<br />
maillage.<br />
Les gains obtenus par l’approche TFAN par rapport aux <strong>de</strong>ux co<strong>de</strong>urs MPEG-4/<strong>3D</strong>MC <strong>et</strong><br />
TG sont rapportés Figure 2.20. Ces résultats montrent que l’approche TFAN offre <strong>de</strong>s gains<br />
<strong>de</strong> l’ordre <strong>de</strong> 30% en moyenne par rapport au co<strong>de</strong>ur MPEG-4/<strong>3D</strong>MC. Ces gains relativement<br />
importants s’expliquent en gran<strong>de</strong> partie par l’efficacité <strong>de</strong> la stratégie <strong>de</strong> codage <strong>de</strong> la connectivité<br />
paréventails <strong>de</strong> triangles qui perm<strong>et</strong> <strong>de</strong> représenter <strong>de</strong> façon compacte <strong>et</strong> générique la<br />
connectivité <strong>de</strong> tout maillage triangulaire. En revanche, le co<strong>de</strong>ur MPEG-4/<strong>3D</strong>MC co<strong>de</strong> une information<br />
auxiliaire pour gérer les <strong>maillages</strong> non-manifold avec bords, ce qui peut être coûteux<br />
en terme <strong>de</strong> débit dans le cas <strong>de</strong> <strong>maillages</strong> CAO à plusieurs composantes connexes. Le co<strong>de</strong>ur<br />
TFAN offre <strong>de</strong>s résultats <strong>de</strong> compression légèrement supérieurs à ceux <strong>de</strong> la technique TG. En<br />
eff<strong>et</strong>, le fait <strong>de</strong> convertir les <strong>maillages</strong> CAO en <strong>maillages</strong> manifolds accentue leurs singularités<br />
(cf. Section 2.3.1.4) <strong>et</strong> induit la création <strong>de</strong> nouveaux somm<strong>et</strong>s. En moyenne, le processus <strong>de</strong><br />
conversion augmente <strong>de</strong> 12% le nombre <strong>de</strong> somm<strong>et</strong>s à co<strong>de</strong>r <strong>et</strong> par conséquent dégra<strong>de</strong> les<br />
performancces <strong>de</strong> codage <strong>de</strong> l’approche TG. Le co<strong>de</strong>ur TFAN s’affranchit d’une telle limitation<br />
en gérant directement tout maillage triangulaire sans aucune contrainte topologique (i.e.,<br />
manifold ou non, orienté ounon,ferméououvert). Figure 2.18 : Performances <strong>de</strong> compression pour une quantification sur 12 bits : TFAN vs.<br />
MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG.
2.3 Résultats expérimentaux : proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong> 63<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 2.19 : Courbes débit/distorsion pour différents <strong>maillages</strong> CAO : TFAN vs. MPEG-<br />
4/<strong>3D</strong>MC <strong>et</strong> TG.
64 Le codage TFAN<br />
Figure 2.20 : Gains en terme <strong>de</strong> débit <strong>de</strong> l’approche TFAN par rapport aux techniques<br />
MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG pour une quantification sur 12 bits.<br />
2.3.6 Temps <strong>de</strong> décodage<br />
La Figure 2.21 consigne les temps <strong>de</strong> décodage pour la totalité <strong>de</strong>labaseCAOconsidérée<br />
<strong>et</strong> ce pour les approches TFAN <strong>et</strong> MPEG-4/<strong>3D</strong>MC. Les temps <strong>de</strong> décodage <strong>de</strong> l’approche TG<br />
ne sont pas rapportés puisque nous ne disposons pas du co<strong>de</strong> source du déco<strong>de</strong>ur. Les gains<br />
obtenus par l’approche TFAN par rapport à la technique MPEG-4/<strong>3D</strong>MC sont résumés Figure<br />
2.22.<br />
Ces résultats montrent que le co<strong>de</strong>ur TFAN perm<strong>et</strong> <strong>de</strong> réduire les temps <strong>de</strong> décodage <strong>de</strong><br />
l’odre <strong>de</strong> 50% en moyenne ! Pour les <strong>maillages</strong> comportants plus <strong>de</strong> 10000 somm<strong>et</strong>s ces gains<br />
peuvent atteindre 61%. Dans le cas <strong>de</strong> <strong>maillages</strong> moins <strong>de</strong>nses, les gains obtenus sont <strong>de</strong> l’ordre<br />
<strong>de</strong> 41-45%. La vitesse moyenne <strong>de</strong> décodage <strong>de</strong> l’approche TFAN est <strong>de</strong> l’ordre <strong>de</strong> 499875<br />
somm<strong>et</strong>s par secon<strong>de</strong>. Ces résultats confirment la pertinence <strong>de</strong> l’approche proposée pour <strong>de</strong>s<br />
applications nécessitant un décodage <strong>de</strong> basse complexité.<br />
Figure 2.21 : Temps <strong>de</strong> décodage pour les approches TFAN, MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG.
2.4 Conclusion 65<br />
Figure 2.22 : Gains en terms <strong>de</strong> temps <strong>de</strong> décodage <strong>de</strong> l’approche TFAN par rapport aux<br />
techniques MPEG-4/<strong>3D</strong>MC <strong>et</strong> TG.<br />
2.4 Conclusion<br />
Dans ce chapitre, nous avons présenté une nouvelle approche <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong><br />
<strong>3D</strong> triangulaires, appelée TFAN, applicable directement à tout maillage <strong>3D</strong> triangulaire <strong>de</strong><br />
topologie arbitraire (i.e., maillage manifold ou non, orienté ounon,ferméououvert). La<br />
technique TFAN assure une complexité linéaire pour le codage <strong>et</strong> le décodage, tout en offrant<br />
une représentation optimisée pour le rendu en temps réel.<br />
L’étu<strong>de</strong> expérimentale conduite sur le corpus <strong>de</strong> données CAO du proj<strong>et</strong> National RNRT<br />
SEMANTIC-<strong>3D</strong> (constitué <strong>de</strong> plus <strong>de</strong> 4000 <strong>maillages</strong> <strong>3D</strong>) a montré que TFAN offre <strong>de</strong>s gains<br />
en termes <strong>de</strong> débits <strong>de</strong> l’ordre <strong>de</strong> 6 à 33% par rapport au co<strong>de</strong>ur standard MPEG-4/<strong>3D</strong>MC [1]<br />
<strong>et</strong> àlamétho<strong>de</strong> <strong>de</strong> codage par valence <strong>de</strong> Touma <strong>et</strong> Gotsman [3]. Les temps <strong>de</strong> décodage sont<br />
améliorés <strong>de</strong> 50% en moyenne.<br />
En raison <strong>de</strong> ses propriétés <strong>de</strong> basse complexité <strong>de</strong>décodage <strong>et</strong> <strong>de</strong> ses performances <strong>de</strong> compression<br />
compétitives, le co<strong>de</strong>ur TFAN est le candidat <strong>de</strong> premier plan pour le déploiement <strong>de</strong>s<br />
contenus <strong>de</strong> type CAO sur téléphones portables. Il est considéré dans le cadre <strong>de</strong>s expérimentations<br />
techniques [67] <strong>de</strong> MPEG-4 portant sur la compression basse complexité <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>.
66 Le codage TFAN
Chapitre3<br />
Codage par approximation B-Splines<br />
Résumé : Ce chapitre présente un nouveau schéma <strong>de</strong> codage progressif <strong>de</strong> <strong>maillages</strong><br />
triangulaires <strong>3D</strong>, fondé sur une représentation par surfaces B-Splines. Le maillage est<br />
tout d’abord segmenté enpatchs. Chaquepatch est ensuite paramétré, puis approché par<br />
une surface B-Spline dont les images géométriques <strong>de</strong> points <strong>de</strong> contrôle sont finalement<br />
compressées <strong>de</strong> façon progressive à l’ai<strong>de</strong> d’un co<strong>de</strong>ur d’images fixes (e.g., JPEG2000). La<br />
connectivité initialeestcodée sans perte en utilisant le co<strong>de</strong>ur TFAN (cf. Chapitre 2). Les<br />
performances du schéma <strong>de</strong> compression montrent <strong>de</strong>s gains <strong>de</strong> 10 à 30% en moyenne par<br />
rapport aux co<strong>de</strong>urs <strong>de</strong> compression spectrale, Touma <strong>et</strong> Gotsman <strong>et</strong> MPEG-4/<strong>3D</strong>MC, en<br />
particulier àbasdébits (inférieurs à 8 bits/somm<strong>et</strong>).<br />
Mots clés : Surface B-spline, compression, paramétrisation, image géométrique,<br />
JPEG2000.<br />
67
68 Codage par approximation B-Splines<br />
La métho<strong>de</strong> <strong>de</strong> compression par approximation B-spline s’appuie sur une représentation du<br />
maillage <strong>3D</strong> par images géométriques dont nous rappelons brièvement le principe.<br />
3.1 <strong>Compression</strong> par images géométriques : principe <strong>et</strong><br />
limitations<br />
La représentation GI (Geom<strong>et</strong>ry Images) [64] convertit la géométrie d’un maillage <strong>3D</strong> en<br />
une image 2D appelée image géométrique (Figure 3.1). Le principe <strong>de</strong> base exploité ici consiste<br />
àdéterminer une paramétrisation du maillage <strong>3D</strong> sur un domaine 2D carré. Cela s’appuie sur<br />
l’hypothèse sous-jacente que le maillage à traiter est homéomorphe à un disque. Pour pouvoir<br />
gérer <strong>de</strong>s topologies arbitraires, il est donc nécessaire d’appliquer un découpage préalable <strong>de</strong><br />
la surface, afin <strong>de</strong> la rendre homéomorphe àundisque.<br />
Figure 3.1 : Processus <strong>de</strong> conversion d’un maillage <strong>3D</strong> en une image géométrique.<br />
Un remaillage régulier est ensuite appliqué enéchantillonnant uniformément le domaine<br />
paramétrique. Cela perm<strong>et</strong> <strong>de</strong> décrire (avec pertes) la géométrie du maillage par un ensemble<br />
<strong>de</strong> points <strong>3D</strong> localisés sur la surface. Ces points, étant définis sur une grille rectangulaire<br />
régulière, peuvent être stockés sous forme d’une image couleur dite image géométrique [64] où<br />
chacun <strong>de</strong>s canaux R, V <strong>et</strong> B décrit l’une <strong>de</strong>s coordonnées x, y <strong>et</strong> z. L’image ainsi obtenue est<br />
enfin codée en exploitant une décomposition en on<strong>de</strong>l<strong>et</strong>tes.<br />
Des extensions <strong>de</strong> la métho<strong>de</strong> initiale sont introduites dans [65, 66]. La technique SGI<br />
(Smooth Geom<strong>et</strong>ry Images) [65] approche le maillage <strong>3D</strong> par une surface B-Spline cubique. Les<br />
coordonnées<strong>de</strong>spoints<strong>de</strong>contrôle<strong>de</strong>lasurfaceB-Splineainsigénérée sont enfin codées sous<br />
forme d’une image géométrique.<br />
Dans [66], les auteurs proposent l’approche MCGI (Multi-Charts Geom<strong>et</strong>ery Images) qui<br />
exploite un atlas <strong>de</strong> paramétrisations afin <strong>de</strong> minimiser les distorsions <strong>de</strong> paramétrisation. Ici,<br />
le maillage est découpé en un ensemble patchs, remaillés régulièrement <strong>et</strong> stockés ensuite dans<br />
une même image. Cela nécessite en revanche la mise en oeuvre <strong>de</strong> procédures <strong>de</strong> recollage<br />
adaptées afin <strong>de</strong> pouvoir reconstruire sans rupture le maillage au niveau du déco<strong>de</strong>ur.<br />
Les métho<strong>de</strong>s par images géométriques souffrent d’un certain nombre <strong>de</strong> limitations, liées<br />
principalement au processus <strong>de</strong> remaillage considéré (Figure 3.2) :
3.1 <strong>Compression</strong> par images géométriques : principe <strong>et</strong> limitations 69<br />
• Ré-échantillonner régulièrement le domaine paramétrique peut générer, au niveau <strong>de</strong> la<br />
surface <strong>3D</strong>, <strong>de</strong>s triangles dégénérés avec <strong>de</strong>s aspects <strong>de</strong> forme excentrique ce qui conduit<br />
à<strong>de</strong>sartéfacts visuels [64, 66].<br />
• Dans le cas <strong>de</strong> certaines approches multi-patchs [66], les procédures <strong>de</strong> recollage plus ou<br />
moins heuristiques proposées ne garantissent pas un raccor<strong>de</strong>ment lisse <strong>de</strong>s parties.<br />
• Capturer <strong>de</strong> façon précise les détails fins du maillage original nécessite un ré-échantillonnage<br />
<strong>de</strong>nse [64, 66, 65], ce qui conduit à <strong>de</strong>s <strong>maillages</strong> <strong>de</strong> taille importante (66049 somm<strong>et</strong>s<br />
pour <strong>de</strong>s images géométriques usuelles <strong>de</strong> 257 × 257 pixels). Le rendu en temps-réel <strong>de</strong><br />
ces <strong>maillages</strong> en pleine résolution nécessite alors <strong>de</strong>s ressources mémoires importantes.<br />
• Certaines applications ne tolèrent pas l’altération <strong>de</strong> la connectivité initiale, comme dans<br />
le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> animés considérés dans le cadre du standard MPEG-<br />
4/AFX-BBA [69].<br />
Le nouveau schéma <strong>de</strong> compression par approximation B-spline proposé danscechapitre<br />
s’affranchit <strong>de</strong> ces limitations en codant sans perte la connectivité du maillage. Afin d’assurer<br />
un codage efficace <strong>et</strong> progressif <strong>de</strong> la géométrie, nous r<strong>et</strong>enons le principe <strong>de</strong> représentation<br />
régulière <strong>de</strong> l’information géométrique introduite dans [64, 66, 65], tout en l’adaptant aux<br />
contraintes <strong>de</strong> compression avec préservation <strong>de</strong> la connectivité.<br />
La représentation proposée exploite une paramétrisation multi-patchs dérivée uniquement<br />
<strong>de</strong> la connectivité du maillage par métho<strong>de</strong> <strong>de</strong> Tutte [71]. Comme dans [72, 65], chaque patch<br />
est ensuite approché par une surface B-Spline.<br />
(a) Remaillage régulier (V = 66049) (b) Notre co<strong>de</strong>ur (V = 34384)<br />
(c) Remaillage régulier (V = 66049) (d) Notre co<strong>de</strong>ur (V = 48485)<br />
Figure 3.2 : Limitations du processus <strong>de</strong> remaillage pour les maillage “Bunny” (a <strong>et</strong> b) <strong>et</strong><br />
“Horse” (c <strong>et</strong> d) : triangulation <strong>de</strong> mauvaise qualité <strong>et</strong>sur-échantillonnage <strong>de</strong> la surface.<br />
La modélisation B-Spline offre notamment :
70 Codage par approximation B-Splines<br />
• Unestructurerégulière<strong>de</strong>points<strong>de</strong>contrôle qui peuvent être stockés sous forme d’images<br />
géométriques <strong>et</strong> efficacement compressés avec <strong>de</strong>s co<strong>de</strong>urs optimisés d’images 2D (e.g.,<br />
JPEG, JPEG2000...), comme suggéré dans [64, 65].<br />
• Un accès direct aux propriétés <strong>de</strong> la surface en tout point du domaine paramétrique<br />
(calcul <strong>de</strong>s positions <strong>3D</strong>, <strong>de</strong>s normales, <strong>de</strong>s dérivées). La préservation <strong>de</strong> la connectivité<br />
initiale perm<strong>et</strong> en particulier <strong>de</strong> ré-échantillonner les surfaces B-Splines exactement aux<br />
coordonnées paramétriques associées aux somm<strong>et</strong>s initiaux. Cela évite les problèmes <strong>de</strong><br />
dégénérescence <strong>de</strong>s triangles, <strong>de</strong> raccor<strong>de</strong>ment <strong>de</strong>s patchs <strong>et</strong> <strong>de</strong> sur-échantillonnage.<br />
• Un bon pouvoir <strong>de</strong> représentation <strong>de</strong>s géométries lisses.<br />
Le reste <strong>de</strong> ce chapitre est structuré comme suit. Le paragraphe suivant décrit la métho<strong>de</strong><br />
<strong>de</strong> compression proposée en détaillant ses principales étapes. Ses performances sont évaluées<br />
objectivement, discutées <strong>et</strong> comparées avec les métho<strong>de</strong>s les plus représentatives <strong>de</strong> compression<br />
<strong>3D</strong> sans perte <strong>de</strong> connectivité dans la Section 3.3. Enfin, la Section 3.4 conclut le chapitre <strong>et</strong><br />
ouvre les perspectives <strong>de</strong> recherche future.<br />
3.2 Codage par surfaces B-Splines<br />
3.2.1 Schéma général<br />
Le schéma synoptique <strong>de</strong> l’approche <strong>de</strong> codage par approximation B-spline est présenté<br />
Figure 3.3.<br />
Figure 3.3 : Schéma synoptique <strong>de</strong> l’algorithme <strong>de</strong> compression par représentation B-Spline.<br />
La géométrie du maillage est convertie en une représentation régulière (ensemble d’images<br />
2D) en utilisant une approximation par surfaces B-Splines. Contrairement à [65], où une seule<br />
surface B-Spline est considérée, nous proposons une approche multi-patchs qui perm<strong>et</strong> <strong>de</strong><br />
représenter <strong>de</strong>s obj<strong>et</strong>s <strong>3D</strong> <strong>de</strong> formes <strong>et</strong> <strong>de</strong> complexités arbitraires. Afin <strong>de</strong> déterminer les<br />
patchs <strong>de</strong> manière optimisée, une procédure <strong>de</strong> segmentation automatique est tout d’abord<br />
appliquée. L’approche originale <strong>de</strong> segmentation que nous avons proposée (cf. Section 3.2.2)
3.2 Codage par surfaces B-Splines 71<br />
perm<strong>et</strong> notamment <strong>de</strong> déterminer une partition adaptée à <strong>de</strong>s objectifs <strong>de</strong> paramétrisation<br />
tout en assurant une complexité réduite. Chaque patch est ensuite paramétré en utilisant l’algorithme<br />
<strong>de</strong> Tutte [71] avec l’optimisation proposée dans [73], puis approché par une surface<br />
B-Spline. Les points <strong>de</strong> contrôle <strong>de</strong>s surfaces B-Splines ainsi obtenues sont quantifiés <strong>et</strong> stockés<br />
dans trois images à niveaux <strong>de</strong> gris, une pour chaque coordonnée x, y <strong>et</strong> z.<br />
Cesimagesgéométriques <strong>de</strong> points <strong>de</strong> contrôle sont finalement compressées par <strong>de</strong>s co<strong>de</strong>urs<br />
d’images 2D. Dans notre travail, nous avons choisi le co<strong>de</strong>ur JPEG2000 1 en raison <strong>de</strong> ses<br />
performances <strong>de</strong> compression reconnues.<br />
La connectivité <strong>de</strong>chaquepatch est codée à l’ai<strong>de</strong> d’une approche arbitraire <strong>de</strong> codage <strong>de</strong><br />
connectivité. Dans nos développements, nous avos prévilégié l’approche TFAN (cf. Chapitre<br />
2). Une information topologique additionnelle, décrivant les relations d’adjacence entre les<br />
différents patchs <strong>de</strong> la représentation est également intégrée au flux binaire.<br />
Au niveau du déco<strong>de</strong>ur, la connectivité <strong>de</strong>chaquepatch est tout d’abord reconstituée. C<strong>et</strong>te<br />
information perm<strong>et</strong> à elle seule <strong>de</strong> recalculer la paramétrisation <strong>de</strong> Tutte qui ne nécessite pas<br />
la connaissance <strong>de</strong> la géométrie du maillage. L’information topologique additionnelle perm<strong>et</strong><br />
<strong>de</strong> fusionner les différents patchs <strong>et</strong> donc <strong>de</strong> reconstruire complètement la connectivité initiale.<br />
Le décodage progressif <strong>de</strong> la géométrie est effectué enéchantillonnant les surfaces B-Splines<br />
transmises selon les coordonnées paramétriques associées aux somm<strong>et</strong>s du maillage. La progressivité<br />
est ici assurée par le codage JPEG2000 <strong>de</strong>s images géométriques. Le flux binaire<br />
géométriqueperm<strong>et</strong>eneff<strong>et</strong><strong>de</strong>générer, à tout moment <strong>de</strong> la transmission, <strong>de</strong>s patchs B-<br />
Splines <strong>et</strong> donc <strong>de</strong> reconstruire <strong>de</strong>s approximations du maillage initial dont la qualité augmente<br />
progressivement avec la quantité d’information transmise.<br />
Détaillons àprésent les différents modules du schéma <strong>de</strong> compression proposé.<br />
3.2.2 Segmentation <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
L’objectif <strong>de</strong> l’étape <strong>de</strong> segmentation est d’obtenir une partition du maillage initial en<br />
patchs homéomorphes à un disque <strong>et</strong> adaptés à une paramétrisation <strong>de</strong> faible distorsion (cf.<br />
Section 3.2.3).<br />
Les techniques existantes [74, 64, 66] offrent différents compromis entre qualité <strong>de</strong>paramétrisation<br />
<strong>et</strong> complexité <strong>de</strong> calcul. Dans [74], la segmentation proposée est efficace pour <strong>de</strong>s<br />
applications <strong>de</strong> plaquage <strong>de</strong> texture. En revanche, les patchs obtenus peuvent être <strong>de</strong> p<strong>et</strong>ite<br />
taille (i.e., quelques dizaines <strong>de</strong> somm<strong>et</strong>s) <strong>et</strong> donc inadaptés pour une compression efficace. Au<br />
contraire, les patchs obtenus par la métho<strong>de</strong> décrite dans [64] sont trop complexes <strong>et</strong> leur paramétrisation<br />
induit d’importantes distorsions. C<strong>et</strong> inconvénient est surmonté par l’algorithme<br />
proposé dans [66], qui s’inspire du quantificateur <strong>de</strong> Max-Lloyd [49, 50]. Le prix à payer est la<br />
complexité <strong>de</strong> calcul qui <strong>de</strong>vient très importante (i.e., une dizaine <strong>de</strong> minutes pour un maillage<br />
<strong>de</strong> 40000 somm<strong>et</strong>s).<br />
Pour pallier les inconvénients <strong>de</strong>s algorithmes <strong>de</strong> segmentation existants, tout en assurant<br />
une faible complexité <strong>de</strong> calcul, nous proposons un nouvel algorithme <strong>de</strong> segmentation rapi<strong>de</strong>,<br />
automatique <strong>et</strong> applicable à tout maillage manifold <strong>de</strong> genre 0.<br />
L’approche proposée perm<strong>et</strong> notamment :<br />
• <strong>de</strong> distribuer uniformément les courbures gaussiennes du maillage sur l’ensemble <strong>de</strong>s<br />
patchs,<br />
1. http ://www.jpeg.org/
72 Codage par approximation B-Splines<br />
• <strong>de</strong> favoriser la segmentation selon les arêtes saillantes,<br />
• <strong>de</strong> générer <strong>de</strong>s bords compacts en minimisant le nombre d’arêtes <strong>de</strong> découpage,<br />
• d’assurer un coût faible <strong>de</strong> calcul (i.e., linéaire avec le nombre <strong>de</strong> fac<strong>et</strong>tes du maillage).<br />
Soient F l’ensemble <strong>de</strong>s triangles du maillage M <strong>et</strong> Eint l’ensemble <strong>de</strong> ses arêtes internes<br />
(cf. Section 1.1). L’objectif est <strong>de</strong> déterminer une partition Π = {π1,π2,...,πK} <strong>de</strong> l’ensemble<br />
F <strong>de</strong>s fac<strong>et</strong>tes <strong>de</strong> M telle que les quantités wk, définies par :<br />
∀k ∈{1,...,K}, wk = <br />
wgauss(f), (3.1)<br />
soient égales <strong>et</strong> que le coût total du découpage<br />
Ct = <br />
e∈Ebord(Π)<br />
f∈πk<br />
wang(e), (3.2)<br />
soit minimal.<br />
Ici, Ebord représente l’ensemble <strong>de</strong>s arêtes internes localisées aux frontières <strong>de</strong>s différents<br />
patchs. Lepoidswgauss(f) associé au triangle f du maillage est défini par :<br />
wgauss(f) =|Cgauss(v1(f)) + Cgauss(v2(f)) + Cgauss(v3(f)|, (3.3)<br />
avec :<br />
• Cgauss(vi(f) la courbure gaussienne du maillage [75], évaluée au somm<strong>et</strong> vi(f),<br />
•{v1(f),v2(f),v3(f)} l’ensemble <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> la fac<strong>et</strong>te f, <strong>et</strong><br />
•|.| la valeur absolue d’un nombre réel.<br />
La valeur wang représente le coût associé à l’arrête e ∈Ebord, défini par :<br />
wang(e) =<br />
1<br />
N(f e 1 ) ∧ N(f e , (3.4)<br />
1 )<br />
avec :<br />
• N(f) le vecteur normal unitaire à la fac<strong>et</strong>te f,<br />
• f e 1 <strong>et</strong> f e 2 les <strong>de</strong>ux fac<strong>et</strong>tes inci<strong>de</strong>ntes à l’arête e,<br />
•la norme euclidienne,<br />
•∧le produit vectoriel <strong>de</strong> <strong>de</strong>ux vecteurs.<br />
Notons que les poids associés aux triangles du maillage s’expriment en fonction <strong>de</strong>s courbures<br />
<strong>de</strong> leurs somm<strong>et</strong>s. Le coût associé à une arête est inversement proportionnel à l’angle défini<br />
par les normales aux <strong>de</strong>ux triangles qui la partagent. Ainsi, plus c<strong>et</strong> angle est p<strong>et</strong>it (i.e., plus<br />
l’arête est saillante) plus sont coût <strong>de</strong> découpage est p<strong>et</strong>it.<br />
Le problème <strong>de</strong> minimisation peut être interprété comme suit : trouver une K-partition (K<br />
étant un paramètre fixé par l’utilisateur) <strong>de</strong>s fac<strong>et</strong>tes <strong>de</strong> M telle que les courbures <strong>de</strong>s somm<strong>et</strong>s<br />
soient également distribuées sur l’ensemble <strong>de</strong>s clusters <strong>et</strong>queledécoupage soit opéré selon<br />
les arêtes les plus saillantes.<br />
Afin <strong>de</strong> résoudre ce problème d’optimisation NP-compl<strong>et</strong>, nous avons adopté l’algorithme<br />
heuristique décrit dans [76]. Pour réduire la complexité <strong>de</strong> calcul, le principe consiste à simplifier<br />
massivement le graphe par <strong>de</strong>s opérations successives <strong>de</strong> fusion <strong>de</strong> somm<strong>et</strong>s [10], appliquées au<br />
graphe dual M∗ du maillage M.<br />
Pour rappel le graphe dual M∗ est défini comme suit :
3.2 Codage par surfaces B-Splines 73<br />
• Tout somm<strong>et</strong> <strong>de</strong> M ∗ correspond à un triangle <strong>de</strong> M,<br />
• Deux somm<strong>et</strong>s <strong>de</strong> M ∗ sont voisins (i.e., connectés par une arête du graphe dual) si <strong>et</strong><br />
seulement si leurs triangles correspondants dans M partagent une arête.<br />
La Figure 3.4 illustre un exemple <strong>de</strong> graphe dual pour un maillage triangulaire simple.<br />
(a) Maillage originale (b) Graphe dual<br />
Figure 3.4 : Maillage <strong>de</strong> graphe dual associé.<br />
Dans [76], les auteurs proposent <strong>de</strong> sélectionner au hasard les somm<strong>et</strong>s à fusionner àchaque<br />
étape. Expérimentalement, ils montrent qu’une telle approche perm<strong>et</strong> d’obtenir <strong>de</strong>s résultats<br />
compétitifs pour un coût <strong>de</strong> calcul réduit. Ils proposent également <strong>de</strong> simplifier les somm<strong>et</strong>s du<br />
graphe dual M∗ jusqu’à atteindre un nombre <strong>de</strong> fac<strong>et</strong>tes égal à15× K. Le facteur constant 15<br />
est également déterminé expérimentalement <strong>et</strong> vise à assurer un compromis raisonnable entre<br />
complexité <strong>de</strong> calcul <strong>et</strong> qualité <strong>de</strong>segmentation.<br />
Notons qu’au cours du processus <strong>de</strong> simplification, les poids wgauss(f) <strong>et</strong>wang(e) sontaccumulés<br />
pour tenir compte <strong>de</strong>s distributions <strong>de</strong>s courbures gaussiennes <strong>et</strong> <strong>de</strong>s angles formés<br />
entre triangles du maillage initial.<br />
L’optimisation décrite par les équations (3.1) <strong>et</strong> (3.2) est effectuée sur le maillage <strong>de</strong> base<br />
composé d’unnombre<strong>de</strong>somm<strong>et</strong>sréduit. La segmentation du maillage initial est finalement<br />
obtenue en inversant le processus <strong>de</strong> simplification <strong>et</strong> en propageant les étiqu<strong>et</strong>tes <strong>de</strong> la partition<br />
à partir du maillage <strong>de</strong> base jusqu’au maillage initial.<br />
Les différents patchs ainsi obtenus sont découpés en composantes connexes individuelles.<br />
Cela est réalisé en dupliquant les somm<strong>et</strong>s <strong>et</strong> les arêtes situés àlafrontière <strong>de</strong>s différents patchs.<br />
La Figure 3.5 illustre un exemple <strong>de</strong> découpage d’un maillage en <strong>de</strong>ux patchs.<br />
(a) (b)<br />
Figure 3.5 : Découpage du maillage par duplication <strong>de</strong>s somm<strong>et</strong>s localisés aux bords <strong>de</strong>s<br />
patchs.
74 Codage par approximation B-Splines<br />
Notons que les patchs ainsi obtenus peuvent présenter <strong>de</strong>s bords multiples (Figure 3.6).<br />
Afin d’obtenir <strong>de</strong>s patchs homéomorphes à un disque, les différents contours <strong>de</strong> bord doivent<br />
alors être inter-connectés. Cela est réalisé à l’ai<strong>de</strong> d’un découpage supplémentaire. L’approche<br />
itérative que nous proposons consiste à connecter successivement une paire <strong>de</strong> contours <strong>de</strong> bord<br />
sélectionnée <strong>de</strong> façon aléatoire. Soient B1 <strong>et</strong> B2 <strong>de</strong>ux contours <strong>de</strong> bord sélectionnés. Deux somm<strong>et</strong>s<br />
supplémentaires v1 <strong>et</strong> v2, appelés somm<strong>et</strong>s fictifs, sont ensuite connectés respectivement<br />
aux bords B1 <strong>et</strong> B2. C<strong>et</strong>te opération consiste àinsérer <strong>de</strong>s arêtes supplémentaires connectant<br />
chacun <strong>de</strong>s <strong>de</strong>ux somm<strong>et</strong>s fictifs v1 ou v2 à l’ensemble <strong>de</strong>s somm<strong>et</strong>s du contour <strong>de</strong> bord associé<br />
B1 ou B2. L’algorithme <strong>de</strong> Dijkstra (avec <strong>de</strong>s poids unitaires pour toutes les arêtes du maillage)<br />
[77] est ensuite appliqué afin <strong>de</strong> calculer le plus court chemin entre v1 and v2. Lepatch est finalement<br />
découpé selon le chemin ainsi déterminé. C<strong>et</strong>te procédure est réitérée jusqu’à obtenir<br />
un bord unique. La Figure 3.6 illustre ce processus.<br />
(a) (b) (c)<br />
Figure 3.6 : Elimination <strong>de</strong>s bords multiples : (a) patch avec <strong>de</strong>ux bords B1 <strong>et</strong> B2, (b) <strong>de</strong>ux<br />
somm<strong>et</strong>s fictifs v1 <strong>et</strong> v2 respectivement connectés à B1 <strong>et</strong> B2, <strong>et</strong>(c)découpage du patch selon<br />
le plus court chemin entre v1 <strong>et</strong> v2.<br />
Une <strong>de</strong>rnière optimisation perm<strong>et</strong> d’éviter d’obtenir <strong>de</strong>s patchs <strong>de</strong> formes tubulaires ou<br />
allongées, en intégrant dans la procédure d’optimisation un paramètre <strong>de</strong> forme global, noté<br />
ρ, défini comme le rapport entre l’aire s du patch <strong>et</strong> la longueur l <strong>de</strong> son bord :<br />
ρ = l2<br />
. (3.5)<br />
s<br />
Cela vise notamment à obtenir <strong>de</strong>s patchs bien adaptés au processus ultérieur <strong>de</strong> paramétrisation<br />
<strong>et</strong> àéviter donc <strong>de</strong>s paramétrisations <strong>de</strong> haute distorsion.<br />
Le principe est d’appliquer un découpage supplémentaire, ayant comme objectif l’élargissement<br />
du bord (Figure 3.7). Le chemin <strong>de</strong> découpage est défini <strong>de</strong> façon analogue à celle décrite ci<strong>de</strong>ssus.<br />
Ici, le chemin le plus court <strong>de</strong> Dijkstra est calculé entre un somm<strong>et</strong> v ficitif connecté<br />
au bord du patch <strong>et</strong> le somm<strong>et</strong> interne v0 <strong>de</strong> plus gran<strong>de</strong> courbure gaussienne. Ce processus<br />
est ré-itéré jusqu’àobtenir un rapport <strong>de</strong> forme ρ autour <strong>de</strong> la valeur 16, qui correspond à une<br />
surface plane <strong>de</strong> forme <strong>de</strong> carré.<br />
La Figure 3.8 présente les résultats <strong>de</strong> segmentation obtenus pour différents <strong>maillages</strong> <strong>3D</strong><br />
avec un nombre <strong>de</strong> somm<strong>et</strong>s variant <strong>de</strong> 34000 à 67000 <strong>et</strong> pour un nombre <strong>de</strong> patchs K = 50.<br />
Pour l’ensemble <strong>de</strong> ces <strong>maillages</strong>, les temps <strong>de</strong> calcul (sur une machine P4, 1.8 GHz <strong>et</strong> 1 Go<br />
RAM) nécessaires pour obtenir les partitions finales sont inférieurs à1secon<strong>de</strong>.
3.2 Codage par surfaces B-Splines 75<br />
(a) (b) (c)<br />
Figure 3.7 : Optimisation <strong>de</strong> la paramétrisation par élargement du bord : (a) Paramétrisation<br />
initiale avec <strong>de</strong>s hautes distorsions <strong>de</strong> paramétrisation ; (b) Somm<strong>et</strong> fictif v connecté aubord,<br />
somm<strong>et</strong> interne v0 ayant la plus gran<strong>de</strong> courbure Gaussienne <strong>et</strong> découpage du maillage selon<br />
le plus court chemin entre v <strong>et</strong> v0 ;(c)Paramétrisation finale <strong>de</strong> distorsion plus faible.
76 Codage par approximation B-Splines<br />
(a) “Bunny” (K = 50, V = 34834) (b) “Gargoyle” (K = 50, V = 50002) (c) “Horse” (K = 50, V = 48485)<br />
(d) “Venus” (K = 50, V = 50002) (e) “Rabbit” (K = 50, V = 67038) (f) “Planck” (K = 50, V = 49132)<br />
(g) “Dinosaur” (K = 50, V = 56437) (h) “Tyra” (K = 50, V = 60002)<br />
Figure 3.8 : Segmentation <strong>de</strong> <strong>maillages</strong> <strong>de</strong> diverses formes <strong>et</strong> complexités.<br />
Chaque patch <strong>de</strong> la partition obtenue est ensuite mis en correspondance avec un domaine<br />
carré 2D, en effectuant une paramétrisation, comme décrit dans le paragraphe suivant.<br />
3.2.3 Paramétrisation<br />
Par définition, une paramétrisation d’une surface S homéomorphe à un disque est une<br />
application continue <strong>et</strong> bijective f, définie sur un domaine paramétrique Ω ⊂ R 2 simplement<br />
connexe par :<br />
f : Ω ⊂ R 2 → S ⊂ R 3<br />
(u1,u2) ↦→ f(u1,u2) =(fx(u1,u2),fy(u1,u2),fz(u1,u2)) t . (3.6)<br />
Notons qu’il est d’usage [78] d’imposer <strong>de</strong>s contraintes supplémentaires àlafonctionf, comme
3.2 Codage par surfaces B-Splines 77<br />
celle <strong>de</strong> C n différentiabilité pour pouvoir définir <strong>de</strong>s attributs <strong>et</strong> caractéristiques intrinsèques<br />
(e.g., normales, courbures) àlasurfaceS. Dans notre cas, comme proposé dans [79], nous allons<br />
nous placer dans un contexte générique, sans aucune contrainte donc sur la différentiabilité <strong>de</strong><br />
f.<br />
Dans le cas <strong>de</strong>s <strong>maillages</strong> triangulaires, il est commo<strong>de</strong> <strong>de</strong> considérer une paramétrisation<br />
f linéaire sur chacun <strong>de</strong>s triangles <strong>de</strong> M. Cela implique que l’image par la fonction f <strong>de</strong>s<br />
triangles du maillage <strong>3D</strong> soit <strong>de</strong>s triangles 2D. Il en résulte que le domaine paramétrique Ω<br />
peut être également décrit par un maillage 2D, noté MΩ, <strong>de</strong> connectivité i<strong>de</strong>ntique à celle<br />
du maillage initial M. Lagéométrie <strong>de</strong> MΩ est alors totalement spécifiée par les coordonnées<br />
paramétriques {μv =(u1(v),u2(v)}v∈V associées aux somm<strong>et</strong>s du maillage, comme décrit dans<br />
la relation suivante :<br />
∀ v ∈V, f(u1(v),u2(v)) = χv. (3.7)<br />
En outre, par contrainte <strong>de</strong> linéarité, disposer <strong>de</strong>s coordonnées paramétriques (u1(v),u2(v))v∈V<br />
<strong>de</strong>s somm<strong>et</strong>s du maillage M détermine <strong>de</strong> façon unique la paramétrisation f qui est alors définie<br />
par :<br />
f : Ω → R3 μ → α(μ).χvA + β(μ).χvB + γ(μ).χvC<br />
, (3.8)<br />
avec<br />
• μ un point arbitraire du domaine paramétrique Ω,<br />
• tj le triangle 2D <strong>de</strong> Ω auquel le point μ appartient,<br />
• vA, vB <strong>et</strong> vC les trois somm<strong>et</strong>s du triangle tj,<br />
• μvA(μ), μvB(μ) <strong>et</strong> μvC(μ) les vecteurs <strong>3D</strong> <strong>de</strong>s coordonnées paramétriques associés à vA, vB<br />
<strong>et</strong> vC,<br />
• α(μ), β(μ) <strong>et</strong>γ(μ) les coordonnées barycentriques [80] du point μ dans le triangle tj <strong>de</strong><br />
Ωdéfinies par :<br />
(μvB − μ) ∧ (μvC − μ)|<br />
α(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(3.9)<br />
(μvA − μ) ∧ (μvC − μ)<br />
β(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(3.10)<br />
(μvA − μ) ∧ (μvB − μ)<br />
γ(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(3.11)<br />
où ∧ désigne le produit vectoriel entre <strong>de</strong>ux vecteurs <strong>de</strong> R 2 .<br />
La Figure 3.9 illustre un exemple <strong>de</strong> paramétrisation d’un maillage triangulaire <strong>3D</strong> sur une<br />
domaine 2D carré.
78 Codage par approximation B-Splines<br />
Figure 3.9 : Paramétrisation d’un maillage triangulaire sur un domaine 2D carré.<br />
Ainsi, dériver une paramétrisation linéaire par morceaux pour un maillage <strong>3D</strong> revient à<br />
calculer l’ensemble <strong>de</strong>s coordonnées paramétriques associées aux somm<strong>et</strong>s.<br />
La problématique <strong>de</strong> paramétrisation <strong>de</strong> surfaces triangulées a été largement étudiée dans<br />
la littérature [71, 81, 79, 78]. Les nombreuses techniques existantes combinent informations<br />
géométriques <strong>et</strong> topologiques pour minimiser différents critères <strong>de</strong> distorsion qui renvoient au<br />
principe <strong>de</strong> préservation <strong>de</strong>s propriétés métriques (longueurs, aires, angles) <strong>de</strong>s triangles entre<br />
domaines initial <strong>et</strong> paramétrique.<br />
Cependant, dans le cadre <strong>de</strong> notre schéma <strong>de</strong> compression, la paramétrisation doit être<br />
dérivée uniquement à partir <strong>de</strong> l’information <strong>de</strong> connectivité, puisqu’elle sert àdéterminer les<br />
propriétés géométriques du maillage.<br />
Pour c<strong>et</strong>te raison, nous avons r<strong>et</strong>enu la métho<strong>de</strong> classique <strong>de</strong> Tutte [71] qui perm<strong>et</strong> <strong>de</strong><br />
plonger dans R 2 tout graphe planaire simplement connexe sans auto-intersection <strong>de</strong> ses arêtes.<br />
C<strong>et</strong>te procédure consiste à:<br />
• M<strong>et</strong>tre en correspondance le bord du patch avec le bord d’une forme convexe planaire,<br />
• Calculer les positions <strong>de</strong>s somm<strong>et</strong>s internes, sous l’hypothèse que chaque somm<strong>et</strong> est le<br />
barycentre <strong>de</strong> ses voisins.<br />
Afin <strong>de</strong> minimiser les distorsions inhérentes à une métho<strong>de</strong> <strong>de</strong> paramétrisation qui ne prend<br />
pas en compte les propriétés géométriques du maillage, nous avons appliqué l’algorithme décrit<br />
dans [81] qui raffine successivement la paramétrisation initiale <strong>de</strong> Tutte, sous l’hypothèse que<br />
tous les triangles du maillage ont <strong>de</strong>s aspects <strong>de</strong> forme comparables. La Figure 3.11 présente<br />
les trois paramétrisations obtenues en appliquant la métho<strong>de</strong> <strong>de</strong> Tutte, la métho<strong>de</strong> <strong>de</strong> Tutte<br />
optimisée ainsi que celle <strong>de</strong> Floater [73], qui intègre les propriétés géométriques du maillage.<br />
Les courbes illustrées en bleu <strong>et</strong> en rouge, notées respectivement par (Cu1(j)) <strong>et</strong> (Cu2(j)),<br />
correspon<strong>de</strong>nt aux courbes iso-paramètriques <strong>et</strong> sont définies comme suit :<br />
∀j ∈{1, ..., J}, Cu1(j) ={f(u1,u2)/u1 ∈ [0, 1],u2 = j<br />
}, (3.12)<br />
J<br />
∀j ∈{1, ..., J}, Cu2(j) ={f(u1,u2)/u2 ∈ [0, 1],u1 = j<br />
}, (3.13)<br />
J
3.2 Codage par surfaces B-Splines 79<br />
Ces courbes correspon<strong>de</strong>nt dans le domaine paramétrique à une lattice rectangulaire unitaire<br />
(Figure 3.10). Par conséquent, si la paramétrisation f est une isométrie (i.e., préservation<br />
<strong>de</strong>s angles <strong>et</strong> <strong>de</strong>s distances) les images <strong>de</strong> ces courbes <strong>de</strong>vront être equidistantes <strong>et</strong> <strong>de</strong>ux à<strong>de</strong>ux<br />
perpendiculaires. Dans le cas général, cela n’est possible quepour <strong>de</strong>s fonctions développables<br />
[78], i.e. surfaces réglées <strong>de</strong> courbure gausienne nulle (e.g. cylindre, cône...).<br />
La qualité <strong>de</strong> la paramétrisation obtenue est alors évaluée par <strong>de</strong>s mesures <strong>de</strong> préservation<br />
<strong>de</strong>s angles <strong>et</strong> <strong>de</strong>s distances. Les résultats illustrés Figure 3.11 montrent que l’approche <strong>de</strong><br />
Floater conduit à la meilleure paramétrisation. Notons néanmoins que l’approche <strong>de</strong> Tutte<br />
optimisée améliore n<strong>et</strong>tement la qualité<strong>de</strong>laparamétrisation par rapport à l’approche originale<br />
<strong>de</strong> Tutte.<br />
Figure 3.10 : Les courbes isoparamétriques dans le domaine paramétrique.<br />
Au niveau algorithmique, la métho<strong>de</strong> <strong>de</strong> Tutte optimisée [73] revient àrésoudre <strong>de</strong>s systèmes<br />
linéaires décrits par <strong>de</strong>s matrices creuses, symétriques, définies positives <strong>de</strong> taille Vk × Vk (avec<br />
Vk nombre <strong>de</strong>s somm<strong>et</strong>s du k-ième patch). En utilisant la métho<strong>de</strong> du gradient conjugué [82],<br />
les temps <strong>de</strong> calcul sont <strong>de</strong> l’ordre <strong>de</strong> 0.3 secon<strong>de</strong>s par patch sur une machine P4/1.8GHz dotée<br />
d’un 1 Go <strong>de</strong> mémoire RAM.<br />
La paramétrisation obtenue perm<strong>et</strong> en particulier d’approcher chaque patch du maillage<br />
par une surface B-Spline, comme décrit dans la section suivante.<br />
3.2.4 Approximation par surfaces B-Splines<br />
En raison <strong>de</strong> leurs nombreuses propriétés mathématiques (surfaces lisses, régularité, contrôle<br />
local, calcul rapi<strong>de</strong> <strong>de</strong>s propriétés géométriques ...), les surfaces B-splines ont été exploitées dans<br />
divers domaines <strong>de</strong> modélisation <strong>3D</strong> en général, <strong>et</strong> dans celui <strong>de</strong> la CAO en particulier.<br />
Une surface B-Spline (voir [83] pour une présentation in extenso) estdéfinie par :<br />
∀(u1,u2) ∈ [0, 1] × [0, 1], S(u1,u2) =<br />
n<br />
i=0<br />
m<br />
PijNi,p(u1)Nj,q(u2), (3.14)<br />
où (u1,u2) sont les coordonnées paramétriques, Pij ∈ R 3 lespoints<strong>de</strong>contrôle<strong>de</strong>lasurface<br />
<strong>et</strong> Ni,p(u1) <strong>et</strong>Nj,q(u2) les fonctions <strong>de</strong> base B-Splines <strong>de</strong> <strong>de</strong>grés p <strong>et</strong> q, définies respectivement<br />
sur les vecteurs <strong>de</strong> noeuds U <strong>et</strong> V suivants :<br />
j=0
80 Codage par approximation B-Splines<br />
(a) (b) (c)<br />
(d) (e) (f)<br />
Figure 3.11 : Paramétrisation d’un patch par différentes métho<strong>de</strong>s <strong>de</strong> paramétrisation : (a)<br />
Tutte, (b) Tutte optimisé <strong>et</strong> (c) Floater.<br />
U = {0,...,0,u<br />
<br />
p+1<br />
p+1<br />
1 ,...,u i 1 ,...,un 1<br />
, 1,...,1},<br />
(3.15)<br />
<br />
p+1<br />
V = {0,...,0,u<br />
<br />
q+1<br />
q+1<br />
2 ,...,u j q,...,u m 2 , 1,...,1}.<br />
<br />
(3.16)<br />
q+1<br />
La paramétrisation associe à chaque somm<strong>et</strong> du maillage un couple (u1,u2) ∈ R 2 <strong>de</strong> coordonnées<br />
paramétriques. L’ensemble <strong>de</strong>s somm<strong>et</strong>s du maillage échantillonne ainsi irrégulièrement<br />
le domaine paramétrique. Approcher un ensemble <strong>de</strong> points irréguliers par une surface B-Spline<br />
est bien sûr possible, en utilisant par exemple les algorithmes décrits dans [84, 85]. Toutefois,<br />
ces procédures d’optimisation non-linéaire sont complexes en temps calcul <strong>et</strong> ne garantissent<br />
pas la convergence dans tous les cas.<br />
Pour c<strong>et</strong>te raison, nous avons adopté la solution simple, mais efficace décrite dans [83], qui<br />
consiste à:<br />
• Calculer une grille <strong>de</strong> points (Qkl) sur la surface du maillage en échantillonnant uniformément<br />
le domaine paramétrique,<br />
• Déterminer la matrice P =(Pij) <strong>de</strong>s points <strong>de</strong> contrôle <strong>de</strong> la surface B-Spline approchant<br />
<strong>de</strong> manière optimale (au sens <strong>de</strong>s moindres carrés) les points (Qkl).<br />
La matrice P est déterminée en appliquant l’approche d’approximation par courbes <strong>de</strong><br />
section décrite dans [83], qui garantit l’existence <strong>de</strong> la solution.<br />
Etant définis sur une grille rectangulaire, les points <strong>de</strong> contrôle (Pij) sontquantifiés sur<br />
8 bits <strong>et</strong> puis stockés dans trois images à niveaux <strong>de</strong> gris (P x y<br />
z<br />
ij ), (Pij )<strong>et</strong>(Pij ). Ces images<br />
sont finalement compressées en utilisant un co<strong>de</strong>ur progressif JPEG2000, adopté enraison
3.3 Résultats expérimentaux 81<br />
<strong>de</strong> ses performances optimisées. Les vecteurs <strong>de</strong>s noeuds U <strong>et</strong> V sont également quantifiés,<br />
linéairement prédits (prédiction <strong>de</strong>lta) <strong>et</strong> codés arithmétiquement. Les dégrés p <strong>et</strong> q <strong>de</strong> la<br />
surface B-splinees sont intégrés tel que dans le flux binaire généré.<br />
La procédure décrite ci-<strong>de</strong>ssus perm<strong>et</strong> ainsi <strong>de</strong> représenter la géométrie <strong>de</strong> chaque patch.<br />
Comme la connectivité <strong>de</strong>s différents patchs est également codée sans pertes, la <strong>de</strong>rnière<br />
étape revient à co<strong>de</strong>r l’information nécessaire pour pourvoir recoller les patchs <strong>et</strong> reconstruire<br />
intégralement la connectivité initiale.<br />
3.2.5 Recollage <strong>de</strong>s patchs<br />
Afin que le déco<strong>de</strong>ur puisse recoller les différents patchs <strong>de</strong> la représentation, une information<br />
auxiliaire décrivant les coupes opérées sur le maillage (cf. Section 3.2.2) doit être inclue<br />
dans le flux binaire. En eff<strong>et</strong>, pour chaque coupe C l’information suivante doit être transmise<br />
au déco<strong>de</strong>ur :<br />
• les numéros p1 <strong>et</strong> p2 <strong>de</strong>s <strong>de</strong>ux patchs àêtre connectés,<br />
• les in<strong>de</strong>x <strong>de</strong>s somm<strong>et</strong>s v 1 <strong>et</strong> v 2 <strong>de</strong> départ localisés respectivement sur les bords <strong>de</strong>s patchs<br />
à connecter,<br />
• le nombre NC <strong>de</strong>s somm<strong>et</strong>s à fusionner,<br />
• les <strong>de</strong>ux sens <strong>de</strong> parcours s 1 <strong>et</strong> s 2 sur les bords <strong>de</strong>s <strong>de</strong>ux patchs.<br />
Au niveau du déco<strong>de</strong>ur, en partant <strong>de</strong>s <strong>de</strong>ux somm<strong>et</strong>s v 1 <strong>et</strong> v 2 ,lespatchs p1 <strong>et</strong> p2 sont parcourus<br />
en suivant les <strong>de</strong>ux sens s 1 <strong>et</strong> s 2 .Achaqueétape, les <strong>de</strong>ux somm<strong>et</strong>s correspondants sont<br />
fusionnés. Ce processus est réitéré jusqu’à ce que le nombre <strong>de</strong> somm<strong>et</strong>s traités soit égale à<br />
NC. La Figure 3.12 illustre l’algorithme <strong>de</strong> recollage proposé.<br />
(a) Patchs séparés (b) Patchs collés<br />
Figure 3.12 : Collage <strong>de</strong> <strong>de</strong>ux patchs : en partant <strong>de</strong>s <strong>de</strong>ux somm<strong>et</strong>s v 1 <strong>et</strong> v 2 <strong>et</strong> en suivant les<br />
<strong>de</strong>ux sens <strong>de</strong> parcours s 1 <strong>et</strong> s 2 ,ledéco<strong>de</strong>ur fusionne succesivement les NC somm<strong>et</strong>s <strong>de</strong> bords.<br />
3.3 Résultats expérimentaux<br />
Les expérimentations ont été conduites sur un ensemble d’une douzaine <strong>de</strong> <strong>maillages</strong> habituellement<br />
utilisés dans la littérature [64, 66, 65, 3] pour l’évaluation <strong>de</strong>s approches <strong>de</strong> compression.<br />
Ces <strong>maillages</strong> présentent <strong>de</strong>s géométries lisses, échantillonnées <strong>de</strong> façon <strong>de</strong>nse <strong>et</strong> sont
82 Codage par approximation B-Splines<br />
obtenus par numérisation <strong>3D</strong>. Les données originales sont disponibles sur les sites <strong>de</strong> l’université<br />
<strong>de</strong>Stanford 2 <strong>et</strong> <strong>de</strong> la société Cyberware 3 . Les performances <strong>de</strong>s co<strong>de</strong>urs sont évaluées en<br />
termes <strong>de</strong> courbes débit/distorsion. Les débits sont exprimés en bits par somm<strong>et</strong> (bps). Les<br />
distorsions sont mesurées en utilisant la distance RMSE entre <strong>maillages</strong> original <strong>et</strong> compressé,<br />
estimée avec le logiciel MESH 4 [51].<br />
Tous les résultats ont été obtenus pour <strong>de</strong>s partitions à50patchs <strong>et</strong> en utilisant <strong>de</strong>s surfaces<br />
B-Splines <strong>de</strong> <strong>de</strong>gé 2,avec24× 24 points <strong>de</strong> contrôle.<br />
La Figure 3.13 présente <strong>de</strong> façon comparée les courbes débit/distorsion obtenues pour les<br />
<strong>maillages</strong> “Venus”, “Bunny” <strong>et</strong> “Horse” avec la représentation B-Spline proposée, le co<strong>de</strong>ur <strong>de</strong><br />
Touma <strong>et</strong> Gotsman (TG) [3], le co<strong>de</strong>ur MPEG-4 [1] <strong>et</strong> l’approche <strong>de</strong> <strong>Compression</strong> Spectrale<br />
(CS) [52]. Pour c<strong>et</strong>te <strong>de</strong>rnière, nous avons considéré une segmentation en 120 patchs (afin <strong>de</strong><br />
réduire la complexité <strong>de</strong> calcul comme proposé dans [52]) <strong>et</strong> un spectre quantifié sur 14 bits.<br />
Le schéma <strong>de</strong> compression proposé conduit à <strong>de</strong> meilleurs résultats pour <strong>de</strong>s débits inférieurs<br />
à 8 bps pour les <strong>maillages</strong> “Venus” <strong>et</strong> “Horse”. Pour le modèle “Bunny”, l’approche spectrale<br />
offre <strong>de</strong> légers gains dans la plage <strong>de</strong>s débits inférieurs à 4 bps. Cependant, à partir <strong>de</strong> 3-4 bps,<br />
notre co<strong>de</strong>ur offre <strong>de</strong>s résultats supérieurs avec un gain moyen en débit <strong>de</strong> 10 à 30%.<br />
Pour <strong>de</strong>s débits supérieurs à 8 bps, le co<strong>de</strong>ur TG donne <strong>de</strong>s rapports débit/distorsion<br />
légèrement supérieurs. Cependant, les gains obtenus sont minimaux, les distorsions associées<br />
étant dans ce cas négligeables, i.e. <strong>de</strong> l’ordre <strong>de</strong> 0,02% <strong>de</strong> la diagonale <strong>de</strong> la boîte englobante<br />
du maillage. A ce niveau d’erreur, la qualité visuelle <strong>de</strong>s <strong>maillages</strong> reconstruits <strong>de</strong>vient quasiconstante.<br />
La Figure 3.14 illustre quelques <strong>maillages</strong> compressés selon les différentes métho<strong>de</strong>s. La<br />
qualité visuelle <strong>de</strong>s <strong>maillages</strong> compressés par l’approche B-Spline est n<strong>et</strong>tement supérieure à<br />
celles obtenues avec les co<strong>de</strong>urs TG <strong>et</strong> MPEG-4/<strong>3D</strong>MC. Cela s’explique par la représentation B-<br />
Spline qui garantit <strong>de</strong>s surfaces lisses tout au long du processus <strong>de</strong> transmission <strong>et</strong> en particulier<br />
à partir <strong>de</strong> très bas débits.<br />
Les Figures 3.15 <strong>et</strong> 3.16 illustrent la fonctionnalité <strong>de</strong> scalabilité en qualité duco<strong>de</strong>urB-<br />
Spline.<br />
Ces résultats démontrent que l’approche proposée est particulièrement adaptée pour les<br />
applications <strong>de</strong> compression progressive àbasdébits <strong>et</strong> sans perte <strong>de</strong> connectivité.<br />
2. www.stanford.edu<br />
3. www.cyberware.com<br />
4. http ://mesh.epfl.ch
3.3 Résultats expérimentaux 83<br />
(a) “Horse”<br />
(b) “Bunny”<br />
(c) “Venus”<br />
Figure 3.13 : Courbes débit/distorsion pour les modèles “Horse”, “Bunny” <strong>et</strong> “Venus”.
84 Codage par approximation B-Splines<br />
(a) 5.9 bps (b) 5.5 bps (c) 5.8 bps (d) 5.2 bps<br />
(e) 7.6 bps (f) 6 bps (g) 7.1 bps (h) 6.5 bps<br />
(i) 6.33 bps (j) 6 bps (k) 6.6 bps (l) 6.1 bps<br />
Figure 3.14 : Maillages “Horse”, “Venus” <strong>et</strong> “Bunny” compressés avec MPEG-4/<strong>3D</strong>MC (a,<br />
e <strong>et</strong> i), TG (b, f <strong>et</strong> j), CS (c, g <strong>et</strong> k) <strong>et</strong> notre approche (d, f, h <strong>et</strong> l).
3.3 Résultats expérimentaux 85<br />
(a) 10.9 bps (b) 8.4 bps (c) 6.3 bps (d) 5.6 bps<br />
(e) 9.9 bps (f) 7.8 bps (g) 5.9 bps (h) 5.3 bps<br />
(i) 9.5 bps (j) 7.9 bps (k) 5.9 bps (l) 4.9 bps<br />
(m) 9.2 bps (n) 8.5 bps (o) 6.1 bps (p) 5 bps<br />
Figure 3.15 : Résultats <strong>de</strong> compression àdifférents débits : (a, b, c <strong>et</strong> d) “Tyra”, (e, f, g <strong>et</strong><br />
h)“Gargoyle”,(i,j,k<strong>et</strong>l)“Hand”,(m,n,o<strong>et</strong>p)“Lucy”(Partie1).
86 Codage par approximation B-Splines<br />
(a) 9.6 bps (b) 7 bps (c) 5.9 bps (d) 4.6 bps<br />
(e) 10.4 bps (f) 7.8 bps (g) 6.2 bps (h) 5 bps<br />
(i) 8.8 bps (j) 6.7 bps (k) 6.2 bps (l) 4.6 bps<br />
(m) 9 bps (n) 8.4 bps (o) 6.4 bps (p) 5 bps<br />
Figure 3.16 : Résultats <strong>de</strong> compression àdifférents débits : (a, b, c <strong>et</strong> d) “Max Planck”, (e,<br />
f, g <strong>et</strong> h) “Dinosaur”, (i, j, k <strong>et</strong> l) “Rabbit”, (m, n, o <strong>et</strong> p) “Feline” (Partie 2).
3.4 Conclusion 87<br />
3.4 Conclusion<br />
Dans ce chapitre, nous avons présenté une nouvelle approche <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
fondée sur une approximation par surfaces B-splines. Le co<strong>de</strong>ur proposéétend la représentation<br />
par images géométriques [64] au contexte <strong>de</strong> codage sans perte <strong>de</strong> connectivité. Cela perm<strong>et</strong> notamment<br />
<strong>de</strong> s’affranchir <strong>de</strong>s problèmes <strong>de</strong> remaillage (e.g., discontinuités <strong>et</strong> sous-échantillonnage)<br />
dont souffrent les approches par images géométriques.<br />
En exploitant les standards optimisés <strong>de</strong> compression d’images fixes (e.g., JPEG2000), la<br />
technique B-spline perm<strong>et</strong> d’atteindre <strong>de</strong>s gains <strong>de</strong>s gains <strong>de</strong> l’ordre 10 à 30% en moyenne par<br />
rapport aux co<strong>de</strong>urs <strong>de</strong> compression spectrale, TG <strong>et</strong> MPEG-4/<strong>3D</strong>MC, en particulier à<strong>de</strong>s<br />
bas débits (inférieurs à 8 bits/somm<strong>et</strong>) tout en assurant la fonctionnalité supplémentaire <strong>de</strong><br />
scalabilité en qualité.
88 Codage par approximation B-Splines
Deuxième partie<br />
<strong>Compression</strong> <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong><br />
89
Chapitre4<br />
Représentation <strong>et</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Résumé : Ce chapitre présente un état <strong>de</strong> l’art <strong>de</strong>s principales techniques <strong>de</strong> création,<br />
représentation <strong>et</strong> compression <strong>de</strong> séquence d’animation <strong>3D</strong>. Les domaines d’application<br />
(jeux vidéo, films d’animation, simulations physiques, CAO...) ainsi que les outils <strong>et</strong> techniques<br />
utilisés pour générer ces contenus <strong>dynamiques</strong> sont tout d’abord passés en revue.<br />
Les différents formats <strong>de</strong> représentation <strong>3D</strong> ouverts (e.g., VRML, X<strong>3D</strong>, H-Anim, COL-<br />
LADA...) ou propriétaires (e.g., FBX,X<strong>3D</strong>,X,BLEND)montrentladifficulté<strong>de</strong>disposer<br />
d’un format d’échange universel. Toutefois, en dépit <strong>de</strong>s différences <strong>de</strong> langage <strong>et</strong> <strong>de</strong> syntaxe,<br />
<strong>de</strong>s représentations par trames clés sont généralement supportées par l’ensemble <strong>de</strong>s<br />
formats actuellement disponibles. Le choix d’une telle représentation est motivé par<strong>de</strong>s<br />
raisons d’interopérabilité, <strong>de</strong> généralité <strong>et</strong><strong>de</strong>protection<strong>de</strong>lapropriété intellectuelle. Son<br />
inconvénient majeur est en revanche lié auxcoûts importants <strong>de</strong> stockage <strong>et</strong> <strong>de</strong> transmission.<br />
D’où lanécessité d’outils <strong>de</strong> compression efficaces optimisés pour ce type <strong>de</strong> contenus.<br />
Lereste<strong>de</strong>cechapitreestdoncdédié àl’état <strong>de</strong> l’art <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong> représentés par trames clés. Les principales familles d’approches<br />
<strong>de</strong> la riche littérature émergente consacrée à ce suj<strong>et</strong> sont i<strong>de</strong>ntifiées, présentées <strong>et</strong> discutées,<br />
avec principe, avantages <strong>et</strong> limitations.<br />
Mots clés : <strong>Compression</strong>, <strong>maillages</strong> <strong>dynamiques</strong>, animation <strong>3D</strong>, représentation par<br />
trames clés, MPEG-4, VRML, H-Anim, COLLADA, X<strong>3D</strong>.<br />
91
92 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
4.1 Domaines d’application<br />
Les contenus <strong>dynamiques</strong> <strong>3D</strong> s’imposent aujourd’hui dans le mon<strong>de</strong> du multimédia au<br />
travers d’applications phares liées aux industries <strong>de</strong>s jeux vidéos, <strong>de</strong>s films d’animation ou<br />
encore <strong>de</strong> la création d’eff<strong>et</strong>s spéciaux en cinématographie, véritables vecteurs pour l’essor <strong>de</strong>s<br />
technologies <strong>3D</strong>.<br />
4.1.1 Films d’animation <strong>et</strong> eff<strong>et</strong>s spéciaux <strong>3D</strong><br />
Les premiers films d’animation <strong>3D</strong> on vu le jour au début <strong>de</strong>s années quatre-vingts. Citons<br />
à titre d’exemple le premier film narratif en image <strong>de</strong> synthèse <strong>3D</strong> “Vol <strong>de</strong> rêve” (Philippe<br />
Bergeron, Nadia Magnenat-Thalmann <strong>et</strong> Daniel Thalmann, 1982) ou encore le film “Tron”<br />
(Steven Lisberger, 1982) qui a introduit pour la première fois <strong>de</strong>s obj<strong>et</strong>s <strong>3D</strong> <strong>de</strong> synthèse dans<br />
un long métrage. Depuis, une multitu<strong>de</strong> <strong>de</strong> films exploitant <strong>de</strong>s techniques d’animation <strong>3D</strong><br />
ont été réalisés avec <strong>de</strong>s avancés technologiques plus au moins importantes àchaquefois.Des<br />
films comme “Bio Sensor” (Takashi Fukomoto <strong>et</strong> Hitoshi Nishimura, 1984), “Tony <strong>de</strong> Peltrie”<br />
(Philippe Bergeron, Daniel Langlois, Pierre Lachapelle <strong>et</strong> Pierre Robidoux, 1985) ont permis<br />
d’introduire les techniques <strong>de</strong> rotoscopie <strong>3D</strong>, d’animation <strong>3D</strong> par capture <strong>de</strong> mouvement <strong>et</strong> <strong>de</strong><br />
numérisation <strong>3D</strong>.<br />
(a) “Vol <strong>de</strong> rêve” (1982) (b) “Tony <strong>de</strong> Peltrie” (1985)<br />
Figure 4.1 : Extraits <strong>de</strong>s films d’animation <strong>3D</strong>.<br />
La fin <strong>de</strong>s années quatre-vingts a été marquée par le développement <strong>de</strong>s techniques d’animation<br />
procédurales (Section 4.2.2). Elles exploitent le plus souvent une modélisation physique<br />
ou une formulation algorithmique pour générer l’animation <strong>3D</strong> souhaitée. A titre d’exemples,<br />
citons les films “Stanley and Stella in breaking the Ice” (Lary Malone, 1987), “Eurhythmy”<br />
(Susan Amkraut <strong>et</strong> Michael Girard, 1989), “Particle Dreams” (Karl Sims, 1988), “A sequence<br />
From The Evolution of Form” (William Latham, 1989), “Tipsy Turvy” (Thomas J. Watson,<br />
1989) ou encore “Panspermia” (Karl Sims, 1990).<br />
A partir du début <strong>de</strong>s années quatre-vingt-dix, une nouvelle ère s’ouvre pour les films<br />
d’animation <strong>3D</strong> qui exploitent massivement les techniques d’acquisition numérique, <strong>de</strong> capture<br />
<strong>de</strong> mouvement ainsi que <strong>de</strong>s modèles sophistiquées pour l’animation <strong>de</strong>s personnages.<br />
Des films comme “Terminator 2” (Etats-unis, 1991), “Jurrassic Park” (Etats-unis, 1993), ou<br />
la trilogie “Matrix” (Etats-unis, 1999-2003) m<strong>et</strong>tent en scène <strong>de</strong>s personnages virtuels <strong>3D</strong> qui<br />
interagissent avec <strong>de</strong>s scènes réelles. Les eff<strong>et</strong>s spéciaux produits sont d’une qualité exceptionnelle.<br />
C<strong>et</strong>te décennie a vu également un développement spectaculaire <strong>de</strong>s films d’animation
4.1 Domaines d’application 93<br />
purement <strong>3D</strong>, tels que “Shrek” (DreamWorks, 2001, budg<strong>et</strong> 60 millions USD) ou “Beowulf”<br />
(Robert Zemeckis, 2007, 150 millions USD) qui ont bénéficié d’investissements importants <strong>et</strong><br />
trouvé auprès du public le large succès que l’on sait.<br />
Parallèlement à l’industrie du cinéma, le mon<strong>de</strong> <strong>de</strong>s jeux vidéo a connu un grand essor au<br />
cours <strong>de</strong> ces <strong>de</strong>rnières décennies.<br />
4.1.2 Jeux vidéos<br />
Le premier jeu vidéo <strong>3D</strong> sur micro-ordinateur, appelé “<strong>3D</strong> Monster Maze”, a été développé<br />
par Malcolm Evans en 1981. Depuis, ce domaine a connu un grand essor surtout pendant<br />
les années quatre-vingt-dix avec le développement considérable <strong>de</strong>s performances <strong>de</strong> calcul<br />
<strong>de</strong>s consoles <strong>de</strong> jeux <strong>et</strong> <strong>de</strong>s cartes graphiques <strong>3D</strong> grand public. Des jeux comme “Doom”<br />
(id Software, 1993) ou “Tomb Rai<strong>de</strong>r” (Core Design, 1996) ont permis le développement <strong>de</strong><br />
moteurs <strong>de</strong> rendu purement <strong>3D</strong> avec <strong>de</strong>s techniques d’animation optimisées <strong>et</strong> dédiées àc<strong>et</strong>ype<br />
<strong>de</strong> contenus.<br />
(a) “<strong>3D</strong> Monster Maze (1981)” (1982) (b) “Doom” (1993)<br />
Figure 4.2 : Extraits <strong>de</strong>s jeux vidéo <strong>3D</strong>.<br />
En raison <strong>de</strong> l’interactivité permanente avec le joueur, <strong>de</strong>s contraintes <strong>de</strong> rendu en temps<br />
réel, ainsi que <strong>de</strong>s performances <strong>de</strong> calcul relativement limitées <strong>de</strong>s consoles <strong>de</strong> jeux <strong>et</strong> <strong>de</strong>s cartes<br />
graphiques grand public, les jeux vidéo exploitent <strong>de</strong>s techniques d’animations différentes <strong>de</strong><br />
celles mise en oeuvre pour la création <strong>de</strong> films d’animation ou d’eff<strong>et</strong>s spéciaux. En eff<strong>et</strong>, l’interactivité<br />
avec le joueur, composante essentielle d’un jeu vidéo, implique <strong>de</strong>s contraintes strictes<br />
<strong>de</strong> calcul <strong>et</strong> <strong>de</strong> rendu en temps réel. De plus, un jeu vidéo <strong>3D</strong> doit gérer <strong>de</strong> façon cohérente<br />
tout un mon<strong>de</strong> <strong>3D</strong> (e.g., calcul <strong>de</strong> collisions, gestions <strong>de</strong>s déplacements <strong>de</strong>s comportements<br />
<strong>de</strong>s personnages, modélisation <strong>et</strong> connexions entre sous-environnements du jeu...) alors que<br />
les films d’animation se focalisent seulement sur les obj<strong>et</strong>s <strong>3D</strong> <strong>de</strong> la scène se trouvant dans le<br />
champs <strong>de</strong> vision <strong>de</strong> la caméra.<br />
Afin <strong>de</strong> répondre à ces contraintes spécifiques, les jeux vidéo exploitent le plus souvent <strong>de</strong>s<br />
modèles animés <strong>de</strong> géométries simples combinées à <strong>de</strong>s images <strong>de</strong> textures <strong>de</strong> haute qualité.<br />
Des techniques plus sophistiquées m<strong>et</strong>tent en oeuvre <strong>de</strong>s représentations hiérarchiques <strong>de</strong>s<br />
personnages avec différents niveaux <strong>de</strong> détails qui sont sélectionnés selon la position <strong>de</strong> la<br />
caméra <strong>et</strong> les capacités d’affichage. Par exemple, le jeu “Final Fantasy X” (Square Enix, 2003)<br />
exploite trois niveaux <strong>de</strong> détails : 1) le niveau grossier (super-<strong>de</strong>formed) utilisé lors <strong>de</strong> l’affichage
94 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
du mon<strong>de</strong> virtuel, 2) le niveau moyen (normal-sized) sélectionné pour le rendu <strong>de</strong> combat <strong>et</strong><br />
pour <strong>de</strong>s scènes interactives <strong>et</strong> 3) le niveau <strong>de</strong> haute qualité (smooth mo<strong>de</strong>ls) considéré pourle<br />
rendu <strong>de</strong> scènes non-interactives.<br />
Lesjeuxvidéo privilégient également les techniques d’animation par trames clés combinées<br />
à<strong>de</strong>smodèles articulés afin d’assurer un contrôle intuitif <strong>de</strong>s personnages. Des approches<br />
procédurales fondées sur <strong>de</strong>s lois relativement simples sont généralement utilisées pour l’animation<br />
du décor (e.g., animation <strong>de</strong> l’herbe).<br />
La convergence <strong>de</strong>s domaines <strong>de</strong>s télécommunications <strong>et</strong> <strong>de</strong> l’informatique a privilégié plus<br />
récemment le développement <strong>de</strong>s jeux en ligne (e.g., lejeuSecond Life 1 , 2003) <strong>et</strong> <strong>de</strong>s jeux sur<br />
téléphone portable (e.g., lejeuAstérix aux J.O. pour téléphone portable, 2008).<br />
Ces nouvelles applications lancent aujourd’hui <strong>de</strong> nouveaux défis technologiques [86] liées<br />
à la compression <strong>et</strong> à la transmission <strong>de</strong>s animations <strong>3D</strong> via <strong>de</strong>s réseaux hétérogènes <strong>et</strong> pour<br />
<strong>de</strong>s terminaux <strong>de</strong> capacités variables. Dans ce contexte, l’exemple type est celui <strong>de</strong>s jeux sur<br />
téléphones portables. Ainsi, d’après le rapport annuel <strong>de</strong> Gartner Inc. 2 ,lemarché<strong>de</strong>sjeux<br />
vidéos sur téléphones mobiles a connu une croissance <strong>de</strong> 49,9% en 2007 <strong>et</strong> s’élève aujourd’hui à<br />
un chiffre d’affaires <strong>de</strong> 4,3 millards <strong>de</strong> dollars américains. Selon les même prévisions, il atteindra<br />
9,6 millards <strong>de</strong> dollars en 2011.<br />
Quelle que soit l’application considérée, disposer <strong>et</strong> consommer <strong>de</strong>s contenus <strong>3D</strong> <strong>dynamiques</strong><br />
seraient impossible sans <strong>de</strong>s techniques appropriées <strong>et</strong> performantes <strong>de</strong> création. Analysons,<br />
dans le paragraphe suivant, les principales familles d’approches <strong>de</strong> création d’animations<br />
développées aujourd’hui.<br />
4.2 Techniques <strong>de</strong> création d’animation <strong>3D</strong><br />
Animer un obj<strong>et</strong> <strong>3D</strong> consiste àdécrire son mouvement <strong>et</strong>/ou les déformations qu’il subit<br />
pendant une pério<strong>de</strong> temporelle donnée. Le plus souvent cela revient àgénérer une séquence<br />
d’obj<strong>et</strong>s <strong>3D</strong> qui décrit l’évolution temporelle d’une surface <strong>3D</strong> (i.e. changement <strong>de</strong>s positions<br />
<strong>de</strong>s somm<strong>et</strong>s, <strong>de</strong>s normales, <strong>de</strong>s couleurs...).<br />
Une première approche pour la génération <strong>de</strong> contenus animés consiste àspécifier directement<br />
les propriétés <strong>de</strong>s obj<strong>et</strong>s <strong>3D</strong> en fonction du temps. A l’évi<strong>de</strong>nce, une telle approche<br />
(lour<strong>de</strong> <strong>et</strong> non-intuitive) est non-utilisable même dans le cas <strong>de</strong> modèles <strong>3D</strong> simples.<br />
Afin <strong>de</strong> simplifier la tâche <strong>de</strong>s créateurs <strong>de</strong> contenus animés, la majorité <strong>de</strong>s techniques<br />
d’animation proposent <strong>de</strong> décrire l’animation en exploitant <strong>de</strong>s modèles <strong>de</strong> mouvement <strong>et</strong>/ou<br />
<strong>de</strong> déformation. L’étu<strong>de</strong> <strong>de</strong> l’état <strong>de</strong> l’art fait ressortir <strong>de</strong>ux gran<strong>de</strong>s familles d’approches : 1)<br />
les modèles <strong>de</strong>scriptifs <strong>et</strong> 2) les métho<strong>de</strong>s procédurales.<br />
4.2.1 Animation par modèles <strong>de</strong>scriptifs<br />
Les techniques d’animation par modèles <strong>de</strong>scriptifs (Tableau 4.1) reposent sur une représentation<br />
explicite <strong>de</strong> l’animation qui décrit pour chaque trame clés les paramètres du champ <strong>de</strong> mouvement<br />
ou <strong>de</strong> déformation associé. Une interpolation temporelle [87, 88, 89, 90] (e.g., linéaire,<br />
curviligne, par quaternions ou par fonctions implicites) est généralement utilisée afin <strong>de</strong> générer<br />
l’ensemble <strong>de</strong>s trames nécessaires pour constituer une séquence d’animation flui<strong>de</strong> à la ca<strong>de</strong>nce<br />
1. http ://secondlife.com/<br />
2. http ://www.gartner.com/
4.2 Techniques <strong>de</strong> création d’animation <strong>3D</strong> 95<br />
vidéo requise (e.g., 25à 30 trames par secon<strong>de</strong>s). Les approches d’animation par modèles <strong>de</strong>scriptifs<br />
perm<strong>et</strong>tent aux créateurs <strong>de</strong> contrôler <strong>de</strong> façon précise le déroulement <strong>de</strong> l’animation.<br />
Elles nécessitent cependant un volume important d’interaction utilisateur pour la spécification<br />
<strong>de</strong>s trames clés.<br />
4.2.2 Animation procédurale<br />
Les techniques d’animation procédurale (Tableau 4.2) s’appuient sur un ensemble <strong>de</strong> lois<br />
physiques, mathématiques ou comportementales pour décrire l’animation. Ces approches perm<strong>et</strong>tent<br />
<strong>de</strong> générer <strong>de</strong> façon dynamique (i.e., en tenant compte <strong>de</strong> l’interaction avec l’utilisateur<br />
ou <strong>de</strong>s changements <strong>de</strong> l’environnement) <strong>et</strong> automatique <strong>de</strong>s animations réalistes <strong>et</strong> <strong>de</strong> haute<br />
qualité. Notons cependant que les possibilités <strong>de</strong> contrôle du déroulement temporel <strong>de</strong> l’animation<br />
restent limitées.<br />
Afin d’obtenir <strong>de</strong>s animations réalistes, les artistes combinent le plus souvent plusieurs<br />
techniques <strong>de</strong> création d’animation, dans le cadre <strong>de</strong> processus <strong>de</strong> création complexes. A chaque<br />
étape du processus <strong>de</strong> création <strong>de</strong>s animations <strong>3D</strong>, le créateur doit spécifier <strong>et</strong> raffiner les<br />
paramètres du modèle d’animation sous-jacent (e.g., positions <strong>et</strong> zones d’influence <strong>de</strong>s points<br />
ou courbes <strong>de</strong> contrôle, transformées affines <strong>et</strong> poids d’animation pour le modèle<strong>de</strong>peau,<br />
paramètres <strong>de</strong>s modèles physiques...).<br />
C<strong>et</strong>te tâche coûteuse <strong>et</strong> fastidieuse nécessite en pratique plusieurs itérations <strong>et</strong> une gran<strong>de</strong><br />
expérience <strong>de</strong> la part <strong>de</strong>s utilisateurs. A titre d’exemple, <strong>de</strong>s films d’animation comme Shrek 3<br />
ou Ratatouille 4 mobilisent <strong>de</strong>s équipes entières d’artistes pendant plusieurs années.<br />
L’étape<strong>de</strong>spécification <strong>de</strong>s paramètres d’animation est en général réalisée en exploitant<br />
<strong>de</strong>s environnements professionnels <strong>de</strong> modélisation <strong>3D</strong> (e.g., <strong>3D</strong>SMAX5ou Maya 6 )ainsique<br />
<strong>de</strong>s techniques <strong>de</strong> capture <strong>de</strong> mouvement [91, 92, 93]. Les animations sont enfin exportées aux<br />
différents formats, suivant les applications envisagées <strong>et</strong> les environnements <strong>de</strong> travail disponibles.<br />
La section suivante passe en revue les principaux standards/formats <strong>de</strong> représentation<br />
<strong>de</strong>s animations <strong>3D</strong>.<br />
3. http ://www.dreamworks.com/<br />
4. http ://www.disney.fr/FilmsDisney/ratatouille/<br />
5. www.auto<strong>de</strong>sk.fr/3dsmax<br />
6. www.auto<strong>de</strong>sk.fr/maya
96 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Techniques Principe Avantages <strong>et</strong> limitations<br />
Déformations<br />
par transformées<br />
locales <strong>et</strong> globales<br />
[94]<br />
Deformations <strong>de</strong><br />
formes libres [95,<br />
96, 97, 98, 99, 100,<br />
101]<br />
Déformations par<br />
contrôleurs [102,<br />
103, 104, 105]<br />
Animation<br />
par squel<strong>et</strong>te<br />
cinématique<br />
[106, 107, 108,<br />
109, 69, 110]<br />
Animation par<br />
métamorphoses<br />
[111, 112, 113]<br />
Champ <strong>de</strong> déformation généré par<br />
combinaison <strong>de</strong> transformée linéaires<br />
simples (rotation, homothétie...) qui<br />
peuvent varier selon la position du<br />
point àanimer<br />
Champ <strong>de</strong> déformation défini par rapport<br />
au mouvement d’un ensemble <strong>de</strong><br />
points <strong>de</strong> contrôle structurés en treillis<br />
Champ <strong>de</strong> déformation défini par rapport<br />
au mouvement d’un ensemble <strong>de</strong><br />
points (non structurés) ou <strong>de</strong> courbes<br />
(géodésiques ou non) <strong>de</strong> contrôle avec<br />
<strong>de</strong>s fonctions d’influence associées<br />
Champ <strong>de</strong> déformation défini relativement<br />
au mouvement d’un squel<strong>et</strong>te<br />
(i.e, ensemble d’os reliés par <strong>de</strong>s articulations<br />
<strong>et</strong> souvent représenté par<br />
une structure hiérarchique en arbre) en<br />
exploitant <strong>de</strong>s techniques d’animation<br />
par modèles <strong>de</strong> peau (skinning)<br />
Déformation graduelle d’un obj<strong>et</strong><br />
source vers un obj<strong>et</strong> cible avec un<br />
changement potentiel <strong>de</strong> topologie<br />
<strong>et</strong>/ou <strong>de</strong> géométrie<br />
+ Simple <strong>et</strong> efficace : décrit une<br />
gran<strong>de</strong> variété <strong>de</strong> déformations<br />
géométriques à partir <strong>de</strong> transformations<br />
élémentaires<br />
- Lour<strong>de</strong> <strong>et</strong> compliquée à m<strong>et</strong>tre<br />
en oeuvre dans le cas d’animations<br />
réalistes (e.g., personnage articulé)<br />
+ Générique : s’applique directement<br />
àtouteslesreprésentations <strong>de</strong><br />
surfaces<br />
+ Déformation globale <strong>et</strong> semiglobale<br />
aisée<br />
-Déformation locale non intuitive à<br />
cause <strong>de</strong> la manipulation indirecte<br />
à travers les points <strong>de</strong> contrôle<br />
+ Générique : s’applique directement<br />
àtouteslesreprésentations <strong>de</strong><br />
surfaces<br />
+ Faible complexité <strong>de</strong>calcul<br />
+Contrôle aisé <strong>et</strong>intuitif<br />
- Non adaptée à l’introduction <strong>de</strong><br />
contraintes physiques ou <strong>de</strong> modèle<br />
cinématique<br />
+Contrôle aisé <strong>et</strong>intuitif<br />
+ Faible complexité <strong>de</strong>calcul<br />
+ Optimisée pour <strong>de</strong>s mouvements<br />
articulés<br />
- Coûteuse : la génération du<br />
modèle <strong>de</strong> peau nécessite un travail<br />
semi-automatique fastidieux<br />
+ Généralité : perm<strong>et</strong> <strong>de</strong> générer<br />
<strong>de</strong>s animations à partir d’un<br />
nombre restreints <strong>de</strong> trames clefs<br />
avec topologies arbitraires<br />
-Complexité <strong>de</strong> calcul importante<br />
Table 4.1 : Etat <strong>de</strong> l’art <strong>de</strong>s modèles d’animation <strong>de</strong>scriptifs.
4.3 Standards <strong>de</strong> représentation <strong>3D</strong> <strong>et</strong> formats propriétaires 97<br />
Techniques Principe Avantages <strong>et</strong> limitations<br />
Modèles<br />
physiques<br />
[114, 115, 116]<br />
Mètho<strong>de</strong>s comportementales<br />
[117, 118]<br />
Champ <strong>de</strong> déformation généré en exploitant<br />
une modélisation physique<br />
(e.g., dynamique <strong>de</strong>s flui<strong>de</strong>s, système<br />
<strong>de</strong> particules, système masses-ressorts)<br />
<strong>de</strong> la scène <strong>3D</strong><br />
Simulation <strong>de</strong>s comportements individuels<br />
(i.e. perception, décision <strong>et</strong><br />
action) <strong>de</strong>s différents acteurs (e.g.,<br />
piétons, cyclistes, troupeaux d’animaux...)<br />
d’un environnement ainsi que<br />
<strong>de</strong> leurs interactions<br />
+ Animations complexes <strong>et</strong> réalistes<br />
+Génération automatique <strong>de</strong> l’animation<br />
-Complexité <strong>de</strong> calcul importante<br />
dans le cas <strong>de</strong> modèles physiques<br />
complexes<br />
-Contrôle non-intuitif <strong>de</strong> l’animation<br />
+Réalistes : variabilité ducomportement<br />
<strong>de</strong>s différents acteurs<br />
+ Adaptées à l’animation <strong>de</strong> foules<br />
+Interactives<br />
-Contrôle non-intuitif <strong>de</strong> l’animation<br />
Table 4.2 : Etat <strong>de</strong> l’art <strong>de</strong>s modèles d’animation par modèles procéduraux.<br />
4.3 Standards <strong>de</strong> représentation <strong>3D</strong> <strong>et</strong> formats propriétaires<br />
4.3.1 Standard VRML<br />
Le standard VRML (Virtual Reality Mo<strong>de</strong>ling Language) 7 ,développé par le consortium<br />
Web<strong>3D</strong>, est un langage <strong>de</strong> <strong>de</strong>scription d’univers interactifs <strong>3D</strong> virtuels. Il représente une scène<br />
<strong>3D</strong> sous forme d’un arbre hiérarchique dont les noeuds décrivent <strong>de</strong>s obj<strong>et</strong>s ou <strong>de</strong>s propriétés<br />
<strong>de</strong> la scène (e.g., <strong>maillages</strong> <strong>3D</strong>, formes élémentaires, sons, sources <strong>de</strong> lumières, couleurs...).<br />
La première version <strong>de</strong> VRML 8 perm<strong>et</strong>tait <strong>de</strong> décrire uniquement <strong>de</strong>s scènes <strong>3D</strong> <strong>statiques</strong>.<br />
La version 2.0 du standard introduit entre autre les interpolateurs qui, attachés àunnoeud<br />
animable (i.e., <strong>maillages</strong> <strong>3D</strong>, transformations géométriques...), perm<strong>et</strong>tent <strong>de</strong> modifier ses paramètres<br />
en fonction du temps. Plus précisément, un interpolateur est défini par un ensemble<br />
d’instants temporels (keys) <strong>et</strong><strong>de</strong>valeurs(key values) associées à ces instants. Les players<br />
VRML génèrent l’animation en m<strong>et</strong>tant àjour,à chaque instant temporel, les champs animés<br />
(e.g., position ou <strong>de</strong>s normales associées aux somm<strong>et</strong>s d’un maillage) grâce à <strong>de</strong>s techniques<br />
d’interpolation (e.g., linéaire pour les positions <strong>et</strong> les translations, sphérique pour les normales...).<br />
4.3.2 Standard H-Anim<br />
Le standard H-Anim 9 vise àdécrire <strong>de</strong>s animations <strong>de</strong> personnages articulés <strong>de</strong> type humanoï<strong>de</strong>.<br />
La représentation H-Anim modélise le squel<strong>et</strong>te anatomique d’un personnage <strong>3D</strong><br />
articulé par une structure hiérarchique d’arbre. Dans une scène H-Anim, chaque noeud est un<br />
obj<strong>et</strong><strong>de</strong>type:<br />
• humanoïd : correspondant àlaracineà laquelle tous les autres obj<strong>et</strong>s sont rattachés,<br />
• joint :décrivant la position, l’orientation <strong>et</strong> le facteur d’échelle associés à une articulation,<br />
7. http ://www.<strong>de</strong>motri<strong>de</strong>.com/vrml97-spec-html/in<strong>de</strong>x.html<br />
8. http ://www.web3d.org/x3d/specifications/vrml/VRML1.0/in<strong>de</strong>x.html<br />
9. http ://www.h-anim.org/
98 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
• segment :spécifiant la géométrie <strong>et</strong> l’apparence d’une partie,<br />
• displacers :décrivant <strong>de</strong>s contraintes <strong>de</strong> mouvement,<br />
• sites :décrivant les positions <strong>de</strong> caméras virtuelles, d’effecteurs ou <strong>de</strong> points d’attachement<br />
pour <strong>de</strong>s accessoires.<br />
La version actuelle <strong>de</strong> la spécification H-Anin supporte l’animation par modèles <strong>de</strong> peau<br />
(skinning) en associant <strong>de</strong>s poids d’animation aux somm<strong>et</strong>s du maillage. Ici, le mouvement d’un<br />
somm<strong>et</strong> est exprimé comme une combinaison linéaire pondérée <strong>de</strong>s mouvements <strong>de</strong>s différentes<br />
articulations. Notons que la structure hiérarchique du squel<strong>et</strong>te d’un humanoï<strong>de</strong> est figée (Figure<br />
4.3) <strong>et</strong> que seuls <strong>de</strong>s sous-graphes <strong>de</strong> ce squel<strong>et</strong>te sont supportés par la norme. Cela<br />
limite les possibilités d’utilisation du standard, qui ne prend pas en compte <strong>de</strong>s obj<strong>et</strong>s <strong>et</strong> <strong>de</strong>s<br />
personnages génériques.<br />
4.3.3 Le standard MPEG-4<br />
La standard MPEG-4 10 ,dontlapremièreversion est sortie en 1998, est une norme <strong>de</strong><br />
codage d’obj<strong>et</strong>s audiovisuels spécifiée par le Moving Picture Experts Group (MPEG). La norme<br />
MPEG-4 reprend la représentation par graphe <strong>de</strong> scène, proposée par le standard VRML <strong>et</strong><br />
l’étend, en introduisant <strong>de</strong>s nouveaux noeuds. En particulier, MPEG-4 spécifie <strong>de</strong>s flux binaires<br />
compressés dédiés à chaque noeud. Plus récemment, la partie 16 du standard, connue sous le<br />
nom <strong>de</strong> MPEG-4/AFX [119] (Animation Framework eXtension) définie un cadre générique<br />
pour les représentations <strong>de</strong> séquences d’animation <strong>3D</strong>. MPEG-4 supporte aujourd’hui un large<br />
éventail <strong>de</strong> technologies <strong>de</strong> modélisation <strong>et</strong> d’animation <strong>3D</strong>, dont les principaux représentants<br />
sont les suivants :<br />
• Les interpolateurs : définis <strong>de</strong> façon analogue à VRML par un ensemble d’instants temporels<br />
<strong>et</strong> <strong>de</strong> valeurs associées à ces instants. Comme dans le cas VRML, les interpolateurs<br />
MPEG-4 agissent sur les champs animables d’un noeud pour générer une animation.<br />
• Les métamorphoses (morphShape) : perm<strong>et</strong>tant <strong>de</strong> définir <strong>de</strong>s métamorphoses entre un<br />
obj<strong>et</strong> source (base shape) <strong>et</strong> plusieurs obj<strong>et</strong>s cibles (targ<strong>et</strong> shapes). Le principe est <strong>de</strong><br />
définir une forme àuninstanticomme une combinaison linéaire pondérée <strong>de</strong> la forme<br />
<strong>de</strong> base <strong>et</strong> <strong>de</strong>s formes cibles. L’animation est obtenue en m<strong>et</strong>tant àjourlespoids<strong>de</strong><br />
pondération.<br />
• L’animation FBA (Face and Body Animation) :définit une représentation paramétrique<br />
d’un personnage virtuel. L’animation est générée en modifiant 1) les paramètres FAPs<br />
(i.e., Face Animation Param<strong>et</strong>ers : 84 points <strong>de</strong> contrôle) qui décrivent la déformation du<br />
visage <strong>et</strong> les paramètresBAPs(i.e., Body Animation Param<strong>et</strong>ers : 296 angles <strong>de</strong> rotation<br />
définis <strong>de</strong> façon analogue au standard H-Anim) qui génèrent le mouvement articulé d’un<br />
personnage virtuel.<br />
• L’animation BBA [69] (Bone Based Animation) :généralise le modèle FBA en proposant<br />
<strong>de</strong>s structures <strong>de</strong> squel<strong>et</strong>tes hiérarchiques arbitraires. BBA introduit également un<br />
modèle <strong>de</strong> peau pour assurer une animation sans rupture (seamless) au niveau <strong>de</strong>s articulations<br />
(contrairement à FBA), ainsi qu’une couche <strong>de</strong> muscles afin <strong>de</strong> perm<strong>et</strong>tre <strong>de</strong>s<br />
déformations élastiques locales.<br />
10. http ://www.mpeg-3dgc.org/
4.3 Standards <strong>de</strong> représentation <strong>3D</strong> <strong>et</strong> formats propriétaires 99<br />
Figure 4.3 : Standard H-Anim : squel<strong>et</strong>te hiérarchique d’un humanoï<strong>de</strong>. (source : http ://hanim.org/)
100 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
4.3.4 Standard X<strong>3D</strong><br />
Le standard X<strong>3D</strong> 11 (eXtensible <strong>3D</strong>) étend le standard VRML en introduisant <strong>de</strong> nouvelles<br />
fonctionnalités ainsi qu’un format <strong>de</strong> <strong>de</strong>scription à base du language XML 12 (eXtensible Markup<br />
Language). Concernant la partie animation, X<strong>3D</strong> introduit <strong>de</strong> nouveaux noeuds perm<strong>et</strong>tant<br />
<strong>de</strong> décrire :<br />
• les humanoï<strong>de</strong>s animés conformément au standard H-Anim,<br />
• les interactions physiques entre corps soli<strong>de</strong>s (e.g., collision, accélération...),<br />
• les systèmes <strong>de</strong> particules nécessaires pour la modélisation <strong>de</strong>s éléments comme le feu, la<br />
fumée, la neige...<br />
Le standard X<strong>3D</strong> exploite également une procédure <strong>de</strong> compression fondée sur l’algorithme<br />
GZip 13 .<br />
4.3.5 Standard COLLADA<br />
La norme COLLADA 14 ,développée par Khronos Group 15 , a pour objectif <strong>de</strong> définir un<br />
format standard d’échange <strong>de</strong> contenus multimedias entre les différents acteurs <strong>de</strong> l’industrie<br />
<strong>de</strong> l’audiovisuel. Comme X<strong>3D</strong>, COLLADA combine le langage XML avec une représentation<br />
par graphe <strong>de</strong> scène. La partie animation comporte :<br />
• les interpolateurs, définis <strong>de</strong> façon analogue àVRML,<br />
• les métamorphoses, similaire au noeud morphShape <strong>de</strong> MPEG-4/AFX,<br />
• lesanimationsparmodèle <strong>de</strong> peau conformément àlapartieBBA<strong>de</strong>MPEG-4/AFX,<br />
mais en om<strong>et</strong>tant la couche muscle,<br />
• les interactions physiques <strong>et</strong> les systèmes <strong>de</strong> particules <strong>de</strong> façon analogue àX<strong>3D</strong>.<br />
4.3.6 Formats propriétaires<br />
Les formats propriétaires proposés par les différents créateurs <strong>de</strong> logicielles <strong>de</strong> modélisation<br />
<strong>3D</strong> (e.g., FBX,<strong>3D</strong>Sdéveloppés par la société Auto<strong>de</strong>sk 16 , BLEND <strong>de</strong> Blen<strong>de</strong>r 17 , X <strong>de</strong> Direct<br />
<strong>3D</strong> 18 ...) supportent un large éventail <strong>de</strong> représentations (i.e., modèle<strong>de</strong>peau,métamorphose,<br />
interactions physiques <strong>et</strong> les systèmes <strong>de</strong> particules, interpolateurs), avec <strong>de</strong>s variantes plus ou<br />
moins sophistiquées. Dans ce cas, le format <strong>de</strong> représentation est intrinsèquement lié à l’outil<br />
<strong>et</strong> à l’approche sousjacente <strong>de</strong> création <strong>de</strong>s contenus <strong>3D</strong>. Ainsi, les documentations détaillées<br />
<strong>de</strong> ces formats sont le plus souvent incomplètes voir non-disponibles. En outre, les exportateurs<br />
proposés (qui visent àréaliser <strong>de</strong>s conversions d’un format à un autre) montrent en pratique<br />
leurs limitations, puisque seules les fonctionnalités supportées par le format d’export sont transposées<br />
correctement. Des processus <strong>de</strong> conversion avec pertes entre différentes représentations<br />
génèrent le plus souvent <strong>de</strong>s résultats <strong>de</strong> mauvaise qualité.<br />
11. http ://www.web3d.org/<br />
12. http ://www.w3.org/XML/<br />
13. www.gzip.org/<br />
14. http ://www.collada.org/<br />
15. www.khronos.org/<br />
16. www.auto<strong>de</strong>sk.com<br />
17. www.blen<strong>de</strong>r.org/<br />
18. http ://www.microsoft.com/
4.3 Standards <strong>de</strong> représentation <strong>3D</strong> <strong>et</strong> formats propriétaires 101<br />
4.3.7 Discussion<br />
Standard Trames clés Métamorphose Modèles physiques Mouvement articulé<br />
VRML/H-Anim × ×<br />
MPEG-4 × × ×<br />
X<strong>3D</strong> × × ×<br />
Collada × × × ×<br />
Table 4.3 : Représentations supportées par les standards d’animation <strong>3D</strong>.<br />
Le tableau 4.3 résume les différentes représentations d’animation <strong>3D</strong> supportées par les<br />
standards d’animation <strong>3D</strong>. Notons que les animations articulés ainsi que les animations par<br />
trames clés (représentées sous forme d’interpolateurs) sont spécifiées par la quasi-totalité <strong>de</strong><br />
ces normes. Contrairement à l’animation par modèles articulés (adaptée uniquement à une<br />
famille particulière <strong>de</strong> modèles animés), la représentation par trames-clés perm<strong>et</strong> <strong>de</strong> décrire<br />
un large spectre d’animations. De plus, c<strong>et</strong>te représentation est indépendante <strong>de</strong> la technique<br />
utilisée pour générer le contenu <strong>et</strong> perm<strong>et</strong> ainsi <strong>de</strong> disposer d’un format générique <strong>et</strong> multiplateformes<br />
d’animation <strong>3D</strong>. En rendant disponible uniquement le résultat final <strong>de</strong> l’animation,<br />
la représentation par trames clés perm<strong>et</strong> aux créateurs <strong>de</strong> contenus <strong>de</strong> protéger leurs modèles<br />
d’animation d’une réutilisation illicite par <strong>de</strong>s tiers.<br />
L’inconvénient majeur <strong>de</strong> c<strong>et</strong>te représentation est en revanche lié auxcoûts importants<br />
<strong>de</strong> stockage <strong>et</strong> <strong>de</strong> transmission (<strong>de</strong> l’ordre <strong>de</strong> 120 Mo par minute pour un maillage <strong>de</strong> 10000<br />
somm<strong>et</strong>s). En eff<strong>et</strong>, mêmepour<strong>de</strong>courtesséquences <strong>de</strong> quelques minutes, <strong>de</strong>s milliers <strong>de</strong><br />
modèles <strong>3D</strong> sont nécessaires.<br />
La problématique <strong>de</strong> la compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés (Figure 4.4) <strong>de</strong> connectivité<br />
constante<strong>et</strong><strong>de</strong>géométrie variable dans le temps a été considérée pour la première fois par<br />
Lengyel [120]. Elle peut être formalisée mathématiquement comme suit.<br />
Soit (Mt)t∈{1,...,T } une séquence <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> (où T représente le nombre <strong>de</strong> trames).<br />
Sous l’hypothèse d’une connectivité fixe,notée Γ, la géométrie du maillage à l’instant t est<br />
représentée par une matrice Gt <strong>de</strong> dimension 3 × V (où V estlenombre<strong>de</strong>somm<strong>et</strong>s)définie<br />
par :<br />
où χ v,x<br />
t , χ v,y<br />
t<br />
<strong>et</strong> χ v,z<br />
t<br />
⎛<br />
⎜<br />
Gt = ⎜<br />
⎝<br />
χ 1,x<br />
t<br />
χ 2,x<br />
t<br />
χ 3,x<br />
t<br />
.<br />
χ V,x<br />
t<br />
χ 1,y<br />
t<br />
χ 2,y<br />
t<br />
χ 3,y<br />
t<br />
.<br />
χ V,y<br />
t<br />
χ 1,z<br />
t<br />
χ 2,z<br />
t<br />
χ 3,z<br />
t<br />
.<br />
χ V,z<br />
t<br />
⎞<br />
⎟ , (4.1)<br />
⎟<br />
⎠<br />
sont les coordonnées (exprimées dans un repère cartésien) <strong>de</strong> l’ensemble<br />
<strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> Mt.<br />
L’objectif est alors d’élaborer <strong>de</strong>s représentations compactes <strong>de</strong> la séquence géométrique<br />
(Gt)t∈{1,...,T }, capables <strong>de</strong> prendre en compte les corrélations spatio-temporelles du signal.<br />
Notons que la connectivité Γ du maillage étant fixe tout au long <strong>de</strong> la séquence, elle est codée<br />
une seule fois pour toute la séquence avec une technique arbitraire <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong><br />
<strong>statiques</strong>. Dans nos travaux, nous avons privilégié leco<strong>de</strong>urTFANproposé au Chapitre 2.
102 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Figure 4.4 : Exemples <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong>.
4.4 Fonctionnalités avancées 103<br />
4.4 Fonctionnalités avancées<br />
Dans le contexte industriel mo<strong>de</strong>rne <strong>de</strong> convergence <strong>de</strong>s technologies fixes <strong>et</strong> mobiles, les<br />
métho<strong>de</strong>s <strong>de</strong> compression <strong>3D</strong> doivent impérativement répondre au paradigme d’accès universel.<br />
Ainsi, perm<strong>et</strong>tre la transmission/diffusion <strong>de</strong>s animations <strong>3D</strong> sur différents réseaux<br />
fixes/mobiles <strong>de</strong> débits variables <strong>et</strong> vers <strong>de</strong>s terminaux (PDA, PC, téléphone portable...) <strong>de</strong><br />
capacités <strong>de</strong> calcul, <strong>de</strong> mémoire <strong>et</strong> <strong>de</strong> visualisation variées est aujourd’hui indispensable pour<br />
la mise en place <strong>de</strong>s applications multimédias futures. De point <strong>de</strong> vue méthodologique, cela<br />
se traduit par le support <strong>de</strong>s fonctionnalités suivantes :<br />
• Streaming :interpréter le flux binaire au fur <strong>et</strong> à mesure <strong>de</strong> sa transmission au terminal<br />
en décodant au fil <strong>de</strong> l’eau <strong>de</strong>s paqu<strong>et</strong>s <strong>de</strong> données décrivant chacun un segment temporel<br />
<strong>de</strong> l’animation,<br />
• Scalabilité spatiale: adapter (par décodage partiel du flux compressé) la résolution<br />
spatiale (le nombre <strong>de</strong> somm<strong>et</strong>s/triangles) du maillage aux performances d’affichage du<br />
terminal <strong>et</strong>/ou au débit disponible,<br />
• Scalabilité temporelle :déco<strong>de</strong>r partiellement le flux binaire afin <strong>de</strong> générer une animation<br />
à une ca<strong>de</strong>nce vidéo adaptée au performances <strong>de</strong> calcul du terminal,<br />
• Scalabilité en qualité : adapter (grâce à une structuration adéquate du flux binaire)<br />
la qualité (i.e., précision <strong>de</strong>s positions <strong>de</strong>s somm<strong>et</strong>s) <strong>de</strong> l’animation au débit disponible,<br />
• Codage <strong>de</strong>s attributs : co<strong>de</strong>r efficacement les attributs associés aux somm<strong>et</strong>s d’un<br />
maillage dynamique (e.g., normales, couleurs, coordonnées <strong>de</strong> texture...),<br />
• Codage quasi-sans pertes : assurer une borne maximale sur l’erreur induite par la<br />
compression <strong>de</strong>s positions <strong>et</strong> <strong>de</strong>s attributs d’un maillage dynamique.<br />
L’élaboration <strong>de</strong> techniques <strong>de</strong> compression efficaces avec <strong>de</strong>s fonctionnalités <strong>de</strong> transmission<br />
<strong>et</strong> d’affichage adaptées aux contenus <strong>dynamiques</strong> est aujourd’hui un enjeu majeur comme<br />
en témoigne l’important nombre <strong>de</strong> travaux <strong>de</strong> la littérature émergente consacrée àcesuj<strong>et</strong>,<br />
présentée au paragraphe suivant.<br />
4.5 Synthèse bibliographique<br />
Depuis les travaux <strong>de</strong> Lengyel, <strong>de</strong> nombreuses contributions méthodologiques <strong>et</strong> techniques<br />
ont été proposées [2]. L’étu<strong>de</strong> <strong>de</strong> l’état <strong>de</strong> l’art perm<strong>et</strong> d’i<strong>de</strong>ntifier quatre gran<strong>de</strong>s familles :<br />
1. Les métho<strong>de</strong>s par prédiction spatio-temporelle locale,<br />
2. Les approches exploitant une Analyse en Composantes Principales (ACP),<br />
3. Les représentations par on<strong>de</strong>l<strong>et</strong>tes,<br />
4. Les schémas àbase<strong>de</strong>segmentation.<br />
Pour chacune <strong>de</strong> ces familles, détaillons àprésent principe, avantages, limitations ainsi qu’approches<br />
représentatives.<br />
4.5.1 Prédicteurs spatio-temporels locaux<br />
Les techniques <strong>de</strong> codage par prédiction spatio-temporelle traitent l’animation localement<br />
dans l’espace <strong>et</strong> dans le temps. A un instant donné, la position d’un somm<strong>et</strong> est prédite à<br />
partir uniquement <strong>de</strong>s somm<strong>et</strong>s situés dans un voisinage spatio-temporel local.
104 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Comme représentatif <strong>de</strong> c<strong>et</strong>te famille, citons tout d’abord le schéma <strong>de</strong> compression IC (Interpolation<br />
<strong>Compression</strong>) [121], adopté en 2003 par le standard MPEG-4/AFX 19 [119]. Le principe<br />
consiste àreprésenter l’animation par un sous-ensemble <strong>de</strong> trames clés sous-échantillonnant<br />
la séquence (Mt)t. A partir <strong>de</strong> ces trames clés, les trames intermédiaires sont déterminées automatiquement<br />
en appliquant une interpolation linéaire. Pour co<strong>de</strong>r la séquence <strong>de</strong>s trames clés,<br />
un mécanisme <strong>de</strong> prédiction spatio-temporelle est appliqué.<br />
Différentes stratégies peuvent être adoptées pour la sélection <strong>de</strong>s trames-clés, <strong>de</strong>puis le<br />
simple échantillonnage temporel uniforme jusqu’à <strong>de</strong>s techniques plus sophistiquées qui minimisent<br />
un critère d’erreur globale sur l’ensemble <strong>de</strong> la séquence pour une sélection automatique<br />
<strong>et</strong> optimale. Ainsi, dans [121] les auteurs proposent-ils <strong>de</strong> partir d’un ensemble minimal <strong>de</strong><br />
trames clés constitué <strong>de</strong>lapremière <strong>et</strong> <strong>de</strong> la <strong>de</strong>rnière trame <strong>de</strong> la séquence <strong>et</strong> <strong>de</strong> le raffiner<br />
itérativement, en ajoutant successivement <strong>de</strong>s trames clés jusqu’à obtenir un seuil d’erreur<br />
d’approximation prédéfini.<br />
Par principe <strong>de</strong> causalité, les approches prédictives nécessitent <strong>de</strong> considérer un ordre <strong>de</strong><br />
parcours <strong>de</strong>s somm<strong>et</strong>s du maillage, spécifiant une relation d’antériorité entre ceux-ci. C<strong>et</strong> ordre<br />
peut être défini <strong>de</strong> différentes manières, soit en considérant l’ordre naturel dans lequel les<br />
somm<strong>et</strong>s sont spécifiés dans le format <strong>de</strong> représentation considéré(e.g., VRML), soit en fonction<br />
<strong>de</strong> l’approche <strong>de</strong> compression statique <strong>de</strong> la première trame (exploitant le plus souvent les<br />
relations d’adjacence entre les somm<strong>et</strong>s du maillage). Quelle que soit l’approche r<strong>et</strong>enue, la<br />
prédiction d’un somm<strong>et</strong> courant v est effectuée à partir d’un ensemble <strong>de</strong> somm<strong>et</strong>s antérieurs<br />
à v par rapport à l’ordre considéré. On parle alors d’une prédiction à partir <strong>de</strong> somm<strong>et</strong>s déjà<br />
codés/décodés.<br />
Dans la formulation initiale introduite dans [121], les trois prédicteurs suivants sont considérés :<br />
• un prédicteur spatial, noté PS,<br />
• un prédicteur temporel, noté PT ,<br />
• un prédicteur spatio-temporel noté PST.<br />
Les positions prédites PS(v, t), PT (v, t) <strong>et</strong>PST(v, t) du somm<strong>et</strong> v à l’instant t s’expriment<br />
respectivement comme décrit par les équations (4.2), (4.3) <strong>et</strong> (4.4) :<br />
PS(v, t) =χ w t<br />
, (4.2)<br />
PT (v, t) =χ v t−1, (4.3)<br />
PST(v, t) =χ v t−1 +(χ w t − χ w t−1), (4.4)<br />
où χv t représente la position du somm<strong>et</strong> courant v à l’instant t <strong>et</strong> w désigne l’in<strong>de</strong>x d’un somm<strong>et</strong><br />
déjà codé.<br />
Les prédicteurs spatial <strong>et</strong> temporel correspon<strong>de</strong>nt respectivement à une simple prédiction<br />
<strong>de</strong>lta par rapport à l’ordre <strong>de</strong> parcours spatial <strong>et</strong> temporel. Le prédicteur spatio-temporel<br />
combine les <strong>de</strong>ux, en ajoutant au prédicteur temporel un facteur différentiel <strong>de</strong> correction<br />
spatiale.<br />
De manière similaire, les techniques [122], [123] <strong>et</strong> [124] exploitent le mêmeprincipe<strong>de</strong><br />
prédiction en proposant <strong>de</strong>s prédicteurs spatio-temporels plus élaborés, fondés sur un parcours<br />
déterministe <strong>de</strong>s somm<strong>et</strong>s du maillage <strong>de</strong> voisin à voisin, analogue à ceux décrits dans [3] <strong>et</strong><br />
[125].<br />
19. www.mpeg-3dgc.org
4.5 Synthèse bibliographique 105<br />
Dans [122], le co<strong>de</strong>ur Dynapack introduit <strong>de</strong>ux prédicteurs différents, appelés ELP (Exten<strong>de</strong>d<br />
Lorenzo Predictor)<strong>et</strong>Replica.Lepremiergénéralise au cas dynamique la règle <strong>de</strong> prédiction<br />
du “parallélogramme”, bien connue <strong>et</strong> largement exploitée pour la compression <strong>de</strong> <strong>maillages</strong><br />
<strong>statiques</strong> (cf. 1.3.1.6). Ce prédicteur, noté Pparal(v, t), s’appuie sur l’hypothèse que le somm<strong>et</strong><br />
v àprédire forme un parallélogramme avec le triangle formé par trois <strong>de</strong> ses voisins déjà codés,<br />
notés q, r, <strong>et</strong>s :<br />
Pparal(v, t) =χ q<br />
t + χ r t − χst , (4.5)<br />
Le prédicteur ELP (Figure 4.5), noté PELP(v, t), introduit un facteur supplémentaire <strong>de</strong><br />
correction par rapport àlarègle du “parallélogramme”. Ainsi, la valeur prédite à l’instant t<br />
est-elle corrigée par l’erreur correspondante <strong>de</strong> prédiction à l’instant t−1, notée par ɛparal(v, t),<br />
comme décrit dans l’équation suivante :<br />
où<br />
PELP(v, t) =Pparal(v, t)+ɛparal(v, t), (4.6)<br />
ɛparal(v, t) =χ v t−1 − Pparal(v, t − 1). (4.7)<br />
Figure 4.5 : Prédicteur ELP.<br />
Le prédicteur Replica (Figure 4.6), noté PReplica(v, t), exprime la position χv t−1<br />
v à l’instant t − 1dansunrepère local RReplica(v, t − 1) = (χs t−1 ,Avt−1 ,Bv t−1 ,Cv t−1<br />
triangle voisin (g, r, s) déjà parcouru, comme décrit par l’équation (4.8) :<br />
du somm<strong>et</strong><br />
) attaché àun<br />
χ v t−1 = χst−1 + avt−1 .Avt−1 + bvt−1 .Bs t−1 + cvt−1 .Cv t−1 . (4.8)<br />
Ici, χ s t−1 est l’origine du repère RReplica(v, t− 1) considéré <strong>et</strong> les vecteurs A v t−1 , Bv t−1 <strong>et</strong> Cv t−1<br />
sont définis par (Figure 4.6) :<br />
A v t−1 = χrt−1 − χst−1 , (4.9)<br />
B v t−1<br />
= χqt−1<br />
− χst−1 , (4.10)<br />
C v t−1 =<br />
Av t−1 ∧ Bv t−1<br />
<br />
v ||At−1 ∧ Bv , (4.11)<br />
3<br />
t−1||<br />
où l’opérateur ∧ désigne le produit vectoriel <strong>de</strong> <strong>de</strong>ux vecteurs <strong>et</strong> ||.|| la norme euclidienne.<br />
Notons que le repère ainsi construit n’est pas orthogonal, seul le vecteur C v t−1 étant par<br />
définition orthogonal aux vecteurs A v t−1 <strong>et</strong> Bv t−1 .<br />
Les coordonnées relatives (a v t−1,b v t−1,c v t−1)<strong>de</strong>χ v t−1 dans le repère RReplica(v, t−1) s’expriment<br />
alors comme :<br />
a v t−1 = Avt−1 · Dv t−1 × Bv t−1 · Bv t−1 + Bv t−1 · Dv t−1 × Avt−1 · Bv t−1<br />
Av t−1 · Av t−1 × Bv t−1 · Bv t−1 + Av t−1 · Bv t−1 × Av t−1 · Bv , (4.12)<br />
t−1
106 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
b v t−1 = Avt−1 · Dv t−1 × Av t−1 · Bv t−1 + Bv t−1 · Dv t−1 × Av t−1 · Av t−1<br />
Av t−1 · Bv t−1 × Avt−1 · Bv t−1 + Bv t−1 · Bv t−1 × Avt−1 · Av ,<br />
t−1<br />
(4.13)<br />
c v t−1 = Dv t−1 · Cv t−1 ,<br />
avec D<br />
(4.14)<br />
v t−1 =(χvt−1 − χst−1 ).<br />
Ces coordonnées locales sont enfin exploitées pour prédire la position du somm<strong>et</strong> v à<br />
l’instant t sous l’hypothèse que les coordonnées relatives au nouveau repère RReplica(v, t) =<br />
(χs t ,Avt ,Bv t ,Cv t )à l’instant t sont conservées <strong>de</strong> l’instant (t − 1) à t.<br />
La prédicteurPReplica(v, t) est alors défini par :<br />
PReplica(v, t) =χ s t + av t−1 .Av t + bv t−1 .Bv t + cv t−1 .Cv t<br />
. (4.15)<br />
Notonsqueleprédicteur ELP est idéal (i.e., conduit à une erreur résiduelle <strong>de</strong> prédiction nulle)<br />
pour les translations. Le prédicteur Replica, plus complexe, parvient àprédirelegroupe<strong>de</strong>s<br />
transformations <strong>de</strong> similarités avec une erreur résiduelle <strong>de</strong> prédiction nulle.<br />
Figure 4.6 : Prédicteur Replica.<br />
Dans [123], les auteurs proposent une variante du prédicteur Replica appelé AP(Angle<br />
Preserving) qui s’appuie c<strong>et</strong>te fois sur la construction d’un repère orthogonal local, autour <strong>de</strong><br />
chaque somm<strong>et</strong> du maillage. Plus précisément, le repère orthonormé RAP (v, t) =(O v t ,Xv t ,Yv<br />
t ,Zv t )<br />
associé au somm<strong>et</strong> v à l’instant t est défini par (figure 4.7) :<br />
où X v t<br />
est un vecteur du plan (χq t ,χr t ,χs v<br />
t ) orthogonal à Yt .<br />
O v t = 1<br />
2 (χr t + χ q<br />
t ), (4.16)<br />
Y v χqt<br />
− χ<br />
t = r t<br />
||χ q<br />
t − χr ,<br />
t ||<br />
(4.17)<br />
Z v t = Xv t ∧ Xv t , (4.18)<br />
Etant donné que le prédicteur AP définit <strong>de</strong>s repères orthonormés, la matrice <strong>de</strong> transition<br />
du repère RAP (v, t−1) vers RAP (v, t) est orthogonale. C<strong>et</strong>te propriété implique la préservation<br />
<strong>de</strong>sanglesentrelessomm<strong>et</strong>sv, q, r <strong>et</strong> s d’où le nom <strong>de</strong> ce prédicteur. Notons qu’il s’agit d’un<br />
prédicteur idéal pour les mouvements rigi<strong>de</strong>s.
4.5 Synthèse bibliographique 107<br />
Figure 4.7 : Prédicteur AP.<br />
Dans [124], les auteurs proposent le prédicteur MV (vertex-wise Motion Vector), noté<br />
PMV(v, t), dont le principe consiste àprédire le mouvement d’un somm<strong>et</strong> par une moyenne<br />
pondérée <strong>de</strong>s mouvements <strong>de</strong> ses voisins antérieurs. Ce prédicteur peut également être interprété<br />
comme une généralisation au cas dynamique du prédicteur moyenneur, noté Pmoyen(v, t),<br />
introduit dans [41] qui associe à un somm<strong>et</strong> v une moyenne pondérée <strong>de</strong>s positions <strong>de</strong> ses voisins<br />
décodés (Figure 4.8). Plus précisément, le prédicteur Pmoyen(v, t) estdéfini comme :<br />
Pmoyen(v, t) = <br />
, (4.19)<br />
w∈ℵ(v)<br />
αwχ w t<br />
où ℵ(v) ={w1,w2, ..., wN} est une fenêtre spatiale <strong>de</strong> prédiction constituée <strong>de</strong> l’ensemble <strong>de</strong>s<br />
somm<strong>et</strong>s voisins <strong>de</strong> v déja décodés <strong>et</strong> (αw)w∈ℵ(v) sont <strong>de</strong>s poids réels associés à ces somm<strong>et</strong>s.<br />
sont considérés, les auteurs pro-<br />
Contrairement à [41], où <strong>de</strong>s poids uniformes α unif<br />
w<br />
= 1<br />
|ℵ(v)|<br />
posent <strong>de</strong> dériver les poids optimaux (α opt<br />
w )w∈ℵ(v) minimisant l’erreur quadratique moyenne <strong>de</strong><br />
prédiction sous la contrainte :<br />
<br />
w∈ℵ(v)<br />
α opt<br />
w<br />
=1. (4.20)<br />
Le prédicteur MV est obtenu en corrigeant la position prédite par le prédicteur moyenneur<br />
à l’instant t par l’erreur correspondante à l’instant t − 1 (voir figure 4.9) :<br />
PMV (v, t) =Pmoyen(v, t)+(χ v t−1 − Pmoyen(v, t − 1)). (4.21)<br />
L’erreur résiduelle <strong>de</strong> prédiction, notée ɛMV (v, t), est alors définie comme :<br />
ɛMV (v, t) =χ v t − PMV (v, t). (4.22)<br />
Notonsquedanslecas<strong>de</strong>déformations élastiques, les auteurs montrent que le prédicteur<br />
MV atteint ses limitations. Ils proposent alors d’appliquer une <strong>de</strong>uxième étape<strong>de</strong>prédiction<br />
supplémentaire, portant sur les erreurs résiduelles ɛMV (v, t). Quatre mo<strong>de</strong>s <strong>de</strong> prédiction,<br />
nulle, spatiale, temporelle <strong>et</strong> spatio-temporelle sont finalement proposés. Une <strong>de</strong>rnière optimisation<br />
concerne le partitionnement <strong>de</strong>s somm<strong>et</strong>s du maillage en parties caractérisées par <strong>de</strong>s<br />
mo<strong>de</strong>s <strong>de</strong> prédiction différents, déterminées <strong>de</strong> façon optimale par la minimisation d’un critère<br />
débit/distorsion.
108 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Figure 4.8 : Prédicteur moyenneur (N=4).<br />
En pratique, le prédicteur MV se montre particulièrement efficace àbasdébits comme<br />
analysé dans [123]. De plus, dans le cas où <strong>de</strong>s poids uniformes sont utilisés, ce prédicteur<br />
nécessite uniquement <strong>de</strong>s opérations d’addition ce qui réduit considérablement sa complexité<br />
<strong>de</strong> calcul.<br />
Figure 4.9 : Prédicteur MV.<br />
Dans [126], le co<strong>de</strong>ur SSLPC (Spatial Scalable Linear Predictive Co<strong>de</strong>r) hybri<strong>de</strong> la stratégie<br />
<strong>de</strong> prédiction MV avec une structure hiérarchique définie exclusivement à partir <strong>de</strong> la connectivité<br />
du maillage. Celle-ci est tout d’abord progressivement décimée, comme décrit dans la<br />
section 7.4.3. La stratégie <strong>de</strong> simplification sous-jacente consiste àéliminer àchaqueniveau<br />
tous les somm<strong>et</strong>s <strong>de</strong> valence inférieure à 6, puis à appliquer une procédure <strong>de</strong> remaillage visant<br />
à maintenir les valences <strong>de</strong> leurs voisins autour d’une valeur <strong>de</strong> 6. Soient L le nombre <strong>de</strong> niveaux<br />
<strong>de</strong> décimation appliqués <strong>et</strong> Γl la connectivité obtenue àl’étape <strong>de</strong> décimation l. En partant<br />
du niveau <strong>de</strong> détails le plus grossier ΓL−1, le processus <strong>de</strong> simplification est inversé eninsérant<br />
successivement les somm<strong>et</strong>s dans l’ordre inverse <strong>de</strong> leur décimation. La position d’un somm<strong>et</strong>
4.5 Synthèse bibliographique 109<br />
v ∈ Γl est alors prédite en appliquant le prédicteur MV avec poids uniformes <strong>et</strong> en considérant<br />
la connectivitéΓl. Les auteurs introduisent également le co<strong>de</strong>ur STSLPC (Spatio-Temporal Scalable<br />
Linear Predictive Co<strong>de</strong>r) qui exploite une variante <strong>de</strong> MV avec une prédiction temporelle<br />
bidirectionnelle. Enfin dans [127], les co<strong>de</strong>urs LOPC (Layered One-directionnal Predictive Co<strong>de</strong>r)<br />
<strong>et</strong>LBPC(Layered Bi-directionnal Predictive Co<strong>de</strong>r ) exploitent les predicteurs <strong>de</strong> SSLPC<br />
<strong>et</strong> STSLPC relativement àunrepère local lié au voisinage du somm<strong>et</strong> courant <strong>de</strong> façon analogue<br />
à [123].<br />
Les techniques MPEG-4/AFX-IC, Dynapack, MV <strong>et</strong> AP présentent l’avantage d’un faible<br />
coût <strong>de</strong> calcul, ce qui les rend particulièrement adaptées aux applications <strong>de</strong> décodage en tempsréel.<br />
Toutefois, une règle <strong>de</strong> parcours déterministe <strong>de</strong>s somm<strong>et</strong>s du maillage est nécessaire, ce<br />
qui présente un handicap pour <strong>de</strong>s fonctionnalités plus avancées comme la scalabilité spatiale<br />
ou la scalabilité en qualité.<br />
Les approches SSLPC, STSLPC, LOPC <strong>et</strong> LBPC s’affranchissent <strong>de</strong> ces limitations en<br />
combinant prédiction spatio-temporelle locale <strong>et</strong> représentation hiérarchique du maillage dynamique.<br />
Notons toutefois que la structure hiérarchique proposée est générée exclusivement<br />
à partir <strong>de</strong> l’information <strong>de</strong> connectivité sans aucune référence àlagéométrie du maillage.<br />
Dans le cas <strong>de</strong> modèles caractérisés par un échantillonnage spatial non-uniforme, les niveaux<br />
<strong>de</strong> détails intermédiaires obtenus ainsi que les prédicteurs hiérarchiques proposés sont alors<br />
sous-optimaux ou même inefficaces.<br />
Une <strong>de</strong>uxième famille <strong>de</strong> métho<strong>de</strong>s, décrite dans le paragraphe suivant, assure la scalabilité<br />
en qualité à l’ai<strong>de</strong> d’une ACP du signal géométrique tout en garantissant l’optimalité, au sens<br />
<strong>de</strong> la norme euclidienne, <strong>de</strong>s représentations intermédiaires.<br />
4.5.2 <strong>Compression</strong> par ACP<br />
C<strong>et</strong>te famille <strong>de</strong> métho<strong>de</strong>s a été initiée dans [128], où une ACP du champ <strong>de</strong> déformation<br />
du maillage est proposée pour représenter la géométrie dynamique du maillage. Le co<strong>de</strong>ur PCA<br />
(Principal Component Analysis compression) proposé applique tout d’abord une procédure <strong>de</strong><br />
compensation du mouvement rigi<strong>de</strong> global. Le champ <strong>de</strong> mouvement résiduel obtenu est ensuite<br />
décomposé sur la base <strong>de</strong>s vecteurs propres <strong>de</strong> l’ACP. Pour représenter le signal géométrique,<br />
on r<strong>et</strong>ient un ensemble <strong>de</strong> vecteurs propres <strong>de</strong> la base ACP correspondant aux plus gran<strong>de</strong>s<br />
valeurs propres, ainsi que les coefficients <strong>de</strong> la décomposition obtenue.<br />
Dans [129], les auteurs présentent une variante <strong>de</strong> l’approche PCA avec une procédure <strong>de</strong><br />
compensation du mouvement affine global combinée à une ACP réalisée <strong>de</strong> manière indépendante<br />
selon chacune <strong>de</strong>s coordonnées x, y <strong>et</strong> z. Une procédure <strong>de</strong> sélection automatique du nombre<br />
<strong>de</strong> vecteurs <strong>de</strong> base r<strong>et</strong>enus fondée sur l’analyse <strong>de</strong>s valeurs propres <strong>de</strong> l’ACP, est également<br />
proposée.<br />
L’approche PCA est encore reprise <strong>et</strong> améliorée dans [130] à l’ai<strong>de</strong> d’un schéma <strong>de</strong> prédiction<br />
linéaire <strong>de</strong> second ordre dans l’espace <strong>de</strong>s coefficients <strong>de</strong> la décomposition. Les auteurs montrent<br />
qu’en combinant ACP <strong>et</strong> prédiction linéaire il est possible <strong>de</strong> mieux prendre en compte les<br />
corrélations temporelles du signal géométrique. Contrairement à [128], le co<strong>de</strong>ur LPCA (Linear<br />
PCA) propose une étape supplémentaire <strong>de</strong> quantification uniforme <strong>de</strong>s vecteurs propres <strong>et</strong> <strong>de</strong>s<br />
coefficients <strong>de</strong> la décomposition.<br />
Dans [131, 132], la procédure <strong>de</strong> quantification <strong>de</strong> LPCA est raffinée davantage à l’ai<strong>de</strong><br />
d’une quantification adaptative <strong>de</strong>s vecteurs propres, guidée par une procédure d’optimisation<br />
minimisant les distorsions sous la contrainte d’un débit fixé. A bas débits, l’approche APCA
110 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
(Adaptive PCA co<strong>de</strong>r) proposée montre <strong>de</strong>s gains significatifs par rapport aux techniques PCA<br />
<strong>et</strong> LPCA.<br />
Dans une optique légèrement différente, le co<strong>de</strong>ur CODDYAC [133] exploite une ACP dans<br />
l’espace <strong>de</strong>s trajectoires 20 <strong>de</strong>s somm<strong>et</strong>s (au lieu <strong>de</strong> l’appliquer dans l’espace <strong>de</strong>s formes 21 ). Une<br />
prédiction <strong>de</strong>s coefficients <strong>de</strong> la décomposition, par règle du “parallélogramme” (cf. Section<br />
4.5.1) est également introduite. La technique proposée est particulièrement efficace dans le<br />
cas <strong>de</strong>s géométries fortement corrélées spatialement. Afin d’alléger la complexité <strong>de</strong> calcul, les<br />
auteurs proposent <strong>de</strong> segmenter l’animation en sous-séquences temporelles qui sont traitées <strong>de</strong><br />
manière indépendante.<br />
Sur la même lignée, l’approche CPCA (Clustered PCA) [134] exploite une procédure <strong>de</strong><br />
segmentation [135] <strong>de</strong>s somm<strong>et</strong>s du maillage optimisée pour une représentation par ACP. Les<br />
trajectoires <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> chaque partie sont ensuite analysées par ACP afin d’en extraire<br />
un ensemble <strong>de</strong> trajectoires propres. Celles-ci sont à leur tour compressées en appliquant une<br />
<strong>de</strong>uxième ACP qui vise àéliminer les corrélations temporelles. Les résultats rapportés [134]<br />
montrent que l’approche CPCA perm<strong>et</strong> <strong>de</strong> mieux capturer les comportements linéaires locaux<br />
du champ <strong>de</strong> mouvement par rapport aux techniques [128] <strong>et</strong> [130].<br />
L’approche RLPCA (Relative Local Principal Component Analysis) présentée dans [136]<br />
segmente le maillage dynamique au sens du mouvement afin <strong>de</strong> dériver un ensemble <strong>de</strong> repères<br />
locaux associés aux différents clusters <strong>de</strong> la partition. Les trajectoires <strong>de</strong>s somm<strong>et</strong>s sont exprimées<br />
dans ces repères locaux avant compression par ACP.<br />
Les approches CPCA <strong>et</strong> RLPCA utilisent le même nombre <strong>de</strong> vecteurs propres pour l’ensemble<br />
<strong>de</strong>s clusters considérés. Ce paramètre doit être fixé manuellement par l’utilisateur, ce qui<br />
constitue une limitation <strong>de</strong> ces métho<strong>de</strong>s. Afin <strong>de</strong> s’affranchir <strong>de</strong> c<strong>et</strong> inconvénient, une métho<strong>de</strong><br />
<strong>de</strong> sélection automatique <strong>et</strong> adaptative du nombre <strong>de</strong> vecteurs propres <strong>de</strong> chaque cluster est<br />
proposée dans [137]. Le principe est d’appliquer une procédure d’optimisation minimisant les<br />
distorsions <strong>de</strong> compression sous la contrainte d’un débit fixé.<br />
Les approches PCA, LPCA <strong>et</strong> APCA sont spécifiquement adaptées à<strong>de</strong>sséquences longues<br />
<strong>et</strong> répétitives avec un nombre <strong>de</strong> somm<strong>et</strong>s relativement réduit par rapport au nombre <strong>de</strong> trames.<br />
A l’opposé, les techniques CODDYAC, CPCA <strong>et</strong> RLPCA sont optimisées pour <strong>de</strong>s séquences<br />
animées avec <strong>de</strong> fortes corrélations spatiales.<br />
En ce qui concerne la complexité <strong>de</strong> calcul, les approches PCA, LPCA <strong>et</strong> APCA sont très<br />
gourman<strong>de</strong>s en temps <strong>de</strong> calcul, avec une complexité <strong>de</strong>O(V × T 2 + V 2 × T + min(V,T) 3 )<br />
[129]. Cela est dû au traitement global <strong>de</strong>s séquences animées, aussi bien au niveau spatial que<br />
temporel. Les techniques CPCA, CODDYAC <strong>et</strong> RLPCA apportent <strong>de</strong>s éléments <strong>de</strong> solution<br />
àceproblème en appliquant une segmentation spatiale <strong>et</strong>/ou temporelle <strong>de</strong> l’animation <strong>et</strong><br />
une ACP indépendante sur chacune <strong>de</strong>s parties déterminées. Les procédures <strong>de</strong> segmentation<br />
proposées par CPCA <strong>et</strong> RLPCA restent en revanche relativement complexes en temps <strong>de</strong> calcul<br />
<strong>et</strong> nécessitent l’intervention <strong>de</strong> l’utilisateur pour spécifier le nombre <strong>de</strong> clusters.<br />
Les approches <strong>de</strong> compression par ACP répon<strong>de</strong>nt pleinement à la fonctionnalité <strong>de</strong>scalabilité<br />
en qualité qui est naturellement acquise en transm<strong>et</strong>tant les vecteurs <strong>et</strong> les coefficients<br />
correspondants dans un ordre décroissant <strong>de</strong>s valeurs propres associées. Les représentations<br />
intermédiaires générées sont en plus optimales par rapport à la norme euclidienne étant donné<br />
les propriétés <strong>de</strong> la transformée KL (Karhunen-Loève)[138, 139] sous-jacente. Notons toutefois<br />
20. Espace vectoriel ou chaque vecteur décrit l’évolution temporelle d’une <strong>de</strong>s trois coordonnées x, y ou z<br />
d’un somm<strong>et</strong> arbitraire fixé.<br />
21. Espace vectoriel ou chaque vecteur décrit la géométrie du maillage àuninstantt donné.
4.5 Synthèse bibliographique 111<br />
que la scalabilité spatiale <strong>de</strong>s flux compressés n’est pas assurée, la connectivité du maillage<br />
restant fixe quel que soit le niveau <strong>de</strong> détaildusignalgéométrique considéré.<br />
Ces aspects <strong>de</strong> scalabilité spatiale <strong>et</strong> en qualité sont notamment pris en compte par les techniques<br />
à base <strong>de</strong> transformées en on<strong>de</strong>l<strong>et</strong>tes, décrites dans le paragraphe suivant, qui s’appuient<br />
sur le concept d’analyse multirésolution.<br />
4.5.3 <strong>Compression</strong> par transformées en on<strong>de</strong>l<strong>et</strong>tes<br />
Depuis maintenant plus <strong>de</strong> 20 ans, les transformées en on<strong>de</strong>l<strong>et</strong>tes sont intensivement utilisées<br />
pour le codage d’images <strong>et</strong> <strong>de</strong> vidéos dans <strong>de</strong>s contextes aussi bien académiques, industriels<br />
que <strong>de</strong> normalisation internationale. Ce large succès s’explique par le riche éventail <strong>de</strong> fonctionnalités<br />
offertes, alliant dans un cadre unifié efficacité<strong>de</strong>compression, scalabilité spatiale<strong>et</strong><br />
en qualité <strong>et</strong>complexité<strong>de</strong>calculréduite.<br />
L’extension <strong>de</strong>s on<strong>de</strong>l<strong>et</strong>tes, classiquement définies sur <strong>de</strong>s connectivités régulières (i.e., grille<br />
régulière <strong>de</strong> pixels <strong>de</strong> l’image), à <strong>de</strong>s <strong>maillages</strong> <strong>3D</strong> <strong>de</strong> topologies arbitraires n’est en revanche pas<br />
un problème trivial. La littérature relativement récente consacrée à ce suj<strong>et</strong> fait apparaître trois<br />
gran<strong>de</strong>s familles d’approches : on<strong>de</strong>l<strong>et</strong>tes temporelles, spatiales régulières ou semi-régulières <strong>et</strong><br />
spatiales irrégulières.<br />
La première famille d’approches opère une décomposition en on<strong>de</strong>l<strong>et</strong>tes 1D selon la dimension<br />
temporelle <strong>de</strong> l’animation, seule bénéficiant en général d’une structure d’échantillonnage<br />
régulière.<br />
4.5.3.1 On<strong>de</strong>l<strong>et</strong>tes temporelles<br />
Dans [140], les auteurs introduisent une approche <strong>de</strong> compression fondée sur une analyse<br />
en on<strong>de</strong>l<strong>et</strong>tes 1D du champ <strong>de</strong> vitesses <strong>de</strong> l’animation. Le co<strong>de</strong>ur proposé calcule tout d’abord<br />
la séquence <strong>de</strong>s vecteurs vitesse (ϑ v t )t associés à chaque somm<strong>et</strong> v à l’instant t. Une analyse<br />
en on<strong>de</strong>l<strong>et</strong>tes B-spline cubiques 1D [141] aux trois coordonnées x, y <strong>et</strong> z <strong>de</strong> (ϑ v t )t est ensuite<br />
appliquée. En raison <strong>de</strong>s corrélations temporelles du signal vitesse, les coefficients on<strong>de</strong>l<strong>et</strong>tes<br />
obtenus sont en pratique concentrés sur les basses fréquences. Les auteurs proposent alors<br />
<strong>de</strong> co<strong>de</strong>r <strong>et</strong> <strong>de</strong> transm<strong>et</strong>tre uniquement les coefficients supérieurs à un certaine seuil minimal<br />
ɛ, spécifié par l’utilisateur. Le reste <strong>de</strong>s coefficients est mis àzéro. Au niveau du déco<strong>de</strong>ur,<br />
une version approchée ( ˜ ϑ v u )t du signal vitesse est reconstruite en appliquant la transformée en<br />
on<strong>de</strong>l<strong>et</strong>tes inverse. En disposant <strong>de</strong> la position initiale du somm<strong>et</strong> v ainsi que <strong>de</strong> ses vecteurs<br />
vitesses à tout instant, la trajectoire reconstruite (˜χ v t )t du somm<strong>et</strong> v est obtenue comme décrit<br />
par l’équation (4.23) :<br />
˜χ v t =˜χv 1 +<br />
u=t−1 <br />
u=1<br />
˜ϑ v u . (4.23)<br />
Notons toutefois que c<strong>et</strong>te <strong>de</strong>rnière étape peut introduire un phénomène <strong>de</strong> propagation <strong>de</strong>s<br />
erreurs. En eff<strong>et</strong>, les vecteurs vitesse reconstruits ( ˜ ϑ v u )t peuvent être différents <strong>de</strong>s originaux,<br />
typiquement dans le cas où ils subissent une procédure <strong>de</strong> quantification.<br />
Dans [142], le co<strong>de</strong>ur TWC (Temporal Wavel<strong>et</strong>-based <strong>Compression</strong>) compresse l’animation<br />
en appliquant un schéma <strong>de</strong> lifiting [58] temporel 1D aux trajectoires <strong>de</strong>s somm<strong>et</strong>s. Une<br />
prédiction <strong>de</strong>lta est ensuite appliquéeauxcoefficients<strong>de</strong>bassesfréquences. Les coefficients on<strong>de</strong>l<strong>et</strong>tes<br />
obtenus sont enfin quantifiés <strong>de</strong> façon adaptative afin d’optimiser la qualité visuelle <strong>de</strong>
112 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
l’animation reconstruite sous la contrainte d’un débit fixé. L’approche TWC est efficace dans le<br />
cas <strong>de</strong>s animations présentant <strong>de</strong>s corrélations temporelles relativement importantes. Toutefois,<br />
la non-prise en compte <strong>de</strong>s éventuelles corrélations spatiales pénalise sévèrement son efficacité,<br />
surtout dans le cas <strong>de</strong>s séquences animées courtes avec un nombre <strong>de</strong> somm<strong>et</strong>s important. En<br />
outre, observons que l’étape<strong>de</strong>prédiction spatiale <strong>de</strong>s coefficients <strong>de</strong> basses fréquences <strong>de</strong> la<br />
décomposition en on<strong>de</strong>l<strong>et</strong>tes peut introduire une propagation <strong>de</strong>s erreurs comme le montre la<br />
dégradation significative <strong>de</strong>s performances du co<strong>de</strong>ur àtrès bas débits [142].<br />
Dans [143], les auteurs améliorent les performances <strong>de</strong> [142] en introduisant une étape<br />
<strong>de</strong> compensation <strong>de</strong> mouvement. Le maillage est partitionné enunnombreK <strong>de</strong> parties,<br />
prédéfini par l’utilisateur. Le mouvement <strong>de</strong> chaque partie est décrit par un vecteur <strong>3D</strong> <strong>de</strong><br />
déplacement correspondant à un mouvement translationnel global associéà la partie considérée.<br />
Aucune procédure <strong>de</strong> segmentation au sens du mouvement du maillage dynamique n’est en<br />
revanche proposée. De plus, le modèle translationnel <strong>de</strong> compensation <strong>de</strong> mouvement montre<br />
ses limitations pour <strong>de</strong>s mouvements plus complexes (e.g., rotations, déformations élastiques)<br />
caractéristiques <strong>de</strong>s animations <strong>de</strong> personnages articulés.<br />
Dans [144, 145, 146], les auteurs s’affranchissent <strong>de</strong> ces limitations en adoptant une stratégie<br />
<strong>de</strong> compensation du mouvement par modèle affine par morceaux. Le co<strong>de</strong>ur MCDWT (Motion<br />
Compensated Discr<strong>et</strong>e Wavel<strong>et</strong> Transform) proposé exploite une procédure <strong>de</strong> segmentation<br />
au sens du mouvement par croissance <strong>de</strong> région dont le principe est le suivant. Tout d’abord,<br />
un somm<strong>et</strong> est choisi au hasard <strong>et</strong> la transformée affine décrivant <strong>de</strong> manière optimale (au sens<br />
<strong>de</strong>s moindres carrés) le mouvement <strong>de</strong> son voisinage <strong>de</strong> premier ordre est calculée. L’ensemble<br />
<strong>de</strong>s somm<strong>et</strong>s dont le mouvement peut être décrit par c<strong>et</strong>te même transformée affine avec une<br />
erreur <strong>de</strong> compensation <strong>de</strong> mouvement inférieure àunseuilɛ sont regroupés dans un même<br />
cluster. Ensuite, un nouveau somm<strong>et</strong> est tiré au hasard à partir <strong>de</strong>s somm<strong>et</strong>s restants <strong>et</strong> le<br />
processus est réitéré jusqu’à ce que l’ensemble <strong>de</strong>s somm<strong>et</strong>s du maillage soient assignés à une<br />
partie. Notons que le paramètre ɛ est ici fixé empiriquement. Les résultats rapportés par les<br />
auteurs montrent que les valeurs optimales peuvent varier significativement d’une animation à<br />
une autre.<br />
Une <strong>de</strong>uxième famille d’approches multirésolution s’appuie sur une conversion <strong>de</strong> la connectivité<br />
irrégulière initiale du maillage en une connectivité semi-régulière ou totalement régulière,<br />
adaptée à la compression par on<strong>de</strong>l<strong>et</strong>tes spatiales 2D.<br />
4.5.3.2 On<strong>de</strong>l<strong>et</strong>tes spatiales régulières <strong>et</strong> semi-régulières<br />
La technique SRWC (Semi-Regular Wavel<strong>et</strong>-based <strong>Compression</strong>) présentée dans [147, 148]<br />
opère un remaillage semi-régulier <strong>de</strong> la connectivité du maillage dynamique, afin <strong>de</strong> construire<br />
un schéma <strong>de</strong> lifting <strong>de</strong> type Butterfly [149]. Plus précisément, le co<strong>de</strong>ur SRWC exploite la<br />
procédure <strong>de</strong> remaillge décrite dans [62] afin <strong>de</strong> déduire une paramétrisation <strong>de</strong> la première<br />
trame M1 sur un maillage <strong>de</strong> base obtenu par décimation [150] <strong>de</strong> M1. La version remaillée<br />
est obtenue en exploitant un schéma <strong>de</strong> subdivision <strong>de</strong> type Butterfly, les informations <strong>de</strong><br />
paramétrisation ainsi qu’une procédure <strong>de</strong> lancée <strong>de</strong> rayon. La transformée en on<strong>de</strong>l<strong>et</strong>tes semirégulière<br />
ainsi générée est ensuite appliquée au signal d’animation en tenant compte <strong>de</strong>s mouvements<br />
rigi<strong>de</strong>s locaux <strong>de</strong>s somm<strong>et</strong>s. Les coefficients <strong>de</strong> la décomposition en on<strong>de</strong>l<strong>et</strong>tes obtenus<br />
sont enfin quantifiés <strong>et</strong> compressés avec le co<strong>de</strong>ur SPIHT [60].<br />
Dans [12], les auteurs proposent la représentation Geom<strong>et</strong>ry Vi<strong>de</strong>o (GV) dont le principe<br />
consiste à convertir la géométrie <strong>3D</strong> dynamique en une séquence d’images 2D. L’approche GV<br />
exploite un découpage du maillage (nécessaire pour obtenir une topologie homéomorphe àun
4.5 Synthèse bibliographique 113<br />
disque) <strong>et</strong> une paramétrisation sur un domaine 2D carré. La topologie initiale du maillage est<br />
complètement abandonnée <strong>et</strong> remplacée par une topologie régulière, obtenue en échantillonnant<br />
uniformément le domaine paramétrique. Une procédure <strong>de</strong> compensation du mouvement affine<br />
global est tout d’abord appliquée aux images géométriques construites. La séquence <strong>de</strong>s erreurs<br />
résiduelles ainsi obtenues est ensuite compressée par le co<strong>de</strong>ur d’images 2D EZW (Embed<strong>de</strong>d<br />
Zerotree Wavel<strong>et</strong> enco<strong>de</strong>r) [151].<br />
Les co<strong>de</strong>urs [147, 148] <strong>et</strong> [12] offrent <strong>de</strong>s performances <strong>de</strong> compression compétitives tout en<br />
assurant <strong>de</strong>s fonctionnalités <strong>de</strong> scalabilité spatiale<strong>et</strong>enqualité. En revanche, la procédure <strong>de</strong><br />
remaillage considérée peut conduire à une perte <strong>de</strong> détails <strong>de</strong> la surface ainsi qu’à l’apparition<br />
d’artéfacts visuels dans les régions <strong>de</strong> forte distorsion <strong>de</strong> paramétrisation.<br />
Afin <strong>de</strong> s’affranchir <strong>de</strong>s distorsions inhérentes à toute technique <strong>de</strong> paramétrisation, une<br />
<strong>de</strong>rnière famille d’approches propose une construction directe d’on<strong>de</strong>l<strong>et</strong>tes irrégulières définies<br />
sur <strong>de</strong>s structures topologiques arbitraires.<br />
4.5.3.3 On<strong>de</strong>l<strong>et</strong>tes spatiales irrégulières<br />
Dans [152], les auteurs introduisent une famille d’on<strong>de</strong>l<strong>et</strong>tes anisotropes irrégulières, définies<br />
pour un maillage <strong>de</strong> connectivité arbitraire. Ici, les coefficients <strong>de</strong>s filtres d’analyse varient en<br />
fonction du voisinage topologique <strong>et</strong> <strong>de</strong>s propriétés géométriques locales autour <strong>de</strong> chaque somm<strong>et</strong><br />
du maillage. Par conséquent, ils doivent être codés <strong>et</strong> intégrés dans le flux binaire, pour assurer<br />
leur disponibilitéauniveaududéco<strong>de</strong>ur. C<strong>et</strong>te information paramétrique supplémentaire,<br />
coûteuse en terme <strong>de</strong> débit, rend c<strong>et</strong>te approche inadaptée à la compression <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong>.<br />
Toutefois, elle trouve pleinement son utilité dans le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong>, où<br />
c<strong>et</strong>te information peut être déduite à partir uniquement <strong>de</strong> la première trame. Les développements<br />
théoriques introduits dans [152] sont appliqués à <strong>de</strong>s objectifs <strong>de</strong> compression dans<br />
[153]. La technique proposée, dite Animation Wavel<strong>et</strong>s <strong>Compression</strong> (AWC), construit une<br />
famille d’on<strong>de</strong>l<strong>et</strong>tes anisotropes irrégulières, à partir d’une structure hiérarchique <strong>de</strong> <strong>maillages</strong><br />
progressifs [10] déduite à partir <strong>de</strong> la première trame <strong>de</strong> la séquence.<br />
Dans [154], les auteurs appliquent l’approche <strong>de</strong> codage par on<strong>de</strong>l<strong>et</strong>tes irrégulières [63]<br />
définie pour le cas statique (cf. Section 1.3.2.9) à la compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong>.<br />
De façon analogue au codage vidéo, trois types <strong>de</strong> trames sont considérés : (1) les trames <strong>de</strong><br />
type <strong>de</strong> I traitées <strong>de</strong> façon indépendante (sans prédiction temporelle), (2) les trames <strong>de</strong> type<br />
Pprédites àpartir<strong>de</strong>la<strong>de</strong>rnière trame I <strong>et</strong> (3) les trames <strong>de</strong> type B prédites à partir <strong>de</strong><br />
<strong>de</strong>ux trames <strong>de</strong> type I ou P. Contrairement à [153], l’approche proposée dans [154] perm<strong>et</strong> un<br />
codage quasi-sans perte. La famille d’on<strong>de</strong>l<strong>et</strong>tes proposée reste cependant sous-optimale, les<br />
filtres utilisés ainsi que la structure <strong>de</strong> subdivision étant dérivés pour la majorité <strong>de</strong>s somm<strong>et</strong>s<br />
(cf. Section 1.3.2.9) à partir <strong>de</strong> la connectivité du maillage sans tenir compte <strong>de</strong> la géométrie.<br />
Les approches <strong>de</strong> compression par on<strong>de</strong>l<strong>et</strong>tes irrégulières [153] <strong>et</strong> [154] perm<strong>et</strong>tent d’atteindre<br />
<strong>de</strong>s taux <strong>de</strong> compression compétitifs. La structure hiérarchique définie par la construction<br />
<strong>de</strong>s on<strong>de</strong>l<strong>et</strong>tes leur perm<strong>et</strong> <strong>de</strong> supporter <strong>de</strong> façon naturelle les fonctionnalités <strong>de</strong> scalabilité<br />
spatiale <strong>et</strong> <strong>de</strong> scalabilité en qualité. Ainsi, pour les <strong>de</strong>ux approches, au niveau du déco<strong>de</strong>ur, le<br />
maillage <strong>de</strong> base est raffiné eninsérant successivement les somm<strong>et</strong>s décimés dans l’ordre inverse<br />
<strong>de</strong> leur simplification. Cela perm<strong>et</strong> <strong>de</strong> générer <strong>de</strong>s niveaux <strong>de</strong> détails successifs en décodant à<br />
chaque étape uniquement les coefficients on<strong>de</strong>l<strong>et</strong>tes associés aux somm<strong>et</strong>s insérés.<br />
Les approches [153] <strong>et</strong> [154] sont en revanche inadaptées aux <strong>maillages</strong> avec un nombre<br />
réduit <strong>de</strong> somm<strong>et</strong>s par composante connexe, où les structures <strong>de</strong> subdivision utilisées ne comportent<br />
pas suffisamment <strong>de</strong> niveaux hiérarchiques pour décomposer le signal <strong>de</strong> façon efficace.<br />
Cela limite le domaine d’application <strong>de</strong> ces techniques.
114 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Une <strong>de</strong>rnière famille d’approches, décrite dans le paragraphe suivant, étend aux <strong>maillages</strong><br />
<strong>3D</strong> animés les techniques traditionnelles <strong>de</strong> compression vidéo, en considérant un mécanisme<br />
<strong>de</strong> compensation <strong>de</strong> mouvement associé à une partition du maillage.<br />
4.5.4 <strong>Compression</strong> par segmentation<br />
C’est dans c<strong>et</strong>te famille que s’inscrit la toute première métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong><br />
animés introduite par Lengyel [120], dont le principe consiste à segmenter le maillage en composantes<br />
dont le mouvement peut être décrit fidèlement par une transformée affine. L’approche<br />
heuristique <strong>de</strong> segmentation proposée sélectionne au hasard 10% <strong>de</strong>s triangles du maillage <strong>et</strong><br />
réalise une classification <strong>de</strong>s somm<strong>et</strong>s restants par rapport au mouvement <strong>de</strong> ces triangles.<br />
L’animation est alors exprimée par l’ensemble <strong>de</strong>s transformées affines obtenues ainsi que par<br />
l’ensemble <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement associées. Les transformées affines sont<br />
codées sans pertes. Les erreurs <strong>de</strong> prédiction sont quantifiés <strong>et</strong> compressées avec un co<strong>de</strong>ur<br />
arithmétique [26].<br />
Une extension du co<strong>de</strong>ur <strong>de</strong> Lengyel, fondée sur une mise en correspondance <strong>de</strong>s somm<strong>et</strong>s<br />
du maillage aux différents instants temporel <strong>de</strong> l’animation par l’algorithme ICP (Iterative Closest<br />
Point), est proposée dans [155]. Le principe consiste àdériver une segmentation purement<br />
topologique [156] qui vise à partitionner le maillage en K parties avec un nombre quasi-égale<br />
<strong>de</strong> somm<strong>et</strong>s, tout en minimisant le nombre <strong>de</strong> somm<strong>et</strong>s situés àlafrontière <strong>de</strong>s parties obtenues.<br />
L’algorithme ICP est ensuite utilisé pour estimer le mouvement affine <strong>de</strong> chacune <strong>de</strong> ces<br />
parties. Les somm<strong>et</strong>s du maillage sont enfin catégorisés en <strong>de</strong>ux types : (1) somm<strong>et</strong>s dont le<br />
mouvement peut être décrit uniquement par <strong>de</strong>s transformées affines <strong>et</strong> (2) somm<strong>et</strong>s dont le<br />
mouvement est décrit par une composante affine <strong>et</strong> un terme supplémentaire d’erreur résiduelle<br />
<strong>de</strong> compensation <strong>de</strong> mouvement. Dans [157], les auteurs généralisent c<strong>et</strong>te approche au cas <strong>de</strong>s<br />
<strong>maillages</strong> <strong>dynamiques</strong> avec connectivité variable dans le temps.<br />
Le co<strong>de</strong>ur RT (Rigid Transform) proposé dans [158] étend encore l’approche initiale <strong>de</strong><br />
Lengyel en modélisant c<strong>et</strong>te fois le mouvement <strong>de</strong>s somm<strong>et</strong>s uniquement par un ensemble <strong>de</strong><br />
transformées rigi<strong>de</strong>s <strong>et</strong> en s’affranchissant <strong>de</strong> toute erreur résiduelle <strong>de</strong> compensation <strong>de</strong> mouvement.<br />
Les auteurs introduisent également une nouvelle procédure <strong>de</strong> segmentation fondée sur<br />
une minimisation au sens <strong>de</strong>s moindres carrés. Le principe consiste à regrouper itérativement le<br />
maillage dynamique en parties jusqu’à ce que l’erreur globale <strong>de</strong> compensation <strong>de</strong> mouvement<br />
<strong>de</strong>vienne supérieure à un certain seuil pré-défini.<br />
L’approche PSC (Predictive Spectral <strong>Compression</strong>) introduite dans [159] exploite une procédure<strong>de</strong>segmentationausensdumouvement<br />
par croissance <strong>de</strong> régions analogue à celle définie<br />
dans [136]. Les trajectoires <strong>de</strong>s somm<strong>et</strong>s sont ensuite exprimées dans <strong>de</strong>s repères locaux liés à<br />
chaque cluster. Les trajectoires relatives ainsi obtenues sont enfin compressées en appliquant<br />
<strong>de</strong>s transformées DCT temporelles aux coordonnées <strong>de</strong>s somm<strong>et</strong>s. Les coefficients DCT sont<br />
quantifiés uniformément, puis codés à l’ai<strong>de</strong> du co<strong>de</strong>ur arithmétique décrit dans [26].<br />
Dans [160], les auteurs proposent le co<strong>de</strong>ur TS (Triangle Strips-based compression) qui<br />
exploite la connectivité fixe du maillage dynamique pour le décomposer en ban<strong>de</strong>s <strong>de</strong> triangles<br />
(BT) <strong>de</strong> longueurs quasi-uniformes. Par analogie avec les métho<strong>de</strong>s <strong>de</strong> codage vidéo,<br />
une procédure <strong>de</strong> compensation <strong>de</strong> mouvement est appliquée àchaqueBTenmodélisant son<br />
mouvement par un vecteur vitesse moyen. Les erreurs résiduelles <strong>de</strong> compensation <strong>de</strong> mouvement<br />
sont enfin compressées en appliquant <strong>de</strong>s DCT 1D spatiales selon les trois coordonnées<br />
x, y <strong>et</strong> z <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> chaque ban<strong>de</strong>.
4.6 Analyse <strong>et</strong> discussion 115<br />
Une représentation différente est proposée dans [161]. Ici, une structure volumique d’arbre<br />
octal (octree) est initialement définie àpartir<strong>de</strong>laboîte englobante <strong>de</strong> l’obj<strong>et</strong>. Ensuite, huit vecteurs<br />
<strong>de</strong> mouvement sont associés aux somm<strong>et</strong>s <strong>de</strong> chaque sous-cube <strong>de</strong> l’arbre. Le mouvement<br />
<strong>de</strong>s somm<strong>et</strong>s du maillage à l’intérieur <strong>de</strong> chaque sous-cube est alors calculé par interpolation<br />
trilinéaire [162] à partir <strong>de</strong> ces vecteurs. Ainsi, le champ <strong>de</strong> mouvement est-il représenté à l’ai<strong>de</strong><br />
<strong>de</strong> la structure d’arbre octal <strong>et</strong> <strong>de</strong>s vecteurs <strong>de</strong> mouvement associés à ses somm<strong>et</strong>s. Une version<br />
optimisée <strong>de</strong> c<strong>et</strong>te approche, appelée Dynamic <strong>3D</strong> Mesh <strong>Compression</strong> (D<strong>3D</strong>MC), est proposée<br />
dans [162, 163]. Dans [162], les auteurs utilisent un co<strong>de</strong>ur arithmétique avec contextes afin <strong>de</strong><br />
mieux exploiter les propriétés statistiques du signal. Dans [163], ils raffinent la modélisation<br />
du mouvement en associant à chaque somm<strong>et</strong> : (1) soit le vecteur vitesse moyen du cube, (2)<br />
soit le résultat d’une interpolation trilinéaire, (3) soit la valeur exacte du vecteur si les <strong>de</strong>ux<br />
<strong>de</strong>rniers modèles sont inefficaces.<br />
En exploitant <strong>de</strong>s représentations semi-globales combinées à<strong>de</strong>smodèles <strong>de</strong> mouvement, les<br />
approches <strong>de</strong> compression par segmentation perm<strong>et</strong>tent <strong>de</strong> modéliser <strong>de</strong> façon compacte une<br />
large catégorie <strong>de</strong> mouvements. Les performances <strong>de</strong> compression ainsi que la complexité <strong>de</strong><br />
calcul <strong>de</strong> ces approches sont souvent déterminées par la procédure <strong>de</strong> segmentation considérée.<br />
Leur limitation majeure est liée principalement aux discontinuités que le modèle <strong>de</strong> mouvement<br />
peut présenter àlafrontière entre parties qui peuvent induire <strong>de</strong>s artéfacts visuels notamment<br />
àbasdébits.<br />
4.6 Analyse <strong>et</strong> discussion<br />
L’analyse <strong>de</strong> l’état <strong>de</strong> l’art montre que la gran<strong>de</strong> majorité <strong>de</strong>s approches <strong>de</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>dynamiques</strong> <strong>3D</strong> reprend le schéma <strong>et</strong> les principes traditionnels [164] <strong>de</strong> codage vidéo<br />
en <strong>de</strong>ux phases : (1) compensation <strong>de</strong> mouvement <strong>et</strong> (2) codage par transformées <strong>de</strong>s erreurs<br />
résiduelles <strong>de</strong> prédiction. Les tableaux 4.4 <strong>et</strong> 4.5 synthétisent respectivement les différentes<br />
stratégies adoptées par ces techniques ainsi que les différentes fonctionnalités supportées.<br />
Au niveau <strong>de</strong> la compensation <strong>de</strong> mouvement, une première stratégie exploite <strong>de</strong>s modèles<br />
<strong>de</strong> mouvement relativement simples fondés sur une prédiction spatio-temporelle locale. A l’opposé,<br />
un <strong>de</strong>uxième type d’approches m<strong>et</strong> en oeuvre une compensation du mouvement globale<br />
du maillage. Ces <strong>de</strong>ux types <strong>de</strong> prédicteurs s’avèrent en pratique inadaptés pour la modélisation<br />
<strong>de</strong>s mouvements complexes (e.g., mouvement <strong>de</strong> personnages articulés). Pour s’affranchir <strong>de</strong> ces<br />
limitations, les techniques les plus récentes privilégient une modélisation semi-globale du mouvement.<br />
Dans ce cas, le maillage animé est tout d’abord segmenté en parties sur lesquelles <strong>de</strong>s<br />
modèles <strong>de</strong> mouvement sont ensuite construits. L’inconvénient majeur <strong>de</strong> c<strong>et</strong>te modélisation<br />
par morceaux est lié aux discontinuités du champ <strong>de</strong> mouvement au niveau <strong>de</strong>s frontières<br />
<strong>de</strong>s parties. Ces discontinuités <strong>de</strong>viennent particulièrement visibles àbasdébits <strong>et</strong> dégra<strong>de</strong>nt<br />
considérablement la qualité <strong>de</strong>s animations reconstruites.<br />
En ce qui concerne le codage <strong>de</strong>s erreurs résiduelles <strong>de</strong> prédiction, les techniques <strong>de</strong> l’état <strong>de</strong><br />
l’art exploitent le plus souvent une transformée (temporelle, spatiale ou spatio-temporelle) afin<br />
<strong>de</strong> décorréler le signal. Le choix <strong>de</strong> la transformée a une répercussion considérable sur l’efficacité<br />
<strong>de</strong> compression, sur la complexité <strong>de</strong> calcul ainsi que sur les fonctionnalités supportées.<br />
Une première classe d’approches exploitent une simple quantification uniforme <strong>de</strong>s erreurs<br />
résiduelles <strong>de</strong> compensation <strong>de</strong> mouvement, couplée avec un codage arithmétique. Elles offrent<br />
la complexité <strong>de</strong> calcul la plus basse tout en assurant la fonctionnalité <strong>de</strong> codage quasi-sans<br />
pertes sur les erreurs <strong>de</strong> prédiction. Ces techniques se montrent néanmoins peu efficaces en
116 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
termes <strong>de</strong> performances <strong>de</strong> compression, surtout àbasdébit. En outre, elles ne supportent la<br />
fonctionnalité <strong>de</strong> scalabilité en qualité. Enfin, observons que seules les techniques par prédiction<br />
hiérarchique offrent la fonctionnalité <strong>de</strong> scalabilité spatiale.<br />
Les métho<strong>de</strong>s exploitant <strong>de</strong>s transformées en DCT ou on<strong>de</strong>l<strong>et</strong>tes temporelles semblent offrir<br />
le meilleur compromis entre complexité <strong>de</strong>calcul<strong>et</strong>efficacité <strong>de</strong> compression. De plus, ces<br />
transformées supportent <strong>de</strong> façon naturelle la scalabilité en qualité puisque les coefficients<br />
spectraux peuvent être transmis progressivement, à partir <strong>de</strong>s basses fréquences. Ces approches<br />
n’assurent pas en revanche la fonctionnalité <strong>de</strong> scalabilité spatiale.<br />
Les métho<strong>de</strong>s à base <strong>de</strong> transformées en on<strong>de</strong>l<strong>et</strong>tes spatiales régulières ou semi-régulières<br />
offrent un large éventail <strong>de</strong> fonctionnalités : scalabilité spatiale, temporelle <strong>et</strong> en qualité. Les<br />
principales limitations <strong>de</strong> ces approches sont liées en revanche àlaprocédure <strong>de</strong> remaillage sousjacente<br />
qui est complexe en temps <strong>de</strong> calcul <strong>et</strong> peut favoriser l’apparition <strong>de</strong> discontinuités <strong>et</strong><br />
d’artéfacts visuels.<br />
Les approches <strong>de</strong> compression par on<strong>de</strong>l<strong>et</strong>tes spatiales irrégulières s’affranchissent <strong>de</strong> ces<br />
limitations en définissant <strong>de</strong>s on<strong>de</strong>l<strong>et</strong>tes adaptées à la connectivité du maillage. Ces techniques<br />
offrent <strong>de</strong> bonnes performances <strong>de</strong> compression tout en assurant la scalabilité spatiale, temporelle<br />
<strong>et</strong> en qualité. En revanche, elles ne garantissent pas l’optimalité <strong>de</strong>sniveaux<strong>de</strong>détails<br />
intermédiaires générés.<br />
Les techniques <strong>de</strong> compression par ACP exploitent une transformée <strong>de</strong> KL qui assure l’optimalité<br />
au sens <strong>de</strong> la norme euclidienne <strong>de</strong>s représentations intermédiaires décodées au cours du<br />
processus <strong>de</strong> transmission. Ces techniques souffrent cependant d’une complexité <strong>de</strong>calculexorbitante,<br />
ce qui les rend en pratique inexploitables. Une segmentation (spatiale ou temporelle)<br />
préalable du maillage dynamique est souvent proposée pour s’affranchir <strong>de</strong> c<strong>et</strong> inconvénient.<br />
Toutefois, le flux compressé n’est scalable ni temporellement, ni spatialement.<br />
Bien que les fonctionnalités <strong>de</strong> streaming, <strong>de</strong> codage quasi-sans perte, ou <strong>de</strong> codage d’attributs<br />
photométriques liées àlasurfaces(e.g. normales, couleurs...) sont fondamentales pour<br />
exploitation industrielle <strong>de</strong>s co<strong>de</strong>urs proposés, ces aspects restent le plus souvent non-traités,<br />
voire non-supportés par les techniques <strong>de</strong> la littérature.<br />
4.7 Conclusion<br />
Dans ce chapitre, après une rapi<strong>de</strong> synthèse <strong>de</strong>s domaines d’application <strong>de</strong>s contenus <strong>3D</strong><br />
<strong>dynamiques</strong> ainsi que <strong>de</strong>s techniques <strong>de</strong> création <strong>et</strong> <strong>de</strong> représentation <strong>de</strong> ces données, nous<br />
avons présenté unétat <strong>de</strong> l’art <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés. Quatre<br />
gran<strong>de</strong>s familles d’approches, prédictives, par ACP, à base <strong>de</strong> transformées en on<strong>de</strong>l<strong>et</strong>tes ou<br />
encore par segmentation ont été i<strong>de</strong>ntifiées <strong>et</strong> décrites avec, principe, métho<strong>de</strong>s représentatives,<br />
avantages <strong>et</strong> limitations.<br />
L’analyse <strong>de</strong> l’état <strong>de</strong> l’art montre qu’il n’existe pas actuellement <strong>de</strong> métho<strong>de</strong> satisfaisant<br />
à la fois aux contraintes d’efficacité <strong>de</strong> compression, <strong>de</strong> faible complexité <strong>de</strong> calcul ainsi qu’à<br />
<strong>de</strong>s fonctionnalités plus avancées comme le streaming, le codage <strong>de</strong>s attributs, la scalabilité<br />
(spatiale, temporelle <strong>et</strong> en qualité) ou encore le codage quasi-sans pertes.<br />
Les <strong>de</strong>ux métho<strong>de</strong>s originales <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong> que nous proposons<br />
dans c<strong>et</strong>te thèse s’attaquent notamment à c<strong>et</strong> objectif. S’inscrivant dans le cadre <strong>de</strong>s approches<br />
par segmentation au sens du mouvement, elles font cohabiter différentes techniques prédictives
4.7 Conclusion 117<br />
Techniques Compensation <strong>de</strong> mouvement Codage <strong>de</strong>s erreurs résiduelles<br />
IC<br />
[122],<br />
[121], Dynapack • Prédiction spatio-temporelle • Quantification<br />
AP [123] <strong>et</strong> MV [124] locale • Codage arithmétique<br />
SSLPC, STSLPC [126], • Prédiction hiérarchique spatio- • Quantification uniforme<br />
LOPC <strong>et</strong> LBPC [127] temporelle locale • Codage arithmétique<br />
PCA [128, 129] • Compensation du mouvement<br />
rigi<strong>de</strong> ou affine global<br />
• ACP<br />
LPCA [130] • Compensation du mouvement • ACP<br />
rigi<strong>de</strong> global • Prediction linéaire temporelle<br />
• Quantification uniforme<br />
APCA [131, 132] • Compensation du mouvement • ACP<br />
rigi<strong>de</strong> global • Quantification adaptative<br />
CPCA [134] • Compensation <strong>de</strong>s translations • ACP par parties<br />
globales • Quantification uniforme<br />
RLPCA [136, 137] • Compensation par parties <strong>de</strong>s • ACP par parties<br />
mouvements rigi<strong>de</strong>s • Sélection adaptative <strong>de</strong>s vecteurs<br />
propres<br />
• Quantification uniforme<br />
CODDYAC [133] • Prédiction par la règle du • ACP<br />
“parallélogramme” • Quantification uniforme<br />
TWC [142] • Prédiction spatiale <strong>de</strong>s coefficients • Schéma <strong>de</strong> lifting 1D<br />
on<strong>de</strong>l<strong>et</strong>tes basses fréquences • Quantification adaptative<br />
MCDWT<br />
[144, 145, 146]<br />
• Compensation par parties • Schéma <strong>de</strong> lifting 1D<br />
du mouvement affine • Quantification adaptative<br />
SRWC [147, 148] • Compensation <strong>de</strong>s mouvements • Schéma <strong>de</strong> lifting semi-régulier<br />
rigi<strong>de</strong>s locaux • Quantification uniforme<br />
• Co<strong>de</strong>ur SPIHT<br />
GV [12] • Compensation du mouvement • On<strong>de</strong>l<strong>et</strong>te régulières<br />
afine global • Co<strong>de</strong>ur EZW<br />
TO irrégulières • Prédiction <strong>de</strong>lta temporelle • On<strong>de</strong>l<strong>et</strong>tes anisotropes ou<br />
[154, 153] paresseuses (lazy) irrégulières<br />
Lengyel [120], RT [158] • Compensation par parties <strong>de</strong>s • Quantification uniforme<br />
<strong>et</strong> ICP [155, 157] mouvements rigi<strong>de</strong>s ou affines • Codage arithmétique<br />
PSC [159] • Compensation par parties <strong>de</strong>s • DCT temporelle<br />
mouvements rigi<strong>de</strong>s • Quantification uniforme<br />
• Codage arithmétique<br />
TS [160] • Compensation <strong>de</strong>s translations • DCT spatiale 1D<br />
par ban<strong>de</strong>s <strong>de</strong> triangles • Quantification uniforme<br />
• Codage arithmétique<br />
D<strong>3D</strong>MC [161, 162, 163] • Prediction <strong>de</strong>lta temporelle • Quantification uniforme<br />
• Modélisation àbased’octree • Codage arithmétique<br />
Table 4.4 : Etat <strong>de</strong> l’art : stratégies <strong>de</strong> compensation <strong>de</strong> mouvements <strong>et</strong> <strong>de</strong> codage <strong>de</strong>s erreurs<br />
résiduelles <strong>de</strong> prédiction.
118 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art<br />
Techniques Codage <strong>de</strong>s Scalabilité Scalabilité Scalabilité Quasi-sans Streaming<br />
attributs spatiale temporelle en qualité pertes<br />
IC [121] × ×<br />
Dynapack [122] × × ×<br />
AP [123] × × ×<br />
MV [124] × × ×<br />
SSLPC <strong>et</strong> STSLPC [126] × × × ×<br />
LOPC <strong>et</strong> LBPC [127] × × × ×<br />
PCA [128, 129] ×<br />
LPCA [130] ×<br />
APCA [131, 132] ×<br />
CPCA [134] ×<br />
RLPCA [136, 137] ×<br />
CODDYAC [133] × ×<br />
TWC [142] ×<br />
MCDWT [144, 145, 146] × ×<br />
SRWC [147, 148] × × × ×<br />
GV [12] × × × × ×<br />
TO irrégulières [154] × × × × ×<br />
AWC [153] × × ×<br />
Lengyel [120] ×<br />
RT [158] ×<br />
ICP [155, 157] × × ×<br />
PSC [159] ×<br />
TS [160] × ×<br />
D<strong>3D</strong>MC [161, 162, 163] × × ×<br />
Table 4.5 : Etat <strong>de</strong> l’art : fonctionnalités supportées. IC : Interpolation <strong>Compression</strong>, AP:<br />
Angle Preserving, MV : vertex-wise Motion Vector, SSLPC : Spatial Scalable Linear Predictive<br />
Co<strong>de</strong>r, STSLPC:Spatio-Temporal Scalable Linear Predictive Co<strong>de</strong>r, LOPC:Layered Onedirectionnal<br />
Predictive Co<strong>de</strong>r, LBPC:Layered Bi-directionnal Predictive Co<strong>de</strong>r, PCA:Principal<br />
Component Analysis compression, LPCA:Linear PCA, APCA:Adaptive PCA co<strong>de</strong>r,<br />
CPCA : Clustered PCA, RLPCA:Relative Local PCA, TWC:Temporal Wavel<strong>et</strong>-based <strong>Compression</strong>,<br />
MCDWT:Motion Compensated Discr<strong>et</strong>e Wavel<strong>et</strong> Transform, SRWC:Semi-Regular<br />
Wavel<strong>et</strong>-based <strong>Compression</strong>, GV:Geom<strong>et</strong>ry Vi<strong>de</strong>os, AWC (Anisotropic Wavel<strong>et</strong>s <strong>Compression</strong>),<br />
TO : Transformée en On<strong>de</strong>l<strong>et</strong>tes, RT : Rigid Transform, ICP:Iterative Closest Point,<br />
PSC : Predictive Spectral <strong>Compression</strong>, TS:Triangle Strips-based compression, D<strong>3D</strong>MC:<br />
Dynamic <strong>3D</strong> Mesh <strong>Compression</strong>.
4.7 Conclusion 119<br />
<strong>et</strong> par transformées pour augmenter l’efficacité <strong>de</strong>compression<strong>et</strong>répondre aux besoins fonctionnels<br />
<strong>de</strong>s applications industrielles mo<strong>de</strong>rnes. De manière plus précise, nos contributions<br />
portent sur :<br />
• l’élaboration d’une procédure automatique <strong>de</strong> segmentation au sens du mouvement fondée<br />
sur une représentation hiérarchique,<br />
• la mise en oeuvre d’un modèle<strong>de</strong>peau(skinning), inspiré <strong>de</strong>s techniques d’animation<br />
<strong>3D</strong> (cf. Section 4.2) qui perm<strong>et</strong> <strong>de</strong> modéliser <strong>de</strong> manière fidèlelechamps<strong>de</strong>mouvement,<br />
tout en s’affranchissant <strong>de</strong>s problèmes <strong>de</strong> discontinuités au niveau <strong>de</strong>s frontières,<br />
• la mise en place d’un schéma <strong>de</strong> codage générique, avec une architecture flexible <strong>et</strong> modulable<br />
supportant notamment les fonctionnalités <strong>de</strong> streaming, <strong>de</strong> scalabilité (temporelle,<br />
spatiale <strong>et</strong> en qualité), <strong>de</strong> prise en compte <strong>de</strong> codage d’attributs photométriques <strong>et</strong> <strong>de</strong><br />
compression quasi-sans pertes.<br />
Les aspects relatifs àlamodélisation <strong>de</strong> mouvement, avec procédure <strong>de</strong> segmentation <strong>et</strong><br />
modèle <strong>de</strong> peau (skinning) sontdécrits en détails au Chapitre 5. Ensuite, les chapitres 6 <strong>et</strong> 7<br />
présentent en détails les <strong>de</strong>ux shémas <strong>de</strong> compression proposés, appelés MCGV (Multi-Chart<br />
Geom<strong>et</strong>ry Vi<strong>de</strong>o) <strong>et</strong>FAMC(Frame-based Animated Mesh <strong>Compression</strong>).
120 Représentation <strong>et</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés : état <strong>de</strong> l’art
Chapitre5<br />
Compensation <strong>de</strong> mouvement par modèle<br />
<strong>de</strong> peau (skinning)<br />
Résumé : Ce chapitre introduit la procédure <strong>de</strong> compensation <strong>de</strong> mouvement par<br />
modèle <strong>de</strong> peau (skinning). Dans ce contexte, <strong>de</strong>ux approches originales <strong>de</strong> segmentation<br />
au sens du mouvement d’un maillage <strong>3D</strong> animés, sont tout d’abord proposées. Elles<br />
perm<strong>et</strong>tent, à partir d’une représentation par trames clés, <strong>de</strong> décomposer un maillage<br />
dynamique en parties dont les mouvements peuvent être fidèlement décrits par <strong>de</strong>s transformées<br />
affines <strong>3D</strong>. Le segmentation ainsi générée est ensuite exploitée dans le cadre d’une<br />
stratégie <strong>de</strong> compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning). Le principe est<br />
<strong>de</strong> modéliser le mouvement <strong>de</strong> chaque partie par une transformée affine. Un champ <strong>de</strong> mouvement<br />
continu sur l’ensemble du maillage est ensuite obtenu en combinant linéairement<br />
lesmouvementsaffines<strong>de</strong>sdifférentes parties avec <strong>de</strong>s poids appropriés. Une procédure<br />
automatique <strong>de</strong> calcul <strong>de</strong>s paramètres du modèle <strong>de</strong> peau (i.e., transformées affines <strong>et</strong><br />
poids d’animation associés) est également proposée. Le modèle généré est enfin exploité<br />
pour prédire les positions ainsi que les normales associées aux somm<strong>et</strong>s du maillage.<br />
Mots clés : Modèles <strong>de</strong> peau, skinning, segmentation au sens du mouvement, modèle<br />
<strong>de</strong> prédiction.<br />
121
122 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
Inspiré <strong>de</strong>s techniques d’animation <strong>3D</strong> largement utilisées par les créateurs <strong>de</strong> contenus<br />
graphiques <strong>3D</strong> dans le cadre <strong>de</strong>s jeux vidéos <strong>et</strong> <strong>de</strong>s films d’animation, le modèle <strong>de</strong> skinning<br />
repose sur une modélisation par parties du champ <strong>de</strong> mouvement, exploitant une segmentation<br />
du maillage animé [165]. Intuitivement, chaque partie correspond à un sous-ensemble <strong>de</strong><br />
somm<strong>et</strong>s qui peut subir <strong>de</strong>s mouvements indépendants du reste. Le principe <strong>de</strong> l’animation<br />
par modèle <strong>de</strong> skinning [166] est <strong>de</strong> modéliser le mouvement <strong>de</strong> chaque partie par une transformée<br />
affine. Un champ <strong>de</strong> mouvement continu sur l’ensemble du maillage est ensuite obtenu<br />
en combinant linéairement les mouvements affines <strong>de</strong>s différentes parties avec <strong>de</strong>s poids appropriés.<br />
L’exemple typique est celui <strong>de</strong>s personnages articulés, où les parties correspon<strong>de</strong>nt à<strong>de</strong>s<br />
composantes anatomiques du corps du personnage (e.g., bras, jambes, mains...).<br />
Comment déterminer automatiquement, à partir d’une représentation par trames clés, une<br />
segmentation au sens du mouvement du modèle animé en parties dont les mouvements peuvent<br />
être fidèlement décrits par <strong>de</strong>s transformées affines <strong>3D</strong> ? Comment calculer <strong>de</strong> manière optimale<br />
les paramètres du modèle <strong>de</strong> peau (i.e., transformées affines <strong>et</strong> poids d’animation associés)<br />
afin <strong>de</strong> décrire fidèlement le mouvement global du modèle dynamique ? Ce sont les questions<br />
auxquelles ce chapitre vise à apporter <strong>de</strong>s éléments <strong>de</strong> réponse.<br />
Ce chapitre est structuré en trois parties. La première est dédiée aux <strong>de</strong>ux approches <strong>de</strong><br />
segmentation au sens du mouvement que nous proposons, qui sont décrites en détails. Ensuite,<br />
nous décrivons le modèle<strong>de</strong>peau(skinning) associé à la partition ainsi obtenue (Section 5.2).<br />
Enfin, les résultats expérimentaux sont présentés <strong>et</strong> discutés Section 5.3.<br />
5.1 Segmentation au sens du mouvement<br />
5.1.1 Etat <strong>de</strong> l’art<br />
Depuis une trentaine d’années maintenant, les techniques <strong>de</strong> segmentation <strong>de</strong>s contenus<br />
visuels ont connu un développement considérable comme en atteste le riche état <strong>de</strong> l’art dédié<br />
à ce domaine [167]. Ces techniques ont été exploitées à large échelle dans le domaine <strong>de</strong> traitement<br />
d’image <strong>de</strong>puis le début <strong>de</strong>s années quatre-vingts pour <strong>de</strong>s applications diverses, comme<br />
la compression, l’in<strong>de</strong>xation, l’analyse <strong>et</strong> la modélisation. Avec le développement important<br />
qu’a connu l’imagerie <strong>3D</strong> au cours <strong>de</strong>s années quatre-vingt-dix, les techniques <strong>de</strong> segmentation<br />
<strong>de</strong> <strong>maillages</strong> <strong>statiques</strong> <strong>3D</strong> [168, 169, 170, 171, 172, 173] s’imposent aujourd’hui comme<br />
un ingrédient indispensable pour un grand nombre d’algorithmes <strong>de</strong> traitement <strong>et</strong> d’analyse<br />
<strong>de</strong> données <strong>3D</strong> (e.g., paramétrisation, re-maillage, compression, morphing...). Bien que la segmentation<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong> ait connu un grand essor, un p<strong>et</strong>it nombre <strong>de</strong> travaux <strong>de</strong><br />
la littérature traite en revanche <strong>de</strong> la segmentation au sens du mouvement <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>dynamiques</strong>. Ce domaine relativement récent a été abordépourlapremière fois dans [120].<br />
L’approche <strong>de</strong> Lengyel a pour but <strong>de</strong> segmenter le maillage en composantes dont le mouvement<br />
peut être décrit fidèlement par une transformée affine <strong>3D</strong>. Dans [120], il propose une<br />
approche heuristique <strong>de</strong> segmentation qui sélectionne au hasard 10% <strong>de</strong>s triangles du maillage<br />
<strong>et</strong> réalise une classification <strong>de</strong>s somm<strong>et</strong>s restants par rapport au mouvement <strong>de</strong> ces triangles.<br />
L’approche <strong>de</strong> Lengyel souffre <strong>de</strong> problèmes <strong>de</strong> sur-segmentation étant donné le grand nombre<br />
<strong>de</strong> clusters considérés proportionnel àlacomplexité du maillage <strong>et</strong> non <strong>de</strong> son mouvement.<br />
Dans [136], la même approche par croissance <strong>de</strong> régions est considérée. Les triangles <strong>de</strong><br />
départ, appelés aussi triangles germes, sont ici choisis en exploitant la technique itérative<br />
proposée dans [174]. Le principe consiste à choisir un ensemble N <strong>de</strong> triangles situés le plus
5.1Segmentationausensdumouvement 123<br />
loin possible les uns <strong>de</strong>s autres au sens <strong>de</strong> la distance géodésique calculée sur la première<br />
trame <strong>de</strong> l’animation. Le premier triangle est choisi au hasard. A la n-ième étape, le nouveau<br />
triangle germe est choisi comme étant le triangle le plus éloigné <strong>de</strong> tous les triangles germes déjà<br />
déterminés. Notons que le choix <strong>de</strong>s triangles germes est uniquement fondé surlagéométrie <strong>de</strong><br />
la première trame <strong>et</strong> non sur l’analyse du champ <strong>de</strong> mouvement <strong>de</strong> l’animation. Cela explique<br />
les résultats <strong>de</strong> segmentation peu précis <strong>de</strong> l’approche.<br />
Dans [144], les auteurs proposent une autre variante <strong>de</strong> l’approche [120]. Le principe consiste<br />
ici à choisir au hasard un somm<strong>et</strong> v <strong>et</strong> à calculer la transformée affine qui décrit <strong>de</strong> manière<br />
optimale (au sens <strong>de</strong>s moindres carrés) le mouvement <strong>de</strong> son voisinage <strong>de</strong> premier ordre. Les<br />
somm<strong>et</strong>s dont le mouvement peut être décrit par c<strong>et</strong>te même transformée affine avec une erreur<br />
<strong>de</strong> compensation <strong>de</strong> mouvement inférieure àunseuilɛsontregroupés dans un même cluster.<br />
Ensuite, un nouveau somm<strong>et</strong> est tiré au hasard à partir <strong>de</strong>s somm<strong>et</strong>s restants <strong>et</strong> le processus est<br />
réitéré jusqu’àceque tous les somm<strong>et</strong>s du maillage soient assignés à une partie. Comme pour<br />
[120] <strong>et</strong> [174], le choix sous-optimal <strong>de</strong>s triangles germes conduit à une mauvaise classification<br />
<strong>de</strong>s somm<strong>et</strong>s situés sur les frontières entres clusters.<br />
L’approche proposée dans [155] s’appuie sur une segmentation initiale obtenue en appliquant<br />
l’algorithme [156] qui vise à partitionner le maillage en K parties avec un nombre<br />
quasi-égal <strong>de</strong> somm<strong>et</strong>s, tout en minimisant le nombre <strong>de</strong> somm<strong>et</strong>s situés àlafrontière <strong>de</strong>s<br />
parties obtenues. L’algorithme ICP (Iterative closest Point) est ensuite utilisé pour estimer le<br />
mouvement affine <strong>de</strong> chacune <strong>de</strong>s parties. La partition finale est enfin calculée en associant<br />
à chaque somm<strong>et</strong> la partie qui décrit le mieux son mouvement. Notons que la segmentation<br />
initiale utilisée est obtenue à partir <strong>de</strong> critères purement topologiques en ne tenant compte<br />
ni <strong>de</strong> <strong>de</strong> la géométrie, ni du mouvement du maillage animé. C<strong>et</strong>te initialisation sous-optimale<br />
dégra<strong>de</strong> considérablement les performances <strong>de</strong> l’algorithme ICP, très sensible à l’initialisation.<br />
Dans [158], les auteurs introduisent une procédure <strong>de</strong> segmentation fondée sur une minimisation<br />
au sens <strong>de</strong>s moindres carrés. Ici, l’objectif est d’extraire les parties dont le mouvement<br />
peut être décrit fidèlement par une transformée rigi<strong>de</strong> (i.e., combinaison d’une rotation <strong>et</strong> d’une<br />
translation). L’algorithme procè<strong>de</strong><strong>de</strong>façon itérative. Au départ, tous les somm<strong>et</strong>s du maillage<br />
sont considérés comme non classés (i.e., n’appartenant à aucun cluster). A chaque étape du<br />
processus <strong>de</strong> segmentation, une procédure <strong>de</strong> compensation du mouvement rigi<strong>de</strong> global <strong>de</strong>s<br />
somm<strong>et</strong>s non classés est appliquée. Les somm<strong>et</strong>s qui induisent une erreur <strong>de</strong> compensation <strong>de</strong><br />
mouvement inférieure àunseuil<strong>de</strong>tolérance tol sont ensuite regroupés dans un même cluster<br />
<strong>et</strong> considérés comme classés. Ce processus est réitéré jusqu’àceque tous les somm<strong>et</strong>s du<br />
maillage soient assignés à une partie. L’approche <strong>de</strong> segmentation [158] s’avère efficace dans le<br />
cas d’animations rigi<strong>de</strong>s par morceaux (e.g., mouvements articulés). Toutefois, c<strong>et</strong>te métho<strong>de</strong><br />
montre ses limites pour <strong>de</strong>s mouvements non-rigi<strong>de</strong>s où <strong>de</strong>sproblèmes <strong>de</strong> sur-segmentation<br />
apparaissent.<br />
L’approche proposée dans [166] vise également àdétecter les parties animées par <strong>de</strong>s mouvements<br />
quasi-rigi<strong>de</strong>s. Elle associe à chaque triangle du maillage une transformée rigi<strong>de</strong> locale<br />
qui décrit son mouvement à chaque instant <strong>de</strong> l’animation. L’algorithme mean-shift [175] est<br />
ensuite appliqué dans l’espace <strong>de</strong>s transformées obtenues afin <strong>de</strong> détecter les parties quasirigi<strong>de</strong>s<br />
du maillage animé. Si la technique [166] est efficace dans le cas <strong>de</strong>s mouvements rigi<strong>de</strong>s,<br />
elle reste non-adaptée à<strong>de</strong>sdéformations élastiques, conduisant à une sous-segmentation du<br />
maillage dynamique.<br />
Afin <strong>de</strong> pallier les problèmes <strong>de</strong> mauvaise classification <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord (i.e., somm<strong>et</strong>s<br />
situés àlafrontière entre clusters), ainsi que ceux liés à la sous/sur-segmentation dont souffrent<br />
la plupart <strong>de</strong>s techniques <strong>de</strong> l’état <strong>de</strong> l’art, nous proposons dans ce chapitre <strong>de</strong>ux approches
124 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
originales <strong>de</strong> segmentation au sens du mouvement, qui perm<strong>et</strong>tent <strong>de</strong> gérer efficacement <strong>de</strong>s<br />
animations à la fois articulées <strong>et</strong> élastiques.<br />
Introduisons tout d’abord la formulation mathématique du problème considéré.<br />
5.1.2 Formulation mathématique<br />
L’objectif <strong>de</strong> l’étape <strong>de</strong> segmentation est d’obtenir une partition Π = (πk)k∈{1,...,K} <strong>de</strong>s<br />
somm<strong>et</strong>s du maillage en K parties dont le mouvement peut être fidèlement représenté par une<br />
transformée affine <strong>3D</strong>.<br />
Le critère<strong>de</strong>fidélité <strong>de</strong>lareprésentation que nous avons r<strong>et</strong>enu est l’erreur quadratique<br />
moyenne <strong>de</strong> compensation <strong>de</strong> mouvement, notée E(Π) <strong>et</strong> définie par :<br />
E(Π) =<br />
1<br />
V × T × D 2<br />
T<br />
i=1<br />
K <br />
k=1 v∈πk<br />
χ v i − A k i χv 1<br />
<br />
2 , (5.1)<br />
avec :<br />
– A une matrice 4 × 4représentant une transformée affine exprimée en coordonnées homogènes<br />
:<br />
⎛<br />
⎞<br />
A =<br />
⎜<br />
⎝<br />
a11 a12 a13 tx<br />
a21 a22 a23 ty<br />
a31 a32 a33 tz<br />
0 0 0 1<br />
⎟<br />
⎠ , (5.2)<br />
où (aij) sont les coefficients décrivant la partie linéaire du mouvement affine <strong>et</strong> (tx,ty,tz)<br />
est la composante translationelle,<br />
• χ v i =(xv i ,yv i ,zv i , 1)t le vecteur 4D représentant les coordonnes homogènes du somm<strong>et</strong> v à<br />
la trame i,<br />
• A k i la transformée affine <strong>3D</strong> associée à la partie πk à l’instant i,<br />
• D la diagonale <strong>de</strong> boîte englobante <strong>de</strong> la première trame <strong>de</strong> l’animation,<br />
• V le nombre <strong>de</strong> somm<strong>et</strong>s du maillage,<br />
• T le nombre <strong>de</strong> trames <strong>de</strong> la séquence d’animation.<br />
Notons que dans c<strong>et</strong>te formulation, le mouvement <strong>de</strong> chaque trame i est exprimé par rapport<br />
àlapremière trame <strong>de</strong> la séquence.<br />
Pour déterminer la partition Π minimisant l’erreur globale <strong>de</strong> compensation <strong>de</strong> mouvement<br />
E(Π) (equation 5.1), nous proposons <strong>de</strong>ux approches différentes. La première, décrite dans la<br />
section suivante, exploite un algorithme <strong>de</strong> clustering par k-moyennes.<br />
5.1.3 Segmentation par algorithme <strong>de</strong> k-moyennes<br />
Inspirée <strong>de</strong> l’algorithme <strong>de</strong> Max-Lloyd [49, 50], l’approche <strong>de</strong> segmentation par k-moyennes<br />
que nous proposons a pour objectif <strong>de</strong> déterminer, pour un nombre <strong>de</strong> cluster fixé K, une<br />
partition Π ∗ d’erreur E(Π ∗ ) minimale.<br />
L’algorithme proposé m<strong>et</strong> en oeuvre <strong>de</strong>ux étapes successives. Une partition initiale Π0 est<br />
tout d’abord calculée en appliquant l’algorithme original <strong>de</strong> Max-Lloyd sur un ensemble <strong>de</strong><br />
transformées affines locales, associées à l’ensemble <strong>de</strong>s somm<strong>et</strong>s du maillage. La partition Π0<br />
est ensuite raffinée en appliquant une variante <strong>de</strong> ce même algorithme qui vise à minimiser<br />
l’erreur quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement E(Π).
5.1Segmentationausensdumouvement 125<br />
5.1.3.1 Calcul <strong>de</strong> la partition initiale<br />
Soit A v i la transformée affine décrivant le mieux (au sens <strong>de</strong>s moindres carrés) le mouvement,<br />
à l’instant i, du voisinage ℵ(v) du somm<strong>et</strong> v par rapport àlapremière trame. La matrice A v i<br />
est définie par :<br />
A v i =argmin<br />
A<br />
⎛<br />
⎝ <br />
p∈ℵ(v)<br />
Aχ p<br />
1 − χ p<br />
i 2<br />
⎞<br />
⎠ , (5.3)<br />
avec ℵ(v) ={p1,p2,...,pq} l’ensemble <strong>de</strong>s somm<strong>et</strong>s contenant le somm<strong>et</strong> v ainsi que ses voisins<br />
topologiques (cf. Section 1.1).<br />
L’existence <strong>et</strong> l’unicité d’une solution pour le problème d’optimisation décrit par l’équation<br />
(5.3) ainsi que la procédure <strong>de</strong> calcul <strong>de</strong> la matrice A v i sont discutées en détail dans la Section<br />
5.2.1.<br />
Les matrices (A v i )i∈{1,...,T }, définies par l’équation (5.3), perm<strong>et</strong>tent <strong>de</strong> décrire àtoutinstant<br />
i le mouvement local dans le voisinage du somm<strong>et</strong> v. L’ensemble <strong>de</strong> ces transformées est<br />
représenté par un unique vecteur α v ∈ R 12×T regroupant l’ensemble <strong>de</strong>s coefficients affines (une<br />
transformée affine étant complètement définie par 12 coefficients réels). La partition initiale<br />
Π0 est alors obtenue en appliquant directement l’algorithme <strong>de</strong> segmentation <strong>de</strong> Max-Lloyd<br />
[49, 50] sur l’ensemble <strong>de</strong>s vecteurs (α v )v∈{1,...,V }.<br />
Comme discuté dans [176], la phase d’initialisation est critique pour la vitesse <strong>de</strong> convergence<br />
<strong>de</strong> l’algorithme <strong>de</strong> segmentation par k-moyennes. Dans [176], plusieurs technique d’initialisation<br />
sont empiriquement testées. Les résultats obtenus montrent qu’une initialisation<br />
aléatoire (i.e., les vecteurs sont associés au hasard àun<strong>de</strong>sK clusters) offrent les meilleurs<br />
résultats <strong>de</strong> segmentation au prix d’un temps <strong>de</strong> calcul plus important. Afin <strong>de</strong> tester les<br />
meilleures performances <strong>de</strong> l’approche <strong>de</strong> segmentation par k-moyennes, nous avons opté pour<br />
c<strong>et</strong>te technique d’initialisation. Notons cependant qu’une telle approche est sensible à l’initialisation<br />
du générateur <strong>de</strong> nombre pseudo-aléatoire utilisé <strong>et</strong> que <strong>de</strong>s exécutions multiples<br />
conduisent en général à<strong>de</strong>srésultats différents.<br />
L’algorithme <strong>de</strong> Max-Lloyd étant appliqué dans le domaine <strong>de</strong>s transformées affines, c<strong>et</strong>te<br />
première étape perm<strong>et</strong> <strong>de</strong> détecter les somm<strong>et</strong>s ayant <strong>de</strong>s mouvements affines locaux proches<br />
au sens <strong>de</strong> la norme euclidienne dans l’espace <strong>de</strong>s vecteurs (α v )v∈{1,...,V } ∈ R 12×T . En pratique,<br />
cela se traduit par une détection grossière <strong>de</strong>s parties animées par <strong>de</strong>s mouvements affines<br />
comme illustré Figure 5.1. Notons en revanche que les frontières entre les parties détectées ne<br />
sont pas précises (Figure 5.1). En eff<strong>et</strong>, le mouvement caractéristique aux articulations étant<br />
non-affine, les transformées locales associées aux somm<strong>et</strong>s <strong>de</strong> bord varient considérablement.<br />
Cela conduit à une classification non-précise. La partition Π0 calculée par c<strong>et</strong>te première étape<br />
est certes non-optimale. Elle perm<strong>et</strong> toutefois <strong>de</strong> détecter les mouvements affines principaux<br />
(Figure 5.1). Une <strong>de</strong>uxième étape <strong>de</strong> raffinement <strong>de</strong> Π0, décrite dans le paragraphe suivant, est<br />
alors introduite afin d’optimiser directement l’erreur quadratique moyenne <strong>de</strong> compensation<br />
<strong>de</strong> mouvement E(Π).<br />
5.1.3.2 Raffinement <strong>de</strong> la partition<br />
La procédure <strong>de</strong> raffinement vise à optimiser la partition Π0 tout en gardant constant le<br />
nombre <strong>de</strong> parties considérées. Le principe consiste àalterneritérativement une phase d’estimation<br />
<strong>de</strong>s transformées affines <strong>et</strong> une phase <strong>de</strong> mise à jour <strong>de</strong> la partition.
126 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
(a) (b) (c) (d)<br />
Figure 5.1 : Résultats <strong>de</strong> segmentation avec <strong>et</strong> sans la procédure <strong>de</strong> raffinement pour le<br />
maillage dynamique “Dance” : (a) Segmentation par k-moyennes sans raffinement, (b) Segmentation<br />
par k-moyennes avec raffinement, (c) Segmentation hiérarchique sans raffinement <strong>et</strong><br />
(d) Segmentation hiérarchique avec raffinement.<br />
Soit Π(n) = (πk(n)) k∈{1,...,K} la partition obtenue à la l’itération n. A l’itération n, la<br />
phase <strong>de</strong> calcul <strong>de</strong>s transformées affines associe à chaque partie k <strong>de</strong> la partition Π(n − 1) la<br />
transformée affine Hk i (n) quidécrit le mieux son mouvement (cf. Section 5.2.1) :<br />
H k i<br />
(n) =argmin<br />
A<br />
⎛<br />
⎝ <br />
v∈πk(n−1)<br />
Aχ v 1 − χv i 2<br />
⎞<br />
⎠ . (5.4)<br />
La phase <strong>de</strong> mise àjourperm<strong>et</strong><strong>de</strong>déduire la partition Π(n) àlanième itération à partir<br />
<strong>de</strong>s transformées affines (H k i (n))ki .Plusprécisément, chaque somm<strong>et</strong> v est ici associé àla<br />
transformée Hk∗ i (n) quidécrit le mieux son mouvement :<br />
<br />
T<br />
<br />
k<br />
Hi (n)χ v 1 − χ v <br />
<br />
i<br />
2<br />
<br />
. (5.5)<br />
k ∗ =arg min<br />
k∈{1,...,K}<br />
i=1<br />
Ce processus est itéré jusqu’à ce que la variation <strong>de</strong> l’erreur quadratique moyenne <strong>de</strong> compensation<br />
<strong>de</strong> mouvement |E(Π(n)) − E(Π(n − 1))| <strong>de</strong>vienne inférieure à une valeur prédéfinie<br />
ɛ>0.<br />
Il est notamment intéressant d’investiguer les aspects relatifs à la convergence <strong>de</strong> l’algorithme<br />
proposé. En particulier, nous pouvons énoncer la proposition suivante :<br />
Proposition 5.1.1 L’algorithme <strong>de</strong> raffinement proposé converge en un nombre fini d’itérations.<br />
Démonstration<br />
Soit E(n, n ′ ) l’erreur quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement obtenue en considérant
5.1Segmentationausensdumouvement 127<br />
la partition Π(n) <strong>et</strong>enmodélisant le mouvement <strong>de</strong>s parties par les transformées (H k i (n′ )) k i :<br />
E(n, n ′ )=<br />
1<br />
V × T × D 2<br />
T<br />
i=1<br />
K<br />
<br />
k=1 v∈πk(n)<br />
<br />
v<br />
χi − H k i (n′ )χ v <br />
<br />
1<br />
2 , (5.6)<br />
D’après l’équation (5.4), on a pour tout k ∈{1, ..., K} <strong>et</strong> àtoutinstanti ∈{1, ..., T } :<br />
T<br />
i=1<br />
⎛<br />
⎝ <br />
v∈πk(n−1)<br />
⎛<br />
K<br />
⎝ <br />
k=1<br />
Il s’ensuit que :<br />
v∈πk(n−1)<br />
<br />
k<br />
Hi (n)χ v 1 − χ v <br />
<br />
i<br />
2<br />
⎞<br />
⎠ ≤<br />
<br />
k<br />
Hi (n)χ v 1 − χ v <br />
<br />
i<br />
2<br />
⎞<br />
⎠ ≤<br />
⎛<br />
⎝ <br />
v∈πk(n−1)<br />
T<br />
i=1<br />
<br />
k<br />
Hi (n − 1)χ v 1 − χ v <br />
<br />
i<br />
2<br />
⎞<br />
⎠<br />
⎛<br />
K<br />
⎝ <br />
k=1<br />
Il est également évi<strong>de</strong>nt à partir <strong>de</strong> l’équation (5.5) que :<br />
K<br />
<br />
k=1 v∈πk(n)<br />
Il en résulte que :<br />
<br />
T<br />
<br />
k<br />
Hi (n)χ v 1 − χv <br />
<br />
i<br />
2<br />
<br />
i=1<br />
v∈πk(n−1)<br />
<br />
k<br />
Hi (n − 1)χ v 1 − χ v <br />
<br />
i<br />
2<br />
⎞<br />
⎠<br />
E(n − 1,n) ≤ E(n − 1,n− 1). (5.7)<br />
≤<br />
K<br />
<br />
k=1 v∈πk(n−1)<br />
En combinant les inégalités (5.7) <strong>et</strong> (5.8), on obtient alors :<br />
<br />
T<br />
<br />
k<br />
Hi (n)χ v 1 − χv <br />
<br />
i<br />
2<br />
<br />
i=1<br />
E(n, n) ≤ E(n − 1,n). (5.8)<br />
E(Π(n)) = E(n, n) ≤ E(n − 1,n− 1) = E(Π(n − 1)). (5.9)<br />
Cela montre que la suite (E(Π(n)))n est décroissante. En outre, elle adm<strong>et</strong> 0 comme borne<br />
inférieure. Elle est donc forcément convergente vers une limite E0. Ilexistedoncn0∈Ntel que :<br />
∀ n1 ≥ n0, |E0 − E(Π(n1))| ≤ ɛ<br />
. (5.10)<br />
2<br />
En additionnant l’inégalité (5.10) pour (n0) <strong>et</strong>(n0 +1)onobtient:<br />
|E(Π(n0 +1))− E(Π(n0))| ≤|E(Π(n0)) − E0| + |E(Π(n0 +1))− E0| ≤ɛ. (5.11)<br />
Cela démontre que l’algorithme converge au bout <strong>de</strong> (n0 +1)itérations.<br />
Quant à la vitesse <strong>de</strong> convergence <strong>de</strong> l’algorithme proposé, une étu<strong>de</strong> théorique serait très<br />
difficile en raison <strong>de</strong>s non-continuités introduites par l’algorithme <strong>de</strong> calcul <strong>de</strong>s transformées<br />
affines par pseudo-inverse (cf. Section 5.2.1). Néanmoins, les expérimentations que nous avons<br />
conduites sur un riche corpus <strong>de</strong> test (cf. Section 5.3) montrent que l’algorithme converge en<br />
moyenne au bout d’une dizaine d’itérations <strong>et</strong> ce, avec une variation nulle <strong>de</strong> l’erreur quadratique<br />
moyenne <strong>de</strong> compensation <strong>de</strong> mouvement (i.e. |E(Π(n0)) − E(Π(n0 +1))| = 0) <strong>et</strong> une<br />
stabilisation <strong>de</strong> la partition.
128 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
La technique <strong>de</strong> segmentation proposée hérite <strong>de</strong>s principales limitations <strong>de</strong> l’algorithme <strong>de</strong><br />
Max-Lloyd : (1) nécessité <strong>de</strong> l’intervention <strong>de</strong> l’utilisateur pour fixer le nombre <strong>de</strong> parties K,<br />
<strong>et</strong> (2) sensibilité à l’initialisation.<br />
Afin <strong>de</strong> pallier ces inconvénients, dans la section suivante, nous proposons une nouvelle<br />
approche hiérarchique <strong>de</strong> segmentation au sens du mouvement qui perm<strong>et</strong> une détection automatique<br />
du nombre <strong>de</strong> parties tout en s’affranchissant du problème d’initialisation.<br />
5.1.4 Segmentation hiérarchique<br />
L’approche <strong>de</strong> segmentation hiérarchique a pour objectif <strong>de</strong> déterminer, pour une erreur<br />
quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement fixée E0, une partition Π ∗ ayant le<br />
nombre <strong>de</strong> patchs minimal K <strong>et</strong> vérifiant la contrainte E(Π ∗ ) ≤E0.<br />
L’algorithme proposé estfondésur une stratégie <strong>de</strong> décimation privilégiant la simplification<br />
<strong>de</strong>s somm<strong>et</strong>s décrits par un même mouvement affine. Le principe consiste à appliquer successivement<br />
<strong>de</strong>s opérations <strong>de</strong> décimation topologique <strong>de</strong> type half-edge collapse [10] (Figure 5.2).<br />
Une opération <strong>de</strong> half-edge collapse appliquée à une arête (v, w), notée hecol(v, w), fusionne<br />
les <strong>de</strong>ux somm<strong>et</strong>s v <strong>et</strong> w en un seul somm<strong>et</strong>. Le somm<strong>et</strong> w est alors éliminé <strong>et</strong>toutesses<br />
arêtes inci<strong>de</strong>ntes sont connectées à v. Achaqueétape du processus <strong>de</strong> simplification, pour tout<br />
somm<strong>et</strong> v, la liste <strong>de</strong> ses ancêtres, notée A(v), est stockée. C<strong>et</strong>te liste est définie récursivement<br />
par :<br />
1. Initialisation : A(v) =∅.<br />
2. Mise àjour<strong>de</strong>A(v) : pour chaque opération <strong>de</strong> hecol(v, w) :<br />
A(v) ←− A(v) ∪A(w) ∪{w}. (5.12)<br />
Figure 5.2 : Opération half-edge collapse : l’arête (v, w) est contractée, les <strong>de</strong>ux somm<strong>et</strong>s v<br />
<strong>et</strong> w fusionnés, <strong>et</strong> la connectivité du maillage redéfinie, en connectant à v l’ensemble <strong>de</strong>s arêtes<br />
inci<strong>de</strong>nte à w.<br />
Le processus <strong>de</strong> décimation est guidé par une stratégie visant à fusionner les somm<strong>et</strong>s avec<br />
<strong>de</strong>s mouvements affines proches. Le critère <strong>de</strong> fusion est lié àuncoût C(v, w) <strong>de</strong>fusion<strong>de</strong><br />
l’arête (v, w), mesurant l’erreur <strong>de</strong> compensation <strong>de</strong> mouvement qui résulte du regroupement<br />
<strong>de</strong>s somm<strong>et</strong>s v <strong>et</strong> w <strong>et</strong> <strong>de</strong> leurs ancêtres dans un même cluster, défini par :<br />
⎛<br />
⎞<br />
C (v, w) =<br />
T<br />
⎝ <br />
i=1<br />
p∈ℵ(v,w)<br />
avec ℵ(v, w) =A(v) ∪A(w) ∪{v, w}, <strong>et</strong><br />
A v,w<br />
i =argmin<br />
⎛<br />
⎝<br />
A<br />
<br />
p∈ℵ(v,w)<br />
A v,w<br />
i χp1<br />
− χpi<br />
2<br />
Aχ p<br />
1 − χ p<br />
i 2<br />
⎞<br />
⎠ , (5.13)<br />
⎠ . (5.14)
5.1Segmentationausensdumouvement 129<br />
La matrice A v,w<br />
i<br />
est calculée comme décrit dans la section 5.2.1.<br />
Achaqueétape du processus <strong>de</strong> décimation, l’opération hecol est appliquée à l’arête <strong>de</strong><br />
plus faible coût. Au nième niveau <strong>de</strong> décimation, une partition Π(n) =(πk(n)) k∈{1,...,K(n)} est<br />
obtenue comme suit :<br />
∀ k ∈{1, ..., K(n)}, πk(n) ={pk(n)}∪A(pk(n)), (5.15)<br />
où (pk(n))k∈{1,...,K(n)} représente l’ensemble <strong>de</strong>s somm<strong>et</strong>s du maillage obtenu àlanième étape<br />
du processus <strong>de</strong> simplification.<br />
Le processus est itéré tant que l’erreur quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement<br />
E(Π(n)) reste inférieure àlavaleurprédéfinie E0.<br />
Notons que l’approche <strong>de</strong> segmentation hiérarchique décrite ci-<strong>de</strong>ssus traite indépendamment<br />
chaque composante connexe (CC) du modèle ce qui peut conduire à <strong>de</strong>s sur-segmentations dans<br />
le cas <strong>de</strong> modèles animés à multiples composantes connexes. Par exemple, <strong>de</strong>ux CCs avec un<br />
même mouvement affine sont considérées comme <strong>de</strong>ux clusters différents. La Figure 5.3 illustre<br />
ce cas pour le maillage dynamique “Raptor” où les <strong>de</strong>nts <strong>et</strong> les yeux, représentés par <strong>de</strong>s CCs<br />
indépendantes, sont classées dans <strong>de</strong>s parties différentes bien qu’elles soient animées par les<br />
même mouvements affines. Afin <strong>de</strong> résoudre ce problème <strong>de</strong> sur-segmentation, un processus<br />
<strong>de</strong> simplification itérative qui élimine àchaqueétape la partie induisant une erreur minimale,<br />
est appliqué. L’erreur minimale induite par la suppression d’une partie k est calculée pour<br />
la partition obtenue en assignant tous les somm<strong>et</strong>s <strong>de</strong> k aux autres parties <strong>et</strong> en appliquant<br />
ensuite la procédure <strong>de</strong> raffinement décrite dans la section 5.1.3.2. Ce processus est itéré tant<br />
que l’erreur quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement reste inférieure àlavaleur<br />
prédéfinie E0.<br />
(a) (b)<br />
Figure 5.3 : Segmentation hiérarchique du maillage dynamique “Raptor” : (a) avec fusion<br />
<strong>de</strong>s CCs <strong>et</strong> (b) sans fusion <strong>de</strong>s CCs.<br />
L’approche <strong>de</strong> segmentation hiérarchique, sus-présentée, perm<strong>et</strong> <strong>de</strong> fusionner àchaqueétape<br />
les <strong>de</strong>ux groupes <strong>de</strong> somm<strong>et</strong>s qui ont les mouvements affines les plus proches au sens <strong>de</strong> l’erreur<br />
quadratique moyenne <strong>de</strong> compensation <strong>de</strong> mouvement E(Π). Cela perm<strong>et</strong> <strong>de</strong> détecter<br />
rapi<strong>de</strong>ment les parties animées par <strong>de</strong>s mouvements affines (Figure 5.1). C<strong>et</strong>te approche reste<br />
cependant sous-optimale. En eff<strong>et</strong>, àchaqueétape, le choix <strong>de</strong> fusionner <strong>de</strong>ux somm<strong>et</strong>s implique<br />
l’assignation <strong>de</strong> tous leurs ancêtres au même cluster. Ces choix semi-globaux perm<strong>et</strong>tent<br />
d’accélérer le processus <strong>de</strong> segmentation, mais induisent <strong>de</strong> mauvais choix <strong>de</strong> classification surtout<br />
au niveau <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> bord (Figure 5.1). Afin <strong>de</strong> pallier c<strong>et</strong> inconvénient, la partition<br />
obtenue par segmentation hiérarchique est raffinée en appliquant la même procédure que celle<br />
décrite Section 5.1.3.2.
130 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
L’algorithme <strong>de</strong> segmentation hiérarchique proposé converge en un nombre maximal <strong>de</strong><br />
(V − 1) itérations (V étant le nombre <strong>de</strong> somm<strong>et</strong>s). Quant àlacomplexité<strong>de</strong>calcul<strong>de</strong>chaque<br />
itération, elle est déterminée par la phase <strong>de</strong> mise à jour <strong>de</strong>s coûts associés aux arêtes. Afin,<br />
d’optimiser c<strong>et</strong>te étape, nous exploitons le fait qu’une opération hecol(v, w) ne change que localement<br />
la connectivité du maillage. Ainsi, àchaqueitération, il suffit <strong>de</strong> recalculer uniquement<br />
les coûts <strong>de</strong>s arêtes inci<strong>de</strong>ntes au somm<strong>et</strong> v(cf., Equation (5.13)).<br />
Le paramètre E0 perm<strong>et</strong> <strong>de</strong> contrôler l’erreur quadratique moyenne <strong>de</strong> compensation <strong>de</strong><br />
mouvement obtenue. Plus précisément, la racine carrée <strong>de</strong> E0 représente l’erreur quadratique<br />
moyenne <strong>de</strong> compensation <strong>de</strong> mouvement par modèle affine par morceaux (sur l’ensemble<br />
<strong>de</strong>s somm<strong>et</strong>s <strong>et</strong> <strong>de</strong>s trames), normalisée par la diagonale D <strong>de</strong> boîte englobante <strong>de</strong> la première<br />
trame. Au cours <strong>de</strong> nos expérimentations (cf. Section 5.3), le paramètre E0 aété fixéà(0.0025) 2<br />
ce qui correspond à une erreur <strong>de</strong> compensation <strong>de</strong> mouvement <strong>de</strong> l’ordre <strong>de</strong> 0, 25% <strong>de</strong> D.<br />
Une fois qu’on dispose d’une partition du maillage dynamique au sens du mouvement, il est<br />
possible <strong>de</strong> lui associer un modèle<strong>de</strong>peau(skinning), comme décrit dans la section suivante.<br />
5.2 Modèle<strong>de</strong>peau<br />
Soit Π = (πk) k∈{1,...,K)} la partition obtenue suite à la phase <strong>de</strong> segmentation au sens du<br />
mouvement. Le principe <strong>de</strong> l’animation par modèle <strong>de</strong> peau ou skinning [166] est <strong>de</strong> modéliser<br />
le mouvement <strong>de</strong> chaque partie πk <strong>et</strong> àtoutinstanti par une transformée affine A k i .Unchamp<br />
<strong>de</strong> mouvement lisse sur l’ensemble du maillage est ensuite obtenu en combinant linéairement<br />
les mouvements affines <strong>de</strong>s différentes parties avec <strong>de</strong>s poids appropriés. La position prédite χ v i<br />
du somm<strong>et</strong> v à la trame i s’exprime alors comme :<br />
où ω v k<br />
v.<br />
χ v i =<br />
K<br />
k=1<br />
ω υ kAki χυ1 , (5.16)<br />
est un coefficient réel qui contrôle l’influence du patch k sur le mouvement du somm<strong>et</strong><br />
Le modèle <strong>de</strong> skinning décrit par l’Equation (5.16), fait intervenir <strong>de</strong>ux entitées essentielles<br />
pour la qualité <strong>de</strong>lareprésentation : les transformées affines (A k i )<strong>et</strong>lespoidsd’animation(ωv k ).<br />
La procédure proposée d’estimation optimale <strong>de</strong>s transformées affines est présentée Section<br />
5.2.1. Ensuite, la Section 5.2.2 décrit l’algorithme d’estimation <strong>de</strong>s poids d’animation. Enfin<br />
dans la section 5.2.3, nous analysons comment le modèle <strong>de</strong> skinning proposé peutêtre exploité<br />
pour la prédiction <strong>de</strong>s attributs photométriques <strong>et</strong> notamment <strong>de</strong>s normales associées aux<br />
somm<strong>et</strong>s d’un maillage dynamique.<br />
5.2.1 Estimation <strong>de</strong>s transformée affines<br />
L’objectif est d’associer à chaque partie k la transformée affine A k i qui décrit le mieux (au<br />
sens <strong>de</strong>s moindres carrés) son mouvement à l’instant i par rapport àlapremière trame :<br />
A k i =argmin<br />
A<br />
<br />
v∈πk<br />
Aχ v 1 − χ v i 2<br />
<br />
. (5.17)<br />
Intéressons-nous en premier lieu aux aspects d’existence <strong>et</strong> d’unicité <strong>de</strong> la matrice A k i .
5.2 Modèle<strong>de</strong>peau 131<br />
5.2.1.1 Existence <strong>et</strong> unicité<br />
L’équation (5.17) peut être reformulée comme un problème classique <strong>de</strong> minimisation au<br />
sens <strong>de</strong>s moindres carrés, comme décrit par l’équation suivante :<br />
min<br />
α∈R12 <br />
Mkα − β k <br />
<br />
i<br />
2 , (5.18)<br />
avec α =(a1,1,a1,2,a1,3,tx,a2,1,a2,2,a2,3,ty,a3,1,a3,2,a3,3,tz, ) t , πk = {p1,p2, ..., pq},<br />
⎛<br />
⎜<br />
Mk = ⎜<br />
⎝<br />
x p1<br />
1<br />
x p2<br />
1<br />
x p3<br />
1<br />
.<br />
x pq<br />
1<br />
y p1<br />
1<br />
y p2<br />
1<br />
y p3<br />
1<br />
.<br />
y pq<br />
1<br />
z p1<br />
1 1 0 0 0 0 0 0 0 0<br />
z p2<br />
1 1 0 0 0 0 0 0 0 0<br />
z p3<br />
1 1 0 0 0 0 0 0 0 0<br />
.<br />
.<br />
.<br />
.<br />
.<br />
z pq<br />
1 1 0 0 0 0 0 0 0 0<br />
0 0 0 0 x p1<br />
1<br />
0 0 0 0 x p2<br />
1<br />
0 0 0 0 x p3<br />
1<br />
.<br />
.<br />
0 0 0 0 x pq<br />
1<br />
.<br />
.<br />
.<br />
y p1<br />
1<br />
y p2<br />
1<br />
y p3<br />
1<br />
.<br />
y pq<br />
1<br />
0 0 0 0 0 0 0 0 x p1<br />
1<br />
0 0 0 0 0 0 0 0 x p2<br />
1<br />
0 0 0 0 0 0 0 0 x p3<br />
1<br />
. . . . . . . . .<br />
0 0 0 0 0 0 0 0 x pq<br />
1<br />
De manière equivalente, cela revient àrésoudre :<br />
.<br />
.<br />
z p1<br />
1 1 0 0 0 0<br />
z p2<br />
1 1 0 0 0 0<br />
z p3<br />
1 1 0 0 0 0<br />
.<br />
.<br />
.<br />
z pq<br />
1 1 0 0 0 0<br />
min<br />
y∈Im(ψk)<br />
.<br />
.<br />
y p1<br />
1<br />
y p2<br />
1<br />
y p3<br />
1<br />
.<br />
y pq<br />
1<br />
.<br />
.<br />
z p1<br />
1<br />
z p2<br />
1<br />
z p3<br />
1<br />
.<br />
z pq<br />
1<br />
⎞<br />
⎟<br />
. ⎟<br />
.<br />
⎟<br />
1<br />
⎟<br />
1<br />
⎟<br />
1<br />
⎟<br />
. ⎠<br />
1<br />
,β k i =<br />
⎛<br />
⎜<br />
⎝<br />
x p1<br />
i<br />
x p2<br />
i<br />
x p3<br />
i<br />
.<br />
x pq<br />
i<br />
y p1<br />
i<br />
y p2<br />
i<br />
y p3<br />
i<br />
.<br />
y pq<br />
i<br />
z p1<br />
i<br />
z p2<br />
i<br />
z p3<br />
i<br />
.<br />
z pq<br />
i<br />
⎞<br />
⎟ . (5.19)<br />
⎟<br />
⎠<br />
<br />
k<br />
y − β <br />
i<br />
2 , (5.20)<br />
avec Im(ψk) le sous-espace vectoriel image <strong>de</strong> l’application linéaire ψk décrite par la matrice<br />
Mk <strong>et</strong> définie comme suit :<br />
ψk : R 12 → R 3q<br />
α → y = Mkα<br />
. (5.21)<br />
Ainsi, résoudre (5.18) revient à calculer la projection du point βk i ∈ R3q sur le sous-espace<br />
vectoriel Im(ψk), image <strong>de</strong> l’application ψk. Il est bien connu que celle-ci existe <strong>et</strong> est unique.<br />
Soit donc y∗ ∈ R3q la projection orthogonale <strong>de</strong> βk i sur le sous-espace vectoriel Im(ψk). Tout<br />
vecteur α∗ ∈ R12 vérifiant ψk(α∗ )=y∗ est alors une solution <strong>de</strong> (5.18). Deux cas différents cas<br />
se présentent :<br />
1. Si rang(Mk) = 12, alors ψk est injective <strong>et</strong> l’équation (5.18) adm<strong>et</strong> une solution unique.<br />
2. Si rang(Mk) < 12, alors ψk est non injective <strong>et</strong> l’équation (5.18) adm<strong>et</strong> une infinité <strong>de</strong><br />
solutions.<br />
Notons que la matrice Mk est diagonale par bloc <strong>et</strong> peut être mise sous la forme suivante :<br />
⎛<br />
⎞<br />
Δk 0 0<br />
Mk = ⎝ 0 Δk0 ⎠ , (5.22)<br />
0 0 Δk
132 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
où<br />
Il en résulte que<br />
Δk =<br />
⎛<br />
x<br />
⎜<br />
⎝<br />
p1<br />
1<br />
x p2<br />
1<br />
x p3<br />
1<br />
.<br />
x pq<br />
1<br />
y p1<br />
1<br />
y p2<br />
1<br />
y p3<br />
1<br />
.<br />
y pq<br />
1<br />
z p1<br />
1<br />
z p2<br />
1<br />
z p3<br />
1<br />
.<br />
z pq<br />
1<br />
⎞<br />
1<br />
1 ⎟<br />
1 ⎟ . (5.23)<br />
⎟<br />
. ⎠<br />
1<br />
rang(Mk) =3× rang(Δk). (5.24)<br />
En appliquant <strong>de</strong>s permutations <strong>et</strong> <strong>de</strong>s combinaisons linéaires sur les lignes <strong>et</strong> les colonnes<br />
<strong>de</strong> Δk on obtient :<br />
⎛<br />
1 x<br />
⎜<br />
rang(Δk) =rang ⎜<br />
⎝<br />
p1<br />
1 y p1<br />
1 z p1<br />
1<br />
0 x p2<br />
1 − xp1 1 y p2<br />
1 − yp1 1 z p2<br />
1 − zp1 1<br />
0 x p3<br />
1 − x p1<br />
1 y p3<br />
1 − y p1<br />
1 z p3<br />
1 − z p1<br />
⎞<br />
⎟<br />
1 ⎟ . (5.25)<br />
⎟<br />
. . . . ⎠<br />
On a alors :<br />
⎛<br />
⎜<br />
rang(Δk) =rang⎜<br />
⎝<br />
0 x pq<br />
1 − x p1<br />
1<br />
x p2<br />
1 − x p1<br />
1<br />
x p3<br />
1 − x p1<br />
1<br />
x pq<br />
1<br />
.<br />
− xp1<br />
1<br />
y pq<br />
1 − y p1<br />
1<br />
y p2<br />
1 − y p1<br />
1<br />
y p3<br />
1 − y p1<br />
1<br />
y pq<br />
1<br />
.<br />
− yp1<br />
1<br />
z pq<br />
1 − z p1<br />
1<br />
z p2<br />
1 − z p1<br />
1<br />
z p3<br />
1 − z p1<br />
1<br />
z pq<br />
1<br />
.<br />
− zp1<br />
1<br />
⎞<br />
⎟ +1. (5.26)<br />
⎠<br />
En combinant les équations (5.24) <strong>et</strong> (5.26), il en résulte que Δk <strong>et</strong> Mk sont <strong>de</strong> rang compl<strong>et</strong><br />
(i.e. rang(Δk) =4<strong>et</strong>rang(Mk) = 12) si <strong>et</strong> seulement si il existe quatre points non coplanaires<br />
parmi les q points (χ p<br />
1)p∈πk .<br />
En pratique, pour exploiter c<strong>et</strong>te propriété mathématique, il est toutefois indispensable <strong>de</strong><br />
disposer <strong>de</strong> métho<strong>de</strong>s <strong>de</strong> calcul <strong>de</strong> la solution répondant <strong>de</strong> manière appropriée à <strong>de</strong>s critères<br />
<strong>de</strong> mise en oeuvre algorithmique <strong>et</strong> <strong>de</strong> stabilité numérique.<br />
La section suivante décrit une métho<strong>de</strong> stable pour calculer une solution possible <strong>de</strong> (5.17),<br />
fondée sur une décomposition en valeurs singulières - SVD (Singular Value Decomposition).<br />
5.2.1.2 Solution par SVD<br />
Pour résoudre le problème <strong>de</strong> minimisation (5.17), nous avons opté pour une approche<br />
fondée sur une décomposition SVD [82]. Ce choix est motivé par la stabilité<strong>de</strong>calculd’un<strong>et</strong>elle<br />
approche dans le cas <strong>de</strong> matrices singulières ou numériquement proches <strong>de</strong> matrices singulières<br />
[82].<br />
Rappelons tout d’abord la proposition suivante [82] qui constitue le fon<strong>de</strong>ment <strong>de</strong> la<br />
décomposition SVD.<br />
Théorème 5.2.1 Soit M une matrice <strong>de</strong> taille m × n. Il existe alors :
5.2 Modèle<strong>de</strong>peau 133<br />
1. Une matrice U <strong>de</strong> taille (m × n) orthogonale par colonnes :<br />
∀ j, k ∈{1, ..., n},<br />
m<br />
i=1<br />
UikUij = δjk, (5.27)<br />
2. Une matrice R <strong>de</strong> taille (n × n) orthogonale, <strong>et</strong><br />
3. Une matrice diagonale W =(wij)ij <strong>de</strong> taille (n × n),<br />
telles que [82] :<br />
M = U × W × R t . (5.28)<br />
La factorisation <strong>de</strong> la matrice M en produit <strong>de</strong> trois matrices U, R <strong>et</strong> W telles que décrites<br />
ci-<strong>de</strong>ssus est appelée décomposition en valeur singulières.<br />
Notons que les vecteurs colonnes <strong>de</strong>s matrices U <strong>et</strong> R vérifient les relations suivantes :<br />
∀ i ∈{1, ..., n}, M t × Ui = wiiRi, M × Ri = wiiUi. (5.29)<br />
Par analogie avec la diagonalisation <strong>de</strong> matrices carrées, les valeurs diagonales <strong>de</strong> W sont<br />
appelées les valeurs singulières <strong>et</strong> les vecteurs colonnes <strong>de</strong> la matrices U (resp. R), vecteurs<br />
singuliers à gauche (respectivement àdroite).<br />
L’équation (5.29) perm<strong>et</strong> <strong>de</strong> déduire que les vecteurs singuliers (Ui)i correspondant aux<br />
valeurs singulières non nulles définissent une base orthonormée <strong>de</strong> l’espace vectoriel image <strong>de</strong><br />
M noté Im(M), <strong>et</strong> que les vecteurs singuliers (Ri)i correspondant aux valeurs singulières nulles<br />
forment une base orthonormée du noyeau <strong>de</strong> M, notéKer(M).<br />
Pour la minimisation (Equation (5.18)), soient Uk, Wk <strong>et</strong> Rk les matrices obtenues par àla<br />
décomposition SVD <strong>de</strong> la matrice Mk. En exploitant les propriétés <strong>de</strong>s vecteurs singuliers <strong>de</strong><br />
la SVD, on peut directement calculer la projection orthogonale y ∗ k <strong>de</strong> βk i sur Im(ψk) par:<br />
avec I ∗ k<br />
Soit alors α ∗ k<br />
avec W ∗ k<br />
y ∗ k = Uk × I ∗ k × U t k × βk i<br />
, (5.30)<br />
la matrice diagonale <strong>de</strong> taille (12 × 12) défini par :<br />
∀ i ∈{1, ..., 12}, (I ∗ k )ii<br />
<br />
1 ,<br />
=<br />
0 ,<br />
si wii = 0<br />
.<br />
si wii =0<br />
(5.31)<br />
le vecteur définie par :<br />
α ∗ k = Rk × W ∗ k × U t k × β k i , (5.32)<br />
la matrice diagonale <strong>de</strong> taille (12 × 12) définie par :<br />
Le vecteur α ∗ k<br />
∀ i ∈{1, ..., 12}, (W ∗ 1<br />
wii<br />
k )ii =<br />
, si wii = 0<br />
. (5.33)<br />
0 , si wii =0<br />
est une solution du problème <strong>de</strong> minimisation (5.18), étant donné qu’il vérifie :<br />
Mkα ∗ k = Uk × Wk × (R t k × Rk) × W ∗ k × U t k × β k i<br />
= Uk × (Wk × W ∗ k ) × U t k × βk i<br />
= Uk × I ∗ × U t k × βk i<br />
= y ∗ k .
134 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
En pratique, la solution décrite par l’équation (5.32) est calculée pour tout instant i pour<br />
obtenir une solution α ∗i<br />
k . Afin d’optimiser les temps <strong>de</strong> calcul, la matrice (Rk ×W ∗ k ×Ut k )quiest<br />
la même pour toute trame i, estcalculée une seule fois <strong>et</strong> stockée en mémoire pour être ensuite<br />
directement appliquée aux différents vecteurs β k i . La matrice Mk (<strong>de</strong> dimension 3V × 12) étant<br />
en plus digonale par blocs, sa décomposition SVD est calculée à partir <strong>de</strong> celle <strong>de</strong> Δk qui <strong>de</strong><br />
taille (V × 4). Cela perm<strong>et</strong> <strong>de</strong> réduire le nombre d’opérations d’un facteur 27, étant donné que<br />
la complexité <strong>de</strong> calcul <strong>de</strong> la SVD pour une matrice m × n (avec m>>n)estenO(m × n 2 )<br />
[82].<br />
Une fois les transformées affines déterminées, il ne reste, pour compléter la spécification du<br />
modèle <strong>de</strong> peau, qu’à obtenir les coefficients <strong>de</strong> pondération (ωv k ) (Equation(5.16)).<br />
5.2.2 Estimation <strong>de</strong>s poids d’animation<br />
L’objectif est <strong>de</strong> déterminer, pour chaque somm<strong>et</strong> v, le vecteur <strong>de</strong>s poids optimaux ω v =<br />
(ω υ k )k∈{1,...K} défini par :<br />
ω v =arg min<br />
ϖ∈R K<br />
<br />
T K<br />
<br />
<br />
<br />
i=1<br />
k=1<br />
ϖk.˜χ v i (k) − χv i<br />
<br />
<br />
<br />
<br />
<br />
2<br />
, (5.34)<br />
où ˜χv i (k) =Ak i χv 1 =(˜xv i (k), ˜y v i (k), ˜z v i (k), 1) t est la position du somm<strong>et</strong> v prédite par la<br />
transformée affine Ak i ,exprimée en coordonnées homogènes.<br />
En pratique, il est raisonnable <strong>de</strong> considérer qu’une partie influence uniquement ses propres<br />
somm<strong>et</strong>s <strong>et</strong> ceux appartenant à une partie voisine. Soient k(υ) la partie contenant le somm<strong>et</strong><br />
v <strong>et</strong> θ(v) l’ensemble <strong>de</strong>s parties incluant k(v) <strong>et</strong> ses voisins (i.e. ensemble <strong>de</strong>s parties reliées<br />
au moins par une arête àlapartiek(v)). L’équation (5.34) est résolue sous les contraintes<br />
suivantes :<br />
∀ k/∈ θ(v), ϖk =0. (5.35)<br />
L’équation (5.34) avec les contraintes (5.35) conduit au problème <strong>de</strong> minimisation au sens<br />
<strong>de</strong>s moindres carrés suivant :<br />
min<br />
ϖ∈RQ Avϖ − bv 2 , (5.36)
5.2 Modèle<strong>de</strong>peau 135<br />
avec Q le cardinal <strong>de</strong> θ(v) ={k1,k2, ..., kQ}, <strong>et</strong><br />
⎛<br />
⎜<br />
Av = ⎜<br />
⎝<br />
˜x v 1(k1) ˜x v 1(k2) ˜x v 1(k3) ... ˜x v 1(kQ)<br />
˜x v 2 (k1) ˜x v 2 (k2) ˜x v 2 (k3) ... ˜x v 2 (kQ)<br />
˜x v 3 (k1) ˜x v 3 (k2) ˜x v 3 (k3) ... ˜x v 3 (kQ)<br />
.<br />
.<br />
˜x v T (k1) ˜x v T (k2) ˜x v T (k3) ... ˜x v T (kQ)<br />
˜y v 1 (k1) ˜y v 1 (k2) ˜y v 1 (k3) ... ˜y v 1 (kQ)<br />
˜y v 2(k1) ˜y v 2(k2) ˜y v 2(k3) ... ˜y v 2(kQ)<br />
˜y v 3 (k1) ˜y v 3 (k2) ˜y v 3 (k3) ... ˜y v 3 (kQ)<br />
.<br />
.<br />
˜y v T (k1) ˜y v T (k2) ˜y v T (k3) ... ˜y v T (kQ)<br />
˜z v 1 (k1) ˜z v 1 (k2) ˜z v 1 (k3) ... ˜z v 1 (kQ)<br />
˜z v 2(k1) ˜z v 2(k2) ˜z v 2(k3) ... ˜z v 2(kQ)<br />
˜z v 3 (k1) ˜z v 3 (k2) ˜z v 3 (k3) ... ˜z v 3 (kQ)<br />
.<br />
.<br />
˜z v T (k1) ˜z v T (k2) ˜z v T (k3) ... ˜z v T (kQ)<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
⎞<br />
⎛<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ,bv ⎟ = ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎠ ⎝<br />
x v 1<br />
x v 2<br />
x v 3<br />
.<br />
x v T<br />
y v 1<br />
y v 2<br />
y v 3<br />
.<br />
y v T<br />
z v 1<br />
z v 2<br />
z v 3<br />
.<br />
z v T<br />
⎞<br />
⎟ . (5.37)<br />
⎟<br />
⎠<br />
Pour les même raisons que celles exposées au Paragraphe 5.2.1, le problème <strong>de</strong> minimisation<br />
(5.36) adm<strong>et</strong> toujours une solution qui peut être calculée directement par l’approche SVD<br />
précé<strong>de</strong>mment décrite.<br />
L’ensemble <strong>de</strong>s développements réalisés jusqu’à présent concernent uniquement la géométrie<br />
du maillage animé. Toutefois, en pratique, on associe souvent aux <strong>maillages</strong> d’autres informations<br />
<strong>et</strong> comme notamment <strong>de</strong>s attributs photométriques (e.g., couleur, texture, vecteurs<br />
normaux...). Le modèle <strong>de</strong> skinning proposé est-il alors adapté pourreprésenter <strong>de</strong> façon compacte<br />
c<strong>et</strong>te information supplémentaire ? La section suivante apporte quelques éléments <strong>de</strong><br />
réponse à c<strong>et</strong>te question, en considérant le problème <strong>de</strong> la prédiction <strong>de</strong>s vecteurs normaux<br />
associés à une surface maillée.<br />
5.2.3 Prédiction <strong>de</strong>s normales<br />
Dans le cadre <strong>de</strong>s applications <strong>de</strong> visualisation/rendu rapi<strong>de</strong> ou <strong>de</strong> lissage <strong>de</strong> surface, il est<br />
souvent utile d’associer à chaque somm<strong>et</strong> du maillage un vecteur normal àlasurfaceaupoint<br />
considéré. Cela évite <strong>de</strong> recalculer ces normales par les logiciels <strong>de</strong> visualisation <strong>de</strong> contenus<br />
<strong>3D</strong> <strong>et</strong> perm<strong>et</strong> donc d’obtenir une visualisation plus rapi<strong>de</strong>. En outre, cela perm<strong>et</strong> <strong>de</strong> réaliser<br />
certains eff<strong>et</strong>s <strong>de</strong> visualisation comme lissage <strong>de</strong>s surfaces illustré Figure 5.4.<br />
L’inconvénient majeur <strong>de</strong> ce mécanisme est liéenrevancheà une augmentation considérable<br />
<strong>de</strong> la quantité d’information associée au maillage (i.e., un vecteur normal pour chaque somm<strong>et</strong><br />
<strong>et</strong> à chaque trame). Comment représenter alors <strong>de</strong> façon efficace c<strong>et</strong>te information ?<br />
Un p<strong>et</strong>it nombre <strong>de</strong> travaux <strong>de</strong> la littérature a abordé jusqu’àprésent ce thème pourtant<br />
fondamental. Dans [166], les auteurs proposent <strong>de</strong> prédire la normale unitaire N v i d’un somm<strong>et</strong><br />
v àuninstanti par :<br />
N v i =<br />
K k=1 wk vAki N v 1<br />
<br />
<br />
K<br />
k=1 wk vA k i N v 1<br />
<br />
<br />
<br />
. (5.38)
136 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
(a) (b) (c) (d)<br />
Figure 5.4 : Rendu <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> “Dance” <strong>et</strong> “Horse gallop” (a, c) sans <strong>et</strong> (b, d)<br />
avec lissage en exploitant les normales associées aux somm<strong>et</strong>s du maillage.<br />
Le prédicteur N v i est optimal (i.e., conduit à une erreur <strong>de</strong> prédiction nulle) dans le cas où<br />
localement le mouvement au voisinage du somm<strong>et</strong> considéré est une transformation <strong>de</strong> similarité<br />
(translation, rotation, homothétie <strong>et</strong> leurs combinaisons). C<strong>et</strong>te propriété n’est en revanche<br />
pas satisfaite dans le cas général <strong>de</strong>s transformées affines. Afin <strong>de</strong> résoudre ce problème, nous<br />
proposons le prédicteur suivant :<br />
où :<br />
Ũ v i =<br />
K k=1 wk vAki U v 1<br />
<br />
<br />
K<br />
k=1 wk v Ak i U v 1<br />
Ñ v i = U v i<br />
<br />
<br />
<br />
v<br />
∧ Wi , (5.39)<br />
, ˜ W v<br />
i =<br />
K k=1 wk vAki W v 1<br />
<br />
<br />
K<br />
k=1 wk v Ak i W v 1<br />
<br />
<br />
, (5.40)<br />
<br />
Le système (U v 1 ,Wv 1 ,Nv 1 ) forme une base orthonormée <strong>de</strong> R3 , construite en choisissant <strong>de</strong>ux<br />
vecteurs U v 1<br />
v <strong>et</strong> V1 orthogonaux entre eux <strong>et</strong> orthogonaux àlanormaleNv 1 au somm<strong>et</strong> v àla<br />
première trame <strong>de</strong> la séquence.<br />
Le prédicteur proposé réalise ainsi la prédiction dans l’espace <strong>de</strong>s vecteurs tangents au lieu<br />
<strong>de</strong> traiter directement les normales, ce qui perm<strong>et</strong> d’assurer l’optimalité <strong>de</strong>laprédiction pour<br />
le cas affine.<br />
Proposition Le prédicteur Ñ v i est optimal (i.e., conduit à une erreur <strong>de</strong> prédiction nulle)<br />
dans le cas où localement le mouvement au voisinage du somm<strong>et</strong> considéré estaffine.<br />
Démonstration<br />
Soit f(u1,u2) une surface paramétrique différentiable approchant localement autour du somm<strong>et</strong><br />
v le maillage dynamique à l’instant i =1<strong>et</strong>N v 1 la normale associée. Soient U v 1 <strong>et</strong> W v 1 <strong>de</strong>ux<br />
vecteurs unitaires tangents à f au somm<strong>et</strong> v, telsque:<br />
avec<br />
U v 1<br />
W v 1<br />
∂f ∂f<br />
= x1 + x2 , (5.41)<br />
∂u1 ∂u2<br />
∂f ∂f<br />
= y1 + y2 , (5.42)<br />
∂u1 ∂u2<br />
||W v 1 || = ||U v 1 || =1<strong>et</strong> N v 1 = U v 1 ∧ W v 1 . (5.43)<br />
Supposons qu’à l’instant i, le voisinage du somm<strong>et</strong> v subit exactement la transformée affine<br />
Hi =( K k=1 wk vAki )décrite par le modèle <strong>de</strong> skinning. Montrons que le vecteur Ũ v i est tangent<br />
à la surface transformée (Hi.f).
5.3 Résultats expérimentaux 137<br />
On a :<br />
Ũ v i = HiU v 1<br />
||HiU v 1 ||<br />
= x ′ 1 Hi<br />
= x ′ 1<br />
∂f<br />
∂u1<br />
∂(Hi.f)<br />
∂u1<br />
+ x ′ 2 Hi<br />
+ x ′ 2<br />
∂f<br />
∂u2<br />
∂(Hi.f)<br />
.<br />
∂u2<br />
Cela prouve que le vecteur Ũ v i est tangent àlasurface(Hi.f). De la même manière, on<br />
peut démontrer que le vecteur ˜ W v<br />
i est également tangent à(Hi.f). Par conséquent, le vecteur<br />
Ñ v t correspond àlanormaleàlasurface(Hi.f).<br />
5.3 Résultats expérimentaux<br />
Afin <strong>de</strong> vali<strong>de</strong>r les <strong>de</strong>ux approches <strong>de</strong> segmentation proposées dans la section 5.1, nous avons<br />
considéré une base <strong>de</strong> 12 <strong>maillages</strong> <strong>dynamiques</strong>, caractérisée par différents mouvements, formes<br />
<strong>et</strong> complexités. Les propriétés <strong>de</strong> ces animations (type <strong>de</strong> mouvement, nombre <strong>de</strong> somm<strong>et</strong>s, <strong>de</strong><br />
trames <strong>et</strong> <strong>de</strong> composantes connexes...) ainsi que <strong>de</strong>s extraits illustrant leurs mouvements sont<br />
présentés dans l’Annexe 8.5.<br />
Les expérimentations ont été effectuées sur un PC dotée d’un microprocesseur Pentium 4<br />
à3GHz<strong>et</strong>à une mémoire RAM <strong>de</strong> 2 Go. Pour l’algorithme <strong>de</strong> segmentation hiérarchique le<br />
paramètre E0 àlavaleur(0.0025) 2 (i.e., erreur <strong>de</strong> compensation <strong>de</strong> mouvement <strong>de</strong> l’ordre <strong>de</strong><br />
0, 25% <strong>de</strong> la diagonale D <strong>de</strong> la boîte englobante <strong>de</strong> la premièr<strong>et</strong>rame)<strong>et</strong>cepourl’ensemble<br />
<strong>de</strong>s animations. Pour ne pas biaiser la comparaison, les nombres <strong>de</strong> clusters obtenus pour les<br />
différents <strong>maillages</strong> <strong>dynamiques</strong> ont été ensuite considérés comme paramètre d’entrée pour<br />
l’algorithme <strong>de</strong> segmentation par k-moyennes.<br />
La suite <strong>de</strong> ce paragraphe est structurée en <strong>de</strong>ux parties. La section 5.3.1 propose une analyse<br />
<strong>de</strong>s résultats <strong>de</strong> segmentation obtenus. Ensuite, la section 5.3.2 présente les performances<br />
du modèle <strong>de</strong> prédiction par modèle <strong>de</strong> skinning.<br />
5.3.1 Métho<strong>de</strong>s <strong>de</strong> segmentation : évaluation expérimentale<br />
La Figure 5.5 compare les résultats obtenus par l’approche <strong>de</strong> segmentation hiérarchique à<br />
ceux <strong>de</strong> l’approche <strong>de</strong> segmentation par k-moyennes. Les tableaux 5.2 <strong>et</strong> 5.3 résument, pour les<br />
différentes étapes <strong>de</strong>s <strong>de</strong>ux algorithmes : 1) les erreurs quadratiques moyennes <strong>de</strong> compensation<br />
<strong>de</strong> mouvement, 2) les temps <strong>de</strong> calcul, 3) les nombres <strong>de</strong> clusters <strong>et</strong> 4) les nombres d’itérations.<br />
Les diverses notations utilisés sont résumées Tableau 5.1.<br />
Notons tout d’abord que pour l’ensemble <strong>de</strong>s animations considérées, les <strong>de</strong>ux approches<br />
<strong>de</strong> segmentation convergent tout en offrant <strong>de</strong> faibles erreurs <strong>de</strong> compensation <strong>de</strong> mouvement.<br />
L’approche <strong>de</strong> segmentation par k-moyennes (resp. hiérarchique) converge en moyenne au bout<br />
<strong>de</strong> 4124 secon<strong>de</strong>s (resp. 378 secon<strong>de</strong>s) avec une erreur Eref <strong>de</strong> l’ordre <strong>de</strong> 0,33% (resp. 0,18%)<br />
<strong>de</strong> la diagonale <strong>de</strong> boîte englobante <strong>de</strong> la première trame <strong>de</strong> l’animation.<br />
Dans le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> articulés (e.g., “Horse gallop”, “Elephant gallop”,<br />
“Dance”, “Wolf”, “Raptor” <strong>et</strong> “Troll”) les différentes parties anatomiques du corps sont correctement<br />
déterminées. De manière générale, un nombre maximal d’environ 30 parties est
138 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
Notation Description<br />
Π0<br />
Partition initiale obtenue suite à la phase d’initialisation <strong>de</strong> l’approche<br />
<strong>de</strong> segmentation par k-moyennes (cf. Section 5.1.3.1)<br />
Iref<br />
Nombre d’itérations pour obtenir la partition Πref<br />
Πhierar<br />
Partition obtenue suite à la phase <strong>de</strong> segmentation hiérarchique (cf.<br />
Section 5.1.4)<br />
Πref<br />
Partition finale obtenue suite à la phase <strong>de</strong> raffinement (cf. Section<br />
5.1.3.2)<br />
I0<br />
E0 =<br />
Nombre d’itérations pour pour obtenir la partition Π0<br />
E(Π0) La racine carré <strong>de</strong> l’erreur quadratique moyenne <strong>de</strong> compensation<br />
Eref =<br />
<strong>de</strong> mouvement <strong>de</strong> la partition Π0<br />
E(Πref) La racine carré <strong>de</strong> l’erreur quadratique moyenne <strong>de</strong> compensation<br />
Ehierar =<br />
<strong>de</strong> mouvement <strong>de</strong> la partition Πref<br />
E(Πhierar) La racine carré <strong>de</strong> l’erreur quadratique moyenne <strong>de</strong> compensation<br />
<strong>de</strong> mouvement <strong>de</strong> la partition Πhierar<br />
Ttotal<br />
Temps <strong>de</strong> calcul total pour la segmentation du maillage dynamique<br />
T0<br />
Temps <strong>de</strong> calcul nécessaire pour obtenir la partition Π0, exprimé<br />
en pourcentage <strong>de</strong> Ttotal<br />
Tref<br />
Temps <strong>de</strong> calcul pour obtenir la partition Πref, expriméenpourcentage<br />
<strong>de</strong> Ttotal<br />
Thierar<br />
Temps <strong>de</strong> calcul pour obtenir la partition Πhierar, expriméenpourcentage<br />
<strong>de</strong> Ttotal<br />
K Nombre <strong>de</strong> clusters <strong>de</strong> la partition finale Πref<br />
Khierar<br />
Nombre <strong>de</strong> clusters <strong>de</strong> la partition Πhierar<br />
G kmoy<br />
E = Eref−E0<br />
E0<br />
Gain en terme d’erreur quadratique moyenne suite à la phase <strong>de</strong><br />
raffinement pour l’approche <strong>de</strong> segmentation par k-moyennes<br />
Ghierar E = Eref−E0<br />
E0<br />
Gain en terme d’erreur quadratique moyenne suite à la phase <strong>de</strong><br />
raffinement pour l’approche <strong>de</strong> segmentation hiérarchique<br />
Table 5.1 : Notaions utilisées dans les tableaux 5.2 <strong>et</strong> 5.3.
5.3 Résultats expérimentaux 139<br />
suffisant pour représenter fidèlement l’animation. Dans le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> avec<br />
déformations élastiques <strong>de</strong> faible ou moyenne amplitu<strong>de</strong> (e.g., “Dolphin” <strong>et</strong> “Shark”) les<br />
segmentations générées par les <strong>de</strong>ux approches parviennent également à capturer <strong>de</strong> façon<br />
précise le champs <strong>de</strong> mouvement <strong>et</strong> ce avec un nombre très réduit <strong>de</strong> clusters (une dizaines<br />
en moyenne). Sans surprise, les <strong>maillages</strong> <strong>dynamiques</strong> présentant <strong>de</strong>s mouvements élastiques<br />
importants (e.g., “Camel collapse”, “Chicken” <strong>et</strong> “Cow”) nécessitent un nombre <strong>de</strong> parties<br />
plus important (77 en moyenne).<br />
De l’analyse du Tableau 5.2 il ressort que l’étape d’initialisation (cf. Section 5.1.3.1) converge<br />
en moyenne en 27 itérations, ce qui représente 70% du temps <strong>de</strong> calcul total. L’erreur correspondante<br />
<strong>de</strong> compensation du mouvement obtenue E0 est <strong>de</strong> l’ordre <strong>de</strong> 0,0301. L’étape <strong>de</strong><br />
raffinement perm<strong>et</strong> <strong>de</strong> réduire c<strong>et</strong>te erreur d’un facteur <strong>de</strong> 10, avec une erreur Eref =0, 0033.<br />
Ces résultats montrent que l’étape d’initialisation, bien que gourman<strong>de</strong> en terme <strong>de</strong> temps <strong>de</strong><br />
calcul, offre <strong>de</strong>s résultats <strong>de</strong> segmentation relativement faibles. L’étapesuivante<strong>de</strong>raffinement<br />
est donc indispensable pour améliorer n<strong>et</strong>tement ces performances, avec un gain G kmoy<br />
E moyen<br />
<strong>de</strong> l’odre <strong>de</strong> 87% !<br />
La Figure 5.6 présente les courbes d’évolution <strong>de</strong> l’erreur <strong>de</strong> compensation <strong>de</strong> mouvement en<br />
fonction du nombre <strong>de</strong>s itérations. Notons que pour l’ensemble <strong>de</strong>s animations <strong>et</strong> pour les <strong>de</strong>ux<br />
approches <strong>de</strong> segmentation, le module <strong>de</strong> raffinement converge avec une variation nulle <strong>de</strong> l’erreur<br />
<strong>de</strong> compensation <strong>de</strong> mouvement <strong>et</strong> donc une stabilisation <strong>de</strong> la partition. Ces résultats non<br />
seulement confirment la propriété théorique <strong>de</strong> décroissance <strong>de</strong> l’erreur quadratique moyenne<br />
<strong>de</strong> compensation du mouvement démontrée dans la Section 5.1.3.2, mais ils montrent également<br />
une convergence rapi<strong>de</strong> <strong>de</strong> l’algorithme (environ une vingtaine d’itérations).<br />
Les résultats relatifs àlamétho<strong>de</strong> <strong>de</strong> segmentation hiérarchique (cf. Section 5.1.4) présentés<br />
dans le Tableau 5.3 montrent que l’approche converge vers la valeur Ehierar = √ E0 =0.0025<br />
souhaitée (fixée comme paramètre). Contrairement àl’étape d’initialisation <strong>de</strong> l’algorithme <strong>de</strong><br />
segmentation par k-moyennes, la procédure hiérarchique consomme seulement 27% du temps<br />
total <strong>de</strong> calcul tout en offrant <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement douze fois inférieures !<br />
La partition générée offre également une bonne initialisation pour le module <strong>de</strong> raffinement qui<br />
converge en moyenne au bout <strong>de</strong> 22 itérations (contre 44 itérations pour la segmentation par<br />
k-moyennes). Les temps calcul totaux sont 11 fois plus p<strong>et</strong>its en moyenne avec une erreur <strong>de</strong><br />
compensation <strong>de</strong> mouvement finale ERef réduite <strong>de</strong> presque la moitié : 0,0018 pour l’approche<br />
hiérarchique contre 0,0033 pour l’approche <strong>de</strong> segmentation par k-moyennes.<br />
Ces résultats montrent que l’approche <strong>de</strong> segmentation hiérarchique surclasse l’approche par<br />
k-moyennes en termes <strong>de</strong> performances <strong>de</strong> segmentation <strong>et</strong> <strong>de</strong> temps <strong>de</strong> calcul. De plus, contrairement<br />
à l’approche par k-moyennes, elle perm<strong>et</strong> une détection automatique du nombre <strong>de</strong> clusters.<br />
Pour ces raisons, dans le reste <strong>de</strong> ce travail seul l’approche <strong>de</strong> segmentation hiérarchique<br />
sera considérée pour générer les modèles <strong>de</strong> skinning.<br />
Analysons maintenant l’efficacitédumodèle <strong>de</strong> skinning pour la représentation <strong>de</strong> la géométrie<br />
<strong>et</strong> <strong>de</strong>s vecteurs normaux.<br />
5.3.2 Prédiction <strong>de</strong>s positions <strong>et</strong> <strong>de</strong>s normales<br />
Les erreurs <strong>de</strong> prédiction après compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning,notées<br />
e v t =(e v,x<br />
t ,e v,y<br />
t ,e v,z<br />
t , 0), sont définies par :<br />
∀ v ∈{1, ..., V }, e v t = χvt − χv t . (5.44)
140 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
Initialisation Raffinement<br />
Iinit Tinit Einit Iref Tref Eref Ttotal K G kmoy<br />
E<br />
Animation (%) (%) (s) (%)<br />
Camel collapse 50 77 0.0272 85 23 0.0029 20661 98 89<br />
Chicken 15 84 0.0411 24 16 0.0071 5800 63 83<br />
Cow 16 88 0.0126 20 12 0.0043 3374 70 66<br />
Dance 21 58 0.0261 60 42 0.0034 2187 20 87<br />
Dolphin 36 78 0.0069 47 22 0.0012 1253 23 83<br />
Elephant gallop 45 66 0.0212 88 34 0.0025 6713 27 88<br />
Horse collapse 35 91 0.0293 30 9 0.0030 8682 127 90<br />
Horse gallop 31 59 0.0352 106 41 0.0039 1833 38 88<br />
Humanoid 22 78 0.0420 29 22 0.0020 1394 21 95<br />
Raptor 27 87 0.0218 16 13 0.0032 294 24 85<br />
Shark 5 50 0.0294 18 50 0.0030 4 6 90<br />
Troll 36 88 0.0208 25 12 0.0032 1082 59 85<br />
Wolf 6 18 0.0798 30 82 0.0027 334 30 97<br />
Moyenne 27 71 0.0301 44 29 0.0033 4124 47 87<br />
Table 5.2 : Performances obtenues par la métho<strong>de</strong> <strong>de</strong> segmentation par k-moyenne.<br />
Seg. hiérarchique Raffinement<br />
Thierar Ehierar Iref Tref Eref Ttotal K G hierar<br />
E<br />
Animation (%) (%) (s) (%)<br />
Camel collapse 10 0.0025 21 90 0.0020 1192 98 21<br />
Chicken 13 0.0025 9 87 0.0017 456 63 34<br />
Cow 10 0.0025 13 90 0.0019 255 70 24<br />
Dance 39 0.0025 10 61 0.0020 214 20 21<br />
Dolphin 28 0.0025 56 90 0.0019 354 23 42<br />
Elephant gallop 31 0.0025 32 69 0.0020 1183 27 21<br />
Horse collapse 5 0.0025 21 95 0.0019 562 127 23<br />
Horse gallop 26 0.0025 16 74 0.0018 151 38 31<br />
Humanoid 42 0.0025 26 58 0.0018 497 21 31<br />
Raptor 20 0.0025 38 80 0.0015 99 24 39<br />
Shark 79 0.0025 9 21 0.0021 5 6 17<br />
Troll 12 0.0025 20 88 0.0018 111 59 29<br />
Wolf 32 0.0025 11 68 0.0017 16 30 32<br />
Moyenne 27 0.0025 22 73 0.0018 378 47 27<br />
Table 5.3 : Performances obtenues par la métho<strong>de</strong> <strong>de</strong> segmentation hiérarchique.
5.3 Résultats expérimentaux 141<br />
(a) k-moy. (b) hiérar. (c) k-moy. (d) hiérar.<br />
(e) k-moy. (f) hiérar. (g) k-moy. (h) hiérar.<br />
(i) k-moy. (j) hiérar. (k) k-moy. (l) hiérarchique<br />
(m) k-moy (n) hiérar. (o) k-moy (p) hiérar.<br />
(q) k-moy. (r) hiérar. (s) k-moy. (t) hiérar.<br />
(u) k-moy. (v) hiérar. (w) k-moy. (x) hiérar.<br />
Figure 5.5 : Segmentation par k-moyennes vs. segmentation hiérarchique : (a, b) “Horse gallop”,<br />
(b, c) “Chicken”, (e, f) “Cow”, (g, h) “Camel collapse”, (i, j) “Dolphin”, (k, l) “Elephant<br />
gallop”“, (m, n) “Dance”, (o, p) “Horse collapse”, (q, r) “Raptor”, (s, t) “Shark”, (u, v) “Troll”<br />
<strong>et</strong> (w, x) “Wolf”.
142 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
(g) (h)<br />
Figure 5.6 : Processus <strong>de</strong> raffinement <strong>de</strong> la partition : évolution <strong>de</strong> l’erreur quadratique<br />
moyenne <strong>de</strong> compensation <strong>de</strong> mouvement avec le nombre d’itérations.
5.3 Résultats expérimentaux 143<br />
Comme mesure <strong>de</strong> performance du prédicteur par modèle skinning, nous avons considéré<br />
l’erreur globale <strong>de</strong> compensation <strong>de</strong> mouvement, notée Eχ <strong>et</strong> définie par :<br />
<br />
<br />
<br />
Eχ = 1<br />
V × T ×<br />
T<br />
t=1<br />
V<br />
v=1<br />
e v t 2<br />
. (5.45)<br />
D2 La Figure 5.7 présente la trame originale 36 <strong>de</strong> la séquence “Snake”, sa version prédite <strong>et</strong> la<br />
distribution <strong>de</strong>s erreurs <strong>de</strong> prédiction correspondantes, exprimées en pourcentage <strong>de</strong> la diagonale<br />
<strong>de</strong> la boîte englobante <strong>de</strong> l’obj<strong>et</strong> <strong>et</strong> représentées en fausses couleurs. Nous remarquons que<br />
le prédicteur proposé modélise efficacement le mouvement <strong>de</strong>s différentes parties du maillage.<br />
Ici, l’erreur <strong>de</strong> prédiction maximale est <strong>de</strong> l’ordre <strong>de</strong> 0.6% <strong>de</strong> la diagonale <strong>de</strong> boîte englobante<br />
<strong>de</strong> l’obj<strong>et</strong>. Notons également que les erreurs les plus importantes sont obtenues au niveau <strong>de</strong>s<br />
frontières <strong>de</strong>s patchs <strong>de</strong> la partition. Cela montre les limitations du modèle<strong>de</strong>mouvementaffine<br />
par morceaux qui introduit <strong>de</strong>s discontinuités <strong>de</strong> bord. L’introduction <strong>de</strong>s poids d’animation<br />
associées au modèle <strong>de</strong> skinning perm<strong>et</strong> <strong>de</strong> réduire considérablement ces discontinuités comme<br />
illustré figures 5.7(e) <strong>et</strong> 5.7(f).<br />
Le Tableau 5.4 présente les résultats <strong>de</strong> compensation du mouvement en terme d’erreur Eχ<br />
par modèle <strong>de</strong> peau avec <strong>et</strong> sans poids d’animation pour les <strong>maillages</strong> <strong>dynamiques</strong> <strong>de</strong> la Figure<br />
5.5. Notons tout d’abord les bonnes performances <strong>de</strong>s <strong>de</strong>ux modèles, les erreurs <strong>de</strong> prédiction<br />
étant dans l’ensemble inférieures à 0.2% <strong>de</strong> la diagonale <strong>de</strong> la boîte englobante <strong>de</strong> la première<br />
trame <strong>de</strong> l’animation. Ces résultats démontrent àl’évi<strong>de</strong>nce l’intérêt <strong>de</strong> considérer le prédicteur<br />
avec poids d’animation qui offre un gain moyen <strong>de</strong> (en terme <strong>de</strong> réduction <strong>de</strong> l’erreur Eχ) <strong>de</strong><br />
52%.<br />
(a) (b) (c) (d) (e) (f)<br />
Figure 5.7 : Prédicteur affine par morceaux vs. modèle <strong>de</strong> skinning :(a)première trame<br />
segmentée, (b) trame 36, (c) trame 36 prédite par transformées affines, (d) distribution <strong>de</strong>s<br />
erreurs <strong>de</strong> (c), (e) trame 36 prédite par modèle <strong>de</strong> skinning <strong>et</strong> (f) distribution <strong>de</strong>s erreurs <strong>de</strong><br />
(e).<br />
En ce qui concerne la prédiction <strong>de</strong>s vecteurs normaux par le modèle<strong>de</strong>peauproposé, nous<br />
avons considéré pour comparaison les <strong>de</strong>ux prédicteurs définis respectivement par les équations<br />
(5.38) <strong>et</strong> (5.39).<br />
par :<br />
Soit nv t =(nv,x t ,n v,y<br />
t ,n v,z<br />
t ), l’erreur <strong>de</strong> prédiction du vecteur normal au somm<strong>et</strong> v définie<br />
∀ v ∈{1, ..., V }, n v t = N v t − Ñ v t<br />
. (5.46)
144 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)<br />
Animation Poids Poids Gain<br />
unitaires optimaux (%)<br />
“Camel collapse” 0.0020 0.0010 50<br />
“Chicken” 0.0017 0.0006 62<br />
“Cow” 0.0019 0.0012 34<br />
“Dance” 0.0020 0.0013 37<br />
“Dolphin” 0.0019 0.0008 58<br />
“Elephant galllop” 0.0020 0.0010 50<br />
“Horse collapse” 0.0019 0.0010 48<br />
“Horse gallop” 0.0018 0.0009 51<br />
“Humanoid” 0.0018 0.0008 54<br />
“Raptor” 0.0015 0.0008 47<br />
“Shark” 0.0021 0.0013 37<br />
“Troll” 0.0018 0.0003 82<br />
“Wolf” 0.0017 0.0005 70<br />
Moyenne 0.0018 0.0009 52<br />
Table 5.4 : Modèle <strong>de</strong> skinning : erreurs <strong>de</strong> compensation <strong>de</strong> mouvement obtenues avec poids<br />
optimaux <strong>et</strong> poids unitaires.<br />
La mesure d’évaluation r<strong>et</strong>enue est l’erreur quadratique moyenne <strong>de</strong> prédiction <strong>de</strong>s normales,<br />
notée EN, exprimée comme :<br />
<br />
<br />
<br />
EN = 1<br />
V × T ×<br />
T<br />
t=1<br />
V<br />
n v t 2<br />
N v=1<br />
v t <br />
2 . (5.47)<br />
Le tableau 5.5 résume les performances <strong>de</strong>s <strong>de</strong>ux prédicteurs <strong>de</strong>s normales N t v <strong>et</strong> Ñ t v. L’erreur<br />
EN représente l’erreur relative moyenne induite par les <strong>de</strong>ux prédicteurs. La norme <strong>de</strong> l’erreur<br />
<strong>de</strong> prédiction représente en moyenne 30% <strong>et</strong> 41% <strong>de</strong> celle <strong>de</strong> la normale. Ces résultats montrent<br />
que les <strong>de</strong>ux prédicteurs proposés sont relativement efficaces, même si le modèle <strong>de</strong> skinning a<br />
été généré sans tenir compte <strong>de</strong>s vecteurs normaux.<br />
Le prédicteur Ñ t v proposé améliore les performances <strong>de</strong> N t v <strong>de</strong> 25% en moyenne. Notons<br />
également que le prédicteur Ñ t v s’avère particulièrement efficace dans le cas d’animations avec<br />
<strong>de</strong>s déformations élastiques importantes, avec un gain <strong>de</strong> 64% pour “Cow”, <strong>de</strong> 40% pour<br />
“Horse collapse” <strong>et</strong> <strong>de</strong> 38% pour “Camel collapse”. Cela s’explique par le fait que pour ce<br />
type d’animations les transformées affines associées aux différentes parties ne peuvent pas être<br />
assimilées à <strong>de</strong>s similarités. Dans le cas <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong> articulés les gains obtenus<br />
sont <strong>de</strong> l’odre <strong>de</strong> 17% en moyenne. Ici encore, le prédicteur proposé se montre plus efficace<br />
surtout au niveau <strong>de</strong>s articulations où le mouvement <strong>de</strong>s somm<strong>et</strong>s est élastique.
5.4 Conclusion 145<br />
Animation EN( Ñ t v ) EN( N t “Camel collapse” 0.3290<br />
v )<br />
0.5319<br />
Gain(%)<br />
38<br />
“Chicken” 0.7908 0.8259 4<br />
“Cow” 0.1772 0.4934 64<br />
“Dance” 0.1454 0.2068 30<br />
“Dolphin” - - -<br />
“Elephant galllop” 0.1236 0.1604 23<br />
“Horse collapse” 0.4286 0.7182 40<br />
“Horse gallop” 0.1886 0.2538 26<br />
“Humanoid” 0.1499 0.1750 14<br />
“Raptor” 0.4751 0.5495 14<br />
“Shark” - - -<br />
“Troll” 0.3407 0.3676 7<br />
“Wolf” 0.2322 0.2687 14<br />
Moyenne 0.3074 0.4137 25<br />
Table 5.5 : Performances <strong>de</strong>s prédicteurs <strong>de</strong>s normales : N t v vs. Ñ t v.<br />
5.4 Conclusion<br />
Dans ce chapitre nous avons présenté une approche automatique pour générer un modèle<br />
<strong>de</strong> peau (skinning) <strong>de</strong> compensation <strong>de</strong> mouvement, à partir d’une représentation par trames<br />
clés.<br />
La construction du modèle <strong>de</strong> peau repose sur une segmentation au sens du mouvement<br />
du maillage dynamique. Deux algorithmes <strong>de</strong> segmentation ont été proposés, l’un par classification<br />
en k-moyennes <strong>et</strong> l’autre par décimation hiérarchique. Les résultats expérimentaux,<br />
obtenus sur un riche corpus <strong>de</strong> test, démontrent àl’évi<strong>de</strong>nce la supériorité <strong>de</strong> l’algorithme <strong>de</strong><br />
segmentation hiérarchique, qui perm<strong>et</strong> en outre <strong>de</strong> déterminer automatiquement le nombre <strong>de</strong><br />
parties nécessaires.<br />
La pertinence <strong>de</strong>s algorithmes proposés pour <strong>de</strong>s objectifs <strong>de</strong> compensation <strong>de</strong> mouvement<br />
par modèle<strong>de</strong>peauaété également établie.<br />
La métho<strong>de</strong> <strong>de</strong> construction d’un modèle <strong>de</strong> peau est àlabase<strong>de</strong>sschémas <strong>de</strong> compression<br />
proposés dans c<strong>et</strong>te thèse, décrits dans les chapitres suivants
146 Compensation <strong>de</strong> mouvement par modèle<strong>de</strong>peau(skinning)
Chapitre6<br />
<strong>Compression</strong> MCGV<br />
Résumé : Ce chapitre propose une nouvelle métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong><br />
<strong>3D</strong>, appelée MCGV (Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o). MCGV étend la représentation<br />
GV (Geom<strong>et</strong>ry Vi<strong>de</strong>os), proposée initialement par Briceno <strong>et</strong> al. [12], tout en l’améliorant<br />
en termes <strong>de</strong> performances <strong>de</strong> compression. Le mêmeprincipe<strong>de</strong>représentation <strong>de</strong> la<br />
géométrie du maillage dynamique sous forme d’une séquence vidéo d’images géométriques<br />
2D, pouvant être compressée à l’ai<strong>de</strong> <strong>de</strong> métho<strong>de</strong>s standards <strong>de</strong> codage d’images (i.e.,<br />
JPEG a ou MPEG-4 V2 [177]) est ici exploité. En revanche, MCGV s’affranchit <strong>de</strong> toute<br />
procédure <strong>de</strong> re-maillage, en préservant la connectivité initiale du maillage, qui est codée<br />
sans perte. Cela perm<strong>et</strong> d’éviter les problèmes d’artéfacts visuels <strong>de</strong> r<strong>et</strong>riangulation dont<br />
souffre l’approche GV. En outre, les optimisations apportées, comme la procédure <strong>de</strong><br />
compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning <strong>et</strong> la paramétrisation par altas, perm<strong>et</strong>tent<br />
d’améliorer significativement (<strong>de</strong> l’ordre <strong>de</strong> 10% à 60%) l’efficacité <strong>de</strong> compresion.<br />
Mots clés : MCGV, images géométriques, atlas <strong>de</strong> paramétrisation, compression,<br />
<strong>maillages</strong> <strong>dynamiques</strong>, MPEG-4, JPEG.<br />
a. http ://www.jpeg.org/<br />
147
148 <strong>Compression</strong> MCGV<br />
Dans ce chapitre, nous proposons <strong>de</strong> représenter un maillage dynamique <strong>3D</strong> sous forme<br />
d’une séquence d’images 2D qui est directement compressée en exploitant les standards JPEG 1<br />
ou MPEG-4 V2 [177]. Le co<strong>de</strong>ur proposé, appelé Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o MCGV, étend<br />
la représentation Geom<strong>et</strong>ry Vi<strong>de</strong>os (GV) introduite dans [12]. La section suivante présente une<br />
comparaison entre ces <strong>de</strong>ux techniques <strong>et</strong> détaille les améliorations introduites. Les sections<br />
6.2, 6.3 <strong>et</strong> 6.4 décrivent respectivement le schéma global du co<strong>de</strong>ur MCGV, le processus <strong>de</strong><br />
codage du modèle <strong>de</strong> peau (skinning) <strong>et</strong> la compression par images géométriques <strong>de</strong>s erreurs<br />
résiduelles <strong>de</strong> compensation <strong>de</strong> mouvement. La section 6.5 analyse ensuite les fonctionnalités<br />
supportées par le co<strong>de</strong>ur MCGV. Enfin, les résultats expérimentaux sont présentés <strong>et</strong> discutés<br />
Section 6.6.<br />
Rappelons tout d’abord le principe <strong>de</strong> la représentation GV, en en soulignant les principales<br />
limitations.<br />
6.1 Approche GV : principe <strong>et</strong> limitations<br />
L’approche GV représente un maillage <strong>3D</strong> sous forme d’une séquence d’images géométriques<br />
2D (cf. Section 3.1). Les images 2D générées sont ensuite compressées en exploitant une<br />
procédure <strong>de</strong> compensation <strong>de</strong> mouvement affine global combinée à un codage par on<strong>de</strong>l<strong>et</strong>tes<br />
régulières 2D. Les limitations majeures <strong>de</strong> l’approche GV sont liées notamment àlaprocédure<br />
<strong>de</strong> remaillage considérée qui peut introduire (Figure 6.1.a) :<br />
• Despertes<strong>de</strong>détails <strong>de</strong> la surface à cause <strong>de</strong>s problèmes <strong>de</strong> sous-échantillonnage du<br />
domaine paramétrique,<br />
• Une mauvaise triangulation <strong>de</strong>s surfaces remaillées dans le cas <strong>de</strong> fortes distorsions <strong>de</strong><br />
paramétrisation,<br />
• Des discontinuités <strong>de</strong>s vecteurs normaux au niveau <strong>de</strong>s courbes <strong>de</strong> découpage, considérées<br />
pour effectuer la paramétrisation.<br />
La technique MCGV proposée s’affranchit <strong>de</strong> ces limitations tout en optimisant les performances<br />
<strong>de</strong> compression. En eff<strong>et</strong>, le co<strong>de</strong>ur MCGV (Figure 6.1) :<br />
• Evite les problèmes <strong>de</strong> remaillage en préservant la connectivité initiale du maillage dynamique,<br />
qui est codée sans pertes,<br />
• Améliore la stratégie <strong>de</strong> compensation <strong>de</strong> mouvement en exploitant le modèle <strong>de</strong> skinning<br />
proposé <strong>et</strong>décrit au chapitre 5,<br />
• Minimise les distorsions inhérentes <strong>de</strong> paramatérisation en exploitant un atlas <strong>de</strong> paramétrisations<br />
[178] au lieu d’une unique paramétrisation sur un domaine 2D carré.<br />
Détaillons àprésent l’approche MCGV proposée.<br />
6.2 Approche MCGV : schéma global<br />
Le schéma synoptique du co<strong>de</strong>ur MCGV est présenté Figure 6.2. L’approche proposée<br />
exploite la stratégie <strong>de</strong> compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning décrite au chapitre<br />
5. Le principe est <strong>de</strong> :<br />
• Segmenter (c.f. Section 5.1) les somm<strong>et</strong>s du maillage <strong>dynamiques</strong> en parties,<br />
• Modéliser le mouvement <strong>de</strong> chaque cluster par une transformée affine <strong>3D</strong> (cf. Section<br />
5.2.1),<br />
1. http ://www.jpeg.org/
6.2 Approche MCGV : schéma global 149<br />
(a) GV (b) MCGV<br />
Figure 6.1 : MCGV versus GV : la procédure <strong>de</strong> remaillage opérée par GV conduit à<strong>de</strong>s<br />
pertes <strong>de</strong> détails <strong>et</strong> à<strong>de</strong>sartéfacts visuels.<br />
Figure 6.2 : Schéma synoptique du co<strong>de</strong>ur MCGV.
150 <strong>Compression</strong> MCGV<br />
• Prédire le mouvement <strong>de</strong> chaque somm<strong>et</strong> par une combinaison linéaire pondérée <strong>de</strong>s<br />
mouvements <strong>de</strong>s différentes parties (c.f. Section 5.2.2).<br />
La première trame <strong>de</strong> la séquence, considérée comme trame <strong>de</strong> référence lors <strong>de</strong> la prédiction<br />
par modèle <strong>de</strong> skinning, est compressée en appliquant un co<strong>de</strong>ur <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong> arbitraire.<br />
Dans notre cas, nous avons prévilégié leco<strong>de</strong>urTFAN(cf. Chapitre 2). Les erreurs<br />
résiduelles <strong>de</strong> prédiction sont ensuite converties en images géométriques en exploitant un atlas<br />
<strong>de</strong> paramétrisation [178], calculé exclusivementàpartir <strong>de</strong> la première trame <strong>de</strong> l’animation.<br />
Le modèle <strong>de</strong> skinning ainsi que les coordonnées paramétriques associées aux somm<strong>et</strong>s du<br />
maillage sont quantifiés uniformément <strong>et</strong> compressés avec le co<strong>de</strong>ur arithmétique adaptatif<br />
proposé dans [68]. Les images géométriques décrivant les erreurs <strong>de</strong> prédiction sont finalement<br />
codées en appliquant directement : (1) le co<strong>de</strong>ur d’images 2D JPEG ou (2) le co<strong>de</strong>ur vidéo<br />
MPEG-4 V2 [177].<br />
6.3 Codage du modèle <strong>de</strong> skinning<br />
Compresser le modèle <strong>de</strong> skinning (cf. Chapitre 5) revient à trouver une représentation<br />
compacte pour chacune <strong>de</strong> ses composantes : (1) la partition, (2) les transformées affines<br />
<strong>et</strong> (3) les poids d’animation. Le Tableau 6.1 décrit chacun <strong>de</strong> ces différents éléments <strong>de</strong> la<br />
représentation ainsi que les stratégies <strong>de</strong> codage adoptées pour leur compression.<br />
Composante Description Stratégie <strong>de</strong> codage<br />
Partition Tableau 1D <strong>de</strong> taille V associant à chaque somm<strong>et</strong><br />
l’in<strong>de</strong>x du cluster auquel il appartient<br />
Codage arithmétique [68]<br />
Transformées<br />
affines<br />
Ensemble <strong>de</strong> (K × T ) transformées affines (Ak i )ki décrivant les mouvements <strong>de</strong>s clusters k ∈<br />
{1,...,K} aux trames i ∈{1,...,T}<br />
Quantification uniforme<br />
Codage arithmétique [68]<br />
Poids d’animation<br />
Ensemble <strong>de</strong> coefficients réels (ωv k )v k contrôlant l’influence<br />
<strong>de</strong> chaque cluster k ∈ {1,...,K} sur le<br />
mouvement <strong>de</strong>s somm<strong>et</strong>s v ∈{1, ..., V }<br />
Quantification uniforme<br />
Codage arithmétique [68]<br />
Table 6.1 : Stratégie <strong>de</strong> compression <strong>de</strong>s différentes composantes du modèle <strong>de</strong> skinning.<br />
La procédure <strong>de</strong> quantification uniforme perm<strong>et</strong> <strong>de</strong> représenter un ensemble <strong>de</strong> valeurs<br />
réelles (rj)j∈{1,...,J} par <strong>de</strong>s entiers (gj)j∈{1,...,J} ∈{0, ..., 2 Q − 1} (Q étant le nombre <strong>de</strong> bits<br />
<strong>de</strong> quantification). C<strong>et</strong>te étape est nécessaire pour pouvoir exploiter le co<strong>de</strong>ur arithmétique<br />
[68] qui s’applique uniquement à <strong>de</strong>s sources d’information avec un nombre fini <strong>de</strong> symboles.<br />
Dans notre cas, les valeurs réelles (rj)j∈{1,...,J} à co<strong>de</strong>r correspon<strong>de</strong>nt, soit aux coefficients<br />
réels <strong>de</strong>s transformées affine (Ak i )ki , soit aux poids d’animation (ωv k )vk . Les sorties entières du<br />
quantificateur, notées (gj)j, sontdéfinies par :<br />
<br />
rj − minj(rj)<br />
gj =<br />
maxj(rj) − minj(rj) × (2Q − 1) + 1<br />
<br />
,<br />
2<br />
(6.1)<br />
où ⌊x⌋ désigne la valeur entière d’un réel x.<br />
Achaquevaleurgj on associe une valeur reconstruite, notée ˜rj, qui correspond àlavaleur<br />
quantifiée <strong>de</strong> l’échantillion rj, définie par :<br />
˜rj =<br />
gj<br />
(2 Q − 1) × [maxj(rj) − minj(rj)] + minj(rj). (6.2)
6.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 151<br />
Notons que la connaissance <strong>de</strong>s valeurs minimale minj(rj) <strong>et</strong> maximale maxj(rj) est indispensable<br />
pour déterminer les valeurs reconstruites (˜rj)j∈{1,...,J} à partir <strong>de</strong>s valeurs entières<br />
(gj)j∈{1,...,J}. Laprocédure décrite par la relation (6.2) est appelée, par abus <strong>de</strong> language, quatification<br />
inverse. Signalons toutefois que la quantification est un processus inversible, avec<br />
perte d’information. Les <strong>de</strong>ux valeurs minj(rj) <strong>et</strong>maxj(rj) sontcodées sans perte <strong>et</strong> incluses<br />
dans le flux binaire.<br />
L’erreur <strong>de</strong> quantification maximale (appelée aussi pas <strong>de</strong> quantification), notée δQ, est<br />
donnée par :<br />
δQ = maxj(rj) − minj(rj)<br />
2Q . (6.3)<br />
− 1<br />
Détaillons àprésent le codage <strong>de</strong>s erreurs résiduelles <strong>de</strong> prédiction.<br />
6.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles<br />
Les erreurs <strong>de</strong> prédiction après compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning,notées<br />
e v i =(e v,x<br />
i ,e v,y<br />
i ,e v,z<br />
i , 0), sont définies par :<br />
∀ v ∈{1, ..., V }, e v i = χvi − χv i . (6.4)<br />
Le principe <strong>de</strong> l’approche MCGV proposée consiste à représenter la séquence <strong>de</strong>s erreurs<br />
résiduelles (ev i )vi sous forme d’une séquence d’images 2D pixéllisées qui peut être compressée<br />
en appliquant <strong>de</strong>s techniques classiques <strong>de</strong> codage d’images, comme celles proposées par les<br />
standards JPEG <strong>et</strong> MPEG.<br />
Pour cela, il est nécessaire <strong>de</strong> construire une paramétrisation du maillage <strong>3D</strong> sur un domaine<br />
image 2D, comme décrit dans la section suivante.<br />
6.4.1 Atlas <strong>de</strong> paramétrisations<br />
Afin <strong>de</strong> minimiser les distorsions inhérentes à toute technique <strong>de</strong> paramétrisation, nous<br />
avons adopté lamétho<strong>de</strong> Iso-Chart introduite dans [178] qui construit un atlas <strong>de</strong> paramétrisation.<br />
Pour minimiser les distorsions <strong>de</strong> paramétrisation, le principe est <strong>de</strong> segmenter tout<br />
d’abord le maillage en patchs, puis <strong>de</strong> dériver une paramétrisation indépendante sur chaque<br />
partie. Afin <strong>de</strong> réduire encore plus les distorsions, l’approche Iso-Chart perm<strong>et</strong> <strong>de</strong> paramétrer<br />
chaque patch sur un domaine 2D d’une forme adaptée (au lieu d’utiliser un domaine carré 2D).<br />
Les domaines paramétriques 2D associés à l’ensemble <strong>de</strong>s patchs sont enfin regroupés dans<br />
un domaine carré 2D(i.e., [0, 1] × [0, 1]). Ici, l’algorithme <strong>de</strong> regroupement (ou empaqu<strong>et</strong>age)<br />
introduit dans [74] est utilisé afin <strong>de</strong> minimiser les espaces entre patchs.<br />
La Figure 6.3 illustre l’atlas <strong>de</strong> paramétrisation obtenu pour la première trame <strong>de</strong> l’animation<br />
“Dance”. Notons que pour chaque point à l’intérieur <strong>de</strong> l’un <strong>de</strong>s domaines paramétriques<br />
associés aux patchs du maillage correspond un point <strong>3D</strong> sur la surface. En revanche, l’ensemble<br />
<strong>de</strong>s points situés entre les différents domaines paramétriques (qui forment un espace<br />
paramétrique non-utilisé) n’a pas <strong>de</strong> correspondant sur la surface du maillage.<br />
Contrairement à l’approche <strong>de</strong> codage par B-Splines présenté au Chapitre 3, la métho<strong>de</strong><br />
MCGV calcule les coordonnées paramétriques associées aux somm<strong>et</strong>s du maillage en tenant<br />
compte àlafois<strong>de</strong>sespropriétés topologiques <strong>et</strong> géométriques. Cela perm<strong>et</strong> notamment <strong>de</strong>
152 <strong>Compression</strong> MCGV<br />
Figure 6.3 : Atlas <strong>de</strong> paramétrisation.<br />
minimiser les distorsions <strong>de</strong> paramétrisation. L’information <strong>de</strong> paramétrisation, i.e. l’ensemble<br />
<strong>de</strong>s coordonnées paramétriques (u1(v),u2(v)) <strong>de</strong>s somm<strong>et</strong>s du maillage, est incluse directement<br />
dans le flux binaire pour être transmise au déco<strong>de</strong>ur. Notons qu’une telle approche serait inefficace<br />
dans le cadre <strong>de</strong> la compression <strong>de</strong> <strong>maillages</strong> <strong>statiques</strong>, en raison du volume relativement<br />
important <strong>de</strong> c<strong>et</strong>te information additionnelle <strong>de</strong> paramétrisation. Toutefois, elle trouve pleinement<br />
son utilité dans le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong>, où la paramétrisation est transmise<br />
uniquement pour la première trame <strong>de</strong> la séquence.<br />
En pratique, le co<strong>de</strong>ur MCGV applique l’algorithme Iso-Chart sur la première trame <strong>de</strong><br />
l’animation conditionellement à la partition au sens du mouvement calculée lors <strong>de</strong> la construction<br />
du modèle <strong>de</strong> skinning. La partition finale en patchs qui est obtenue correspond ainsi à<br />
une sur-segmentation <strong>de</strong> la partition associée au modèle<strong>de</strong>peau.<br />
L’atlas <strong>de</strong> paramétrisations ainsi obtenu est ensuite exploité pour convertir l’ensemble <strong>de</strong>s<br />
trames <strong>de</strong> l’animation en images géométriques 2D, comme décrit dans le paragraphe suivant.<br />
6.4.2 Construction <strong>de</strong>s images géométriques<br />
Afin <strong>de</strong> générer les images géométriques associées au différentes trames <strong>de</strong> l’animation, le<br />
principe consiste àré-échantillonner uniformément l’espace paramétrique <strong>de</strong> représenter les<br />
erreurs <strong>de</strong> compensation <strong>de</strong> mouvement (ev i )vi selon une grille régulière pouvant être stockée<br />
sous forme d’une image. Intuitivement, cela correspond à une “pixellisation” <strong>de</strong> c<strong>et</strong> espace.<br />
Toutefois, dans le domaine paramétrique, les seuls points qui ont une information géométrique<br />
associée sont ceux correspondant aux somm<strong>et</strong>s du maillage (i.e., l’ensemble {(u1(v),u2(v))/v ∈<br />
. Pour associer une information<br />
{1,...,V}}, pour lesquels on dispose <strong>de</strong>s erreurs (ev }<br />
i )i∈{1,...,T<br />
v∈{1,...,V }
6.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 153<br />
Figure 6.4 : Images géométriques <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement.<br />
Figure 6.5 : Image géomatrique obtenue après l’application <strong>de</strong> la procédure <strong>de</strong> remplissage<br />
(padding) sur l’image <strong>de</strong> la Figure 6.4.
154 <strong>Compression</strong> MCGV<br />
d’erreur <strong>de</strong> compensation <strong>de</strong> mouvement à chaque pixel du domaine paramétrique, il est alors<br />
nécessaire d’appliquer une procédure d’interpolation à partir <strong>de</strong>s données éparses (scattered<br />
data interpolation) [179].<br />
Dans notre cas, nous avons adopté une métho<strong>de</strong> d’interpolation simple mais efficace, àbase<br />
<strong>de</strong> coordonnées barycentriques.<br />
Plus rigoureusement, notons par (Gj)j∈{1,...,NG} ⊂ [0, 1] × [0, 1] l’ensemble <strong>de</strong>s domaines<br />
paramétriques <strong>de</strong> l’atlas <strong>de</strong> paramétrisation. Soient :<br />
• μ un point du domaine paramétrique Gj,<br />
• tj le triangle 2D <strong>de</strong> Gj auquel le point μ appartient,<br />
• vA, vB <strong>et</strong> vC les trois somm<strong>et</strong>s du triangle tj, <strong>et</strong><br />
• μvA(μ), μvB(μ) <strong>et</strong> μvC(μ) les vecteurs 2D <strong>de</strong>s coordonnées paramétriques associés à vA, vB<br />
<strong>et</strong> vC.<br />
Soit φ i j la fonction associée àlatramei <strong>et</strong> définie sur le domaine paramétrique Gj par :<br />
φi j : Gj → R3 μ → α(μ)e vA<br />
i + β(μ)evB i + γ(μ)evC i<br />
, (6.5)<br />
avec α(μ), β(μ) <strong>et</strong>γ(μ) les coordonnées barycentriques [80] du point μ dans le triangle tj <strong>de</strong><br />
Gj, définies par :<br />
(μvB − μ) ∧ (μvC − μ)|<br />
α(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(6.6)<br />
(μvA − μ) ∧ (μvC − μ)<br />
β(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(6.7)<br />
(μvA − μ) ∧ (μvB − μ)<br />
γ(μ) =<br />
(μvB − μvA ) ∧ (μvC − μvA ),<br />
(6.8)<br />
où ∧ désigne le produit vectoriel entre <strong>de</strong>ux vecteurs.<br />
En combinant les fonctions (φ i j )j , nous pouvons dériver la fonction φ i associée à la trame<br />
i <strong>et</strong> définie sur tout le domaine paramétrique par :<br />
∀ μ ∈ [0, 1] × [0, 1], φ i <br />
i φj (μ) ,<br />
(μ) =<br />
0 ,<br />
si μ ∈Gj<br />
.<br />
sinon<br />
(6.9)<br />
Notons que la fonction φ i ,définie dans l’Equation (6.9), perm<strong>et</strong> d’interpoler les erreurs <strong>de</strong><br />
compensation <strong>de</strong> mouvement (e v i )v i<br />
sur le domaine [0, 1] × [0, 1]. En particulier, la fonction φi<br />
est interpolatrice au sens où elle garantit pour tout somm<strong>et</strong> v du maillage la propriétésuivante:<br />
φ i (μv) =e v i , (6.10)<br />
avec μv le vecteur <strong>de</strong>s coordonnées paramétriques associées au somm<strong>et</strong> v.<br />
Une fois la procédure d’interpolation <strong>de</strong>s erreurs définie pour l’ensemble <strong>de</strong>s trames <strong>de</strong><br />
l’animation, l’étapesuivanteconsisteàéchantillonner uniformément le domaine paramétrique<br />
aux points (μunif(k, l)) l∈{1,...,M}<br />
k∈{1,...,N} (M <strong>et</strong> N désignant respectivement la largeur <strong>et</strong> la hauteur <strong>de</strong>s<br />
images géométriques que l’on souhaite déterminer) du domaine paramétrique définis par :<br />
<br />
∀ l ∈{1,...,M}, ∀ k ∈{1,...,N} μunif(k, l) = . (6.11)<br />
l<br />
M−1<br />
k<br />
N−1
6.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 155<br />
Soient (ei unif (k, l))l∈{1,...,M}<br />
k∈{1,...,N} les erreurs <strong>de</strong> compensation <strong>de</strong> mouvement associées au points<br />
(μunif(k, l)) l k aux différents instants <strong>de</strong> l’animation, comme décrit par l’équation (6.12) :<br />
∀ i ∈{1,...,T}, ∀ l ∈{1,...,M}, ∀ k ∈{1,...,N} e i unif(k, l) =φi(μunif(k, l)). (6.12)<br />
La séquence <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement (ei unif (k, l)) est ensuite quantifiée<br />
sur 8 bits (cf. Section 6.3). Les erreurs quantifiées associées à chaque trame sont stockées<br />
sous forme d’une image couleur. Ici, les valeurs quantifiées<strong>de</strong>serreursselonlesaxesx, y <strong>et</strong><br />
z sont considérées comme étant les trois plans <strong>de</strong> couleur R, G <strong>et</strong> B <strong>de</strong>s pixels <strong>de</strong>s images<br />
géométriques.<br />
La Figure 6.4 illustre l’image <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement générée pour la<br />
trame 48 <strong>de</strong> l’animation “Dance”.<br />
Les images géométriques <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement ainsi obtenues montrent<br />
<strong>de</strong>s discontinuités importantes au niveau <strong>de</strong>s frontières entre les parties <strong>de</strong> l’image correspondants<br />
aux domaines paramétriques (Gj)j∈{1,...,NG} <strong>et</strong> le domaine non-utilisé <strong>de</strong> l’image correspondant<br />
à l’ensemble Gfree (représenté en noir dans Figure 6.4) défini par :<br />
Gfree =([0, 1] × [0, 1]) / (Gj)j∈{1,...,NG}. (6.13)<br />
Compresser directement ces images à l’ai<strong>de</strong> <strong>de</strong> techniques classiques <strong>de</strong> compression d’images<br />
rectangulaires (e.g. JPEG/MPEG) conduirait à <strong>de</strong> faibles performances <strong>de</strong> compression en raison<br />
<strong>de</strong>s hautes fréquences générées par ces discontinuités. Pour s’affranchir <strong>de</strong> c<strong>et</strong> inconvénient,<br />
nous proposons d’appliquer une technique <strong>de</strong> remplissage (padding) inspirée <strong>de</strong> celle utilisée<br />
par le co<strong>de</strong>ur MPEG-4 V2 [177]. Notons que la procédure <strong>de</strong> padding n’affectera pas le processus<br />
<strong>de</strong> reconstruction étant donnée que les pixels correspondant au domaine Gfree peuvent<br />
prendre <strong>de</strong>s valeurs arbitraires, sans aucune influence sur les <strong>maillages</strong> reconstruits. Toutefois,<br />
elle est essentielle pour garantir une compression efficace.<br />
6.4.3 Remplissage <strong>de</strong>s images géométriques<br />
En vue d’une compression JPEG ou MPEG encore plus efficace, la métho<strong>de</strong> <strong>de</strong> remplissage<br />
ou padding proposée est spécifiquement adaptée à<strong>de</strong>sschémas <strong>de</strong> codage qui m<strong>et</strong>tent en oeuvre<br />
une DCT par blocs <strong>de</strong> taille (8 × 8) pixels.<br />
Les images géométriques sont donc tout d’abord partitionnées en blocs (8×8) pixels. Notons<br />
que la métho<strong>de</strong> <strong>de</strong> paramétrisation Iso-Chart[178] (cf. Section 6.4.1) perm<strong>et</strong> <strong>de</strong> construire<br />
l’atlas <strong>de</strong> paramétrisation tout en assurant une distance minimale entre les différents domaines<br />
paramétriques (Gj)j∈{1,...,NG}. Conaissant apriorila largeur M <strong>et</strong> la hauteur N <strong>de</strong>s images<br />
géométriques (en pixels), la distance minimale entre domaines paramétriques est choisie <strong>de</strong><br />
façon à ce qu’aucun bloc ne contienne <strong>de</strong>s pixels associés à <strong>de</strong>ux domaines paramétriques<br />
différents.<br />
Chaque bloc B est composé, soit <strong>de</strong> pixels avec <strong>de</strong>s valeurs bien définies (fixées), correspondant<br />
aux domaines paramétriques (Gj)j∈{1,...,NG}, soit <strong>de</strong> pixels dits libres (ou non-définis),<br />
associés au domaines non-utilisés Gfree. Notons par Bfree <strong>et</strong> Bfix respectivement l’ensemble <strong>de</strong>s<br />
pixels libres <strong>et</strong> fixés du bloc B.<br />
Comme mesure du <strong>de</strong>gré <strong>de</strong>continuitéd’un bloc B, nous considérons la fonction ψ définie<br />
par :<br />
ψ(B) = <br />
ep − eq 2 , (6.14)<br />
(p,q)∈ℵB
156 <strong>Compression</strong> MCGV<br />
où ℵB est l’ensemble <strong>de</strong>s couples <strong>de</strong> pixels voisins en 8-connectivitédublocB <strong>et</strong> ep =(e R p ,eG p ,eB p )<br />
est la valeur <strong>de</strong> l’image géométrique considérée au pixel p.<br />
Minimiser la fonction ψ(B) par rapport aux valeurs <strong>de</strong>s pixels <strong>de</strong> Bfree revient àrésoudre<br />
le système d’équations linéaires suivant :<br />
∀p ∈Bfree,<br />
∂ψ(B)<br />
∂Bp<br />
=2 <br />
(ep − eq) =0, (6.15)<br />
où ℵp représente l’ensemble <strong>de</strong>s pixels voisins <strong>de</strong> p.<br />
Résoudre (6.15) est alors équivalent à trouver la solution du système linéaire suivant :<br />
∀p ∈Bfree, 8 ep − <br />
eq = <br />
eh. (6.16)<br />
q∈ℵp<br />
q∈ℵp∩Bfree<br />
h∈ℵp∩Bfix<br />
Le système linéaire (6.16) étant creux, symétrique <strong>et</strong> défini positif, il peut être résolu <strong>de</strong> façon<br />
stable <strong>et</strong> rapi<strong>de</strong> en appliquant l’algorithme du gradient conjugué [82]. La Figure 6.5 illustre<br />
l’image <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement obtenue pour la trame 48 <strong>de</strong> l’animation<br />
“Dance”. Nous observons que la procédure <strong>de</strong> remplissage proposée conduit à une image lisse<br />
sur l’ensemble <strong>de</strong>s blocs <strong>de</strong> taille (8 × 8) pixels <strong>de</strong> l’image.<br />
6.4.4 Codage <strong>de</strong>s images géométriques<br />
Suite àl’étape <strong>de</strong> padding, les images géométriques <strong>de</strong>s erreurs résiduelles <strong>de</strong> compensation<br />
<strong>de</strong> mouvement sont enfin compressées en appliquant soit le co<strong>de</strong>ur d’images <strong>statiques</strong> JPEG<br />
(dans une approche <strong>de</strong> codage trame par trame), soit le co<strong>de</strong>ur vidéo MPEG-4 V2 [177].<br />
Notons que chaque image couleur correspond aux trois images en niveaux <strong>de</strong> gris, une pour<br />
chaque plan R, G <strong>et</strong> B, codés <strong>de</strong> façon indépendante. Les coordonnées paramétriques <strong>de</strong>s<br />
somm<strong>et</strong>s du maillage (μv)v∈{1,...,V } sont quantifiées uniformément (cf. Section 6.3), puis codées<br />
arithmétiquement [68].<br />
Au niveau du déco<strong>de</strong>ur, la reconstruction <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement<br />
(ev }<br />
i )i∈{1,...,T<br />
v∈{1,...,V } associées aux somm<strong>et</strong>s du maillage est effectuée comme suit. Les images géométriques,<br />
ainsi que les coordonnées paramétriques sont tout d’abord décodées.<br />
l’image géométrique <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement<br />
Notons par (˜e i<br />
unif (k, l))lk reconstruite à la trame i. L’erreur <strong>de</strong> compensation <strong>de</strong> mouvement reconstruite ˜e v i associée au<br />
somm<strong>et</strong> v à la trame i est alors déterminée en appliquant la relation suivante :<br />
1<br />
˜μ v × M , ˜μ 2 v × N , (6.17)<br />
˜e v i<br />
=˜e i<br />
unif<br />
avec ˜μ =(˜μ 1 v, ˜μ 2 v) le vecteur <strong>de</strong>s coordonnées paramétriques reconstruit.<br />
Notons que les erreurs <strong>de</strong> compensation <strong>de</strong> mouvement reconstruites (˜e v }<br />
i )i∈{1,...,T<br />
v∈{1,...,V }<br />
générale différentes <strong>de</strong>s erreurs (˜e v }<br />
i )i∈{1,...,T<br />
v∈{1,...,V }<br />
sont en<br />
associées intialement aux somm<strong>et</strong>s du maillage.<br />
Ces erreurs <strong>de</strong> reconstruction sont inhérentes àla“pixéllisation” (i.e., quantification du domaine<br />
paramétrique sur un nombre <strong>de</strong> pixels finis) appliquée lors <strong>de</strong> la génération <strong>de</strong>s images<br />
géométriques.<br />
Analysons àprésent dans quelle mesure l’approche MCGV proposée répond aux fonctionnalités<br />
enoncées Section 4.4.
6.5 Fonctionnalités 157<br />
6.5 Fonctionnalités<br />
Le co<strong>de</strong>ur MCGV représente la géométrie d’un maillage dynamique sous forme d’une<br />
séquence d’images 2D dont l’interprétationenterme<strong>de</strong>géométrie <strong>3D</strong> est assurée par une<br />
information supplémentaire relative au modèle <strong>de</strong> skinning <strong>et</strong> aux coordonnées paramétriques<br />
associées aux somm<strong>et</strong>s du maillage. C<strong>et</strong>te information supplémentaire est codée <strong>de</strong> façon statique<br />
une seule fois, pour toute la séquence, au début du processus <strong>de</strong> transmission. Les trois<br />
images géométriques qui représentent la composante la plus importante en volume du flux<br />
binaire (i.e., plus <strong>de</strong> 80% en moyenne) sont codées en exploitant les <strong>de</strong>ux standards <strong>de</strong> codage<br />
d’images JPEG 2 <strong>et</strong> MPEG-4 V2 [177]. C<strong>et</strong>te approche perm<strong>et</strong> àMCGVd’hériter directement<br />
<strong>de</strong>s fonctionnalités supportées par ces <strong>de</strong>ux co<strong>de</strong>urs <strong>et</strong> qui sont synthétisées dans le Tableau<br />
6.2.<br />
Techniques Codage <strong>de</strong>s Scalabilité Scalabilité Scalabilité Quasi-sans Streaming<br />
attributs spatiale temporelle en qualité pertes<br />
MCGV/JPEG × × ×<br />
MCGV/MPEG-4 V2 × × × ×<br />
Table 6.2 : Fonctionnalités supportées par le co<strong>de</strong>ur MCGV.<br />
Dans le cas du co<strong>de</strong>ur MCGV/JPEG, les trames sont codées indépendamment les unes <strong>de</strong>s<br />
autres. C<strong>et</strong>te approche perm<strong>et</strong> un accès aléatoire aux trames sans avoir besoin <strong>de</strong> déco<strong>de</strong>r toute<br />
la séquence. En plus, la scalabilité en qualité supportée par le co<strong>de</strong>ur JPEG est directement<br />
héritée par le co<strong>de</strong>ur MCGV.<br />
Le co<strong>de</strong>ur MCGV/MPEG-4 V2 perm<strong>et</strong> un accès direct aux trames <strong>de</strong> type I (i.e., mo<strong>de</strong><br />
intra). Ces points d’accès aléatoire, perm<strong>et</strong>tent entre autres d’assurer la fonctionnalité <strong>de</strong><br />
streaming. Laprocédure <strong>de</strong> prédiction supplémentaire appliquée ici exploite efficacement les<br />
corrélations temporelles entre trames successives <strong>et</strong> offre ainsi <strong>de</strong> meilleures performances <strong>de</strong><br />
compression que l’approche MCGV/JPEG (cf. Section 6.6.3.1). Les fonctionnalités <strong>de</strong> scalabilité<br />
temporelle <strong>et</strong> <strong>de</strong> scalabilité en qualité supportées par le standard MPEG-4 V2 [177] sont<br />
elles-aussi directement héritées par le co<strong>de</strong>ur MCGV. Dans ce cas, le co<strong>de</strong>ur MCGV reconstruit<br />
les erreurs <strong>de</strong> compensation <strong>de</strong> mouvement en appliquant l’Equation (6.17) aux différentes<br />
trames <strong>de</strong>s vidéos scalables (temporellement ou en qualité) produites par le co<strong>de</strong>ur MPEG-4<br />
V2.<br />
Le codage <strong>de</strong>s attributs photométriques (e.g., normales, couleurs...) est également possible<br />
<strong>et</strong> ce pour les <strong>de</strong>ux versions du co<strong>de</strong>ur MCGV/JPEG <strong>et</strong> MCGV/MPEG-4 V2. Comme proposé<br />
dans [12], il suffit <strong>de</strong> générer <strong>de</strong>s images géométriques supplémentaires pour chacune<br />
<strong>de</strong> ces informations <strong>de</strong> façon analogue à l’approche décrite dans la Section 6.4 pour les attributs<br />
géométriques. Ces images peuvent être également codées par l’un <strong>de</strong>s <strong>de</strong>ux co<strong>de</strong>urs<br />
MCGV/JPEG ou MCGV/MPEG-4 V2.<br />
Notons en revanche que les fonctionnalités <strong>de</strong> scalabilité spatiale <strong>et</strong> <strong>de</strong> codage quasi-sans<br />
perte ne peuvent pas être supportées par le co<strong>de</strong>ur MCGV. En eff<strong>et</strong>, la représentation par<br />
images géométriques utilisée induit <strong>de</strong>s pertes d’information inhérentes àlaprocédure<strong>de</strong>reéchantillonnage<br />
considérée. Ainsi, la discrétisation du domaine paramétrique en un nombre fini<br />
<strong>de</strong> pixels <strong>et</strong> la quantification <strong>de</strong>s coordonnées paramétriques associées aux somm<strong>et</strong>s du maillage<br />
conduisent à <strong>de</strong>s pertes <strong>de</strong> précision lors du processus <strong>de</strong> reconstruction <strong>de</strong>s erreurs résiduelles<br />
2. http ://www.jpeg.org/
158 <strong>Compression</strong> MCGV<br />
(équation 6.17). Ces pertes sont inhérentes àlareprésentation par images géométriques <strong>et</strong><br />
dépen<strong>de</strong>nt fortement <strong>de</strong> la qualité <strong>de</strong> la paramétrisation utilisée (cf. Section 6.4.1). Il est alors<br />
impossible d’imposer à l’avance une borne maximale sur les erreurs <strong>de</strong> reconstruction <strong>de</strong>s<br />
images géométriques.<br />
Analysons àprésent les performances <strong>de</strong> l’approche MCGV proposée en termes d’efficacité<br />
<strong>de</strong> compression.<br />
6.6 Résultats expérimentaux<br />
6.6.1 Corpus d’évaluation<br />
Afin <strong>de</strong> réaliser une comparaison objective, nous avons considéré comme corpus <strong>de</strong> test six<br />
animations utilisées par la majorité <strong>de</strong>s travaux <strong>de</strong> la littérature : “Dance”, “Chicken”, “Dolphin”,<br />
“Humanoid”, “Cow” <strong>et</strong> “Snake”. Les propriétés <strong>de</strong> ces animations (type <strong>de</strong> mouvement,<br />
nombre <strong>de</strong> somm<strong>et</strong>s, <strong>de</strong> trames <strong>et</strong> <strong>de</strong> composantes connexes...), ainsi que <strong>de</strong>s extraits illustrant<br />
leurs mouvements sont présentés dans l’Annexe 8.5.<br />
6.6.2 Critères d’évaluation<br />
Afin d’évaluer les performances <strong>de</strong> compression pour <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> avec <strong>de</strong>s<br />
nombres <strong>de</strong> somm<strong>et</strong>s <strong>et</strong> <strong>de</strong> trames différents, les débits sont exprimés en bits par trame par<br />
somm<strong>et</strong> (bpts). Les débits rapportés correspon<strong>de</strong>nt à la taille totale du flux binaire nécessaire<br />
pour le décodage <strong>de</strong> l’animation qui inclut :<br />
• la première trame compressée avec le co<strong>de</strong>ur TFAN,<br />
• les coordonnées paramétriques <strong>de</strong>s somm<strong>et</strong>s,<br />
• la partition,<br />
• les transformées affines,<br />
• les poids d’animation,<br />
• les images géométriques <strong>de</strong>s erreurs <strong>de</strong> compensation <strong>de</strong> mouvement.<br />
Les distorsions <strong>de</strong> compression sont mesurées en utilisant l’erreur RMSE [51] entre <strong>maillages</strong><br />
originaux <strong>et</strong> reconstruits (décodés). L’erreur RMSE entre <strong>de</strong>ux séquences <strong>de</strong> <strong>maillages</strong> animés<br />
(Si)i∈{1,...,T } <strong>et</strong> (S ′ i)i∈{1,...,T } est définie comme étant la moyenne (sur l’ensemble <strong>de</strong>s trames)<br />
<strong>de</strong>s erreurs RMSE pour chaque couples <strong>de</strong> trames :<br />
RMSE(S, S ′ )=<br />
1<br />
D × T ×<br />
T<br />
RMSE(Si,S ′ i). (6.18)<br />
Le facteur <strong>de</strong> normalisation D représente la longueur <strong>de</strong> la diagonale <strong>de</strong> la boîte englobante<br />
<strong>de</strong> l’obj<strong>et</strong> àlapremière trame. Notons que l’utilisation <strong>de</strong> l’erreur RMSE est indispensable<br />
pour l’évaluation <strong>de</strong> l’approche GV, puisque la comparaison doit être effectuée entre <strong>de</strong>ux<br />
<strong>maillages</strong>, initial <strong>et</strong> reconstruit, caractérisés par <strong>de</strong>s connectivités différentes. Cela pénalise<br />
l’exploitation <strong>de</strong> mesures plus simples, fondées sur <strong>de</strong>s distances <strong>de</strong> somm<strong>et</strong> à somm<strong>et</strong> comme<br />
celles considérées dans la Section 8.2.<br />
i=1
6.6 Résultats expérimentaux 159<br />
6.6.3 Résultats <strong>de</strong> compression<br />
Les paramètres du co<strong>de</strong>ur MCGV utilisés pour l’ensemble <strong>de</strong>s animations sont les suivants :<br />
• le paramètre E0 utilisé dans la construction du modèle <strong>de</strong> skinning (cf. chapitre 5) est<br />
fixé àlavaleur(0.0025) 2 ,<br />
• les coordonnées paramétriques <strong>de</strong>s somm<strong>et</strong>s sont quantifiées sur 8 bits,<br />
• les poids d’animation <strong>et</strong> les transformées affines sont quantifiées sur 16 bits,<br />
• leserreursrésiduelles <strong>de</strong> prédiction par modèle <strong>de</strong> skinning sont quantifiées sur 8 bits,<br />
• la taille <strong>de</strong>s images géométriques est <strong>de</strong> 256 × 256.<br />
L’approche MCGV a été comparée à six techniques <strong>de</strong> l’état <strong>de</strong> l’art : D<strong>3D</strong>MC, AFX-IC,<br />
RT, PCA, Dynapack <strong>et</strong> GV. Les résultats <strong>de</strong> compression <strong>de</strong>s approches r<strong>et</strong>enues sont ceux<br />
rapportés dans [162], [158], [122] <strong>et</strong> [12]. Le Tableau 6.3 résume les résultats <strong>de</strong> compression<br />
disponibles dans la littérature pour les séquences animées considérées ainsi que les références<br />
sources correspondantes.<br />
Analysons tout d’abord <strong>de</strong> façon comparée les performances <strong>de</strong>s <strong>de</strong>ux variantes <strong>de</strong> codage<br />
MCGV considérées, par JPEG <strong>et</strong> par MPEG-4/V2.<br />
Animation D<strong>3D</strong>MC AFX-IC RT PCA Dynapack GV<br />
“Cow” - - - - - [12]<br />
“Chicken” [162] [162] [158] - [122] -<br />
“Dolphin” - - - - - -<br />
“Dance” - - - - - [12]<br />
“Humanoid” [162] [162] - - - -<br />
“Snake” - - [158] [158] - [12]<br />
Table 6.3 : Résultats <strong>de</strong> compression disponibles <strong>et</strong> références <strong>de</strong>s sources associées.<br />
6.6.3.1 MCGV/JPEG versus MCGV/MPEG-4 V2<br />
Les Figures 6.6 <strong>et</strong> 6.7 présentent les courbes débit/distorsion <strong>de</strong>s co<strong>de</strong>urs MCGV/JPEG <strong>et</strong><br />
MCGV/MPEG-4 V2 obtenues pour les animations “Dance”, “Chicken”, “Dolphin”, “Humanoid”,<br />
“Cow” <strong>et</strong> “Snake”. Le Tableau 6.4 résume les gains moyens en termes <strong>de</strong> débits obtenus<br />
par le codage prédictif MCGV/MPEG-4 V2 par rapport au codage intra MCGV/JPEG. Sur<br />
l’ensemble <strong>de</strong>s séquences, nous constatons un gain moyen <strong>de</strong> 33%. Ce gain s’explique par les<br />
corrélations temporelles résiduelles relativement importantes qui sont bien prises en compte<br />
par l’approche prédictive MPEG-4 V2.<br />
Etudions àprésent les performances <strong>de</strong> l’approche MCGV par rapport àlatechniqueoriginale<br />
<strong>de</strong> vidéos géométriques GV [12].<br />
6.6.3.2 MCGV versus GV<br />
L’approche GV supporte <strong>de</strong>ux mo<strong>de</strong>s <strong>de</strong> codage :<br />
1. le mo<strong>de</strong> I (intra) : toutes les trames sont codées indépendamment les unes <strong>de</strong>s autres,<br />
2. le mo<strong>de</strong> P (prédictif) : la première trame est codée <strong>de</strong> façon indépendante <strong>et</strong> les autres<br />
trames sont prédites.
160 <strong>Compression</strong> MCGV<br />
(a) “Chicken”<br />
(b) “Cow”<br />
(c) “Dance”<br />
Figure 6.6 : MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) “Chicken”,<br />
b)“Cow”<strong>et</strong>c)“Dance”.
6.6 Résultats expérimentaux 161<br />
(a) “Dolphin”<br />
(b) “Snake”<br />
(c) “Humanoid”<br />
Figure 6.7 : MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) “Dolphin”,<br />
b) “Snake” <strong>et</strong> c) “Humanoid”.
162 <strong>Compression</strong> MCGV<br />
Animation Gain (%)<br />
“Chicken” 42<br />
“Cow” 17<br />
“Dance” 24<br />
“Dolphin” 42<br />
“Snake” 36<br />
“Humanoid” 36<br />
Moyenne 33<br />
Table 6.4 : Gains moyens en débits obtenus par le codage prédictif MCGV/MPEG-4 V2 par<br />
rapport au codage intra MCGV/JPEG.<br />
Figure 6.8 : Courbes débit/distorsion <strong>de</strong>s approches prédictives MCGV/MPEG-4 V2 <strong>et</strong> GV<br />
en mo<strong>de</strong> P.<br />
Notonsqueleco<strong>de</strong>urGVnepeutpass’appliquer aux maillage <strong>dynamiques</strong> “Chicken” <strong>et</strong><br />
“Dolphin”. En eff<strong>et</strong>, c<strong>et</strong>te métho<strong>de</strong> ne prend pas en compte les <strong>maillages</strong> composés <strong>de</strong> multiples<br />
composantes connexes <strong>et</strong> les <strong>maillages</strong> non-manifolds qui ne sont pas pris en compte par c<strong>et</strong>te<br />
métho<strong>de</strong>. Dans le cas <strong>de</strong> l’animation “Cow”, seules les 81 premières trames ont été considérées<br />
dans [12].<br />
La Figure 6.9 présente les distributions <strong>de</strong>s erreurs RMSE en fonction <strong>de</strong>s trames <strong>de</strong> l’animation<br />
“Dance” pour les <strong>de</strong>ux approches prédictives MCGV/MPEG-4 V2 <strong>et</strong> GV en mo<strong>de</strong> P à<br />
2 <strong>et</strong> 4 bpts. La Figure 6.8 montre les courbes débit/distorsion associées à ces <strong>de</strong>ux approches.<br />
Le gain moyen en distorsion (pour un même débit) est <strong>de</strong> l’ordre <strong>de</strong> 30%. En termes <strong>de</strong> débits,<br />
le gain moyen obtenu (sur toute la plage <strong>de</strong>s distorsions considérées) est <strong>de</strong> 60%.<br />
La Figure 6.10 montre les courbes <strong>de</strong>s erreurs RMSE en fonction <strong>de</strong>s trames obtenues, à8<br />
bpts, pour les co<strong>de</strong>urs MCGV/JPEG <strong>et</strong> GV en mo<strong>de</strong> I. Le Tableau 6.5 présente les gains en<br />
termes d’erreurs RMSE obtenues par le co<strong>de</strong>ur MCGV/JPEG par rapport à l’approche GV<br />
mo<strong>de</strong> I. Ces gains sont respectivement <strong>de</strong> l’ordre <strong>de</strong> 50%, 60% <strong>et</strong> 10% pour les animations<br />
“Cow”, “Dance” <strong>et</strong> “Snake”.<br />
Ces résultats montrent que l’approche MCGV proposée améliore <strong>de</strong> 60% en moyenne les<br />
performances (en termes <strong>de</strong> débits) du co<strong>de</strong>ur GV. Elle est particulièrement efficace dans le cas<br />
<strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong> articulés (e.g., animation “Dance”) où la stratégie <strong>de</strong> compensation<br />
<strong>de</strong> mouvement par modèle <strong>de</strong> skinning est pleinement exploitée. En outre, àhautsdébits (i.e.,
6.6 Résultats expérimentaux 163<br />
(a) “Dance” à 4 bpts<br />
(b) “Dance” à 2 bpts<br />
Figure 6.9 : MCGV/MPEG-4 V2 versus GV-mo<strong>de</strong> P à:a)2<strong>et</strong>b)4bpts.<br />
Sequence GV MCGV Gain<br />
“Cow” 0,00122 0,00067 45%<br />
“Dance” 0,00020 0,00049 60%<br />
“Snake” 0,00015 0,00017 10%<br />
Table 6.5 : MCGV/JPEG versus GV mo<strong>de</strong> I à 8 bpts.
164 <strong>Compression</strong> MCGV<br />
à partir <strong>de</strong> 8 bpts), le co<strong>de</strong>ur MCGV perm<strong>et</strong> d’atteindre <strong>de</strong>s erreurs RMSE plus basses. Cela<br />
s’explique par l’atlas <strong>de</strong> paramétrisation considéré, qui perm<strong>et</strong> <strong>de</strong> réduire considérablement les<br />
distorsions <strong>de</strong> paramétrisation. De plus, l’absence <strong>de</strong> procédures <strong>de</strong> re-maillage perm<strong>et</strong> évite les<br />
problèmes <strong>de</strong> sous-échantillonnage, <strong>de</strong> mauvaise triangulation <strong>et</strong> <strong>de</strong> discontinuités <strong>de</strong>s normales.<br />
Notons également que l’approche MCGV perm<strong>et</strong> <strong>de</strong> gérer une classe plus gran<strong>de</strong> <strong>de</strong> <strong>maillages</strong>,à<br />
multiples composantes connexes (e.g., “Chicken”), non-manifold (e.g., “Dolphin”) <strong>et</strong> <strong>de</strong> genres<br />
arbitraires grâce à l’approche <strong>de</strong> paramétrisation par atlas considérée [178].<br />
6.6.3.3 MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art<br />
La Figure 6.12 illustre les performances <strong>de</strong>s co<strong>de</strong>urs MCGV, AFX-IC <strong>et</strong> D<strong>3D</strong>MC pour<br />
le maillage dynamique “Humanoid”. Ici, à 2.2 bpts, l’approche MCGV/MPEG-4 V2 offre en<br />
moyenne dans gains en terme <strong>de</strong> distorsions RMSE <strong>de</strong> l’ordre <strong>de</strong> 80% <strong>et</strong> 94% par rapport<br />
aux approches D<strong>3D</strong>MC <strong>et</strong> AFX-IC. Les performances <strong>de</strong> compression relativement basses du<br />
co<strong>de</strong>ur AFX-IC s’expliquent par la simplicité duprédicteur spatio-temporel utilisé qui n’arrive<br />
pas en pratique à exploiter efficacement les redondances spatio-temporelles <strong>de</strong> l’animation.<br />
La Figure 6.13 compare les performances du co<strong>de</strong>ur MCGV à celles <strong>de</strong>s approches D<strong>3D</strong>MC,<br />
AFX-IC, RT <strong>et</strong> Dynapack pour l’animation “Chicken”. Ici, les techniques D<strong>3D</strong>MC <strong>et</strong> MCGV<br />
surclassent les autres co<strong>de</strong>urs dans la plage <strong>de</strong>s bas débits (i.e., moins <strong>de</strong> 4bpts). A 2.2 bpts,<br />
le co<strong>de</strong>ur MCGV/MPEG-4 V2 offre un gain <strong>de</strong> 30% en terme d’erreur RMSE par rapport àla<br />
technique D<strong>3D</strong>MC. Cela s’explique par la non-optimalité <strong>de</strong>ladécomposition du mouvement<br />
par arbre octale (octree) exploité par D<strong>3D</strong>MC. En eff<strong>et</strong>, dans le cas <strong>de</strong> mouvements complexes,<br />
une telle structure <strong>de</strong> subdivision régulière nécessite un nombre important <strong>de</strong> niveaux ce qui<br />
conduit à une dégradation <strong>de</strong>s performances <strong>de</strong> compression.<br />
La Figure 6.11 montre les courbes débit/distorsion <strong>de</strong>s co<strong>de</strong>urs MCGV, RT <strong>et</strong> PCA pour<br />
le maillage dynamique “Snake”. Ici, l’approche PCA coduit au plus mauvais résultats <strong>de</strong> compression.<br />
Cela s’explique par le fait que la technique PCA est optimisée pour <strong>de</strong>s séquences<br />
animées longues avec un nombre <strong>de</strong> somm<strong>et</strong>s beaucoup moins important que le nombre <strong>de</strong><br />
trames (T ≫ V ). Une telle hypothèse n’est pas vérifiée dans le cas <strong>de</strong> l’animation “Snake”<br />
(T = 134, V = 9179). L’approche MCGV en revanche offre les meilleurs résultats <strong>de</strong> compression<br />
avec <strong>de</strong>s gains en distorsion RMSE <strong>de</strong> l’ordre 50% par rapport àlatechniqueRT.Cela<br />
prouve que la modélisation par modèle <strong>de</strong> skinning est plus efficace qu’un modèle rigi<strong>de</strong> par<br />
morceaux.
6.6 Résultats expérimentaux 165<br />
(a) “Dance”<br />
(b) “Cow”<br />
(c) “Snake”<br />
Figure 6.10 : MCGV/JPEG versus GV-mo<strong>de</strong> I à 8 bpts.
166 <strong>Compression</strong> MCGV<br />
Figure 6.11 : Animation “Snake” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art.<br />
Figure 6.12 : Animation “Humanoid” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art.<br />
Figure 6.13 : Animation “Chicken” : MCGV versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art.
6.7 Conclusion 167<br />
6.7 Conclusion<br />
Dans ce chapitre, nous avons présenté une approche <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong>,<br />
dites MCGV, fondée sur une représentation par images géométriques. L’approche<br />
MCGV proposée étend la représentation GV [12] a une classe plus large <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong><br />
(non-manifold, à multiples composantes connexes <strong>et</strong> <strong>de</strong> genre arbitraire) tout en<br />
s’affranchissant <strong>de</strong>s problèmes <strong>de</strong> remaillage (e.g., discontinuités <strong>et</strong> <strong>de</strong> sous-échantillonnage).<br />
En exploitant <strong>de</strong>s standards <strong>de</strong> compression déjà matures(i.e., JPEG <strong>et</strong> MPEG-4 V2) la<br />
technique MCGV améliorent considérablement les performances <strong>de</strong> compression <strong>de</strong> GV (<strong>de</strong>s<br />
gains en débits <strong>de</strong> l’odre <strong>de</strong> 60%) tout en héritant <strong>de</strong>s fonctionnalités avancées offertes par ces<br />
standards : scalabilité temporelle, la scalabilité en qualité, streaming <strong>et</strong> codage <strong>de</strong>s attributs.<br />
Notons en revanche que le co<strong>de</strong>ur MCGV ne supporte pas les fonctionnalités <strong>de</strong> scalabilité<br />
spatiale <strong>et</strong> <strong>de</strong> codage quasi-sans perte. En eff<strong>et</strong>, la conversion <strong>de</strong> la géométrie irrégulière <strong>de</strong>s<br />
<strong>maillages</strong> <strong>dynamiques</strong> sous forme d’images géométriques étant un processus avec pertes, il est<br />
complexe voire impossible <strong>de</strong> garantir dans le cas général une borne maximale <strong>de</strong>s erreurs<br />
<strong>de</strong> conversion. De plus, la scalabilité spatialeétant assurée uniquement dans le domaine <strong>de</strong>s<br />
images géométriques, il est difficile <strong>de</strong> la transposer dans le domaine <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong>.<br />
Afin <strong>de</strong> répondre aux contraintes d’efficacité <strong>de</strong> compression tout en assurant la totalité<br />
<strong>de</strong>s fonctionnalités requises, nous proposons dans le chapitre suivant une <strong>de</strong>uxième technique<br />
<strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong>. L’approche proposée, appelée FAMC (Frame-based<br />
Animated Mesh <strong>Compression</strong>), fait cohabiter différentes techniques prédictives <strong>et</strong> par transformées<br />
pour augmenter l’efficacité <strong>de</strong>compression<strong>et</strong>répondre aux besoins fonctionnels <strong>de</strong>s<br />
applications industrielles. De manière plus précise, nos contributions portent sur la mise en<br />
place d’un schéma <strong>de</strong> codage général, avec une architecture flexible <strong>et</strong> modulaire supportant<br />
notamment les fonctionnalités <strong>de</strong> streaming, <strong>de</strong> scalabilité (temporelle, spatiale <strong>et</strong> en qualité),<br />
<strong>de</strong> prise en compte <strong>de</strong> codage d’attributs photométriques <strong>et</strong> <strong>de</strong> compression quasi-sans perte.
168 <strong>Compression</strong> MCGV
Chapitre7<br />
L’approche FAMC : la nouvelle<br />
spécification MPEG-4<br />
Résumé : Ce chapitre propose une nouvelle métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> maillage dynamique<br />
<strong>3D</strong>, appelée Frame-based Animated Mesh <strong>Compression</strong> (FAMC). Le co<strong>de</strong>ur FAMC<br />
offre une architecture flexible <strong>et</strong> modulaire combinant une stratégie <strong>de</strong> compensation <strong>de</strong><br />
mouvement par modèle <strong>de</strong> skinning avec différentes techniques <strong>de</strong> codage par transformées<br />
<strong>de</strong>s erreurs résiduelles. En outre, l’approche proposée supporte un ensemble <strong>de</strong> fonctionnalités<br />
telles que le streaming, la scalabilité (temporelle, spatiale <strong>et</strong> en qualité), le codage<br />
d’attributs photométriques <strong>et</strong> <strong>de</strong> la compression quasi-sans pertes.<br />
Mots clés : FAMC, compression, maillage dynamique <strong>3D</strong>, standard MPEG-4.<br />
169
170 L’approche FAMC : la nouvelle spécification MPEG-4<br />
7.1 Schéma global<br />
Le schéma synoptique <strong>de</strong> l’algorithme <strong>de</strong> compression FAMC est présenté Figure 7.1.<br />
Figure 7.1 : Schéma synoptique du co<strong>de</strong>ur FAMC. En grisé, les modules optionnels.<br />
Tout d’abord, la première trame <strong>de</strong> la séquence est compressée à l’ai<strong>de</strong> d’un co<strong>de</strong>ur <strong>de</strong><br />
maillage statique. Toute approche <strong>de</strong> compression <strong>de</strong> maillage statique peut être ici exploitée.<br />
Pour nos expérimentations, nous avons prévilégié leco<strong>de</strong>urTFANproposéauChapitre 2.<br />
Le module <strong>de</strong> générationdumodèle <strong>de</strong> peau (skinning) exploite la procédure<strong>de</strong>segmentation<br />
hiérarchique présentée dans la Section 5.1. Ici, les somm<strong>et</strong>s du maillage sont partitionnés<br />
en un ensemble <strong>de</strong> clusters, <strong>de</strong>façon à ce que le mouvement <strong>de</strong> chacun puisse être décrit par<br />
une unique transformée affine <strong>3D</strong>. Un modèle <strong>de</strong> mouvement affine est alors associé <strong>de</strong>manière<br />
optimale àchaquecluster <strong>et</strong> pour chaque trame (cf. Section 5.2.1). Ce modèle est alors exploité<br />
dans l’étape <strong>de</strong> compensation <strong>de</strong> mouvement, le mouvement <strong>de</strong> chaque somm<strong>et</strong> étant exprimé<br />
comme une combinaison linéaire pondérée <strong>de</strong>s mouvements <strong>de</strong>s différentes parties (cf. Section<br />
5.2.2).<br />
Notons, que le mouvement affine est toujours estimé par rapport àlapremière trame <strong>de</strong><br />
l’animation afin <strong>de</strong> :<br />
1. Perm<strong>et</strong>tre un accès aléatoire aux trames <strong>de</strong> l’animation,<br />
2. Gérer efficacement les pertes d’information dans le contexte <strong>de</strong> transmission en environnements<br />
bruités.<br />
Leserreursrésiduelles <strong>de</strong> compensation <strong>de</strong> mouvement sont finalement codées à l’ai<strong>de</strong> d’une<br />
transformée temporelle ou spatio-temporelle. Une <strong>de</strong>rnière étape<strong>de</strong>prédiction hiérarchique
7.2 Co<strong>de</strong>ur arithmétique avec contexte CABAC 171<br />
peut être optionnellement appliquée. Celle-ci exploite une décomposition en niveaux hiérarchiques<br />
du maillage, adaptée à une prédiction spatio-temporelle locale qui assure la scalabilité spatiale<br />
du flux FAMC.<br />
Dans nos expérimentations, nous avons r<strong>et</strong>enu les transformées suivantes :<br />
• l’i<strong>de</strong>ntité pour perm<strong>et</strong>tre un codage uniquement par prédiction hiérarchique,<br />
• la DCT (Discr<strong>et</strong>e Cosine Transform) bien connue pour ses propriétés <strong>de</strong> concentration<br />
<strong>de</strong> l’énergiedusignalenunnombreréduit <strong>de</strong> coefficients,<br />
• la transformée en on<strong>de</strong>l<strong>et</strong>tes (TO) implantée par schéma <strong>de</strong> lifting [180], pour sa<br />
capacité d’allier compacité <strong>de</strong>représentation <strong>et</strong> faible complexité <strong>de</strong> calcul, ainsi que<br />
pour le support du codage quasi-sans perte,<br />
• une décomposition par ACP, pour l’optimalité <strong>de</strong>lareprésentation.<br />
Notons la gran<strong>de</strong> flexibilité <strong>de</strong> l’architecture modulaire proposée qui rend possible l’intégration<br />
<strong>de</strong> plusieurs métho<strong>de</strong>s, pouvant répondre àdifférentes contraintes d’application.<br />
Quelquesoitl<strong>et</strong>yped’information(paramètres du modèle <strong>de</strong> skinning, coefficients spectraux...),<br />
les différents éléments <strong>de</strong> la représentation FAMC sont codés à l’ai<strong>de</strong> du co<strong>de</strong>ur<br />
arithmétique binaire adaptatif avec contextes - CABAC (Context-based Adaptive Binary Coding).<br />
Pour faciliter la compréhension <strong>de</strong> la suite <strong>de</strong>s développements présentés dans ce chapitre,<br />
présentons en premier lieu le co<strong>de</strong>ur CABAC, avec ses principes <strong>et</strong> différents mo<strong>de</strong>s <strong>de</strong> fonctionnement.<br />
7.2 Co<strong>de</strong>ur arithmétique avec contexte CABAC<br />
Afin d’assurer un codage binaire efficace <strong>et</strong> <strong>de</strong> faible complexité <strong>de</strong> calcul, nous avons adopté<br />
le co<strong>de</strong>ur arithmétique binaire CABAC r<strong>et</strong>enu par le standard <strong>de</strong> codage vidéo H.264/AVC<br />
[181] en raison <strong>de</strong> ses performances élevées.<br />
Le schéma fonctionnel du co<strong>de</strong>ur CABAC est présenté Figure 7.2. Il repose sur les trois<br />
étapes suivantes :<br />
1. Binarisation qui consiste à associer <strong>de</strong> façon unique à <strong>de</strong>s symboles non-binaires <strong>de</strong>s<br />
mots <strong>de</strong> co<strong>de</strong> binaires, d’une manière adaptée à leurs propriétés statistiques. Un principe<br />
bien connu en théorie <strong>de</strong> l’information est ici exploité : plus un symbole est fréquent, plus<br />
le co<strong>de</strong> binaire qui lui est associé est court.<br />
2. Modélisation <strong>de</strong>s contextes qui vise à adapter la probabilité d’apparition d’un symbole<br />
binaire à son contexte (e.g., type <strong>de</strong> l’information codée, valeurs <strong>de</strong>s symboles déjà<br />
traités dans un voisinage spatio-temporel...).<br />
3. Codage arithmétique binaire qui exploite une quantification sur quatre bits <strong>de</strong>s probabilités<br />
d’apparition <strong>de</strong>s symboles binaires obtenus àl’étape (1), ainsi que <strong>de</strong>s tables <strong>de</strong><br />
probabilités pré-calculées pour leur mise à jour adaptative.
172 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Figure 7.2 : Schéma fonctionnel du co<strong>de</strong>ur CABAC.<br />
Notonsqueleco<strong>de</strong>urCABACperm<strong>et</strong>également un codage direct <strong>de</strong>s symboles binaires<br />
(sans passer par le co<strong>de</strong>ur arithmétique) <strong>et</strong> ce afin <strong>de</strong> simplifier <strong>et</strong> d’accélérer le codage d’informations<br />
binaires caractérisées par <strong>de</strong>s répartitions équiprobables (e.g., bits <strong>de</strong> signe, bits les<br />
moins significatifs...). Au contraire, le codage arithmétique est en général utilisé dans le cas <strong>de</strong>s<br />
symboles présentant <strong>de</strong>s répartitions <strong>de</strong> probabilités concentrées autour <strong>de</strong> certaines valeurs,<br />
où une modélisation par contextes est efficace. Pour une présentation in extenso <strong>de</strong> CABAC,<br />
le lecteur est invité à consulter [181].<br />
L’intégration du co<strong>de</strong>ur CABAC dans la structure modulaire <strong>de</strong> FAMC nécessite <strong>de</strong> développer<br />
<strong>de</strong>s procédures <strong>de</strong> binarisation optimisées <strong>et</strong> adaptées aux composantes du flux FAMC (e.g.<br />
coefficients DCT/TO, poids d’animation, transformées affines...).<br />
D’une manière générale, l’objectif est d’associer à chaque symbole x d’une source d’information<br />
S, un mot <strong>de</strong> co<strong>de</strong> binaire b(x), d’une façon adaptée aux propriétés statistiques <strong>de</strong><br />
la source. Les symboles x prennent leurs valeurs dans un ensemble A, appelé alphab<strong>et</strong> <strong>de</strong> la<br />
source, <strong>et</strong> leurs probabilités d’apparition, notées p(x), sont supposées connues.<br />
Sans restreindre la généralité duproblème, considérons une source à symboles prenant <strong>de</strong>s<br />
valeurs entières, dans l’alphab<strong>et</strong> A = {0, 1, ..., X − 1}, avecX le nombre total <strong>de</strong>s symboles.<br />
Les différents schémas <strong>de</strong> binarisation adoptés ainsi que leurs principales propriétés sont<br />
présentés dans les sections suivantes.<br />
7.2.1 Schéma <strong>de</strong> binarisation à longueur fixe<br />
Le schéma <strong>de</strong> binarisation à longueur fixe - FL (Fixed Length) associe àtoutentierx ∈A<br />
sa représentation binaire sur ⌈log2(X)⌉ 1 bits. C<strong>et</strong>te procédure est illustrée dans le Tableau 7.1,<br />
pour un alphab<strong>et</strong> composé <strong>de</strong> cinq symboles. Les mots <strong>de</strong> co<strong>de</strong> étant <strong>de</strong> longueur constante,<br />
la binarisation FL est en générale utilisée pour <strong>de</strong>s alphab<strong>et</strong>s dont les symboles sont plus ou<br />
moins équiprobables.<br />
1. ⌈.⌉ : la fonction qui associe àunréel r le plus p<strong>et</strong>it entier n tel que n ≥ r.
7.2 Co<strong>de</strong>ur arithmétique avec contexte CABAC 173<br />
Valeur Co<strong>de</strong> FL binaire<br />
0 000<br />
1 001<br />
2 010<br />
3 001<br />
4 100<br />
5 101<br />
Table 7.1 : Schéma <strong>de</strong> binarisation FL pour l’alphab<strong>et</strong> A = {0, 1, 2, 3, 4, 5}.<br />
7.2.2 Schémas <strong>de</strong> binarisation Unary <strong>et</strong> Truncated Unary<br />
Le schéma <strong>de</strong> binarisation Unary associe àtoutentierx ≥ 0leco<strong>de</strong>binairecomposé d’une<br />
séquence <strong>de</strong> x bits <strong>de</strong> valeur 1 suivie d’un bit <strong>de</strong> terminaison <strong>de</strong> valeur 0.<br />
La binarisation Truncated Unary, notée TU, associée à une valeur 0 ≤ x
174 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Le co<strong>de</strong> EGk associé ausymbolx est défini par la concaténation <strong>de</strong> <strong>de</strong>ux co<strong>de</strong>s binaires :<br />
un co<strong>de</strong> préfixe <strong>et</strong> un co<strong>de</strong> suffixe.<br />
Le co<strong>de</strong> préfixe correspond àlareprésentation Unary <strong>de</strong> l’entier l(x) = log2(x/2 k +1) .<br />
Le co<strong>de</strong> suffixe est donné parlareprésentation FL (cf. Section 7.2.1) sur k +l(x) bits <strong>de</strong> l’entier<br />
x +2 k (1 − 2 l(x) ).<br />
Le Tableau 7.3 présente un exemple <strong>de</strong> binarisation pour le schéma EG0.<br />
Notons que la longueur du mot binaire associé ausymbolex a pour longueur lEGk(x) =<br />
2.l(x) +k + 1 bits. En inversant encore une fois la relation <strong>de</strong> Shannon, on peut déduire que<br />
le co<strong>de</strong> EGk est optimal pour un alphab<strong>et</strong> avec <strong>de</strong>s probabilités <strong>de</strong> la forme :<br />
∀ x ≥ 0, p(x) =2 −(2.l(x)+k+1) . (7.3)<br />
En particulier, le co<strong>de</strong> EG0 est optimal pour <strong>de</strong>s probabilités du type :<br />
∀ x ≥ 0, p(x) = 1<br />
2 .(x +1)−2 . (7.4)<br />
En pratique, le schéma <strong>de</strong> binarisation EG0 est exploité afin <strong>de</strong> co<strong>de</strong>r les erreurs résiduelles <strong>de</strong><br />
prédiction qui peuvent être modélisées efficacement par ce type <strong>de</strong> distribution [181].<br />
Valeur Co<strong>de</strong> EG0 binaire<br />
0 0<br />
1 100<br />
2 101<br />
3 11000<br />
4 11001<br />
5 11010<br />
.<br />
Table 7.3 : Schéma <strong>de</strong> binarisation EG0.<br />
7.2.4 Schéma <strong>de</strong> binarisation Unary/Exponential Golomb<br />
De manière similaire au schéma EGk, le schéma <strong>de</strong> binarisation Unary/Exponential Golomb<br />
d’ordre k <strong>et</strong> <strong>de</strong> longueur <strong>de</strong> préfixe X, noté UEG(k, C), associe également àtoutentierx ≥ 0<br />
une concaténation <strong>de</strong> <strong>de</strong>ux co<strong>de</strong>s binaires : un co<strong>de</strong> préfixe <strong>et</strong> un co<strong>de</strong> suffixe.<br />
Le co<strong>de</strong> préfixe est ici spécifié parlareprésentation TU <strong>de</strong> l’entier min(x, C).<br />
Le co<strong>de</strong> suffixe est vi<strong>de</strong> si x ≤ C. Dans le cas contraire (x >C), le co<strong>de</strong> suffixe correspond à<br />
la représentation EGk <strong>de</strong> l’entier (x−C−1). Le Tableau 7.4 présente un exemple <strong>de</strong> binarisation<br />
pour le schéma UEG(0, 6).<br />
Notonsqueleschéma <strong>de</strong> binarisation UEG(k, C) généraliseleschéma EGk (i.e. pour C =0<br />
on obtient exactement le EGk). Ce schéma est exploité dans [181] pour le codage <strong>de</strong>s coefficients<br />
DCT.<br />
.
7.3 <strong>Compression</strong> du modèle <strong>de</strong> mouvement 175<br />
Valeur Prefixe TU Suffixe EG0<br />
0 0<br />
1 10<br />
2 110<br />
3 1110<br />
4 11110<br />
5 111110<br />
6 111111<br />
7 111111 0<br />
8 111111 100<br />
9 111111 101<br />
10 111111 11000<br />
.<br />
.<br />
Table 7.4 : Schéma <strong>de</strong> binarisation UEG(0, 6).<br />
Cela complète la spécification <strong>de</strong>s schémas <strong>de</strong> binarisation CABAC utilisés pour le codage<br />
<strong>de</strong>s différents éléments <strong>de</strong> la représentation FAMC. Décrivons àprésent la méthodologie adoptée<br />
pour la compression du modèle<strong>de</strong>mouvementFAMC.<br />
7.3 <strong>Compression</strong> du modèle <strong>de</strong> mouvement<br />
Il s’agit en premier lieu <strong>de</strong> co<strong>de</strong>r le modèle <strong>de</strong> peau considéré.<br />
7.3.1 Codage du modèle <strong>de</strong> peau (skinning)<br />
Le modèle<strong>de</strong>peauFAMC(cf. Chapitre 5) est composé :<br />
1. D’une partition <strong>de</strong>s somm<strong>et</strong>s du maillage en clusters,<br />
2. D’un ensemble <strong>de</strong> transformées affines associées à la partition,<br />
3. De l’ensemble <strong>de</strong>s poids d’animation associés aux somm<strong>et</strong>s du maillage.<br />
Le schéma <strong>de</strong> compression FAMC associe à chaque type <strong>de</strong> données une métho<strong>de</strong> <strong>de</strong> codage<br />
adaptée, comme décrit dans les sections suivantes.<br />
7.3.1.1 Codage <strong>de</strong> la partition<br />
La partition Π = (πk)k∈{1,...,K} est stockée sous forme d’un tableau 1D associant àchaque<br />
somm<strong>et</strong> v l’in<strong>de</strong>x entier du cluster auquel il appartient. Afin <strong>de</strong> co<strong>de</strong>r ce tableau, FAMC exploite<br />
un codage par plages <strong>de</strong> valeurs (run-length encoding). Le principe consiste àreprésenter<br />
le tableau par un ensemble <strong>de</strong> couples (symbole, occurrence), comme illustré Figure 7.3 pour un<br />
exemple <strong>de</strong> maillage simple. L’occurrence d’un symbole est définie comme le nombre d’apparitions<br />
consécutives du symbole en question. La binarisation <strong>de</strong>s symboles <strong>et</strong> <strong>de</strong> leurs occurrences<br />
est effectuée en utilisant respectivement une représentation binaire FL <strong>et</strong> les co<strong>de</strong>s EG0.<br />
Notons que les performances d’un tel codage dépend <strong>de</strong> l’ordre <strong>de</strong> stockage <strong>de</strong>s somm<strong>et</strong>s<br />
dans le tableau. Etant donnés que <strong>de</strong>ux somm<strong>et</strong>s voisins ont une forte probabilité d’être dans<br />
.
176 L’approche FAMC : la nouvelle spécification MPEG-4<br />
le même cluster, leco<strong>de</strong>urFAMCréordonne les somm<strong>et</strong>s <strong>de</strong> manière à ce que la distance topologique<br />
2 entre les couples <strong>de</strong> somm<strong>et</strong>s du maillage soit au mieux préservée dans le tableau<br />
1D. Un tel problème, connu dans la littérature [184] sous le nom d’arrangement linéaire minimum<br />
(minimal linear arrangement), étant NP-compl<strong>et</strong> [184], nous proposons une solution<br />
sous-optimale, mais plus efficace en temps <strong>de</strong> calcul, qui consiste à exploiter l’ordre induit par<br />
le parcours <strong>de</strong> voisin en voisin <strong>de</strong>s somm<strong>et</strong>s du maillage présenté au Chapitre 2. En pratique,<br />
c<strong>et</strong>te heuristique donne <strong>de</strong>s résultats satisfaisants<br />
Figure 7.3 : Exemple <strong>de</strong> codage par plages <strong>de</strong> valeurs d’une partition, pour un maillage avec<br />
14 somm<strong>et</strong>s partitionnés en 3 clusters.<br />
7.3.1.2 Codage <strong>de</strong>s transformées affines<br />
Au lieu <strong>de</strong> co<strong>de</strong>r directement les coefficients réels <strong>de</strong>s transformées affines (A k i )k∈{1,...,K}<br />
i∈{1,...,T } ,nous<br />
avons opté pour une représentation à base <strong>de</strong> trajectoires <strong>de</strong> points. A partir <strong>de</strong> la première<br />
trame <strong>de</strong> la séquence (instant i =1)<strong>et</strong>pourchaquecluster, quatre points (Pn(1,k))n∈{1,...,4}<br />
sont dérivés àpartir<strong>de</strong>laboîte englobante du cluster considéré, comme décrit par les équations<br />
(7.5) <strong>et</strong> (7.6) (Figure 7.4) :<br />
P2(1,k)=<br />
⎛<br />
⎜<br />
⎝<br />
x k g<br />
+ dx<br />
y k g<br />
z k g<br />
1<br />
⎞<br />
P1(1,k)= 1 <br />
χ<br />
|πk|<br />
v∈πk<br />
v 1 =<br />
⎛<br />
⎟<br />
⎠ ,P3(1,k)=<br />
⎜<br />
⎝<br />
xk g<br />
yk g + dy<br />
zk g<br />
1<br />
⎛<br />
⎜<br />
⎝<br />
⎞<br />
x k g<br />
y k g<br />
z k g<br />
1<br />
⎞<br />
⎟<br />
⎠ , (7.5)<br />
⎛<br />
⎟<br />
⎠ ,P4(1,k)=<br />
⎜<br />
⎝<br />
z k g<br />
xk g<br />
yk g<br />
+ dz<br />
1<br />
⎞<br />
⎟<br />
⎠ . (7.6)<br />
Ici, |πk| désigne le nombre <strong>de</strong> somm<strong>et</strong>s <strong>de</strong> la partie πk <strong>et</strong> dx, dy <strong>et</strong> dz les longueurs <strong>de</strong> la boîte<br />
2. La distance topologique entre <strong>de</strong>ux somm<strong>et</strong>s u <strong>et</strong> v est définie comme étant le nombre d’arêtes qui compose<br />
le chemin le plus court (au sens <strong>de</strong> Dijkstra [183]) entre u <strong>et</strong> v.
7.3 <strong>Compression</strong> du modèle <strong>de</strong> mouvement 177<br />
Figure 7.4 : Les quatre points utilisés pour la représentation du mouvement affine d’un cluster.<br />
englobante selon les trois axes x, y <strong>et</strong> z, définies respectivement par :<br />
.<br />
dx =max|χ<br />
v∈πk<br />
v,x<br />
1 − x k g|, (7.7)<br />
dy =max|χ<br />
v∈πk<br />
v,y<br />
1 − y k g |, (7.8)<br />
dz =max|χ<br />
v∈πk<br />
v,z<br />
1 − z k g |. (7.9)<br />
A chaque instant i ≥ 2, les positions <strong>de</strong>s quatre points caractéristiques sont données par :<br />
∀ n ∈{1, ..., 4}, Pn(i, k) =A k i Pn(1,k). (7.10)<br />
C<strong>et</strong>te représentation étend au cas <strong>3D</strong> celle déjà utilisée pour le codage <strong>de</strong>s mosaïques 2D<br />
par le standard MPEG-4 (partie vidéo). Elle perm<strong>et</strong> <strong>de</strong> s’affranchir <strong>de</strong>s problèmes <strong>de</strong> stabilité<br />
<strong>de</strong>s coefficients affines, tout en restant équivalente, en terme <strong>de</strong> représentation <strong>de</strong> mouvement,<br />
à celle par coefficients.<br />
Les trajectoires Pn(i, k) ainsi obtenues sont ensuite considérées comme signaux 1D <strong>et</strong> compressées<br />
en exploitant une transformée DCT, comme décrit Section 7.4.1.<br />
7.3.1.3 Codage <strong>de</strong>s poids d’animation<br />
La Figure 7.5 décrit la processus <strong>de</strong> codage <strong>de</strong>s poids d’animation associés aux somm<strong>et</strong>s du<br />
maillage. Tout d’abord les relations d’adjacence entre clusters sont calculées en exploitant la<br />
connectivité du maillage ainsi que la partition associée au modèle <strong>de</strong> skinning. Ici, <strong>de</strong>ux clusters<br />
πk1 <strong>et</strong> πk2 sont dit voisins si <strong>et</strong> seulement si il existe une arête e =(v1,v2) telquev1∈πk1 <strong>et</strong> v2 ∈ πk2. Rappelons que ces relations d’adjacences sont utilisées pour limiter le calcul <strong>de</strong>s<br />
poids d’animation d’un somm<strong>et</strong> v à ceux associés aux parties voisines (cf. Section 5.2.2).<br />
Une fois les poids d’animation optimaux calculés, une procédure <strong>de</strong> sélection est appliquée.<br />
Notons que les poids optimaux offrent toujours <strong>de</strong> meilleures performances que les poids unitaires.<br />
Néanmoins, dans le cas <strong>de</strong> somm<strong>et</strong>s influencés majoritairement par le mouvement d’une<br />
seule partie, les poids optimaux <strong>et</strong> les poids unitaires sans quasi-i<strong>de</strong>ntiques. Comme <strong>de</strong> plus les<br />
poids unitaires peuvent être générés à partir <strong>de</strong> l’information <strong>de</strong> partition sans coût <strong>de</strong> codage<br />
supplémentaire, il est plus efficace <strong>de</strong> les considérer au lieu co<strong>de</strong>r <strong>de</strong>s poids optimaux. Ainsi, le<br />
co<strong>de</strong>ur FAMC compare-t-il les performances du modèle <strong>de</strong> skinning avec <strong>et</strong> sans poids d’animation<br />
pour un somm<strong>et</strong> donné. Le principe est <strong>de</strong> co<strong>de</strong>r les poids d’un somm<strong>et</strong> si <strong>et</strong> seulement
178 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Figure 7.5 : Codage <strong>de</strong>s poids d’animation.<br />
si cela perm<strong>et</strong> d’atteindre un gain minimal en terme d’erreur Eχ. Unbit,ditbit <strong>de</strong> sélection,est<br />
alors associé à chaque somm<strong>et</strong> pour indiquer si ses poids sont codés ou non. C<strong>et</strong>te information<br />
est compressée directement en utilisant le co<strong>de</strong>ur CABAC. Les poids d’animation <strong>de</strong>s somm<strong>et</strong>s<br />
r<strong>et</strong>enus sont ensuite quantifiés uniformément, binarisés en plans <strong>de</strong> bits (bit planes) <strong>et</strong>codés<br />
avec CABAC.<br />
Enfin, une information décrivant pour chaque cluster le nombre <strong>de</strong> ses voisins <strong>et</strong> leurs in<strong>de</strong>x<br />
est envoyée au déco<strong>de</strong>ur. FAMC co<strong>de</strong> ces relations <strong>de</strong> voisinage en appliquant une binarisation<br />
EG0 pour les nombres <strong>de</strong> voisins <strong>et</strong> une représentation FL pour les in<strong>de</strong>x avant <strong>de</strong> les compresser<br />
avec CABAC.<br />
Afin <strong>de</strong> mieux tirer profit <strong>de</strong>s éventuelles corrélations entre valeurs codées, un contexte<br />
binaire différent est défini pour chacun <strong>de</strong>s éléments d’information suivants : 1) poids d’animation,<br />
2) la séquences <strong>de</strong>s bits <strong>de</strong> sélection, 3) nombres <strong>de</strong>s voisins <strong>de</strong>s clusters <strong>et</strong> leurs in<strong>de</strong>x.<br />
Ces éléments <strong>de</strong> représentation décrivent complètement le codage du modèle <strong>de</strong> peau utilisé.<br />
Détaillons maintenant le codage <strong>de</strong>s erreurs résiduelles <strong>de</strong> prédiction.<br />
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles<br />
Leserreurs<strong>de</strong>prédiction après compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning, notées<br />
ev i =(ev,x i ,e v,y<br />
i ,e v,z<br />
i , 0), sont définies par :<br />
∀ v ∈{1, ..., V }, e v i = χvi − χv i . (7.11)<br />
De façon similaire, les erreurs <strong>de</strong> prédiction associées aux normales <strong>de</strong>s somm<strong>et</strong>s, notées<br />
nv i =(nv,x i ,n v,y<br />
i ,n v,z<br />
i , 0), sont définies par :<br />
Soit (Λv }<br />
i )v∈{1,...,V<br />
i∈{1,...,F }<br />
∀ v ∈{1, ..., V }, n v i = N v i − Ñ v i . (7.12)<br />
l’ensemble <strong>de</strong>s attributs photométriques (couleurs, coordonnées 2D <strong>de</strong><br />
texture...) associés au somm<strong>et</strong>s du maillage dynamique. Les erreurs <strong>de</strong> prédiction correspondantes<br />
sont définies par :<br />
∀ v ∈{1, ..., V }, a v i =Λvi − Λv1 . (7.13)
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 179<br />
Quel que soit le signal géométrique ou photométrique considéré, l’étape <strong>de</strong> compensation<br />
<strong>de</strong> mouvement accomplit une première décorrélation <strong>de</strong> ses échantillions. Toutefois, afin <strong>de</strong><br />
prendre en compte les éventuelles corrélations résiduelles, nous avons considéré une étape<br />
supplémentaire <strong>de</strong> décorrélation, à base d’une transformée temporelle ou spatio-temporelle,<br />
couplée avec une prédiction spatiale ou spatio-temporelle locale.<br />
Une première approche proposée est fondée sur <strong>de</strong>s transformées DCT ou en on<strong>de</strong>l<strong>et</strong>tes<br />
(TO), dont les propriétés <strong>de</strong> décorrélation du signal sont bien connues.<br />
7.4.1 <strong>Compression</strong> par DCT/TO<br />
Dans ce qui suit nous proposons <strong>de</strong> co<strong>de</strong>r les erreurs résiduelles <strong>de</strong> prédiction associées aux<br />
somm<strong>et</strong>s du maillage soit par une transformée DCT soit par une transformée en on<strong>de</strong>l<strong>et</strong>tes<br />
bi-orthogonales (4,2) [185] avec implantation en entiers [180]. Le choix d’une implantation en<br />
entiers vise à assurer la fonctionnalité <strong>de</strong> codage quasi-sans perte, où une borne sur l’erreur<br />
maximale <strong>de</strong> reconstruction doit être garantie. C<strong>et</strong>te condition n’est pas assurée par la DCT<br />
qui garantit seulement une borne sur l’erreur quadratique moyenne.<br />
7.4.1.1 Tansformée DCT<br />
La transformée DCT consiste à exprimer un vecteur x =(x0,x1,...,xn−1) t ∈ Rn dans la<br />
base orthonormée définie par les vecteurs (bi(k)) k∈{1,...,n−1}<br />
i∈{1,...,n−1} suivants :<br />
bi(k) =<br />
b0(k) = 1<br />
√ n , (7.14)<br />
<br />
2<br />
n cos<br />
<br />
(2k +1)i<br />
π . (7.15)<br />
2n<br />
Le vecteur s =(s0,s1,...,sn−1) t ∈ R n image <strong>de</strong> x par la transformée DCT est donné par:<br />
n−1<br />
∀i ∈{1,...,n− 1}, s(i) = x(i) bi(k). (7.16)<br />
Etant une transformée orthogonale, la transformée DCT est une isométrie. Elle conserve<br />
donc la norme euclidienne <strong>et</strong> adm<strong>et</strong> une transformée inverse.<br />
7.4.1.2 Transformée en on<strong>de</strong>l<strong>et</strong>tes biorthogonales (4,2)<br />
Dans ce travail, nous avons considéré la transformée en on<strong>de</strong>l<strong>et</strong>tes bi-orthogonales (4,2)<br />
[185] avec implantation en entiers introduite dans [180].<br />
Le principe du schéma <strong>de</strong> lifiting est <strong>de</strong> transformer un signal x =(x0,x1,...,x2n) ∈ N 2n<br />
en un signal <strong>de</strong> plus faible résolution g =(g0,g1,...,gn) ∈ N n <strong>et</strong> un vecteur <strong>de</strong> détails d =<br />
(d0,d1,...,dn) ∈ N n .<br />
Le vecteur d est obtenu grâce à une étape<strong>de</strong>prédiction qui exploite les échantillions du<br />
signal x ayant <strong>de</strong>s indices pairs pour prédire les échantillions avec <strong>de</strong>s indices impairs. Plus<br />
précisément, le vecteur <strong>de</strong> détails d est obtenu comme suit :<br />
k=0<br />
∀i ∈{1, ..., n} di = x2i+1 −⌊Pi(x0,x2,x4 ...,x2k,...,x2n)⌋ , (7.17)
180 L’approche FAMC : la nouvelle spécification MPEG-4<br />
où Pi représente une fonction <strong>de</strong> prédiction. Dans notre cas, la fonction Pi est donnée par :<br />
Pi(x0,x2,x4 ...,x2k,...,x2n) =βx2i−2 + αx2i + αx2i+2 + βx2i+4, (7.18)<br />
avec α =0.5625 <strong>et</strong> β = −0.0625 [185].<br />
Le vecteur g est obtenu en lissant les échantillons pairs <strong>de</strong> x grâce à une procédure <strong>de</strong> mise<br />
à jour qui exploite le vecteur d. Ici,gest exprimé par:<br />
∀i ∈{1, ..., n} gi = x2i + ⌊Ui(d0,d1,...,dn)⌋ , (7.19)<br />
où Ui est une fonction <strong>de</strong> mise à jour. La fonction <strong>de</strong> mise à jour correspondante à la transformée<br />
bi-orthogonale (4,2) est la suivante :<br />
Ui(d0,d1,...,dn) = 1<br />
2 di−1 + 1<br />
2 di. (7.20)<br />
La transformée inverse <strong>de</strong> ce shéma <strong>de</strong> lifitng est directe. En eff<strong>et</strong>, en inversant la phase <strong>de</strong><br />
mise à jour, on obtient les échantillions paires, comme décrit dans l’équation suivante :<br />
∀i ∈{1, ..., n} x2i = gi −⌊Ui(d0,d1,...,dn)⌋ . (7.21)<br />
Les échantillons impairs sont ensuite générés àleurtourenexploitantlarelationsuivante:<br />
∀i ∈{1, ..., n} x2i+1 = di + ⌊Pi(x0,x2,x4 ...,x2k,...,x2n)⌋ . (7.22)<br />
Afin <strong>de</strong> générer plusieurs niveaux <strong>de</strong> résolution, la décomposition précé<strong>de</strong>mment décrite est<br />
appliquée itérativement aux signaux g obtenus.<br />
7.4.1.3 Prédiction spatiale <strong>de</strong>s coéfficients spectraux<br />
Le principe consiste àconsidérer les trois séquences d’erreurs associées à chaque somm<strong>et</strong> v,<br />
(e v,x<br />
i )i,(e v,y<br />
i )i <strong>et</strong> (e v,z<br />
i )i comme <strong>de</strong>s signaux temporels. Une transformée DCT/TO 1D temporelle<br />
est appliquée sur chacune <strong>de</strong>s séquences. Les coefficients spectraux obtenus sont alors quantifiés,<br />
ensuite prédits <strong>et</strong> enfin codés en utilisant CABAC.<br />
Notons que dans le cas du codage par on<strong>de</strong>l<strong>et</strong>tes, l’étape <strong>de</strong> quantification est appliquée<br />
dans l’espace <strong>de</strong>s erreurs résiduelles, antérieurement à la transformée. Cela est nécessaire pour<br />
pouvoir exploiter le schéma <strong>de</strong> lifting avec une implantation en entiers.<br />
Soient (c v,x<br />
i ,c v,y<br />
i ,c v,z<br />
i<br />
)v∈{1,...,V }<br />
i∈{1,...,T }<br />
les coefficients entiers obtenus. S’agissant <strong>de</strong> transformées<br />
temporelles, <strong>de</strong>s corrélations spatiales résiduelles peuvent être présentes. Afin <strong>de</strong> les éliminer,<br />
une étape finale <strong>de</strong> prédiction spatiale <strong>de</strong>s coéfficients spectraux est appliquée.<br />
La stratégie <strong>de</strong> prédiction <strong>de</strong>s coefficients proposée consiste àprédire les coefficients <strong>de</strong><br />
basses fréquences associés à un somm<strong>et</strong> v à partir <strong>de</strong> ceux d’un somm<strong>et</strong> déjà codév ′ par une<br />
simple prédiction <strong>de</strong>lta. Notons δ(v) =(v−v ′ )ladifférence <strong>de</strong>s in<strong>de</strong>x entre le somm<strong>et</strong> àprédire<br />
<strong>et</strong> le somm<strong>et</strong> choisi comme prédicteur, par n(v) lenombre<strong>de</strong>coefficients<strong>de</strong>bassesfréquences à<br />
prédire <strong>et</strong> par P δ(v)<br />
n(v) le prédicteur associé au somm<strong>et</strong> v. Lesrésidus (rv i )i∈{1,...,T } <strong>de</strong> la prédiction<br />
<strong>de</strong>lta obtenus pour le somm<strong>et</strong> v en appliquant le prédicteur P δ(v)<br />
n(v) sont donnés par :<br />
avec<br />
∀ v ∈{1, ..., V }, r v i = c v i −P δ(v)<br />
n(v) , (7.23)<br />
P δ(v)<br />
n(v) =<br />
v−δ(v)<br />
ci , si i ≤ n(v)<br />
0 , sinon<br />
. (7.24)
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 181<br />
7.4.1.4 Codages <strong>de</strong>s coefficient spectraux<br />
Afin <strong>de</strong> co<strong>de</strong>r les paramètres δ(v) <strong>et</strong>n(v) duprédicteur, un bit, dit <strong>de</strong> saut (skip), est<br />
codé afin d’indiquer au déco<strong>de</strong>ur si le prédicteur du somm<strong>et</strong> courant v est in<strong>de</strong>ntique ou non<br />
à celui <strong>de</strong> <strong>de</strong>rnier somm<strong>et</strong> codé (v− 1). Si P δ(v)<br />
n(v) = Pδ(v−1)<br />
n(v−1) alors la différence d’in<strong>de</strong>x δ(v) est<br />
binarisée en utilisant une représentation UEG(0, 2). Enfin, la différence (n(v) − n(v − 1)) entre<br />
les nombres <strong>de</strong> coefficients basses fréquences associés respectivement aux somm<strong>et</strong>s v <strong>et</strong> (v − 1)<br />
est binarisée en exploitant le schéma UEG(0, 2) <strong>et</strong> codée avec CABAC.<br />
Des contextes binaires différents sont utilisés lors du codage <strong>de</strong>s bits <strong>de</strong> saut, <strong>de</strong>s différences<br />
d’in<strong>de</strong>x δ(v) <strong>et</strong><strong>de</strong>snombres<strong>de</strong>bassesfréquences prédits (n(v) − n(v − 1)).<br />
Le prédicteur P δ(v)<br />
n(f) associé au somm<strong>et</strong> v est déterminé <strong>de</strong>manière optimale, à l’ai<strong>de</strong> d’une<br />
procédure <strong>de</strong> recherche exhaustive selon les paramètres n(v) <strong>et</strong>δ(v) dans l’ensemble {1, ..., N =<br />
64}×{1, ..., T }.Leprédicteur sélectionné est celui qui minimise la taille du flux binaire CABAC<br />
obtenu après codage <strong>de</strong>s résidus (rv i )i∈{1,...,T }.<br />
Le codage <strong>de</strong>s résidus (r v,w<br />
i ) x∈x,y,z<br />
i∈{1,...,T }<br />
afin d’indiquer si le résidu r v,w<br />
i<br />
indiquant s’il s’agit du <strong>de</strong>rnier résidu non null (i.e., r v,w<br />
k<br />
est effectué comme suit. Tout d’abord, un bit est codé<br />
est nul ou non. Pour tout coefficent non null, un <strong>de</strong>uxième bit<br />
=0,∀ k>i)estégalement codé.<br />
Enfin, pour tout résidu non nulle r v,w<br />
i , un bit <strong>de</strong> signe ainsi que sa valeur absolue sont également<br />
codés. Plus précisément, la quantité (|r v,w<br />
i |−1) est binarisée en exploitant une représentation<br />
du type UEG(0, 16) avec <strong>de</strong>s contextes binaires différents selon la position du bit du préfix<br />
Unary du co<strong>de</strong> associé. Notons que <strong>de</strong>s contextes binaires différents sont utilisés pour chaque<br />
type d’information <strong>et</strong> selon la position i du résidu en question.<br />
La troisième transformée que nous avons r<strong>et</strong>enue, décrite dans la section suivante, concerne<br />
une analyse en composante principales (ACP) du signal géométrique.<br />
7.4.2 <strong>Compression</strong> par ACP<br />
Pour <strong>de</strong>s raisons évi<strong>de</strong>ntes <strong>de</strong> complexité <strong>de</strong> calcul, la compression par ACP est appliquée<br />
sur chaque partie <strong>de</strong> la partition Π = (πk)k∈{1,...,K} du maillage obtenue lors <strong>de</strong> la construction<br />
du modèle <strong>de</strong> skining (cf. Section 5.1).<br />
Contrairement à l’approche CPCA proposée dans [134], la décomposition ACP est ici appliquée<br />
dans l’espace <strong>de</strong>s formes <strong>et</strong> non dans l’espace <strong>de</strong>s trajectoires (cf. Section 4.5.2). Nous<br />
optimisons également l’étape <strong>de</strong> quantification en introduisant une procédure adaptative analogue<br />
à celle proposée dans APCA [131, 132].<br />
Soient Ax k , Ay<br />
k <strong>et</strong> Azk aux somm<strong>et</strong>s du cluster πk = {pk 1 ,pk2 , ..., pkq les matrices décrivant les erreurs résiduelles <strong>de</strong> prédiction associées<br />
} <strong>et</strong> définies par :<br />
A x k =<br />
⎛<br />
e<br />
⎜<br />
⎝<br />
pk 1 ,x<br />
1<br />
e pk 2 ,x<br />
1<br />
e pk 3 ,x<br />
1<br />
.<br />
e pkq ,x<br />
1<br />
e pk 1 ,x<br />
2<br />
e pk 2 ,x<br />
2<br />
e pk 3 ,x<br />
2<br />
.<br />
e pkq ,x<br />
2<br />
e pk 1 ,x<br />
3 ... e pk 1 ,x<br />
T<br />
e pk 2 ,x<br />
3 ... e pk 2 ,x<br />
T<br />
e pk 3 ,x<br />
3 ... e pk 3 ,x<br />
T<br />
.<br />
.<br />
e pk q ,x<br />
3 ... e pk q ,x<br />
T<br />
.<br />
⎞<br />
⎟ , (7.25)<br />
⎟<br />
⎠
182 L’approche FAMC : la nouvelle spécification MPEG-4<br />
A y<br />
k =<br />
⎛<br />
e<br />
⎜<br />
⎝<br />
pk 1 ,y<br />
1 e pk 1 ,y<br />
2 e pk 1 ,y<br />
3 ... e pk 1 ,y<br />
T<br />
e pk 2 ,y<br />
1 e pk 2 ,y<br />
2 e pk 2 ,y<br />
3 ... e pk 2 ,y<br />
T<br />
e pk 3 ,y<br />
1 e pk 3 ,y<br />
2 e pk 3 ,y<br />
3 ... e pk 3 ,y<br />
T<br />
. . . . .<br />
e pkq ,y<br />
1 e pkq ,y<br />
2 e pkq ,y<br />
3 ... e pkq ,y<br />
⎞<br />
⎟ <strong>et</strong> (7.26)<br />
⎟<br />
⎠<br />
T<br />
A z k =<br />
⎛<br />
e<br />
⎜<br />
⎝<br />
pk 1 ,z<br />
1 e pk 1 ,z<br />
2 e pk 1 ,z<br />
3 ... e pk 1 ,z<br />
T<br />
e pk 2 ,z<br />
1 e pk 2 ,z<br />
2 e pk 2 ,z<br />
3 ... e pk 2 ,z<br />
T<br />
e pk 3 ,z<br />
1 e pk 3 ,z<br />
2 e pk 3 ,z<br />
3 ... e pk 3 ,z<br />
T<br />
. . . . .<br />
e pkq ,z<br />
1 e pk ⎞<br />
⎟ . (7.27)<br />
⎟<br />
⎠<br />
q ,z<br />
2<br />
e pk q ,z<br />
3 ... e pk q ,z<br />
T<br />
Dans la suite, pour simplifier les notations, désignons par A, l’une <strong>de</strong>s trois matrices Ax k ,<br />
A y<br />
k <strong>et</strong> Azk .SoitC = AAt la matrice <strong>de</strong> covariance associée. S’agissant d’une matrice carrée,<br />
symétrique <strong>et</strong> positive, C∈MV (R) (V étant le nombre <strong>de</strong> somm<strong>et</strong>s du maillage dynamique)<br />
est diagonalisable à l’ai<strong>de</strong> d’une matrice orthogonale O :<br />
C = O t ⎛<br />
σ1<br />
⎜ 0<br />
⎜<br />
× ⎜ .<br />
⎜<br />
⎝ .<br />
0<br />
σ2<br />
0<br />
.<br />
0<br />
0<br />
σ3<br />
0<br />
...<br />
...<br />
...<br />
. ..<br />
0<br />
0<br />
0<br />
.<br />
avec 0 ≤ σV ≤ σV −1 ≤ ...≤ σ2 ≤ σ1.<br />
.<br />
.<br />
. 0 σV<br />
⎞<br />
⎟ × O, (7.28)<br />
⎟<br />
⎠<br />
Les vecteurs colonnes <strong>de</strong> la matrice O, notés (Oi)i∈{1,...,V } sont les vecteurs propres <strong>de</strong> C.<br />
Soit (σi)i∈{1,...,V } les valeurs propres associées.<br />
La décomposition décrite par l’équation (7.28) est connue sous le nom d’analyse en composantes<br />
principales ou <strong>de</strong> transformée <strong>de</strong> Karhunen-Loève (KL). Le principe <strong>de</strong> l’ACP perm<strong>et</strong><br />
d’obtenir une approximation optimale, au sens <strong>de</strong> la norme euclidienne, <strong>de</strong>s vecteurs<br />
colonnes (Ai)i∈{1,...,T } ∈ RV <strong>de</strong> la matrice A dans un sous-espace <strong>de</strong> dimension réduite N, avec<br />
1 ≤ N ≤ V [82].<br />
Soient ON le sous-espace vectoriel <strong>de</strong> dimension N engendré par les vecteurs propres<br />
(Oi)i∈{1,...,N} <strong>et</strong> PON la projection orthogonale sur ON définie dans RV . Quel que soit le sousespace<br />
vectoriel EN <strong>de</strong> RV , la projection PEN <strong>de</strong>s vecteurs (Ai)i∈{1,...,V } sur ce sous-espace<br />
satisfait la relation suivante :<br />
T<br />
Ai − PON (Ai) 2 ≤<br />
i=1<br />
T<br />
Ai − PEN (Ai) 2 . (7.29)<br />
La projection PON obtenue par ACP assure une représentation optimale au sens <strong>de</strong> la norme eu-<br />
clidienne <strong>de</strong>s vecteurs (Ai)i∈{1,...,V } dans un sous-espace (dimension inférieure). C<strong>et</strong>te propriété<br />
est connue sous le nom <strong>de</strong> réduction <strong>de</strong> dimensionnalité.<br />
En pratique, les vecteurs propres <strong>de</strong> l’ACP sont calculés en appliquant une décomposition<br />
en valeurs singulières (SVD - Singular Value Decomposition) <strong>de</strong> la matrice A. SoientU, R <strong>et</strong><br />
i=1
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 183<br />
W les trois matrices <strong>de</strong> la décomposition SVD décrites par le théorème 5.2.1. Ces matrices<br />
vérifient l’équation suivante :<br />
A = U × W × R t . (7.30)<br />
Notons par (Ui)i∈{1,...,T } <strong>et</strong> (Ri)i∈{1,...,T } les vecteurs colonnes <strong>de</strong>s matrices U <strong>et</strong> R. Comme<br />
les matrices U, R <strong>et</strong> W sont respectivement orthogonale par colonnes, orthogonale <strong>et</strong> diagonale<br />
<strong>et</strong> en exploitant l’équation (7.30), nous pouvons directement déduire les relations suivantes :<br />
C×U = A × A t × U<br />
=(U × W × R t ) × (R × W × U t )U<br />
= UW 2 .<br />
Cela démontre que les vecteurs (Ui)i∈{1,...,T } sont les vecteurs propres <strong>de</strong> C.<br />
(7.31)<br />
Le principe <strong>de</strong> l’algorithme <strong>de</strong> compression <strong>de</strong> la matrice A que nous avons adopté repose<br />
sur la représentation SVD définie par les trois matrices U, R <strong>et</strong> W .<br />
La décomposition SVD décrite par l’équation (7.30) peut être reformulée comme suit :<br />
⎛<br />
w11<br />
⎜<br />
0<br />
⎜<br />
A =(U1U2 ...UT ) × ⎜ .<br />
⎜<br />
⎝ .<br />
0<br />
w22<br />
0<br />
.<br />
0<br />
0<br />
w33<br />
0<br />
...<br />
...<br />
...<br />
. ..<br />
0<br />
0<br />
0<br />
.<br />
⎞ ⎛<br />
R<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ × ⎜<br />
⎟ ⎜<br />
⎠ ⎝<br />
t 1<br />
Rt 2<br />
Rt 3<br />
.<br />
⎞<br />
⎟ T<br />
⎟ =<br />
⎟<br />
⎠ i=1<br />
.<br />
.<br />
. 0 wVV<br />
R t T<br />
wiiUiR t i . (7.32)<br />
L’équation (7.32) montre que la contribution <strong>de</strong>s vecteurs Ui <strong>et</strong> Ri dans la construction <strong>de</strong> la<br />
matrice A est pondérée par la valeur singulière wii. Comme suggéré dans [131, 132], il paraît<br />
alors naturel <strong>de</strong> quantifier plus finement les vecteurs singuliers associésauxplusgran<strong>de</strong>svaleurs<br />
singulières. Les valeurs singulières (wii)i∈{1,...,T } ayant une gamme <strong>de</strong> variation relativement<br />
importante (avec un rapport entre la plus gran<strong>de</strong> <strong>et</strong> la plus p<strong>et</strong>ite valeur singulière <strong>de</strong> l’ordre<br />
<strong>de</strong> 106 ), celles-ci sont codées sans perte, afin d’éviter une quantification trop brutale, pouvant<br />
conduire à <strong>de</strong>s importantes distorsions.<br />
Analysons àprésent plus en détail l’eff<strong>et</strong> <strong>de</strong> la quantification <strong>de</strong>s vecteurs Ui <strong>et</strong> Ri sur les<br />
distorsions <strong>de</strong> la représentation.<br />
7.4.2.1 Distorsion <strong>de</strong> quantification<br />
Soit Qi le quantificateur scalaire uniforme <strong>de</strong> pas δi appliqué individuellement àchaque<br />
composante <strong>de</strong>s <strong>de</strong>ux vecteurs Ui <strong>et</strong> Ri, défini par :<br />
où ⌊α⌋ désigne la partie entière d’un réel α.<br />
Qi : R → R<br />
x ↦→<br />
x<br />
δi<br />
<br />
δi<br />
, (7.33)<br />
Supposons que les coefficients réels (uij) j <strong>et</strong> (rij) j <strong>de</strong>s <strong>de</strong>ux vecteurs Ui <strong>et</strong> Ri sont <strong>de</strong>s<br />
réalisations d’une même variable aléatoire réelle ξi, décrite par une fonction <strong>de</strong> <strong>de</strong>nsité <strong>de</strong><br />
probabilité f. La distorsion quadratique moyenne Di induite par le quantificateur Qi est donnée<br />
par [186] :
184 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Di = 1<br />
V<br />
= 1<br />
V<br />
V +∞<br />
j=1 −∞ f(uij)(uij − Qi(uij)) 2duij V (n+1)δi<br />
j=1 n∈Z f(uij)(uij − nδi) nδi<br />
2duij (7.34)<br />
Supposons que la fonction <strong>de</strong> <strong>de</strong>nsité <strong>de</strong> probabilité f est lisse <strong>de</strong> classe C ∞ .Pourun<br />
pas <strong>de</strong> quantification δi suffisamment p<strong>et</strong>it, la fonction f peut être alors considérée comme<br />
quasi-constante sur l’intervalle [nδi, (n +1)δi]. Il en résulte l’expression suivante :<br />
Di ≈ 1 V V j=1<br />
≈ 1 V V j=1<br />
≈ 1 V V j=1 n∈Z<br />
≈ δ2 <br />
i<br />
(n+1)δi<br />
12 n∈Z nδi<br />
≈ δ2 <br />
i +∞<br />
12 −∞ f(x)dx<br />
≈ δ2 i<br />
12<br />
<br />
n∈Z f(nδi) (n+1)δi<br />
nδi<br />
<br />
n∈Z f(nδi) 1<br />
3 (uij − nδi) 3 (n+1)δi<br />
nδi<br />
<br />
1 f(nδi)<br />
12 δ3 i<br />
f(x)dx<br />
(uij − nδi) 2 duij<br />
, (7.35)<br />
qui traduit la relation <strong>de</strong> dépendance quadratique <strong>de</strong> la distorsion Di d’un quantificateur<br />
uniforme avec le pas δi.<br />
Soit (Bi)i∈{1,...,T } l’ensemble <strong>de</strong>s matrices <strong>de</strong> taille (V × T )définies par :<br />
∀ i ∈{1, ..., F }, Bi = wiiUiR t i . (7.36)<br />
D’après l’équation (7.32), la matrice A s’exprime comme la somme <strong>de</strong>s matrices (Bi)i :<br />
A =<br />
T<br />
Bi. (7.37)<br />
i=1<br />
Soit Δi la distorsion quadratique moyenne induite sur Bi par la quantification conjointe <strong>de</strong>s<br />
vecteurs Ui <strong>et</strong> Ri. Enconsidérant les coefficients uij (respectivement rik) comme la réalisation<br />
d’une variable aléatoire ξUi (respectivement ξRi ), <strong>et</strong> en notant par g la <strong>de</strong>nsité <strong>de</strong> probabilité<br />
conjointe décrivant le couple <strong>de</strong> variables aléatoires (ξUi ,ξRi ), la distorsion Δi s’exprime comme :<br />
Δi = 1 V VF<br />
avec<br />
= w2 ii<br />
VF<br />
= w2 ii<br />
VF<br />
= w2 ii<br />
VF<br />
F +∞ +∞<br />
j=1 k=1 −∞ −∞ g(uij,rik) {wiiuijrik − wiiQi(uij)Qi(rik))} 2 duijdrik<br />
V F +∞ +∞<br />
j=1 k=1 −∞ −∞ g(uij,rik) {uijrik − Qi(uij)Qi(rik))} 2 duijdrik<br />
V F +∞ +∞<br />
j=1 k=1 −∞ −∞ g(uij,rik) {uijrik − (uij − τi(uij))(rik − τi(rik))} 2 duijdrik<br />
V F +∞ +∞<br />
j=1 k=1 −∞ −∞ g(uij,rik) {uijτi(rik) − τi(uij)τi(rik)+rikτi(uij))} 2 duijdrik<br />
τi(u) =u − Qi(u). (7.38)<br />
En supposant que les variables aléatoires rik, uij, τi(rik) <strong>et</strong>τi(uij) sontindépendantes <strong>et</strong><br />
que les moyennes <strong>de</strong> τi(rik) <strong>et</strong>τi(uij) sont nulles, nous obtenons :<br />
Δi = w2 <br />
ii V<br />
VF j=1<br />
= w2 ii<br />
VF<br />
+ w2 ii<br />
VF<br />
+ w2 ii<br />
VF<br />
F +∞ +∞<br />
k=1 −∞<br />
V <br />
F +∞<br />
j=1 k=1 −∞ u2 +∞<br />
ijf(uij)duij −∞ τ(rik) 2 <br />
f(rik)drik<br />
V <br />
F +∞<br />
j=1 k=1 −∞ τ(uij) 2 +∞<br />
f(uij)duij −∞ τ(rik) 2f(rik)drik V <br />
F +∞<br />
j=1 k=1 −∞ r2 ikf(rik)drik +∞<br />
−∞ τ(uij) 2 <br />
f(uij)duij<br />
−∞ g(uij,rik) u 2 ij τi(rik) 2 + τi(uij) 2 τi(rik) 2 + r 2 ik τi(uij) 2 ) duijdrik
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 185<br />
En exploitant maintenant l’approximation décrite par l’équation (7.35), on obtient :<br />
<br />
<br />
Δi ≈ w2 <br />
δ2 i 1<br />
ii 12 V<br />
V<br />
j=1<br />
+∞<br />
−∞ u2 ijf(uij)duij<br />
+ δ2 i<br />
12 × δ2 i<br />
12 + δ2 i<br />
12<br />
1<br />
F<br />
F<br />
k=1<br />
+∞<br />
−∞ r2 ik f(rik)drik<br />
(7.39)<br />
En outre, les vecteurs Ui <strong>et</strong> Vi sont unitaires (i.e. V<br />
j=1 u2 ij = 1 <strong>et</strong> T<br />
r=1 v2 ir = 1). En<br />
exploitant le théorème centrale limite, nous pouvons alors déduire les relations suivantes :<br />
On obtient ainsi :<br />
1<br />
V<br />
1<br />
F<br />
V<br />
+∞<br />
u<br />
j=1 −∞<br />
2 ijf(uij)duij F<br />
+∞<br />
v<br />
k=1<br />
−∞<br />
2 irf(rik)drik Δi ≈ w 2 ii<br />
<br />
<br />
= 1<br />
V<br />
(7.40)<br />
= 1<br />
. (7.41)<br />
F<br />
2 δi 12V + δ4 i<br />
144 + δ2 <br />
i<br />
. (7.42)<br />
12T<br />
La connaissance <strong>de</strong> l’expression <strong>de</strong> la distorsion Δi en fonction du pas <strong>de</strong> quantification δi nous<br />
perm<strong>et</strong> d’abor<strong>de</strong>r la problématique d’optimisation débit/distorsion. Plus précisément, il s’agit<br />
<strong>de</strong> déterminer le pas <strong>de</strong> quantifications δi minimisant la distorsion globale Δ = F<br />
i=1 Δi sous<br />
la contrainte d’un débit fixé.<br />
7.4.2.2 Optimisation débit/distorsion<br />
La sortie du quantificateur Qi est considérée comme une source discrète, caractérisée par<br />
entropie Hi, définie par :<br />
Hi = − <br />
pn log(pn), (7.43)<br />
où pn est la probabilité d’apparition du symbol nδi, donnée par :<br />
pn =<br />
n∈Z<br />
(n+1)δi<br />
nδi<br />
f(x)dx. (7.44)<br />
Sous les mêmes hypothèses <strong>de</strong> continuité C ∞ <strong>de</strong> la fonction f <strong>et</strong> <strong>de</strong> pas <strong>de</strong> quantification δi<br />
suffisamment p<strong>et</strong>it, nous pouvons approcher la probabilité pn par :<br />
pn ≈ δif(nδi). (7.45)<br />
L’entropie Hi peut être alors approchée par :<br />
Hi ≈− <br />
n∈Z δif(nδi)log(δif(nδi))<br />
≈ − log(δi) <br />
n∈Z δif(nδi) − <br />
<br />
n∈Z δif(nδi)log(f(nδi))<br />
<br />
(n+1)δi<br />
<br />
(n+1)δi<br />
≈−log(δi) n∈Z f(x)dx −<br />
nδi<br />
n∈Z f(x)log(f(x))<br />
nδi<br />
≈−log(δi) <br />
+∞ +∞<br />
f(x)dx −<br />
−∞ −∞ f(x)log(f(x))<br />
<br />
≈ H0 − log(δi)<br />
avec H0 = +∞<br />
f(x)log(f(x)) l’entropie <strong>de</strong> f.<br />
−∞<br />
(7.46)
186 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Dans [182], Shannon démontre que l’entropie d’une source continue définie sur R est maximale<br />
pour une distribution gaussienne. Supposons que la distribution f est une gaussienne <strong>de</strong><br />
variance σ. L’entropie H0 est alors donnée par [182] :<br />
L’entropie Hi peut être alors approchée par :<br />
H0 = log( √ 2πeσ). (7.47)<br />
Hi ≈ log( √ 2πe σ<br />
). (7.48)<br />
Le débit Ri nécessaire pour co<strong>de</strong>r la matrice Bi est donné par:<br />
Ri = V × log( √ 2πe σ<br />
)+T × log( √ 2πe σ<br />
δi<br />
δi<br />
δi<br />
)+Rwii , (7.49)<br />
où la constante Rwii représente le débit alloué pour le codage la valeur singulière wii.<br />
Le débit total R nécessaire pour le codage <strong>de</strong> la matrice A est obtenu en sommant les débits<br />
élémentaires :<br />
T<br />
R =<br />
(7.50)<br />
i=1<br />
Qaunt à la distorsion globale Δ, elle est donnée par :<br />
Δ=<br />
Ri<br />
T<br />
Δi. (7.51)<br />
i=1<br />
Soit R0 un débit fixé par l’utilisateur. L’objectif est <strong>de</strong> déterminer les pas <strong>de</strong> quantification<br />
optimaux qui minimisent la distorsion globale Δ sous la contrainte R = R0.<br />
On cherche le vecteur δ ∗ =(δ ∗ i )i∈{1,...,T } ∈ R T solution du problème <strong>de</strong> minimisation suivant :<br />
δ ∗ = argmin Δ.<br />
R = R0<br />
(7.52)<br />
Ce problème <strong>de</strong> minimisation avec contraintes peut être résolu [187] en minimisant le Lagrangien<br />
J =Δ+λR associé. En imposant maintenant les conditions nécessaires d’extremum <strong>de</strong><br />
la fonction J, qui stipule que ses dérivées partielles par rapport aux variables (δi)i sont nulles,<br />
on obtient :<br />
Par conséquent,<br />
w 2 ii<br />
∂J<br />
= 0 (7.53)<br />
∂δi<br />
<br />
T<br />
T<br />
<br />
∂<br />
Δi + λ Ri = 0 (7.54)<br />
∂δi i=1<br />
i=1<br />
<br />
δi<br />
6V + δ3 <br />
i δi (T + V )<br />
+ − λ = 0 (7.55)<br />
36 6T<br />
δi
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 187<br />
λ =<br />
w 2 ii<br />
λ ≈ w2 iiδ 2 i<br />
<br />
δ2 i<br />
6V + δ4 i<br />
36 + δ2 <br />
i<br />
6T<br />
(T + V )<br />
1<br />
6V<br />
(T + V )<br />
+ 1<br />
6T<br />
<br />
(7.56)<br />
(7.57)<br />
En particulier,<br />
w2 iiδ2 <br />
1 1<br />
i + 6V 6T = λ =<br />
(T + V )<br />
w2 11δ2 <br />
1 1<br />
1 + 6V 6T .<br />
(T + V )<br />
(7.58)<br />
En simplifiant les <strong>de</strong>ux membres <strong>de</strong> l’équation (7.58), on r<strong>et</strong>rouve la relation suivante :<br />
δi = w11<br />
wii<br />
δ1. (7.59)<br />
La relation décrite par l’équation (7.59) démontre que la solution optimale du problème <strong>de</strong><br />
minimisation (7.52) est obtenue en choisissant <strong>de</strong>s pas <strong>de</strong> quantification δi inversement proprtionnels<br />
aux valeurs singulières <strong>de</strong> la matrice Ai.<br />
En pratique, le co<strong>de</strong>ur FAMC prend la valeur <strong>de</strong> δ1 comme paramètre <strong>et</strong> dérive tous les<br />
autres pas <strong>de</strong> quantification (δi)i∈{2,...,T } en exploitant la relation (7.59). Les <strong>de</strong>ux matrices<br />
j∈{1,...,V }<br />
j∈{1,...,T }<br />
quantifiées (Qi(uij)) i∈{1,...,T } <strong>et</strong> (Qi(rij)) i∈{1,...,T } sont représentées par <strong>de</strong>s entiers <strong>et</strong> codées<br />
avec CABAC <strong>de</strong> façon analogue à celle décrite dans la Section 7.4.1.<br />
La <strong>de</strong>rnière transformée considérée par le co<strong>de</strong>ur FAMC est fondée sur une prédiction<br />
hiérarchique. Elle est décrite en détails dans la section suivante.<br />
7.4.3 <strong>Compression</strong> par prédiction hiérarchique LD (Layered Decomposition)<br />
Dans c<strong>et</strong>te section, nous proposons <strong>de</strong> co<strong>de</strong>r les erreurs résiduelles <strong>de</strong> compensation <strong>de</strong><br />
mouvement en exploitant une prédiction hiérarchique spatio-temporelle locale comme celle<br />
décrite dans [126, 127].<br />
Le principe <strong>de</strong> l’approche <strong>de</strong> simplification développée dans [126, 127] est fondé surla<br />
construction d’une structure hiérarchique àpartir<strong>de</strong>laconnectivité du maillage, obtenue en<br />
appliquant sucessivement une séquence d’opérations <strong>de</strong> décimation topologique du type vertex<br />
removal [7]. L’opération <strong>de</strong> vertex removal appliquée au somm<strong>et</strong> v, notée VRem(v), consiste<br />
en <strong>de</strong>ux étapes successives : (1) suppression du somm<strong>et</strong> v ainsi que <strong>de</strong> toutes les arêtes <strong>et</strong><br />
triangles qui lui sont inci<strong>de</strong>nts ; (2) re-triangulation du trou généré parl’étape (1).<br />
La Figure 7.6 présente un exemple d’opération <strong>de</strong> simplification VRem(v) appliquée àun<br />
somm<strong>et</strong> <strong>de</strong> valence 6. Notons que plusieurs re-triangulations peuvent être ici considérées [188].<br />
La Figure 7.7 illustre toutes les configurations possibles pour <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> valences comprises<br />
entre 3 <strong>et</strong> 6.<br />
Différentes stratégies peuvent être adoptées afin <strong>de</strong> sélectionner la séquence d’opérations<br />
VRem à appliquer au maillage. Dans [126, 127], les auteurs exploitent exclusivement l’information<br />
<strong>de</strong> connectivité, disponible àlafoisauco<strong>de</strong>ur<strong>et</strong>audéco<strong>de</strong>ur, afin <strong>de</strong> déterminer<br />
le processus <strong>de</strong> simplification du maillage. Ils proposent <strong>de</strong> décomposer la connectivité du
188 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Figure 7.6 : Opération <strong>de</strong> décimation topologique VRem(v):(a)patch original ; (b) supression<br />
du somm<strong>et</strong> v ainsi que <strong>de</strong> l’ensemble <strong>de</strong>s arêtes <strong>et</strong> <strong>de</strong>s triangles qui lui sont inci<strong>de</strong>nts ; (c) r<strong>et</strong>riangulation<br />
du patch obtenu.<br />
maillage en un ensemble <strong>de</strong> patchs sans recouvrement. Un patch ℘(v) <strong>de</strong> centre v est défini<br />
comme l’ensemble <strong>de</strong>s triangles inci<strong>de</strong>nts à v, formant une surface homéomorphe à une disque<br />
ouvert (Figure 7.6.a). Deux patchs sont dits sans recouvrement s’ils partagent au maximum<br />
une arête. Les centres <strong>de</strong> ces patchs sont ensuite successivement décimés. Le choix <strong>de</strong> la r<strong>et</strong>riangulation<br />
àopérer àchaqueétape est guidé paruncritère topologique qui vise à concentrer,<br />
avec une dispersion minimale, les valences <strong>de</strong>s somm<strong>et</strong>s autour <strong>de</strong> la valeur 6.<br />
Ce processus est décrit en détails dans la section suivante.<br />
7.4.3.1 Décomposition en patchs<br />
En premier lieu, l’ensemble <strong>de</strong>s patchs du maillage initial est déterminé. Un sous-ensemble<br />
<strong>de</strong> ces patchs, assurant la propriété <strong>de</strong> non-recouvrement, est ensuite obtenu en appliquant<br />
une procédure<strong>de</strong>conquête itérative <strong>de</strong> la connectivité du maillage. Le principe <strong>de</strong> l’algorithme<br />
adopté consiste àalterneritérativement : (1) une étape d’initialisation <strong>et</strong> (2) une étape <strong>de</strong><br />
conquête.<br />
Al’étape d’initialisation, la liste <strong>de</strong>s patchs est balayée. Le premier patch ℘(v0) non-conquis<br />
<strong>de</strong> <strong>de</strong>gré 3 compris entre 3 <strong>et</strong> 6 est alors insèré dans une structure <strong>de</strong> file F.<br />
L’étape <strong>de</strong> conquête consiste en plusieurs itérations, indéxées selon i. Achaqueétape i, le<br />
premier patch ℘(vi) <strong>de</strong>lafileFest sorti <strong>et</strong> marqué comme conquis. L’ensemble <strong>de</strong> ses patchs<br />
voisins 4 <strong>de</strong> <strong>de</strong>gré entre 3 <strong>et</strong> 6 sont ensuite successivement insérés dans F. L’étape (2) est<br />
réitérée jusqu’à ce que la file F <strong>de</strong>vienne vi<strong>de</strong>.<br />
Ce processus perm<strong>et</strong> <strong>de</strong> construire une suite <strong>de</strong> patchs (℘(vi))i∈{1,...,NP } (NP étant le nombre<br />
<strong>de</strong> patchs obtenus). La <strong>de</strong>uxième phase, dite <strong>de</strong> décimation, est alors appliquée. Elle consiste à<br />
décimer itérativement les centres (vi)i∈{1,...,Ni} <strong>de</strong>s patchs obtenus, comme décrit dans la section<br />
suivante.<br />
7.4.3.2 Phase <strong>de</strong> décimation<br />
A l’étape i, le somm<strong>et</strong> vi centre du patch ℘(vi) est décimé en appliquant l’opération<br />
VRem(vi). Le patch ℘(vi) est ensuite r<strong>et</strong>riangulé <strong>de</strong>façon à minimiser la dispersion D(vi)<br />
3. Le <strong>de</strong>gré d’unpatch℘(v) estdéfini comme la valence <strong>de</strong> son centre v.<br />
4. Deux patchs sont dis voisins s’ils partagent une unique arête.
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 189<br />
Figure 7.7 : Re-triangulations possibles pour <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> <strong>de</strong>grés : (a) 6, (b) 5, (c) 4 <strong>et</strong><br />
(d) 3.
190 L’approche FAMC : la nouvelle spécification MPEG-4<br />
<strong>de</strong>s valences <strong>de</strong>s voisins <strong>de</strong> vi autour <strong>de</strong> la valeur 6. Le dispersion D(vi) estdéfinie comme :<br />
D(vi) = 1<br />
|ℵ(v)|<br />
<br />
w∈ℵ(vi)<br />
|Val(w) − 6|, (7.60)<br />
où ℵ(vi) est l’ensemble <strong>de</strong>s voisins <strong>de</strong> vi, |ℵ(vi)| son cardinal <strong>et</strong> Val(w) la valence du somm<strong>et</strong><br />
w, calculée après la re-triangulation du patch considéré.<br />
La triangulation optimale, au sens du critère Di est déterminée à l’ai<strong>de</strong> d’un processus <strong>de</strong><br />
recherche exhaustive conduite dans l’ensemble <strong>de</strong>s configurations possibles.<br />
Afin <strong>de</strong> dériver une décomposition <strong>de</strong>s somm<strong>et</strong>s du maillage en niveaux hiérarchiques, il<br />
suffit <strong>de</strong> réitérer les <strong>de</strong>ux phases <strong>de</strong> décomposition en patchs <strong>et</strong> <strong>de</strong> décimation, comme décrit<br />
dans la section suivante.<br />
7.4.3.3 Décomposition en niveaux hiérarchiques<br />
Soit L le nombre <strong>de</strong> niveaux <strong>de</strong> résolution souhaité <strong>et</strong>V = {1,...,V} l’ensemble <strong>de</strong>s somm<strong>et</strong>s<br />
du maillage dynamique. Notons par Vl (avec l ∈{1, ..., L − 1}) l’ensemble <strong>de</strong>s somm<strong>et</strong>s<br />
décimés au cours <strong>de</strong> la l-ème phase <strong>de</strong> décomposition/décimation. Soit VL l’ensemble <strong>de</strong>s somm<strong>et</strong>s<br />
obtenus après L étapes successives <strong>de</strong> simplification. L’ensemble VL s’exprime par la<br />
relation suivante :<br />
<br />
<br />
VL = V\<br />
<br />
(7.61)<br />
1≤l
7.4 <strong>Compression</strong> <strong>de</strong>s erreurs résiduelles 191<br />
(a) V5 (b) V5 ∪V4 (c) V5 ∪V4 ∪V3 (d) V5 ∪V4 ∪V3 ∪V2 (e) V5∪V4∪V3∪V2∪V1<br />
Figure 7.8 : Exemple <strong>de</strong> décomposition en cinq niveaux hiérarchiques du maillage dynamique<br />
“Cow”.<br />
7.4.3.4 Prédiction hiérarchique<br />
Le principe <strong>de</strong> la procédure <strong>de</strong> prédiction hiérarchique proposée est <strong>de</strong> co<strong>de</strong>r successivement<br />
les somm<strong>et</strong>s du maillage dynamique en partant <strong>de</strong> la résolution la plus basse (i.e., VL) vers<br />
<strong>de</strong>s niveaux <strong>de</strong> résolution croissante(i.e., VL−1, puis VL−2 jusqu’à V1). Notons que la propriété<br />
décrite par l’équation (7.64) assure que lors <strong>de</strong> la prédiction d’un somm<strong>et</strong> v ∈Vl tous ses voisins<br />
ont déjà été reconstruits. Cela perm<strong>et</strong> notamment <strong>de</strong> définir <strong>de</strong>s prédicteurs spatio-temporels<br />
hiérarchiques efficaces.<br />
Afin <strong>de</strong> prédire les erreures résiduelles <strong>de</strong> compensation <strong>de</strong> mouvement (ev }<br />
i )v∈{1,...,V<br />
i∈{1,...,T } ,le<br />
co<strong>de</strong>ur FAMC définit trois prédicteurs spatio-temporels locaux, <strong>de</strong>lta, linéaire <strong>et</strong> non linéaire,<br />
notés respectivement par P<strong>de</strong>lta, Plin, Pnonlin. Chacun <strong>de</strong> ces prédicteurs se décline en variantes,<br />
selonl<strong>et</strong>ype<strong>de</strong>trameconsidérée. Plus précisément, <strong>de</strong> façon analogue au codage MPEG-4<br />
vidéo, trois types <strong>de</strong> trame sont définis :<br />
• I:mo<strong>de</strong>intra,<br />
• P : mo<strong>de</strong> prédictif,<br />
• B : mo<strong>de</strong> <strong>de</strong> prédiction bi-directionnelle.<br />
On obtient ainsi un ensemble <strong>de</strong> neuf prédicteurs différents notés par P I I<br />
<strong>de</strong>lta (v, i), Plin (v, i),<br />
P I nonlin (v, i), P P P<br />
<strong>de</strong>lta (v, i), Plin (v, i), P P nonlin (v, i), P B B<br />
<strong>de</strong>lta (v, i), Plin (v, i) ouPB nonlin (v, i).<br />
Le résidu rv i obtenu suite àlaprédiction hiérarchique du somm<strong>et</strong> v ∈Vl est donné par:<br />
∀ i ∈{1,...,T}, ∀ v ∈{1,...,V}, r v i = ev i<br />
− P (v, i), (7.65)<br />
avec P (v, i) l’un <strong>de</strong>s neuf prédicteurs.<br />
Dans le cas d’une trame <strong>de</strong> type I, les trois prédicteurs considérés sont les suivants :<br />
P I <strong>de</strong>lta (v, i) =0,<strong>et</strong> (7.66)<br />
P I<br />
lin (v, i) =P I nonlin (v, i) =ebary(v, i), (7.67)
192 L’approche FAMC : la nouvelle spécification MPEG-4<br />
avec<br />
ebary(v, i) = 1<br />
|ℵl(v)|<br />
<br />
w∈ℵl(v)<br />
e v i , (7.68)<br />
où ℵl(v) est l’ensemble <strong>de</strong>s voisins <strong>de</strong> v ∈Vl au niveau <strong>de</strong> résolution l. Notons que ebary(v, i)<br />
correspond au barycentre, à l’instant i, <strong>de</strong>s erreurs <strong>de</strong>s voisins <strong>de</strong> v au niveau <strong>de</strong> résolution l.<br />
Pour une trame <strong>de</strong> type P prédite par rapport à une trame <strong>de</strong> référence j, les trois<br />
prédicteurs correspondants sont définis par :<br />
P P <strong>de</strong>lta (v, i) =evj , (7.69)<br />
P P<br />
lin (v, i) =ebary(v, i)+(e v j − ebary(v, j)), <strong>et</strong> (7.70)<br />
P P nonlin (v, i) =ebary(v, i)+D(i, j)(e v j − ebary(v, j)), (7.71)<br />
avec D(i, j) =M(v, i)M(v, j) t la matrice orthogonale qui transforme le patch <strong>de</strong> centre v <strong>de</strong><br />
l’instant i à l’instant j. La matrice M(v, i) =(Xv i ,Yv i ,Zv i ) associée au somm<strong>et</strong> v à l’instant i<br />
est définie par :<br />
Y v<br />
i<br />
X v i<br />
ev1 i<br />
= − ebary(i, v)<br />
ev1 i − ebary(i,<br />
, (7.72)<br />
v)<br />
(ev2 i<br />
= − ebary(i, v)) −〈e v2<br />
i − ebary(i, v),Xv i 〉 .Xv i<br />
e v2<br />
i − ebary(i, v) −〈e v2<br />
i − ebary(i, v),Xv i 〉 Xv i ,<strong>et</strong><br />
(7.73)<br />
Z v i = Xv v<br />
i ∧ Yi , (7.74)<br />
avec v1 <strong>et</strong> v2 <strong>de</strong>ux somm<strong>et</strong>s appartenant au voisinage <strong>de</strong> v (i.e. v1,v2 ∈ℵ(v)).<br />
Enfin, les prédicteurs considérés pour une trame <strong>de</strong> type B prédite par rapport à<strong>de</strong>ux<br />
trames <strong>de</strong> référence j1 <strong>et</strong> j2 sont donnés par :<br />
P B <strong>de</strong>lta (v, i) =1<br />
2 ej1<br />
1<br />
i +<br />
2 ej2 i , (7.75)<br />
P B<br />
lin (v, i) =ebary(v, i)+ 1<br />
2 (evj1 − ebary(v, j1)) + 1<br />
2 (ev j2 − ebary(v, j2)), <strong>et</strong> (7.76)<br />
P B nonlin (v, i) =ebary(v, i)+ 1<br />
2 D(i, j1)(e v j1 − ebary(v, j1)) + 1<br />
2 D(i, j2)(e v j2 − ebary(v, j2)). (7.77)<br />
7.4.3.5 Codage binaire<br />
Le co<strong>de</strong>ur FAMC offre la possibilité <strong>de</strong> choisir <strong>de</strong> façon statique (i.e. le même prédicteur<br />
pour tous les somm<strong>et</strong>s d’un niveaux hiérarchique) ou adaptative (i.e. le meilleur prédicteur<br />
entre P<strong>de</strong>lta, Plin <strong>et</strong> Pnonlin pour chaque somm<strong>et</strong>) la stratégie <strong>de</strong> prédiction à adopter. Dans le<br />
cas d’un choix adaptatif <strong>de</strong>s prédicteurs, le co<strong>de</strong>ur inclut dans le flux binaire une information<br />
auxiliaire (compressée avec CABAC) décrivant le prédicteur associé à chaque somm<strong>et</strong> v.<br />
Afin d’assurer la scalabilité spatiale(cf. Section 7.5.1) du flux binaire compressé, le co<strong>de</strong>ur<br />
FAMC regroupe les coefficients (rv i )vi en niveaux hiérarchiques avant <strong>de</strong> co<strong>de</strong>r séparément<br />
chaque niveau, d’une façon analogue à celle décrite Section 7.4.1.<br />
Le co<strong>de</strong>ur FAMC supporte également la scalabilité temporelle en introduisant une structure<br />
<strong>de</strong> prédiction hiérarchique sur les trames <strong>de</strong> type I, P <strong>et</strong> B (cf. Section 7.5.2). Le principe est <strong>de</strong><br />
changer l’ordre <strong>de</strong> codage <strong>de</strong>s trames (Figure 7.9) afin <strong>de</strong> rendre possible un décodage partiel<br />
du flux binaire tout en assurant une ca<strong>de</strong>nce d’affichage donnée.
7.5 Fonctionnalités supportées 193<br />
Le co<strong>de</strong>ur FAMC supporte également une prédiction hiérarchique (qui remplace la prédiction<br />
<strong>de</strong>lta décrite dans la Section 7.4.1) <strong>de</strong>s coefficients spectraux obtenus par les transformées temporelles<br />
DCT <strong>et</strong> TO. C<strong>et</strong>te hybridation perm<strong>et</strong> notamment <strong>de</strong> supporter <strong>de</strong>s fonctionnalités<br />
plus avancées, comme discuté dans le paragraphe suivant.<br />
7.5 Fonctionnalités supportées<br />
Le Tableau 7.5 résume les différentes configurations FAMC possibles. Le Tableau 7.6 présente<br />
l’ensemble <strong>de</strong>s fonctionnalités supportées par ces différentes configurations. Notons que toutes<br />
les configurations <strong>de</strong> FAMC supportent naturellement les fonctionnalités <strong>de</strong> streaming <strong>et</strong> <strong>de</strong><br />
codage <strong>de</strong>s attributs. Cependant, seules les configurations Lift, LD <strong>et</strong> Lift+LD perm<strong>et</strong>tent un<br />
codage quasi-sans perte <strong>de</strong> l’animation <strong>et</strong> ce grâce à la quantification appliquée dans le domaine<br />
temporel <strong>et</strong> non spectral, qui perm<strong>et</strong> <strong>de</strong> garantir une borne supérieure sur les erreurs <strong>de</strong><br />
reconstruction. A l’opposé, les transformées DCT <strong>et</strong> ACP perm<strong>et</strong>tent <strong>de</strong> contrôler uniquement<br />
l’erreur quadratique moyenne.<br />
La fonctionnalité <strong>de</strong> transmission progressive est supportée par l’ensemble <strong>de</strong>s configurations<br />
FAMC mais avec <strong>de</strong>s aspects <strong>de</strong> scalabilitédifférents (Tableau 7.7). Les flux binaires DCT,<br />
Lift <strong>et</strong> ACP sont scalables uniquement en qualité. Les flux DCT+LD <strong>et</strong> Lift+LD sont scalables<br />
àlafoisenqualité<strong>et</strong>enrésolution (scalabilité spatiale). Seul le flux LD offre à la fois les scalabilités<br />
temporelle <strong>et</strong> spatiale. En outre, les configuration LD, DCT+LD <strong>et</strong> Lift+LD perm<strong>et</strong>tent<br />
un rendu scalable <strong>de</strong> l’animation, grâce àl’étape<strong>de</strong>décimation hiérarchique considérée.<br />
Configurations Description<br />
DCT DCT temporelle <strong>et</strong> prédiction <strong>de</strong>lta <strong>de</strong>s coefficients spectraux<br />
Lift On<strong>de</strong>l<strong>et</strong>tes bi-orthogonales (4,2) avec implantation en entiers <strong>et</strong><br />
prédiction <strong>de</strong>lta <strong>de</strong>s coefficients spectraux<br />
ACP ACP<br />
LD Prédiction hiérarchique<br />
DCT+LD DCT temporelle <strong>et</strong> prédiction hiérarchique<br />
Lift+LD On<strong>de</strong>l<strong>et</strong>tes bi-orthogonales (4,2) avec implantation en entiers <strong>et</strong><br />
prédiction hiérarchique<br />
Table 7.5 : Les différentes configurations FAMC.
194 L’approche FAMC : la nouvelle spécification MPEG-4<br />
Configurations Codage <strong>de</strong>s Rendu Transmission Quasi-sans Streaming<br />
attributs scalable progressive pertes<br />
DCT × × ×<br />
Lift × × × ×<br />
ACP × × ×<br />
LD × × × × ×<br />
DCT+LD × × × ×<br />
Lift+LD × × × × ×<br />
Table 7.6 : Fonctionnalités supportées par les différentes configurations du co<strong>de</strong>ur FAMC :<br />
(1) DCT, (2) Lift, (3) LD, (4) DCT+LD <strong>et</strong> (5) Lift+LD.<br />
Configurations Qualité Temporelle Sapatiale<br />
DCT ×<br />
Lift ×<br />
ACP ×<br />
LD × ×<br />
DCT+LD × ×<br />
Lift+LD × ×<br />
Table 7.7 : Différents types <strong>de</strong> scalabilité supportés par le co<strong>de</strong>ur FAMC.<br />
Analysons àprésent les types <strong>de</strong> scalabilité offerts par les différentes configurations <strong>de</strong><br />
FAMC.<br />
7.5.1 Scalabilité spatiale<br />
Pour assurer la scalabilité spatiale du flux binaire, le co<strong>de</strong>ur FAMC exploite la représentation<br />
hiérarchique introduite dans la Section 7.4.3. C<strong>et</strong>te décomposition hiérarchique étant totalement<br />
définie àpartir<strong>de</strong>leconnectivité du maillage, elle peut être directement déduite par le<br />
déco<strong>de</strong>ur.<br />
Notons cependant que ce choix n’est pas unique, toute autre technique multirésolution<br />
pouvant être également adoptée. FAMC perm<strong>et</strong> au co<strong>de</strong>ur <strong>de</strong> définir une structure <strong>de</strong> maillage<br />
progressif qui va être inclue dans le flux binaire <strong>et</strong> transmise au déco<strong>de</strong>ur.<br />
Le principe consiste àconsidérer comme approximation initiale un maillage <strong>de</strong> base <strong>et</strong><br />
à le raffiner successivement, à travers différents niveaux <strong>de</strong> détail, jusqu’à obtenir le maillage<br />
original. Ce processus <strong>de</strong> raffinement rend possible le rendu scalable <strong>de</strong> l’animation qui consiste<br />
à adapter la résolution (le nombre <strong>de</strong> triangles) du maillage aux performances du terminal.<br />
Le mêmeprincipepeutêtre exploité afin <strong>de</strong> répondre à la fonctionnalité <strong>de</strong> transmission<br />
progressive <strong>de</strong> l’animation. En eff<strong>et</strong>, la transmission <strong>de</strong>s trajectoires, <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong>s niveaux<br />
<strong>de</strong> détails les plus grossiers aux résolutions les plus fines, perm<strong>et</strong> au déco<strong>de</strong>ur <strong>de</strong> décompresser<br />
<strong>et</strong> d’afficher à tout instant <strong>de</strong> la transmission une version plus au moins fidèle <strong>de</strong> l’animation,<br />
en fonction <strong>de</strong> la quantité d’information reçue.
7.5 Fonctionnalités supportées 195<br />
7.5.2 Scalabilité temporelle<br />
Inspiréduco<strong>de</strong>urvidéo H264 [189], FAMC structure le flux binaire en niveaux hiérarchiques<br />
temporels <strong>de</strong> tel sorte que les trames appartenant àunniveaudonnésontprédites uniquement à<br />
partir <strong>de</strong>s trames <strong>de</strong> niveaux <strong>de</strong> résolution plus basse (plus “grossiers”). En considérant un ordre<br />
<strong>de</strong> codage/décodage <strong>de</strong>s trames respectant c<strong>et</strong>te structure (i.e. les trames sont codées/décodées<br />
du niveau hiérarchique le plus grossier au niveau le plus fin) une interprétation partielle du flux<br />
binaire <strong>de</strong>vient possible. Une telle scalabilité temporelle perm<strong>et</strong> d’adapter la résolution temporelle<br />
(nombre <strong>de</strong> trames par secon<strong>de</strong>s) <strong>de</strong> l’animation àlacapacité<strong>de</strong>décodage <strong>et</strong> d’affichage<br />
du terminal considéré. La Figure 7.9 illustre un exemple <strong>de</strong> structure <strong>de</strong> prédiction temporelle<br />
hiérarchique perm<strong>et</strong>tant une scalabilité temporelle du flux FAMC.<br />
Une information décrivant pour chaque trame son type (i.e. I, P ou B), son ordre d’affichage<br />
ainsi que les trames <strong>de</strong> référence à partir <strong>de</strong>squelles elle est prédite est également transmise au<br />
déco<strong>de</strong>ur. C<strong>et</strong>te information auxiliaire est codée directement avec CABAC (cf. Section 7.2).<br />
Figure 7.9 : Scalabilité temporelle : exemple <strong>de</strong> structure <strong>de</strong> prédiction temporelle<br />
hiérarchique.
196 L’approche FAMC : la nouvelle spécification MPEG-4<br />
7.5.3 Scalabilité en qualité<br />
Afin d’assurer un flux scalable en qualité, les co<strong>de</strong>urs FAMC/DCT <strong>et</strong> FAMC/Lift structurent<br />
les coefficients spectraux (cv }<br />
i )v∈{1,...,V<br />
i∈{1,...,T } (cf. Section 7.4.1) en niveaux <strong>de</strong> détails correspondant<br />
chacun à une ban<strong>de</strong> <strong>de</strong> fréquences, comme illustré Figure7.10.<br />
Soit (Nl)l∈{1,...L} une suite strictement croissante d’entiers tel que :<br />
N0 =1
7.6 Conclusion 197<br />
7.5.4 Streaming<br />
Afin d’assurer la diffusion en flux continu <strong>de</strong>s contenus <strong>3D</strong> animés, il est nécessaire <strong>de</strong><br />
pouvoir interpréter <strong>et</strong> déco<strong>de</strong>r le flux binaire au fil <strong>de</strong> l’eau, même lorsque seule une sous-partie<br />
du flux est disponible au déco<strong>de</strong>ur. Le co<strong>de</strong>ur FAMC assure c<strong>et</strong>te fonctionnalité <strong>de</strong>streaming<br />
en partitionnant l’information codée en segments (paqu<strong>et</strong>s <strong>de</strong> données), correspondant aux<br />
intervalles temporels disjoints qui sont codés indépendamment les uns <strong>de</strong>s autres. Cela revient<br />
àconsidérer séparément chaque segment comme une “mini-séquence” à part, codée sans aucune<br />
référence aux autres.<br />
Notons qu’une diminution <strong>de</strong>s performances <strong>de</strong> compression est attendue, puisque l’information<br />
relative au modèle<strong>de</strong>peaudoitêtre associée à chaque segment considéré (au lieu d’un<br />
modèle unique pour toute la séquence). Toutefois, ce coût supplémentaire en débit peut être en<br />
pratique compensé par la qualité <strong>de</strong>lareprésentation par modèles <strong>de</strong> peau multiples, optimisés<br />
pour chaque segment temporel (cf. Section 8.4.5).<br />
7.6 Conclusion<br />
Dans ce chapitre, nous avons présente la nouvelle technique <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
animés, appelée FAMC (Frame-based Animated Mesh <strong>Compression</strong>). Fondée sur une stratégie<br />
<strong>de</strong> compensation <strong>de</strong> mouvement par modèle <strong>de</strong> skinning, lamétho<strong>de</strong> proposée offre àlafois<br />
une compression efficace <strong>de</strong> la géométrie <strong>et</strong> <strong>de</strong>s attributs photométriques associés aux somm<strong>et</strong>s<br />
du maillage dynamique, tout en assurant <strong>de</strong>s fonctionnalités <strong>de</strong> streaming, <strong>de</strong> transmission<br />
progressive, ou encore <strong>de</strong> rendu scalable.<br />
Le chapitre suivant présente une évaluation expérimentale <strong>de</strong> l’approche FAMC proposée.
198 L’approche FAMC : la nouvelle spécification MPEG-4
Chapitre8<br />
Résultats expérimentaux<br />
Résumé : Ce chapitre propose une évaluation expérimentale objective <strong>de</strong> l’approche<br />
FAMC proposée dans le chapitre précé<strong>de</strong>nt.<br />
Dans un premier temps, les performances <strong>de</strong>s différentes configurations du co<strong>de</strong>ur FAMC<br />
ont été comparées, analysées <strong>et</strong> discutées en termes d’efficacité <strong>de</strong> compression, <strong>de</strong> complexité<br />
<strong>de</strong> calcul <strong>et</strong> <strong>de</strong> fonctionnalités supportées. La technique FAMC a été ensuite évaluée<br />
par rapport l’approche MCGV, aux co<strong>de</strong>urs standards MPEG-4/BIFS <strong>et</strong> MPEG-4/AFX-<br />
IC ainsi qu’à d’autres techniques <strong>de</strong> l’état <strong>de</strong> l’art. C<strong>et</strong>te comparaison conduite sur le<br />
corpus <strong>de</strong> test MPEG-4, établit objectivement la supériorité <strong>de</strong>lamétho<strong>de</strong> FAMC par<br />
rapports aux autres techniques.<br />
La <strong>de</strong>rnière partie du chapitre a été consacrée àl’évaluation <strong>de</strong>s différentes fonctionnalités<br />
supportés par FAMC : scalabilité, streaming, codage <strong>de</strong>s attributs, codage quasi-sans<br />
perte...<br />
En raison <strong>de</strong> ses performances élevées <strong>et</strong> <strong>de</strong> l’ensemble compl<strong>et</strong> <strong>de</strong>s fonctionnalités qu’il<br />
supporte, FAMC a été r<strong>et</strong>enue pour adoption dans le standard, en tant qu’amen<strong>de</strong>ment 2<br />
<strong>de</strong> la partie 16 - AFX.<br />
Mots clés : FAMC, MCGV, évaluation expérimentale, compression, <strong>maillages</strong> <strong>dynamiques</strong>,<br />
MPEG-4.<br />
199
200 Résultats expérimentaux<br />
8.1 Corpus <strong>de</strong> test<br />
Le corpus <strong>de</strong> test <strong>de</strong> <strong>maillages</strong> animés a été constitué dans le cadre <strong>de</strong>s expérimentations<br />
techniques MPEG-4 [190]. Il inclut une vingtaine <strong>de</strong> séquences d’animation <strong>3D</strong>, <strong>de</strong> tailles, topologies,<br />
géométries <strong>et</strong> mouvements variés. Le Tableau 8.4 <strong>de</strong> l’Annexe B résume les différentes<br />
propriétés géométrico-topologiques ainsi que le type <strong>de</strong> mouvement <strong>de</strong> chacune <strong>de</strong> ces animations.<br />
Les figures 8.12, 8.13 <strong>et</strong> 8.14 (Annexe B) présentent <strong>de</strong>s extraits <strong>de</strong>s séquences animées<br />
considérées.<br />
Les modèles <strong>de</strong> la base <strong>de</strong> test offrent une bonne variabilité spatiale<strong>et</strong>temporelle:<br />
• Le nombre <strong>de</strong> somm<strong>et</strong>s V varie entre 687 <strong>et</strong> 42321.<br />
• Le nombre <strong>de</strong> trames T est compris entre 19 <strong>et</strong> 400.<br />
• Six <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> considérés sont à multiples composantes connexes (nombre<br />
<strong>de</strong> composantes connexes compris entre 1 <strong>et</strong> 47), six sont non manifolds, huitsontfermés<br />
<strong>et</strong> six sont orientables.<br />
L’animation “Ball” présente un mouvement purement affine. Dix <strong>de</strong>s animations (e.g.,<br />
“Box”, “Camel gallop”, “Dragon”...) ont un mouvement articulé. Cinq <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong><br />
considérés (e.g., “Dance”, “Jump”, “Snake” <strong>et</strong> “Troll”) sont animés par <strong>de</strong>s mouvements<br />
articulés combinés à<strong>de</strong>sdéformations élastiques <strong>et</strong> quatre (“Camel collapse”, “Horse<br />
collapse”, “Cow” <strong>et</strong> “Dolphin”) présentent <strong>de</strong>s déformations élastiques d’amplitu<strong>de</strong>s plus au<br />
moins importantes.<br />
Afin <strong>de</strong> pouvoir établir une comparaison objective <strong>de</strong>s différentes techniques <strong>de</strong> compression,<br />
il est indispensable <strong>de</strong> disposer <strong>de</strong> mesures <strong>de</strong> distorsion adaptées, pour évaluer la qualité <strong>de</strong>s<br />
<strong>maillages</strong> reconstruits àdifférents débits.<br />
8.2 Critères d’évaluation<br />
Nous avons considéré les trois mesures <strong>de</strong> distorsion les plus utilisées dans la littérature afin<br />
<strong>de</strong> pouvoir comparer les métho<strong>de</strong>s proposées à un nombre maximal <strong>de</strong> techniques <strong>de</strong> l’état <strong>de</strong><br />
l’art :<br />
1. L’erreur RMSE définie dans la Section 6.6.2 <strong>et</strong> utilisée pour comparer FAMC àMCGV.<br />
2. L’erreur Da (Area Difference) [121] définie dans le cadre <strong>de</strong> l’évaluation expérimentale <strong>de</strong><br />
FAMC par rapport aux technologies MPEG-4. La distorsion Da mesure la moyenne (selon<br />
les trois coordonnées x, y <strong>et</strong> z <strong>et</strong> sur l’ensemble <strong>de</strong> somm<strong>et</strong>s du maillage) <strong>de</strong>s différences<br />
d’aires entre les courbes définies par les trajectoires <strong>de</strong>s coordonnées <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong><br />
l’animation originale <strong>et</strong> décodée. Plus rigoureusement, l’erreur Da est définie par :<br />
avec<br />
∀ w ∈{x, y, z}, D w a =<br />
Da = Dx a + Dy a + Dz a<br />
, (8.1)<br />
3<br />
1<br />
V × T × R<br />
V<br />
v=1<br />
T<br />
0<br />
|T w<br />
v (t) − ˘ T w<br />
v (t)|dt, (8.2)<br />
∀ w ∈{x, y, z}, ∀ t ∈ [0,T[, T w<br />
v (t) =(1+⌊t⌋−t) × χv,w<br />
⌊t⌋ +(t−⌊t⌋)χv,x 1+⌊t⌋ , (8.3)
8.2 Critères d’évaluation 201<br />
∀ w ∈{x, y, z}, ∀ t ∈ [0,T[, ˘ T w<br />
v (t) =(1+⌊t⌋−t) × ˘χv,w<br />
⌊t⌋ +(t−⌊t⌋)˘χv,w 1+⌊t⌋ , (8.4)<br />
où<br />
•⌊t⌋représente la partie entière <strong>de</strong> t,<br />
• χv i <strong>et</strong> ˘χv i représentent respectivement les vecteurs <strong>de</strong>s positions <strong>de</strong>s somm<strong>et</strong>s <strong>de</strong> l’animation<br />
originale <strong>et</strong> celle obtenue après décodage,<br />
•Tv<strong>et</strong> ˘ Tv représentent les trajectoires (obtenues par interpolation linéaire) originales <strong>et</strong><br />
reconstruites du somm<strong>et</strong>s v.<br />
Le facteur <strong>de</strong> normalisation R aété introduit afin d’assurer l’invariance <strong>de</strong> la mesure Da<br />
par rapport au facteur d’échelle. Il est donné par:<br />
R =max(Rx,Ry,Rz), (8.5)<br />
∀ w ∈{x, y, z}, Rw = max ( max<br />
v∈{1,...,V } i∈{1,...,T } (χv,w i )) − min ( min<br />
v∈{1,...,V } i∈{1,...,T } (χv,w i )). (8.6)<br />
3. L’erreur DPeak (Peak Error) [121], utilisée afin d’évaluer les approches <strong>de</strong> codage quasisans<br />
perte. Elle mesure l’erreur maximale entre les géométries initiale <strong>et</strong> celle décodée.<br />
En utilisant les mêmes notations que pour l’erreur Da, l’erreur DPeak est définie par :<br />
avec<br />
DPeak = 1<br />
R × max(Dx Peak,D y<br />
Peak ,Dz Peak), (8.7)<br />
∀ w ∈{x, y, z}, D w Peak = max<br />
v∈{1,...,V } max<br />
i∈{1,...,T } |χv,w i − ˘χv,w i |. (8.8)<br />
4. L’erreur DKG [130], qui représente une variante <strong>de</strong> l’erreur quadratique moyenne entre<br />
la séquence originale <strong>et</strong> celle décodée. Elle est définie par la relation suivante :<br />
où χ g<br />
i<br />
DKG = 100 ×<br />
<br />
V T v=1 t=1 χvi − ˘χv i 2<br />
<br />
V T v=1 t=1 χvi − χgi<br />
2<br />
est le centre <strong>de</strong> gravité du maillage initial à l’instant i :<br />
χ g<br />
i<br />
= 1<br />
V<br />
V<br />
v=1<br />
, (8.9)<br />
χ v i . (8.10)<br />
5. L’erreur EN (cf. Section 5.3.2) qui mesure l’erreur quadratique moyenne induite par la<br />
compression <strong>de</strong>s normales associées aux somm<strong>et</strong>s du maillage dynamique.<br />
Pour évaluer les différentes métho<strong>de</strong>s, le principe est <strong>de</strong> comparer les valeurs obtenues <strong>de</strong><br />
ces différentes mesures <strong>de</strong> distorsion àunmême débit. Le débit est proportionnel à la taille du<br />
flux binaire obtenu <strong>et</strong> s’exprime soit en bit par trame par somm<strong>et</strong> (bpts), soit en kilos bits par<br />
secon<strong>de</strong> (Kbits/s), sous l’hypothèse d’une ca<strong>de</strong>nce vidéo <strong>de</strong> 25 trames par secon<strong>de</strong>s.<br />
L’évaluation expérimentale que nous avons conduite s’appuie sur ces différentes mesures.<br />
Elle est décrite en détails dans la section suivante.
202 Résultats expérimentaux<br />
8.3 Evaluation expérimentale<br />
Pour analyser en détails les performances <strong>de</strong> l’approche FAMC, nous avons structuré<br />
l’évaluation expérimentale en plusieurs parties. Ainsi, la première partie présente une évaluation<br />
expérimentale <strong>de</strong>s performances <strong>de</strong> compression <strong>de</strong>s différentes configurations du co<strong>de</strong>ur FAMC<br />
(Section 8.3.1). Ensuite, les paragraphes 8.3.2, 8.3.3 <strong>et</strong> 8.3.4 comparent respectivement l’approche<br />
FAMC àlatechniqueMCGV(cf. chapitre 6), aux co<strong>de</strong>urs MPEG-4/BIFS <strong>et</strong> MPEG-<br />
4/AFX-IC ainsi qu’à d’autres techniques <strong>de</strong> l’état <strong>de</strong> l’art. Enfin, la <strong>de</strong>rnière partie (Section<br />
8.4) est consacrée àl’évaluation <strong>de</strong>s différentes fonctionnalités supportés par FAMC.<br />
8.3.1 Comparaison <strong>de</strong>s différentes configurations <strong>de</strong> FAMC<br />
Lesfigures8.1<strong>et</strong>8.2présentent les courbes débit/distorsion obtenues pour les différentes<br />
configuration du co<strong>de</strong>ur FAMC : FAMC/DCT, FAMC/Lift, FAMC/LD, FAMC/DCT+LD,<br />
FAMC/Lift+LD <strong>et</strong> FAMC/ACP. Ici, le critère <strong>de</strong> distorsion r<strong>et</strong>enu est l’erreur Da <strong>et</strong> les débits<br />
sont exprimés en Kbits/s.<br />
Les résultats obtenus montrent que les configurations FAMC/DCT <strong>et</strong> FAMC/ACP offrent<br />
les meilleures performances débit/distorsion. L’approche FAMC/ACP se montre particulièrement<br />
efficace dans le cas d’animations présentant <strong>de</strong> fortes corrélations spatiales (“Dance”, “Elephant<br />
gallop”, “Humanoid”, “Snake” <strong>et</strong> “Horse gallop”) ou temporelles (“Cow” <strong>et</strong> “Chicken”) avec<br />
<strong>de</strong>s gains en termes <strong>de</strong> débits pouvant atteindre 60% par rapport à FAMC/DCT. Rappelons<br />
que la technique FAMC/ACP exploite une transformée <strong>de</strong> KL sur les trajectoires <strong>de</strong>s somm<strong>et</strong>s<br />
<strong>de</strong> chaque cluster du maillage dynamique. Cela perm<strong>et</strong> <strong>de</strong> construire une base orthonormale<br />
<strong>de</strong> vecteurs propres (cf. Section 7.4.2) associés à une décomposition optimale du signal d’animation.<br />
Pour que le déco<strong>de</strong>ur puisse reconstruire le signal, ces vecteurs propres doivent être<br />
inclus dans le flux binaire <strong>et</strong> transmis en tant qu’information auxiliaire. Dans le cas <strong>de</strong>s animations<br />
avec <strong>de</strong> fortes corrélations spatiales ou temporelles, le coût d’envoi d’une telle information<br />
supplémentaire est pleinement compensé par l’efficacité <strong>de</strong>lareprésentation. Notons cependant<br />
que pour <strong>de</strong>s animations courtes, avec un nombre réduit <strong>de</strong> somm<strong>et</strong>s par cluster (e.g., “Eagle”<br />
<strong>et</strong> “Rabbit”) le coût relatif d’une telle information auxiliaire <strong>de</strong>vient important, ce qui dégra<strong>de</strong><br />
les performances <strong>de</strong> compression associées.<br />
L’approche FAMC/DCT exploite une transformée DCT temporelle appliquée sur les trajectoires<br />
<strong>de</strong>s somm<strong>et</strong>s, couplée à une prédiction <strong>de</strong>lta spatiale (cf. Section 7.4.1). La transformée<br />
DCT n’est pas optimale pour représenter le signal d’animation considéré. Néanmoins, elle perm<strong>et</strong><br />
<strong>de</strong> s’affranchir <strong>de</strong> la transmission <strong>de</strong> toute information auxiliaire, puisque les vecteurs <strong>de</strong><br />
la base DCT sont les mêmes pour toutes les animations. L’approche DCT est particulièrement<br />
efficace dans le cas <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong> avec un nombre réduit <strong>de</strong> trames <strong>et</strong> <strong>de</strong> somm<strong>et</strong>s<br />
par cluster (“Eagle” <strong>et</strong> “Rabbit”).<br />
Comparée à la configuration FAMC/Lift, l’approche FAMC/DCT offre <strong>de</strong>s performances<br />
<strong>de</strong> compression plus élevées. Cela résulte du fait que la majorité <strong>de</strong>s animations considérées<br />
(e.g., “Eagle”, “Rabbit”, “Troll”, “Horse”, “Collapse”...) sont courtes (<strong>de</strong> 19 à53trames),<br />
ce qui pénalise les performances <strong>de</strong> l’approche par décomposition en on<strong>de</strong>l<strong>et</strong>tes en raison du<br />
nombre réduit <strong>de</strong> niveaux <strong>de</strong> résolution qui peuvent être construits. Notons également que la<br />
version en entiers du schéma <strong>de</strong> lifting <strong>de</strong> FAMC/Lift exploite une quantification uniforme <strong>de</strong>s<br />
coefficients, ce qui est sous-optimal [191].<br />
L’approche FAMC/LD s’appuie sur une prédiction hiérarchique spatio-temporelle locale (cf.<br />
Section 7.4.3). C<strong>et</strong>te approche se montre en général plus efficace que la technique FAMC/Lift.
8.3 Evaluation expérimentale 203<br />
Cela est particulièrement vrai dans le cas <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong> avec un échantillonnage<br />
spatial quasi-régulier (e.g., “Camel collapse”, “Camel gallop”, “Elaphant gallop”...). Ici, les<br />
corrélations spatiales sont fidèlement décrites par les relations d’adjacence entre somm<strong>et</strong>s<br />
(i.e., la moyenne <strong>de</strong>s voisins produit une bonne prédiction du somm<strong>et</strong> courant). Ainsi, la<br />
décomposition hiérarchique <strong>de</strong> FAMC/LD, qui est fondée exclusivement sur la connectivité du<br />
maillage, conduit à une prédiction efficace. Dans le cas <strong>de</strong>s animations avec un échantillonnage<br />
spatial irrégulier (e.g., “Eagle”, “Cow”, “Rabbit”...), la connectivité du maillage seule ne traduit<br />
plus les corrélations spatiales entre les somm<strong>et</strong>s du maillage. Cela explique la baisse <strong>de</strong>s<br />
performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC/LD pour ce type d’animation.<br />
Les configurations FAMC/DCT+LD <strong>et</strong> FAMC/Lift+LD exploitent respectivement une<br />
transformée DCT <strong>et</strong> en on<strong>de</strong>l<strong>et</strong>tes, hybridées avec une prédiction spatiale hiérarchique <strong>de</strong>s<br />
coefficients spectraux obtenus. Notons que les performances débit/distorsion <strong>de</strong> ces approches<br />
sont soit comparables soit moins efficaces que celle <strong>de</strong>s co<strong>de</strong>urs FAMC/DCT <strong>et</strong> FAMC/Lift.<br />
Cela montre que la procédure <strong>de</strong> prédiction hiérarchique appliquée aux coefficients spectraux<br />
(DCT ou on<strong>de</strong>l<strong>et</strong>tes) est moins efficace qu’une prédiction <strong>de</strong>lta spatiale adaptative appliquée<br />
uniquement aux coefficients <strong>de</strong> basses fréquences (cf. Section 7.4.1). Ces configurations perm<strong>et</strong>tent<br />
en revanche <strong>de</strong> supporter à la fois la scalabilité en qualité <strong>et</strong> la scalabilité spatiale.<br />
Le tableau 8.1 présente les complexités <strong>de</strong> calcul <strong>de</strong>s algorithmes <strong>de</strong> codage <strong>et</strong> <strong>de</strong> décodage<br />
<strong>de</strong>s différentes configurations <strong>de</strong> FAMC. Rappelons que V , VΠ <strong>et</strong> T représentent respectivement<br />
le nombre <strong>de</strong>s somm<strong>et</strong>s du maillage dynamique, le nombre maximal <strong>de</strong> somm<strong>et</strong>s par cluster <strong>et</strong><br />
le nombre <strong>de</strong> trames <strong>de</strong> l’animation.<br />
Configuration Complexité duco<strong>de</strong>ur Complexité dudéco<strong>de</strong>ur<br />
FAMC/Lift O(V × T ) O(V × T )<br />
FAMC/DCT O(V × log(T ) × T ) O(V × log(T ) × T )<br />
FAMC/LD O(V × T ) O(V × T )<br />
FAMC/Lif+LD O(V × T ) O(V × T )<br />
FAMC/DCT+LD O(V × log(T ) × T ) O(V × log(T ) × T )<br />
FAMC/ACP O(VΠ × T 2 + V 2 Π × T + min(VΠ,T) 3 ) O(V × T 2 )<br />
Table 8.1 : Complexités <strong>de</strong> calcul <strong>de</strong>s différentes configurations FAMC (VΠ est le nombre<br />
maximal <strong>de</strong> somm<strong>et</strong>s par cluster).<br />
Sans surprise, l’approche FAMC/ACP présente la plus gran<strong>de</strong> complexité <strong>de</strong> calcul aussi<br />
bien pour le codage (O(VΠ × T 2 + V 2 Π × T + min(VΠ,T) 3 ))quepourledécodage (O(V × T 2 )).<br />
En eff<strong>et</strong>, les hautes performances <strong>de</strong> compression <strong>de</strong> c<strong>et</strong>te approche sont obtenues au prix<br />
d’une complexité relativement importante. Appliquer une ACP par parties perm<strong>et</strong> <strong>de</strong> réduire<br />
considérablement la complexité <strong>de</strong>calcul,qui<strong>de</strong>vientO(VΠ × T 2 + V 2 Π × T + min(VΠ,T) 3 ),<br />
avec VΠ
204 Résultats expérimentaux<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
(g) (h)<br />
Figure 8.1 : Comparaison <strong>de</strong>s performances <strong>de</strong> compression <strong>de</strong>s différentes configurations<br />
FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5)<br />
FAMC/DCT+LD <strong>et</strong> (6) FAMC/ACP (partie 1).
8.3 Evaluation expérimentale 205<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
(g) (h)<br />
Figure 8.2 : Comparaison <strong>de</strong>s performances <strong>de</strong> compression <strong>de</strong>s différentes configuration<br />
FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5)<br />
FAMC/DCT+LD <strong>et</strong> (6) FAMC/ACP (partie 2).
206 Résultats expérimentaux<br />
Analysons maintenant <strong>de</strong> façon comparée les performances <strong>de</strong> compression <strong>de</strong>s <strong>de</strong>ux approches<br />
originales proposées dans c<strong>et</strong>te thèse, FAMC <strong>et</strong> MCGV.<br />
8.3.2 FAMC versus MCGV<br />
La Figure 8.3 compare les performances débit/distorsion du co<strong>de</strong>ur FAMC/DCT à celles <strong>de</strong><br />
l’approche MCGV (cf. Chapitre 6). La mesure <strong>de</strong> distorsion considérée ici est l’erreur RMSE.<br />
Les débits sont exprimés en bpts.<br />
Les résultats montrent que l’approche FAMC/DCT surclasse le co<strong>de</strong>ur MCGV avec <strong>de</strong>s<br />
gains en débits juqu’à 80%. Ces gains significatifs s’expliquent par la représentation par images<br />
géométriques utilisée par MCGV, qui induit <strong>de</strong>s pertes d’information à cause <strong>de</strong> la procédure<br />
<strong>de</strong> re-échantillonnage régulier <strong>de</strong> la géométrie du maillage. Ces pertes conduisent à une erreur<br />
RMSE importante. Nous constatons en eff<strong>et</strong> un phénomène <strong>de</strong> pallier : quel que soit le débit<br />
alloué, les distorsions <strong>de</strong> codage ne peuvent pas <strong>de</strong>scendre au <strong>de</strong>ssous d’une erreur limite. Cela<br />
rend l’approche MCGV particulièrement inefficace dans la plage <strong>de</strong>s moyens <strong>et</strong> hauts débits (2<br />
à 8 bpts) où l’on constate que les courbes débit/distorsion du co<strong>de</strong>ur MCGV ten<strong>de</strong>nt vers une<br />
asymptote horizontale.<br />
Notons également que le codage optimisé dumodèle <strong>de</strong> mouvement (partition, transformées<br />
affines <strong>et</strong> poids d’animation) considéré perm<strong>et</strong> au co<strong>de</strong>ur FAMC d’être particulièrement efficace<br />
aux bas <strong>et</strong> très bas débits (i.e., inférieurs à 2 bpts). Cela démontre àl’évi<strong>de</strong>nce la n<strong>et</strong>te<br />
supériorité <strong>de</strong> l’approche FAMC.<br />
Examinons àprésent comment FAMC se positionne par rapport aux technologies antérieures<br />
proposées par le standard MPEG-4.
8.3 Evaluation expérimentale 207<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 8.3 : Performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC/DCT vs. l’approche MCGV.<br />
8.3.3 FAMC versus les technologies MPEG-4<br />
Avant l’adoption <strong>de</strong> FAMC, le standard MPEG-4 supportait le codage <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>dynamiques</strong> à travers <strong>de</strong>ux technologies : BIFS (BInary Format for Scenes) [192] <strong>et</strong> IC (Interpolator<br />
<strong>Compression</strong>) [121].<br />
8.3.3.1 FAMC versus BIFS<br />
Les performances du co<strong>de</strong>ur FAMC ont été tout d’abord comparées à celles du schéma<br />
binarisation MPEG-4/BIFS [192]. Rappelons que le co<strong>de</strong>ur BIFS réalise seulement une binarisation<br />
<strong>de</strong> l’animation qui correspond à une représentation sans perte. Afin <strong>de</strong> réaliser une<br />
comparaison objective, nous avons considéré la configuration FAMC/Lift qui perm<strong>et</strong> <strong>de</strong> garantir<br />
une compression quasi-sans perte. Les erreurs résiduelles <strong>de</strong> prédiction on été iciquantifiées<br />
sur 16 bits.
208 Résultats expérimentaux<br />
Animation GBIFS (%) Animation GBIFS (%)<br />
“Ball” 80 “Box” 81<br />
“Camel collapse” 81 “Camel gallop” 79<br />
“Chicken” 83 “Cow” 77<br />
“Dance” 84 “Dolphin” 88<br />
“Dragon” 86 “Eagle” 83<br />
“Elephant gallop” 82 “Horse collapse” 83<br />
“Horse gallop” 82 “Humanoid” 87<br />
“Jump” 79 “Rabbit” 78<br />
“Raptor” 86 “Sanke” 82<br />
“Troll” 87 “Wolf” 84<br />
Table 8.2 : Gains <strong>de</strong> l’approche FAMC par rapport au schéma <strong>de</strong> binarisation BIFS.<br />
Le Tableau 8.2 présente les gains obtenus par FAMC par rapport à BIFS. Le facteur <strong>de</strong><br />
gain, noté GBIFS, estdéfini par :<br />
GBIFS =1− S(FAMC)<br />
, (8.11)<br />
S(BIFS)<br />
où S(FAMC)<strong>et</strong>S(BIFS) représentent respectivement la taille (en kbits) <strong>de</strong>s flux binaires<br />
obtenus par les co<strong>de</strong>urs FAMC/Lift (cf. Section 7.4.1) <strong>et</strong> BIFS.<br />
Ces résultats montrent que l’approche FAMC avec un codage quasi sans perte surclasse le<br />
schéma <strong>de</strong> binarisation BIFS avec un gain moyen <strong>de</strong> l’ordre <strong>de</strong> 83%. Cela est sans surprise,<br />
étant donné qu’aucune procédure <strong>de</strong> compression n’est exploitée par le co<strong>de</strong>ur BIFS.<br />
Analysons àprésent les performances <strong>de</strong> FAMC par rapport àlatechniqueAFX-IC,r<strong>et</strong>enue<br />
par le standard MPEG-4 en 2003.<br />
8.3.3.2 FAMC versus AFX-IC<br />
La Figure 8.4 présente les courbes débit/distorsion <strong>de</strong>s co<strong>de</strong>urs FAMC/DCT <strong>et</strong> AFX-IC<br />
[121] sur les modèles “Camel collapse”, “Horse collapse”, “Humanoid”, “Rabbit”, “Snake” <strong>et</strong><br />
“Eagle”. Le Tableau 8.3 synthétise les gains obtenus pour l’ensemble du corpus <strong>de</strong> test MPEG-4<br />
considéré.<br />
Le facteur <strong>de</strong> gain GIC <strong>de</strong> la technique FAMC par rapport à l’approche AFX-IC est défini<br />
par :<br />
GIC =1− S(FAMC)<br />
, (8.12)<br />
S(IC)<br />
où S(FAMC), S(BIFS) <strong>et</strong>S(IC) représentent respectivement la taille (en kbits) <strong>de</strong>s flux<br />
binaires obtenus par les co<strong>de</strong>urs FAMC/DCT <strong>et</strong> IC, pour une même distorsion. Les gains<br />
rapportés dans le Tableau 8.3 correspon<strong>de</strong>nt à <strong>de</strong>s gains moyens obtenus pour <strong>de</strong>s pas <strong>de</strong><br />
quantifications allant <strong>de</strong> 5 à 20 bits pour le co<strong>de</strong>ur IC, ce qui couvre la totalité <strong>de</strong> la plage <strong>de</strong><br />
débits utiles.<br />
Ces résultats montrent que l’approche proposée surclasse le co<strong>de</strong>ur AFX-IC avec <strong>de</strong>s gains<br />
GIC moyens <strong>de</strong> l’ordre <strong>de</strong> 76%. En eff<strong>et</strong>, la stratégie <strong>de</strong> prédiction spatio-temporelle locale du<br />
co<strong>de</strong>ur AFX-IC est trop élémentaire pour prendre en compte l’ensemble <strong>de</strong>s corrélations spatiales<br />
<strong>et</strong> temporelles du signal d’animation. A l’opposé, le co<strong>de</strong>ur FAMC exploite une prédiction
8.3 Evaluation expérimentale 209<br />
sophistiquée par modèle <strong>de</strong> skining, combinée à une transformée DCT temporelle <strong>et</strong> à une<br />
prédiction spatiale <strong>de</strong>lta. Cela lui perm<strong>et</strong> d’atteindre <strong>de</strong> hautes performances <strong>de</strong> compression<br />
en particuliers àbas<strong>et</strong>très bas débits (20 à 150 kbits/s).<br />
L’approche FAMC surclasse les techniques précé<strong>de</strong>mment proposées par le standard MPEG-<br />
4, tout en offrant une complexité <strong>de</strong> calcul compétitive. FAMC offre en même temps d’excellentes<br />
performances par rapport aux diverses techniques <strong>de</strong> l’état <strong>de</strong> l’art, comme discuté dans<br />
la section suivante.
210 Résultats expérimentaux<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 8.4 : FAMC/DCT vs. AFX-IC.<br />
Animation GIC (%) Animation GIC (%)<br />
“Ball” 99 “Box” 66<br />
“Camel collapse” 74 “Camel gallop” 76<br />
“Chicken” 77 “Cow” 71<br />
“Dance” 86 “Dolphin” 91<br />
“Dragon” 69 “Eagle” 62<br />
“Elephant gallop” 72 “Horse collapse” 60<br />
“Horse gallop” 64 “Humanoid” 94<br />
“Jump” 72 “Rabbit” 46<br />
“Raptor” 88 “Snake” 95<br />
“Troll” 83 “Wolf” 75<br />
Table 8.3 : Gains <strong>de</strong> l’approche FAMC par rapport au co<strong>de</strong>ur MPEG-4/AFX-IC.
8.3 Evaluation expérimentale 211<br />
8.3.4 FAMC versus les techniques <strong>de</strong> l’état <strong>de</strong> l’art<br />
Nous avons r<strong>et</strong>enu pour comparaison les techniques <strong>de</strong> compression par : (1) on<strong>de</strong>l<strong>et</strong>tes<br />
temporelles TWC [142], (2) on<strong>de</strong>l<strong>et</strong>tes temporelles avec compensation <strong>de</strong> mouvement MCWT<br />
[143], (3) on<strong>de</strong>l<strong>et</strong>tes spatiales irrégulières AWC [153], (4) ACP globale LPCA [130], (5) ACP<br />
par parties CPCA [134], <strong>et</strong> (6) ACP globale combinée à une prédiction spatiale CODDYAC<br />
[133].<br />
La figure 8.5 présente les courbes débit/distorsion correspondant à FAMC/DCT <strong>et</strong> à<br />
FAMC/ACP ainsi qu’à d’autres métho<strong>de</strong>s <strong>de</strong> la littérature pour les animations “Chicken”,<br />
“Cow”, “Dance“ <strong>et</strong> “Dolphin”.<br />
Les débits sont exprimés en bits par somm<strong>et</strong> par trame (bpst). Les distorsions <strong>de</strong> compression<br />
sont mesurées en utilisant l’erreur DKG entre <strong>maillages</strong> initiaux <strong>et</strong> reconstruits.<br />
Notons que pour l’ensemble <strong>de</strong>s modèles <strong>et</strong> àtouslesdébits, les <strong>de</strong>ux configurations du<br />
co<strong>de</strong>ur FAMC offrent les meilleures performances.<br />
La comparaison <strong>de</strong>s performances <strong>de</strong>s approches FAMC/DCT <strong>et</strong> FAMC/ACP à celles <strong>de</strong>s<br />
co<strong>de</strong>urs AWC, TWC <strong>et</strong> MCWT font état <strong>de</strong> gains <strong>de</strong> l’ordre <strong>de</strong> 20%-80% (e.g. animation “Chicken”<br />
<strong>et</strong> “Cow”). Ce résultat s’explique par l’efficacité <strong>de</strong>l’étape <strong>de</strong> compensation par modèle<br />
<strong>de</strong> peau proposée par FAMC qui surclasse celle <strong>de</strong> MCWT (compensation <strong>de</strong>s translations),<br />
<strong>de</strong> TWC (codage <strong>de</strong>lta <strong>de</strong>s coefficients on<strong>de</strong>l<strong>et</strong>tes) <strong>et</strong> <strong>de</strong> AWC (prédiction <strong>de</strong>lta temporelle).<br />
Le co<strong>de</strong>ur FAMC/DCT proposé perm<strong>et</strong>également d’atteindre <strong>de</strong> meilleurs résultats que<br />
ceux obtenus par les approches LPCA, CPCA <strong>et</strong> CODDYAC, tout en offrant une complexité<br />
<strong>de</strong> calcul significativement plus faible. Ici encore, la compensation <strong>de</strong> mouvement par modèle<br />
<strong>de</strong> peau s’avère encore une fois déterminante pour les performances <strong>de</strong> compression. En outre,<br />
la décomposition <strong>de</strong>s erreurs résiduelles <strong>de</strong> compensation <strong>de</strong> mouvements par DCT perm<strong>et</strong> <strong>de</strong><br />
s’affranchir <strong>de</strong> la transmission <strong>de</strong>s vecteurs <strong>de</strong> la base, nécessaire dans le cas d’une compression<br />
par ACP.<br />
Quant à l’approche FAMC/ACP, elle amélior encore plus les performances <strong>de</strong> FAMC/DCT<br />
grâce : (1) à l’optimalité <strong>de</strong> la transformée KL appliquée, (2) à la quantification adaptative <strong>de</strong>s<br />
vecteurs <strong>de</strong> l’ACP <strong>et</strong> (3) àlamodélisation efficace du mouvement par modèle <strong>de</strong> skining.<br />
Comparé aux techniques <strong>de</strong> l’état <strong>de</strong> l’art, le co<strong>de</strong>ur FAMC proposé offre <strong>de</strong>s performances<br />
<strong>de</strong> compression plus efficace avec <strong>de</strong>s gains en termes <strong>de</strong> débits compris entre 20% <strong>et</strong> 80%. En<br />
outre, FAMC supporte un ensemble compl<strong>et</strong> <strong>de</strong> fonctionnalités avancées, comme discuté dans<br />
le paragraphe suivant.
212 Résultats expérimentaux<br />
8.4 Fonctionnalités<br />
8.4.1 Scalabilité spatiale<br />
(a) (b)<br />
(c) (d)<br />
Figure 8.5 : FAMC vs. les techniques <strong>de</strong> l’état <strong>de</strong> l’art.<br />
La figure 8.6 illustre la fonctionnalité <strong>de</strong> scalabilité spatiale pour la configuration FAMC/LD,<br />
pour les animations “Horse gallop”, “Dragon”, “Eagle”, “Troll”, “Wolf” <strong>et</strong> “Raptor”. Ici, la<br />
représentation hiérarchique LD considérée (cf. Section 7.4.3) perm<strong>et</strong> <strong>de</strong> dériver une représentation<br />
multirésolution du maillage dynamique àdifférents niveaux <strong>de</strong> détails.<br />
Notonsqueleniveau<strong>de</strong>détails <strong>de</strong> plus basse résolution inclut en moyenne 10 fois moins <strong>de</strong><br />
triangles que le maillage original. Cela perm<strong>et</strong> au déco<strong>de</strong>ur d’adapter les contenus <strong>dynamiques</strong><br />
aux capacités d’affichage du terminal ainsi qu’à la position du maillage dynamique dans la<br />
scène par rapport àlacaméra. Ainsi, si l’obj<strong>et</strong> est loin <strong>de</strong> l’observateur, une version grossière<br />
est affichée. Au fur <strong>et</strong> à mesure que l’obj<strong>et</strong> se rapproche <strong>de</strong> l’observateur <strong>de</strong>s résolutions <strong>de</strong><br />
plus en plus fines sont décodées <strong>et</strong> visualisées.<br />
Notons également qu’une telle approche perm<strong>et</strong> un décodage progressif du flux compressé,<br />
àpartirduniveau<strong>de</strong>détails le plus grossier <strong>et</strong> jusqu’aux résolutions les plus fines. Ainsi, le<br />
déco<strong>de</strong>ur peut décompresser <strong>et</strong> afficher à tout instant <strong>de</strong> la transmission une version plus au<br />
moins fidèle <strong>de</strong> l’animation, en fonction <strong>de</strong> la quantité d’information reçue.
8.4 Fonctionnalités 213<br />
(a) 164 KBits/s, 1813 triangles (b) 407 KBits/s, 8696 triangles (c) 609 KBits/s, 16843 triangles<br />
(d) 46 KBits/s, 708 triangles (e) 84 KBits/s, 3320 triangles (f) 115 KBits/s, 6350 triangles<br />
(g) 63 KBits/s, 211 triangles (h) 79 KBits/s, 469 triangles (i) 91 KBits/s, 792 triangles<br />
(j) 270 KBits/s, 1090 triangles (k) 296 KBits/s, 5195 triangles<br />
(l) 319 KBits/s, 9896 triangles<br />
(m) 121 KBits/s, 424 triangles (n) 141 KBits/s, 1624 triangles (o) 168 KBits/s, 4242 triangles<br />
(p) 128 KBits/s, 968 triangles (q) 171 KBits/s, 4746 triangles (r) 209 KBits/s, 4962 triangles<br />
Figure 8.6 : Scalabilité spatiale du co<strong>de</strong>ur FAMC/LD pour les animations : (a, b, c) “Horse<br />
gallop”, (d, e, f) “Dragon”, (g, h, i) “Eagle”, (j, k, l) “Troll”, (m, n, o) “Wolf” <strong>et</strong> (p, q, r)<br />
“Raptor”.
214 Résultats expérimentaux<br />
8.4.2 Scalabilité en qualité<br />
La figure 8.7 illustre la fonctionnalité <strong>de</strong> scalabilité en qualité du co<strong>de</strong>ur FAMC/DCT,<br />
pour les animations “Chicken”, “Cow”, “Dance”, “Dolphin”, “Jump” <strong>et</strong> “Snake”. Pour toutes<br />
ces animations, les coefficients spectraux ont été structurés en quatre ban<strong>de</strong>s <strong>de</strong> fréquences<br />
<strong>de</strong> même taille (cf. Section 7.5.3). Le premier point <strong>de</strong> chacune <strong>de</strong>s courbes débit/distorsion<br />
correspond à l’animation obtenue juste en codant le modèle <strong>de</strong> mouvement. Les autre points<br />
sont obtenus en décodant successivement les quatre ban<strong>de</strong>s spectrales.<br />
Notons que le décodage <strong>de</strong> la première ban<strong>de</strong> spectrale perm<strong>et</strong> <strong>de</strong> réduire considérablement<br />
la distorsion Da. Cela montre que l’énergie du signal d’animation est concentrée en gran<strong>de</strong><br />
partie dans les coefficients <strong>de</strong> basses fréquences. La structuration du flux binaire sous forme<br />
<strong>de</strong> niveaux <strong>de</strong> détails perm<strong>et</strong> au déco<strong>de</strong>ur <strong>de</strong> déco<strong>de</strong>r au fur <strong>et</strong> à mesure du processus <strong>de</strong><br />
transmission différentes versions <strong>de</strong> l’animation selon la quantité d’information reçue.<br />
La fonctionnalité <strong>de</strong> scalabilité en qualité perm<strong>et</strong> notamment <strong>de</strong> s’adapter aux débits variables<br />
<strong>de</strong>s réseaux <strong>de</strong> transmission considérés.
8.4 Fonctionnalités 215<br />
8.4.3 Codage <strong>de</strong>s attributs<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 8.7 : Scalabilité en qualité.<br />
Afin d’illustrer la fonctionnalité <strong>de</strong> codage <strong>de</strong>s attributs, nous avons considéré lecas<strong>de</strong>s<br />
normales souvent associées aux somm<strong>et</strong>s <strong>de</strong>s <strong>maillages</strong> <strong>dynamiques</strong>, dans le cadre d’applications<br />
<strong>de</strong> visualisation rapi<strong>de</strong>.<br />
La Figure 8.8 compare les performances <strong>de</strong> codage du co<strong>de</strong>ur FAMC/DCT à celles <strong>de</strong> AFX-<br />
IC qui est le seul co<strong>de</strong>ur <strong>de</strong> la littérature antérieur àFAMCà fournir <strong>de</strong> tels résultats. Notons<br />
que le codage <strong>de</strong>s normales est rarement considéré par les travaux <strong>de</strong> la littérature <strong>et</strong> dans les<br />
rares cas où il est traités (par exemple [12]) aucun résultat expérimental n’est fourni. Dans<br />
notre évaluation, nous avons considéré comme mesure <strong>de</strong> distorsion l’erreur EN. Lesdébits<br />
sont ici exprimés en kbits/s.<br />
Les résultats <strong>de</strong> la Figure 8.8 montrent encore une fois que l’approche proposée surclasse
216 Résultats expérimentaux<br />
le co<strong>de</strong>ur AFX-IC avec <strong>de</strong>s gains moyens en débit <strong>de</strong> l’ordre <strong>de</strong> 60%. En eff<strong>et</strong>, le co<strong>de</strong>ur<br />
FAMC/DCT perm<strong>et</strong> d’obtenir <strong>de</strong>s performances <strong>de</strong> compression élevées à partir <strong>de</strong>s très bas<br />
débits (50 à 100 kbits/s) <strong>et</strong> ce grâce àlaprocédure <strong>de</strong> prédiction <strong>de</strong>s normales par modèle <strong>de</strong><br />
skinning <strong>et</strong> au codage hybri<strong>de</strong> par DCT <strong>et</strong> prédiction <strong>de</strong>lta spatiale adaptative.<br />
(a) (b)<br />
(c) (d)<br />
Figure 8.8 : Codage <strong>de</strong>s normales : FAMC/DCT vs. AFX-IC.<br />
8.4.4 Codage quasi sans perte<br />
Afin <strong>de</strong> m<strong>et</strong>tre en évi<strong>de</strong>nce la fonctionnalité <strong>de</strong> codage quasi sans perte, la Figure 8.9<br />
présente les courbes débit/distorsion obtenues en considérant comme mesure <strong>de</strong> distorsion<br />
l’erreur DPeak.<br />
Ces résultats montrent que les approches <strong>de</strong> codage LD, Lift <strong>et</strong> Lift+LD conduisent aux<br />
meilleures performances <strong>de</strong> compression. En eff<strong>et</strong>, ces techniques appliquent une quantification<br />
dans l’espace spatio-temporel initial <strong>et</strong> non dans celui spectral, ce qui perm<strong>et</strong> <strong>de</strong> contrôler directement<br />
l’erreur maximale DPeak. En revanche, les autres configurations (i.e.,FAMC/DCT<strong>et</strong><br />
FAMC/ACP) considérent une quantification dans l’espace spectral. Cela garantit uniquement<br />
le contrôle <strong>de</strong> l’erreur moyenne.<br />
Ainsi, seules les configurations FAMC/LD, FAMC/Lift <strong>et</strong> FAMC/Lift+LD répon<strong>de</strong>nt àla<br />
fonctionnalité <strong>de</strong> codage quasi sans pertes.<br />
Analysons enfin dans quelle mesure FAMC répond à la fonctionnalité <strong>de</strong>streaming qui<br />
perm<strong>et</strong>, au niveau du déco<strong>de</strong>ur, la reconstruction àlavolée <strong>de</strong>s séquences d’animation.
8.4 Fonctionnalités 217<br />
8.4.5 Streaming<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 8.9 : Codage quasi sans perte.<br />
La Figure 8.10 présente les performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC avec <strong>et</strong> sans<br />
streaming. Ici, la longueur maximale <strong>de</strong>s segments d’animation considérée a été fixée à 32, ce<br />
qui correspond à environ 1,5 secon<strong>de</strong>s d’animation.<br />
Pour les animations “Dance”, “Dolphin”, “Cow”, “Jump” <strong>et</strong> “Snake”, la prise en compte<br />
<strong>de</strong> l’option <strong>de</strong> streaming conduit à une légère dégradation <strong>de</strong>s performances <strong>de</strong> compression.<br />
L’analyse <strong>de</strong> ces résultats en termes d’erreurs <strong>de</strong> prédiction montre que pour ces séquences le<br />
modèle <strong>de</strong> peau calculé pourlaséquence entière est quasi-optimal. Déterminer <strong>et</strong> intégrer <strong>de</strong>s<br />
modèles <strong>de</strong> peau pour chaque sous-segment ne fait donc qu’augmenter la taille du flux obtenu.<br />
Toutefois, dans le cas du maillage dynamique “Chicken”, le co<strong>de</strong>ur FAMC avec streaming offre<br />
<strong>de</strong>s taux <strong>de</strong> compression plus élevés. Pour c<strong>et</strong>te séquence relativement longue (400 trames),
218 Résultats expérimentaux<br />
les modèles <strong>de</strong> peau individuels associés à chaque segment temporel se montrent plus adaptés<br />
qu’un unique modèle global.<br />
(a) (b)<br />
(c) (d)<br />
(e) (f)<br />
Figure 8.10 : Performances <strong>de</strong> compression du co<strong>de</strong>ur FAMC/DCT avec <strong>et</strong> sans streaming.<br />
8.5 Conclusion<br />
Dans ce chapitre, nous avons présenté une évaluation expérimentale <strong>et</strong> comparée <strong>de</strong> la<br />
technique FAMC.<br />
La comparaison conduite sur le corpus <strong>de</strong> test MPEG-4 composé d’une vingtaine <strong>de</strong> séquences<br />
d’animation, établit objectivement la supériorité <strong>de</strong>lamétho<strong>de</strong> FAMC par rapport àMCGV,<br />
aux techniques MPEG-4 BIFS <strong>et</strong> AFX-IC, ainsi qu’aux métho<strong>de</strong>s <strong>de</strong> l’état <strong>de</strong> l’art.<br />
En raison <strong>de</strong> ces performances élevées <strong>et</strong> <strong>de</strong>s fonctionnalités supportées, FAMC a été r<strong>et</strong>enu<br />
pour adoption dans le standard, en tant qu’amen<strong>de</strong>ment 2 <strong>de</strong> la partie 16 - AFX.
Conclusion<br />
Dans c<strong>et</strong>te thèse, nous avons abordé laproblématique <strong>de</strong> la compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong><br />
<strong>statiques</strong> <strong>et</strong> animés.<br />
Ce travail a abouti au développement <strong>de</strong> quatre approches originales <strong>de</strong> compression <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong>, dont <strong>de</strong>ux concernent les modèles <strong>statiques</strong> <strong>et</strong> <strong>de</strong>ux les modèles <strong>dynamiques</strong>. En<br />
outre, <strong>de</strong>ux métho<strong>de</strong>s <strong>de</strong> segmentation au sens du mouvement d’un maillage <strong>3D</strong> animé sont<br />
également proposées.<br />
Le premier chapitre <strong>de</strong> ce mémoire <strong>de</strong> thèse introduit le formalisme mathématique <strong>de</strong><br />
représentation <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>, avec un rappel <strong>de</strong>s principales définitions <strong>et</strong> propriétés géométriques<br />
<strong>et</strong> topologiques. Un état <strong>de</strong> l’art <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong><br />
yestégalement proposé.<br />
La première métho<strong>de</strong> <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>statiques</strong>, appelée TFAN (Chapitre 2)<br />
(Triangle Fan-based compression), vise à assurer une représentation <strong>3D</strong> compacte, sous une<br />
contrainte <strong>de</strong> basse complexité <strong>de</strong> calcul au niveau du déco<strong>de</strong>ur. La métho<strong>de</strong> TFAN se montre<br />
particulièrement adaptée pour compresser les obj<strong>et</strong>s <strong>3D</strong> CAO considérés dans le cadre du<br />
proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong>. En raison <strong>de</strong> sa généralité, la métho<strong>de</strong> TFAN offre <strong>de</strong>s gains<br />
significatifs en taux <strong>de</strong> compression (6 à 33%) ainsi qu’en temps <strong>de</strong> décodage (plus <strong>de</strong> 50%<br />
en moyenne) par rapports aux métho<strong>de</strong>s <strong>de</strong> l’état <strong>de</strong> l’art sur ce corpus très difficile, incluant<br />
plus <strong>de</strong> 4000 obj<strong>et</strong>s <strong>de</strong> topologies irrégulières (<strong>de</strong> type manifold ou non, orientable ou non,<br />
présentant <strong>de</strong> multiples composantes connexes...).<br />
En raison <strong>de</strong> sa faible complexité<strong>de</strong>décodage <strong>et</strong> <strong>de</strong> ses performances <strong>de</strong> compression élevées,<br />
le co<strong>de</strong>ur TFAN semble le candidat <strong>de</strong> premier plan pour le déploiement <strong>de</strong>s contenus <strong>de</strong> type<br />
CAO sur téléphones portables. Depuis avril 2008, il est évaluédanslecadre<strong>de</strong>l’expérimentation<br />
technique du groupe MPEG-4/<strong>3D</strong>GC sur la compression <strong>de</strong> basse complexité <strong>de</strong> <strong>maillages</strong> <strong>3D</strong>.<br />
La <strong>de</strong>uxième approche <strong>de</strong> compression proposée (Chapitre 3) est dédiée au codage <strong>de</strong>s<br />
<strong>maillages</strong> <strong>3D</strong> <strong>de</strong>nses àgéométries lisses, comme ceux issus <strong>de</strong>s processus <strong>de</strong> numérisation <strong>3D</strong>.<br />
Elle exploite une approximation (sans perte <strong>de</strong> connectivité) par surfaces B-Splines couplée<br />
avec un codage JPEG2000. La représentation proposée offre <strong>de</strong>s performances <strong>de</strong> compression<br />
élevées, en particulier àbasdébits, tout en assurant la fonctionnalité <strong>de</strong> scalabilité en qualité.<br />
Dans le contexte <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> animés, nous avons considérélesreprésentations<br />
par trames clés, à connectivité fixe<strong>et</strong>géométrievariabledansl<strong>et</strong>emps,quis’imposent<br />
aujourd’hui dans les industries <strong>de</strong>s films <strong>3D</strong> <strong>et</strong> <strong>de</strong>s jeux vidéos. Le chapitre 4 propose une revue<br />
<strong>de</strong> l’état <strong>de</strong> l’art <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> compression dédiées à ces représentations.<br />
L’ensemble <strong>de</strong>s développements effectués sont fondés sur la construction d’un modèle <strong>de</strong><br />
peau (skinning), déterminé automatiquement à partir <strong>de</strong>s séquences animées (Chapitre 5).<br />
219
220 Conclusion<br />
Deux approches originales <strong>de</strong> segmentation au sens <strong>de</strong> mouvement, l’un par classification en<br />
k-moyennes <strong>et</strong> l’autre par décimation hiérarchique, ont été ici proposées <strong>et</strong> validées expérimentalement.<br />
La métho<strong>de</strong> <strong>de</strong> construction du modèle <strong>de</strong> peau ouvre la voie aux approches <strong>de</strong><br />
compression par compensation <strong>de</strong> mouvement développées par la suite.<br />
Un premier schéma <strong>de</strong> compression, appelée MCGV (Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o) <strong>et</strong><br />
présenté au Chapitre 6, combine la stratégie <strong>de</strong> prédiction par modèle <strong>de</strong> peau avec une<br />
représentation <strong>de</strong>s erreurs résiduelles sous forme d’une séquence d’images géométriques 2D<br />
qui est compressée grâce aux co<strong>de</strong>urs standardisés JPEG ou MPEG-4. L’approche MCGV assure<br />
<strong>de</strong>s hautes performances <strong>de</strong> compression àbasdébit <strong>et</strong> <strong>de</strong>s fonctionnalités avancées <strong>de</strong><br />
streaming <strong>et</strong> <strong>de</strong> scalabilité temporelle <strong>et</strong> en qualité.<br />
Un <strong>de</strong>uxième schéma <strong>de</strong> compression, appelé FAMC(Frame-based Animated Mesh <strong>Compression</strong>)<br />
est ensuite proposé (Chapitre 7). Contrairement à MCGV, l’approche FAMC considère<br />
un codage hybri<strong>de</strong>, prédictif <strong>et</strong> par transformées <strong>de</strong>s erreurs résiduelles <strong>de</strong> compensation <strong>de</strong><br />
mouvement. Plusieurs transformées (en Cosinus Discrère, en on<strong>de</strong>l<strong>et</strong>tes, <strong>de</strong> Karhunen-Loève<br />
ou encore par décomposition en niveaux hiérarchiques), bien connues pour leur propriétés <strong>de</strong><br />
décorrélation du signal sont ici considérées, dans le cadre d’une architecture extensible <strong>et</strong> modulable.<br />
L’approche FAMC offre à la fois une compression efficace <strong>de</strong> la géométrie <strong>et</strong> <strong>de</strong>s attributs<br />
photométriques associés aux somm<strong>et</strong>s du maillage dynamique, tout en assurant <strong>de</strong>s fonctionnalités<br />
<strong>de</strong> streaming, <strong>de</strong> scalabilité (spatiale, temporelle <strong>et</strong> en qualité), ou encore <strong>de</strong> codage<br />
quasi-sans pertes.<br />
En raison <strong>de</strong> ces performances élevées en terme d’efficacité <strong>de</strong> compression <strong>et</strong> <strong>de</strong> l’ensemble<br />
compl<strong>et</strong> <strong>de</strong>s fonctionnalités supportées, FAMC a été r<strong>et</strong>enue pour intégration dans le standard<br />
ISO/MPEG-4, en tant qu’amen<strong>de</strong>ment 2 <strong>de</strong> la partie 16 - AFX (dont la sortie officielle est<br />
prévue en Juill<strong>et</strong> 2008).<br />
Enfin, l’étu<strong>de</strong> expérimentale proposée au Chapitre 8 vali<strong>de</strong>, sur le corpus <strong>de</strong> test MPEG-4,<br />
l’ensemble <strong>de</strong>s développements proposés. En particulier, elle m<strong>et</strong> en évi<strong>de</strong>nce la supériorité<br />
<strong>de</strong> la métho<strong>de</strong> FAMC aussi bien par rapport àMCGV,qu’àd’autres techniques du standard<br />
MPEG-4 <strong>et</strong> <strong>de</strong> la littérature.<br />
Les perspectives <strong>de</strong> c<strong>et</strong>te thèse portent essentiellement sur une combinaison <strong>de</strong>s <strong>de</strong>ux approches<br />
FAMC <strong>et</strong> TFAN afin d’assurer un unique flux MPEG-4 capable <strong>de</strong> représenter <strong>de</strong><br />
façon efficace <strong>et</strong> unifiée tout maillage <strong>3D</strong> statique ou dynamique. Un tel flux unique perm<strong>et</strong>trait<br />
<strong>de</strong> décrire, outre les animations spécifiées par trames clés, celles décrites par structures <strong>de</strong><br />
squel<strong>et</strong>tes hiérarchiques arbitraires (BBA - Bone Based Animation) en exploitant la stratégie<br />
<strong>de</strong> prédiction par modèle <strong>de</strong> skinning <strong>et</strong> celles par métamorphose grâce à la configuration<br />
FAMC/ACP.<br />
Un <strong>de</strong>uxième axe <strong>de</strong> recherche fort prom<strong>et</strong>teur concerne l’implantation matérielle du co<strong>de</strong>ur<br />
TFAN. Cela perm<strong>et</strong>tra notamment <strong>de</strong> réduire le flux d’information entre mémoire vive <strong>et</strong> carte<br />
graphique, tout en allégeant les calculs réalisés par le CPU, optimisant ainsi à la fois l’utilisation<br />
<strong>de</strong> la mémoire graphique <strong>et</strong> <strong>de</strong>s ressources <strong>de</strong> calcul disponibles.
Liste <strong>de</strong> publications <strong>et</strong> communications<br />
associées<br />
Chapitres <strong>de</strong> livre<br />
K. Mamou, F. Prêteux, R. Prost, S. Val<strong>et</strong>te, <strong>Compression</strong> of static and dynamic 3-D<br />
meshes, A. Naït-Ali, C. Cavaro-Ménard (Ed.), <strong>Compression</strong> of Biomedical Images and Signals,<br />
ISTE, Chippenham, UK, October 2007, p. 211-245.<br />
K. Mamou, F. Prêteux, R. Prost, S. Val<strong>et</strong>te <strong>Compression</strong> <strong>de</strong>s <strong>maillages</strong> surfaciques <strong>3D</strong><br />
<strong>statiques</strong> <strong>et</strong> <strong>dynamiques</strong>, A. Naït-Ali, C. Cavaro-Ménard (Ed.), <strong>Compression</strong> <strong>de</strong>s images <strong>et</strong><br />
<strong>de</strong>s signaux médicaux, Traité IC2-Série Information <strong>et</strong> Science du Vivant, Hermès-Lavoisier,<br />
Paris, France, February 2007, p. 231-267.<br />
Articles <strong>de</strong> journaux<br />
K. Mamou, T. Zaharia, F. Prêteux, A DCT-based approach for dynamic <strong>3D</strong> mesh<br />
compression, WSEAS Transactions on Information Science and Applications, Vol. 3(8), October<br />
2006, p. 1947-1954.<br />
K. Mamou, T. Zaharia, F. Prêteux, A skinning approach for dynamic <strong>3D</strong> mesh compression,<br />
Computer Animation and Virtual Worlds, Vol. 17(3-4), July 2006, p. 337-346.<br />
K. Mamou, T. Zaharia, F. Prêteux, Progressive <strong>3D</strong> mesh compression : a B-spline<br />
approach, WSEAS Transactions on Communications, Vol. 8(4), August 2005, p. 587-597.<br />
Articles <strong>de</strong> conférences internationales<br />
K. Mamou, T. Zaharia, F. Prêteux, FAMC : the MPEG-4 standard for animated mesh<br />
compression IEEE International Conference on Image Processing (ICIP’2008), San Diego,<br />
CA, U.S.A. (to appear), October 2008.<br />
221
222<br />
K. Mamou, T. Zaharia, F. Prêteux, A. Kamoun, F. Payan, M. Antonini, Two Optimizations<br />
of the MPEG-4 FAMC standard for Enhanced <strong>Compression</strong> of Animated <strong>3D</strong><br />
Meshes IEEE International Conference on Image Processing (ICIP’2008), San Diego, CA,<br />
U.S.A. (to appear), October 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, N. Stefanoski, J. Ostermann, Frame-based compression<br />
of animated meshes in MPEG-4 IEEE International Conference on Multimedia & Expo<br />
(ICME’2008), Hannover, Germany (to appear), June 2008.<br />
K. Mamou, N. Stefanoski, H. Kirchhoffer, K. Müller, T. Zaharia, F. Prêteux, D. Marpe, J.<br />
Ostermann, The new MPEG-4/FAMC standard for animated <strong>3D</strong> mesh compression,<br />
<strong>3D</strong>TV Conference (<strong>3D</strong>TV-CON 2008), Istanbul, Turkey (to appear), May 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, FAMC : La nouvelle technologie MPEG-4 pour<br />
la compression d’animations <strong>3D</strong> Actes 5èmes Ateliers <strong>de</strong> Travail sur l’Analyse d’Images,<br />
Métho<strong>de</strong>s <strong>et</strong> Applications (TAIMA’2007), Hammam<strong>et</strong>, Tunisia, May 2007, p. 381-388.<br />
K. Mamou, T. Zaharia, F. Prêteux, Image-based compression scheme for dynamic articulated<br />
<strong>3D</strong> meshes, International Symposium on Image/Vi<strong>de</strong>o Communications over Fixed<br />
and Mobile N<strong>et</strong>works (ISIVC’06), Hammam<strong>et</strong>, Tunisia (CDROM), September 2006.<br />
K. Mamou, T. Zaharia, F. Prêteux, A skinning prediction scheme for dynamic <strong>3D</strong><br />
mesh compression, SPIE Conference on Mathematics of Data/Image Pattern Recognition,<br />
<strong>Compression</strong>, and Encryption with Applications IX, San Diego, CA, Vol. 6315, August 2006,<br />
p. 631502 :1-12.<br />
K. Mamou, T. Zaharia, F. Prêteux, Temporal-DCT-based compression of <strong>3D</strong> dynamic<br />
meshes, WSEAS International Conference on Communications, Vouliagmeni, Greece,<br />
(CDROM), July 2006.<br />
K. Mamou, T. Zaharia, F. Prêteux, Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o : A compact representation<br />
for <strong>3D</strong> animations, International Conference on <strong>3D</strong> Processing, Visualization and<br />
Transmission (<strong>3D</strong>PVT 2006), IEEE Computer Soci<strong>et</strong>y Press, Chapel Hill, NC (CD-ROM),<br />
May 2006.<br />
K. Mamou, T. Zaharia, F. Prêteux, Evaluation <strong>de</strong>s approches <strong>de</strong> compression <strong>3D</strong> pour<br />
les <strong>maillages</strong> <strong>de</strong> type CAO Actes 4ème Ateliers <strong>de</strong> Travail sur l’Analyse d’Images, Métho<strong>de</strong>s<br />
<strong>et</strong> Applications (TAIMA’2005), Hammam<strong>et</strong>, Tunisia, September 2005, p. 381-388.<br />
K. Mamou, T. Zaharia, F. Prêteux, A preliminary evaluation of <strong>3D</strong> mesh animation<br />
coding techniques, SPIE Conference on Mathematical M<strong>et</strong>hods in Pattern and Image Analysis,<br />
San Diego, CA, Vol. 5916, August 2005, p. 44-55.<br />
K. Mamou, T. Zaharia, F. Prêteux, A multiple B-Spline representation for progressive<br />
<strong>3D</strong> mesh compression, WSEAS International Conference on Communications, Vouliagmeni,<br />
Greece (CDROM), July 2005.
K. Mamou, T. Zaharia, F. Prêteux, <strong>3D</strong> mesh coding techniques applied to CAD<br />
data : a comparative evaluation, International Conference on Intelligent Access of Multimedia<br />
Documents on Intern<strong>et</strong> (MediaN<strong>et</strong>’2004), Tozeur, Tunisia, November 2004, p. 17-35.<br />
Articles <strong>de</strong> conférences nationales<br />
K. Mamou, T. Zaharia, F. Prêteux, FAMC:lanouvellenormeMPEG-4pourlecodage<br />
<strong>de</strong> maillage <strong>3D</strong> animé, Actes 14ème Congrès Francophone AFRIF-AFIA Reconnaissance <strong>de</strong>s<br />
Formes <strong>et</strong> Intelligence Artificielle (RFIA’2008), Amiens, France (CDROM), January 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, Segmentation au sens du mouvement <strong>de</strong> <strong>maillages</strong> <strong>dynamiques</strong>,<br />
Actes 21eme Colloque GRETSI sur le Traitement du Signal <strong>et</strong> <strong>de</strong>s Images (GRET-<br />
SI’2007), Troyes, France, September 2007, p. 69-72.<br />
K. Mamou, T. Zaharia, F. Prêteux, Modèle <strong>de</strong> skinning pour la compression <strong>de</strong> <strong>maillages</strong><br />
<strong>dynamiques</strong> <strong>3D</strong>, Actes 11èmes Journées d’Etu<strong>de</strong>s <strong>et</strong> d’Echanges <strong>Compression</strong> <strong>et</strong> Représentation<br />
<strong>de</strong>s Signaux Audiovisuels (CORESA’2006), Caen, France (CDROM), November 2006.<br />
K. Mamou, T. Zaharia, F. Prêteux, <strong>Compression</strong> progressive <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> par<br />
approximation B-spline, Actes 10èmes Journées d’étu<strong>de</strong>s <strong>et</strong> d’échanges <strong>Compression</strong> <strong>et</strong><br />
Représentation <strong>de</strong>s Signaux Audiovisuels (CORESA’2005), Rennes, France, November 2005,<br />
p. 183-188.<br />
Rapports <strong>de</strong> standardisation<br />
K. Mamou, T. Zaharia, F. Prêteux, TFAN : A low complexity approach for static <strong>3D</strong><br />
mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15438,<br />
Artchamps, France, april 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, On the status of the FAMC enco<strong>de</strong>r source co<strong>de</strong>,<br />
Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15440, Artchamps, France,<br />
april 2008.<br />
K. Mamou, T. Zaharia, M. Preda, F. Prêteux, FAMC integration into the MPEG-4<br />
RefSoft, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15150, Antalya,<br />
Turkey, January 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, FAMC <strong>de</strong>co<strong>de</strong>r conformance, Standardization Report<br />
ISO/IEC JTC1/SC29/WG11, MPEG2008/M15149, Antalya, Turkey, January 2008.<br />
K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Low-complexity approach for static mesh<br />
compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15153,<br />
Antalya, Turkey, January 2008.<br />
K. Mamou, T. Zaharia, F. Prêteux, Progress report on the FAMC integration into the<br />
MPEG-4 RefSoft, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/M14958,<br />
Shenzhen, China, October 2007.<br />
223
224<br />
K. Mamou, H. Kirchhoffer, N. Stefanoski, D. Marpe, K. Müller, J. Ostermann, T. Zaharia, F.<br />
Prêteux, FAMC <strong>de</strong>co<strong>de</strong>r conformance, Standardization Report ISO/IEC JTC1/SC29/WG11,<br />
MPEG06/M14936, Shenzhen, China, October 2007.<br />
K. Mamou, H. Kirchhoffer, N. Stefanoski, D. Marpe, K. Müller, J. Ostermann, T. Zaharia,<br />
F. Prêteux, FAMC <strong>de</strong>co<strong>de</strong>r software <strong>de</strong>scription, Standardization Report ISO/IEC<br />
JTC1/SC29/WG11, MPEG07/M14934, Shenzhen, China, October 2007.<br />
K. Mamou, T. Zaharia, F. Prêteux, FAMC with progressive transmission and scalable<br />
ren<strong>de</strong>ring functionalities Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/<br />
M14654, Lausanne, Switzerland, July 2007.<br />
H. Kirchhoffer, D. Marpe, K. Mamou, K. Müller, T. Wiegand, Proposed modifications<br />
to residual coding part of Frame-based Animated Mesh <strong>Compression</strong>, Standardization<br />
Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14697, Lausanne, Switzerland, July<br />
2007.<br />
K. Mamou, N. Stefanoski, T. Zaharia, J. Ostermann, F. Prêteux, FAMC’s layer-based scalable<br />
extension, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14652,<br />
Lausanne, Switzerland, July 2007.<br />
K. Mamou, N. Stefanoski, T. Zaharia, J. Ostermann, F. Prêteux, FAMC : bitstream <strong>de</strong>scription<br />
for the layer-based scalable extension, Standardization Report ISO/IEC JTC1/<br />
SC29/WG11, MPEG07/M14653, Lausanne, Switzerland, July 2007.<br />
K. Mamou, M. Preda, T. Zaharia, F. Prêteux, FAMC bitstream <strong>de</strong>scription, Standardization<br />
Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14491, San Jose, CA, April 2007.<br />
K. Mamou, D. Marpe, T. Zaharia, M. Preda, F. Prêteux, Frame-based Animated Mesh<br />
<strong>Compression</strong> : integration of the CABAC arithm<strong>et</strong>ic enco<strong>de</strong>r, Standardization Report<br />
ISO/IEC JTC1/SC29/WG11, MPEG07/M14493, San Jose, CA, April 2007.<br />
K. Mamou, T. Zaharia, B. Ivanova, M. Preda, F. Prêteux, B. Meaujean, J. Gaillard, O.<br />
Marre, Results of Core Experiment CE1 on mesh animation compression : skinningbased<br />
dynamic mesh compression, Standardization Report SO/IEC JTC1/SC29/WG11,<br />
MPEG07/M14197, Marrakech, Morocco, January 2007.<br />
K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Results of evaluation experiment EE1<br />
on static and animated <strong>3D</strong> mesh coding : skinning-based dynamic mesh compression,<br />
Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/13888, Hangzhou,<br />
China, October 2006.<br />
T. Zaharia, K. Mamou, M. Preda, F. Prêteux, Results of evaluation experiment EE1 on<br />
static and animated <strong>3D</strong> mesh coding : skinning-based compression versus MPEG-4<br />
AFX-IC, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/14028, Hangzhou,<br />
China, October 2006.
K. Mamou, T. Zaharia, M. Preda, F. Prêteux, An evaluation test data s<strong>et</strong> for dynamic<br />
<strong>3D</strong> mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/13626,<br />
Klagenfurt, Austria, July 2006.<br />
K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Dynamic <strong>3D</strong> mesh compression : State of<br />
the art and preliminary evaluation, Standardization Report ISO/IEC JTC1/SC29/WG11,<br />
MPEG06/ 13653, Klagenfurt, Austria, July 2006.<br />
M.Gutierrez,F.Vexo,K.Mamou,F.Prêteux, <strong>3D</strong> CGI films, Standardization Report ISO/IEC<br />
JTC1/SC29/WG11, MPEG05/11729, Hong Kong, China, January 2005.<br />
225
226
AnnexeA:Exemple<strong>de</strong>construction<strong>de</strong>la<br />
représentation TFan<br />
La Figure 8.11, illustre un exemple <strong>de</strong> codage pour l’approche TFAN. Dans ce qui suit nous<br />
détaillons les différentes étapes ainsi que les valeurs prises par les différentes variables locales<br />
<strong>et</strong> <strong>de</strong> sortie <strong>de</strong> l’algorithme.<br />
– Somm<strong>et</strong> courant v1, F = {}, O(v1) =1,L(1) = {}, N(1) = 1<br />
• TF1(1) = {v1,v6,v4}, d(1, 1) = 1<br />
1. w1 1(1) = v6, O(v6) =2,F = {v6}, L(1) = {v6}, S(1, 1) = {0}, I(1, 1) = {}<br />
2. w1 1 (2) = v4, O(v4) = 3, F = {v6,v4}, L(1) = {v6,v4}, S(1, 1) = {0, 0},<br />
I(1, 1) = {}<br />
– Somm<strong>et</strong> courant v6, F = {v4}, L(2) = {v4}, N(2) = 2<br />
• TF1(2) = {v6,v5,v4}, d(2, 1) = 1<br />
1. w1 2 (1) = v5, O(v5) =4,F = {v4,v5}, L(2) = {v4,v5}, S(2, 1) = {0}, I(2, 1) =<br />
{},<br />
2. w1 2 (2) = v4, F = {v4,v5}, L(2) = {v4,v5}, S(2, 1) = {0, 1}, I(2, 1) = {1}<br />
• TF2(2) = {v6,v2,v9,v7}, d(2, 2) = 2<br />
1. w2 2 (1) = v2, O(v2) =5,F = {v4,v5,v2}, L(2) = {v4,v5,v2}, S(2, 1) = {0},<br />
I(2, 1) = {}<br />
2. w2 2 (2) = v9, O(v9) =6,F = {v4,v5,v2,v9}, L(2) = {v4,v5,v2,v9}, S(2, 1) =<br />
{0, 0}, I(2, 1) = {}<br />
3. w2 2 (3) = v7, O(v7) = 7, F = {v4,v5,v2,v9,v7}, L(2) = {v4,v5,v2,v9,v7},<br />
S(2, 1) = {0, 0, 0}, I(2, 1) = {}<br />
– Somm<strong>et</strong> courant v4, F = {v5,v2,v9,v7}, L(3) = {v5}, N(3) = 0<br />
– Somm<strong>et</strong> courant v5, F = {v2,v9,v7}, L(4) = {}, N(4) = 0<br />
– Somm<strong>et</strong> courant v2, F = {v9,v7}, L(5) = {v9}, N(5) = 1<br />
• TF1(5) = {v2,v10,v9}, d(5, 1) = 1<br />
1. w1 5 (1) = v10, O(v10) =8,F = {v9,v7,v10}, L(5) = {v9,v10}, S(5, 1) = {0},<br />
I(5, 1) = {}<br />
2. w2 5(2) = v9, F = {v9,v7,v10}, L(5) = {v9,v10}, S(5, 1) = {0, 1}, I(5, 1) = {2}<br />
– Somm<strong>et</strong> courant v9, F = {v7,v10}, L(6) = {v7,v10}, N(v1) =2<br />
• TF1(6) = {v9,v10,v8}, d(6, 1) = 1<br />
1. w1 6 (1) = v10, F = {v7,v10}, L(6) = {v7,v10}, S(6, 1) = {1}, I(6, 1) = {2}<br />
227
228<br />
2. w1 6 (2) = v8, O(v8) =9,F = {v7,v10,v8}, L(6) = {v7,v10,v8}, S(6, 1) = {1, 0},<br />
I(6, 1) = {2}<br />
• TF2(6) = {v9,v3,v7}, d(6, 2) = 1<br />
1. w2 6 (1) = v3, O(v3) = 10, F = {v7,v10,v8,v3}, L(6) = {v7,v10,v8,v3}, S(6, 2) =<br />
{0}, I(6, 2) = {}<br />
2. w2 6 (2) = v7, F = {v7,v10,v3}, L(6) = {v7,v10,v8,v3}, S(6, 2) = {0, 1},<br />
I(6, 2) = {1}<br />
– Somm<strong>et</strong> courant v7, F = {v10,v3}, L(7) = {v3}, N(7) = 0<br />
– Somm<strong>et</strong> courant v10, F = {v3}, L(8) = {v8}, N(8) = 0<br />
– Somm<strong>et</strong> courant v8, F = {}, L(9) = {}, N(9) = 0<br />
– Somm<strong>et</strong> courant v3, F = {}, L(10) = {}, N(10) = 0
(a) V =10 (b) N(1) = 1, d(1, 1) = 1,<br />
S(1, 1) = {0, 0}<br />
229<br />
(c) N(2) = 2, d(2, 1) = 1,<br />
S(2, 1) = {0, 1}, I(2, 1) = {1}<br />
(d) d(2, 2) = 2, S(2, 2) = {0, 0, 0} (e) N(3) = 0 (f) N(4) = 0<br />
(g) N(5) = 1, d(5, 1) = 1,<br />
S(5, 1) = {0, 1}, I(5, 1) = {1}<br />
(h) N(6) = 2, d(6, 1) = 1,<br />
S(6, 1) = {1, 0}, I(6, 1) = {2}<br />
(i) d(6, 2) = 1, S(6, 2) = {0, 1},<br />
I(6, 2) = {1}<br />
(j) N(7) = 0 (k) N(8) = 0 (l) N(9) = 0<br />
(m) N(10) = 0 (n)<br />
Figure 8.11 : Exemple <strong>de</strong> codage pour l’approche TFAN.
230
Annexe B : Corpus <strong>de</strong> test pour<br />
l’évaluation <strong>de</strong> l’approche FAMC<br />
231
232<br />
Animation V T Manifold CC Fremé Orienté Mouvement<br />
“Ball” 5552 100 oui 1 oui oui Affine global<br />
“Box” 687 29 oui 3 non oui Articulé<br />
“Camel collapse” 21887 53 non 1 non non Déformations<br />
élastiques <strong>de</strong> fortes<br />
amplitu<strong>de</strong>s<br />
“Camel gallop” 21887 48 non 1 non non Articulé<br />
“Chicken” 3030 400 oui 41 oui non Articulé avec<br />
déformations<br />
élastiques <strong>de</strong> fortes<br />
amplitu<strong>de</strong>s<br />
“Cow” 2904 204 oui 1 oui oui Déformations<br />
élastiques <strong>de</strong> fortes<br />
amplitu<strong>de</strong>s<br />
“Dance” 7061 201 oui 1 oui oui Articulé avec<br />
déformations<br />
élastiques locales<br />
“Dolphin” 6180 101 non 1 non non Déformations<br />
élastiques <strong>de</strong><br />
faibles amplitu<strong>de</strong>s<br />
“Dragon” 3211 38 oui 3 non oui Articulé<br />
“Eagle” 636 31 non 15 non non Articulé<br />
“Elephant gallop” 42321 48 oui 1 oui oui Articulé<br />
“Horse collapse” 8431 53 oui 1 non oui Déformations<br />
élastiques <strong>de</strong> fortes<br />
amplitu<strong>de</strong>s<br />
“Horse gallop” 8431 53 oui 1 non oui Articulé<br />
“Humanoid” 7646 154 oui 1 oui oui Articulé<br />
“Jump” 15830 222 oui 1 oui oui Articulé avec<br />
déformations<br />
élastiques locales<br />
“Rabbit” 434 19 non 8 non oui Articulé<br />
“Raptor” 4952 41 non 47 non non Articulé<br />
“Snake” 9179 134 oui 1 oui oui Articulé avec<br />
déformations<br />
élastiques locales<br />
“Troll” 4961 36 non 1 non non Articulé avec<br />
déformations<br />
élastiques<br />
“Wolf” 2320 31 oui 1 non oui Articulé<br />
Table 8.4 : Propriétés <strong>de</strong>s animations du corpus <strong>de</strong> test.
(a) “Ball”<br />
(b) “Box”<br />
(c) “Camel collapse”<br />
(d) “Camel gallop”<br />
(e) “Chicken”<br />
(f) “Cow”<br />
(g) “Dance”<br />
Figure 8.12 : Extraits <strong>de</strong>s animations : (a) “Ball”, (b) “Box”, (c) “Camel collapse”, (d)<br />
“Camel gallop”, (e) “Chicken”, (f) “Cow” <strong>et</strong> (g) “Dance”.<br />
233
234<br />
(a) “Dolphin”<br />
(b) “Dragon”<br />
(c) “Eagle”<br />
(d) “Elephant gallop”<br />
(e) “Horse collapse”<br />
(f) “Horse gallop”<br />
(g) “Humanoid”<br />
Figure 8.13 : Extraits <strong>de</strong>s animations : (a) “Dolphin”, (b) “Dragon”, (c) “Eagle”, (d) “Elephant<br />
gallop”, (e) “Horse collapse”, (f) “Horse gallop” <strong>et</strong> (g) “Humanoid”.
(a) “Jump”<br />
(b) “Rabbit”<br />
(c) “Raptor”<br />
(d) “Snake”<br />
(e) “Troll”<br />
(f) “Wolf”<br />
Figure 8.14 : Extraits <strong>de</strong>s animations : (a) “Jump”, (b) “Rabbit”, (c) “Raptor”, (d) “Snake”,<br />
(e) “troll” <strong>et</strong> (f) “Wolf”.<br />
235
236
Bibliographie<br />
[1] G. Taubin <strong>et</strong> J. Rossignac. Geom<strong>et</strong>ric compression through topological surgery. ACM<br />
Transactions on Graphics, 17(2) :84–115, 1998.<br />
[2] C. L. Bajaj, V. Pascucci, <strong>et</strong> G. Zhuang. Single resolution compression of arbitrary<br />
triangular meshes with properties. Computational Geom<strong>et</strong>ry : Theory and Applications,<br />
14 :167–186, 1999.<br />
[3] C. Touma <strong>et</strong> C. Gotsman. Triangle mesh compression. In Graphics Interface, pages<br />
26–34, Vancouver, Canada, 1998.<br />
[4] J. Rossignac. Edgebreaker : Connectivity compression for triangle meshes. IEEE Transactions<br />
on Visualization andComputer Graphics, 5(1) :47–61, 1999.<br />
[5] J. Popovic <strong>et</strong> H. Hoppe. Progressive simplicial complexes. In International Conference<br />
on Computer Graphics and Interactive Techniques, pages 217–224, 1997.<br />
[6] G. Taubin, A. Gueziecand W. Horn, <strong>et</strong> F. Lazarus. Progressive forest split compression.<br />
In International Conference on Computer Graphics and Interactive Techniques, pages<br />
123–132, 1998.<br />
[7] P. Alliez <strong>et</strong> M. Desbrun. Progressive compression for lossless transmission of triangle<br />
meshes. In International Conference on Computer Graphics and Interactive Techniques,<br />
pages 195–202, New York, États-Unis, 2001.<br />
[8] P. M. Gandoin <strong>et</strong> O. Devillers. Progressive lossless compression of arbitrary simplicial<br />
complexes. ACM Transactions on Graphics, 21(3) :372–379, 2002.<br />
[9] A. Khodakovsky, P. Schrö<strong>de</strong>r, <strong>et</strong> W. Swel<strong>de</strong>ns. Progressive geom<strong>et</strong>ry compression. In<br />
Computer Graphics, pages 271–278, 2000.<br />
[10] H. Hoppe. Progressive meshes. Computer Graphics, 30(Annual Conference Series) :99–<br />
108, 1996.<br />
[11] M. Preda. WD 1.0 of ISO/IEC 14496-16 :2006 AMD 4 (Scalable Complexity <strong>3D</strong> Mesh<br />
<strong>Compression</strong>). In ISO/IEC JTC1/SC29/WG11 N9883, Archamps, France, May 2008.<br />
[12] H. M. Briceño, P. V. San<strong>de</strong>r, L. McMillan, S. Gortler, <strong>et</strong> H. Hoppe. Geom<strong>et</strong>ry vi<strong>de</strong>os :<br />
a new representation for <strong>3D</strong> animations. In Eurographics/SIGGRAPH Symposium on<br />
Computer Animation, pages 136–146, San Diego, États-Unis, 2003.<br />
[13] C.-C. J. Kuo J. Peng. Geom<strong>et</strong>ry-gui<strong>de</strong>d progressive lossless <strong>3D</strong> mesh coding with octree<br />
(OT) <strong>de</strong>composition. ACM Transactions on Graphics (TOG), 24(3) :609–616, 2005.<br />
[14] P.-L. George <strong>et</strong> H. Borouchaki. Delaunay triangulation and meshing : Application to<br />
finite elements. Hermes Science, 1998.<br />
[15] Y. Ore <strong>et</strong> O. Ore. Graphs and Their Uses. Hermes Science, 1996.<br />
237
238 BIBLIOGRAPHIE<br />
[16] M. Deering. Geom<strong>et</strong>ry compression. In International Conference on Computer Graphics<br />
and Interactive Techniques, pages 13–20, 1995.<br />
[17] M. Chow. Optimized geom<strong>et</strong>ry compression for real-time ren<strong>de</strong>ring. In IEEE conference<br />
on Visualization, pages 347–354, 1997.<br />
[18] E. M. Arkin, M. Held, J. S. B. Mitchell, <strong>et</strong> S. Skiena. Hamiltonian triangulations for fast<br />
ren<strong>de</strong>ring. The Visual Computer, 12(9) :429–444, 1996.<br />
[19] F. Evans, S. Skiena, <strong>et</strong> A. Varshney. Compl<strong>et</strong>ing sequential triangulations is hard. Rapport<br />
Technique, Department of Computer Science, State University of New York at Stony<br />
Brook, 1996.<br />
[20] B. Speckmann <strong>et</strong> J. Snoeyink. Easy triangle strips for tin terrain mo<strong>de</strong>ls. In Candian<br />
Conference on Computational Geom<strong>et</strong>ry, page 1997, 239-244.<br />
[21] X. Xiang, M. Held, <strong>et</strong> J. Mitchell. Fast and efficient stripification of polygonal surface<br />
mo<strong>de</strong>ls. In ACM Symposium on Interactive <strong>3D</strong> Graphics, pages 71–78, 1999.<br />
[22] G. Turan. On the succinct representations of graphs. Discr<strong>et</strong>e Applied Mathematics,<br />
8 :289–294, 1984.<br />
[23] J. Teuhola. A compression m<strong>et</strong>hod for clustered bit-vectors. Information Processing<br />
L<strong>et</strong>ters, 7 :308–311, 1978.<br />
[24] F. Lazarus A. Guéziec, G. Taubin <strong>et</strong> B. Horn. Cutting and stitching : converting s<strong>et</strong>s<br />
of polygons to manifold surfaces. IEEE Transaction on Visualization and Computer<br />
Graphics, 7(2) :136–151, 2001.<br />
[25] M. J. Golin, C. Kenyon, <strong>et</strong> N. E. Young. Huffman coding with unequal l<strong>et</strong>ter costs. In<br />
ACM symposium on Theory of computing, pages 785–791, 2002.<br />
[26] I. H. Witten, R. M. Neal, <strong>et</strong> J. G. Cleary. Arithm<strong>et</strong>ic coding for data compression.<br />
Communications of the ACM, 30(6) :520–540, 1987.<br />
[27] P. Alliez <strong>et</strong> M. Desbrun. Valence-driven connectivity encoding of <strong>3D</strong> meshes. In Conference<br />
Eurographics, pages 480–489, 2001.<br />
[28] S. Gumhold <strong>et</strong> W. Straßer. Real time compression of triangle mesh connectivity. In<br />
International Conference on Computer Graphics and Interactive Techniques, pages 133–<br />
140, 1998.<br />
[29] S. Gumhold. Improved cut-bor<strong>de</strong>r machine for triangle mesh compression. In Erlangen<br />
Workshop ’99 on Vision, Mo<strong>de</strong>ling and Visualization, 1999.<br />
[30] D. King <strong>et</strong> J. Rossignac. Guaranteed 3.67v bit encoding of planar triangle graphs. In<br />
Canadian Conference on Computational Geom<strong>et</strong>ry, pages 146–149, 1999.<br />
[31] S. Gumhold. New bounds on the encoding of planar triangulations. Rapport Technique<br />
WSI-2000-1, Wilhelm-Schickard-Institut für Informatik, Allemagne, University of<br />
Tübingen, 2000.<br />
[32] J. Rossignac <strong>et</strong> A. Szymczak. Wrap and zip <strong>de</strong>compression of the connectivity of triangle<br />
meshes compressed with edgebreaker. Computational Geom<strong>et</strong>ry, 14(1-3) :119–135, 1999.<br />
[33] M. Isenburg <strong>et</strong> J. Snoeyink. Spirale reversi : Reverse <strong>de</strong>coding of the edgebreaker encodin.<br />
In Canadian Conference on Computational Geom<strong>et</strong>ry, pages 247–256, 2000.<br />
[34] A. Szymczak, A. King, <strong>et</strong> J. Rossignac. An edgebreaker-based efficient compression<br />
scheme for regular meshes. In Canadian Conference on Computational Geom<strong>et</strong>ry, pages<br />
257–264, 2000.
BIBLIOGRAPHIE 239<br />
[35] A. Khodakovsky, P. Alliez, M. Desbrun, <strong>et</strong> P. Schrö<strong>de</strong>r. Near-optimal connectivity encoding<br />
of 2-manifold polygon meshes. Graphical Mo<strong>de</strong>ls, 64(3-4) :147–168, 2002.<br />
[36] C. Gotsman. On the optimality of valence-based connectivity coding. Computer Graphics<br />
Forum, 22(1) :99–102, 2003.<br />
[37] J. Li <strong>et</strong> C. C. J. Kuo. A dual graph approach to <strong>3D</strong> triangular mesh compression. In<br />
IEEE International Conference on Image Processing (ICIP’1998), pages 891–894, 1998.<br />
[38] S. M. Curila, , T. Zaharia, G. Mozelle, <strong>et</strong> F. Prêteux. A new predictive scheme for <strong>3D</strong><br />
mesh coding within a mpeg-4 compliant framework.<br />
[39] E.-S. Lee <strong>et</strong> H.-S. Ko. Vertex data compression for triangular meshes. In Pacific Conference<br />
on Computer Graphics and Applications, pages 225–234, 2000.<br />
[40] P. H. Chou <strong>et</strong> T. H. Meng. Vertex data compression through vector quantization. IEEE<br />
Transactions on Visualization and Computer Graphics, 8(4) :373–382, 2002.<br />
[41] G. Taubin. A signal processing approach to fair surface <strong>de</strong>sign. In International Conference<br />
on Computer Graphics and Interactive Techniques, pages 351–358, New York,<br />
États-Unis, 1995.<br />
[42] W. J. Schroe<strong>de</strong>r, J. A. Zarge, <strong>et</strong> W. E. Lorensen. Decimation of triangle meshes. In<br />
International Conference on Computer Graphics and Interactive Techniques, pages 65–<br />
70, 1992.<br />
[43] M. Soucy <strong>et</strong> D. Lauren<strong>de</strong>au. Multiresolution surface mo<strong>de</strong>ling based on hierarchical<br />
triangulation.<br />
[44] D. Cohen-Or, D. Levin, <strong>et</strong> O. Remez. Progressive compression of arbitrary triangular<br />
meshes. In IEEE Visualization, pages 67–72, 1999.<br />
[45] J. Li <strong>et</strong> C. C. J. Kuo. Progressive coding of 3-D graphic mo<strong>de</strong>ls. Proceedings of the<br />
IEEE, 86(6) :1052–1063, 1998.<br />
[46] C. Bajaj, V. Pascucci, <strong>et</strong> G. Zhuang. Progressive compression and transmission of arbitrary<br />
triangular meshes. In IEEE Visualization, pages 307–316, 1999.<br />
[47] O. Devillers <strong>et</strong> P. Gandoin. Geom<strong>et</strong>ric compression for interactive transmission. In IEEE<br />
Conference on Visualization, pages 319–326, 2000.<br />
[48] J. Peng, I. Eckstein, <strong>et</strong> C.-C. J. Kuo. A novel and efficient progressive lossless mesh<br />
co<strong>de</strong>r. In International Conference on Computer Graphics and Interactive Techniques,<br />
pages 180–180, 2006.<br />
[49] S. P. Lloyd. Least squares quantization in PCM. IEEE Transactions on Information<br />
Theory, 28(12) :129–136, 1982.<br />
[50] J. Max. Quantizing for minimum distortion. IEEE Transactions on Information Theory,<br />
6(1) :7–12, 1960.<br />
[51] N. Aspert, D. Santa-Cruz, <strong>et</strong> T. Ebrahimi. MESH : Measuring errors b<strong>et</strong>ween surfaces<br />
using the hausdorff distance. In IEEE International Conference in Multimedia and Expo<br />
(ICME), pages 705–708, Lausanne, Suisse, 2002.<br />
[52] Z. Karni <strong>et</strong> C. Gotsman. Spectral compression of mesh geom<strong>et</strong>ry. In International<br />
Conference on Computer Graphics and Interactive Techniques, pages 279–286, 2000.<br />
[53] Z. Karni <strong>et</strong> C. Gotsman. <strong>3D</strong> mesh compression using fixed spectral bases. In Graphics<br />
Interface, pages 1–8, 2001.<br />
[54]<br />
[55] Y. Meyer. Les on<strong>de</strong>l<strong>et</strong>tes : Algorithmes <strong>et</strong> applications. Armand Collin, Paris, 1993.
240 BIBLIOGRAPHIE<br />
[56] S. Mallat. A theory for multiresolution signal <strong>de</strong>composition : The wavel<strong>et</strong> representation.<br />
IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(7) :674–69, 1989.<br />
[57] M. Lounsberry. Multiresolution analysis for surfaces of arbitrary topological type. ACM<br />
Transactions on Graphics, 16(1) :34–73, 1997.<br />
[58] W. Swel<strong>de</strong>ns. The lifting scheme : A construction of second generation wavel<strong>et</strong>s. SIAM<br />
Journal on Mathematical Analysis, 29(2) :511–546, 1997.<br />
[59] A. W. F. Lee, W. Swel<strong>de</strong>ns, P. Schrö<strong>de</strong>r, L. Cowsar, <strong>et</strong> D. Dobkin. MAPS : multiresolution<br />
adaptive param<strong>et</strong>rization of surfaces. In ACM Siggraph, pages 95–104, 1998.<br />
[60] A. Said <strong>et</strong> W. Pearlman. A new, fast, and efficient image co<strong>de</strong>c based on s<strong>et</strong> partitioning<br />
in hierarchical trees. IEEE Transactions on Circuits and Systems for Vi<strong>de</strong>o Technology,<br />
6(3) :243–250, 1996.<br />
[61] A. Khodakovsky <strong>et</strong> I. Guskov. Normal mesh compression. In Preprint, California Institute<br />
of Technology, http ://www.multires.caltech.edu, 2000.<br />
[62] I. Guskov, K. Vidimce W. Swel<strong>de</strong>ns, <strong>et</strong> P. Schrö<strong>de</strong>r. Normal meshes. In ACM Siggraph,<br />
pages 95–102, 2000.<br />
[63] S. Val<strong>et</strong>te <strong>et</strong> R. Prost. A wavel<strong>et</strong>-based progressive compression scheme for triangle<br />
meshes : Wavemesh. IEEE Transactions on Visualization and Computer Graphics,<br />
10(2) :123–129, 2004.<br />
[64] X.Gu,S.J.Gortler,<strong>et</strong>H.Hoppe. Geom<strong>et</strong>ryimages. ACM Transactions on Graphics,<br />
21(3) :355–361, 2002.<br />
[65] F. Losasso, H. Hoppe, S. Schaefer, <strong>et</strong> J. Warren. Smooth geom<strong>et</strong>ry images. In Eurographics/ACM<br />
SIGGRAPH symposium on Geom<strong>et</strong>ry processing, pages 138–145, Grena<strong>de</strong>,<br />
Espagne, 2003.<br />
[66] P. San<strong>de</strong>r, Z. Wood, S. Gortler, J. Sny<strong>de</strong>r, <strong>et</strong> H. Hoppe. Multi-chart geom<strong>et</strong>ry images. In<br />
Eurographics Symposium on Geom<strong>et</strong>ry Processing, pages 146–155, Aachen, Allemagne,<br />
2003.<br />
[67] S. W. Lee, B. Kim, M. Chen, <strong>et</strong> M. Preda. CE on scalable complexity <strong>3D</strong> mesh coding<br />
<strong>3D</strong>GC. In ISO/IEC JTC1/SC29/WG11 N9888, Archamps, France, page May, 2008.<br />
[68] A. Moffat, R. Neal, <strong>et</strong> I. Witten. Arithm<strong>et</strong>ic coding revisited. ACM Transactions on<br />
Information Systems, 16(3) :256–294, 1998.<br />
[69] M. Preda <strong>et</strong> F. Prêteux. Virtual character within MPEG-4 animation framework extension.<br />
IEEE Transactions on Circuits and Systems for Vi<strong>de</strong>o Technology, 14(7) :975–988,<br />
2004.<br />
[70] E.-Y. Chang, N. Hur, <strong>et</strong> E. S. Jang. <strong>3D</strong> mo<strong>de</strong>l compression in MPEG. In IEEE International<br />
Conference on Image Processing, page àparître, 2008.<br />
[71] W. T. Tutte. How to draw a graph. In Proceedings of the London Mathematical Soci<strong>et</strong>y,<br />
pages 743–767, 1963.<br />
[72] V. Krishnamurthy <strong>et</strong> M. Levoy. Fitting smooth surfaces to <strong>de</strong>nse polygon meshes. In<br />
International Conference on Computer Graphics and Interactive Techniques, pages 313–<br />
324, Grena<strong>de</strong>, Espagne, 1996.<br />
[73] S. Yoshizawa, A. Belyaev, <strong>et</strong> H.-P. Sei<strong>de</strong>l. A fast and simple str<strong>et</strong>ch-minimizing mesh<br />
param<strong>et</strong>erization. In International Conference on Shape Mo<strong>de</strong>ling, pages 200–208, 2004.<br />
[74] B. Lévy, S. P<strong>et</strong>itjean, N. Ray, <strong>et</strong> J. Maillot. Least squares conformal maps for automatic<br />
texture atlas generation. ACM Transactions on Graphics, 21(3) :362–371, 2002.
BIBLIOGRAPHIE 241<br />
[75] G. Taubin. Estimating the tensor of curvature of a surface from a polyhedral approximation.<br />
In International Conference on Computer Vision, pages 902–909, 1995.<br />
[76] G. Karypis <strong>et</strong> V. Kumar. Multilevel k-way partitioning scheme for irregular graphs.<br />
Journal of Parallel and Distributed Computing, 48(1) :96–129, 1998.<br />
[77] E. W. Dijkstra. A note on two problems in connection with graphs. Numerische Mathematik,<br />
1 :269–271, 1998.<br />
[78] K. Hormann, B. Lévy, <strong>et</strong> A. Sheffer. Mesh param<strong>et</strong>erization : theory and practice. In<br />
International Conference on Computer Graphics and Interactive Techniques, pages 1–<br />
115, 2007.<br />
[79] M. S. Floater <strong>et</strong> K. Horman. Surface param<strong>et</strong>rization : a tutorial and survey. Advances<br />
in Multiresolution for Geom<strong>et</strong>ric Mo<strong>de</strong>lling, pages 157–186, 2005.<br />
[80] M. Meyer, A. Barr, H. Lee, <strong>et</strong> M. Desbrun. Generalized barycentric coordinates on<br />
irregular polygons. Journal of Graphics Tools, 7(1) :13–22, 2002.<br />
[81] M. S. Floater. Param<strong>et</strong>rization and smooth approximation of surface triangulations.<br />
Computer Ai<strong>de</strong>d Geom<strong>et</strong>ric Design, 14(3) :231–250, 1997.<br />
[82] W. H. Press, S. A. Teukolskyand, W. T. V<strong>et</strong>terling, <strong>et</strong> B. P. Flannery. Numerical Recipes<br />
in C : The Art of Scientific Computing. Cambridge Press, New York, États-Unis, 2nd<br />
edition, 1992.<br />
[83] L. A. Piegl <strong>et</strong> W. Tiller. The NURBS Book. Springer, 1996.<br />
[84] B. Gregorski <strong>et</strong> B. Hamann. Reconstruction of b-spline surfaces from scattered data<br />
points. In International Conference on Computer Graphics, page 163, Grena<strong>de</strong>, Espagne,<br />
2000.<br />
[85] M. Eck <strong>et</strong> H. Hoppe. Automatic reconstruction of B-spline surfaces of arbitrary topological<br />
type. In International conference on Computer graphics and interactive techniques,<br />
pages 325–334, 1996.<br />
[86] M. Preda, M. Steliaros, A. Mignot, M. Han, <strong>et</strong> P.Gioia. Ad Hoc Group report on online<br />
gaming (OLGA). Research Report ISO/IEC JTC1/SC29/WG11, MPEG02/M8783,<br />
Shanghai, China, October 2002.<br />
[87] K. Shoemake. Animating rotation with quaternion curves. In Annual conference on<br />
Computer graphics and interactive techniques, pages 245–254, New York, NY, États-<br />
Unis, 1985.<br />
[88] D. Pl<strong>et</strong>incks. The Use of Quaternions for Animation, Mo<strong>de</strong>lling and Ren<strong>de</strong>ring. Springer,<br />
New Trends in Computer Graphics,, 1988.<br />
[89] E. B. Dam, M. Koch, <strong>et</strong> M. Lillholm. Quaternions, interpolation and animation. Rapport<br />
Technique. DIKU, 1998.<br />
[90] L. Vicci. Quaternions and rotations in 3-space : The algebra and its geom<strong>et</strong>ric interpr<strong>et</strong>ation.<br />
Rapport Technique, Chapel Hill, NC, USA, 2001.<br />
[91] M. Gleicher. Animation from observation : Motion capture and motion editing. Computer<br />
Graphics, 33(4) :51–54, 1999.<br />
[92] V.B. Zordan <strong>et</strong> J.K. Hodgins. Motion capture-driven simulations that hit and react. In<br />
ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 89–96, 2002.<br />
[93] J. Lee, J. Chai, P.S.A. Reitsma, J.K. Hodgins, <strong>et</strong> N.S. Pollard. Interactive control of<br />
avatars animated with human motion data. In Annual conference on Computer graphics<br />
and interactive techniques, pages 491–500, 2002.
242 BIBLIOGRAPHIE<br />
[94] A.H. Barr. Global and local <strong>de</strong>formations of solid primitives. SIGGRAPH Computer<br />
Graphics, 18 :21–30, 1984.<br />
[95] T.W. Se<strong>de</strong>rberg <strong>et</strong> S.R. Parry. Free-form <strong>de</strong>formation of solid geom<strong>et</strong>ric mo<strong>de</strong>ls. In<br />
Annual conference on Computer graphics and interactive techniques, volume 20, pages<br />
151–160, New York, NY, États-Unis, 1986.<br />
[96] J. Lass<strong>et</strong>er. Principles of traditional animation applied to <strong>3D</strong> computer animation. In<br />
Annual conference on Computer graphics and interactive techniques, pages 35–44, New<br />
York, NY, États-Unis, 1987.<br />
[97] S. Coquillart. Exten<strong>de</strong>d free-form <strong>de</strong>formation : a sculpturing tool for <strong>3D</strong> geom<strong>et</strong>ric<br />
mo<strong>de</strong>ling. In Annual conference on Computer graphics and interactive techniques, pages<br />
187–196, Dallas, TX, États-Unis, 1990.<br />
[98] W.M. Hsu, John F. Hughes, <strong>et</strong> Henry Kaufman. Direct manipulation of free-form <strong>de</strong>formations.<br />
Computer Graphics, 26(2) :177–184, 1992.<br />
[99] R. MacCracken <strong>et</strong> K.I. Joy. Free-form <strong>de</strong>formations with lattices of arbitrary topology.<br />
In Computer Graphics and Interactive Techniques, pages 181–188, 1996.<br />
[100] Y. Ono, B.Y. Chen, T. Nishita, <strong>et</strong> J. Feng. Free form <strong>de</strong>formation with automatically<br />
generated multiresolution lattices. In IEEE Cyberworlds Conference, pages 472–479,<br />
Tokyo, Japan, 2002.<br />
[101] T. Boubekeur, O. Sorkine, <strong>et</strong> C. Schlick. Scalable freeform <strong>de</strong>formation. In ACM Siggraph<br />
2007 - Sk<strong>et</strong>ch Program, 2007.<br />
[102] K. Singh <strong>et</strong> E. Fiume. Wires : a geom<strong>et</strong>ric <strong>de</strong>formation technique. In Annual conference<br />
on Computer graphics and interactive techniques, pages 405–414, New York, NY, États-<br />
Unis, 1998.<br />
[103] S. Yoshizawa, A.G. Belyaev, <strong>et</strong> H.P. Sei<strong>de</strong>l. A simple approach to interactive free-form<br />
shape <strong>de</strong>formations. In Pacific Conference on Computer Graphics and Applications,<br />
pages 471–474, Beijing, China, 2002.<br />
[104] S. Zelinka <strong>et</strong> M. Garland. Mesh mo<strong>de</strong>lling with curve analogies. In Pacific Conference<br />
on Computer Graphics and Applications, pages 94–98, Seoul, Koré, 2004.<br />
[105] A. Nealen, T. Igarashi, O. Sorkine, <strong>et</strong> M. Alexa. FiberMesh : Designing freeform surfaces<br />
with <strong>3D</strong> curves. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH),<br />
26(3), 2007.<br />
[106] N. Magnenat-Thalmann, R. Laperrière, <strong>et</strong> D. Thalmann. Joint-<strong>de</strong>pen<strong>de</strong>nt local <strong>de</strong>formations<br />
for hand animation and object grasping. In Graphics interface, pages 23–33,<br />
1988.<br />
[107] J.E. Chadwick, D.R. Haumann, <strong>et</strong> R.E. Parent. Layered construction for <strong>de</strong>formable<br />
animated characters. In Annual conference on Computer graphics and interactive techniques,<br />
pages 243–252, New York, NY, États-Unis, 1989.<br />
[108] R. Turner. LEMAN : a system for constructing and animating layered elastic characters.<br />
Aca<strong>de</strong>mic Press, 1995.<br />
[109] D. Thalmann, J. Shen, <strong>et</strong> E. Chauvineau. Fast realistic human body <strong>de</strong>formations for<br />
animation and VR applications. In Computer Graphics International, pages 166–174,<br />
1996.<br />
[110] O. Weber, O. Sorkine, Y. Lipman, <strong>et</strong> C. Gotsman. Context-aware skel<strong>et</strong>al shape <strong>de</strong>formation.<br />
Computer Graphics Forum, 26(3) :265–273, 2007.
BIBLIOGRAPHIE 243<br />
[111] F. Lazarus <strong>et</strong> A. Verroust. <strong>3D</strong> m<strong>et</strong>amorphosis : A survey. Visual Computer, 14(8-9) :373–<br />
389, 1998.<br />
[112] M. Alexa. Recent advances in mesh morphing. Computer Graphics Forum, 21(2) :173–<br />
196, 2002.<br />
[113] H. Jianwei, W. Guozhao, <strong>et</strong> L. Ligang. Dual laplacian morphing for triangular meshes.<br />
Computer Animation and Virtual Worlds, 18(4-5) :271–277, 2007.<br />
[114] S. Redon, N. Galoppo, <strong>et</strong> M.C. Lin. Adaptive dynamics of articulated bodie. ACM<br />
Transaction on Graphics, 24(3) :936–945, 2005.<br />
[115] D. Baraff <strong>et</strong> A. Witkin. Physically based mo<strong>de</strong>ling : principles and practice. SIGGRAPH<br />
course notes, 1997.<br />
[116] N. Foster <strong>et</strong> R. Fedkiw. Practical animation of liquids. In Annual conference on Computer<br />
graphics and interactive techniques, pages 23–30, New York, NY, États-Unis, 2001.<br />
[117] H. Noser, O. Renault, D. Thalmann, <strong>et</strong> N. Magnenat Thalmann. Navigation for digital<br />
actors based on synth<strong>et</strong>ic vision, memory and learning. Computers and Graphics,<br />
19(1) :7–19, 1995.<br />
[118] C.W. Reynolds. Flocks, herds, and schools : a distributed behavioral mo<strong>de</strong>l. Computer<br />
Graphics, pages 25–34, 1987.<br />
[119] Special issue on MPEG-4’s animation framework extension (AFX). IEEE Transactions<br />
on Circuits ans Systems for Vi<strong>de</strong>o Technology, 14(7) :925–1045, 2004.<br />
[120] J. Lengyel. <strong>Compression</strong> of time-<strong>de</strong>pen<strong>de</strong>nt geom<strong>et</strong>ry. In ACM Symposium on Interactive<br />
<strong>3D</strong> Graphics, pages 89–96, Atlanta, États-Unis, 1999.<br />
[121] E. S. Jang, J. D. K. Kim, S. Y. Jung, M. J. Han, S. O. Woo, <strong>et</strong> S. J. Lee. Interpolator<br />
data compression for MPEG-4 animation. IEEE Transactions on Circuits and Systems<br />
for Vi<strong>de</strong>o Technology, 14(7) :989–1008, 2004.<br />
[122] L. Ibarria <strong>et</strong> J. Rossignac. Dynapack : space-time compression of the <strong>3D</strong> animations<br />
of triangle meshes with fixed connectivity. In Eurographics Symposium on Computer<br />
Animation, pages 126–133, San Diego, États-Unis, 2003.<br />
[123] N. Stefanoski <strong>et</strong> J. Ostermann. Connectivity-gui<strong>de</strong>d predictive compression of dynamic<br />
<strong>3D</strong> meshes. In IEEE International Conference on Image Processing, pages 2973–2976,<br />
Atlanta, États-Unis, 2006.<br />
[124] J.-H. Yang, C.-S. Kim, <strong>et</strong> S.-U. Lee. <strong>Compression</strong> of 3-D triangle mesh sequences based<br />
on vertex-wise motion vector prediction. IEEE Transactions on Circuits and Systems<br />
for Vi<strong>de</strong>o Technology, 12(12) :1178–1184, 2002.<br />
[125] J. Rossignac. Edgebreaker : Connectivity compression for triangle meshes. IEEE Transactions<br />
on Visualization and Computer Graphics, 5(1) :47–61, 1999.<br />
[126] N. Stefanoski, P. Klie, X. Liu, <strong>et</strong> J. Ostermann. Scalable linear predictive coding of<br />
time-consistent <strong>3D</strong> mesh sequences. In The True Vision - Capture, Transmission and<br />
Display of <strong>3D</strong> Vi<strong>de</strong>o, pages 1–4, Kos Island, Grèce, 2007.<br />
[127] N. Stefanoski, X. Liu, P. Klie, <strong>et</strong> J. Ostermann. Layered predictive coding of timeconsistent<br />
dynamic <strong>3D</strong> meshes using a non-linear predictor. In IEEE International<br />
Conference on Image Processing, pages 109–112, San Antonio, États-Unis, 2007.<br />
[128] M. Alexa <strong>et</strong> W. Müller. Representing animations by principal components. Computer<br />
Graphic Forum, 3(19) :411–418, 2000.
244 BIBLIOGRAPHIE<br />
[129] P.-F. Lee, C.-K. Kao, J.-L. Tseng, B.-S. Jong, <strong>et</strong> T.-W. Lin. <strong>3D</strong> animation compression<br />
using affine transformation matrix and principal component analysis. Transactions on<br />
Information and Systems, E90-D(7) :1073–1084, 2007.<br />
[130] Z. Karni <strong>et</strong> C. Gotsman. <strong>Compression</strong> of soft-body animation sequences. Computers and<br />
Graphics, 28(1) :25–34, 2004.<br />
[131] J. Heu, J.-H. Yang, C.-S. Kim, <strong>et</strong> S.-U. Lee. Effective quantisation scheme for principal<br />
components of 3-D mesh sequences. IEEE Transactions on Electronics L<strong>et</strong>ters,<br />
42(14) :799–800, 2006.<br />
[132] J. Heu, J.-H. Yang, C.-S. Kim, <strong>et</strong> S.-U. Lee. R-D optimized compression of 3-D mesh<br />
sequences based on principal component analysis. In CM Southeast Regional Conference<br />
archive, pages 68–73, Flori<strong>de</strong>, États-Unis, 2006.<br />
[133] V. Libor <strong>et</strong> S. Václav. Coddyac : Connectivity driven dynamic mesh compression. In<br />
<strong>3D</strong>TV International Conference : True Vision-Capture, Transmission and Display of <strong>3D</strong><br />
Vi<strong>de</strong>o, Kos Island, Grèce, 2007.<br />
[134] M. Sattler, R. Sarl<strong>et</strong>te, <strong>et</strong> R. Klein. Simple and efficient compression of animation<br />
sequences. In Eurographics Symposium on Computer Animation, pages 209–217, Los<br />
Angeles, États-Unis, 2005.<br />
[135] N. Kambhatla <strong>et</strong> T. K. Leen. Dimension reduction by local principal component analysis.<br />
Neural Computation, 9(7) :1493–1516, 1997.<br />
[136] R. Amjoun, R. Son<strong>de</strong>rshaus, <strong>et</strong> W. Straßer. <strong>Compression</strong> of complex animated meshes.<br />
In Computer Graphics International 2006 Conference, LNCS by Springer, volume 4035,<br />
pages 606–613, 2006.<br />
[137] R. Amjoun <strong>et</strong> W. Straßer. Efficient compression of <strong>3D</strong> dynamic mesh sequences. In<br />
Journal of the WSCG, 2007. to appear.<br />
[138] M. Loève. Probability theory. Springer-Verlag, Graduate Texts in Mathematics, 1978.<br />
[139] K. K. Karhunen. Über lineare m<strong>et</strong>ho<strong>de</strong>n in <strong>de</strong>r wahrscheinlichkeitsrechnung. Ann. Acad.<br />
Sci. Fennicae. Ser. A. I. Math.-Phys., (37) :1–79, 1947.<br />
[140] A.C. Lopes <strong>et</strong> M.N. Gamito. Wavel<strong>et</strong> compression and transmission of <strong>de</strong>formable surfaces<br />
over n<strong>et</strong>works. In Portuguese Computer Graphics Me<strong>et</strong>ing, pages 107–114, Portugal,<br />
2001.<br />
[141] E. J. Stollnitz, T. D. DeRose, <strong>et</strong> David H. Salesin. Wavel<strong>et</strong>s for Computer Graphics :<br />
Theory and Applications. Morgan Kaufmann, San Fransisco, États-Unis, 1996.<br />
[142] F. Payan <strong>et</strong> M. Antonini. Temporal wavel<strong>et</strong>-based geom<strong>et</strong>ry co<strong>de</strong>r for <strong>3D</strong> animations.<br />
Elsevier Computer & Graphics, 31(1) :78–88, 2005.<br />
[143] Y. Boulfani <strong>et</strong> M. Antonini. Scan-based compression of <strong>3D</strong> mesh sequences with geom<strong>et</strong>ry<br />
compensation. In EURASIP 14th EUSIPCO 2006 (CD-ROM), Florence, Italie, 2006.<br />
[144] Y. Boulfani-Cuisinaud <strong>et</strong> M. Antonini. Motion-based geom<strong>et</strong>ry compensation for dwt<br />
compression of <strong>3D</strong> mesh sequence. In IEEE International Conference in Image Processing<br />
(CD-ROM), Texas, États-Unis, 2007.<br />
[145] Y. Boulfani, M. Antonini, <strong>et</strong> F. Payan. Motion-based mesh clustering for mcdwt compression<br />
of <strong>3D</strong> animated meshes. In EURASIP 14th EUSIPCO 2007 (CD-ROM), Poznan,<br />
Poland, 2007.<br />
[146] Y. Boulfani, M. Antonini, <strong>et</strong> F. Payan. Temporal wavel<strong>et</strong>-based compression of <strong>3D</strong><br />
animated meshes using motion-based clustering. In 5ème édition <strong>de</strong>s ateliers <strong>de</strong> travail<br />
sur le Traitement <strong>et</strong> l’Analyse <strong>de</strong> l’Information : Métho<strong>de</strong>s <strong>et</strong> Applications, pages 341–<br />
348, Hammam<strong>et</strong>, Tunisie, 2007.
BIBLIOGRAPHIE 245<br />
[147] J.-H. Yang, C.-S. Kim, <strong>et</strong> S.-U. Lee. Progressive compression of <strong>3D</strong> dynamic sequences.<br />
In IEEE International Conference on Image Processing, pages 1975–1978, Singapore,<br />
2004.<br />
[148] J.-H. Yang, C.-S. Kim, <strong>et</strong> S.-U. Lee. Semi-regular representation and progressive compression<br />
of 3-D dynamic mesh sequences. IEEE Transactions on Image Processing,<br />
15(9) :2531 – 2544, 2006.<br />
[149] D. Zorin, P. Schrö<strong>de</strong>r, <strong>et</strong> W. Swel<strong>de</strong>ns. Interpolating subdivision for meshes with arbitrary<br />
topology. In International Conference on Computer Graphics and Interactive Techniques,<br />
pages 189–192, New York, États-Unis, 1996.<br />
[150] M. Garland <strong>et</strong> P. S. Heckbert. Surface simplification using quadric error m<strong>et</strong>rics. In<br />
Annual conference on Computer graphics and interactive techniques, pages 209–216, New<br />
York, NY, États-Unis, 1997.<br />
[151] J. M. Shapiro. Embed<strong>de</strong>d image coding using zerotrees of wavel<strong>et</strong> coefficients. IEEE<br />
Transactions on Signal Processing, 41(12) :3445–3462, 1993.<br />
[152] I. Daubechies, I. Guskov, P. Schrö<strong>de</strong>r, <strong>et</strong> W. Swel<strong>de</strong>ns. Wavel<strong>et</strong>s on irregular point s<strong>et</strong>s.<br />
Royal Soci<strong>et</strong>y Typescript, 357(1760) :2397–2413, 1999.<br />
[153] I. Guskov <strong>et</strong> A. Khodakovsky. Wavel<strong>et</strong> compression of param<strong>et</strong>rically coherent mesh sequences.<br />
In Eurographics Symposium on Computer Animation, pages 183–192, Grenoble,<br />
France, 2004.<br />
[154] J.W. Cho, M.S. Kim, S. Val<strong>et</strong>te, H.Y. Jung, <strong>et</strong> R. Prost. <strong>3D</strong> dynamic mesh compression<br />
using wavel<strong>et</strong>-based multiresolution analysis. In IEEE International Conference on Image<br />
Processing, pages 529–532, Atlanta, États-Unis, 2006.<br />
[155] S. Gupta, K. Sengupta, <strong>et</strong> A. Kassim. <strong>Compression</strong> of dynamic <strong>3D</strong> geom<strong>et</strong>ry data using<br />
iterative closest point algorithm. Computer Vision and Image Un<strong>de</strong>rstanding Archive,<br />
87(1-3) :116–130, 2002.<br />
[156] B. Hendrickson <strong>et</strong> R. Leland. A multilevel algorithm for partitioning graphs. Rapport<br />
Technique SAND93-1301, 1995.<br />
[157] S. Gupta, K. Sengupta, <strong>et</strong> A. Kassim. Registration and partitioning-based compression<br />
of 3-D dynamic data. IEEE Transactions on Circuits and Systems for Vi<strong>de</strong>o Technology,<br />
13(11) :1144–1155, 2003.<br />
[158] G. Collins <strong>et</strong> A. Hilton. A rigid transform basis for animation compression and level of<br />
<strong>de</strong>tail. In Vision, Vi<strong>de</strong>o, and Graphics, pages 21–28, Édimbourg, Royaume-Uni, 2005.<br />
[159] R. Amjoun <strong>et</strong> W. Straßer. Predictive-spectral compression of dynamic <strong>3D</strong> meshes. In<br />
2nd International Conference on Computer Graphics Theory (Grapp), 2007. to appear.<br />
[160] J.-H. Ahn, C.-S. Kim, C.-C.J. Kuo, <strong>et</strong> Y.-S. Ho. Motion-compensated compression of <strong>3D</strong><br />
animation mo<strong>de</strong>ls. IEEE Electronics L<strong>et</strong>ters, 37(24) :1445–1446, 2001.<br />
[161] J. Zhang <strong>et</strong> C.B. Owen. Octree-based animated geom<strong>et</strong>ry compression. In IEEE Data<br />
<strong>Compression</strong> Conference, pages 508–517, Snowbird, États-Unis, 2004.<br />
[162] K. Müller, A. Smolic, M. Kautzner, P. Eisert, <strong>et</strong> T. Wiegand. Predictive compression<br />
of dynamic <strong>3D</strong> meshes. In IEEE International Conference on Image Processing, pages<br />
621–624, Genève, Suisse, 2005.<br />
[163] K. Müller, A. Smolic, M. Kautzner, P. Eisert, <strong>et</strong> T. Wiegand. Rate-distortion optimization<br />
in dynamic mesh compression. In IEEE International Conference on Image<br />
Processing, pages 533–536, Atlanta, États-Unis, 2006.
246 BIBLIOGRAPHIE<br />
[164] M. Yuen <strong>et</strong> H. R. Wu. A survey of hybrid MC/DPCM/DCT vi<strong>de</strong>o coding distortions.<br />
Signal Processing, 70(3) :247–278, 1998.<br />
[165] K. Ladislav. Real-time Skel<strong>et</strong>al Animation. PDH Thesis, Czech Technical University,<br />
2007.<br />
[166] D. L. James <strong>et</strong> C. D. Twigg. Skinning mesh animations. ACM Transactions on Graphics,<br />
24(3) :399–407, 2005.<br />
[167] R. Xu <strong>et</strong> D. Wunsch. Survey of clustering algorithms. Neural N<strong>et</strong>works, 16(3) :645–678,<br />
2005.<br />
[168] A. Shamir. A survey on mesh segmentation techniques. Neural N<strong>et</strong>works, 2008 (à<br />
paraître).<br />
[169] A. Shamir. A formulation of boundary mesh segmentation. In International Symposium<br />
on <strong>3D</strong> Data Processing, Visualization, and Transmission, pages 82–89, Caroline du Nord,<br />
NC, États-Unis, 2004.<br />
[170] V. Jain, H. Zhang, <strong>et</strong> O.V. Kaick. Non-rigid spectral correspon<strong>de</strong>nce of triangle meshes.<br />
International Journal on Shape Mo<strong>de</strong>ling, 13(1) :101–124, 2007.<br />
[171] Y. Lee, S. Lee, A. Shamir, D. Cohen-Or, <strong>et</strong> H.-P. Sei<strong>de</strong>l. Intelligent mesh scissoring using<br />
<strong>3D</strong> snakes. In Computer Graphics and Applications, pages 429–436, Seoul, Corée, 2004.<br />
[172] R. Liu <strong>et</strong> H. Zhang. Segmentation of <strong>3D</strong> meshes through spectral clustering. In Computer<br />
Graphics and Applications, pages 298–305, Seoul, Corée, 2004.<br />
[173] A. Shamir, L. Shapira, <strong>et</strong> D. Cohen-Or. Mesh analysis using geo<strong>de</strong>sic mean-shift. International<br />
Journal of Computer Graphics archive, 22(2) :99–108, 2006.<br />
[174] Z. Yan, S. Kumar, <strong>et</strong> C.-C. J. Kuo. Error-resilient coding of 3-d graphic mo<strong>de</strong>ls via<br />
adaptive mesh segmentation. IEEE Transactions on Circuits and Systems for Vi<strong>de</strong>o<br />
Technology, 11(7) :860–873, 2001.<br />
[175] D. Comaniciu <strong>et</strong> P. Meer. Mean shift : A robust approach toward feature space analysis.<br />
IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(5) :603–619, 2002.<br />
[176] J. M. Peña, J. A. Lozano, <strong>et</strong> P. Larrañaga. An empirical comparison of four initialization<br />
m<strong>et</strong>hods for the k-means algorithm. Pattern Recognition L<strong>et</strong>ters, 20(10) :1027–1040,<br />
1999.<br />
[177] F. Pereira <strong>et</strong> T. Ebrahimi. The MPEG-4 book. Springer-Verlag, Graduate Texts in<br />
Mathematics, 2002.<br />
[178] K. Zhou, J. Sny<strong>de</strong>r, B. Guo, , <strong>et</strong> H. Y. Shum. Iso-charts : Str<strong>et</strong>ch-driven mesh param<strong>et</strong>erization<br />
using spectral analysis. In Eurographics Symposium on Geom<strong>et</strong>ry Processing,<br />
pages 45–54, Nice, France, 2004.<br />
[179] I. Amidror. Scattered data interpolation m<strong>et</strong>hods for electronic imaging systems : a<br />
survey. Journal of Electronic Imaging, 11(2) :157–176, 2002.<br />
[180] R. Cal<strong>de</strong>rbank, I. Daubechies, W. Swel<strong>de</strong>ns, <strong>et</strong> B.-L. Yeo. Wavel<strong>et</strong> transforms that map<br />
integers to integers. Applied and Computational Harmonic Analysis, 5(3) :332–369, 1998.<br />
[181] D. Marpe, H. Schwarz, <strong>et</strong> T. Wiegand. Context-based adaptive binary arithm<strong>et</strong>ic coding<br />
in the H.264/AVC vi<strong>de</strong>o compression standard. IEEE Transactions on Circuits and<br />
Systems for Vi<strong>de</strong>o Technology, 13(7) :620–636, 2003.<br />
[182] C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal,<br />
27 :379–423 and 623–656, 1948.<br />
[183] E. W. Dijkstra. A Short Introduction to the Art of Programming. T. H. Eindhoven, 1971.
BIBLIOGRAPHIE 247<br />
[184] M.R. Garey <strong>et</strong> D.S. Johnson. Computers and Intractability : A Gui<strong>de</strong> to the Theory of<br />
NP-Compl<strong>et</strong>eness. W.H. Freeman and Company, 1979.<br />
[185] W. Swel<strong>de</strong>ns. Wavel<strong>et</strong>s and the lifting scheme : A 5 minute tour. Zeitschrift für Angewandte<br />
Mathematik und Mechanik, 76(2) :41–44, 1996.<br />
[186] H. Gish <strong>et</strong> J. Pierce. Asymptotically efficient quantizing. IEEE Transactions on Information<br />
Theory, 14(5) :676– 683, 1968.<br />
[187] Y. Shoham <strong>et</strong> A. Gersho. Efficient bit allocation for an arbitrary s<strong>et</strong> of quantizers. IEEE<br />
Transactions on Signal Processing, 36(9) :1445–1453, 1988.<br />
[188] R. Sedgewick <strong>et</strong> P. Flajol<strong>et</strong>. An Introduction to the Analysis of Algorithms. Addison-<br />
Wesley, 1996.<br />
[189] H. Schwarz <strong>et</strong> D. Marpe T. Wiegand. Overview of the scalable vi<strong>de</strong>o coding extension<br />
of the H.264/AVC standard. IEEE Transactions on Circuits and Systems for Vi<strong>de</strong>o<br />
Technology, 17(9) :1103 – 1120, 2007.<br />
[190] K. Mamou, T. Zaharia, B. Ivanova, M. Preda, F. Prêteux, B. Meaujean, J. Gaillard, <strong>et</strong><br />
O. Marre. Results of core experiment ce1 on mesh animation compression : skinning-based<br />
dynamic mesh compression. In IISO/IEC JTC 1/SC 29/WG 11/M14197, Marakech,<br />
Morocco, Janvier 2007.<br />
[191] K. Mamou, T. Zaharia, F. Prêteux, A. Kamoun, F. Payan, <strong>et</strong> M. Antonini. Two optimizations<br />
of the MPEG-4 FAMC standard for enhanced compression of animated <strong>3D</strong><br />
meshes. In IEEE International Conference on Image Processing (ICIP’2008), page à<br />
paraître, 2008.<br />
[192] ISO/IEC 14496-11 :2005 Information technology, Coding of audio-visual objects, Part<br />
11 : Scene <strong>de</strong>scription and application engine. Décembre 2005.
Résumé<br />
Les contenus <strong>3D</strong> <strong>statiques</strong> <strong>et</strong> <strong>dynamiques</strong> sont aujourd’hui exploités àgrandéchelle dans<br />
le cadre d’applications multimédias professionnelles <strong>et</strong> grand public (Conception Assistée par<br />
Ordinateur, télé-mé<strong>de</strong>cine, jeux vidéos, films d’animation <strong>3D</strong>...).<br />
Pour <strong>de</strong>s raisons d’interopérabilité multi-plateformes, <strong>de</strong> généralité ouencore<strong>de</strong>protection<br />
<strong>de</strong> la propriété intellectuelle, ces contenus sont le plus souvent représentés sous forme <strong>de</strong><br />
<strong>maillages</strong> <strong>3D</strong>, <strong>statiques</strong> ou <strong>dynamiques</strong>. L’inconvénient majeur <strong>de</strong> c<strong>et</strong>te représentation est lié<br />
aux coûts importants <strong>de</strong> stockage <strong>et</strong> <strong>de</strong> transmission, ce qui nécessite d’élaborer <strong>de</strong>s outils <strong>de</strong><br />
compression efficace optimisés pour ce type <strong>de</strong> contenus.<br />
C<strong>et</strong>te thèse propose quatre approches originales <strong>de</strong> compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> : <strong>de</strong>ux<br />
concernent les modèles <strong>statiques</strong> <strong>et</strong> les <strong>de</strong>ux autres les modèles <strong>dynamiques</strong>. En outre, une<br />
métho<strong>de</strong> <strong>de</strong> segmentation au sens du mouvement d’un maillage <strong>3D</strong> animé est également<br />
développée.<br />
La première métho<strong>de</strong>, appelée TFAN (Triangle Fan-based compression), vise à assurer une<br />
représentation <strong>3D</strong> compacte, sous une contrainte <strong>de</strong> basse complexité <strong>de</strong> calcul au niveau du<br />
déco<strong>de</strong>ur. Validée sur le corpus CAO du proj<strong>et</strong> RNRT SEMANTIC-<strong>3D</strong>, la métho<strong>de</strong> TFAN se<br />
montre particulièrement efficace pour la compression <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>de</strong> topologies arbitraires.<br />
Elle offre <strong>de</strong>s gains significatifs en termes <strong>de</strong> taux <strong>de</strong> compression (6 à33%)<strong>et</strong><strong>de</strong>temps<strong>de</strong><br />
décodage (<strong>de</strong> l’ordre <strong>de</strong> 50%), par rapports aux métho<strong>de</strong>s <strong>de</strong> l’état <strong>de</strong> l’art. Le co<strong>de</strong>ur TFAN<br />
aété récemment (Avril 2008) r<strong>et</strong>enu par le standard ISO/MPEG-4 pour une normalisation<br />
future.<br />
La <strong>de</strong>uxième approche est dédiée au codage <strong>de</strong>s <strong>maillages</strong> <strong>3D</strong> <strong>de</strong>nses comme ceux issus<br />
<strong>de</strong>s scanners <strong>3D</strong>. Elle exploite une approximation (sans perte <strong>de</strong> connectivité) par surfaces B-<br />
Splines, couplée à un codage JPEG2000. Elle offre <strong>de</strong>s performances <strong>de</strong> compression efficaces<br />
àbasdébit tout en assurant la fonctionnalité <strong>de</strong> scalabilité en qualité.<br />
La troisième technique, appelée MCGV (Multi-Chart Geom<strong>et</strong>ry Vi<strong>de</strong>o), traite <strong>de</strong> la compression<br />
<strong>de</strong> <strong>maillages</strong> <strong>3D</strong> <strong>dynamiques</strong>. MCGV exploite une représentation sous forme d’images<br />
géométriques 2D, compressée par les co<strong>de</strong>urs standardisés JPEG ou MPEG-4. L’approche<br />
MCGV assure <strong>de</strong> hautes performances <strong>de</strong> compression à bas débit <strong>et</strong> <strong>de</strong>s fonctionnalités<br />
avancées <strong>de</strong> streaming, <strong>de</strong> scalabilité temporelle <strong>et</strong> en qualité.<br />
Enfin, la quatrième contribution <strong>de</strong> c<strong>et</strong>te thèse concerne la métho<strong>de</strong> <strong>de</strong> compression dite<br />
FAMC (Frame-based Animated Mesh <strong>Compression</strong>), fondée sur une stratégie <strong>de</strong> compensation<br />
du mouvement <strong>3D</strong> par modèle<strong>de</strong>peau(skinning). FAMC s’appuie sur un algorithme <strong>de</strong><br />
segmentation <strong>de</strong> <strong>maillages</strong> <strong>3D</strong> au sens du mouvement. C<strong>et</strong> algorithme perm<strong>et</strong> <strong>de</strong> déterminer<br />
automatiquement <strong>et</strong> sous contrainte d’erreur moyenne <strong>de</strong> compensation <strong>de</strong> mouvement, une<br />
partition d’un modèle <strong>3D</strong> en parties ayant <strong>de</strong>s mouvements quasi-affines.<br />
En raison <strong>de</strong> ses hautes performances <strong>de</strong> compression <strong>et</strong> <strong>de</strong> l’ensemble <strong>de</strong>s fonctionnalités<br />
supportées, FAMC est promu dans le standard ISO/MPEG-4 en tant qu’amen<strong>de</strong>ment 2 <strong>de</strong> la<br />
partie 16 - AFX.