01.07.2013 Views

Compression de maillages 3D statiques et dynamiques - Artemis

Compression de maillages 3D statiques et dynamiques - Artemis

Compression de maillages 3D statiques et dynamiques - Artemis

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!