Compression de maillages 3D statiques et dynamiques



Documents pareils
Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Introduction au maillage pour le calcul scientifique

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Fonctions de plusieurs variables

Traitement bas-niveau

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

TD : Codage des images

Géométrie discrète Chapitre V

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Transmission d informations sur le réseau électrique

Big Data et Graphes : Quelques pistes de recherche

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

3 Approximation de solutions d équations

Quantification Scalaire et Prédictive

Formats d images. 1 Introduction

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Chaine de transmission

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Big Data et Graphes : Quelques pistes de recherche

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Sillage Météo. Notion de sillage

Programmation linéaire

ISO/CEI NORME INTERNATIONALE

DEVANT L UNIVERSITE DE RENNES 1

Les algorithmes de base du graphisme

Communications immersives : Enjeux et perspectives

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

L isomorphisme entre les tours de Lubin-Tate et de Drinfeld et applications cohomologiques par Laurent Fargues

Technique de compression des images médicales 4D

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

chapitre 4 Nombres de Catalan

Codage d information. Codage d information : -Définition-

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans

Programmation linéaire

Intérêt du découpage en sous-bandes pour l analyse spectrale

Représentation des Nombres

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

La classification automatique de données quantitatives

Object Removal by Exemplar-Based Inpainting

Programmes des classes préparatoires aux Grandes Ecoles

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Fibonacci et les paquerettes

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Introduction au Data-Mining

Nom de l application

Mesure agnostique de la qualité des images.

Université de Lorraine Licence AES LIVRET DE STAGE LICENCE

Image d un intervalle par une fonction continue

Théorie et codage de l information

Introduction au Data-Mining

Calcul différentiel. Chapitre Différentiabilité

Cours d Analyse. Fonctions de plusieurs variables

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Chapitre 2 : communications numériques.


Analyse dialectométrique des parlers berbères de Kabylie

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Introduction à l étude des Corps Finis

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Chapitre 5 : Flot maximal dans un graphe

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

1 Introduction au codage

Résolution d équations non linéaires

SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE

Master Informatique Aix-Marseille Université

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Enjeux mathématiques et Statistiques du Big Data

Principe de symétrisation pour la construction d un test adaptatif

Les nouveautés de Femap 11.1

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Calcul fonctionnel holomorphe dans les algèbres de Banach


Dualité dans les espaces de Lebesgue et mesures de Radon finies

Cabri et le programme de géométrie au secondaire au Québec

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

OPTION SCIENCES BELLE-ISLE-EN-TERRE

BACCALAUREAT GENERAL MATHÉMATIQUES

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours Base de données relationnelles. M. Boughanem, IUP STRI

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Transcription:

UNIVERSITE RENE DESCARTES - PARIS V Centre Universitaire des Saints-Pères UFR DE MATHEMATIQUES ET INFORMATIQUE Thèse présentée en vue de l obtention du grade de Docteur de l Université RENE DESCARTES - PARIS V Discipline : Sciences de la Vie et de la Matière Spécialité :Mathématiques et Informatique Par Khaled MAMMOU Sujet de la thèse : Compression de maillages 3D statiques et dynamiques Soutenue le 5 Septembre 2008, devant le jury composé de: Madame le Professeur Christine GRAFFIGNE Président Monsieur le Professeur Faouzi GHORBEL Rapporteur Monsieur le Professeur Rémy PROST Rapporteur Madame le Professeur Françoise PRÊTEUX Directeur de thèse Monsieur le Docteur Didier NICHOLSON Examinateur Monsieur le Docteur Titus ZAHARIA Examinateur

Remerciements Initiée il y a un peu plus de trois ans, cette thèse n aurait pas pu aboutir sans l aimable concours de plusieurs personnes, que je tiens vivement à remercier ici. En premier lieu, je tiens à remercier Madame le Professeur Françoise Prêteux, directeur de cette thèse, pour m avoir accueilli au sein du département ARTEMIS de l Institut TELECOM/ TELECOM & Management SudParis. Quelle soit assurée de ma profonde gratitude pour la qualité de la formation dont elle m a fait bénéficier et pour ses conseils avisés. Je lui serai toujours reconnaissant pour m avoir impliqué dans le processus ISO/MPEG et pour m avoir fait ainsi découvrir le monde passionnant de la normalisation internationale. Je tiens à remercier tout particulièrement Monsieur le Docteur Titus Zaharia, Maître de Conférences au Département ARTEMIS pour son encadrement quotidien, pour les discussions scientifiques passionnées que nous avons partagées et pour ses recommandations pédagogiques précieuses. A Madame Christine Graffigne, Professeur à l Université Paris V, qui m a fait l honneur de présider ce jury, je tiens àtémoigner mon respect et mes remerciements les plus sincères. A Monsieur Faouzi Ghorbel, Professeur àl École Nationale des Sciences de l Informatique de Tunis, qui a accepté la lourde charge d être rapporteur, j exprime mes remerciements les plus profonds pour l interêt qu il a bien voulu porter à ce travail. Je souhaite également lui témoigner ma gratitude et ma profonde reconnaissance pour m avoir fait découvrir le monde de l imagerie et pour m avoir orienté vers ce domaine passionnant. Je ne le remercierai jamais assez pour la rigoureuse formation scientifique dont il m a fait bénéficier ainsi que pour ses précieux conseils et son soutien amical. Je serai toujours son redevable élève! Que Monsieur Rémy Prost, Professeur à l INSA de Lyon, rapporteur de ce mémoire, trouve ici l expression de toute ma gratitude pour sa lecture minutieuse et l intérêt qu il a porté à cette recherche. Qu il soit également remercié pouravoirenrichietamélioré la qualité de cette thèse grâce à sa grande expérience dans ce domaine. Que Monsieur le Docteur Didier Nicholson, Ingénieur de Recherche chez Thalès Communications et Chef de la Délégation Française dans la commission JPEG, soit assuré demes remerciements les plus chaleureux pour m avoir fait l honneur d être examinateur de cette thèse. A Marius Preda, Nicolas Rougon, Catalin Fetita et Mihai Mitrea, Maîtres de Conférences au Département ARTEMIS, j exprime mes rermerciements pour leur écoute attentive et leur aide stimulante. Que Madame Evelyne Taroni trouve ici l expression de mes remerciements pour son aide patiente et son inépuisable énergie pour résoudre toutes les questions administratives. i

ii Je tiens également à remercier l ensemble des membres d ARTEMIS (actuels et anciens), que j ai eu la chance de côtoyer : Afef, Alain, Antoine, Benoît, Blagica, Corneliu, Diane, Franck, Imen, Ines, Ivica, Maher, Marc, Octavian, Oguzhan, Olfa, Walid, Perrine, Pierre-Yves, Rachid, Son et Sorin. Je tiens particulièrement à remercier mon ami Amaury et mon collègue de bureau Matthieu pour les innombrables et agréables pauses (café ou autres) que nous avons partagées. Nos discussions amicales et parfois scientifiques restent un plaisir inégalé! Enfin, je ne remercierai jamais assez ma famille et mes amis pour leur précieux soutien tout au long de ces années.

Table des matières Remerciements i Introduction 1 I Compression de maillages statiques 5 1 Représentation et compression de maillages 3D statiques : état de l art 7 1.1 Notions mathématiques............................... 8 1.1.1 Maillage triangulaire............................ 8 1.1.2 Variétés, orientation et genre........................ 10 1.2 Standards/formats de représentation....................... 14 1.3 Compression de maillages 3D statiques : état de l art.............. 15 1.3.1 Approches de compression mono-résolution................ 16 1.3.1.1 Compression par bandes de triangles.............. 16 1.3.1.2 Codage par arbres couvrants.................. 17 1.3.1.3 Décomposition en niveaux.................... 18 1.3.1.4 Codage des valences....................... 18 1.3.1.5 Codage par conquête de triangles................ 21 1.3.1.6 Codage prédictif de la géométrie et des attributs....... 21 1.3.1.7 Quantification vectorielle..................... 23 1.3.2 Approches de compression multi-résolution................ 24 1.3.2.1 Techniques de simplification de maillages............ 24 1.3.2.2 Les maillages progressifs..................... 25 1.3.2.3 Codage par complexe simplicial progressif........... 25 1.3.2.4 Codage par forêt progressive d opération vsplit........ 26 1.3.2.5 Approches par décimation de sommets............. 26 1.3.2.6 Codage par décomposition en niveaux............. 28 1.3.2.7 Codage par décomposition en arbres géométriques....... 28 1.3.2.8 Codage spectral.......................... 29 1.3.2.9 Approches par ondelettes.................... 30 1.4 Analyse et discussion................................ 33 1.5 Conclusion...................................... 36 iii

iv TABLE DES MATIÈRES 2 Le codage TFAN 37 2.1 L approche TFAN.................................. 38 2.1.1 Définition.................................. 38 2.1.2 Principe................................... 39 2.1.3 Algorithme de codage : construction de la représentation TFAN.... 44 2.1.4 Decodage de la représentationtfan................... 47 2.1.5 Compression de la représentation TFAN................. 48 2.1.6 Préservation de l ordre des sommets et des facettes........... 51 2.1.7 Codage de la géométrie du maillage.................... 51 2.2 Propriétés de l approche TFan........................... 51 2.2.1 Complexité de calcul............................ 51 2.2.2 Rendu temps réel.............................. 52 2.2.3 Capacité demémoire nécessaire...................... 52 2.3 Résultats expérimentaux : projetrnrtsemantic-3d............ 52 2.3.1 Corpus de test SEMANTIC-3D...................... 53 2.3.1.1 Structure à multiples composantes connexes.......... 53 2.3.1.2 Problème d éclatement des composantes connexes ( cracking ) 54 2.3.1.3 Distribution des valences..................... 56 2.3.1.4 Conversion en maillages manifold................ 56 2.3.1.5 Adéquation des approches classiques aux donnéescao.... 57 2.3.2 Critères d évaluation............................ 58 2.3.3 Distribution des configurations TFAN................... 58 2.3.4 Espace mémoire............................... 60 2.3.5 Performances de compression....................... 61 2.3.6 Temps de décodage............................. 64 2.4 Conclusion...................................... 65 3 Codage par approximation B-Splines 67 3.1 Compression par images géométriques : principe et limitations......... 68 3.2 Codage par surfaces B-Splines........................... 70 3.2.1 Schéma général............................... 70 3.2.2 Segmentation de maillages 3D....................... 71 3.2.3 Paramétrisation............................... 76 3.2.4 Approximation par surfaces B-Splines................... 79 3.2.5 Recollage des patchs............................ 81 3.3 Résultats expérimentaux.............................. 81 3.4 Conclusion...................................... 87 II Compression de maillages dynamiques 89 4 Représentation et compression de maillages 3D animés : état de l art 91 4.1 Domaines d application............................... 92 4.1.1 Films d animation et effets spéciaux 3D.................. 92 4.1.2 Jeux vidéos................................. 93 4.2 Techniques de créationd animation3d...................... 94 4.2.1 Animation par modèles descriptifs..................... 94 4.2.2 Animation procédurale........................... 95 4.3 Standards de représentation 3D et formats propriétaires............. 97

TABLE DES MATIÈRES 4.3.1 Standard VRML.............................. 97 4.3.2 Standard H-Anim.............................. 97 4.3.3 Le standard MPEG-4............................ 98 4.3.4 Standard X3D................................ 100 4.3.5 Standard COLLADA............................ 100 4.3.6 Formats propriétaires............................ 100 4.3.7 Discussion.................................. 101 4.4 Fonctionnalités avancées.............................. 103 4.5 Synthèse bibliographique.............................. 103 4.5.1 Prédicteurs spatio-temporels locaux.................... 103 4.5.2 Compression par ACP........................... 109 4.5.3 Compression par transformées en ondelettes............... 111 4.5.3.1 Ondelettes temporelles...................... 111 4.5.3.2 Ondelettes spatiales régulières et semi-régulières........ 112 4.5.3.3 Ondelettes spatiales irrégulières................. 113 4.5.4 Compression par segmentation....................... 114 4.6 Analyse et discussion................................ 115 4.7 Conclusion...................................... 116 5 Compensation de mouvement par modèle de peau (skinning) 121 5.1 Segmentation au sens du mouvement....................... 122 5.1.1 Etat de l art................................. 122 5.1.2 Formulation mathématique......................... 124 5.1.3 Segmentation par algorithme de k-moyennes............... 124 5.1.3.1 Calcul de la partition initiale.................. 125 5.1.3.2 Raffinement de la partition................... 125 5.1.4 Segmentation hiérarchique......................... 128 5.2 Modèle de peau................................... 130 5.2.1 Estimation des transformée affines..................... 130 5.2.1.1 Existence et unicité........................ 131 5.2.1.2 Solution par SVD......................... 132 5.2.2 Estimation des poids d animation..................... 134 5.2.3 Prédiction des normales.......................... 135 5.3 Résultats expérimentaux.............................. 137 5.3.1 Méthodes de segmentation : évaluation expérimentale.......... 137 5.3.2 Prédiction des positions et des normales................. 139 5.4 Conclusion...................................... 145 6 Compression MCGV 147 6.1 Approche GV : principe et limitations...................... 148 6.2 Approche MCGV : schémaglobal......................... 148 6.3 Codage du modèle de skinning........................... 150 6.4 Compression des erreurs résiduelles........................ 151 6.4.1 Atlas de paramétrisations......................... 151 6.4.2 Construction des images géométriques.................. 152 6.4.3 Remplissage des images géométriques................... 155 6.4.4 Codage des images géométriques..................... 156 6.5 Fonctionnalités................................... 157 6.6 Résultats expérimentaux.............................. 158 v

vi TABLE DES MATIÈRES 6.6.1 Corpus d évaluation............................. 158 6.6.2 Critères d évaluation............................ 158 6.6.3 Résultats de compression.......................... 159 6.6.3.1 MCGV/JPEG versus MCGV/MPEG-4 V2.......... 159 6.6.3.2 MCGV versus GV........................ 159 6.6.3.3 MCGV versus les techniques de l étatdel art......... 164 6.7 Conclusion...................................... 167 7 L approche FAMC : la nouvelle spécification MPEG-4 169 7.1 Schéma global.................................... 170 7.2 Codeur arithmétiqueaveccontextecabac................... 171 7.2.1 Schéma de binarisation àlongueurfixe.................. 172 7.2.2 Schémas de binarisation Unary et Truncated Unary........... 173 7.2.3 Schéma de binarisation Exponential Golomb............... 173 7.2.4 Schéma de binarisation Unary/Exponential Golomb........... 174 7.3 Compression du modèle de mouvement...................... 175 7.3.1 Codage du modèledepeau(skinning).................. 175 7.3.1.1 Codage de la partition...................... 175 7.3.1.2 Codage des transformées affines................. 176 7.3.1.3 Codage des poids d animation.................. 177 7.4 Compression des erreurs résiduelles........................ 178 7.4.1 Compression par DCT/TO......................... 179 7.4.1.1 Tansformée DCT......................... 179 7.4.1.2 Transformée en ondelettes biorthogonales (4,2)........ 179 7.4.1.3 Prédiction spatiale des coéfficientsspectraux.......... 180 7.4.1.4 Codages des coefficient spectraux................ 181 7.4.2 Compression par ACP........................... 181 7.4.2.1 Distorsion de quantification................... 183 7.4.2.2 Optimisation débit/distorsion.................. 185 7.4.3 Compression par prédiction hiérarchique LD (Layered Decomposition). 187 7.4.3.1 Décomposition en patchs..................... 188 7.4.3.2 Phase de décimation....................... 188 7.4.3.3 Décomposition en niveaux hiérarchiques............ 190 7.4.3.4 Prédiction hiérarchique...................... 191 7.4.3.5 Codage binaire.......................... 192 7.5 Fonctionnalités supportées............................. 193 7.5.1 Scalabilité spatiale............................. 194 7.5.2 Scalabilité temporelle............................ 195 7.5.3 Scalabilité en qualité............................ 196 7.5.4 Streaming.................................. 197 7.6 Conclusion...................................... 197 8 Résultats expérimentaux 199 8.1 Corpus de test.................................... 200 8.2 Critères d évaluation................................ 200 8.3 Evaluation expérimentale.............................. 202 8.3.1 Comparaison des différentes configurations de FAMC.......... 202 8.3.2 FAMC versus MCGV............................ 206 8.3.3 FAMC versus lestechnologiesmpeg-4.................. 207

TABLE DES MATIÈRES 8.3.3.1 FAMC versus BIFS....................... 207 8.3.3.2 FAMC versus AFX-IC...................... 208 8.3.4 FAMC versus les techniques de l étatdel art.............. 211 8.4 Fonctionnalités................................... 212 8.4.1 Scalabilité spatiale............................. 212 8.4.2 Scalabilité en qualité............................ 214 8.4.3 Codage des attributs............................ 215 8.4.4 Codage quasi sans perte.......................... 216 8.4.5 Streaming.................................. 217 8.5 Conclusion...................................... 218 Conclusion 219 vii

viii TABLE DES MATIÈRES

Table des figures 1.1 Illustration de l enveloppe convexe [χ 1,χ 2,χ 3 ] de trois points dans R 3. Elle représente la surface du triangle défini par les trois points {χ 1,χ 2,χ 3 }...... 9 1.2 Illustration d un maillage triangulaire M =(K, X )dansr 3........... 10 1.3 Exemples de maillages manifolds et non-manifolds................ 12 1.4 (a) Orientation de la normale associée au triangle (v 1,v 2,v 3 ) (b) maillage nonorienté et (c) maillage orienté............................ 12 1.5 Surfaces de différentsgenres............................. 13 1.6 Schéma général de compression monorésolutiondemaillages3d......... 17 1.7 Exemple de codage par arbres couvrants : (a) maillage original, (b) arbre couvrant des sommets, (c) découpage du maillage selon l arbre couvrant des sommets, (d) polygone planaire simplement connexe suite à (c) et (e) arbre couvrant des triangles (Source : [1]).............................. 18 1.8 Décomposition en niveaux. Les contours en gras représentent les différents niveaux de sommets (Source : [2])........................... 19 1.9 Conquête du maillage par l algorithme de Touma et Gotsman : (a) maillage initial, (b) insertion du sommet fantôme, (c) ADD 6, ADD 7, ADD 4 (insertion du premier triangle), (d) ADD 4, (e) ADD 7, (f) ADD 5, (g) ADD 5, (h) Sommet courant complet, focalisation sur le sommet suivant de la liste active, (i) ADD 4, (j) ADD5, (k) SPLIT 5, (l) Focalisation sur le sommet suivant de la nouvelle liste active, (m) ADD 4, (n) ADD dummy 5, (o) Retirer la nouvelle liste active du FIFO, (p) ADD 4, (q) Focalisation sur le sommet suivant de la liste active, (r) Focalisation sur le sommet suivant de la liste active et (s) Conquête du maillage achevée. (Source : [3])................................ 20 1.10 Codage par l algorithme de EdgeBreaker : les numéros des triangles indiquent l ordre de parcours, tandis que les différents types de hachures représentent les codes des opérations (Source : [4])......................... 22 1.11 Prédiction par règle du parallélogramme...................... 23 1.12 L opération de edge collapse (ecol) et sa duale, vertex split (vsplit)..... 24 1.13 Les différentes configurations de vertex split généralisé. (Source : [5])..... 26 1.14 L opération de forest split. a) le maillage initial avec, en gras, les arêtes de la forêt ; b) le découpage du maillage au long des arêtes de la forêt ; c. triangulation de la structure obtenue ; d) le maillage raffiné. (Source : [6])........... 26 1.15 Codage progressif selon l algorithme de Alliez et Desbrun : a) Maillage initial, patchs et portes d entrée (notées g i ) ; b) Maillage après décimation et étape de nettoyage; c) Maillage final obtenu. (Source : [7])................. 27 ix

x TABLE DES FIGURES 1.16 Illustration de l algorithme par décomposition en arbre Kd, pour le cas 2D. (Source : [8])..................................... 28 1.17 Compression par ondelettes semi-régulières. (Source : [9])............. 31 1.18 Configurations de subdivision pour l approche de codage par ondelettes irrégulières. 32 2.1 Eventail de triangles de degré 4décrit par les sommets (v 0,v 1,v 2,v 3,v 4,v 5 )... 38 2.2 Décomposition de la connectivité d un maillage triangulaire en trois éventails de triangles : TF 1 = {v 1,v 8,v 9,v 2 }, TF 2 = {v 9,v 3,v 7,v 6,v 2 } et TF 3 = {v 6,v 7,v 5,v 4 }. 40 2.3 Maillage reconstruit àpartirdelareprésentation du maillage par éventails de triangles........................................ 43 2.4 Algorithme de codage de l approche TFAN.................... 46 2.5 Algorithme de décodage de la représentation TFAN................ 48 2.6 Exemples des dix configurations considéréespartfan.............. 50 2.7 Quelques modèlescao3dducorpussemantic-3d.............. 53 2.8 Modèle CAO original avec 1274 composantes connexes. (20491 triangles et 20626 sommets)....................................... 54 2.9 Distributions des nombres de triangles et de sommets par composante connexe pour l ensemble des modèlesdelabase....................... 54 2.10 Problème de cracking induit par la structure à multiples composantes connexes caractéristiques aux modèles CAO (1455 triangles et 1626 sommets). (a) Maillage original, (b) Maillage compressé avec l approche spectrale exhibant des problèmes de cracking, (c) composantes connexes de (b) colorées et (d) Zoom sur la région d intérêt de (c) montrant l inefficacité de l approche de compression spectrale à gérer les maillages àmultiplescomposantesconnexes............... 55 2.11 Problème de cracking pour les niveaux de détails intermédiaires pour les approches de compression par décimation : compression par maillage progressif [10]. (a) Maillage original (1549 triangles et 1557 sommets), (b) Composantes connexes de (a) colorées (1252 triangles et 1302 sommets), (c) Zoom sur la région d intérêt dans (b) et (d) Modèle sans problème de cracking obtenu par des opérations de type half edge collapses pour les sommets de bord (1373 triangles et 1457 sommets) : pas de simplification significative possible du modèle original. 56 2.12 Distributions des pourcentages des triangles et des sommets de bord pour l ensemble des modèlesdelabasesemantic.................... 56 2.13 Illustration des triangles bord : (a) et (c) composantes connexes colorées et (b) et (d) triangles de bord colorés en rouge...................... 57 2.14 Distribution des valences des sommets pour l ensemble des modèles de la base SEMANTIC-3D................................... 57 2.15 Histogramme des configurations TFAN pour des maillages de type manifold orienté......................................... 59 2.16 Histogramme des configurations TFAN pour des maillages CAO de topologies arbitraires....................................... 60 2.17 Courbes d évolution du nombre de sommets stockés en mémoires pour différents maillages CAO.................................... 61 2.18 Performances de compression pour une quantification sur 12 bits : TFAN vs. MPEG-4/3DMC et TG............................... 62 2.19 Courbes débit/distorsion pour différents maillages CAO : TFAN vs. MPEG- 4/3DMC et TG.................................... 63 2.20 Gains en terme de débit de l approche TFAN par rapport aux techniques MPEG- 4/3DMC et TG pour une quantification sur 12 bits................ 64

TABLE DES FIGURES 2.21 Temps de décodage pour les approches TFAN, MPEG-4/3DMC et TG..... 64 2.22 Gains en terms de temps de décodage de l approche TFAN par rapport aux techniques MPEG-4/3DMC et TG......................... 65 3.1 Processus de conversion d un maillage 3D en une image géométrique...... 68 3.2 Limitations du processus de remaillage pour les maillage Bunny (a et b) et Horse (c et d) : triangulation de mauvaise qualité etsur-échantillonnage de la surface........................................ 69 3.3 Schéma synoptique de l algorithme de compression par représentation B-Spline. 70 3.4 Maillage de graphe dual associé........................... 73 3.5 Découpage du maillage par duplication des sommets localisés aux bords des patchs. 73 3.6 Elimination des bords multiples : (a) patch avec deux bords B 1 et B 2, (b) deux sommets fictifs v 1 et v 2 respectivement connectés à B 1 et B 2,et(c)découpage du patch selon le plus court chemin entre v 1 et v 2................. 74 3.7 Optimisation de la paramétrisation par élargement du bord : (a) Paramétrisation initiale avec des hautes distorsions de paramétrisation ; (b) Sommet fictif v connecté au bord, sommet interne v 0 ayant la plus grande courbure Gaussienne et découpage du maillage selon le plus court chemin entre v et v 0 ;(c)paramétrisation finale de distorsion plus faible.................... 75 3.8 Segmentation de maillages de diverses formes et complexités........... 76 3.9 Paramétrisation d un maillage triangulaire sur un domaine 2D carré....... 78 3.10 Les courbes isoparamétriques dans le domaine paramétrique........... 79 3.11 Paramétrisation d un patch par différentes méthodes de paramétrisation : (a) Tutte, (b) Tutte optimisé et (c) Floater...................... 80 3.12 Collage de deux patchs : en partant des deux sommets v 1 et v 2 et en suivant les deux sens de parcours s 1 et s 2,ledécodeur fusionne succesivement les N C sommets de bords.................................. 81 3.13 Courbes débit/distorsion pour les modèles Horse, Bunny et Venus.... 83 3.14 Maillages Horse, Venus et Bunny compressés avec MPEG-4/3DMC (a, e et i), TG (b, f et j), CS (c, g et k) et notre approche (d, f, h et l)........ 84 3.15 Résultats de compression àdifférents débits:(a,b,cetd) Tyra,(e,f,geth) Gargoyle, (i, j, k et l) Hand, (m, n, o et p) Lucy (Partie 1)........ 85 3.16 Résultats de compression àdifférents débits : (a, b, c et d) Max Planck, (e, f, g et h) Dinosaur, (i, j, k et l) Rabbit, (m, n, o et p) Feline (Partie 2).. 86 4.1 Extraits des films d animation 3D.......................... 92 4.2 Extraits des jeux vidéo3d.............................. 93 4.3 Standard H-Anim : squelette hiérarchique d un humanoïde. (source : http ://hanim.org/)...................................... 99 4.4 Exemples de maillages 3D dynamiques....................... 102 4.5 Prédicteur ELP.................................... 105 4.6 Prédicteur Replica.................................. 106 4.7 Prédicteur AP.................................... 107 4.8 Prédicteur moyenneur (N=4)............................ 108 4.9 Prédicteur MV.................................... 108 xi

xii TABLE DES FIGURES 5.1 Résultats de segmentation avec et sans la procédure de raffinement pour le maillage dynamique Dance : (a) Segmentation par k-moyennes sans raffinement, (b) Segmentation par k-moyennes avec raffinement, (c) Segmentation hiérarchique sans raffinement et (d) Segmentation hiérarchique avec raffinement. 126 5.2 Opération half-edge collapse : l arête (v, w) est contractée, les deux sommets v et w fusionnés, et la connectivité du maillage redéfinie, en connectant à v l ensemble des arêtes incidente à w......................... 128 5.3 Segmentation hiérarchique du maillage dynamique Raptor : (a) avec fusion des CCs et (b) sans fusion des CCs......................... 129 5.4 Rendu des maillages dynamiques Dance et Horse gallop (a, c) sans et (b, d) avec lissage en exploitant les normales associées aux sommets du maillage.. 136 5.5 Segmentation par k-moyennes vs. segmentation hiérarchique : (a, b) Horse gallop, (b, c) Chicken, (e, f) Cow, (g, h) Camel collapse, (i, j) Dolphin, (k, l) Elephant gallop, (m, n) Dance, (o, p) Horse collapse, (q, r) Raptor, (s, t) Shark, (u, v) Troll et (w, x) Wolf................... 141 5.6 Processus de raffinement de la partition : évolution de l erreur quadratique moyenne de compensation de mouvement avec le nombre d itérations...... 142 5.7 Prédicteur affine par morceaux vs. modèle de skinning :(a)première trame segmentée, (b) trame 36, (c) trame 36 prédite par transformées affines, (d) distribution des erreurs de (c), (e) trame 36 prédite par modèle de skinning et (f) distribution des erreurs de (e)............................ 143 6.1 MCGV versus GV : la procédure de remaillage opérée par GV conduit àdes pertes de détails et àdesartéfacts visuels..................... 149 6.2 Schéma synoptique du codeur MCGV....................... 149 6.3 Atlas de paramétrisation............................... 152 6.4 Images géométriques des erreurs de compensation de mouvement........ 153 6.5 Image géomatrique obtenue après l application de la procédure de remplissage (padding) sur l image de la Figure 6.4....................... 153 6.6 MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) Chicken, b) Cow et c) Dance............................... 160 6.7 MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) Dolphin, b) Snake et c) Humanoid............................ 161 6.8 Courbes débit/distorsion des approches prédictives MCGV/MPEG-4 V2 et GV en mode P...................................... 162 6.9 MCGV/MPEG-4 V2 versus GV-mode P à : a) 2etb) 4bpts.......... 163 6.10 MCGV/JPEG versus GV-mode I à 8 bpts..................... 165 6.11 Animation Snake : MCGV versus les techniques de l étatdel art....... 166 6.12 Animation Humanoid : MCGV versus les techniques de l état de l art.... 166 6.13 Animation Chicken : MCGV versus les techniques de l étatdel art...... 166 7.1 Schéma synoptique du codeur FAMC. En grisé, lesmodulesoptionnels..... 170 7.2 Schéma fonctionnel du codeur CABAC....................... 172 7.3 Exemple de codage par plages de valeurs d une partition, pour un maillage avec 14 sommets partitionnés en 3 clusters....................... 176 7.4 Les quatre points utilisés pour la représentation du mouvement affine d un cluster.177 7.5 Codage des poids d animation............................ 178

TABLE DES FIGURES 7.6 Opération de décimation topologique VRem(v) :(a) patch original ; (b) supression du sommet v ainsi que de l ensemble des arêtes et des triangles qui lui sont incidents ; (c) re-triangulation du patch obtenu.................. 188 7.7 Re-triangulations possibles pour des sommets de degrés : (a) 6, (b) 5, (c) 4 et (d) 3.......................................... 189 7.8 Exemple de décomposition en cinq niveaux hiérarchiques du maillage dynamique Cow......................................... 191 7.9 Scalabilité temporelle : exemple de structure de prédiction temporelle hiérarchique.195 7.10 Scalabilité en qualité :décomposition des coefficients spectraux en niveaux de détails correspondant à quatre bandes de fréquences............... 196 8.1 Comparaison des performances de compression des différentes configurations FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5) FAMC/DCT+LD et (6) FAMC/ACP (partie 1)................ 204 8.2 Comparaison des performances de compression des différentes configuration FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5) FAMC/DCT+LD et (6) FAMC/ACP (partie 2)............................ 205 8.3 Performances de compression du codeur FAMC/DCT vs. l approche MCGV.. 207 8.4 FAMC/DCT vs. AFX-IC.............................. 210 8.5 FAMC vs. les techniques de l étatdel art..................... 212 8.6 Scalabilité spatiale du codeur FAMC/LD pour les animations : (a, b, c) Horse gallop, (d, e, f) Dragon, (g, h, i) Eagle, (j, k, l) Troll, (m, n, o) Wolf et (p, q, r) Raptor................................. 213 8.7 Scalabilité en qualité................................. 215 8.8 Codage des normales : FAMC/DCT vs. AFX-IC................. 216 8.9 Codage quasi sans perte............................... 217 8.10 Performances de compression du codeur FAMC/DCT avec et sans streaming.. 218 8.11 Exemple de codage pour l approche TFAN..................... 229 8.12 Extraits des animations : (a) Ball, (b) Box, (c) Camel collapse, (d) Camel gallop, (e) Chicken, (f) Cow et (g) Dance............... 233 8.13 Extraits des animations : (a) Dolphin, (b) Dragon, (c) Eagle, (d) Elephant gallop, (e) Horse collapse, (f) Horse gallop et (g) Humanoid... 234 8.14 Extraits des animations : (a) Jump, (b) Rabbit, (c) Raptor, (d) Snake, (e) troll et (f) Wolf............................... 235 xiii

xiv TABLE DES FIGURES

Liste des tableaux 1.1 Etat de l art des techniques monorésolutions de compression de maillages 3D statiques....................................... 34 1.2 Etat de l art des techniques multirésolutions de compression de maillages 3D statiques....................................... 35 2.1 Les dix configurations TFAN (X représenteunevaleurarbitraire)........ 49 2.2 Propriétés topologiques du corpus SEMANTIC-3D avant et après convertion en maillages manifolds.................................. 58 4.1 Etat de l art des modèles d animation descriptifs................. 96 4.2 Etat de l art des modèles d animation par modèles procéduraux......... 97 4.3 Représentations supportées par les standards d animation 3D.......... 101 4.4 Etat de l art : stratégies de compensation de mouvements et de codage des erreurs résiduelles de prédiction........................... 117 4.5 Etat de l art : fonctionnalités supportées. IC : Interpolation Compression, AP: Angle Preserving, MV : vertex-wise Motion Vector, SSLPC : Spatial Scalable Linear Predictive Coder, STSLPC:Spatio-Temporal Scalable Linear Predictive Coder, LOPC:Layered One-directionnal Predictive Coder, LBPC:Layered Bidirectionnal Predictive Coder, PCA:Principal Component Analysis compression, LPCA:Linear PCA, APCA:Adaptive PCA coder, CPCA:Clustered PCA, RLPCA:Relative Local PCA, TWC:Temporal Wavelet-based Compression, MCDWT:Motion Compensated Discrete Wavelet Transform, SRWC: Semi-Regular Wavelet-based Compression, GV:Geometry Videos, AWC(Anisotropic Wavelets Compression), TO : Transformée en Ondelettes, RT : Rigid Transform,ICP:Iterative Closest Point, PSC:Predictive Spectral Compression, TS : Triangle Strips-based compression, D3DMC:Dynamic 3D Mesh Compression.......................................... 118 5.1 Notaions utilisées dans les tableaux 5.2 et 5.3................... 138 5.2 Performances obtenues par la méthode de segmentation par k-moyenne.... 140 5.3 Performances obtenues par la méthode de segmentation hiérarchique...... 140 5.4 Modèle de skinning : erreurs de compensation de mouvement obtenues avec poids optimaux et poids unitaires.......................... 144 5.5 t Performances des prédicteurs des normales : N v vs. Ñv t.............. 145 6.1 Stratégie de compression des différentes composantes du modèle de skinning.. 150 6.2 Fonctionnalités supportées par le codeur MCGV................. 157 xv

xvi LISTE DES TABLEAUX 6.3 Résultats de compression disponibles et références des sources associées..... 159 6.4 Gains moyens en débits obtenus par le codage prédictif MCGV/MPEG-4 V2 par rapport au codage intra MCGV/JPEG.................... 162 6.5 MCGV/JPEG versus GV mode I à8bpts..................... 163 7.1 Schéma de binarisation FL pour l alphabet A = {0, 1, 2, 3, 4, 5}......... 173 7.2 Schéma de binarisation Unary et TU pour l alphabet A = {0, 1, 2, 3, 4, 5}... 173 7.3 Schéma de binarisation EG0............................ 174 7.4 Schéma de binarisation UEG(0, 6)......................... 175 7.5 Les différentesconfigurationsfamc........................ 193 7.6 Fonctionnalités supportées par les différentes configurations du codeur FAMC : (1) DCT, (2) Lift, (3) LD, (4) DCT+LD et (5) Lift+LD............. 194 7.7 Différents types de scalabilité supportésparlecodeurfamc.......... 194 8.1 Complexités de calcul des différentes configurations FAMC (V Π est le nombre maximal de sommets par cluster)......................... 203 8.2 Gains de l approche FAMC par rapport au schéma de binarisation BIFS.... 208 8.3 Gains de l approche FAMC par rapport au codeur MPEG-4/AFX-IC...... 210 8.4 Propriétés des animations du corpus de test.................... 232

Introduction Aujourd hui, les applications multimédias professionnelles ou grand public mettent de plus en plus en scène des contenus 3D aussi bien statiques que dynamiques, dans des contextes industriels divers. La Conception Assistée par Ordinateur (CAO) par l industrie automobile ou aéronautique, les nouveaux services de télé-médecine, les industries du jeu vidéo, des films d animation 3D, des effets spéciaux ou encore des dessins animés sont quelques exemples représentatifs de domaines où la modélisation 3D joue un rôle incontournable. Selon l application considérée et les techniques utilisées pour les générer, ces contenus 3D sont stockés sous divers formats, normalisés ou propriétaires. Pour des raisons d interopérabilité multi-plateformes, de généralité ouencoredeprotectiondelapropriété intellectuelle, ces contenussontleplussouventreprésentés sous forme de maillages 3D, statiques ou dynamiques. L inconvénient majeur de cette représentation est en revanche lié aux coûts importants de stockage et de transmission. D où la nécessité d élaborer et de mettre en oeuvre des outils de compression efficace dédiés et optimisés pour ce type de contenus. Le contexte industriel moderne est marqué par une tendance de convergence des technologies fixes et mobiles. Dans ce cadre, les méthodes de compression 3D doivent impérativement répondre au paradigme d accès universel, à travers différents réseaux, fixes et mobiles (à débits variables) et à partir de terminaux (PDA, PC, téléphone portable...) de capacités diverses en termes de puissance de calcul, de mémoire et de visualisation. D un point de vue méthodologique, cela se traduit par le support de fonctionnalités avancées de codage/décodage basse complexité et temps réel, de progressivité/scalabilité (spatiale, temporelle et en qualité) et de streaming. L objectif de cette thèse est de proposer des éléments de réponse à la problématique de compression de maillages 3D statiques et dynamiques. Dans ce contexte, le défi majeur à relever est de développer des représentations à la fois compactes et adaptées à des fonctionnalités avancées de transmission tout en assurant une faible complexité de décodage. Cette thèse est structurée en deux parties. La première traite de la compression de maillages 3D statiques. Elle regroupe les trois premiers chapitres de ce mémoire. Au premier chapitre, nous rappelons tout d abord le formalisme mathématique de représentation des maillages 3D, avec définitions et propriétés géométrico-topologiques. Ensuite, nous proposons une synthèse bibliographique des principales familles d approches de compression de maillages 3D statiques. Principes, performances, avantages et limitations des méthodes les plus représentatives sont ici discutés et analysés en détails. La littérature riche dédiée à la compression de maillages 3D statiques, développée maintenant depuis plus de vingt ans, fait ressortir un large éventail d approches, adaptées à des applications diverses. Néanmoins, les 1

2 Introduction méthodes de l état de l art semblent dans leur grande majorité s appuyer sur un ensemble d hypothèses relatives aux propriétés de régularité géométrique et topologique des maillages (e.g., manifold, orientable...). En pratique, ces hypothèses sont souvent violées, ce qui restreint significativement les domaines d application de ces approches. C est bien dans cet objectif de généralité que s inscrit la première contribution de cette thèse. L approche originale proposée, appelée TFAN (Triangle FAN-based compression), est décrite au Chapitre 2. Elle permet de coder directement tout maillage 3D triangulaire de topologie arbitraire (manifold ou non), tout en assurant une basse complexité dedécodage, adaptée aux applications de visualisation en temps réel sur des terminaux mobiles de faibles capacités de calcul et de mémoire. L approche TFAN se montre particulièrement adaptée pour la compression de données CAO automobiles, dans le cadre de l application industrielle considérée par le projet RNT SEMANTIC-3D. Ces données présentent en effet des spécificités topologiques et géométriques, qui rendent les approches classiques inefficaces. L évaluation expérimentale comparée des performances de la méthode TFAN par rapport aux techniques de l état de l art, conduite sur le corpus de test du projet SEMANTIC-3D, démontre la supériorité de l approche TFAN. En raisons de ses propriétés, le codeur TFAN a été récemment (Avril 2008), retenu par le standard MPEG-4 [11]. Toujours dans un contexte de compression de maillages 3D statiques, la deuxième contribution de cette thèse, présentée au Chapitre 3, concerne la compression de maillages 3D lisses et denses, comme ceux issus des processus de numérisation 3D. L approche de compression proposée étend les techniques récentes de compression par images géométriques. Elle est fondée sur une approximation du maillage par surfaces B-splines, adaptées pour une représentation de la géométrie 3D sous forme d une image géométrique 2D. La connectivité du maillage est ici codée sans perte ce qui permet de s affranchir des problèmes de retriangulation spécifiques aux techniques par images géométriques antérieures. En outre, l approche B-Splines exploite le codeur JPEG2000 pour assurer un codage progressif de la géométrie. Une évaluation expérimentale de ses performances par rapport aux techniques de l état de l art est également présentée et discutée. La deuxième partie de cette thèse aborde la problématique beaucoup plus récente de compression de maillages 3D dynamiques. Les modélisations par trames clés qui s imposent comme représentations de facto dans les industries des films 3D et des jeux vidéos sont ici considérées. Cette deuxième partie est structurée en cinq chapitres distincts. Le chapitre 4 présente un état de l art des techniques de création, de représentation et de compression de maillages 3D animés. Les principales approches de codage de maillages dynamiques sont ici identifiées, présentées et discutées de façon comparée. L analyse de la littérature émergente consacrée à ce domaine de recherche encore jeune montre un besoin accru de techniques génériques de représentation et de compression de ces contenus hautement complexes. Dans ce cadre, l ensemble de nos développements méthodologiques s appuient sur l observation suivante : quelle que soit la technique sous-jacente de création des objets 3D animés, il est possible de déterminer un modèledepeau(skinning) pourmodéliser fidèlement le mouvement des maillages dynamiques. Une première contribution, décrite au chapitre 5, concerne la spécification d un mécanisme de compensation de mouvement par modèledepeau(skinning). La construction du modèle s appuie sur deux approches originales de segmentation au sens du mouvement de maillages 3D animés, l une par classification en k-moyennes et l autre, par décimation hiérarchique. Les performances de ces deux techniques, ainsi que celles de la stratégie de prédiction par modèle de skinning sont évaluées expérimentalement, analysées et discutées. Les résultats obtenus sur

Introduction 3 un riche corpus de test permettent de valider les deux méthodes, avec des résultats supérieurs de 46% pour la méthode par décimation hiérarchique. La technique de compensation de mouvement proposée est ensuite exploitée dans le cadre des deux approches originales de compression de maillages 3D dynamiques, décrites aux chapitres 6et7. Ainsi, le chapitre 6 introduit-il une nouvelle méthode de compression de maillages dynamiques 3D appelée MCGV (Multi-Chart Geometry Video)quiétend l approche GV (Geometry Videos) introduite dans [12]. L approche de compression proposée combine la stratégie de prédiction par modèle de skinning avec une représentation des erreurs résiduelles de mouvement sous forme d une séquence d images 2D. Les codeurs d images JPEG et MPEG-4 V2 sont ici utilisés afin d assurer un codage efficace d un maillage 3D dynamique. Pour évaluer l apport de la méthode, les performances de compression du codeur MCGV sont expérimentalement comparées à celles de l approche originale GV, ainsi qu à d autres techniques de l état de l art. Le chapitre 7 décrit la deuxième méthode de compression de maillages 3D dynamiques proposée dans ce travail, appelé FAMC(Frame-based Animated Mesh Compression). Le codeur FAMC fait cohabiter la stratégie de prédiction par modèle de skinning avec plusieurs techniques de codage par transformées des erreurs résiduelles. L architecture modulaire du codeur FAMC ainsi que les différentes configurations qu il supporte sont détaillées et analysées en termes de complexité de calcul et de fonctionnalités supportées. En raison de ces hautes performances d efficacité de compression ainsi que du large spectre de fonctionnalités supportées, FAMC a été adopté comme Amendement 2 du standard MPEG-4 - Partie 16 AFX (Animation Framework extension). Enfin, le huitième et dernier chapitre de ce mémoire propose une évaluation expérimentale objective des différentes configurations du codeur FAMC par rapport au techniques MCGV, aux codeurs standards MPEG-4/BIFS et MPEG-4/IC ainsi qu au différentes techniques de l état de l art. Une étude expérimentale des fonctionnalités offertes par ce codeur est également présentée, analysée et discutée. La conclusion générale synthétise le travail accompli et ouvre les perspectives, àlafoisméthodo- logiques et technologiques, de recherches et applications futures.

4 Introduction

Première partie Compression de maillages statiques 5

Chapitre1 Représentation et compression de maillages 3D statiques : état de l art Résumé : Ce chapitre dresse un état de l art des techniques de compression des maillages 3D. Une revue du formalisme mathématique de représentation de maillages 3D triangulaires est tout d abord présentée, puis la problématique de compression introduite. Une synthèse bibliographique avec principes, avantages et limitations des méthodes les plus représentatives de codage de maillages 3D est ensuite présentée. Cette étude fait ressortir la nécessité d élaborer des techniques de compression génériques, de faible complexité adaptées à des applications en temps réel et àundéploiement sur des terminaux en capacités de calcul limitées. Mots clés : Compression, maillage 3D, approche mono-résolution, approche multirésolution, VRML, COLLADA. 7

8 Représentation et compression de maillages 3D statiques : état de l art Les applications multimédias professionnelles ou grand public mettent en scène des objets 3D aussi bien dans le cadre de la CAO, que dans celui des services de télé-médecine, des jeux vidéo, de la production de films d animation 3D ou de dessins animés. Aujourd hui, la visualisation d objets représentés sous forme de maillages 3D s effectue en temps réel sur la plupart des cartes graphiques actuellement disponibles. En revanche, leur stockage et leur transmission sur différents terminaux et réseaux (mobiles ou fixes) requièrent d importantes ressources en mémoire et en bande passante. Elaborer alors des représentations compactes de ces données 3D devient un enjeu majeur. Dans ce chapitre, nous rappelons tout d abord quelques définitions mathématiques utiles pour l ensemble de nos développements ultérieurs (Section 1.1). Les différents standards et formats de représentation 3D aujourd hui disponibles sont ensuite passés en revue (Section 1.2). Leur analyse met en évidence la nécessité de disposer de méthodes efficaces de compression de maillages 3D, dont un état de l art est proposé dans la Section 1.3. 1.1 Notions mathématiques 1.1.1 Maillage triangulaire Une manière à la fois élégante et générale de définir le concept de maillage triangulaire s appuie sur la notion de complexe simplical. Complexe simplical : Un complexe simplical K est défini par un ensemble de sommets V = {1, 2,...,V} N (N étant l ensemble des entiers naturels) et un ensemble de sous-parties finies et non vides de V, appelées simplexes telles que : 1. Tout les singleton {i} de V est un simplexe de K, 2. Tout sous-ensemble d un simplexe de K est un simplexe de K. Si le nombre d éléments (le cardinal) d un simplexe σ est égal à(q + 1), on parle alors d un q-simplexe ou encore d un simplexe de dimension q. La dimension d un complexe simplical K est définie comme la dimension maximale de ses simplexes. Les 0-simplexes de K sont appelés sommets, les 1-simplexes arêtes et les 2-simplexes triangles. Le concept de complexe simplical est naturellement adapté pour lui associer des relations de voisinage, indispensables à la définition de tout espace topologique. Voisinage de premier ordre : Soient K un complexe simplical et i et j deux sommets de K. Les sommets i et j sont dits voisins si et seulement si ils sont inclus dans un même simplexe de K. Levoisinage de premier ordre d un sommet i, noté i,estdéfini comme l ensemble de ses sommets voisins. De la même manière, deux triangles sont dits voisins si et seulement si ils partagent une arête commune. Valence : La valence d un sommet est définie comme le nombre de ses voisins. Le concept de complexe simplical décrit de manière complète les relations topologiques entre ses sommets et, plus généralement, ses simplexes. Pour associer à un complexe simplical arbitraire une surface géométrique, il est utile de considérer sa réalisation géométrique, définie à l aide de la notion d enveloppe convexe, rappelée ci-dessous.

1.1 Notions mathématiques 9 Enveloppe convexe : L enveloppe convexe d un ensemble de vecteurs {χ 0,.., χ k } R n, noté [χ 0,,χ k ],estdéfinie par : [χ 0,,χ k ]={x = k α i χ i, i=0 k α i =1,α i 0,i {0,,k}} i=0 La Figure 1.1 illustre l enveloppe convexe associée aux trois points {χ 1, χ 2 et χ 3 } de R 3. Figure 1.1 : Illustration de l enveloppe convexe [χ 1,χ 2,χ 3 ] de trois points dans R 3. Elle représente la surface du triangle défini par les trois points {χ 1,χ 2,χ 3 }. Réalisation géométrique : Soient K un complexe simplical, V = {1, 2,..., V} l ensemble de ses sommets et X = {χ 1,.., χ V } un ensemble de vecteurs de R n associés aux sommets de V. L enveloppe convexe d un simplexe σ = {v 1,,v k } de K, notée σ, estdéfinie comme étant l enveloppe convexe des vecteurs associés à ses sommets [χ v1,,v vk ]. La réalisation géométrique de K,notée K R n est par définition la réunion des enveloppes convexes de ses simplexes : K = σ. (1.1) σ K La notion de réalisation géométrique rend ainsi possible d associer à un complexe simplical quelconque une surface géométrique dans un espace R n. Avec ces différentes notions, il devient maintenant possible de définir le concept de maillage triangulaire. Maillage triangulaire : Un maillage triangulaire est défini comme étant un couple M = (K, X ), où X = {χ 1,.., χ V } est un ensemble de vecteurs de R 3 et K est un complexe simplical de dimension 2 tel que : (P1) Chaque 0-simplexe est un sous-ensemble d au moins un 1-simplexe de K, (P2) Chaque 1-simplexe est un sous-ensemble d au moins un 2-simplexe de K. La surface du maillage M est définie comme étant la réalisation géométrique K dans R 3. Par abus de language, la réalisation géométrique d un sommet (respectivement arête ou triangle) de K est appelée sommet (respectivement arête ou triangle) de M. La Figure 1.2 illustre un exemple de maillage triangulaire.

10 Représentation et compression de maillages 3D statiques : état de l art Notons que les propriétés (P1) et (P2) de la définition d un maillage triangulaire assurent qu il n existe pas de sommets et d arêtes isolés, i.e. tout sommet est inclus dans une arête et toute arête est incluse dans un triangle. Le complexe simplical K définit la connectivité (ou topologie) du maillage, i.e. les relations d adjacence entre les sommets, les arêtes et les triangles du maillage. L ensemble X des positions des différents sommets correspond àlagéométrie du maillage. Notons qu en considérant des espaces de dimensions supérieures, d autres attributs comme ceux photométriques (e.g., couleurs, normales, coordonnées paramétriques de texture...) peuvent être également pris en compte dans la définition de maillage triangulaire. Un maillage triangulaire peut inclure une ou plusieurs composantes connexes, définies comme suit. Figure 1.2 : Illustration d un maillage triangulaire M =(K, X )dansr 3. Chemin : Un chemin C sur un maillage M est une séquence sans répétition de sommets, telle que chaque paire de sommets consécutifs partage une arête commune. Le premier et le derniersommetdec sont dits sommets connectés par le chemin C. Composante connexe : Une composante connexe est une partie d un maillage triangulaire composée d un ensemble maximal de sommets connectés (i.e., pour chaque paire de sommets (i, j), il existe un chemin qui connecte i à j) entre eux. Un maillage composé d une seule composante connexe est dit connexe. Tel que défini, un maillage 3D couvre la majoritédesreprésentations informatiques que l on retrouve en pratique. Toutefois, afin d obtenir des surfaces 3D topologiquement et géométriquement exploitables, il est nécessaire d imposer des contraintes/propriétés supplémentaires que le maillage doit satisfaire. Le plus souvent cela revient àdéfinir des variétés orientées, dont la définition est rappelée dans la section suivante. 1.1.2 Variétés, orientation et genre Rappelons tout d abord une notion clédansl étude des propriétés topologiques des surfaces, qui est celle d homéomorphisme.

1.1 Notions mathématiques 11 Homéomorphisme : Deux surfaces 3D S et S sont dites homéomorphes si et seulement si il existe une bijection continue φ de S vers S telle que son inverse φ 1 est également continue. Intuitivement, S et S sont dites homéomorphes si la surface S peut être étirée et courbée sans rupture afin d épouser la forme de S. La notion d homéomorphisme permet de définir des classes d équivalence dans l espace des surfaces. En particulier, cela permet d introduire les variétés, définies comme suit. Variété : Une surface 3D est appelée variété (manifold dans la littérature anglophone) si et seulement si en tout point de la surface il existe un voisinage homéomorphe àundisqueouvert ou à un demi-disque ouvert. Maillage manifold : Un maillage triangulaire 3D est dit manifold si et seulement si sa surface (i.e., saréalisation géométrique) est une variété. Pour tester si un maillage est manifold ou non, il est utile d introduire les notions de sommet régulier et d arête régulière. Sommet régulier : Un sommet est dit sommet régulier si et seulement si l ensemble de ses voisins peut être réordonné pourdéfinir un unique chemin. Arête régulière : Une arête est dite arête régulière si et seulement si elle est partagée au maximum par deux triangles. Proposition : Avec ces définition, on peut démontrer [13] la propriété suivante : Un maillage triangulaire est manifold si et seulement si tous ses sommets et ses arêtes sont réguliers. La Figure 1.3 présente quelques exemples de maillages triangulaires manifold (Figure 1.3.a) et non-manifolds (Figures 1.3.b et 1.3.c). Pour le maillage de la Figure 1.3.b l arête {v 1,v 2 } est non régulière, puisque partagée par trois triangles. Dans le cas de la Figure 1.3.c, le sommet v est irrégulier puisque ses voisins ne forment pas un chemin unique. La notion de manifold permet de caractériser de façon simple les surfaces ouvertes et fermées, en définissant les sommets, les triangles et les arêtes internes et celles de bord. Cela s appuie sur l observation que pour un maillage triangulaire manifold une arête est partagée au maximum par deux triangles. Bord, triangle de bord, triangle interne, arête de bord et sommet de bord : Si une arête appartient exactement à un seul triangle, alors elle est dite arête de bord. Sinon(i.e., si elle est partagée par deux triangles différents), elle est dite arête interne. Lebord est défini comme étant la réunion de l ensemble des arêtes de bord. Si un sommet appartient à une arête de bord, alors il est dit sommet de bord. Dans le cas contraire, il s agit d un sommet interne. Un triangle est dit triangle de bord, si et seulement si il contient au moins une arêtedebord. Une autre notion particulièrement utile pour des applications de rendu est celle de maillage orienté. Le principe consiste à associer une normale à chaque triangle du maillage. Pour un triangle arbitraire {v 1,v 2,v 3 }, il est possible de définir deux vecteurs normaux àlasurfacedu triangle, de même direction et de sens opposés : ±(χ 2 χ 1 ) (χ 3 χ 1 ). Pour définir la normale sans ambiguïté, le principe consiste à associer à chaque triangle un ordre de parcours de ses sommets. Le sens de la normale est alors déterminé de façon unique en appliquant par exemple la règle du tire-bouchon (Figure 1.4.a).

12 Représentation et compression de maillages 3D statiques : état de l art (a) Maillage manifold (b) Maillage non manifold avec une arête {v 1,v 2 } irrégulière (c) Maillage non manifold avec un sommet v irrégulier Figure 1.3 : Exemples de maillages manifolds et non-manifolds. Maillage orienté : Un maillage est dit orienté si et seulement si tout couple de triangles voisins a des vecteurs normaux de même orientation. Cette propriété est assurée si et seulement si l arête commune est parcourue dans les deux triangles dans des sens contraires. La Figure 1.4.b présente un exemple de maillage non-orienté. Ici, l arête (v 1,v 2 ) est traversée dans le même sens par les deux triangles voisins. La Figure 1.4.c illustre un exemple de maillage orienté : l arête (v 1,v 2 ) est parcourue dans deux sens différents. (a) (b) (c) Figure 1.4 : (a) Orientation de la normale associée au triangle (v 1,v 2,v 3 ) (b) maillage nonorienté et (c) maillage orienté. Genre : Le genre d une surface connexe est le nombre maximum de courbes fermées simples, sanspointcommunetgéodésique à la surface que l on peut tracer sans déconnecter la surface en plusieurs composantes connexes. La Figure 1.5 illustre quelques exemples de surfaces de : genre 0 : sphère (Figure 1.5.a), genre 1 : tore (Figure 1.5.b), genre 2 : surface en forme de 8 (Figure 1.5.c).

1.1 Notions mathématiques 13 (a) Sphère: genre0 (b) Tore : genre 1 (c) Surface en forme de 8 : genre 2 Figure 1.5 : Surfaces de différents genres. Le genre est une caractéristique topologique globale qui permet également de définir des classes d équivalence dans l espace des variétés. Une autre notion importante pour caractériser la topologie d un maillage triangulaire est celle de maillage régulier. Maillage régulier : même valence. Un maillage est dit régulier si et seulement si tous ses sommets ont la En pratique, un petit nombre de maillages vérifie cette propriété de régularité. Cependant, sous certaines hypothèse, on peut démontrer que la valence moyenne des sommets est de 6. Ce résultat est une conséquence directe de la relation d Euler-Poincarré [14], rappelée ci-dessous. Proposition (relation d Euler-Poincarré) : Soit M un maillage manifold, orientéet sans bord, composé def triangles, E arêtes et V sommets. Soit G le genre de M. Larelation d Euler-Poincarré [14] est donnée par : F E + V =2 2G. (1.2) Dans le cas d un maillage manifold sans bord, chaque arête interne est partagée par deux triangles. De plus, par définition, un triangle comporte trois arêtes. Il en résulte la relation suivante : 3F =2E. (1.3) En substituant (1.3) dans (1.2), on obtient la relation suivante : E =3V 6+6G. (1.4) En sommant les valences des sommets et en tenant compte qu une arête est composée de deux sommets, on obtient facilement la relation suivante, connue sous le nom de lemme de Handshaking [15] : val(v) =2E, (1.5) v V où val(v) désigne la valence du sommet v. En remplacant (1.5) dans (1.4) on obtient : val(v) =6V 12 + 12G, (1.6) ou encore, v V

14 Représentation et compression de maillages 3D statiques : état de l art ϑ = 1 V val(v) =6 v V 12 + 12G. (1.7) V où ϑ désigne la valence moyenne des sommets du maillage. Dans le cas des maillages que l on traite en pratique, le nombre de sommets V est beaucoup plus important que le genre G du maillage : V>>G. On obtient alors la relation suivante : qui établit le corollaire de la valence moyenne, énoncé ci-dessous. ϑ 6, (1.8) Corollaire de la valence moyenne : bord tend vers la valeur 6. La valence moyenne d un maillage manifold sans Cela complète la revue du formalisme mathématique de représentation de maillages 3D. Intéressons-nous à présent aux représentations informatiques de ces objets 3D, nécessaires pour obtenir des spécifications d objets 3D automatiquement interprétables par un ordinateur. 1.2 Standards/formats de représentation Les maillages 3D sont aujourd hui représentés sous une multitude de formats standards (e.g., VRML 1, MPEG 2,X3D 3 et COLLADA 4...) ou propriétaires (e.g., 3DSetMayadéveloppés par la société Autodesk 5, BLEND de Blender 6, X de Direct 3D 7...). Le lecteur est invité à consulter la Section 4.3 pour une description détaillée de ces formats. Quel que soit le format considéré, la représentation commune adoptée est celle par triangles indexés. Le principe est de coder la géométrie du maillage sous la forme d une matrice G de dimension V 3(où V estlenombredesommets): G = χ x 1 χ y 1 χ z 1 χ x 2 χ y 2 χ z 2 χ x 3 χ y 3 χ z 3... χ x V χ y V χ z V, (1.9) avec χ x v, χy v et χz v les coordonnées (exprimées dans un repère cartésien) de l ensemble des sommets de M. La connectivité du maillage est, quant à elle, spécifiée par une matrice d entiers, notée Γ, de 1. http ://www.demotride.com/vrml97-spec-html/index.html 2. http ://www.mpeg-3dgc.org/ 3. http ://www.web3d.org/ 4. http ://www.collada.org/ 5. www.autodesk.com 6. www.blender.org/ 7. http ://www.microsoft.com/

1.3 Compression de maillages 3D statiques : état de l art 15 dimension F 3(où F est le nombre de triangles) : Γ= v1 1 v1 2 v1 3 v2 1 v2 2 v2 3 v3 1 v3 2 v3 3... vv 1 vv 2 vv 3, (1.10) avec (v 1 n,v 2 n,v 3 n) les trois index entiers des sommets qui forment le n-ième triangle de M. Analysons le coût de stockage nécessaire à une telle représentation. Si on considère que chaque coordonnée géométrique est codée sur B bits (le plus souvent B = 32, pour une représentation en virgule flottante) et que chaque index entier est codé sur log 2 (V ) 8 bits, la quantité d information Q(M) nécessaire pour spécifier complètement le maillage est alors donnée par : Q(M) =3 V B +3 F log 2 (V ). (1.11) En combinant les équations (1.2) et (1.3) et en supposant que (V >> G), nous pouvons déduire que : F 2V. (1.12) Il en resulte que : Q(M) =V (3 B +6 log 2 (V ) ). (1.13) La relation (1.13) montre que le coût de stockage Q(M) d un maillage 3D est non linéaire avec le nombre de sommets V. Autrement dit, le coût de codage par sommet n est pas constant, contrairement aux images 2D où lecoût de codage d un pixel est le mêmequellequesoit la taille de l image (i.e., 8 bits pour les images à niveaux de gris et 24 bits pour les images couleurs). Cela est dû à la redondance de la représentation par triangles indexés : dans la matrice Γ, chaque sommet apparaît autant de fois que le nombre de triangles dans lesquels il intervient! Afin d éliminer cette redondance, il est nécessaire d élaborer des méthodes de compression de maillages 3D efficaces et génériques. Ces techniques doivent être capables de prendre en compte des maillages de plus en plus volumineux (i.e., jusqu à quelques millions de sommets pour des objets issus des scanners 3D) et répondre aux besoins des applications modernes, que ce soit dans le domaine de l infographie, de l imagerie médicale, ou encore de la CAO. Les principales méthodes de compression de maillages 3D statiques sont présentés dans la section suivante. 1.3 Compression de maillages 3D statiques : état de l art La littérature extrêmement riche dédiée aux méthodes de compression de maillages 3D fait état de deux grandes familles d approches : 8.. : la fonction qui associe àunréel r le plus petit entier n tel que n r.

16 Représentation et compression de maillages 3D statiques : état de l art Approches monorésolution : la connectivité du maillage est codée séparément, en exploitant le plus souvent un certain ordre de parcours des facettes, des arêtes ou des sommets du maillage. La géométrie et les attributs sont ensuite codés de manière différentielle (prédictive). Ils subissent en général une procédure de quantification qui conduit à une dégradation irréversible du maillage initial (codage avec perte). Approches multirésolution : le maillage original est simplifié itérativement, par fusions successives des facettes et/ou arêtes (selon différents opérateurs de simplification de maillage), jusqu à obtenir un maillage de base, de résolution minimale. Le principe consiste alors àreprésenter et à coder l ensemble des différences entre les différentes représentations maillées aux niveaux de résolution successifs. Une telle approche répond bien aux paradigmes de la compression progressive. Il s agit dans ce cas de transmettre au récepteur une représentation grossière du maillage initial (i.e., larésolution la plus basse), suivie d une information itérative de différences, qui permet de reconstruire le maillage àdesrésolutions de plus en plus fines. L utilisateur final peut alors décoder et visualiser l objet 3D avant même de recevoir la totalité du flux binaire associé. En outre, ce type d approche est particulièrement bien adapté aux paradigmes d accès universel et de réutilisation des flux, permettant l adaptation du niveau de résolution aux caractéristiques des divers terminaux. Remarquons que dans les deux cas, il s agit d un codage différentiel (prédictif) de la géométrie et des attributs du maillage. Dans le cadre des approches monorésolution, la prédiction est réalisée à partir des sommets voisins déjà décodés, tandis que dans le cas des approches multirésolution, la prédiction est effectuée à travers les niveaux successifs de résolution. Présentons tout d abord les différentes techniques de compression monorésolution de maillages 3D. 1.3.1 Approches de compression mono-résolution Ces approches s appuient sur un principe général de codage différentiel, illustré Figure 1.6. La connectivité est ici traitée séparément de la géométrie et des attributs. L idée est de générer une suite de symboles qui permet de parcourir et de coder de manièreefficacelegraphe de connectivité. Cela conduit àlaspécification d un ordre de parcours des sommets/triangles du maillage, exploité ensuite pour définir des méthodes de prédiction causale, aussi bien pour la géométrie que pour les autres attributs asociés au maillage. Les trois étapes successives traditionnelles des algorithmes de codage différentiel sont alors appliquées : quantification, prédiction et codage binaire. Notons que dans le cas d une telle approche, il est essentiel d effectuer la quantification en premier lieu pour éviter des problèmes d éclatement ( cracking, cf. Section 2.3.1.2) des maillages à multiples composantes connexes. Les différentes approches de l état de l art se distinguent principalement par la technique adoptée pour le codage de la connectivité. 1.3.1.1 Compression par bandes de triangles Le codage par bandes de triangles [16] (triangle strips), [17] consiste à définir une suite de sommets telle que chaque sommet de la suite forme un triangle avec les deux sommets précédents. Cela permet de définir un nouveau triangle pour chaque nouveau sommet inséré et conduit donc à un codage efficace de la connectivité, en particulier pour des bandes de triangle très longues où le nombre de triangles approche le nombre de sommets. Toutefois, en

1.3 Compression de maillages 3D statiques : état de l art 17 Figure 1.6 : Schéma général de compression monorésolution de maillages 3D. pratique, le nombre de facettes des maillages approche le double du nombre de sommets. Cela conduit à des répétitions des mêmes sommets dans la liste, ce qui diminue considérablement l efficacité de codage.en outre,définir des bandes de triangles optimales nécessite la mise en oeuvre de procédures très lourdes et complexes en temps de calcul [18], [19]. Des méthodes moins complexes, mais sous-optimales de définition de bandes de triangles sont proposées dans [20], [21]. 1.3.1.2 Codage par arbres couvrants Les méthodes de codage par arbres couvrants (spanning trees) s appuient sur une observation fondamentale de Turan [22], qui a établi qu un graphe planaire peut être codé avec un nombre constant de bits par sommet, en utilisant deux arbres couvrants : 1) un arbre de sommets et 2) un arbre des triangles. En partant de ce résultat théorique, Taubin et Rossignac proposent une méthode de codage de la connectivité appelée topological surgery [1]. L idée est de découper le maillage selon un ensemble d arêtes pour le convertir en un polygone planaire simplement connexe. Les sommets selon lesquels le découpage a été opéré (i.e., sommets dupliqués lors du découpage) définissent l arbre couvrant des sommets. L arbre couvrant des triangles est obtenu en assignant à chaque triangle du polygone planaire un sommet et à chaque couple de triangles voisins (i.e., partageant une arête commune) une arête. Les auteurs montrent qu avec cette nouvelle représentation il est possible de retrouver exactement la connectivité initiale moyennant un changement d ordre des sommets et des triangles du maillage. Les deux arbres sont enfin codés en utilisant une technique RLE [23] (Run Length Encoding). La Figure 1.7 illustre les principales étapes de codage par arbres couvrants pour un exemple simple de maillage 3D. Cet algorithme n est en revanche pas directement applicable aux maillages de type nonmanifold. Dans ce dernier cas, les maillages doivent tout d abord être décomposés en plusieurs composantes connexes de type manifold [24], ce qui implique un découpage complémentaire du maillage qui diminue significativement l efficacité globale du codage. Pour obtenir un découpage du maillage initial en un polygone simplement connexe propice à une compression efficace, Taubin et Rossignac [1] utilisent une technique similaire à celle de la décomposition par niveaux, présentée par la suite.

18 Représentation et compression de maillages 3D statiques : état de l art (a) (b) (c) (d) (e) Figure 1.7 : Exemple de codage par arbres couvrants : (a) maillage original, (b) arbre couvrant des sommets, (c) découpage du maillage selon l arbre couvrant des sommets, (d) polygone planaire simplement connexe suite à (c) et (e) arbre couvrant des triangles (Source : [1]). 1.3.1.3 Décomposition en niveaux La technique par décomposition en niveaux [2] est fondée sur une décomposition des maillages en plusieurs bandes (ou niveaux) concentriques de sommets (Figure 1.8). Des niveaux de triangles sont ensuite construits, à partir de niveaux de sommets adjacents. Chaque niveau de triangles est enfin codé comme une bande de triangles généralisée. Idéalement, les niveaux de sommets ne doivent pas s auto-intersecter, mais en pratique, pour des maillages quelconques, cette contrainte n est pas satisfaite. Des mécanismes spécifiques de gestion de ces auto-intersections sont alors proposés. Cela assure la généralité de l approche. Le prix à payer est une diminution de l efficacité de compression. Notons que chaque triangle dépend uniquement de deux niveaux successifs de sommets. Cette localisation de l information est naturellement appropriée pour la transmission résistante aux erreurs en milieux bruités (e.g., environnements mobiles), puisque les erreurs de transmission peuvent être localisées avec précision entre deux niveaux de sommets successifs. 1.3.1.4 Codage des valences Les approches par codage des valences, initialement introduites dans [3] sont fondées sur la définition d un contour évolutif de propagation (appelé aussi liste active ) qui sépare le

1.3 Compression de maillages 3D statiques : état de l art 19 Figure 1.8 : Décomposition en niveaux. Les contours en gras représentent les différents niveaux de sommets (Source : [2]). maillage en deux parties, l une intérieure (ou visitée) et l autre extérieure (non-visitée). Ce contour est défini initialement comme un triangle quelconque du maillage. La partie extérieure est ensuite graduellement conquise en ajoutant successivement les sommets voisins au contour. A chaque nouveau sommet ajouté, un code de type ADD n est généré, signifiant l ajout d un nouveau sommet de valence n. On obtient ainsi une liste de valences, à partir de laquelle la connectivité initiale peut être reconstruite. Comme dans le cas de la grande majorité des maillages rencontrés en pratique la distribution des valences présente un pic proéminent autour de la valeur 6, cette liste de valences peut être codée très efficacement en utilisant des algorithmes de codage entropique (i.e., Huffman [25]) ou de codage arithmétique [26]. Cette approche est bien définie pour des maillages manifolds, orientés, fermés (sans bord) et de genre 0. Son extension à des maillages avec des bords est réalisée aisément. Le principe consiste à insérer un sommet supplémentaire, appelé fantôme, puis de le relier par des arêtes virtuelles à l ensemble des sommets de bord. Cette procédure simple permet de convertir le maillage initialement ouvert en un maillage fermé. Notons que pendant son évolution, le contour de propagation peut s auto-intersecter. Pour gérer ce phénomène, il est alors nécessaire d introduire un code spécifique, appelé SPLIT, suivi de l index dans la liste active du sommet qui a généré lesplit. Le contour est alors divisé en deux listes distinctes, une active qui continue àévoluer, et une deuxième qui est introduite dans une liste de type FIFO (First In First Out). Lorsque la conquête de la liste active courante est épuisée, une liste est retirée du FIFO et devient la liste active courante. Lorsque plusieurs listes sont simultanément présentes, il est également possible que des intersections entre les différentes listes surviennent (i.e., maillage de genre supérieur à 0).Ce deuxième cas particulier est géré par l insertion d un code spécifique, appelée MERGE, qui permet de fusionner les deux listes en une seule. Ce mécanisme de parcours et de codage du maillage est illustré Figure 1.9, pour un exemple simple. En pratique, ce sont bien les commandes de SPLIT et de MERGE qui dégradent l efficacité de codage. Pour pallier cet inconvénient, Alliez et Desbrun [27] ont proposé une technique qui permet, via quelques procédures de décision heuristiques (focalisation dans la liste active sur le sommet ayant le nombre minimal d arêtes non-parcourues, critère de distance euclidienne) de minimiser le nombre des opérations de type SPLIT et MERGE.

20 Représentation et compression de maillages 3D statiques : état de l art Figure 1.9 : Conquête du maillage par l algorithme de Touma et Gotsman : (a) maillage initial, (b) insertion du sommet fantôme, (c) ADD 6, ADD 7, ADD 4 (insertion du premier triangle), (d) ADD 4, (e) ADD 7, (f) ADD 5, (g) ADD 5, (h) Sommet courant complet, focalisation sur le sommet suivant de la liste active, (i) ADD 4, (j) ADD5, (k) SPLIT 5, (l) Focalisation sur le sommet suivant de la nouvelle liste active, (m) ADD 4, (n) ADD dummy 5, (o) Retirer la nouvelle liste active du FIFO, (p) ADD 4, (q) Focalisation sur le sommet suivant de la liste active, (r) Focalisation sur le sommet suivant de la liste active et (s) Conquête du maillage achevée. (Source : [3]).

1.3 Compression de maillages 3D statiques : état de l art 21 1.3.1.5 Codage par conquête de triangles Les techniques par conquête de triangles sont fondées sur le même principe de conquête évolutive des triangles du maillage. La différence par rapport à la méthode de Touma et Gotsman est qu ici, à la place des valences des sommets, ce sont les opérations de construction de nouveaux triangles qui sont spécifiées et codées. Dans cette famille d approches, mentionnons tout d abord la méthode CBM (Cut Border Machine) de Gumold et Strasßer [28]. La technique CBM définit une série de cinq opérations ( new vertex, forward, backward, split et close ) qui sont ensuite codées par un algorithme de Huffman. Le point fort de la méthode est le temps de décodage très rapide et adapté au calcul parallèle, qui rend cette technique particulièrement adaptée pour des applications nécessitant un décodage en temps réel. Des améliorations de ses performances, à travers la définition d un codeur arithmétique adaptatif, ont été également rapportées dans [29]. Dans [4], les auteurs proposent la technique dite de Edgebreaker. Le codage est ici spécifié et effectué par rapport àchaquearête de la liste active. Ainsi, l insertion d un nouveau sommet v formant un triangle avec l arête courante, notée g, génère l un des cinq codes suivants : 1. C, si v n est pas dans la liste, 2. L (left) siv précède g dans la liste, 3. R (right), si v suit g dans la liste, 4. E (end), si v suit et précède g dans la liste, 5. S (split) sinon. Ce mécanisme de codage des opérations est illustré Figure 1.10. Pour cet exemple, la suite des codes générés et la suivante : CCRSRLLRSEERLRE. Le principal désavantage de l algorithme de Edgebreaker est lié à la grande complexité de calcul de la procédurededécodage, qui est quadratique avec le nombre de sommets. Diverses améliorations de la méthode de base ont été proposées dans [30], [31], [32], [33]. Une version optimisée pour des maillages de régularitéélevée est proposée dans [34]. Les différentes approches présentées montrent que la problématique de codage de la connectivité est bien couverte dans la littérature, les techniques existantes permettant d obtenir des performances quasi-optimales [35, 36] en terme d efficacité de codage. L état de l art est considéré comme étant l approche de Touma et Gotsman. En ce qui concerne la géométrie et les attributs, leur codage a été nettement moins étudié dans la littérature. Toutefois, la quantité d information associée est en général beaucoup plus importante que celle de la connectivité. Par conséquent, élaborer des procédures de compression efficaces dédiées aux attributs géométriques et photométriques reste un enjeu majeur. 1.3.1.6 Codage prédictif de la géométrie et des attributs Les techniques traditionnelles de codage prédictif s appliquent directement aux données maillées 3D, dès qu un ordre de parcours des sommets/facettes est défini. Comme la géométrie et les attributs sont traités de la même façon dans les approches de la littérature, nous limiterons notre présentation au seul codage de la géométrie. Quelquesoitleformatdereprésentation (e.g., VRML, COLLADA, 3DS...), les coordonnées des sommets sont en général spécifiées par des valeurs réelles, représentées en virgule flottante

22 Représentation et compression de maillages 3D statiques : état de l art (a) Les cinq codes de l algorithme de Edgebreaker (b) Exemple de codage avec l algorithme de Edgebreaker Figure 1.10 : Codage par l algorithme de EdgeBreaker : les numéros des triangles indiquent l ordre de parcours, tandis que les différents types de hachures représentent les codes des opérations (Source : [4]). sur 32 bits. Associer 32 bits par sommet et par coordonnée pour des maillages pouvant atteindre quelques centaines de milliers de sommets conduit alors à des représentations extrêmement gourmandes en ressources de stockage et de transmission. Il est alors nécessaire d appliquer une première étape de quantification afin de réduire drastiquement la quantité de données à coder. Quantification Mentionnons tout d abord les techniques de quantification scalaire, uniforme ou non. En général, pour des raisons de simplicité et d efficacité de calcul, une quantification uniforme est préférée. Comme un objet 3D peut être défini à une échelle arbitraire, la boîte englobante de l objet 3D est toutd aborddéterminée. En considérant un repère cartésien, (Oxyz), la boîte englobante est définie par trois intervalles, [X min,x max ], [Y min,y max ]et[z min,z max ]quidécrivent l étendue spatiale de l objet selon les trois directions du repère. Une grille 3D de quantification est ensuite spécifiée, en subdivisant chaque intervalle selon un certain nombre de bits B. Les valeurs B habituellement utilisées [1], [2], [3] varient entre 6 et 16. Une approche originale est présentée dans [17] où, pour prendre en compte les caractéristiques locales de courbure et de taille des triangles, le maillage est segmenté en plusieurs régions. Chaque région est ensuite quantifiée avec un nombre différent de bits, adapté à sa spécificité. Après quantification, les coordonnées sont codées selon un schéma prédictif.

1.3 Compression de maillages 3D statiques : état de l art 23 Prédiction La prédiction des coordonnées est en général effectuée de manière linéaire, l ordre de parcours des sommets du maillage permettant de définir une fenêtre de prédiction causale. Taubin et Rossignac [1] proposent un schéma de prédiction optimale, issu d une modélisation auto-régressive des coordonnées. En notant par (v n ) n V la suite de sommets, dans l ordre de parcours spécifié, le sommet courant v n est prédit à partir de ses prédécesseurs par le prédicteur suivant : p ˆχ vn = α i χ vn i. (1.14) i=1 Les coefficients de prédiction (α i ) i {1,...,p} sont déterminés par minimisation de l erreur quadratique moyenne, incorporés dans le flux binaire et transmis au décodeur. Touma et Gotsman [3] proposent un schéma de prédiction par règle du parallélogramme (Figure 1.11). Pour coder un nouveau sommet v t, les auteurs considèrent le deuxième triangle (v q,v r,v s )codé et supposent qu il forme avec le nouveau sommet un parallélogramme. Cette règle de prédiction est particulièrement bien adaptée à des maillages réguliers et localement quasi-planaires. Dans [37], les auteurs proposent de définir le prédicteur comme la moyenne arithmétique des sommets voisins déjàcodés. Une combinaison de la prédiction par règle du parallélogramme et de celle par moyenne, qui permet d améliorer les performances du codage dans le cas des maillages non-triangulaires, est proposée dans [38]. Enfin, une prédiction linéaire du second ordre est proposée dans [2]. Figure 1.11 : Prédiction par règle du parallélogramme. 1.3.1.7 Quantification vectorielle Les techniques de quantification vectorielle regroupent les étapes de quantification et de prédiction en une seule et unique étape. Parmi les approches de la littérature, mentionnons celles proposées dans [39], [40]. Ces techniques exploitent mieux les corrélations entre les coordonnées et permettent de définir de manière plus souple les cellules de quantification. Par conséquent, elles conduisent à des distorsions moins importantes pour un même débit donné. Le coût à payer est en revanche lié àlagrandecomplexité de calcul des algorithmes mis en oeuvre pour déterminer les dictionnaires (code book ) associés. Les approches monorésolution offrent des outils de compression 3D puissants en termes d efficacité de codage et bien adaptés à une large classe d applications. Toutefois, leur principale limitation vient du traitement différencié des informations de connectivité et de géométrie/attributs, peu adapté à une transmission progressive. Les approches multi-résolution, présentées

24 Représentation et compression de maillages 3D statiques : état de l art ci-après, abordent la problématique de la compression sous un angle différent et permettent notamment de répondre aux besoins croissants de progressivité spécifiques des environnements mobiles et transmissions sous contraintes de bande passante. 1.3.2 Approches de compression multi-résolution S inscrivant dans le contexte de la compression progressive, les approches multirésolution offrent la possibilité de transmettre des maillages 3D sur des réseaux de capacité limitée. L idée de principe est de transmettre tout d abord une version dégradée du maillage, à basse résolution. Ensuite, une information de raffinement est transmise graduellement, ce qui permet de reconstruire le maillage soit jusqu à atteindre la pleine résolution, soit jusqu à ceque l utilisateur juge la version reçue satisfaisante et interrompe la transmission. D une façon générale, les approches multi-résolution sont moins performantes, en terme d efficacité de codage, que celles en monorésolution. En outre, contrairement aux approches monorésolution où la connectivité estcodée sans perte, ici la connectivité ne devient identique à celle du maillage original que si le récepteur reçoit la totalité du flux, pour reconstruire le maillage en pleine résolution. Le principal atout de ces approches est de fait lié à la nouvelle fonctionnalité de transmission progressive. Les techniques de compression multirésolution de maillages 3D sont étroitement liées au concept de simplification de maillages. 1.3.2.1 Techniques de simplification de maillages De manière générale, les techniques de simplification de maillage définissent un certain nombre d opérations qui permettent de dériver des versions simplifiées, avec un nombre réduit de facettes et de sommets d un maillage. Les opérations les plus connues (Figure 1.12) sont celles de edge collapse (ecol ) etson inverse, vertex split (vsplit). Figure 1.12 : L opération de edge collapse (ecol) et sa duale, vertex split (vsplit). L opération de edge collapse fusionne une arête quelconque du maillage en un seul sommet. C est l opération de base des algorithmes de simplification. Son opération duale, le vertex split, consiste à scinder le sommet en deux et a récréer l arête et les triangles décimés. Lorsqu appliquée itérativement, elle permet de raffiner le maillage, i.e. de dériver une version plus complexe à partir d une résolution de base, en augmentant le nombre de sommets, arêtes et facettes. Lors de l étape de codage, le maillage est transformé en appliquant successivement une série d opérations de edge collapse pour obtenir des représentations à des résolutions de plus en plus basses. La différence entre maillages aux niveaux successifs de résolution est représentée d une certaine manière et codée en un flux binaire. Au niveau du décodeur, à partir du maillage

1.3 Compression de maillages 3D statiques : état de l art 25 à la plus faible résolution, on applique successivement une série d opérations de vertex split et on utilise l information de différence pour reconstruire le maillage à des résolutions de plus en plus fines. Les algorithmes de codage progressif se distinguent principalement par la façon de définir les opérations de simplification et de raffinement de maillage, par l approche de codage géométrique et par la gestion des interactions entre la géométrie et la connectivité. 1.3.2.2 Les maillages progressifs Le concept de maillage progressif a été introduit pour la première fois dans la littérature dans [10]. A partir d un maillage initial M = M k, les auteurs appliquent une série de k opérations de edge collapse pourdériver un maillage à basse résolution, noté M 0. Comme l opération de edge collapse est inversible par un vertex split (i.e., on retrouve exactement la même connectivité si on applique l opération de edge collapse suivie de l opération vertex split correspondante), le maillage M est finalement représenté sous la forme (M 0, vsplit 1, vsplit 2,... vsplit k ). Chaque opération de vertex split est ici représentée par les indices du sommet à diviser (le sommet v dans la Figure 1.12) et ceux des sommets obtenus après le split (les sommets v et w). Les positions géométriques des sommets v t et v s dans le maillage raffiné sontprédites à partir de l ancienne position du sommet v s (i.e., prédiction delta) et codées avec un algorithme de Huffman. Dans chaque étape de edge collapse, pour garantir l efficacité du codage, il est essentiel de choisir la bonne arête à collapser, i.e. l arête dont la suppression a une influence minimale sur la qualité du maillage simplifié. Pour cela, les auteurs intègrent dans une fonctionnelle d énergie divers critères, comme distances, régularité et continuité, qui permettent d associer à chaque arête du maillage un degré de priorité. Finalement, l opération de edge collapse est appliquée sur l arête de priorité maximale. L approche par maillages progressifs présentée souffre de deux limitations principales : 1. l algorithme est applicable uniquement aux maillages de type manifold ; 2. le type topologique du maillage reste inchangé à travers les différents niveaux de résolution. Afin de s affranchir de ces contraintes, une nouvelle approche, par complexe simplicial progressif, est proposée dans [5]. 1.3.2.3 Codage par complexe simplicial progressif L approche par complexe simplicial progressif (CSP) [5] généralise les opérations de edge collapse etde vertex split à des paires de sommets arbitraires, non nécessairement connectés par une arête. Les différentes configurations possibles d opérations vertex split généralisées sont illustrées Figure 1.13. Quant à la géométrie, elle est codée comme dans le cas des maillages progressifs, par prédiction à partir du sommet de split. L approche CSP permet de gérer des maillages de topologies arbitraires, au prix d une légère réduction de l efficacité du codage (cf. Tableau 1.2).

26 Représentation et compression de maillages 3D statiques : état de l art Figure 1.13 : Les différentes configurations de vertex split généralisé. (Source : [5]). 1.3.2.4 Codage par forêt progressive d opération vsplit Proposée par Taubin et al. dans [6], l approche Progressive Forest Split (PFS) remplace l opération de vertex split par une opération de forest split, illustrée Figure 1.14. Figure 1.14 : L opération de forest split. a) le maillage initial avec, en gras, les arêtes de la forêt ; b) le découpage du maillage au long des arêtes de la forêt ; c. triangulation de la structure obtenue ; d) le maillage raffiné. (Source : [6]). Pour coder la structure de la forêt, un bit est associé àchaquearête du maillage pour spécifier si elle appartient ou non à la forêt. La structure de la triangulation associée à l opération de forest split (Figure 1.14.c) peut être codée en utilisant des arbres couvrants comme dans [1]. Enfin, la géométrie est codée selon un schéma de prédiction des nouveaux sommets obtenus à partir du sommet initial. Elle intègre un mécanisme de lissage des positions [41]. L opération de forest split peut pratiquement doubler le nombre de facettes du maillage, ce qui conduit à des taux de compression beaucoup plus importants que ceux obtenus par des opérations de vertex split. Notons néanmoins que ces gains en performances de compression sont obtenus au prix d une granularité plus grossière des niveaux de détails générés par cette technique. 1.3.2.5 Approches par décimation de sommets Les approches par décimation de sommets remplacent l opération de edge collapse par une étape de suppression de sommets [42], [43]. Plus précisément, un sommet est supprimé et le domaine résultant, appelé patch, re-triangulé.

1.3 Compression de maillages 3D statiques : état de l art 27 Dans [44], les auteurs introduisent le schéma de codage par patchs colorés (PC). Le principe est de décomposer le maillage en un ensemble de patchs deux à deux disjoints. Les sommets définissant les centres des différents patchs sont ensuite décimés et les patchs retriangulés. La structure des patchs est finalement codée selon un code de couleur, les triangles de deux patchs adjacents recevant des couleurs différentes. Quant àlagéométrie, elle est toujours codée de façon différentielle, le sommet à supprimer étant prédit à partir de la moyenne de ses voisins. Dans le même contexte des approches par décimation de sommets, Alliez et Desbrun [7] proposent une technique exploitant les valences des sommets. Afin de garantir une distribution des valences concentrée autour de la valeur 6, les auteurs proposent de décimer uniquement les sommets ayant une valence inférieure oùégale à6. Lespatch sont parcourus successivement, en définissant pour chacun une porte d entrée, i.e. une arête sur la frontière du patch. L ordre de parcours des patchs est géré à l aide d une file d attente FIFO, qui stocke les portes d entrée. Après décimation du sommet central, chaque patch conquis est ensuite re-triangulé et la valence du sommet décimé transmise au flux de sortie. A la suite de cette opération, la distribution des valences est drastiquement modifiée. En particulier, un nombre important de sommets de valence 3 est obtenu. C est pourquoi une nouvelle opération, dite de nettoyage, est appliquée, ayant pour but de décimer uniquement les sommets de valence 3. Cette procédure de codage est illustrée Figure 1.15, pour un maillage régulier oùchaque sommet a la valence 6. Figure 1.15 : Codage progressif selon l algorithme de Alliez et Desbrun : a) Maillage initial, patchs et portes d entrée (notées g i ) ; b) Maillage après décimation et étape de nettoyage ; c) Maillage final obtenu. (Source : [7]). Notons que si le maillage initial est régulier de valence 6 (6-régulier), le maillage obtenu après décimation et nettoyage est garanti 6-régulier. Toutefois, dans le cas des maillages irréguliers, la couverture exhaustive par patch n est pas garantie. Des patchs nuls sont alors introduits pour gérer ce cas. En ce qui concerne la géométrie, la prédiction est effectuée dans un repère local de Frénet, ce qui permet de séparer les composantes tangentielle et normale du vecteur différence. Les performances de la méthode sont très élevées, l efficacité de codage étant tout àfait comparable, même si légèrement inférieure, à celle du codage monorésolution de Touma et Gotsman, malgré lecaractère progressif de l approche. Enfin, toujours dans le contexte des approches par décimation de sommets, mentionnons la technique de Li et Kuo [45] qui code les informations de géométrie et de topologie d une

28 Représentation et compression de maillages 3D statiques : état de l art manière entrelacée. Toutefois, les performances associées à cette technique restent nettement inférieures à celles de la méthode d Alliez et Desbrun. 1.3.2.6 Codage par décomposition en niveaux Dans [46], Bajaj et al. étendent leur technique de codage par niveaux au contexte du codage progressif. Trois techniques de simplification de maillage sont ici proposées, notamment la simplification intra (à l intérieur d un même niveau), simplification inter (entre niveaux successifs) et la contraction généralisée de triangles. 1.3.2.7 Codage par décomposition en arbres géométriques Gandoin et Devillers [8] proposent une approche complètement différente de codage progressif. Ici, c est bien la géométrie et non plus la connectivité quiestconsidérée en premier lieu. Le principe consiste à subdiviser récursivement la boîte englobante de l objet 3D en cellules de plus en plus petites, jusqu à ce que chaque cellule contienne au maximum un sommet du maillage à coder. Cette procédure de subdivision de l espace en cellules [47] est illustrée Figure 1.16, pour le cas 2D. Figure 1.16 : Illustration de l algorithme par décomposition en arbre Kd, pour le cas 2D. (Source : [8]). On obtient ainsi un arbre, dont les noeuds représentent des cellules de l espace. Le nombre de sommets du maillage correspondant à chaque cellule est codé à l aide d un codeur arithmétique [26]. Si la cellule parent contient p sommets, chacune de ses cellules enfant peut être codée avec un nombre de log 2 (p +1)bits. Le codage de la connectivité est ensuite réalisé, en codant les changements de connectivité survenus lors de chaque subdivision de cellule. Deux opérations de subdivision sont ici considérées, le vertex split [10] et le generalized vertex split [5]. Les performances de l approche, en terme d efficacité de compression, sont comparables à celles du codeur monorésolution de Touma et Gotsman [3]. Dans [13], Peng et al. améliorent l approche Kd tree en considérant en décomposition en arbre octal (octree - OT) et en introduisant une nouvelle procédure de codage de la connectivité exploitant l information de géométrie. Le principe de l approche proposée consiste à coder les arrêtes résultantes de la subdivision d une cellule de OT en exploitant un codeur arithmétique avec contextes [26]. Ici, les contextes considérés sont liés à la régularité des triangles qui vont

1.3 Compression de maillages 3D statiques : état de l art 29 être générés : les arrêtes qui conduisent aux triangles les plus réguliers ont une probabilité d apparition plus importante. Par rapport à l approche de codage par arbre Kd, la technique OT conduit à des gains en termes de débits de l ordre de 10 à 20% pour le codage de la géométrie et jusqu à 60% pour le codage de connectivité du maillage. Notons cependant que ces gains sont obtenus au prix d une complexité dedécodage plus importante, l analyse de la géométrie locale du maillage (lors de la construction des contextes) devant être effectuée par le décodeur. Dans [48], les auteurs optimisent le codeur OT en appliquant itérativement l algorithme de segmentation par k-moyennes [49, 50] aux sommets du maillage. Ici, la structure de subdivision n est plus guidée par la structure d arbre octal mais plutôt adaptée à la forme de l objet grâce àlaprocédure de segmentation par k-moyennes [49, 50] qui calcule àchaqueétape les meilleurs k représentants de la géométrie du maillage. Les résultats rapportés dans [48] montrent des gains en qualité visuelle [51] de l ordre de 50 à 80%. 1.3.2.8 Codage spectral Le codage spectral est actuellement exploité à large échelle dans le contexte de la compression d images 2D. En particulier, mentionnons le codage par transformée DCT (Discrete Cosine Transform) qui permet de compacter l énergie du signal dans un ensemble réduit de coefficients décorrélés. Karni et Gotsman [52] proposent d utiliser la théorie spectrale des maillages pour en dériver une méthode de compression spectrale progressive. Le principe est de construire tout d abord la matrice laplacienne du maillage. Pour un maillage avec V sommets, la matrice laplacienne L =(L ij ) j {1,...,V } i {1,...,V } est définie à partir de l information de connectivité etexprimée par l équation suivante : 1, si i = j L ij = 1 d i, si i j. (1.15) 0, si sinon avec d i la valence du sommet i. Les vecteurs propres de la matrice L forment une base orthogonale de l espace R n et les valeurs propres généralisent la notion de fréquence des fonctions de la base. Cette base est utilisée pour effectuer la décomposition des coordonnées x, y, z et obtenir un spectre géométrique. Ce spectre est finalement quantifié, avec une troncature des hautes fréquences. Pour assurer la progressivité, les coefficients quantifiés sont transmis par ordre croissant de la fréquence associée. L approche de codage spectral est particulièrement efficace àbasdébits (moins de 8 bits par sommet). Expérimentalement, elle conduit à des gains en termes de débits de l ordre de 30-50% par rapport à l algorithme monorésolution de Touma et Gotsman [3], pour des qualités visuelles des maillages reconstruites tout à fait comparables. La principale limitation de l approche est liée à sa grande complexité de calcul (en O(V 3 )), due principalement au calcul des vecteurs propres de la matrice L. Pour pallier cet inconvénient, les auteurs proposent dans [53] d utiliser une base de fonctions fixe, correspondant à une connectivité régulière où chaque sommet a une valence de 6. Notons que cette base correspond à celle de la transformée DCT. Cette décomposition est certes sous-optimale, néanmoins elle permet de réduire la complexité decalculdeo(v 3 )à O(Vlog(V )).

30 Représentation et compression de maillages 3D statiques : état de l art Dans [54], les auteurs proposent de contourner le problème de complexité de calcul des vecteurs propres en introduisant la notion de δ-coordonnées. Plus précisément, la matrice des δ-coordonnées, notée δ G,estdéfinie par : δ G = LG, (1.16) avec L la matrice laplacienne et G la marice décrivant la géométrie du maillage (cf. équation (1.9)). Le codeur proposé dans [54] procède comme suit. Tout d abord, la matrice δ G est calculée, puis quantifiée uniformément et codée arithmétiquement. La connectivité du maillage est ici compressée en exploitant la technique [3]. Afin de reconstruire le maillage, le décodeur décompresse tout d abord la connectivité et construit la matrice laplacienne L. La matrice des δ-coordonnées est ensuite décodée. Soit δ G la matrice obtenue au niveau du décodeur. La matrice des coordonnées, notée Ĝ, est enfin reconstruite en résolvant le problème de minimisation suivant : Ĝ =argmin X LX δ 2 G, (1.17) où X représente une matrice réelle de taille V 3. Notons que la solution du problème de minimisation au sens des moindres carrés, décrit par l équation (1.17), est donnée par : Ĝ =(L t L) 1 L t δg. (1.18) En pratique, cela revient à inverser la matrice creuse (L t L). Les auteurs exploitent la bibliothèque TAUCS 9 optimisée pour ce type de matrices afin d assurer des temps calcul de décodage raisonnables (i.e., 1 seconde pour un maillage de 20000 sommets sur une machine P4 2GHz). L approche proposée permet de réduire efficacement les temps de calcul de [52] tout en assurant une qualité visuelle équivalente. Notons néanmoins qu une telle approche est totalement inadaptée pour des terminaux de faibles capacités de calcul et de mémoire, étant donné le processus de minimisation (équation (1.18)) qu elle implique. 1.3.2.9 Approches par ondelettes En étroite relation avec les techniques de subdivision de surfaces, les approches de compression de maillages 3D par ondelettes étendent la théorie de l analyse multirésolution, formalisée initialement pour des fonctions définies sur l axe réel infini par [55][56]. Parmi les travaux qui généralisent la théorie de l analyse multirésolution aux maillages 3D, il convient de mentionner en premier lieu ceux de Lounsberry [57]. Son approche représente en effet un cas particulier du schéma de Lifting introduit par Sweldens [58]. Le schéma de Lifting est une méthode de construction de bases d ondelettes qui permet de définir aisément et intuitivement des familles d ondelettes sur des domaines bornés. Parmi les techniques de compression de maillages 3D par ondelettes, citons tout d abord celle proposée dans [9]. Le maillage est initialement remaillé, pour obtenir une structure topologique semi-régulière, en utilisant l algorithme MAPS - Multiresolution Adaptive Parameterizations of Meshes [59]. MAPS génère un premier maillage, représentant la résolution la plus grossière. En subdivisant récursivement ce maillage de base, selon un algorithme de Loop,

1.3 Compression de maillages 3D statiques : état de l art 31 (a) maillage initial (b) maillage de base avec projection des sommets initiaux (c) maillage semi-régulier approchant le maillage initial Figure 1.17 : Compression par ondelettes semi-régulières. (Source : [9]). on obtient ensuite une approximation du maillage initial. Cette procédure est illustrée Figure 1.17. Notons que dans ce cas, la connectivité initiale du maillage est irréversiblement perdue. Quant àlagéométrie du maillage, elle est représentée par le premier maillage et une série de coefficients de la décomposition en ondelettes. Ces coefficients ont une distribution bien concentrée autour de zéro et sont codés à l aide d un algorithme de type SPIHT [60], pour assurer la progressivité delareprésentation. Cet algorithme assure des performances nettement supérieures (de 10-80% de gains en termes de débits) à celles du schéma de codage monorésolution de Touma et Gotsman [3]. Dans [61], les auteurs proposent un nouveau schéma de compression par ondelettes, fondé sur le concept de maillage normal [62].Lorsde l étape de subdivision, une contrainte supplémentaire est imposée qui garantit que le vecteur différence entre la position prédite à partir du niveaux de détails précédent et la position exacte du sommet est normal à la surface. Cela conduit à des coefficients en ondelettes scalaires, qui peuvent être codés plus efficacement. Dans [63], les auteurs généralisent le schéma de subdivision 1 :4 [57] au cas des maillages irréguliers, en introduisant des nouvelles configurations de subdivision (i.e., 1:3, 1:2et1:1), illustrées Figure 1.18. Afin de construire la structure de subdivision, les auteurs exploitent un ensemble de règles topologiques. Une version améliorée, qui tient compte de la géométrie du maillage en interdisant la décimation des sommets localisés sur des arêtes saillantes, est également proposée. La structure hiérarchique générée est ensuite exploitée pour en dériver une famille d ondelettes biorthogonales à support local. L approche [63] permet d éviter l étape de remaillage tout en assurant des résultats de compression compétitifs par rapport aux techniques décodage sans pertes de connectivité. 9. http ://www.tau.ac.il/ stoledo/taucs/

32 Représentation et compression de maillages 3D statiques : état de l art (a) Triangle original (b) Subdivision 1 :4 (c) Subdivision 1 :1 (d) Subdivisions 1 :2 (e) Subdivisions 1 :3 Figure 1.18 : Configurations de subdivision pour l approche de codage par ondelettes irrégulières. Dans [64], Gu et al. proposent d appliquer un remaillage régulier afin de convertir la géométrie d un maillage 3D en une image 2D appelée image géométrique. Le principe consiste à déterminer une paramétrisation du maillage sur un domaine 2D carré. Un remaillage régulier est ensuite appliqué en échantillonnant uniformément le domaine paramétrique. Cela permet de décrire (avec pertes) la géométrie du maillage par un ensemble de points 3D localisés sur la surface. Ces points, ayant une structure régulière, peuvent être stockés sous forme d une image géométrique [64] couleur où chacun des canaux R, V et B décrit l une des coordonnées x, y ou z. L image ainsi obtenue est enfin codée en exploitant une décomposition en ondelettes. Dans [65], les auteurs proposent l approche SGI (Smooth Geometry Images) qui exploite la procédure de remaillage régulier de GI afin d approcher le maillage par une surface B-Spline cubique. Les points de contrôle de la surface B-Spline générée sont enfin codés sous forme d une image géométrique. La représentation SGI exploite un schéma de subdivision calculé directement au niveau de la carte graphique afin d assurer un rendu en temps réel. Notons cependant que cette approche induit des pertes de détail sur la surface en raison du lissage produit par la conversion du maillage original en surface B-Spline.

1.4 Analyse et discussion 33 L appoche GI a étéencoreaméliorée dans [66] en exploitant un atlas de paramétrisation (au lieu d une paramétrisation sur domaine carré) afin de minimiser les distorsions de paramétrisation. Ici, le maillageest découpéenunensemblepatchs qui sontremaillés régulièrement et stockés ensuite dans une même image appelée MCGI (Multi-Charts Geometery Images). Les auteurs proposent une procédure de recollage plus ou moins heuristique afin de garantir un raccordement lisse des parties. Les différentes approches de compression multirésolution de maillages 3D présentées ici illustrent clairement les importants progrès réalisés dans le domaine au cours de ces dernières années. Même si la contrainte de progressivité peutaprioriengendrer une diminution de l efficacité de codage, bon nombre d approches et en particulier celles fondées sur les transformées en ondelettes, arrivent à s affranchir de cette limite et conduisent à des performances de codage comparables ou même supérieures à celles obtenues en monorésolution, tout en offrant la puissante fonctionnalitédeprogressivité. 1.4 Analyse et discussion Le Tableau 1.1 résume les différentes propriétés des principales approches de compression mono-résolution de maillages 3D statiques. Comme les stratégies de codage de la géométrie sont presque équivalentes pour toutes les approches de compression mono-résolution nous nous sommes intéressés uniquement au codage de la connectivité du maillage. En effet, les débits, notés D(Γ), rapportés dans le Tableau 1.1, sont exprimés en bps (bits par sommet) et correspondent uniquement au flux binaire nécessaire pour le codage de connectivité. Ces résultats montrent que les approches de codage par valences permettent d atteindre les meilleurs résultats de compression. Ces performances sont obtenues au prix d une généralité limitée (i.e. maillages manifolds et orientés). Les approches par bandes de triangles permettent de traiter tout maillage triangulaire tout en étant adaptées à une implantation matérielle. Néanmoins, ces techniques restent peu efficaces en terme de compression. L approche de codage par niveaux semble offrir un bon compromis entre efficacité de compression et généricitéétant applicable à tout maillage triangulaire. De plus, elle permet un codage résistant aux erreurs de transmission. L approche CBM assure un décodage en temps réel au prix d un coup de codage légèrement supérieur aux autres approches de compression par conquête de triangles [30, 4]. Notons enfin qu une version améliorée de l approche de codage par arbres couvrants [1] a été retenue par le standard MPEG-4. Le Tableau 1.2 présente les propriétés des principales techniques de codage multi-résolution de maillages 3D statiques. Ici, les débits D(Γ) et D(G)représentent respectivement les nombres de bits par sommet nécessaire pour le codage de connectivité etlagéométrie du maillage. Ils sont exprimés également en bps (bits par sommet). De l analyse du Tableau 1.2, il ressort que les techniques de codage par ondelettes régulières [64] ou semi-régulières [62] permettent d atteindre les meilleures performances de compression. Notons cependant que de telles approches sont adaptées uniquement à des maillages manifold, denses et lisses. Elle modifient également la connectivité initiale du maillage ce qui peut induire l apparition d artéfacts visuels comme discuté Section 3.1. Dans le cas d applications nécessitant la préservation de la connectivité du maillage, le codeur spectral semble offrir les meilleures performances de compression à bas débits (moins de 8 bits par sommet). Notons néanmoins que cette approche souffre d une complexité de décodage (en O(V 3 )) pénalisante. La technique PFS, bien que retenue par le standard MPEG-4, offre des

34 Représentation et compression de maillages 3D statiques : état de l art Approche D(Γ) en bps Applicabilité Commentaires Triangles indexés 6log 2 (V ) Tout maillage Forte redondance triangulaire Bandes de triangles [16] 11 Tout maillage Adaptée à une implémentation triangulaire matérielle Arbres couvrants [1] 2.48 7.0 Manifold Retenue par le standard MPEG-4 Décomposition 1.40 6.08 Tout maillage Codage résistant aux erreurs de transmission en niveaux [46] triangulaire Codage des valences [3, 0.2 2.4, en Manifold et Etat de l art des codeurs monorésolution 27] moyenne 1.5 orienté Cut Border Machine 3.22 8.94, en Manifold Optimisée pour les applications en [28] moyenne 4 temps réel Edgebreaker [4] 4aumaximum Manifold et Complexité dedécodage pénalisante en orienté O(V 2 ) Edgebreaker optimisé 3.67 au maximum Manifold et Complexité dedécodage linéaire [30] orienté Table 1.1 : Etat de l art des techniques monorésolutions de compression de maillages 3D statiques. résultats de compression très limités. Les codeurs de maillages progressifs [10, 5] conduisent au plus mauvaises performances de compression. Notons cependant que ces techniques assurent une scalabilité de haute qualité. L approche de codage par ondelettes irrégulières offre des performances de compression compétitives tout en assurant une complexité linéaire en fonction du nombre de sommets. Les techniques de codage par arbres géométriques [8, 13, 48] compressent efficacement des maillages 3D de topologies arbitraires. Ces approches nécessitent cependant des capacités de calcul importantes au niveau du décodeur.

1.4 Analyse et discussion 35 Approche D(Γ) en bps D(G) en bps Applicabilité Commentaires Progressive mesh [10] log 2 (V )+5 en - Manifold et Scalabilité de haute moyenne orienté qualité Complexe simplical progressif log 2 (V )+8 en - Tout maillage Scalabilité de haute [5] moyenne triangulaire qualité tout en gérant des maillages de topologies arbiraires Progressive forest split [6] 7-10 en moyenne 20-40 pour une quantification sur 6 bits Patchs colorés [44] 6 en moyenne 16-22 pour une quantification sur 12 bits Décimation guidée par les valences [7] Arbre Kd tree [8] 3.5 en moyenne 2.67-4.99 10-22 pour une quantification sur 10-12 bits 15.7 en moyenne pour une quantification sur 10-12 bits Arbre octree [13, 48] 3 en moyenne 8.64 en moyenne pour une quantification sur 10-12 bits Codage spectral [52] 1.5 en 1-5 pour moyenne pour une qualité des maillages équivalente à manifolds et une quantification orientés sur 7-8 bits Ondelettes irrégulières 1.72-5.46 bits 8.5-23.96 pour [63] une quantification sur 10-12 bits Maillage normal [62] Négligeable 1 en moyenne pour que qualitééquivalente à une quantification sur 8 bits Images géométriques Non codée 1-2 en [64] moyenne pour que qualitééquivalente à une quantification sur 8 bits Manifold Tout maillage triangulaire Manifold orienté et Tout maillage triangulaire Tout maillage triangulaire Tout maillage triangulaire Retenue par le standard MPEG-4 Scalabilité de granularité grossière Scalabilité de granularité grossière Adaptée aux modèles de terrains 3D et aux maillages denses Nécessite des capacités de calcul importantes au niveau du décodeur Complexitédedécodage pénalisante en O(V 3 ) Manifold Perservation de la connectivité initiale Manifold Manifold Perte de la connectivité initiale. Adaptée à des maillages denses et à géométrie lisse Perte de la connectivité initiale. Adaptée à des maillages denses et à géométrie lisse Table 1.2 : Etat de l art des techniques multirésolutions de compression de maillages 3D statiques.

36 Représentation et compression de maillages 3D statiques : état de l art 1.5 Conclusion Dans ce chapitre nous avons présenté unétat de l art des méthodes de compression de maillages 3D statiques. Deux familles d approches, mono et multi-résolution, ont étéidentifiées, et décrites en détails, avec principe, méthodes représentatives, avantages et limitations. L analyse de l état de l art montre que la majeure partie des approches s appuie sur des hypothèses de régularité (e.g., maniofold et orienté) des maillages traités afin d assurer un codage efficace. Les techniques de codage par arbres géométriques permettent de gérer des maillages non manifold tout en offrant des performances de compression compétitives. Cependant, elles restent inadaptées à une implantation matérielle en raison des ressources de calcul et de stockage qu elles nécessitent. Seules les techniques de compression par bandes de triangles et l approche CBM semblent être adaptées àundécodage temps réel. Cette propriété estin- dispensable pour le déploiement d un grand nombre d applications comme les jeux vidéo, les visites virtuelles sur terminaux mobiles... De cette étude il ressort qu il n existe pas actuellement de méthode satisfaisant àlafoisaux contraintes de généricité (i.e., applicable à tout type de maillage), d efficacité de compression et de faible complexité dedécodage. La première méthode originale de compression de maillages statiques que nous proposons, dites TFAN-Triangle Fan coder (Chapitre 2), répond à ces critères et s attaque notamment à cet ambitieux objectif. S inscrivant dans le cadre des approches de codage par conquêtes de triangles, elle : offre un décodage de basse complexité et adapté pour une implantation matérielle. génère une représentation exploitant les accélérations matérielles pour un rendu en temps réel. Les techniques par ondelettes régulières offrent de haute performances de compression tout en assurant une réutilisation directe des technologies standards de codage d images 2D (e.g., JPEG et JEPG2000). Elles modifient cependant la connectivité initiale du maillage, ce qui peut conduire en pratique à l apparition d artéfacts visuels (cf. Section 3.1). La deuxième méthode que nous proposons, appelées codeur B-Spline (Chapitre 3), reprend l idée de représentation régulière de l information géométrique introduite dans [64, 66, 65], tout en l adaptant aux contraintes de compression avec préservation de la connectivité. Optimisée pour des maillages 3D issus des scanners 3D, elle assure à la fois un codage efficace et une représentation progressive.

Chapitre2 Le codage TFAN Résumé : Ce chapitre propose une nouvelle approche de compression de maillages 3D statiques, appelée TFAN (Triangle Fan-based compression), applicable directement àtout maillage 3D triangulaire de topologie arbitraire (i.e., manifold ou non, orienté ounon, fermé ou ouvert). TFAN assure une complexité linéaire pour le codage et le décodage, tout en offrant une représentation optimisée pour le rendu en temps réel. Afin de valider l approche TFAN proposée dans le cadre d une application industrielle grandeur nature, nous avons considéré le corpus CAO du projet RNRT SEMANTIC- 3D, qui inclut environ 4000 maillages de topologies hautement irrégulières (multiples composantes connexes, non-manifold...). L étude expérimentale comparée que nous avons conduite montre que le codeur TFAN offre des gains en termes de débits de 6 à 33% par rapport aux méthodes de Touma Gotsman [3] et la technique MPEG-4/3DMC [1]. Quant au temps de décodage, ils sont améliorés de 50% en moyenne. En raison de sa faible complexité de décodage et de ses performances de compression élevées, le codeur TFAN est un candidat de premier plan pour le déploiement des contenus de type CAO sur téléphones portables. Depuis Avril 2008, il est considéré dans le cadre de l expérimentation technique [67] portant sur la compression de basse complexité de maillages 3D, au sein du standard MPEG. Mots clés : TFAN, compression, maillage 3D, topologie arbitraire, faible complexité, rendu en temps réel, données CAO. 37

38 Le codage TFAN Ce chapitre décrit une nouvelle approche de compression de maillages 3D triangulaires, appelée TFAN. 2.1 L approche TFAN L approche TFAN proposée gère directement tout maillage 3D triangulaire de topologie arbitraire (i.e. manifold ou non, orienté ou non, fermé ou ouvert). Elle assure également une complexité linéaire pour le codage et le décodage, tout en offrant une représentation optimisée pour le rendu en temps réel. En raison de ces propriétés, le codeur TFAN se positionne en premier plan des candidats pour le déploiement de contenus 3D sur téléphones portables. 2.1.1 Définition TFAN repose sur une décomposition des triangles du maillage à coder en un ensemble d éventails de triangles. Concept central de la représentation proposée, un éventail de triangles est défini comme suit. Définition : un éventail de triangles (Triangle Fan -TF)TF de degré d est un ensemble ordonné ded triangles (t j ) j {0,...,d 1} définis par une séquence ordonnée de (d + 2) sommets (v 0,v 1,v 2,...,v d+1 )telsque: j {0,...,d 1}, t j = {v 0,v j+1,v j+2 }. (2.1) La Figure 2.1 illustre un exemple d éventail de triangles de degré 4. Figure 2.1 : Eventail de triangles de degré 4décrit par les sommets (v 0,v 1,v 2,v 3,v 4,v 5 ). Par définition, les triangles d un éventail satisfont les propriétés suivantes : (P 1 ) : les deux triangles successifs d un éventail sont adjacents, au sens où ils partagent une arête commune,

2.1 L approche TFAN 39 (P 2 ) : les triangles d un éventail ont la même orientation (i.e., sens de parcours des sommets d un triangle, cf. Section 1.1), (P 3 ) : tous les triangles d un éventail partagent un même sommet v 0 appelé sommet central (ou centre de l éventail). Notons également que l orientation des triangles implique un unique ordre de parcours des sommets de l éventail. L éventail TF est alors complètement déterminé par la suite ordonnée de ses sommets (v 0,v 1,v 2,...,v d+1 ), énumérés à partir du sommet central v 0. 2.1.2 Principe Pour définir une représentation compacte de la connectivité d un maillage triangulaire de topologie arbitraire (i.e. manifold ou non, orienté ounon, fermé ou ouvert), la méthode TFAN proposée dans ce chapitre exploite une partition des triangles du maillage en un ensemble d éventails de triangles. Le principe de base de la méthode proposée repose sur l observation suivante : coder un éventail TF est équivalent àcoderles(d + 2) index de ses sommets constituants. Un tel mécanisme de codage évite alors les problèmes de redondance spécifiques aux approches directes de représentation, comme celle proposée par le standard VRML 1 (cf. Section 1.2). Pour analyser le gain que l on peut obtenir avec une représentation par éventails de triangles par rapport à l approche directe, considérons l exemple du maillage illustré Figure2.2. Ici, le maillage inclut les sept triangles suivants : t 1 = {v 6,v 5,v 4 }, t 2 = {v 1,v 9,v 2 }, t 3 = {v 3,v 7,v 9 }, t 4 = {v 1,v 8,v 9 }, t 5 = {v 2,v 9,v 6 }, t 6 = {v 9,v 7,v 6 },ett 7 = {v 6,v 7,v 5 }. Supposons également que le maillage est décomposé en trois éventails TF 1 = {v 1,v 8,v 9,v 2 }, TF 2 = {v 9,v 3,v 7,v 6,v 2 } et TF 3 = {v 6,v 7,v 5,v 4 }. Coder directement la liste des triangles (t j ) i {1,...,7} revient à stocker les 21 index associés. Le nombre de sommets étant égal à 9, l index d un sommet peut alors être codé sur quatre bits. Le codage direct de la liste des triangles coûterait alors 84 bits. Si l on considère maintenant l approche par éventails de triangles, coder les trois éventails nécessite de stocker uniquement 14 index, soit 56 bits. La conversion des trois éventails TF 1, TF 2 et TF 3 en une liste de triangles est directe en appliquant l équation 2.1. Dans le cas de l exemple de la Figure 2.2, les triangles obtenus sont : t 1 = {v 1,v 8,v 9 }, t 2 = {v 1,v 9,v 2 }, t 3 = {v 9,v 3,v 7 }, t 4 = {v 9,v 7,v 6 }, t 5 = {v 9,v 6,v 2 }, t 6 = {v 6,v 7,v 5 } et t 7 = {v 6,v 5,v 4 }. Notons qu on obtient ainsi exactement la même liste de triangles que celle du maillage initial, à une permutation près. L ordre de parcours des triangles associés à une représentation par éventails est donc différent de celui initial (i.e., celui de la liste de triangles). En effet, avoir réordonné les triangles du maillage nous a permis de coder de façon implicite une partie de leurs relations d adjacence (cf. propriétés (P 1 ), (P 2 )et(p 3 )) ce qui conduit à une représentation plus compacte. En suivant le même principe, il est possible de redéfinir également l ordre des sommets du maillage afin d introduire un degré deliberté supplémentaire permettant de décrire d une manière encore plus compacte les relations d adjacence entre sommets. Ainsi, si l on renomme les sommets de l éventail TF 1 dans l ordre de leur parcours (i.e., v 1 v 1, v 8 v 2, v 9 v 3 et v 2 v 4 )ildevientpossiblededécrire l éventail TF 1 juste en spécifiant son degré :d 1 =2. Sachant qu il s agit d un éventail constitué de deux triangles, le décodeur pourra alors créer directement l éventail TF 1 = {v 1,v 2,v 3,v 4}. 1. http ://www.demotride.com/vrml97-spec-html/index.html

40 Le codage TFAN Figure 2.2 : Décomposition de la connectivité d un maillage triangulaire en trois éventails de triangles : TF 1 = {v 1,v 8,v 9,v 2 }, TF 2 = {v 9,v 3,v 7,v 6,v 2 } et TF 3 = {v 6,v 7,v 5,v 4 }. Le codage du deuxième éventail TF 2 est un peu plus complexe puisqu il réutilise des sommets déjà renommés par TF 1. Dans ce cas, disposer uniquement du degré d 2 =3del éventail TF 2 ne permettrait pas de distinguer les sommets déjà utilisés (qui ne peuvent donc plus être renommés) de ceux qui ne le sont pas. Pour prendre en compte cette information additionnelle, il suffit de coder un bit qui prend la valeur 0 si le sommet est non-codé (ditégalement nonvisité ou nouveau) et 1 sinon. Pour l éventail TF 2, les sommets nouveaux sont v 3, v 7 et v 6.Les sommets déjà codés sont v 9 et v 2.Pourspécifierletypecodéounon-codédechaquesommetde TF 2 il suffit de coder la séquence binaire S 2 = {1, 0, 0, 0, 1}, en respectant l ordre de parcours des sommets de l éventail. Enfin, pour tous les sommets de type 1 (i.e., déjà codés) le décodeur a besoin d une information supplémentaire, spécifiant l index de chacun selon le nouvel ordre dans lequel il apparaît. Soit I 2 la séquence des index des sommets de type 1 associés àl éventail TF 2. Dans notre exemple, les sommets déjà codés (énumérés dans l ordre de parcours de TF 2 ) sont v 3 et v 4.Parconséquence, I 2 = {3, 4}. Examinons àprésent le processus de reconstruction de l éventail TF 2 au niveau du décodeur, à partir de : son degré d 2 =3, la séquence binaire S 2 = {1, 0, 0, 0, 1}, et la séquence des index I 2 = {3, 4}. En analysant le premier bit de S 2,ledécodeur déduit que le premier sommet est déjà visité. Son index dans I 2 est alors récupéré. Celui-ci étant égal à3,ils agitalorsdusommet v 3.Ledeuxième, troisième et quatrième bits de S 2 sont à 0. Il s agit donc de trois sommets non-visités. Leurs index sont alors générés en exploitant l ordre de parcours de l éventail. Plus précisément, le dernier sommet décodéétant v 4,ils agitalorsdessommetsv 5, v 6 et v 7,dontles correspondants dans le maillage initial sont v 3, v 7 et v 6. Enfin, le dernier bit de S 2 étant égal à 1, il s agit encore d un sommet déjà visité. Il suffit alors de consulter le deuxième index stocké dans I 2,quiest4,pourdéduire qu il s agit du sommet v 4.L éventail généré parledécodeur est donc TF 2 = {v 3,v 5,v 6,v 7,v 4 }. Pour le dernier éventail TF 3 de notre exemple, l information de représentation à stocker est donnée par :

2.1 L approche TFAN 41 d 3 =3, S 3 = {1, 1, 0, 0}, et I 3 = {7, 6}. En suivant le mêmeraisonnementquepourl éventail TF 2,ledécodeur génère l éventail TF 3 = {v 7,v 6,v 8,v 9}. La Figure 2.3 illustre le maillage décodé obtenu en appliquant la procédure que nous venons de décrire. Notons qu on retrouve exactement le même maillage à une permutation près des sommets et des triangles. L information à coder est constitué des éléments suivants : trois entiers, représentant les degrés des trois éventails considérés d 1 =2,d 2 =3et d 3 =2,chacuncodé sur deux bits, soit un total de 6 bits, 9bitsnécessaires pour spécifier les séquences binaires S 2 = {1, 0, 0, 0, 1} et S 3 = {1, 1, 0, 0}, et 4 index entiers stockés dans I 2 = {3, 4} et I 3 = {7, 6}, chacun représenté sur 4 bits, pour un total de 16 bits. Le coût total de codage de la connectivité du maillage est donc réduit à31bits. Notons que le codage des index entiers des sommets déjà décodés constitue la partie la plus coûteuse en débit de la représentation générée. Afin de réduire la quantité d information allouée au codage des index, nous proposons de choisir les centres des éventails de façon déterministe en exploitant un parcours de voisin en voisin des sommets du maillage. Ce parcours sera exploité également pour la procédure de décomposition en éventails des triangles du maillage (cf. Section 2.1.3). Cette stratégie permet notamment de s affranchir du codage de l index du centre étant donné que l ordre de parcours peut être reconstitué par le décodeur sans besoin d aucune information supplémentaire. Plus précisément, pour spécifier l ensemble des éléments à coder pour chaque sommet, soit v i le sommet courant. Il s agit alors de coder : N(i) lenombred éventails de centre v i décrivant l ensemble des triangles non visités et incidents à v i, (d(i, n)) n {1,...,N(i)} les degrés de ces éventails, (S(i, n)) n {1,...,N(i)} les séquences binaires décrivant les types (codés non codés) des sommets de chaque éventail, (I(i, n)) n {1,...,N(i)} la liste des indexes spécifiant les sommets déjà visités correspondants. Le parcours proposé consiste à partir du premier sommet v 1. Tous les triangles incidents à v 1 sont décomposés en un ensemble d éventails, comme décrit dans la Section 2.1.3. Le nombre N(1) des éventails obtenus ainsi que leur degrés (d(i, n)) n {1,...,N(i)} et les séquences (S(1,n)) n {1,...,N(1)} et (I(1,n)) n {1,...,N(1)} qui leur sont associées sont codés. L ensemble des triangles de ces éventails sont alors marqués comme traités (ou codés ou encore visités). Les sommets non-visités des éventails incidents à v 1 sont ensuite visités à leur tour selon l ordre de parcours propre àchaqueéventail. Ce processus est réitéré jusqu à ce que l ensemble des sommets du maillage soient visités. Illustrons cette approche pour l exemple de la Figure 2.2. Le premier sommet à visiter est v 1.Unefoisvisité, il est tout de suite renommé env 1. Ses triangles incidents peuvent être regroupés en un seul éventail TF 1 =(v 1,v 8,v 9,v 2 ). Le nombre N(1) d éventails incidents à v 1 est alors égale à1.pourdécrire entièrement le premier éventail il suffit de stocker : N(1) = 1 et d(1, 1) = 2. Les triangles t 4 et t 2 sont marqués comme codés et les sommets de TF 1 différents de v 1 sont visités dans l ordre de TF 1 : v 8, v 9 et puis v 2 et puis renommés respectivement en v 2, v 3 et v 4.

42 Le codage TFAN Aladeuxième itération, on considère le sommet suivant non-visité dans la liste des sommets de TF 1,quiestv 8 (renommé env 2) et qui devient le sommet courant. Comme v 2 n a aucun triangle incident non-codé, le nombre N(2) de ses éventails est mis à0.lavaleurn(2) = 0 est stockée et on passe au sommet suivant de l éventail TF 1 qui est v 9. A la troisième itération, le sommet courant est donc v 9 (renommé env 3). Les triangles noncodés incidents à v 9 sont décrits par l éventail TF 2 =(v 9,v 3,v 7,v 6,v 2 ). N(3) est alors égale à 1etledegrédel éventail d(3, 1) = 3. Les séquences S(3, 1) = {1, 0, 0, 0, 1} et I(3, 1) = {3, 4} sont calculées comme décrit précédemment. Notons cependant que le décodeur peut déduire directement à partir de l ordre de parcours que v 9 (qui est le centre de l éventail) a déjà été visité et que son nouvel index est égale à3.parconséquence, on peut éliminer de S(3, 1) et I(3, 1) les informations relative à v 9. De plus, au lieu de stocker directement le nouvel index du sommet v 2,quiest4,onvaplutôt coder l index de ce sommet dans la liste L(3) des voisins déjà visités de v 9 (qui est la seule information disponible au niveau du décodeur). Notons que les voisins de v 9 ayant un ordre de parcours inférieur ont déjà tous leurs triangles visités. Par conséquent, ils ne peuvent plus intervenir dans la construction de nouveaux éventails. Cette observation nous conduit à ne pas les considérer lors de la construction de la liste L(3). Ainsi, seuls les voisins déjà visités de v 9 et dont le nouvel ordre de parcours est supérieur à celui de v 9 sont inclus dans L(3). La liste L(3) est également réordonnée selon le nouvel ordre de parcours (qui est le seul disponible au niveau du décodeur) afin que le codeur et le décodeur retrouvent exactement la même information. Dans notre cas, L(3) = {v 4} et par conséquence on stocke la valeur 1. Au final, l information associée au sommet v 3 est : N(3) = 1, (2) d(3, 1) = 3 et les deux séquences S (3, 1) = {0, 0, 0, 1} et I (3, 1) = {1}. Les triangles t 3, t 6 et t 5 sont marqués comme codés. Les sommets v 3, v 7 et v 6 sont renommés en v 5, v 6 et v 7, puis visités àleurtour. A la quatrième et cinquième itérations, les sommets v 2 et v 3 (renommés en v 4 et v 5)sont traités. Ici, comme pour v 8, on stocke uniquement les valeurs N(4) = 0 et N(5) = 0 pour annoncer au décodeur qu aucun éventails ne doit être décodé. Alasixième itération, le sommet courant est v 7 (renommé env 6 ). TF 3 =(v 7,v 5,v 6 )estle seul éventail de triangles incident à v 7.Pourledécrireonstocke:N(6) = 1, d(6, 1) = 1 et les deux séquences S (6, 1) = {0, 1} et I (6, 1) = {1}. Le triangle t 7 est marqué comme visité. Le sommet v 5 est renommé env 8 et ajouté à la liste des sommets à visiter. Alaseptième itération, le sommet courant est v 6 (renommés en v 7). TF 4 =(v 6,v 5,v 4 )estle seul éventail de triangle incident à v 6.Pourledécrireonstocke:(1)N(7) = 1, (2) d(7, 1) = 1 et les deux séquences S (7, 1) = {1, 0} et I (7, 1) = {1}. Le triangle t 1 est marqué comme visité. Le sommet v 4 est renommé env 9 et ajouté à la liste des sommets à visiter. Alahuitième et neuvième itérations, les sommets v 5 et v 4 (renommés en v 8 et v 9 )sont traités. Ici, comme pour v 8, on stocke uniquement les valeurs N(8) = 0 et N(9) = 0 pour annoncer au décodeur qu aucun éventail ne doit être codé. Décrivons àprésent le processus de décodage d une telle représentation. Au départ, le décodeur crée automatiquement un premier sommet qu il nommera v 1. En analysant, le nombre d éventails incidents à v 1 (i.e., N(1) = 1) et son degré (i.e., d(1, 1) = 1), il déduit qu il s agit d un seul éventail centré env 1 de degré 2. Cela lui permet de reconstruire l éventail TF 1 = {v 1,v 2,v 3,v 4 }.Ledécodeur ajoute également v 2, v 3 et v 4 à la liste des sommets à visiter. Aladeuxième itération, le sommet à traiter est v 2. Comme N(2) = 0 aucun éventail ne doit être créé etledécodeur passe au sommet suivant qui est v 3.

2.1 L approche TFAN 43 A la troisième itération, le sommet courant est v 3.Eninterprétant N(3) = 1, d(3, 1) = 3 le décodeur déduit qu il doit reconstruire un éventail centré env 3 de degré 3.Grâce àlaséquence S 3 = {0, 0, 0, 1}, ildéduit que les trois premiers sommets de l éventail sont nouveaux et le quatrième sommet a déjà été visité. Les nouveaux sommets sont créés et nommés v 5, v 6 et v 7. Afin de déterminer l index du quatrième sommet, le décodeur construit la liste triée (selon le nouvel ordre) L(3) des voisins déjà visités de v 3 et dont l ordre de parcours est supérieur à celui de v 3.Ici,L(3) = {v 4 }. En exploitant l index stocké dansi 3,quiest1,ledécodeur sait qu il doit récupérer le premier élément de L(3). Par conséquent, le quatrième sommet est v 4. Enfin, le décodeur reconstruit l éventail TF 2 = {v 3,v 5,v 6,v 7,v 4 }. Les sommets v 5, v 6 et v 7 sont également ajoutés à la liste des sommets à visiter. En suivant le même raisonnement, le décodeur décode les éventails TF 3 =(v 6,v 8,v 7 )et TF 4 =(v 7,v 8,v 9) et reconstruit ainsi l ensemble des sommets et des triangles du maillage considéré. En résumé, les éléments d information associés à cette nouvelle représentation sont les suivants : La liste des nombre d éventails pour chaque sommet (i.e., N(1) = 1, N(2) = 0...) qui est codée sur 9 bits, Lesdegrés des éventails (i.e., d(1, 1) = 2, d(3, 1) = 3, d(6, 1) = 1 et d(7, 1) = 1) codés sur 8 bits, lesséquences des types de sommets (i.e., S (3, 1) = {0, 0, 0, 1}, S (6, 1) = {0, 1} et S (7, 1) = {1, 0}) codées sur 8 bits, et lesséquences des indexes relatifs (i.e., I (3, 1) = {1}, I (6, 1) = {1} et I (7, 1) = {1}) codées sur 3 bits. Le coût total de stockage de cette nouvelle représentation est alors de 28 bits. Figure 2.3 : Maillage reconstruit à partir de la représentation du maillage par éventails de triangles. L approche proposée est formalisée pour le cas général dans la section suivante.

44 Le codage TFAN 2.1.3 Algorithme de codage : construction de la représentation TFAN Dans le cas général, le schéma global de fonctionnement de l approche de codage TFAN peut être décrit comme suit. Au départ, les ensembles des sommets et des triangles du maillage sont considérés comme non-visités (ou non-parcourus). Le codeur TFAN exploite une structure de file F pour stocker les sommets du maillage. Au départ la file F est alimentée par le premier sommet non-visité. Achaqueitération, un sommet est extrait de F. Soitv j le sommet extrait à l itération j. Le sommet v j est marqué alors comme visité, son nouvel ordre de parcours est stocké danso(v j ) et les triangles non-visités qui lui sont incidents sont décomposés en un ensemble d éventails. Notons que plusieurs stratégies sont possibles pour décomposer les triangles incidents à v j en une séquence d éventails. Dans ce travail, nous avons adopté une approche itérative, décrite ci-dessous. Achaqueétape, un éventail TF n (j) estcréé en partant du triangle t 0 ayant le minimum de triangles voisins (i.e., triangles qui partagent une arête avec t 0 ) non-visités et de même orientation que le triangle t 0. Le triangle t 0 est ensuite ajouté à TF n (j) etmarqué comme visité. Si t 0 a des voisins non-visités de même orientation alors un voisin t 1 est choisi au hasard, ajouté à TF n (j) etmarqué comme visité. La même opération est ensuite appliquée à t 1. Ce processus est réitéré jusqu àépuisement des triangles voisins de même orientation et non visités. S il reste des triangles incidents à v j, encore non visités, alors un nouvel éventail est construit en partant encore une fois du triangle qui a un nombre minimal de voisins non visités et de même orientation. Soient : (TF n (j)) n {1,...,N(j)} l ensemble des N(j) éventails de triangles associés à v j, {v j,w n j (1),wn j (2),...,wn j (d(j, n)+1)} les sommets ordonnés de l éventail TF n(j)etd(j, n) son degré. Notons par L(j) la liste des sommets partageant avec v j au moins un triangle visité du maillage et ayant un ordre de parcours supérieur à celui de v j. La liste L(j) est triée selon un ordre croissant en considérant la relation d ordre suivante : {w 1,w 2 } L(j), w 1 <w 2 O(w 1 ) <O(w 2 ). (2.2) A l exception du sommet v j, tous les sommets de l éventail TF n (j) sont traités itérativement en respectant l ordre de parcours défini par TF n (j). Ici, à chaque sommet wj n (k) est associée une valeur binaire s n j (k) indiquant s il a été visité ou non. Toutes les valeurs sn j (k) relatives à un même éventail sont insérées successivement dans une file S(j, n). Si le sommet w n j (k) n apasété visité (i.e., s n j (k) = 0), alors il est marqué comme visité, ajouté à la structure de file F et inséré à la fin de la liste L(j). Son ordre de parcours est également stocké danso(w n j (k)). Siaucontrairelesommetwj n(k) adéjà été visité (i.e., sn j (k) = 1), deux cas peuvent être distingués. Si wj n (k) appartient à L(j) alors l index μ n j (k) dewj n (k) dansl(j) est stocké dans une file I(j, n). Sinon, la valeur négative μ n j (k) =O(v j) O(wj n (k)) est stockée dans I(j, n). Rappelons que, par définition de la liste L(j), tous ses sommets ont un ordre de parcours (i.e., nouvel index assigné) supérieur à celui de v j.parconséquent, la quantité μ n j (k) est toujours négative. Cette propriété sera exploitée par le décodeur afin de déduire s il doit rechercher l index du sommet wj n (k) dans la liste L(j) ounon(cf. Section 2.1.4).

2.1 L approche TFAN 45 Une fois tous les sommets de TF n (j) traités, ses triangles sont marqués comme visités et le processus ré-itéré jusqu à ce que tous les sommets du maillage soient visités. Si la file F devient vide et que tous les sommets ne sont pas encore visités, alors le premier sommet non visité estajoutéà F, puis le processus est réitéré. En conclusion, l information nécessaire pour représenter de manière complète la connectivité du maillage est composée des éléments suivants : Le nombre V de sommet du maillage, La séquence (N(j)) j {1,...,V } indiquant pour chaque sommet j le nombre des éventails de triangles qui lui sont incidents, La séquence (d(j, n)) n {1,...,N(j)} j décrivant les degrés de tous les éventails de triangles, La séquence des files (S(j, n)) n {1,...,N(j)} j indiquant pour chaque éventail l ensemble des sommets déjà visités, La séquence des files d index I(j, n) n {1,...,N(j)} j qui permet d identifier les index des sommets déjà visités des séquences (S(j, n)) n j. L algorithme de codage TFAN que nous venons de décrire est représenté en pseudo-code Figure 2.4.

46 Le codage TFAN Nom: Codeur TFAN Role: Coder la connectivité d un maillage triangulaire Entrée: Liste des triangles d un maillage Sortie: V,(N(j)) j {1,...,V },(d(j, n)) n {1,...,N(j)} j {1,...,V },(S(j, n)) n {1,...,N(j)}, I(j, n) n {1,...,N(j)} j {1,...,V } Entrée/Sortie: Déclaration: début F {} ordrevisite 1 j 0 pour h 1 à V faire si (le sommet v h non visité) alors F.PushBack(v h ) MarquerCommeVisité(v h ) O(v h ) ordrevisite++ tant que (F non vide) faire j ++ v j F.PopFirst() L(j) F.CalculerListeOrdonnéeDesVoisinsVisités() (TF n (j)) n {1,...,N(j)} DecompositionEnEnventailsDeTriangles(j) pour n 1 à N(j) faire pour k 1 à 1+d(j, n) faire si (le sommet wj n (k) nonvisité) alors s n j (k) 0 MarquerCommeVisité(wj n(k)) L(j).PushBack(wj n(k)) O(wj n (k)) ordrevisite++ F.PushBack(wj n(k)) sinon s n j (k) 1 si (wj n (k) L(j)) alors μ n j (k) L(j).TrouverIndex(wn j (k)) I(j, n).pushback(μ n j (k)) sinon I(j, n).pushback(o(v j ) O(wj n(k)) finsi finsi finpour MarquerLesTrianglesCommeVisités(TF n (j)) finpour fintantque finsi finpour fin j {1,...,V } Figure 2.4 : Algorithme de codage de l approche TFAN. Un exemple de construction de la représentation TFAN est proposé dans l Annexe A. Détaillons à présent l algorithme de décodage de la représentation TFAN.

2.1 L approche TFAN 47 2.1.4 Decodage de la représentation TFAN Le décodeur TFAN reconstruit la connectivité du maillage en décodant successivement l ensemble des éventails de triangles. Notons, que les sommets du maillage sont parcourus dans le même ordre que celui établie lors du processus de codage. L algorithme de décodage TFAN, décrit en pseudo-code, est présenté Figure 2.5. Achaqueitération j, leséventails de triangles non-décodés (TF n (j)) n {1,...,N(j)} incidents au sommet courant j sont reconstruits comme suit. Tout d abord, la liste ordonnée L(j) des sommets voisins de v j et ayant un index supérieur est calculée et le nombre d éventails àdécoder N(j) estluà partir du flux binaire. Les éventails sont générés successivement dans l ordre de leur codage. Afin de reconstruire l éventail TF n (j), le décodeur lit à partir du flux binaire les éléments suivants : Le degré d(j, n) del éventail, La file S(j, n) indiquant l ensemble des sommets déjà visités, et La file d index I(j, n). Au départ, l éventail TF n (j) contient uniquement le sommet j. Les autres sommets sont ajoutés successivement dans l ordre de leur codage. Notons par wj n (k) lek-èmesommetdel éventail. Afin de déterminer s il s agit d un nouveau sommet ou d un sommet déjà décodé, le décodeur TFAN extrait de la liste S(j, n), un bit s n j (k) associé au sommet wn j (k). Si s n j (k) = 0, alors wj n (k) est un nouveau sommet. Il est donc créé, en lui assignant un index égal à son ordre de visite. Cet index est ensuite ajouté à TF n (j) ainsi qu à lalistel(j). L ordre de parcours est enfin incrémenté de1. Dans le cas contraire (i.e., s n j (k) = 1), le sommet wj n (k) estidentifié comme ancien (i.e. déjà décodé/visité). Afin de déduire son index, le décodeur extrait le premier élément μ n j (k) de la liste I(j, n). Si μ n j (k) > 0, l index du sommet wn j (k) est obtenu en accédant àl élément μ n j (k) del(j). Dans le cas contraire (i.e., μ n j (k) < 0), alors l index de wj n (k) est(j μ n j (k)). Dans les deux cas, l index calculé estajoutéà TF n (j).

48 Le codage TFAN Nom: Décodeur TFAN Role: Décoder la connectivité d un maillage triangulaire Entrée: V,(N(j)) j {1,...,V },(d(j, n)) n {1,...,N(j)} j {1,...,V },(S(j, n)) n {1,...,N(j)} j {1,...,V }, I(j, n) n {1,...,N(j)} j {1,...,V } Sortie: Liste des triangles d un maillage Entrée/Sortie: Déclaration: début ordrevisite 1 pour j 1 à V faire si (j = ordrevisite) alors ordrevisite++ finsi L(v j ) F.CalculerListeOrdonnéeDesVoisins() lire(n(j)) pour n 1 à N(j) faire lire(d(j, n)) lire(s(j, n)) lire(i(j, n)) TF n (j) {j} pour k 1 à 1+d(j, n) faire s n j (k) S(j, n).popfirst() si (s n j (k) =0)alors TF n (j).pushback(ordrevisite) L(j).PushBack(ordreVisite) ordrevisite++ sinon μ n j (k) I(j, n).popfirst() si (μ n j (k) > 0) alors TF n (j).pushback(l(j)(μ n j (k))) sinon TF n (j).pushback(j μ n j (k)) finsi finsi finpour finpour finpour fin Figure 2.5 : Algorithme de décodage de la représentation TFAN. 2.1.5 Compression de la représentation TFAN Afin de compresser la représentation TFAN, il est nécessaire de coder de façon compacte pour chaque éventail TF n (j), son degré d(j, n) ainsi que les deux listes S(j, n) eti(j, n). Bien naturellement, il est tout à fait possible de coder directement chacune de ces informations en exploitant un codeur arithmétique. Toutefois, afin d optimiser encore plus la méthode de codage TFAN, nous proposons de distinguer les neuf configurations qui sont en pratique les plus fréquentes (cf. Section 2.3.3) et de leur associer des représentations plus compactes. Pour rester générique et prendre en compte tous les autres cas, une dixième configuration est introduite. Ellecorrespondaucasoù l ensemble des informations d(j, n), S(j, n) eti(j, n) estcodé. Soit C(j, n)lenuméro de la configuration associée àl éventail TF n (j). Le tableau 2.1 résume

2.1 L approche TFAN 49 les dix configurations retenues par l approche TFAN, illustrés Figure 2.6. Les configurations déterminées sont finalement codées à l aide du codeur arithmétique adaptatif [68] afin de tenir compte de leurs propriétés statistiques. Configuration Information initiale Information codée C(j, n) =1 d(j, n), S(j, n) ={1, 0, 0,..., 0, 0, 1} et } {{ } C(j, n) =1etd(j, n) 1+d(j,n) I(j, n) ={1, 2} C(j, n) =2 d(j, n), S(j, n) ={1, X, X,..., X, X, 1} C(j, n) = 2, d(j, n), } {{ } 1+d(j,n) S (j, n) ={X, X,..., X, X} et } {{ } et I(j, n) ={1, X, X, X,2} d(j,n) 1 I (j, n) ={X, X, X} C(j, n) =3 d(j, n), S(j, n) ={0, 0, 0,..., 0, 0, 1} et } {{ } C(j, n) =3etd(j, n) 1+d(j,n) I(j, n) ={1} C(j, n) =4 d(j, n), S(j, n) ={0, 0, 0,..., 0, 0, 1} et } {{ } C(j, n) =4etd(j, n) 1+d(j,n) I(j, n) ={2} C(j, n) =5 d(j, n), S(j, n) ={1, 0, 0,..., 0, 0, 0} et } {{ } C(j, n) =5etd(j, n) 1+d(j,n) I(j, n) ={1} C(j, n) =6 d(j, n), S(j, n) ={1, 0, 0,..., 0, 0, 0} et } {{ } C(j, n) =6etd(j, n) 1+d(j,n) I(j, n) ={2} C(j, n) =7 d(j, n), S(j, n) ={0, 0, 0,..., 0, 0, 0} et } {{ } C(j, n) =7etd(j, n) 1+d(j,n) I(j, n) ={} C(j, n) =8 d(j, n), S(j, n) ={1, 0, 0,..., 0, 0, 1} et } {{ } C(j, n) =8etd(j, n) 1+d(j,n) I(j, n) ={2, 1} C(j, n) =9 d(j, n), S(j, n) ={1, X, X,..., X, X, 1} C(j, n) = 9, d(j, n), } {{ } 1+d(j,n) S (j, n) ={X, X,..., X, X} et } {{ } et I(j, n) ={2, X, X, X,1} d(j,n) 1 I (j, n) ={X, X, X} C(j, n) =10 d(j, n), S(j, n) = {X, X,..., X, X, X} C(j, n) = 10, d(j, n), } {{ } 1+d(j,n) S (j, n) ={X, X,..., X, X, X} } {{ } et I(j, n) ={X, X, X, X, X} 1+d(j,n) et I (j, n) ={X, X, X, X, X} Table 2.1 : Les dix configurations TFAN (X représente une valeur arbitraire).

50 Le codage TFAN (a) Configuration 1 (b) Configuration 2 (c) Configuration 3 (d) Configuration 4 (e) Configuration 5 (f) Configuration 6 (g) Configuration 7 (h) Configuration 8 (i) Configuration 9 (j) Configuration 10 (k) Légende Figure 2.6 : Exemples des dix configurations considérées par TFAN. Cela complète la description de l approche de codage TFAN, qui permet de représenter d une manière compacte et sans perte d information la connectivité d un maillage 3D de topologie arbitraire. Investiguons àprésent comment la méthode TFAN répond aux autres fonctionnalités nécessaires lorsqu on considère la problématique de compression de maillages 3D, comme le codage avec

2.2 Propriétés de l approche TFan 51 préservation de l ordre des sommets/triangles et le codage des attributs géométriques et photométriques. 2.1.6 Préservation de l ordre des sommets et des facettes Certains standards de représentation 3D (e.g. VRML et MPEG) permettent aux objets (également appelés noeuds) d une scène 3D de réutiliser ou de mettre à jour des champs d autres noeuds de la scène. A titre d exemple, l animation par modèle de peau (skinning)spécifiée par le standard MPEG-4/AFX-BBA [69] définit un noeud de type SMS (Skeleton, Muscle and Skin) qui permet de mettre à jour (au cours du temps) les positions des sommets d un maillage 3D (représenté par un noeud de type Indexed Face Set -IFS)de la scène pour l animer. L animation BBA associe alors aux sommets du maillage un certain nombre d éléments d information [69] décrivant le modèle d animation sous-jacent. Notons cependant que lors de la compression de la scène 3D, les deux noeuds IFS et SMS sont codés de façon indépendante. Ainsi, si on change l ordre des sommets ou des triangles du maillage statique, le noeud SMS ne sera pas mis àjour pour tenir compte d une telle permutation. Comme discuté dans [70], cela peut conduire à une mauvaise interprétation du flux décodé. Afin d assurer la cohérence de ces représentations hétérogènes, la préservation de l ordre de codage initial des sommets et des triangles est indispensable. Le codeur TFAN permet de supporter cette fonctionnalité en codant deux nouvelles composantes qui décrivent pour chaque sommet (respectivement triangle) sa position dans la liste des sommets (respectivement triangles) de la représentation initiale. Ces positions, qui sont représentées par des entiers positifs, sont linéairement prédites (i.e. prédiction delta) et codées à l aide du codeur arithmétique [68]. 2.1.7 Codage de la géométrie du maillage Ladécomposition en éventails de triangles est également exploitée afin d assurer une prédiciton efficace et de faible coût de calcul des positions et des attributs associés aux sommets du maillage. Comme dans [3], nous proposons d exploiter la règle de prédiction du paraléllogramme en l appliquant aux sommets de chaque éventail TF = {v 0,v 1,v 2,..., v d+1 } de la représentation TFAN considérée. Les erreurs résiduelles de prédiction sont codées en appliquant le codeur arithmétique [68]. La même stratégie peut être exploitée pour coder les autres attributs associés aux sommets du maillage (e.g., couleur, coordonnées de textures, normales...). Toutefois, dans le cas des normales et des couleurs, la prédiction par la règle du parallélogramme est remplacée par une simple prédiction delta qui donne en pratique de meilleurs résultats [1]. 2.2 Propriétés de l approche TFan 2.2.1 Complexité decalcul La complexité de calcul du codeur TFAN est linéaireaveclenombredessommets(figure 2.4). L étape la plus coûteuse en temps de calcul est la construction des éventails de triangles, qui nécessite de déterminer les relations d adjacence entre les sommets et les triangles du maillage.

52 Le codage TFAN La complexité de l algorithme de décodage TFAN (Figure 2.5) est également linéaireavecle nombre de sommets, le nombre d itérations de l algorithme étant égal au nombre de sommets V.Toutefois,ledécodage TFAN est nettement plus rapide (20 fois plus rapide) que le codage étant donné que la connectivité du maillage, représentée sous forme d éventails de triangles, est générée àlavolée en une seule passe. 2.2.2 Rendu temps réel La représentation de la connectivité d un maillage par éventails de triangles est supportée par la majorité desstandardsdereprésentation 3D (e.g., COLLADA 2 ) et des librairies logicielles de rendu 3D (e.g., OpenGL 3 et DirectX 4 ). Une telle représentation est adaptée au rendu temps réel de maillage 3D puisqu elle minimise la quantité d information envoyée à la carte graphique [17]. Par conséquent, afficher directement la sortie du codeur TFAN permet de bénéficier des accélérations matérielles optimisées pour la représentation par éventails de triangles. 2.2.3 Capacité de mémoire nécessaire Au niveau du codeur, l espace mémoire nécessaire pour le stockage des relations d adjacences entre les sommets et les triangles du maillage est linéaireaveclenombredesommets.pour chaque sommet (respectivement triangle) la liste de ses sommets (respectivement triangles), voisins est stockée sous forme d un tableau de listes (i.e., chaque élément du tableau est une liste chaînée). Au niveau du décodeur, seules les listes des triangles incidents aux sommets créés et non traités (cf. Section 2.1.4) sont nécessaires pour le décodage du sommet en cours. En pratique, le nombre de ces sommets est nettement inférieur à celui du nombre V des sommets du maillage comme démontré dans la section 2.3. Par conséquent, l espace mémoire nécessaire est nettement réduit (uniquement 2% des sommets sont stockés en mémoire), ce qui permet une implantation matérielle efficace de l algorithme. Afin d évaluer les performances de l approche TFAN proposée, nous avons considéré l application liée au projet RNRT SEMANTIC-3D qui concerne la compression de données CAO pour des objectifs de transmission et d accès à distance. 2.3 Résultats expérimentaux : projet RNRT SEMANTIC- 3D RENAULT, le premier constructeur automobile français souhaite développer et exploiter un système d information et de communication, en environnement nomade hétérogène, afin de rendre plus opérationnels les services de maintenance des véhicules (diffusion de la documentation technique, recherche d informations nécessaires à une intervention, identification de pannes...). Pour répondre à ces besoins, le projet RNRT SEMANTIC-3D 5 - Service d Echange 2. http ://www.collada.org 3. www.opengl.org 4. http ://msdn.microsoft.com/directx 5. http ://liris.cnrs.fr/semantic-3d/

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 53 et de MANipulation (Tatouage, Indexation et Compression) pour les objets 3D - s est proposé à: élaborer de nouvelles approches de (dé)codage d objets graphiques 3D, développer des interfaces utilisateurs àbasederéalité virtuelle pour simplifier l accès aux divers contenus, sécuriser les échanges de données. Dans ce cadre, la création de techniques de compression efficaces capables de s adapter aux spécificités topologiques et géométriques des données CAO ainsi qu aux ressources des réseaux et terminaux joue un rôle central. 2.3.1 Corpus de test SEMANTIC-3D Le corpus de test du projet SEMANTIC-3D est constitué de plus de 4000 maillages 3D de complexité et de taille variables, au format VRML 2.0, correspondant à divers types de pièces (éléments de moteur, de sellerie, d électricité, de carrosserie, de fixation...) d une voiture Renault Laguna (Figure 2.7). Figure 2.7 : Quelques modèles CAO 3D du corpus SEMANTIC-3D. La grande majorité des approches de compression 3D (cf. chapitre 1.4) s applique uniquement à des maillage de type manifold. Les techniques de codage par traversée de graphes codent de façon indépendante chaque composante connexe. Les approches de codage par valence [3, 7] supposent que les valences des sommets du maillage sont distribuées de façon compacte autour de la valeur 6 ce qui permet de les coder de façon efficace en exploitant un codage arithmétique. Les approches spectrales [52] et celles de codage par ondelettes [62, 64] sont optimisées pour des maillages denses (avec un nombre important de sommets par composante connexe) et à géométrie lisse (i.e., lesignaldegéométrie comporte de fortes corrélations spatiales), obtenus par scanners 3D. Afin de vérifier si de telles hypothèses sont vérifiées par les données CAO, nous proposons d analyser les propriétés topologiques des maillages issus de la CAO. Cette étude expérimentale est indispensable afin de déterminer les propriétés de ce type de contenus. 2.3.1.1 Structure à multiples composantes connexes Une première caractéristique des données CAO à traiter est le nombre important de composantes connexes dont elles sont constituées. La Figures 2.8 illustre un exemple de maillage 3D CAO composé de 1274 composantes connexes avec une moyenne de 16 triangles par composante. La figure 2.9 présente les distributions des nombres de triangles et de sommets par composante connexe pour l ensemble des modèles de la base. Notons que ces deux distributions sont concentrées autour de la valeur 100. Cela montre que les modèles CAO, contrairement aux modèles généralement étudiés dans la litérature, présentent un nombre réduit de sommets par composante.

54 Le codage TFAN Figure 2.8 : Modèle CAO original avec 1274 composantes connexes. (20491 triangles et 20626 sommets). Cette propriété spécifique àcetypecontenuestlerésultat du processus de conversion des modèles 3D, de l outil de modélisation Catia 6 vers le format VRML 2.0. En effet, les modèles originaux ont été produits en exploitant des logiciels CAO avec différentes représentations de surfaces 3D (e.g., maillage triangulaire, sphère, cylindre, B-Spline, NURBS, surface de subdivision...). Chacun des patchs constituant les modèles CAO étant représenté defaçon indépendante des autres, la conversion finale en maillages 3D résulte en un nombre important de composantes connexes (i.e., une composante pour chaque patch de surface). Cette structure particulière réduit fortement les performances de compression des méthodes traditionelles qui traitent séparément chaque composante connexe. Etant donné lenombre réduit de sommets par composante connexe, ces méthodes ne parviennent donc pas àdériver des parcours assez longs nécessaires pour assurer une compression efficace de la topologie et de la géométrie du maillage. De plus, une information supplémentaire doit être également incluse dans le flux binaire afin de gérer la transition entre composantes connexes. Figure 2.9 : Distributions des nombres de triangles et de sommets par composante connexe pour l ensemble des modèles de la base. 2.3.1.2 Problème d éclatement des composantes connexes ( cracking ) Le deuxième problème induit par le nombre important de composantes connexes est celui du cracking. La Figure 2.10 présente un exemple de compression d un modèle CAO par l approche de compression spectrale [52]. On observe l apparition d artéfacts entre les différentes composantes connexes du maillage. En effet, cette approche étant fondée sur une 6. http ://www.3ds.com/fr/corporate/about-us/brands/catia/

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 55 transformée spectrale exploitant l information de connectivité, chaque composante est ici encore une fois traitée de façon indépendante. Ainsi, deux sommets superposés dans l espace des coordonnées, mais appartenant à deux composantes connexes différentes vont avoir un comportement différent suite à la troncature et à la quantification du spectre opérée par l approche spectrale. Les positions reconstruites (après décodage) des ces deux sommets sont en général différentes ce qui implique l apparition d éclatement ( crack ) entre les composantes connexes. L incapacité de gérer sans cracking la structure à multiples composantes connexes des modèles CAO rend l approche par compression spectrale non adaptée à ce genre de données. (a) (b) (c) (d) Figure 2.10 : Problème de cracking induit par la structure à multiples composantes connexes caractéristiques aux modèles CAO (1455 triangles et 1626 sommets). (a) Maillage original, (b) Maillage compressé avec l approche spectrale exhibant des problèmes de cracking, (c) composantes connexes de (b) colorées et (d) Zoom sur la région d intérêt de (c) montrant l inefficacité de l approche de compression spectrale à gérer les maillages à multiples composantes connexes. La Figure 2.11 illustre le résultat de compression obtenu en appliquant l approche de compression progressive PM [10]. Ici encore, le problème de cracking apparaît pour les niveaux de détails intermédiaires. De façon plus générale, le problème de cracking concerne non seulement l algorithme PM, mais toutes les approches de codage par décimation qui permettent la simplification des sommets situés sur les bords des composantes connexes du maillage. Une solution directe pour résoudre ce problème consiste à ajouter une contrainte topologique qui interdit la modification des bords. La Figure 2.11.d montre le résultat sans cracking obtenu lorsqu on permet uniquement des opérations de type half edge collapse sur les sommets de bord. Une telle approche permet de résoudre le problème de cracking. Néanmoins, elle est trop restrictive : 85% des sommets sont en effet des sommets de bord (Figure 2.12). Cela limite le nombre de niveaux de détails qu on peut obtenir et par suite dégrade significativement les performances de compression. La Figure 2.13 illustre la prépondérance des triangles de bord (colorés en rouge) sur deux exemples de maillages CAO. Quand on applique la méthode de compression par décimation PM sur le maillage de la Figure 2.11 qui comporte 1557 sommets, le maillage de base (i.e., la version la plus grossière obtenue) comporte 1373 sommets. Cela prouve l inefficacité des approches traditionnelles de compression par décimation lorsqu il s agit de maillages de type CAO.

56 Le codage TFAN (a) (b) (c) (d) Figure 2.11 : Problème de cracking pour les niveaux de détails intermédiaires pour les approches de compression par décimation : compression par maillage progressif [10]. (a) Maillage original (1549 triangles et 1557 sommets), (b) Composantes connexes de (a) colorées (1252 triangles et 1302 sommets), (c) Zoom sur la région d intérêt dans (b) et (d) Modèle sans problème de cracking obtenu par des opérations de type half edge collapses pour les sommets de bord (1373 triangles et 1457 sommets) : pas de simplification significative possible du modèle original. Figure 2.12 : Distributions des pourcentages des triangles et des sommets de bord pour l ensemble des modèles de la base SEMANTIC. 2.3.1.3 Distribution des valences La troisième propriété topologique des données CAO étudiées est la prédominance des sommets de valence 4. La Figure 2.14 présente la distribution (calculée sur l ensemble de la base) des valences des sommets. Il en ressort que 38% des sommets ont une valence de 4! Les approches de codage par valence doivent alors être adaptées afin de tenir compte de cette distribution particulière. 2.3.1.4 Conversion en maillages manifold La contrainte quasi-unanimement respectée par les méthodes de compression de la littérature renvoie au caractère manifold des maillages à coder. Or, cette hypothèse n est vérifiée que pour 6% des modèles du corpus CAO SEMANTIC-3D.

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 57 (a) (b) (c) (d) Figure 2.13 : Illustration des triangles bord : (a) et (c) composantes connexes colorées et (b) et (d) triangles de bord colorés en rouge. Figure 2.14 : Distribution des valences des sommets pour l ensemble des modèles de la base SEMANTIC-3D. Afin d exploiter les méthodes ne s appliquant qu à des maillages manifold, nous avons appliqué un processus de conversion de maillages arbitraires en variétés [24]. Le tableau 2.2 montre que cette conversion accentue encore davantage les singularités des maillages CAO. En effet, le nombre de composantes connexes augmente drastiquement (360%), tandis que le nombre de sommets par composante connexe décroît significativement (70%). Suite au processus de conversion, plus de 80% des maillages présentent un nombre moyen de sommets par composante connexe inférieur à 50. 2.3.1.5 Adéquation des approches classiques aux données CAO Ces statistiques mettent en évidence l existence de structures à multiples composantes connexes conférant des propriétés topologiques particulières : prédominance des sommets de bord (plus de 85%), concentration des valences des sommets autour de la valeur 4 (au lieu de 6)... Ces spécificités ont des répercussions directes sur les performances des approches de

58 Le codage TFAN Base originale V V F N CC N CC Base convertie en manifold M(%) F V N CC M(%) V F N CC N CC Moyenne 5758 7174 62 72 276 6 6660 7174 340 19 21 100 Ecart-type 6878 8444 185 463 823-7086 8444 507 276 548 - Table 2.2 : Propriétés topologiques du corpus SEMANTIC-3D avant et après convertion en maillages manifolds. F N CC compression classiques conçues pour des maillages manifolds orientés. Outre la diminution du taux de compression, le problème de cracking est à maîtriser. Il rend les approches fondées sur la simplification, celles par ondelettes et celles par analyse spectrale inadaptées dans le cas des maillages de type CAO. C est pourquoi, les codeurs que nous avons retenus pour tests et évaluation sur le corpus SEMANTIC-3D sont : la méthode de compression par arbres couvrants, adoptée par le standard MPEG-4, et la méthode de codage par valence de Touma et Gotsman (TG), longtemps considérée comme l état de l art des techniques mono-résolution. 2.3.2 Critères d évaluation Afin d évaluer les performances de compression pour des maillages avec différents nombres de sommets, les débits sont exprimés en bits par sommet (bps). Les débits rapportés correspondent à la taille totale du flux binaire nécessaire pour le décodage de connectivité et de la géométrie du maillage. Les distorsions de compression sont mesurées en utilisant l erreur RMSE [51] entre les maillages originaux et reconstruits (décodés). Rappelons que l erreur RMSE mesurée entre deux surfaces S et S est définie par : où RMSE(S, S )=max(d(s, S ),d(s,s)), (2.3) d(s, S 1 )= S p S (min q S p q 2 ) 2 ds. (2.4) Les temps de décodage rapportés correspondent au temps nécessaire au décodeur pour lire le flux compressé et pour décoder en mémoire sans tenir compte du temps d écriture du fichier sur le disque. Les expérimentations ont été effectuées sur un PC doté d un microprocesseur Pentium 4 à 3GHz et d une mémoire RAM de 2 Go. 2.3.3 Distribution des configurations TFAN La Figure 2.15 présente les histogrammes des configurations TFAN (cf. Section 2.1.5) pour quelques maillages manifolds et orientés. Notons que pour ce type de maillages, seules les configurations 8 et 9 sont nécessaires pour décrire leur connectivité. De plus, la configuration 9 apparaît avec une fréquence de plus de 85% des cas, ce qui permet une compression efficace de la séquence des configurations. Rappelons également, que pour la configuration 8, le codeur TFAN code uniquement le degré de l éventail. Ainsi, la représentation obtenue s avère en pratique très compacte surtout après un codage arithmétique des séquences des configurations et des degrés.

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 59 Pour des maillages manifolds et orientés, ces observations s expliquent en analysant les correspondances entre l approche TFAN et l approche de Touma et Gotsman (TG) [3] (cf. Section 1.3). En effet, la configuration 8 correspond à l opération ADD, à la différence qu on code le degré del éventail de triangle au lieu de coder la valence du sommet visité. La configuration 9 sert à décrire les opérations de MERGE et SPLIT. Comme pour [3], cela implique le codage des index des sommets d auto-intersection (cf. Tableau 2.1) de la liste active (qui est équivalente dans notre cas à la file F, cf. Section 2.1.3). Contrairement au codeur de TG, la technique TFAN gère uniquement une seule liste ce qui permet de réduire l espace mémoire nécessaire pour l exécution de l algorithme. De plus, cela permet d éviter le test d intersections entre plusieurs listes actives qui est en général coûteux en de temps de décodage. La Figure 2.16 présente les histogrammes des configurations TFAN obtenus dans le cas de maillages CAO non-manifolds et à plusieurs composantes connexes (cf. Section 2.1.5). Notons quecetypedecontenusn estpasgéré par le codeur TG qui s applique uniquement àdes maillages manifolds et orientés. Dans le cas des maillages CAO, le codeur TFAN exploite des configurations supplémentaires afin de décrire la connectivité du maillage. Ici, les configurations 3, 4, 5 et 6 permettent de décrire des éventails avec des triangles de bord. La configuration 7 est exploitée dans le cas de sommets non-réguliers (Section 1.1). Les configurations 1 et 8 décrivent des éventails associés à des sommets réguliers. Les configurations 2 et 9 servent à gérer des cas d auto-intersection (i.e., équivalentes aux opérations SPLIT et MERGE du codeur TG). Ces neufs cas permettent de décrire plus de 87% des configurations rencontrées. La configuration générique 10 est utilisée en pratique dans moins de 13% des cas. Elle sert àdécrire des cas non-manifolds plus complexes. (a) (b) (c) (d) (e) (f) Figure 2.15 : Histogramme des configurations TFAN pour des maillages de type manifold orienté.

60 Le codage TFAN (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figure 2.16 : Histogramme des configurations TFAN pour des maillages CAO de topologies arbitraires. 2.3.4 Espace mémoire LaFigure 2.17présente les courbes d évolution des nombres de sommets stockés en mémoire, lors du processus de décodage, pour différents maillages de type CAO. Soit G mem le rapport entre le nombre maximal de sommets stockés, noté V mem, et le nombre total de sommets V : G mem = V mem V. (2.5)

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 61 Une étude menée sur la totalité de la base CAO montre que lors du décodage, au maximum 2% des sommets sont stockés en mémoire. Cela prouve que le codeur TFAN proposé estpeu gourmand en ressources mémoires, contrairement à l approche MPEG-4/3DMC [1] qui nécessite le stockage de la totalité des deux arbres couvrants afin de pouvoir décoder le maillage 3D. (a) (b) (c) (d) (e) (f) Figure 2.17 : Courbes d évolution du nombre de sommets stockés en mémoires pour différents maillages CAO. 2.3.5 Performances de compression La Figure 2.18 présente les débits obtenus suite à la compression de la totalité de la base de données CAO (i.e., plus de 4000 modèles) avec les trois techniques : TFAN, MPEG-4/3DMC et TG et pour une quantification sur 12 bits. La Figure 2.19 illustre les courbes débit/distorsion pour différents maillages CAO de la base. Notons que la technique TG ne s applique qu à des maillages manifolds et orientés. Un processus de conversion des maillages originaux (en maillages manifolds et orientés) [24] a été

62 Le codage TFAN au préalable appliqué auxmodèles de la base afin de pouvoir les compresser par le codeur TG. Rappelons que ce processus de conversion implique la duplication des sommets et des arêtes non-régulières des maillages traités (cf. Section 1.1). La technique MPEG-4/3DMC exploite une approche analogue afin de pouvoir appliquer le codeur par arbres couvrants introduit dans [1]. Ici, une information supplémentaire est également transmise afin de permettre au décodeur de fusionner les sommets et les arêtes dupliquées et de retrouver la connectivité initialedu maillage. Les gains obtenus par l approche TFAN par rapport aux deux codeurs MPEG-4/3DMC et TG sont rapportés Figure 2.20. Ces résultats montrent que l approche TFAN offre des gains de l ordre de 30% en moyenne par rapport au codeur MPEG-4/3DMC. Ces gains relativement importants s expliquent en grande partie par l efficacité de la stratégie de codage de la connectivité paréventails de triangles qui permet de représenter de façon compacte et générique la connectivité de tout maillage triangulaire. En revanche, le codeur MPEG-4/3DMC code une information auxiliaire pour gérer les maillages non-manifold avec bords, ce qui peut être coûteux en terme de débit dans le cas de maillages CAO à plusieurs composantes connexes. Le codeur TFAN offre des résultats de compression légèrement supérieurs à ceux de la technique TG. En effet, le fait de convertir les maillages CAO en maillages manifolds accentue leurs singularités (cf. Section 2.3.1.4) et induit la création de nouveaux sommets. En moyenne, le processus de conversion augmente de 12% le nombre de sommets à coder et par conséquent dégrade les performancces de codage de l approche TG. Le codeur TFAN s affranchit d une telle limitation en gérant directement tout maillage triangulaire sans aucune contrainte topologique (i.e., manifold ou non, orienté ounon, fermé ou ouvert). Figure 2.18 : Performances de compression pour une quantification sur 12 bits : TFAN vs. MPEG-4/3DMC et TG.

2.3 Résultats expérimentaux : projet RNRT SEMANTIC-3D 63 (a) (b) (c) (d) (e) (f) Figure 2.19 : Courbes débit/distorsion pour différents maillages CAO : TFAN vs. MPEG- 4/3DMC et TG.

64 Le codage TFAN Figure 2.20 : Gains en terme de débit de l approche TFAN par rapport aux techniques MPEG-4/3DMC et TG pour une quantification sur 12 bits. 2.3.6 Temps de décodage La Figure 2.21 consigne les temps de décodage pour la totalité de la base CAO considérée et ce pour les approches TFAN et MPEG-4/3DMC. Les temps de décodage de l approche TG ne sont pas rapportés puisque nous ne disposons pas du code source du décodeur. Les gains obtenus par l approche TFAN par rapport à la technique MPEG-4/3DMC sont résumés Figure 2.22. Ces résultats montrent que le codeur TFAN permet de réduire les temps de décodage de l odre de 50% en moyenne! Pour les maillages comportants plus de 10000 sommets ces gains peuvent atteindre 61%. Dans le cas de maillages moins denses, les gains obtenus sont de l ordre de 41-45%. La vitesse moyenne de décodage de l approche TFAN est de l ordre de 499875 sommets par seconde. Ces résultats confirment la pertinence de l approche proposée pour des applications nécessitant un décodage de basse complexité. Figure 2.21 : Temps de décodage pour les approches TFAN, MPEG-4/3DMC et TG.

2.4 Conclusion 65 Figure 2.22 : Gains en terms de temps de décodage de l approche TFAN par rapport aux techniques MPEG-4/3DMC et TG. 2.4 Conclusion Dans ce chapitre, nous avons présenté une nouvelle approche de compression de maillages 3D triangulaires, appelée TFAN, applicable directement à tout maillage 3D triangulaire de topologie arbitraire (i.e., maillage manifold ou non, orienté ounon,fermé ou ouvert). La technique TFAN assure une complexité linéaire pour le codage et le décodage, tout en offrant une représentation optimisée pour le rendu en temps réel. L étude expérimentale conduite sur le corpus de données CAO du projet National RNRT SEMANTIC-3D (constitué de plus de 4000 maillages 3D) a montré que TFAN offre des gains en termes de débits de l ordre de 6 à 33% par rapport au codeur standard MPEG-4/3DMC [1] et àlaméthode de codage par valence de Touma et Gotsman [3]. Les temps de décodage sont améliorés de 50% en moyenne. En raison de ses propriétés de basse complexité de décodage et de ses performances de compression compétitives, le codeur TFAN est le candidat de premier plan pour le déploiement des contenus de type CAO sur téléphones portables. Il est considéré dans le cadre des expérimentations techniques [67] de MPEG-4 portant sur la compression basse complexité de maillages 3D.

66 Le codage TFAN

Chapitre3 Codage par approximation B-Splines Résumé : Ce chapitre présente un nouveau schéma de codage progressif de maillages triangulaires 3D, fondé sur une représentation par surfaces B-Splines. Le maillage est tout d abord segmenté enpatchs. Chaquepatch est ensuite paramétré, puis approché par une surface B-Spline dont les images géométriques de points de contrôle sont finalement compressées de façon progressive à l aide d un codeur d images fixes (e.g., JPEG2000). La connectivité initialeestcodée sans perte en utilisant le codeur TFAN (cf. Chapitre 2). Les performances du schéma de compression montrent des gains de 10 à 30% en moyenne par rapport aux codeurs de compression spectrale, Touma et Gotsman et MPEG-4/3DMC, en particulier àbasdébits (inférieurs à 8 bits/sommet). Mots clés : Surface B-spline, compression, paramétrisation, image géométrique, JPEG2000. 67

68 Codage par approximation B-Splines La méthode de compression par approximation B-spline s appuie sur une représentation du maillage 3D par images géométriques dont nous rappelons brièvement le principe. 3.1 Compression par images géométriques : principe et limitations La représentation GI (Geometry Images) [64] convertit la géométrie d un maillage 3D en une image 2D appelée image géométrique (Figure 3.1). Le principe de base exploité ici consiste à déterminer une paramétrisation du maillage 3D sur un domaine 2D carré. Cela s appuie sur l hypothèse sous-jacente que le maillage à traiter est homéomorphe à un disque. Pour pouvoir gérer des topologies arbitraires, il est donc nécessaire d appliquer un découpage préalable de la surface, afin de la rendre homéomorphe à un disque. Figure 3.1 : Processus de conversion d un maillage 3D en une image géométrique. Un remaillage régulier est ensuite appliqué en échantillonnant uniformément le domaine paramétrique. Cela permet de décrire (avec pertes) la géométrie du maillage par un ensemble de points 3D localisés sur la surface. Ces points, étant définis sur une grille rectangulaire régulière, peuvent être stockés sous forme d une image couleur dite image géométrique [64] où chacun des canaux R, V et B décrit l une des coordonnées x, y et z. L image ainsi obtenue est enfin codée en exploitant une décomposition en ondelettes. Des extensions de la méthode initiale sont introduites dans [65, 66]. La technique SGI (Smooth Geometry Images) [65] approche le maillage 3D par une surface B-Spline cubique. Les coordonnées des points de contrôle de la surface B-Spline ainsi générée sont enfin codées sous forme d une image géométrique. Dans [66], les auteurs proposent l approche MCGI (Multi-Charts Geometery Images) qui exploite un atlas de paramétrisations afin de minimiser les distorsions de paramétrisation. Ici, le maillage est découpé en un ensemble patchs, remaillés régulièrement et stockés ensuite dans une même image. Cela nécessite en revanche la mise en oeuvre de procédures de recollage adaptées afin de pouvoir reconstruire sans rupture le maillage au niveau du décodeur. Les méthodes par images géométriques souffrent d un certain nombre de limitations, liées principalement au processus de remaillage considéré (Figure 3.2) :

3.1 Compression par images géométriques : principe et limitations 69 Ré-échantillonner régulièrement le domaine paramétrique peut générer, au niveau de la surface 3D, des triangles dégénérés avec des aspects de forme excentrique ce qui conduit àdesartéfacts visuels [64, 66]. Dans le cas de certaines approches multi-patchs [66], les procédures de recollage plus ou moins heuristiques proposées ne garantissent pas un raccordement lisse des parties. Capturer de façon précise les détails fins du maillage original nécessite un ré-échantillonnage dense [64, 66, 65], ce qui conduit à des maillages de taille importante (66049 sommets pour des images géométriques usuelles de 257 257 pixels). Le rendu en temps-réel de ces maillages en pleine résolution nécessite alors des ressources mémoires importantes. Certaines applications ne tolèrent pas l altération de la connectivité initiale, comme dans le cas des maillages dynamiques animés considérés dans le cadre du standard MPEG- 4/AFX-BBA [69]. Le nouveau schéma de compression par approximation B-spline proposé dans ce chapitre s affranchit de ces limitations en codant sans perte la connectivité du maillage. Afin d assurer un codage efficace et progressif de la géométrie, nous retenons le principe de représentation régulière de l information géométrique introduite dans [64, 66, 65], tout en l adaptant aux contraintes de compression avec préservation de la connectivité. La représentation proposée exploite une paramétrisation multi-patchs dérivée uniquement de la connectivité du maillage par méthode de Tutte [71]. Comme dans [72, 65], chaque patch est ensuite approché par une surface B-Spline. (a) Remaillage régulier (V = 66049) (b) Notre codeur (V = 34384) (c) Remaillage régulier (V = 66049) (d) Notre codeur (V = 48485) Figure 3.2 : Limitations du processus de remaillage pour les maillage Bunny (a et b) et Horse (c et d) : triangulation de mauvaise qualité et sur-échantillonnage de la surface. La modélisation B-Spline offre notamment :

70 Codage par approximation B-Splines Unestructurerégulièredepointsdecontrôle qui peuvent être stockés sous forme d images géométriques et efficacement compressés avec des codeurs optimisés d images 2D (e.g., JPEG, JPEG2000...), comme suggéré dans [64, 65]. Un accès direct aux propriétés de la surface en tout point du domaine paramétrique (calcul des positions 3D, des normales, des dérivées). La préservation de la connectivité initiale permet en particulier de ré-échantillonner les surfaces B-Splines exactement aux coordonnées paramétriques associées aux sommets initiaux. Cela évite les problèmes de dégénérescence des triangles, de raccordement des patchs et de sur-échantillonnage. Un bon pouvoir de représentation des géométries lisses. Le reste de ce chapitre est structuré comme suit. Le paragraphe suivant décrit la méthode de compression proposée en détaillant ses principales étapes. Ses performances sont évaluées objectivement, discutées et comparées avec les méthodes les plus représentatives de compression 3D sans perte de connectivité dans la Section 3.3. Enfin, la Section 3.4 conclut le chapitre et ouvre les perspectives de recherche future. 3.2 Codage par surfaces B-Splines 3.2.1 Schéma général Le schéma synoptique de l approche de codage par approximation B-spline est présenté Figure 3.3. Figure 3.3 : Schéma synoptique de l algorithme de compression par représentation B-Spline. La géométrie du maillage est convertie en une représentation régulière (ensemble d images 2D) en utilisant une approximation par surfaces B-Splines. Contrairement à [65], où une seule surface B-Spline est considérée, nous proposons une approche multi-patchs qui permet de représenter des objets 3D de formes et de complexités arbitraires. Afin de déterminer les patchs de manière optimisée, une procédure de segmentation automatique est tout d abord appliquée. L approche originale de segmentation que nous avons proposée (cf. Section 3.2.2)

3.2 Codage par surfaces B-Splines 71 permet notamment de déterminer une partition adaptée à des objectifs de paramétrisation tout en assurant une complexité réduite. Chaque patch est ensuite paramétré en utilisant l algorithme de Tutte [71] avec l optimisation proposée dans [73], puis approché par une surface B-Spline. Les points de contrôle des surfaces B-Splines ainsi obtenues sont quantifiés et stockés dans trois images à niveaux de gris, une pour chaque coordonnée x, y et z. Cesimagesgéométriques de points de contrôle sont finalement compressées par des codeurs d images 2D. Dans notre travail, nous avons choisi le codeur JPEG2000 1 en raison de ses performances de compression reconnues. La connectivité dechaquepatch est codée à l aide d une approche arbitraire de codage de connectivité. Dans nos développements, nous avos prévilégié l approche TFAN (cf. Chapitre 2). Une information topologique additionnelle, décrivant les relations d adjacence entre les différents patchs de la représentation est également intégrée au flux binaire. Au niveau du décodeur, la connectivité dechaquepatch est tout d abord reconstituée. Cette information permet à elle seule de recalculer la paramétrisation de Tutte qui ne nécessite pas la connaissance de la géométrie du maillage. L information topologique additionnelle permet de fusionner les différents patchs et donc de reconstruire complètement la connectivité initiale. Le décodage progressif de la géométrie est effectué enéchantillonnant les surfaces B-Splines transmises selon les coordonnées paramétriques associées aux sommets du maillage. La progressivité est ici assurée par le codage JPEG2000 des images géométriques. Le flux binaire géométriquepermeteneffetdegénérer, à tout moment de la transmission, des patchs B- Splines et donc de reconstruire des approximations du maillage initial dont la qualité augmente progressivement avec la quantité d information transmise. Détaillons àprésent les différents modules du schéma de compression proposé. 3.2.2 Segmentation de maillages 3D L objectif de l étape de segmentation est d obtenir une partition du maillage initial en patchs homéomorphes à un disque et adaptés à une paramétrisation de faible distorsion (cf. Section 3.2.3). Les techniques existantes [74, 64, 66] offrent différents compromis entre qualité depa- ramétrisation et complexité de calcul. Dans [74], la segmentation proposée est efficace pour des applications de plaquage de texture. En revanche, les patchs obtenus peuvent être de petite taille (i.e., quelques dizaines de sommets) et donc inadaptés pour une compression efficace. Au contraire, les patchs obtenus par la méthode décrite dans [64] sont trop complexes et leur paramétrisation induit d importantes distorsions. Cet inconvénient est surmonté par l algorithme proposé dans [66], qui s inspire du quantificateur de Max-Lloyd [49, 50]. Le prix à payer est la complexité de calcul qui devient très importante (i.e., une dizaine de minutes pour un maillage de 40000 sommets). Pour pallier les inconvénients des algorithmes de segmentation existants, tout en assurant une faible complexité de calcul, nous proposons un nouvel algorithme de segmentation rapide, automatique et applicable à tout maillage manifold de genre 0. L approche proposée permet notamment : de distribuer uniformément les courbures gaussiennes du maillage sur l ensemble des patchs, 1. http ://www.jpeg.org/

72 Codage par approximation B-Splines de favoriser la segmentation selon les arêtes saillantes, de générer des bords compacts en minimisant le nombre d arêtes de découpage, d assurer un coût faible de calcul (i.e., linéaire avec le nombre de facettes du maillage). Soient F l ensemble des triangles du maillage M et E int l ensemble de ses arêtes internes (cf. Section 1.1). L objectif est de déterminer une partition Π = {π 1,π 2,...,π K } de l ensemble F des facettes de M telle que les quantités w k,définies par : k {1,...,K}, w k = f π k w gauss (f), (3.1) soient égales et que le coût total du découpage C t = e E bord (Π) w ang (e), (3.2) soit minimal. Ici, E bord représente l ensemble des arêtes internes localisées aux frontières des différents patchs. Lepoidsw gauss (f) associé au triangle f du maillage est défini par : w gauss (f) = C gauss (v 1 (f)) + C gauss (v 2 (f)) + C gauss (v 3 (f), (3.3) avec : C gauss (v i (f) la courbure gaussienne du maillage [75], évaluée au sommet v i (f), {v 1 (f),v 2 (f),v 3 (f)} l ensemble des sommets de la facette f, et. la valeur absolue d un nombre réel. La valeur w ang représente le coût associé à l arrête e E bord,défini par : 1 w ang (e) = N(f1 e ) N(f1 e ), (3.4) avec : N(f) le vecteur normal unitaire à la facette f, f1 e et f 2 e les deux facettes incidentes à l arête e, la norme euclidienne, le produit vectoriel de deux vecteurs. Notons que les poids associés aux triangles du maillage s expriment en fonction des courbures de leurs sommets. Le coût associé à une arête est inversement proportionnel à l angle défini par les normales aux deux triangles qui la partagent. Ainsi, plus cet angle est petit (i.e., plus l arête est saillante) plus sont coût de découpage est petit. Le problème de minimisation peut être interprété comme suit : trouver une K-partition (K étant un paramètre fixé par l utilisateur) des facettes de M telle que les courbures des sommets soient également distribuées sur l ensemble des clusters etqueledécoupage soit opéréselon les arêtes les plus saillantes. Afin de résoudre ce problème d optimisation NP-complet, nous avons adopté l algorithme heuristique décrit dans [76]. Pour réduire la complexité de calcul, le principe consiste à simplifier massivement le graphe par des opérations successives de fusion de sommets [10], appliquées au graphe dual M du maillage M. Pour rappel le graphe dual M est défini comme suit :

3.2 Codage par surfaces B-Splines 73 Tout sommet de M correspond à un triangle de M, Deux sommets de M sont voisins (i.e., connectés par une arête du graphe dual) si et seulement si leurs triangles correspondants dans M partagent une arête. La Figure 3.4 illustre un exemple de graphe dual pour un maillage triangulaire simple. (a) Maillage originale (b) Graphe dual Figure 3.4 : Maillage de graphe dual associé. Dans [76], les auteurs proposent de sélectionner au hasard les sommets à fusionner àchaque étape. Expérimentalement, ils montrent qu une telle approche permet d obtenir des résultats compétitifs pour un coût de calcul réduit. Ils proposent également de simplifier les sommets du graphe dual M jusqu à atteindre un nombre de facettes égal à15 K. Le facteur constant 15 est également déterminé expérimentalement et vise à assurer un compromis raisonnable entre complexité de calcul et qualité desegmentation. Notons qu au cours du processus de simplification, les poids w gauss (f) etw ang (e) sontaccumulés pour tenir compte des distributions des courbures gaussiennes et des angles formés entre triangles du maillage initial. L optimisation décrite par les équations (3.1) et (3.2) est effectuée sur le maillage de base composé d unnombredesommetsréduit. La segmentation du maillage initial est finalement obtenue en inversant le processus de simplification et en propageant les étiquettes de la partition à partir du maillage de base jusqu au maillage initial. Les différents patchs ainsi obtenus sont découpés en composantes connexes individuelles. Cela est réalisé en dupliquant les sommets et les arêtes situés àlafrontière des différents patchs. La Figure 3.5 illustre un exemple de découpage d un maillage en deux patchs. (a) (b) Figure 3.5 : Découpage du maillage par duplication des sommets localisés aux bords des patchs.

74 Codage par approximation B-Splines Notons que les patchs ainsi obtenus peuvent présenter des bords multiples (Figure 3.6). Afin d obtenir des patchs homéomorphes à un disque, les différents contours de bord doivent alors être inter-connectés. Cela est réalisé à l aide d un découpage supplémentaire. L approche itérative que nous proposons consiste à connecter successivement une paire de contours de bord sélectionnée de façon aléatoire. Soient B 1 et B 2 deux contours de bord sélectionnés. Deux sommets supplémentaires v 1 et v 2,appelés sommets fictifs, sont ensuite connectés respectivement aux bords B 1 et B 2. Cette opération consiste àinsérer des arêtes supplémentaires connectant chacun des deux sommets fictifs v 1 ou v 2 à l ensemble des sommets du contour de bord associé B 1 ou B 2. L algorithme de Dijkstra (avec des poids unitaires pour toutes les arêtes du maillage) [77] est ensuite appliqué afin de calculer le plus court chemin entre v 1 and v 2.Lepatch est finalement découpé selon le chemin ainsi déterminé. Cette procédure est réitérée jusqu à obtenir un bord unique. La Figure 3.6 illustre ce processus. (a) (b) (c) Figure 3.6 : Elimination des bords multiples : (a) patch avec deux bords B 1 et B 2, (b) deux sommets fictifs v 1 et v 2 respectivement connectés à B 1 et B 2,et(c)découpage du patch selon le plus court chemin entre v 1 et v 2. Une dernière optimisation permet d éviter d obtenir des patchs de formes tubulaires ou allongées, en intégrant dans la procédure d optimisation un paramètre de forme global, noté ρ, défini comme le rapport entre l aire s du patch et la longueur l de son bord : ρ = l2 s. (3.5) Cela vise notamment à obtenir des patchs bien adaptés au processus ultérieur de paramétrisation et àéviter donc des paramétrisations de haute distorsion. Le principe est d appliquer un découpage supplémentaire, ayant comme objectif l élargissement du bord (Figure 3.7). Le chemin de découpage est défini de façon analogue à celle décrite cidessus. Ici, le chemin le plus court de Dijkstra est calculé entre un sommet v ficitif connecté au bord du patch et le sommet interne v 0 de plus grande courbure gaussienne. Ce processus est ré-itéré jusqu à obtenir un rapport de forme ρ autour de la valeur 16, qui correspond à une surface plane de forme de carré. La Figure 3.8 présente les résultats de segmentation obtenus pour différents maillages 3D avec un nombre de sommets variant de 34000 à 67000 et pour un nombre de patchs K = 50. Pour l ensemble de ces maillages, les temps de calcul (sur une machine P4, 1.8 GHz et 1 Go RAM) nécessaires pour obtenir les partitions finales sont inférieurs à1seconde.

3.2 Codage par surfaces B-Splines 75 (a) (b) (c) Figure 3.7 : Optimisation de la paramétrisation par élargement du bord : (a) Paramétrisation initiale avec des hautes distorsions de paramétrisation ; (b) Sommet fictif v connecté au bord, sommet interne v 0 ayant la plus grande courbure Gaussienne et découpage du maillage selon le plus court chemin entre v et v 0 ;(c)paramétrisation finale de distorsion plus faible.

76 Codage par approximation B-Splines (a) Bunny (K = 50, V = 34834) (b) Gargoyle (K = 50, V = 50002) (c) Horse (K = 50, V = 48485) (d) Venus (K = 50, V = 50002) (e) Rabbit (K = 50, V = 67038) (f) Planck (K = 50, V = 49132) (g) Dinosaur (K = 50, V = 56437) (h) Tyra (K = 50, V = 60002) Figure 3.8 : Segmentation de maillages de diverses formes et complexités. Chaque patch de la partition obtenue est ensuite mis en correspondance avec un domaine carré 2D, en effectuant une paramétrisation, comme décrit dans le paragraphe suivant. 3.2.3 Paramétrisation Par définition, une paramétrisation d une surface S homéomorphe à un disque est une application continue et bijective f, définie sur un domaine paramétrique Ω R 2 simplement connexe par : f : Ω R 2 S R 3 (u 1,u 2 ) f(u 1,u 2 )=(f x (u 1,u 2 ),f y (u 1,u 2 ),f z (u 1,u 2 )) t. (3.6) Notons qu il est d usage [78] d imposer des contraintes supplémentaires à la fonction f, comme

3.2 Codage par surfaces B-Splines 77 celle de C n différentiabilité pour pouvoir définir des attributs et caractéristiques intrinsèques (e.g., normales, courbures) àlasurfaces. Dans notre cas, comme proposé dans [79], nous allons nous placer dans un contexte générique, sans aucune contrainte donc sur la différentiabilité de f. Dans le cas des maillages triangulaires, il est commode de considérer une paramétrisation f linéaire sur chacun des triangles de M. Cela implique que l image par la fonction f des triangles du maillage 3D soit des triangles 2D. Il en résulte que le domaine paramétrique Ω peut être également décrit par un maillage 2D, noté M Ω, de connectivité identique à celle du maillage initial M. Lagéométrie de M Ω est alors totalement spécifiée par les coordonnées paramétriques {μ v =(u 1 (v),u 2 (v)} v V associées aux sommets du maillage, comme décrit dans la relation suivante : v V, f(u 1 (v),u 2 (v)) = χ v. (3.7) En outre, par contrainte de linéarité, disposer des coordonnées paramétriques (u 1 (v),u 2 (v)) v V des sommets du maillage M détermine de façonunique laparamétrisation f qui est alors définie par : f : Ω R 3 μ α(μ).χ va + β(μ).χ vb + γ(μ).χ vc, (3.8) avec μ un point arbitraire du domaine paramétrique Ω, t j le triangle 2D de Ω auquel le point μ appartient, v A, v B et v C les trois sommets du triangle t j, μ va (μ), μ vb (μ) et μ vc (μ) les vecteurs 3D des coordonnées paramétriques associés à v A, v B et v C, α(μ), β(μ) etγ(μ) les coordonnées barycentriques [80] du point μ dans le triangle t j de Ωdéfinies par : α(μ) = (μ v B μ) (μ vc μ) (μ vb μ va ) (μ vc μ va ), (3.9) β(μ) = (μ v A μ) (μ vc μ) (μ vb μ va ) (μ vc μ va ), (3.10) γ(μ) = (μ v A μ) (μ vb μ) (μ vb μ va ) (μ vc μ va ), (3.11) où désigne le produit vectoriel entre deux vecteurs de R 2. La Figure 3.9 illustre un exemple de paramétrisation d un maillage triangulaire 3D sur une domaine 2D carré.

78 Codage par approximation B-Splines Figure 3.9 : Paramétrisation d un maillage triangulaire sur un domaine 2D carré. Ainsi, dériver une paramétrisation linéaire par morceaux pour un maillage 3D revient à calculer l ensemble des coordonnées paramétriques associées aux sommets. La problématique de paramétrisation de surfaces triangulées a été largement étudiée dans la littérature [71, 81, 79, 78]. Les nombreuses techniques existantes combinent informations géométriques et topologiques pour minimiser différents critères de distorsion qui renvoient au principe de préservation des propriétés métriques (longueurs, aires, angles) des triangles entre domaines initial et paramétrique. Cependant, dans le cadre de notre schéma de compression, la paramétrisation doit être dérivée uniquement à partir de l information de connectivité, puisqu elle sert à déterminer les propriétés géométriques du maillage. Pour cette raison, nous avons retenu la méthode classique de Tutte [71] qui permet de plonger dans R 2 tout graphe planaire simplement connexe sans auto-intersection de ses arêtes. Cette procédure consiste à: Mettre en correspondance le bord du patch avec le bord d une forme convexe planaire, Calculer les positions des sommets internes, sous l hypothèse que chaque sommet est le barycentre de ses voisins. Afin de minimiser les distorsions inhérentes à une méthode de paramétrisation qui ne prend pas en compte les propriétés géométriques du maillage, nous avons appliqué l algorithme décrit dans [81] qui raffine successivement la paramétrisation initiale de Tutte, sous l hypothèse que tous les triangles du maillage ont des aspects de forme comparables. La Figure 3.11 présente les trois paramétrisations obtenues en appliquant la méthode de Tutte, la méthode de Tutte optimisée ainsi que celle de Floater [73], qui intègre les propriétés géométriques du maillage. Les courbes illustrées en bleu et en rouge, notées respectivement par (C u1 (j)) et (C u2 (j)), correspondent aux courbes iso-paramètriques et sont définies comme suit : j {1,..., J}, C u1 (j) ={f(u 1,u 2 )/u 1 [0, 1],u 2 = j }, (3.12) J j {1,..., J}, C u2 (j) ={f(u 1,u 2 )/u 2 [0, 1],u 1 = j }, (3.13) J

3.2 Codage par surfaces B-Splines 79 Ces courbes correspondent dans le domaine paramétrique à une lattice rectangulaire unitaire (Figure 3.10). Par conséquent, si la paramétrisation f est une isométrie (i.e., préservation des angles et des distances) les images de ces courbes devront être equidistantes et deux àdeux perpendiculaires. Dans le cas général, cela n est possible quepour des fonctions développables [78], i.e. surfaces réglées de courbure gausienne nulle (e.g. cylindre, cône...). La qualité de la paramétrisation obtenue est alors évaluée par des mesures de préservation des angles et des distances. Les résultats illustrés Figure 3.11 montrent que l approche de Floater conduit à la meilleure paramétrisation. Notons néanmoins que l approche de Tutte optimisée améliore nettement la qualité delaparamétrisationparrapportà l approche originale de Tutte. Figure 3.10 : Les courbes isoparamétriques dans le domaine paramétrique. Au niveau algorithmique, la méthode de Tutte optimisée [73] revient àrésoudre des systèmes linéaires décrits par des matrices creuses, symétriques, définies positives de taille V k V k (avec V k nombre des sommets du k-ième patch). En utilisant la méthode du gradient conjugué [82], les temps de calcul sont de l ordre de 0.3 secondes par patch sur une machine P4/1.8GHz dotée d un 1 Go de mémoire RAM. La paramétrisation obtenue permet en particulier d approcher chaque patch du maillage par une surface B-Spline, comme décrit dans la section suivante. 3.2.4 Approximation par surfaces B-Splines En raison de leurs nombreuses propriétés mathématiques (surfaces lisses, régularité, contrôle local, calcul rapide des propriétés géométriques...), les surfaces B-splines ont été exploitées dans divers domaines de modélisation 3D en général, et dans celui de la CAO en particulier. Une surface B-Spline (voir [83] pour une présentation in extenso) estdéfinie par : (u 1,u 2 ) [0, 1] [0, 1], S(u 1,u 2 )= n i=0 m P ij N i,p (u 1 )N j,q (u 2 ), (3.14) où (u 1,u 2 ) sont les coordonnées paramétriques, P ij R 3 lespointsdecontrôledelasurface et N i,p (u 1 )etn j,q (u 2 ) les fonctions de base B-Splines de degrés p et q, définies respectivement sur les vecteurs de noeuds U et V suivants : j=0

80 Codage par approximation B-Splines (a) (b) (c) (d) (e) (f) Figure 3.11 : Paramétrisation d un patch par différentes méthodes de paramétrisation : (a) Tutte, (b) Tutte optimisé et (c) Floater. U = {0,...,0 } {{ } p+1 V = {0,...,0 } {{ } q+1,u p+1 1,...,u i 1,...,un 1, 1,...,1 }, } {{ } (3.15) p+1,u q+1 2,...,u j q,...,u m 2, 1,...,1}. } {{ } (3.16) q+1 La paramétrisation associe à chaque sommet du maillage un couple (u 1,u 2 ) R 2 de coordonnées paramétriques. L ensemble des sommets du maillage échantillonne ainsi irrégulièrement le domaine paramétrique. Approcher un ensemble de points irréguliers par une surface B-Spline est bien sûr possible, en utilisant par exemple les algorithmes décrits dans [84, 85]. Toutefois, ces procédures d optimisation non-linéaire sont complexes en temps calcul et ne garantissent pas la convergence dans tous les cas. Pour cette raison, nous avons adopté la solution simple, mais efficace décrite dans [83], qui consiste à: Calculer une grille de points (Q kl ) sur la surface du maillage en échantillonnant uniformément le domaine paramétrique, Déterminer la matrice P =(P ij ) des points de contrôle de la surface B-Spline approchant de manière optimale (au sens des moindres carrés) les points (Q kl ). La matrice P est déterminée en appliquant l approche d approximation par courbes de section décrite dans [83], qui garantit l existence de la solution. Etant définis sur une grille rectangulaire, les points de contrôle (P ij )sontquantifiés sur 8 bits et puis stockés dans trois images à niveaux de gris (Pij x y ), (Pij )et(p ij z ). Ces images sont finalement compressées en utilisant un codeur progressif JPEG2000, adopté enraison

3.3 Résultats expérimentaux 81 de ses performances optimisées. Les vecteurs des noeuds U et V sont également quantifiés, linéairement prédits (prédiction delta) et codés arithmétiquement. Les dégrés p et q de la surface B-splinees sont intégrés tel que dans le flux binaire généré. La procédure décrite ci-dessus permet ainsi de représenter la géométrie de chaque patch. Comme la connectivité des différents patchs est également codée sans pertes, la dernière étape revient à coder l information nécessaire pour pourvoir recoller les patchs et reconstruire intégralement la connectivité initiale. 3.2.5 Recollage des patchs Afin que le décodeur puisse recoller les différents patchs de la représentation, une information auxiliaire décrivant les coupes opérées sur le maillage (cf. Section 3.2.2) doit être inclue dans le flux binaire. En effet, pour chaque coupe C l information suivante doit être transmise au décodeur : les numéros p 1 et p 2 des deux patchs àêtre connectés, les index des sommets v 1 et v 2 de départ localisés respectivement sur les bords des patchs à connecter, le nombre N C des sommets à fusionner, les deux sens de parcours s 1 et s 2 sur les bords des deux patchs. Au niveau du décodeur, en partant des deux sommets v 1 et v 2,lespatchs p 1 et p 2 sont parcourus en suivant les deux sens s 1 et s 2.Achaqueétape, les deux sommets correspondants sont fusionnés. Ce processus est réitéré jusqu à ce que le nombre de sommets traités soit égale à N C. La Figure 3.12 illustre l algorithme de recollage proposé. (a) Patchs séparés (b) Patchs collés Figure 3.12 : Collage de deux patchs : en partant des deux sommets v 1 et v 2 et en suivant les deux sens de parcours s 1 et s 2,ledécodeur fusionne succesivement les N C sommets de bords. 3.3 Résultats expérimentaux Les expérimentations ont été conduites sur un ensemble d une douzaine de maillages habituellement utilisés dans la littérature [64, 66, 65, 3] pour l évaluation des approches de compression. Ces maillages présentent des géométries lisses, échantillonnées de façon dense et sont

82 Codage par approximation B-Splines obtenus par numérisation 3D. Les données originales sont disponibles sur les sites de l université destanford 2 et de la société Cyberware 3. Les performances des codeurs sont évaluées en termes de courbes débit/distorsion. Les débits sont exprimés en bits par sommet (bps). Les distorsions sont mesurées en utilisant la distance RMSE entre maillages original et compressé, estimée avec le logiciel MESH 4 [51]. Tous les résultats ont été obtenus pour des partitions à50patchs et en utilisant des surfaces B-Splines de degé 2,avec24 24 points de contrôle. La Figure 3.13 présente de façon comparée les courbes débit/distorsion obtenues pour les maillages Venus, Bunny et Horse avec la représentation B-Spline proposée, le codeur de Touma et Gotsman (TG) [3], le codeur MPEG-4 [1] et l approche de Compression Spectrale (CS) [52]. Pour cette dernière, nous avons considéré une segmentation en 120 patchs (afin de réduire la complexité de calcul comme proposé dans [52]) et un spectre quantifié sur 14 bits. Le schéma de compression proposé conduit à de meilleurs résultats pour des débits inférieurs à 8 bps pour les maillages Venus et Horse. Pour le modèle Bunny, l approche spectrale offre de légers gains dans la plage des débits inférieurs à 4 bps. Cependant, à partir de 3-4 bps, notre codeur offre des résultats supérieurs avec un gain moyen en débit de 10 à 30%. Pour des débits supérieurs à 8 bps, le codeur TG donne des rapports débit/distorsion légèrement supérieurs. Cependant, les gains obtenus sont minimaux, les distorsions associées étant dans ce cas négligeables, i.e. de l ordre de 0,02% de la diagonale de la boîte englobante du maillage. A ce niveau d erreur, la qualité visuelle des maillages reconstruits devient quasiconstante. La Figure 3.14 illustre quelques maillages compressés selon les différentes méthodes. La qualité visuelle des maillages compressés par l approche B-Spline est nettement supérieure à celles obtenues avec les codeurs TG et MPEG-4/3DMC. Cela s explique par la représentation B- Spline qui garantit des surfaces lisses tout au long du processus de transmission et en particulier à partir de très bas débits. Les Figures 3.15 et 3.16 illustrent la fonctionnalité de scalabilité en qualité ducodeurb- Spline. Ces résultats démontrent que l approche proposée est particulièrement adaptée pour les applications de compression progressive àbasdébits et sans perte de connectivité. 2. www.stanford.edu 3. www.cyberware.com 4. http ://mesh.epfl.ch

3.3 Résultats expérimentaux 83 (a) Horse (b) Bunny (c) Venus Figure 3.13 : Courbes débit/distorsion pour les modèles Horse, Bunny et Venus.

84 Codage par approximation B-Splines (a) 5.9 bps (b) 5.5 bps (c) 5.8 bps (d) 5.2 bps (e) 7.6 bps (f) 6 bps (g) 7.1 bps (h) 6.5 bps (i) 6.33 bps (j) 6 bps (k) 6.6 bps (l) 6.1 bps Figure 3.14 : Maillages Horse, Venus et Bunny compressés avec MPEG-4/3DMC (a, e et i), TG (b, f et j), CS (c, g et k) et notre approche (d, f, h et l).

3.3 Résultats expérimentaux 85 (a) 10.9 bps (b) 8.4 bps (c) 6.3 bps (d) 5.6 bps (e) 9.9 bps (f) 7.8 bps (g) 5.9 bps (h) 5.3 bps (i) 9.5 bps (j) 7.9 bps (k) 5.9 bps (l) 4.9 bps (m) 9.2 bps (n) 8.5 bps (o) 6.1 bps (p) 5 bps Figure 3.15 : Résultats de compression àdifférents débits : (a, b, c et d) Tyra, (e, f, g et h) Gargoyle,(i,j,ketl) Hand,(m,n,oetp) Lucy (Partie1).

86 Codage par approximation B-Splines (a) 9.6 bps (b) 7 bps (c) 5.9 bps (d) 4.6 bps (e) 10.4 bps (f) 7.8 bps (g) 6.2 bps (h) 5 bps (i) 8.8 bps (j) 6.7 bps (k) 6.2 bps (l) 4.6 bps (m) 9 bps (n) 8.4 bps (o) 6.4 bps (p) 5 bps Figure 3.16 : Résultats de compression à différents débits : (a, b, c et d) Max Planck, (e, f, g et h) Dinosaur, (i, j, k et l) Rabbit, (m, n, o et p) Feline (Partie 2).

3.4 Conclusion 87 3.4 Conclusion Dans ce chapitre, nous avons présenté une nouvelle approche de compression de maillages 3D fondée sur une approximation par surfaces B-splines. Le codeur proposéétend la représentation par images géométriques [64] au contexte de codage sans perte de connectivité. Cela permet notamment de s affranchir des problèmes de remaillage (e.g., discontinuités et sous-échantillonnage) dont souffrent les approches par images géométriques. En exploitant les standards optimisés de compression d images fixes (e.g., JPEG2000), la technique B-spline permet d atteindre des gains des gains de l ordre 10 à 30% en moyenne par rapport aux codeurs de compression spectrale, TG et MPEG-4/3DMC, en particulier àdes bas débits (inférieurs à 8 bits/sommet) tout en assurant la fonctionnalité supplémentaire de scalabilité en qualité.

88 Codage par approximation B-Splines

Deuxième partie Compression de maillages dynamiques 89

Chapitre4 Représentation et compression de maillages 3D animés : état de l art Résumé : Ce chapitre présente un état de l art des principales techniques de création, représentation et compression de séquence d animation 3D. Les domaines d application (jeux vidéo, films d animation, simulations physiques, CAO...) ainsi que les outils et techniques utilisés pour générer ces contenus dynamiques sont tout d abord passés en revue. Les différents formats de représentation 3D ouverts (e.g., VRML, X3D, H-Anim, COL- LADA...) ou propriétaires (e.g., FBX, X3D, X, BLEND) montrentladifficultédedisposer d un format d échange universel. Toutefois, en dépit des différences de langage et de syntaxe, des représentations par trames clés sont généralement supportées par l ensemble des formats actuellement disponibles. Le choix d une telle représentation est motivé pardes raisons d interopérabilité, de généralitéetdeprotectiondelapropriété intellectuelle. Son inconvénient majeur est en revanche lié auxcoûts importants de stockage et de transmission. D où lanécessité d outils de compression efficaces optimisés pour ce type de contenus. Lerestedecechapitreestdoncdédié àl état de l art des méthodes de compression de maillages 3D dynamiques représentés par trames clés. Les principales familles d approches de la riche littérature émergente consacrée à ce sujet sont identifiées, présentées et discutées, avec principe, avantages et limitations. Mots clés : Compression, maillages dynamiques, animation 3D, représentation par trames clés, MPEG-4, VRML, H-Anim, COLLADA, X3D. 91

92 Représentation et compression de maillages 3D animés : état de l art 4.1 Domaines d application Les contenus dynamiques 3D s imposent aujourd hui dans le monde du multimédia au travers d applications phares liées aux industries des jeux vidéos, des films d animation ou encore de la création d effets spéciaux en cinématographie, véritables vecteurs pour l essor des technologies 3D. 4.1.1 Films d animation et effets spéciaux 3D Les premiers films d animation 3D on vu le jour au début des années quatre-vingts. Citons à titre d exemple le premier film narratif en image de synthèse 3D Vol de rêve (Philippe Bergeron, Nadia Magnenat-Thalmann et Daniel Thalmann, 1982) ou encore le film Tron (Steven Lisberger, 1982) qui a introduit pour la première fois des objets 3D de synthèse dans un long métrage. Depuis, une multitude de films exploitant des techniques d animation 3D ont été réalisés avec des avancés technologiques plus au moins importantes à chaque fois.des films comme Bio Sensor (Takashi Fukomoto et Hitoshi Nishimura, 1984), Tony de Peltrie (Philippe Bergeron, Daniel Langlois, Pierre Lachapelle et Pierre Robidoux, 1985) ont permis d introduire les techniques de rotoscopie 3D, d animation 3D par capture de mouvement et de numérisation 3D. (a) Vol de rêve (1982) (b) Tony de Peltrie (1985) Figure 4.1 : Extraits des films d animation 3D. La fin des années quatre-vingts a été marquée par le développement des techniques d animation procédurales (Section 4.2.2). Elles exploitent le plus souvent une modélisation physique ou une formulation algorithmique pour générer l animation 3D souhaitée. A titre d exemples, citons les films Stanley and Stella in breaking the Ice (Lary Malone, 1987), Eurhythmy (Susan Amkraut et Michael Girard, 1989), Particle Dreams (Karl Sims, 1988), A sequence From The Evolution of Form (William Latham, 1989), Tipsy Turvy (Thomas J. Watson, 1989) ou encore Panspermia (Karl Sims, 1990). A partir du début des années quatre-vingt-dix, une nouvelle ère s ouvre pour les films d animation 3D qui exploitent massivement les techniques d acquisition numérique, de capture de mouvement ainsi que des modèles sophistiquées pour l animation des personnages. Des films comme Terminator 2 (Etats-unis, 1991), Jurrassic Park (Etats-unis, 1993), ou la trilogie Matrix (Etats-unis, 1999-2003) mettent en scène des personnages virtuels 3D qui interagissent avec des scènes réelles. Les effets spéciaux produits sont d une qualité exceptionnelle. Cette décennie a vu également un développement spectaculaire des films d animation

4.1 Domaines d application 93 purement 3D, tels que Shrek (DreamWorks, 2001, budget 60 millions USD) ou Beowulf (Robert Zemeckis, 2007, 150 millions USD) qui ont bénéficié d investissements importants et trouvé auprès du public le large succès que l on sait. Parallèlement à l industrie du cinéma, le monde des jeux vidéo a connu un grand essor au cours de ces dernières décennies. 4.1.2 Jeux vidéos Le premier jeu vidéo 3D sur micro-ordinateur, appelé 3D Monster Maze, a été développé par Malcolm Evans en 1981. Depuis, ce domaine a connu un grand essor surtout pendant les années quatre-vingt-dix avec le développement considérable des performances de calcul des consoles de jeux et des cartes graphiques 3D grand public. Des jeux comme Doom (id Software, 1993) ou Tomb Raider (Core Design, 1996) ont permis le développement de moteurs de rendu purement 3D avec des techniques d animation optimisées et dédiées à ce type de contenus. (a) 3D Monster Maze (1981) (1982) (b) Doom (1993) Figure 4.2 : Extraits des jeux vidéo 3D. En raison de l interactivité permanente avec le joueur, des contraintes de rendu en temps réel, ainsi que des performances de calcul relativement limitées des consoles de jeux et des cartes graphiques grand public, les jeux vidéo exploitent des techniques d animations différentes de celles mise en oeuvre pour la création de films d animation ou d effets spéciaux. En effet, l interactivité avec le joueur, composante essentielle d un jeu vidéo, implique des contraintes strictes de calcul et de rendu en temps réel. De plus, un jeu vidéo 3D doit gérer de façon cohérente tout un monde 3D (e.g., calcul de collisions, gestions des déplacements des comportements des personnages, modélisation et connexions entre sous-environnements du jeu...) alors que les films d animation se focalisent seulement sur les objets 3D de la scène se trouvant dans le champs de vision de la caméra. Afin de répondre à ces contraintes spécifiques, les jeux vidéo exploitent le plus souvent des modèles animés de géométries simples combinées à des images de textures de haute qualité. Des techniques plus sophistiquées mettent en oeuvre des représentations hiérarchiques des personnages avec différents niveaux de détails qui sont sélectionnés selon la position de la caméra et les capacités d affichage. Par exemple, le jeu Final Fantasy X (Square Enix, 2003) exploite trois niveaux de détails : 1) le niveau grossier (super-deformed) utilisé lors de l affichage

94 Représentation et compression de maillages 3D animés : état de l art du monde virtuel, 2) le niveau moyen (normal-sized) sélectionné pour le rendu de combat et pour des scènes interactives et 3) le niveau de haute qualité (smooth models) considéré pourle rendu de scènes non-interactives. Lesjeuxvidéo privilégient également les techniques d animation par trames clés combinées àdesmodèles articulés afin d assurer un contrôle intuitif des personnages. Des approches procédurales fondées sur des lois relativement simples sont généralement utilisées pour l animation du décor (e.g., animation de l herbe). La convergence des domaines des télécommunications et de l informatique a privilégié plus récemment le développement des jeux en ligne (e.g., lejeusecond Life 1, 2003) et des jeux sur téléphone portable (e.g., lejeuastérix aux J.O. pour téléphone portable, 2008). Ces nouvelles applications lancent aujourd hui de nouveaux défis technologiques [86] liées à la compression et à la transmission des animations 3D via des réseaux hétérogènes et pour des terminaux de capacités variables. Dans ce contexte, l exemple type est celui des jeux sur téléphones portables. Ainsi, d après le rapport annuel de Gartner Inc. 2,lemarchédesjeux vidéos sur téléphones mobiles a connu une croissance de 49,9% en 2007 et s élève aujourd hui à un chiffre d affaires de 4,3 millards de dollars américains. Selon les même prévisions, il atteindra 9,6 millards de dollars en 2011. Quelle que soit l application considérée, disposer et consommer des contenus 3D dynamiques seraient impossible sans des techniques appropriées et performantes de création. Analysons, dans le paragraphe suivant, les principales familles d approches de création d animations développées aujourd hui. 4.2 Techniques de création d animation 3D Animer un objet 3D consiste àdécrire son mouvement et/ou les déformations qu il subit pendant une période temporelle donnée. Le plus souvent cela revient àgénérer une séquence d objets 3D qui décrit l évolution temporelle d une surface 3D (i.e. changement des positions des sommets, des normales, des couleurs...). Une première approche pour la génération de contenus animés consiste àspécifier directement les propriétés des objets 3D en fonction du temps. A l évidence, une telle approche (lourde et non-intuitive) est non-utilisable même dans le cas de modèles 3D simples. Afin de simplifier la tâche des créateurs de contenus animés, la majorité des techniques d animation proposent de décrire l animation en exploitant des modèles de mouvement et/ou de déformation. L étude de l état de l art fait ressortir deux grandes familles d approches : 1) les modèles descriptifs et 2) les méthodes procédurales. 4.2.1 Animation par modèles descriptifs Les techniques d animation par modèles descriptifs (Tableau 4.1) reposent sur une représentation explicite de l animation qui décrit pour chaque trame clés les paramètres du champ de mouvement ou de déformation associé. Une interpolation temporelle [87, 88, 89, 90] (e.g., linéaire, curviligne, par quaternions ou par fonctions implicites) est généralement utilisée afin de générer l ensemble des trames nécessaires pour constituer une séquence d animation fluide à la cadence 1. http ://secondlife.com/ 2. http ://www.gartner.com/

4.2 Techniques de création d animation 3D 95 vidéo requise (e.g., 25 à 30 trames par secondes). Les approches d animation par modèles descriptifs permettent aux créateurs de contrôler de façon précise le déroulement de l animation. Elles nécessitent cependant un volume important d interaction utilisateur pour la spécification des trames clés. 4.2.2 Animation procédurale Les techniques d animation procédurale (Tableau 4.2) s appuient sur un ensemble de lois physiques, mathématiques ou comportementales pour décrire l animation. Ces approches permettent de générer de façon dynamique (i.e., en tenant compte de l interaction avec l utilisateur ou des changements de l environnement) et automatique des animations réalistes et de haute qualité. Notons cependant que les possibilités de contrôle du déroulement temporel de l animation restent limitées. Afin d obtenir des animations réalistes, les artistes combinent le plus souvent plusieurs techniques de création d animation, dans le cadre de processus de création complexes. A chaque étape du processus de création des animations 3D, le créateur doit spécifier et raffiner les paramètres du modèle d animation sous-jacent (e.g., positions et zones d influence des points ou courbes de contrôle, transformées affines et poids d animation pour le modèledepeau, paramètres des modèles physiques...). Cette tâche coûteuse et fastidieuse nécessite en pratique plusieurs itérations et une grande expérience de la part des utilisateurs. A titre d exemple, des films d animation comme Shrek 3 ou Ratatouille 4 mobilisent des équipes entières d artistes pendant plusieurs années. L étapedespécification des paramètres d animation est en général réalisée en exploitant des environnements professionnels de modélisation 3D (e.g., 3DSMAX 5 ou Maya 6 )ainsique des techniques de capture de mouvement [91, 92, 93]. Les animations sont enfin exportées aux différents formats, suivant les applications envisagées et les environnements de travail disponibles. La section suivante passe en revue les principaux standards/formats de représentation des animations 3D. 3. http ://www.dreamworks.com/ 4. http ://www.disney.fr/filmsdisney/ratatouille/ 5. www.autodesk.fr/3dsmax 6. www.autodesk.fr/maya

96 Représentation et compression de maillages 3D animés : état de l art Techniques Principe Avantages et limitations Déformations Champ de déformation généré par + Simple et efficace : décrit une par transformées combinaison de transformée linéaires grande variété de déformations locales et globales [94] simples (rotation, homothétie...) qui peuvent varier selon la position du point àanimer géométriques à partir de transformations élémentaires - Lourde et compliquée à mettre en oeuvre dans le cas d animations réalistes (e.g., personnage articulé) Deformations de formes libres [95, 96, 97, 98, 99, 100, 101] Déformations par contrôleurs [102, 103, 104, 105] Animation par squelette cinématique [106, 107, 108, 109, 69, 110] Animation par métamorphoses [111, 112, 113] Champ de déformation défini par rapport au mouvement d un ensemble de points de contrôle structurés en treillis Champ de déformation défini par rapport au mouvement d un ensemble de points (non structurés) ou de courbes (géodésiques ou non) de contrôle avec des fonctions d influence associées Champ de déformation défini relativement au mouvement d un squelette (i.e, ensemble d os reliés par des articulations et souvent représenté par une structure hiérarchique en arbre) en exploitant des techniques d animation par modèles de peau (skinning) Déformation graduelle d un objet source vers un objet cible avec un changement potentiel de topologie et/ou de géométrie + Générique : s applique directement à toutes les représentations de surfaces + Déformation globale et semiglobale aisée -Déformation locale non intuitive à cause de la manipulation indirecte à travers les points de contrôle + Générique : s applique directement à toutes les représentations de surfaces + Faible complexité de calcul + Contrôle aisé et intuitif - Non adaptée à l introduction de contraintes physiques ou de modèle cinématique + Contrôle aisé et intuitif + Faible complexité de calcul + Optimisée pour des mouvements articulés - Coûteuse : la génération du modèle de peau nécessite un travail semi-automatique fastidieux + Généralité : permet de générer des animations à partir d un nombre restreints de trames clefs avec topologies arbitraires -Complexité de calcul importante Table 4.1 : Etat de l art des modèles d animation descriptifs.

4.3 Standards de représentation 3D et formats propriétaires 97 Techniques Principe Avantages et limitations Modèles physiques [114, 115, 116] Champ de déformation généré en exploitant une modélisation physique (e.g., dynamique des fluides, système de particules, système masses-ressorts) de la scène 3D + Animations complexes et réalistes +Génération automatique de l animation -Complexité de calcul importante dans le cas de modèles physiques complexes -Contrôle non-intuitif de l animation Mèthodes comportementales [117, 118] Simulation des comportements individuels (i.e. perception, décision et action) des différents acteurs (e.g., piétons, cyclistes, troupeaux d animaux...) d un environnement ainsi que de leurs interactions + Réalistes : variabilité du comportement des différents acteurs + Adaptées à l animation de foules +Interactives -Contrôle non-intuitif de l animation Table 4.2 : Etat de l art des modèles d animation par modèles procéduraux. 4.3 Standards de représentation 3D et formats propriétaires 4.3.1 Standard VRML Le standard VRML (Virtual Reality Modeling Language) 7,développé par le consortium Web3D, est un langage de description d univers interactifs 3D virtuels. Il représente une scène 3D sous forme d un arbre hiérarchique dont les noeuds décrivent des objets ou des propriétés de la scène (e.g., maillages 3D, formes élémentaires, sons, sources de lumières, couleurs...). La première version de VRML 8 permettait de décrire uniquement des scènes 3D statiques. La version 2.0 du standard introduit entre autre les interpolateurs qui, attachés à un noeud animable (i.e., maillages 3D, transformations géométriques...), permettent de modifier ses paramètres en fonction du temps. Plus précisément, un interpolateur est défini par un ensemble d instants temporels (keys) et de valeurs(key values) associées à ces instants. Les players VRML génèrent l animation en mettant à jour, à chaque instant temporel, les champs animés (e.g., position ou des normales associées aux sommets d un maillage) grâce à des techniques d interpolation (e.g., linéaire pour les positions et les translations, sphérique pour les normales...). 4.3.2 Standard H-Anim Le standard H-Anim 9 vise àdécrire des animations de personnages articulés de type humanoïde. La représentation H-Anim modélise le squelette anatomique d un personnage 3D articulé par une structure hiérarchique d arbre. Dans une scène H-Anim, chaque noeud est un objetdetype: humanoïd : correspondant à la racine à laquelle tous les autres objets sont rattachés, joint :décrivant la position, l orientation et le facteur d échelle associés à une articulation, 7. http ://www.demotride.com/vrml97-spec-html/index.html 8. http ://www.web3d.org/x3d/specifications/vrml/vrml1.0/index.html 9. http ://www.h-anim.org/

98 Représentation et compression de maillages 3D animés : état de l art segment :spécifiant la géométrie et l apparence d une partie, displacers :décrivant des contraintes de mouvement, sites : décrivant les positions de caméras virtuelles, d effecteurs ou de points d attachement pour des accessoires. La version actuelle de la spécification H-Anin supporte l animation par modèles de peau (skinning) en associant des poids d animation aux sommets du maillage. Ici, le mouvement d un sommet est exprimé comme une combinaison linéaire pondérée des mouvements des différentes articulations. Notons que la structure hiérarchique du squelette d un humanoïde est figée (Figure 4.3) et que seuls des sous-graphes de ce squelette sont supportés par la norme. Cela limite les possibilités d utilisation du standard, qui ne prend pas en compte des objets et des personnages génériques. 4.3.3 Le standard MPEG-4 La standard MPEG-4 10,dontlapremière version est sortie en 1998, est une norme de codage d objets audiovisuels spécifiée par le Moving Picture Experts Group (MPEG). La norme MPEG-4 reprend la représentation par graphe de scène, proposée par le standard VRML et l étend, en introduisant des nouveaux noeuds. En particulier, MPEG-4 spécifie des flux binaires compressés dédiés à chaque noeud. Plus récemment, la partie 16 du standard, connue sous le nom de MPEG-4/AFX [119] (Animation Framework extension) définie un cadre générique pour les représentations de séquences d animation 3D. MPEG-4 supporte aujourd hui un large éventail de technologies de modélisation et d animation 3D, dont les principaux représentants sont les suivants : Les interpolateurs : définis de façon analogue à VRML par un ensemble d instants temporels et de valeurs associées à ces instants. Comme dans le cas VRML, les interpolateurs MPEG-4 agissent sur les champs animables d un noeud pour générer une animation. Les métamorphoses (morphshape) : permettant de définir des métamorphoses entre un objet source (base shape) et plusieurs objets cibles (target shapes). Le principe est de définir une forme àuninstanti comme une combinaison linéaire pondérée de la forme de base et des formes cibles. L animation est obtenue en mettant àjourlespoidsde pondération. L animation FBA (Face and Body Animation) :définit une représentation paramétrique d un personnage virtuel. L animation est générée en modifiant 1) les paramètres FAPs (i.e., Face Animation Parameters : 84 points de contrôle) qui décrivent la déformation du visage et les paramètresbaps(i.e., Body Animation Parameters : 296 angles de rotation définis de façon analogue au standard H-Anim) qui génèrent le mouvement articulé d un personnage virtuel. L animation BBA [69] (Bone Based Animation) :généralise le modèle FBA en proposant des structures de squelettes hiérarchiques arbitraires. BBA introduit également un modèle de peau pour assurer une animation sans rupture (seamless) au niveau des articulations (contrairement à FBA), ainsi qu une couche de muscles afin de permettre des déformations élastiques locales. 10. http ://www.mpeg-3dgc.org/

4.3 Standards de représentation 3D et formats propriétaires 99 Figure 4.3 : Standard H-Anim : squelette hiérarchique d un humanoïde. (source : http ://hanim.org/)

100 Représentation et compression de maillages 3D animés : état de l art 4.3.4 Standard X3D Le standard X3D 11 (extensible 3D) étend le standard VRML en introduisant de nouvelles fonctionnalités ainsi qu un format de description à base du language XML 12 (extensible Markup Language). Concernant la partie animation, X3D introduit de nouveaux noeuds permettant de décrire : les humanoïdes animés conformément au standard H-Anim, les interactions physiques entre corps solides (e.g., collision, accélération...), les systèmes de particules nécessaires pour la modélisation des éléments comme le feu, la fumée, la neige... Le standard X3D exploite également une procédure de compression fondée sur l algorithme GZip 13. 4.3.5 Standard COLLADA La norme COLLADA 14,développée par Khronos Group 15, a pour objectif de définir un format standard d échange de contenus multimedias entre les différents acteurs de l industrie de l audiovisuel. Comme X3D, COLLADA combine le langage XML avec une représentation par graphe de scène. La partie animation comporte : les interpolateurs, définis de façon analogue à VRML, les métamorphoses, similaire au noeud morphshape de MPEG-4/AFX, lesanimationsparmodèle de peau conformément àlapartiebbadempeg-4/afx, mais en omettant la couche muscle, les interactions physiques et les systèmes de particules de façon analogue à X3D. 4.3.6 Formats propriétaires Les formats propriétaires proposés par les différents créateurs de logicielles de modélisation 3D (e.g., FBX,3DSdéveloppés par la société Autodesk 16, BLEND de Blender 17, X de Direct 3D 18...) supportent un large éventail de représentations (i.e., modèledepeau,métamorphose, interactions physiques et les systèmes de particules, interpolateurs), avec des variantes plus ou moins sophistiquées. Dans ce cas, le format de représentation est intrinsèquement lié à l outil et à l approche sousjacente de création des contenus 3D. Ainsi, les documentations détaillées de ces formats sont le plus souvent incomplètes voir non-disponibles. En outre, les exportateurs proposés (qui visent à réaliser des conversions d un format à un autre) montrent en pratique leurs limitations, puisque seules les fonctionnalités supportées par le format d export sont transposées correctement. Des processus de conversion avec pertes entre différentes représentations génèrent le plus souvent des résultats de mauvaise qualité. 11. http ://www.web3d.org/ 12. http ://www.w3.org/xml/ 13. www.gzip.org/ 14. http ://www.collada.org/ 15. www.khronos.org/ 16. www.autodesk.com 17. www.blender.org/ 18. http ://www.microsoft.com/

4.3 Standards de représentation 3D et formats propriétaires 101 4.3.7 Discussion Standard Trames clés Métamorphose Modèles physiques Mouvement articulé VRML/H-Anim MPEG-4 X3D Collada Table 4.3 : Représentations supportées par les standards d animation 3D. Le tableau 4.3 résume les différentes représentations d animation 3D supportées par les standards d animation 3D. Notons que les animations articulés ainsi que les animations par trames clés (représentées sous forme d interpolateurs) sont spécifiées par la quasi-totalité de ces normes. Contrairement à l animation par modèles articulés (adaptée uniquement à une famille particulière de modèles animés), la représentation par trames-clés permet de décrire un large spectre d animations. De plus, cette représentation est indépendante de la technique utilisée pour générer le contenu et permet ainsi de disposer d un format générique et multiplateformes d animation 3D. En rendant disponible uniquement le résultat final de l animation, la représentation par trames clés permet aux créateurs de contenus de protéger leurs modèles d animation d une réutilisation illicite par des tiers. L inconvénient majeur de cette représentation est en revanche lié aux coûts importants de stockage et de transmission (de l ordre de 120 Mo par minute pour un maillage de 10000 sommets). En effet, même pour de courtes séquences de quelques minutes, des milliers de modèles 3D sont nécessaires. La problématique de la compression de maillages 3D animés (Figure 4.4) de connectivité constanteetdegéométrie variable dans le temps a été considérée pour la première fois par Lengyel [120]. Elle peut être formalisée mathématiquement comme suit. Soit (M t ) t {1,...,T } une séquence de maillages 3D (où T représente le nombre de trames). Sous l hypothèse d une connectivité fixe, notée Γ, la géométrie du maillage à l instant t est représentée par une matrice G t de dimension 3 V (où V estlenombredesommets)définie par : où χ v,x t, χ v,y t et χ v,z t des sommets de M t. G t = χ 1,x t χ 1,y t χ 1,z t χ 2,x t χ 2,y t χ 2,z t χ 3,x t χ 3,y t χ 3,z t. χ V,x t. χ V,y t. χ V,z t, (4.1) sont les coordonnées (exprimées dans un repère cartésien) de l ensemble L objectif est alors d élaborer des représentations compactes de la séquence géométrique (G t ) t {1,...,T }, capables de prendre en compte les corrélations spatio-temporelles du signal. Notons que la connectivité Γ du maillage étant fixe tout au long de la séquence, elle est codée une seule fois pour toute la séquence avec une technique arbitraire de compression de maillages statiques. Dans nos travaux, nous avons privilégié le codeur TFAN proposé au Chapitre 2.

102 Représentation et compression de maillages 3D animés : état de l art Figure 4.4 : Exemples de maillages 3D dynamiques.

4.4 Fonctionnalités avancées 103 4.4 Fonctionnalités avancées Dans le contexte industriel moderne de convergence des technologies fixes et mobiles, les méthodes de compression 3D doivent impérativement répondre au paradigme d accès universel. Ainsi, permettre la transmission/diffusion des animations 3D sur différents réseaux fixes/mobiles de débits variables et vers des terminaux (PDA, PC, téléphone portable...) de capacités de calcul, de mémoire et de visualisation variées est aujourd hui indispensable pour la mise en place des applications multimédias futures. De point de vue méthodologique, cela se traduit par le support des fonctionnalités suivantes : Streaming :interpréter le flux binaire au fur et à mesure de sa transmission au terminal en décodant au fil de l eau des paquets de données décrivant chacun un segment temporel de l animation, Scalabilité spatiale: adapter (par décodage partiel du flux compressé) la résolution spatiale (le nombre de sommets/triangles) du maillage aux performances d affichage du terminal et/ou au débit disponible, Scalabilité temporelle :décoder partiellement le flux binaire afin de générer une animation à une cadence vidéo adaptée au performances de calcul du terminal, Scalabilité en qualité : adapter (grâce à une structuration adéquate du flux binaire) la qualité (i.e., précision des positions des sommets) de l animation au débit disponible, Codage des attributs : coder efficacement les attributs associés aux sommets d un maillage dynamique (e.g., normales, couleurs, coordonnées de texture...), Codage quasi-sans pertes : assurer une borne maximale sur l erreur induite par la compression des positions et des attributs d un maillage dynamique. L élaboration de techniques de compression efficaces avec des fonctionnalités de transmission et d affichage adaptées aux contenus dynamiques est aujourd hui un enjeu majeur comme en témoigne l important nombre de travaux de la littérature émergente consacrée à ce sujet, présentée au paragraphe suivant. 4.5 Synthèse bibliographique Depuis les travaux de Lengyel, de nombreuses contributions méthodologiques et techniques ont étéproposées [2]. L étude de l état de l art permet d identifier quatre grandes familles : 1. Les méthodes par prédiction spatio-temporelle locale, 2. Les approches exploitant une Analyse en Composantes Principales (ACP), 3. Les représentations par ondelettes, 4. Les schémas àbasedesegmentation. Pour chacune de ces familles, détaillons à présent principe, avantages, limitations ainsi qu approches représentatives. 4.5.1 Prédicteurs spatio-temporels locaux Les techniques de codage par prédiction spatio-temporelle traitent l animation localement dans l espace et dans le temps. A un instant donné, la position d un sommet est prédite à partir uniquement des sommets situés dans un voisinage spatio-temporel local.

104 Représentation et compression de maillages 3D animés : état de l art Comme représentatif de cette famille, citons tout d abord le schéma de compression IC (Interpolation Compression) [121], adopté en 2003 par le standard MPEG-4/AFX 19 [119]. Le principe consiste àreprésenter l animation par un sous-ensemble de trames clés sous-échantillonnant la séquence (M t ) t. A partir de ces trames clés, les trames intermédiaires sont déterminées automatiquement en appliquant une interpolation linéaire. Pour coder la séquence des trames clés, un mécanisme de prédiction spatio-temporelle est appliqué. Différentes stratégies peuvent être adoptées pour la sélection des trames-clés, depuis le simple échantillonnage temporel uniforme jusqu à des techniques plus sophistiquées qui minimisent un critère d erreur globale sur l ensemble de la séquence pour une sélection automatique et optimale. Ainsi, dans [121] les auteurs proposent-ils de partir d un ensemble minimal de trames clés constitué delapremière et de la dernière trame de la séquence et de le raffiner itérativement, en ajoutant successivement des trames clés jusqu à obtenir un seuil d erreur d approximation prédéfini. Par principe de causalité, les approches prédictives nécessitent de considérer un ordre de parcours des sommets du maillage, spécifiant une relation d antériorité entre ceux-ci. Cet ordre peut être défini de différentes manières, soit en considérant l ordre naturel dans lequel les sommets sont spécifiés dans le format de représentation considéré(e.g., VRML), soit en fonction de l approche de compression statique de la première trame (exploitant le plus souvent les relations d adjacence entre les sommets du maillage). Quelle que soit l approche retenue, la prédiction d un sommet courant v est effectuée à partir d un ensemble de sommets antérieurs à v par rapport à l ordre considéré. On parle alors d une prédiction à partir de sommets déjà codés/décodés. Dans la formulation initiale introduite dans [121], les trois prédicteurs suivants sont considérés : un prédicteur spatial, noté P S, un prédicteur temporel, noté P T, un prédicteur spatio-temporel noté P ST. Les positions prédites P S (v, t), P T (v, t) etp ST (v, t) du sommet v à l instant t s expriment respectivement comme décrit par les équations (4.2), (4.3) et (4.4) : P S (v, t) =χ w t, (4.2) P T (v, t) =χ v t 1, (4.3) P ST (v, t) =χ v t 1 +(χ w t χ w t 1), (4.4) où χ v t représente la position du sommet courant v à l instant t et w désigne l index d un sommet déjà codé. Les prédicteurs spatial et temporel correspondent respectivement à une simple prédiction delta par rapport à l ordre de parcours spatial et temporel. Le prédicteur spatio-temporel combine les deux, en ajoutant au prédicteur temporel un facteur différentiel de correction spatiale. De manière similaire, les techniques [122], [123] et [124] exploitent le mêmeprincipede prédiction en proposant des prédicteurs spatio-temporels plus élaborés, fondés sur un parcours déterministe des sommets du maillage de voisin à voisin, analogue à ceux décrits dans [3] et [125]. 19. www.mpeg-3dgc.org

4.5 Synthèse bibliographique 105 Dans [122], le codeur Dynapack introduit deux prédicteurs différents, appelés ELP (Extended Lorenzo Predictor)et Replica.Le premier généralise au cas dynamique la règle de prédiction du parallélogramme, bien connue et largement exploitée pour la compression de maillages statiques (cf. 1.3.1.6). Ce prédicteur, noté P paral (v, t), s appuie sur l hypothèse que le sommet v àprédire forme un parallélogramme avec le triangle formé par trois de ses voisins déjà codés, notés q, r, ets : P paral (v, t) =χ q t + χ r t χs t, (4.5) Le prédicteur ELP (Figure 4.5), noté P ELP (v, t), introduit un facteur supplémentaire de correction par rapport à la règle du parallélogramme. Ainsi, la valeur prédite à l instant t est-elle corrigée par l erreur correspondante de prédiction à l instant t 1, notée par ɛ paral (v, t), comme décrit dans l équation suivante : où P ELP (v, t) =P paral (v, t)+ɛ paral (v, t), (4.6) ɛ paral (v, t) =χ v t 1 P paral(v, t 1). (4.7) Figure 4.5 : Prédicteur ELP. Le prédicteur Replica (Figure 4.6), noté P Replica (v, t), exprime la position χ v t 1 du sommet v à l instant t 1dansunrepère local R Replica (v, t 1) = (χ s t 1,Av t 1,Bv t 1,Cv t 1 ) attaché àun triangle voisin (g, r, s) déjà parcouru, comme décrit par l équation (4.8) : χ v t 1 = χs t 1 + av t 1.Av t 1 + bv t 1.Bs t 1 + cv t 1.Cv t 1. (4.8) Ici, χ s t 1 est l origine du repère R Replica(v, t 1) considéré et les vecteurs A v t 1, Bv t 1 et Cv t 1 sont définis par (Figure 4.6) : A v t 1 = χr t 1 χs t 1, (4.9) Bt 1 v = χq t 1 χs t 1, (4.10) C v t 1 = A v t 1 B v t 1 A v t 1 B v t 1 3, (4.11) où l opérateur désigne le produit vectoriel de deux vecteurs et. la norme euclidienne. Notons que le repère ainsi construit n est pas orthogonal, seul le vecteur Ct 1 v étant par définition orthogonal aux vecteurs A v t 1 et Bv t 1. Les coordonnées relatives (a v t 1,b v t 1,c v t 1)deχ v t 1 dans le repère R Replica (v, t 1) s expriment alors comme : a v t 1 = Av t 1 Dv t 1 Bv t 1 Bv t 1 + Bv t 1 Dv t 1 Av t 1 Bv t 1, (4.12) A v t 1 A v t 1 Bt 1 v Bt 1 v + A v t 1 Bt 1 v A v t 1 Bt 1 v

106 Représentation et compression de maillages 3D animés : état de l art b v t 1 = Av t 1 Dt 1 v A v t 1 Bt 1 v + Bt 1 v Dt 1 v A v t 1 A v t 1 A v t 1 Bv t 1 Av t 1 Bv t 1 + Bv t 1 Bv t 1 Av t 1, Av t 1 (4.13) c v t 1 = Dv t 1 Cv t 1, (4.14) avec Dt 1 v =(χv t 1 χs t 1 ). Ces coordonnées locales sont enfin exploitées pour prédire la position du sommet v à l instant t sous l hypothèse que les coordonnées relatives au nouveau repère R Replica (v, t) = (χ s t,av t,bv t,cv t )à l instant t sont conservées de l instant (t 1) à t. La prédicteurp Replica (v, t) est alors défini par : P Replica (v, t) =χ s t + av t 1.Av t + bv t 1.Bv t + cv t 1.Cv t. (4.15) Notonsqueleprédicteur ELP est idéal (i.e., conduit à une erreur résiduelle de prédiction nulle) pour les translations. Le prédicteur Replica, plus complexe, parvient àprédirelegroupedes transformations de similarités avec une erreur résiduelle de prédiction nulle. Figure 4.6 : Prédicteur Replica. Dans [123], les auteurs proposent une variante du prédicteur Replica appelé AP(Angle Preserving) qui s appuie cette fois sur la construction d un repère orthogonal local, autour de chaque sommet du maillage. Plus précisément, le repère orthonormé R AP (v, t) =(Ot v,xv t,yv t,zv t ) associé au sommet v à l instant t est défini par (figure 4.7) : Ot v = 1 2 (χr t + χ q t ), (4.16) Yt v = χq t χ r t χ q t χ r t, (4.17) Zt v = Xv t Xv t, (4.18) où Xt v est un vecteur du plan (χ q t,χ r t,χs t ) orthogonal à Y t v. Etant donné que le prédicteur AP définit des repères orthonormés, la matrice de transition du repère R AP (v, t 1) vers R AP (v, t) est orthogonale. Cette propriété implique la préservation desanglesentrelessommetsv, q, r et s d où le nom de ce prédicteur. Notons qu il s agit d un prédicteur idéal pour les mouvements rigides.

4.5 Synthèse bibliographique 107 Figure 4.7 : Prédicteur AP. Dans [124], les auteurs proposent le prédicteur MV (vertex-wise Motion Vector), noté P MV (v, t), dont le principe consiste àprédire le mouvement d un sommet par une moyenne pondérée des mouvements de ses voisins antérieurs. Ce prédicteur peut également être interprété comme une généralisation au cas dynamique du prédicteur moyenneur, noté P moyen (v, t), introduit dans [41] qui associe à un sommet v une moyenne pondérée des positions de ses voisins décodés (Figure 4.8). Plus précisément, le prédicteur P moyen (v, t) estdéfini comme : P moyen (v, t) = α w χ w t, (4.19) w ℵ(v) où ℵ(v) ={w 1,w 2,..., w N } est une fenêtre spatiale de prédiction constituée de l ensemble des sommets voisins de v déja décodés et (α w ) w ℵ(v) sont des poids réels associés à ces sommets. Contrairement à [41], où des poids uniformes αw unif = 1 sont considérés, les auteurs proposent de dériver les poids optimaux (αw opt ) w ℵ(v) minimisant l erreur quadratique moyenne de ℵ(v) prédiction sous la contrainte : =1. (4.20) w ℵ(v) α opt w Le prédicteur MV est obtenu en corrigeant la position prédite par le prédicteur moyenneur à l instant t par l erreur correspondante à l instant t 1 (voir figure 4.9) : P MV (v, t) =P moyen (v, t)+(χ v t 1 P moyen (v, t 1)). (4.21) L erreur résiduelle de prédiction, notée ɛ MV (v, t), est alors définie comme : ɛ MV (v, t) =χ v t P MV (v, t). (4.22) Notons que dans le cas de déformations élastiques, les auteurs montrent que le prédicteur MV atteint ses limitations. Ils proposent alors d appliquer une deuxième étape de prédiction supplémentaire, portant sur les erreurs résiduelles ɛ MV (v, t). Quatre modes de prédiction, nulle, spatiale, temporelle et spatio-temporelle sont finalement proposés. Une dernière optimisation concerne le partitionnement des sommets du maillage en parties caractérisées par des modes de prédiction différents, déterminées de façon optimale par la minimisation d un critère débit/distorsion.

108 Représentation et compression de maillages 3D animés : état de l art Figure 4.8 : Prédicteur moyenneur (N=4). En pratique, le prédicteur MV se montre particulièrement efficace à bas débits comme analysé dans [123]. De plus, dans le cas où des poids uniformes sont utilisés, ce prédicteur nécessite uniquement des opérations d addition ce qui réduit considérablement sa complexité de calcul. Figure 4.9 : Prédicteur MV. Dans [126], le codeur SSLPC (Spatial Scalable Linear Predictive Coder) hybride la stratégie de prédiction MV avec une structure hiérarchique définie exclusivement à partir de la connectivité du maillage. Celle-ci est tout d abord progressivement décimée, comme décrit dans la section 7.4.3. La stratégie de simplification sous-jacente consiste à éliminer à chaque niveau tous les sommets de valence inférieure à 6, puis à appliquer une procédure de remaillage visant à maintenir les valences de leurs voisins autour d une valeur de 6. Soient L le nombre de niveaux de décimation appliqués et Γ l la connectivité obtenue àl étape de décimation l. En partant du niveau de détails le plus grossier Γ L 1, le processus de simplification est inversé eninsérant successivement les sommets dans l ordre inverse de leur décimation. La position d un sommet

4.5 Synthèse bibliographique 109 v Γ l est alors prédite en appliquant le prédicteur MV avec poids uniformes et en considérant la connectivitéγ l. Les auteurs introduisent également le codeur STSLPC (Spatio-Temporal Scalable Linear Predictive Coder) qui exploite une variante de MV avec une prédiction temporelle bidirectionnelle. Enfin dans [127], les codeurs LOPC (Layered One-directionnal Predictive Coder) et LBPC(Layered Bi-directionnal Predictive Coder ) exploitent les predicteurs de SSLPC et STSLPC relativement à un repère local lié auvoisinage dusommet courant de façonanalogue à [123]. Les techniques MPEG-4/AFX-IC, Dynapack, MV et AP présentent l avantage d un faible coût de calcul, ce qui les rend particulièrement adaptées aux applications de décodage en tempsréel. Toutefois, une règle de parcours déterministe des sommets du maillage est nécessaire, ce qui présente un handicap pour des fonctionnalités plus avancées comme la scalabilité spatiale ou la scalabilité en qualité. Les approches SSLPC, STSLPC, LOPC et LBPC s affranchissent de ces limitations en combinant prédiction spatio-temporelle locale et représentation hiérarchique du maillage dynamique. Notons toutefois que la structure hiérarchique proposée est générée exclusivement à partir de l information de connectivité sans aucune référence àlagéométrie du maillage. Dans le cas de modèles caractérisés par un échantillonnage spatial non-uniforme, les niveaux de détails intermédiaires obtenus ainsi que les prédicteurs hiérarchiques proposés sont alors sous-optimaux ou même inefficaces. Une deuxième famille de méthodes, décrite dans le paragraphe suivant, assure la scalabilité en qualité à l aide d une ACP du signal géométrique tout en garantissant l optimalité, au sens de la norme euclidienne, des représentations intermédiaires. 4.5.2 Compression par ACP Cette famille de méthodes a été initiée dans [128], où une ACP du champ de déformation du maillage est proposée pour représenter la géométrie dynamique du maillage. Le codeur PCA (Principal Component Analysis compression) proposé applique tout d abord une procédure de compensation du mouvement rigide global. Le champ de mouvement résiduel obtenu est ensuite décomposé sur la base des vecteurs propres de l ACP. Pour représenter le signal géométrique, on retient un ensemble de vecteurs propres de la base ACP correspondant aux plus grandes valeurs propres, ainsi que les coefficients de la décomposition obtenue. Dans [129], les auteurs présentent une variante de l approche PCA avec une procédure de compensation du mouvement affine global combinée à une ACP réalisée de manière indépendante selon chacune des coordonnées x, y et z. Une procédure de sélection automatique du nombre de vecteurs de base retenus fondée sur l analyse des valeurs propres de l ACP, est également proposée. L approche PCA est encore reprise et améliorée dans [130] à l aide d un schéma de prédiction linéaire de second ordre dans l espace des coefficients de la décomposition. Les auteurs montrent qu en combinant ACP et prédiction linéaire il est possible de mieux prendre en compte les corrélations temporelles du signal géométrique. Contrairement à [128], le codeur LPCA (Linear PCA) propose une étape supplémentaire de quantification uniforme des vecteurs propres et des coefficients de la décomposition. Dans [131, 132], la procédure de quantification de LPCA est raffinée davantage à l aide d une quantification adaptative des vecteurs propres, guidée par une procédure d optimisation minimisant les distorsions sous la contrainte d un débit fixé. A bas débits, l approche APCA

110 Représentation et compression de maillages 3D animés : état de l art (Adaptive PCA coder) proposée montre des gains significatifs par rapport aux techniques PCA et LPCA. Dans une optique légèrement différente, le codeur CODDYAC [133] exploite une ACP dans l espace des trajectoires 20 des sommets (au lieu de l appliquer dans l espace des formes 21 ). Une prédiction des coefficients de la décomposition, par règle du parallélogramme (cf. Section 4.5.1) est également introduite. La technique proposée est particulièrement efficace dans le cas des géométries fortement corrélées spatialement. Afin d alléger la complexité de calcul, les auteurs proposent de segmenter l animation en sous-séquences temporelles qui sont traitées de manière indépendante. Sur la même lignée, l approche CPCA (Clustered PCA) [134] exploite une procédure de segmentation [135] des sommets du maillage optimisée pour une représentation par ACP. Les trajectoires des sommets de chaque partie sont ensuite analysées par ACP afin d en extraire un ensemble de trajectoires propres. Celles-ci sont à leur tour compressées en appliquant une deuxième ACP qui vise àéliminer les corrélations temporelles. Les résultats rapportés [134] montrent que l approche CPCA permet de mieux capturer les comportements linéaires locaux du champ de mouvement par rapport aux techniques [128] et [130]. L approche RLPCA (Relative Local Principal Component Analysis) présentée dans [136] segmente le maillage dynamique au sens du mouvement afin de dériver un ensemble de repères locaux associés aux différents clusters de la partition. Les trajectoires des sommets sont exprimées dans ces repères locaux avant compression par ACP. Les approches CPCA et RLPCA utilisent le même nombre de vecteurs propres pour l ensemble des clusters considérés. Ce paramètre doit être fixé manuellement par l utilisateur, ce qui constitue une limitation de ces méthodes. Afin de s affranchir de cet inconvénient, une méthode de sélection automatique et adaptative du nombre de vecteurs propres de chaque cluster est proposée dans [137]. Le principe est d appliquer une procédure d optimisation minimisant les distorsions de compression sous la contrainte d un débit fixé. Les approches PCA, LPCA et APCA sont spécifiquement adaptées àdesséquences longues et répétitives avec un nombre de sommets relativement réduit par rapport au nombre de trames. A l opposé, les techniques CODDYAC, CPCA et RLPCA sont optimisées pour des séquences animées avec de fortes corrélations spatiales. En ce qui concerne la complexité de calcul, les approches PCA, LPCA et APCA sont très gourmandes en temps de calcul, avec une complexité deo(v T 2 + V 2 T + min(v,t) 3 ) [129]. Cela est dû au traitement global des séquences animées, aussi bien au niveau spatial que temporel. Les techniques CPCA, CODDYAC et RLPCA apportent des éléments de solution àceproblème en appliquant une segmentation spatiale et/ou temporelle de l animation et une ACP indépendante sur chacune des parties déterminées. Les procédures de segmentation proposées par CPCA et RLPCA restent en revanche relativement complexes en temps de calcul et nécessitent l intervention de l utilisateur pour spécifier le nombre de clusters. Les approches de compression par ACP répondent pleinement à la fonctionnalité descala- bilité en qualité qui est naturellement acquise en transmettant les vecteurs et les coefficients correspondants dans un ordre décroissant des valeurs propres associées. Les représentations intermédiaires générées sont en plus optimales par rapport à la norme euclidienne étant donné les propriétés de la transformée KL (Karhunen-Loève)[138, 139] sous-jacente. Notons toutefois 20. Espace vectoriel ou chaque vecteur décrit l évolution temporelle d une des trois coordonnées x, y ou z d un sommet arbitraire fixé. 21. Espace vectoriel ou chaque vecteur décrit la géométrie du maillage àuninstantt donné.

4.5 Synthèse bibliographique 111 que la scalabilité spatiale des flux compressés n est pas assurée, la connectivité du maillage restant fixe quel que soit le niveau de détaildusignalgéométrique considéré. Ces aspects de scalabilité spatiale et en qualité sont notamment pris en compte par les techniques à base de transformées en ondelettes, décrites dans le paragraphe suivant, qui s appuient sur le concept d analyse multirésolution. 4.5.3 Compression par transformées en ondelettes Depuis maintenant plus de 20 ans, les transformées en ondelettes sont intensivement utilisées pour le codage d images et de vidéos dans des contextes aussi bien académiques, industriels que de normalisation internationale. Ce large succès s explique par le riche éventail de fonctionnalités offertes, alliant dans un cadre unifié efficacité de compression, scalabilité spatialeet en qualité etcomplexitédecalculréduite. L extension des ondelettes, classiquement définies sur des connectivités régulières (i.e., grille régulière de pixels de l image), à desmaillages 3Dde topologiesarbitrairesn est en revanche pas un problème trivial. La littérature relativement récente consacrée à ce sujet fait apparaître trois grandes familles d approches : ondelettes temporelles, spatiales régulières ou semi-régulières et spatiales irrégulières. La première famille d approches opère une décomposition en ondelettes 1D selon la dimension temporelle de l animation, seule bénéficiant en général d une structure d échantillonnage régulière. 4.5.3.1 Ondelettes temporelles Dans [140], les auteurs introduisent une approche de compression fondée sur une analyse en ondelettes 1D du champ de vitesses de l animation. Le codeur proposé calcule tout d abord la séquence des vecteurs vitesse (ϑ v t ) t associés à chaque sommet v à l instant t. Une analyse en ondelettes B-spline cubiques 1D [141] aux trois coordonnées x, y et z de (ϑ v t ) t est ensuite appliquée. En raison des corrélations temporelles du signal vitesse, les coefficients ondelettes obtenus sont en pratique concentrés sur les basses fréquences. Les auteurs proposent alors de coder et de transmettre uniquement les coefficients supérieurs à un certaine seuil minimal ɛ, spécifié par l utilisateur. Le reste des coefficients est mis à zéro. Au niveau du décodeur, une version approchée ( ϑ v u ) t du signal vitesse est reconstruite en appliquant la transformée en ondelettes inverse. En disposant de la position initiale du sommet v ainsi que de ses vecteurs vitesses à tout instant, la trajectoire reconstruite ( χ v t ) t du sommet v est obtenue comme décrit par l équation (4.23) : u=t 1 χ v t = χv 1 + u=1 ϑ v u. (4.23) Notons toutefois que cette dernière étape peut introduire un phénomène de propagation des erreurs. En effet, les vecteurs vitesse reconstruits ( ϑ v u ) t peuvent être différents des originaux, typiquement dans le cas où ils subissent une procédure de quantification. Dans [142], le codeur TWC (Temporal Wavelet-based Compression) compresse l animation en appliquant un schéma de lifiting [58] temporel 1D aux trajectoires des sommets. Une prédiction delta est ensuite appliquée aux coefficients de basses fréquences. Les coefficients ondelettes obtenus sont enfin quantifiés de façon adaptative afin d optimiser la qualité visuelle de

112 Représentation et compression de maillages 3D animés : état de l art l animation reconstruite sous la contrainte d un débit fixé. L approche TWC est efficace dans le cas des animations présentant des corrélations temporelles relativement importantes. Toutefois, la non-prise en compte des éventuelles corrélations spatiales pénalise sévèrement son efficacité, surtout dans le cas des séquences animées courtes avec un nombre de sommets important. En outre, observons que l étape de prédiction spatiale des coefficients de basses fréquences de la décomposition en ondelettes peut introduire une propagation des erreurs comme le montre la dégradation significative des performances du codeur à très bas débits [142]. Dans [143], les auteurs améliorent les performances de [142] en introduisant une étape de compensation de mouvement. Le maillage est partitionné en un nombre K de parties, prédéfini par l utilisateur. Le mouvement de chaque partie est décrit par un vecteur 3D de déplacement correspondant à un mouvement translationnel global associéà la partie considérée. Aucune procédure de segmentation au sens du mouvement du maillage dynamique n est en revanche proposée. De plus, le modèle translationnel de compensation de mouvement montre ses limitations pour des mouvements plus complexes (e.g., rotations, déformations élastiques) caractéristiques des animations de personnages articulés. Dans [144, 145, 146], les auteurs s affranchissent de ces limitations en adoptant une stratégie de compensation du mouvement par modèle affine par morceaux. Le codeur MCDWT (Motion Compensated Discrete Wavelet Transform) proposé exploite une procédure de segmentation au sens du mouvement par croissance de région dont le principe est le suivant. Tout d abord, un sommet est choisi au hasard et la transformée affine décrivant de manière optimale (au sens des moindres carrés) le mouvement de son voisinage de premier ordre est calculée. L ensemble des sommets dont le mouvement peut être décrit par cette même transformée affine avec une erreur de compensation de mouvement inférieure à un seuil ɛ sont regroupés dans un même cluster. Ensuite, un nouveau sommet est tiré au hasard à partir des sommets restants et le processus est réitéré jusqu à ce que l ensemble des sommets du maillage soient assignés à une partie. Notons que le paramètre ɛ est ici fixé empiriquement. Les résultats rapportés par les auteurs montrent que les valeurs optimales peuvent varier significativement d une animation à une autre. Une deuxième famille d approches multirésolution s appuie sur une conversion de la connectivité irrégulière initiale du maillage en une connectivité semi-régulière ou totalement régulière, adaptée à la compression par ondelettes spatiales 2D. 4.5.3.2 Ondelettes spatiales régulières et semi-régulières La technique SRWC (Semi-Regular Wavelet-based Compression) présentée dans [147, 148] opère un remaillage semi-régulier de la connectivité du maillage dynamique, afin de construire un schéma de lifting de type Butterfly [149]. Plus précisément, le codeur SRWC exploite la procédure de remaillge décrite dans [62] afin de déduire une paramétrisation de la première trame M 1 sur un maillage de base obtenu par décimation [150] de M 1. La version remaillée est obtenue en exploitant un schéma de subdivision de type Butterfly, les informations de paramétrisation ainsi qu une procédure de lancée de rayon. La transformée en ondelettes semirégulière ainsi générée est ensuite appliquée au signal d animation en tenant compte des mouvements rigides locaux des sommets. Les coefficients de la décomposition en ondelettes obtenus sont enfin quantifiés et compressés avec le codeur SPIHT [60]. Dans [12], les auteurs proposent la représentation Geometry Video (GV) dont le principe consiste à convertir la géométrie 3D dynamique en une séquence d images 2D. L approche GV exploite un découpage du maillage (nécessaire pour obtenir une topologie homéomorphe à un

4.5 Synthèse bibliographique 113 disque) et une paramétrisation sur un domaine 2D carré. La topologie initiale du maillage est complètement abandonnée et remplacée par une topologie régulière, obtenue en échantillonnant uniformément le domaine paramétrique. Une procédure de compensation du mouvement affine global est tout d abord appliquée aux images géométriques construites. La séquence des erreurs résiduelles ainsi obtenues est ensuite compressée par le codeur d images 2D EZW (Embedded Zerotree Wavelet encoder) [151]. Les codeurs [147, 148] et [12] offrent des performances de compression compétitives tout en assurant des fonctionnalités de scalabilité spatialeetenqualité. En revanche, la procédure de remaillage considérée peut conduire à une perte de détails de la surface ainsi qu à l apparition d artéfacts visuels dans les régions de forte distorsion de paramétrisation. Afin de s affranchir des distorsions inhérentes à toute technique de paramétrisation, une dernière famille d approches propose une construction directe d ondelettes irrégulières définies sur des structures topologiques arbitraires. 4.5.3.3 Ondelettes spatiales irrégulières Dans [152], les auteurs introduisent une famille d ondelettes anisotropes irrégulières, définies pour un maillage de connectivité arbitraire. Ici, les coefficients des filtres d analyse varient en fonction du voisinage topologique et des propriétés géométriques locales autour de chaque sommet du maillage. Par conséquent, ils doivent être codés et intégrés dans le flux binaire, pour assurer leur disponibilitéauniveaududécodeur. Cette information paramétrique supplémentaire, coûteuse en terme de débit, rend cette approche inadaptée à la compression de maillages statiques. Toutefois, elle trouve pleinement son utilité dans le cas des maillages dynamiques, où cette information peut être déduite à partir uniquement de la première trame. Les développements théoriques introduits dans [152] sont appliqués à des objectifs de compression dans [153]. La technique proposée, dite Animation Wavelets Compression (AWC), construit une famille d ondelettes anisotropes irrégulières, à partir d une structure hiérarchique de maillages progressifs [10] déduite à partir de la première trame de la séquence. Dans [154], les auteurs appliquent l approche de codage par ondelettes irrégulières [63] définie pour le cas statique (cf. Section 1.3.2.9) à la compression de maillages dynamiques. De façon analogue au codage vidéo, trois types de trames sont considérés : (1) les trames de type de I traitées de façon indépendante (sans prédiction temporelle), (2) les trames de type Pprédites àpartirdeladernière trame I et (3) les trames de type B prédites à partir de deux trames de type I ou P. Contrairement à [153], l approche proposée dans [154] permet un codage quasi-sans perte. La famille d ondelettes proposée reste cependant sous-optimale, les filtres utilisés ainsi que la structure de subdivision étant dérivés pour la majorité des sommets (cf. Section 1.3.2.9) à partir de la connectivité du maillage sans tenir compte de la géométrie. Les approches de compression par ondelettes irrégulières [153] et [154] permettent d atteindre des taux de compression compétitifs. La structure hiérarchique définie par la construction des ondelettes leur permet de supporter de façon naturelle les fonctionnalités de scalabilité spatiale et de scalabilité en qualité. Ainsi, pour les deux approches, au niveau du décodeur, le maillage de base est raffiné eninsérant successivement les sommets décimés dans l ordre inverse de leur simplification. Cela permet de générer des niveaux de détails successifs en décodant à chaque étape uniquement les coefficients ondelettes associés aux sommets insérés. Les approches [153] et [154] sont en revanche inadaptées aux maillages avec un nombre réduit de sommets par composante connexe, où les structures de subdivision utilisées ne comportent pas suffisamment de niveaux hiérarchiques pour décomposer le signal de façon efficace. Cela limite le domaine d application de ces techniques.

114 Représentation et compression de maillages 3D animés : état de l art Une dernière famille d approches, décrite dans le paragraphe suivant, étend aux maillages 3D animés les techniques traditionnelles de compression vidéo, en considérant un mécanisme de compensation de mouvement associé à une partition du maillage. 4.5.4 Compression par segmentation C est dans cette famille que s inscrit la toute première méthode de compression de maillages animés introduite par Lengyel [120], dont le principe consiste à segmenter le maillage en composantes dont le mouvement peut être décrit fidèlement par une transformée affine. L approche heuristique de segmentation proposée sélectionne au hasard 10% des triangles du maillage et réalise une classification des sommets restants par rapport au mouvement de ces triangles. L animation est alors exprimée par l ensemble des transformées affines obtenues ainsi que par l ensemble des erreurs de compensation de mouvement associées. Les transformées affines sont codées sans pertes. Les erreurs de prédiction sont quantifiés et compressées avec un codeur arithmétique [26]. Une extension du codeur de Lengyel, fondée sur une mise en correspondance des sommets du maillage aux différents instants temporel de l animation par l algorithme ICP (Iterative Closest Point), est proposée dans [155]. Le principe consiste à dériver une segmentation purement topologique [156] qui vise à partitionner le maillage en K parties avec un nombre quasi-égale de sommets, tout en minimisant le nombre de sommets situés àlafrontière des parties obtenues. L algorithme ICP est ensuite utilisé pour estimer le mouvement affine de chacune de ces parties. Les sommets du maillage sont enfin catégorisés en deux types : (1) sommets dont le mouvement peut être décrit uniquement par des transformées affines et (2) sommets dont le mouvement est décrit par une composante affine et un terme supplémentaire d erreur résiduelle de compensation de mouvement. Dans [157], les auteurs généralisent cette approche au cas des maillages dynamiques avec connectivité variable dans le temps. Le codeur RT (Rigid Transform) proposé dans [158] étend encore l approche initiale de Lengyel en modélisant cette fois le mouvement des sommets uniquement par un ensemble de transformées rigides et en s affranchissant de toute erreur résiduelle de compensation de mouvement. Les auteurs introduisent également une nouvelle procédure de segmentation fondée sur une minimisation au sens des moindres carrés. Le principe consiste à regrouper itérativement le maillage dynamique en parties jusqu à ce que l erreur globale de compensation de mouvement devienne supérieure à un certain seuil pré-défini. L approche PSC (Predictive Spectral Compression) introduite dans [159] exploite une procédure de segmentation au sens du mouvement par croissance de régions analogue à celle définie dans [136]. Les trajectoires des sommets sont ensuite exprimées dans des repères locaux liés à chaque cluster. Les trajectoires relatives ainsi obtenues sont enfin compressées en appliquant des transformées DCT temporelles aux coordonnées des sommets. Les coefficients DCT sont quantifiés uniformément, puis codés à l aide du codeur arithmétique décrit dans [26]. Dans [160], les auteurs proposent le codeur TS (Triangle Strips-based compression) qui exploite la connectivité fixe du maillage dynamique pour le décomposer en bandes de triangles (BT) de longueurs quasi-uniformes. Par analogie avec les méthodes de codage vidéo, une procédure de compensation de mouvement est appliquée à chaque BT en modélisant son mouvement par un vecteur vitesse moyen. Les erreurs résiduelles de compensation de mouvement sont enfin compressées en appliquant des DCT 1D spatiales selon les trois coordonnées x, y et z des sommets de chaque bande.

4.6 Analyse et discussion 115 Une représentation différente est proposée dans [161]. Ici, une structure volumique d arbre octal (octree) est initialement définie à partir de la boîte englobante de l objet. Ensuite, huit vecteurs de mouvement sont associés aux sommets de chaque sous-cube de l arbre. Le mouvement des sommets du maillage à l intérieur de chaque sous-cube est alors calculé par interpolation trilinéaire [162] à partir de ces vecteurs. Ainsi, le champ de mouvement est-il représenté à l aide de la structure d arbre octal et des vecteurs de mouvement associés à ses sommets. Une version optimisée de cette approche, appelée Dynamic 3D Mesh Compression (D3DMC), est proposée dans [162, 163]. Dans [162], les auteurs utilisent un codeur arithmétique avec contextes afin de mieux exploiter les propriétés statistiques du signal. Dans [163], ils raffinent la modélisation du mouvement en associant à chaque sommet : (1) soit le vecteur vitesse moyen du cube, (2) soit le résultat d une interpolation trilinéaire, (3) soit la valeur exacte du vecteur si les deux derniers modèles sont inefficaces. En exploitant des représentations semi-globales combinées à des modèles de mouvement, les approches de compression par segmentation permettent de modéliser de façon compacte une large catégorie de mouvements. Les performances de compression ainsi que la complexité de calcul de ces approches sont souvent déterminées par la procédure de segmentation considérée. Leur limitation majeure est liée principalement aux discontinuités que le modèle de mouvement peut présenter à la frontière entre parties qui peuvent induire des artéfacts visuels notamment àbasdébits. 4.6 Analyse et discussion L analyse de l état de l art montre que la grande majorité des approches de compression de maillages dynamiques 3D reprend le schéma et les principes traditionnels [164] de codage vidéo en deux phases : (1) compensation de mouvement et (2) codage par transformées des erreurs résiduelles de prédiction. Les tableaux 4.4 et 4.5 synthétisent respectivement les différentes stratégies adoptées par ces techniques ainsi que les différentes fonctionnalités supportées. Au niveau de la compensation de mouvement, une première stratégie exploite des modèles de mouvement relativement simples fondés sur une prédiction spatio-temporelle locale. A l opposé, un deuxième type d approches met en oeuvre une compensation du mouvement globale du maillage. Ces deux types de prédicteurs s avèrent en pratique inadaptés pour la modélisation des mouvements complexes (e.g., mouvement de personnages articulés). Pour s affranchir de ces limitations, les techniques les plus récentes privilégient une modélisation semi-globale du mouvement. Dans ce cas, le maillage animé est tout d abord segmenté en parties sur lesquelles des modèles de mouvement sont ensuite construits. L inconvénient majeur de cette modélisation par morceaux est lié aux discontinuités du champ de mouvement au niveau des frontières des parties. Ces discontinuités deviennent particulièrement visibles à bas débits et dégradent considérablement la qualité des animations reconstruites. En ce qui concerne le codage des erreurs résiduelles de prédiction, les techniques de l état de l art exploitent le plus souvent une transformée (temporelle, spatiale ou spatio-temporelle) afin de décorréler le signal. Le choix de la transformée a une répercussion considérable sur l efficacité de compression, sur la complexité de calcul ainsi que sur les fonctionnalités supportées. Une première classe d approches exploitent une simple quantification uniforme des erreurs résiduelles de compensation de mouvement, couplée avec un codage arithmétique. Elles offrent la complexité de calcul la plus basse tout en assurant la fonctionnalité de codage quasi-sans pertes sur les erreurs de prédiction. Ces techniques se montrent néanmoins peu efficaces en

116 Représentation et compression de maillages 3D animés : état de l art termes de performances de compression, surtout à bas débit. En outre, elles ne supportent la fonctionnalité de scalabilité en qualité. Enfin, observons que seules les techniques par prédiction hiérarchique offrent la fonctionnalité de scalabilité spatiale. Les méthodes exploitant des transformées en DCT ou ondelettes temporelles semblent offrir le meilleur compromis entre complexité de calcul et efficacité de compression. De plus, ces transformées supportent de façon naturelle la scalabilité en qualité puisque les coefficients spectraux peuvent être transmis progressivement, à partir des basses fréquences. Ces approches n assurent pas en revanche la fonctionnalité de scalabilité spatiale. Les méthodes à base de transformées en ondelettes spatiales régulières ou semi-régulières offrent un large éventail de fonctionnalités : scalabilité spatiale, temporelle et en qualité. Les principales limitations de ces approches sont liées en revanche àlaprocédure de remaillage sousjacente qui est complexe en temps de calcul et peut favoriser l apparition de discontinuités et d artéfacts visuels. Les approches de compression par ondelettes spatiales irrégulières s affranchissent de ces limitations en définissant des ondelettes adaptées à la connectivité du maillage. Ces techniques offrent de bonnes performances de compression tout en assurant la scalabilité spatiale, temporelle et en qualité. En revanche, elles ne garantissent pas l optimalité des niveaux de détails intermédiaires générés. Les techniques de compression par ACP exploitent une transformée de KL qui assure l optimalité au sens de la norme euclidienne des représentations intermédiaires décodées au cours du processus de transmission. Ces techniques souffrent cependant d une complexité de calcul exorbitante, ce qui les rend en pratique inexploitables. Une segmentation (spatiale ou temporelle) préalable du maillage dynamique est souvent proposée pour s affranchir de cet inconvénient. Toutefois, le flux compressé n est scalable ni temporellement, ni spatialement. Bien que les fonctionnalités de streaming, de codage quasi-sans perte, ou de codage d attributs photométriques liées à la surfaces(e.g. normales, couleurs...) sont fondamentales pour exploitation industrielle des codeurs proposés, ces aspects restent le plus souvent non-traités, voire non-supportés par les techniques de la littérature. 4.7 Conclusion Dans ce chapitre, après une rapide synthèse des domaines d application des contenus 3D dynamiques ainsi que des techniques de création et de représentation de ces données, nous avons présenté un état de l art des méthodes de compression de maillages 3D animés. Quatre grandes familles d approches, prédictives, par ACP, à base de transformées en ondelettes ou encore par segmentation ont été identifiées et décrites avec, principe, méthodes représentatives, avantages et limitations. L analyse de l état de l art montre qu il n existe pas actuellement de méthode satisfaisant à la fois aux contraintes d efficacité de compression, de faible complexité de calcul ainsi qu à des fonctionnalités plus avancées comme le streaming, le codage des attributs, la scalabilité (spatiale, temporelle et en qualité) ou encore le codage quasi-sans pertes. Les deux méthodes originales de compression de maillages dynamiques que nous proposons dans cette thèse s attaquent notamment à cet objectif. S inscrivant dans le cadre des approches par segmentation au sens du mouvement, elles font cohabiter différentes techniques prédictives

4.7 Conclusion 117 Techniques Compensation de mouvement Codage des erreurs résiduelles IC [121], Dynapack Prédiction spatio-temporelle Quantification [122], AP [123] et MV [124] locale Codage arithmétique SSLPC, STSLPC [126], Prédiction hiérarchique spatio- Quantification uniforme LOPC et LBPC [127] temporelle locale Codage arithmétique PCA [128, 129] Compensation du mouvement ACP rigide ou affine global LPCA [130] Compensation du mouvement ACP rigide global Prediction linéaire temporelle Quantification uniforme APCA [131, 132] Compensation du mouvement ACP rigide global Quantification adaptative CPCA [134] Compensation des translations ACP par parties globales Quantification uniforme RLPCA [136, 137] Compensation par parties des ACP par parties mouvements rigides Sélection adaptative des vecteurs propres Quantification uniforme CODDYAC [133] Prédiction par la règle du ACP parallélogramme Quantification uniforme TWC [142] Prédiction spatiale des coefficients Schéma de lifting 1D ondelettes basses fréquences Quantification adaptative MCDWT Compensation par parties Schéma de lifting 1D [144, 145, 146] du mouvement affine Quantification adaptative SRWC [147, 148] Compensation des mouvements Schéma de lifting semi-régulier rigides locaux Quantification uniforme Codeur SPIHT GV [12] Compensation du mouvement Ondelette régulières afine global Codeur EZW TO irrégulières Prédiction delta temporelle Ondelettes anisotropes ou [154, 153] paresseuses (lazy) irrégulières Lengyel [120], RT [158] Compensation par parties des Quantification uniforme et ICP [155, 157] mouvements rigides ou affines Codage arithmétique PSC [159] Compensation par parties des DCT temporelle mouvements rigides Quantification uniforme Codage arithmétique TS [160] Compensation des translations DCT spatiale 1D par bandes de triangles Quantification uniforme Codage arithmétique D3DMC [161, 162, 163] Prediction delta temporelle Quantification uniforme Modélisation àbased octree Codage arithmétique Table 4.4 : Etat de l art : stratégies de compensation de mouvements et de codage des erreurs résiduelles de prédiction.

118 Représentation et compression de maillages 3D animés : état de l art Techniques Codage des Scalabilité Scalabilité Scalabilité Quasi-sans Streaming attributs spatiale temporelle en qualité pertes IC [121] Dynapack [122] AP [123] MV [124] SSLPC et STSLPC [126] LOPC et LBPC [127] PCA [128, 129] LPCA [130] APCA [131, 132] CPCA [134] RLPCA [136, 137] CODDYAC [133] TWC [142] MCDWT [144, 145, 146] SRWC [147, 148] GV [12] TO irrégulières [154] AWC [153] Lengyel [120] RT [158] ICP [155, 157] PSC [159] TS [160] D3DMC [161, 162, 163] Table 4.5 : Etat de l art : fonctionnalités supportées. IC : Interpolation Compression, AP: Angle Preserving, MV : vertex-wise Motion Vector, SSLPC : Spatial Scalable Linear Predictive Coder, STSLPC:Spatio-Temporal Scalable Linear Predictive Coder, LOPC:Layered Onedirectionnal Predictive Coder, LBPC:Layered Bi-directionnal Predictive Coder, PCA:Principal Component Analysis compression, LPCA:Linear PCA, APCA:Adaptive PCA coder, CPCA : Clustered PCA, RLPCA: Relative Local PCA, TWC: Temporal Wavelet-based Compression, MCDWT:Motion Compensated Discrete Wavelet Transform, SRWC:Semi-Regular Wavelet-based Compression, GV: Geometry Videos, AWC (Anisotropic Wavelets Compression), TO : Transformée en Ondelettes, RT : Rigid Transform, ICP: Iterative Closest Point, PSC : Predictive Spectral Compression, TS: Triangle Strips-based compression, D3DMC: Dynamic 3D Mesh Compression.

4.7 Conclusion 119 et par transformées pour augmenter l efficacité de compression et répondre aux besoins fonctionnels des applications industrielles modernes. De manière plus précise, nos contributions portent sur : l élaboration d une procédure automatique de segmentation au sens du mouvement fondée sur une représentation hiérarchique, la mise en oeuvre d un modèle de peau(skinning), inspiré des techniques d animation 3D (cf. Section 4.2) qui permet de modéliser de manière fidèle le champs de mouvement, tout en s affranchissant des problèmes de discontinuités au niveau des frontières, la mise en place d un schéma de codage générique, avec une architecture flexible et modulable supportant notamment les fonctionnalités de streaming, de scalabilité (temporelle, spatiale et en qualité), de prise en compte de codage d attributs photométriques et de compression quasi-sans pertes. Les aspects relatifs à la modélisation de mouvement, avec procédure de segmentation et modèle de peau (skinning) sontdécrits en détails au Chapitre 5. Ensuite, les chapitres 6 et 7 présentent en détails les deux shémas de compression proposés, appelés MCGV (Multi-Chart Geometry Video) etfamc(frame-based Animated Mesh Compression).

120 Représentation et compression de maillages 3D animés : état de l art

Chapitre5 Compensation de mouvement par modèle de peau (skinning) Résumé : Ce chapitre introduit la procédure de compensation de mouvement par modèle de peau (skinning). Dans ce contexte, deux approches originales de segmentation au sens du mouvement d un maillage 3D animés, sont tout d abord proposées. Elles permettent, à partir d une représentation par trames clés, de décomposer un maillage dynamique en parties dont les mouvements peuvent être fidèlement décrits par des transformées affines 3D. Le segmentation ainsi générée est ensuite exploitée dans le cadre d une stratégie de compensation de mouvement par modèledepeau(skinning). Le principe est de modéliser le mouvement de chaque partie par une transformée affine. Un champ de mouvement continu sur l ensemble du maillage est ensuite obtenu en combinant linéairement lesmouvementsaffinesdesdifférentes parties avec des poids appropriés. Une procédure automatique de calcul des paramètres du modèle de peau (i.e., transformées affines et poids d animation associés) est également proposée. Le modèle généré est enfin exploité pour prédire les positions ainsi que les normales associées aux sommets du maillage. Mots clés : de prédiction. Modèles de peau, skinning, segmentation au sens du mouvement, modèle 121

122 Compensation de mouvement par modèle de peau(skinning) Inspiré des techniques d animation 3D largement utilisées par les créateurs de contenus graphiques 3D dans le cadre des jeux vidéos et des films d animation, le modèle de skinning repose sur une modélisation par parties du champ de mouvement, exploitant une segmentation du maillage animé [165]. Intuitivement, chaque partie correspond à un sous-ensemble de sommets qui peut subir des mouvements indépendants du reste. Le principe de l animation par modèle de skinning [166] est de modéliser le mouvement de chaque partie par une transformée affine. Un champ de mouvement continu sur l ensemble du maillage est ensuite obtenu en combinant linéairement les mouvements affines des différentes parties avec des poids appropriés. L exemple typique est celui des personnages articulés, où les parties correspondent à des composantes anatomiques du corps du personnage (e.g., bras, jambes, mains...). Comment déterminer automatiquement, à partir d une représentation par trames clés, une segmentation au sens du mouvement du modèle animé en parties dont les mouvements peuvent être fidèlement décrits par des transformées affines 3D? Comment calculer de manière optimale les paramètres du modèle de peau (i.e., transformées affines et poids d animation associés) afin de décrire fidèlement le mouvement global du modèle dynamique? Ce sont les questions auxquelles ce chapitre vise à apporter des éléments de réponse. Ce chapitre est structuré en trois parties. La première est dédiée aux deux approches de segmentation au sens du mouvement que nous proposons, qui sont décrites en détails. Ensuite, nous décrivons le modèle de peau(skinning) associé à la partition ainsi obtenue (Section 5.2). Enfin, les résultats expérimentaux sont présentés et discutés Section 5.3. 5.1 Segmentation au sens du mouvement 5.1.1 Etat de l art Depuis une trentaine d années maintenant, les techniques de segmentation des contenus visuels ont connu un développement considérable comme en atteste le riche état de l art dédié à ce domaine [167]. Ces techniques ont été exploitées à large échelle dans le domaine de traitement d image depuis le début des années quatre-vingts pour des applications diverses, comme la compression, l indexation, l analyse et la modélisation. Avec le développement important qu a connu l imagerie 3D au cours des années quatre-vingt-dix, les techniques de segmentation de maillages statiques 3D [168, 169, 170, 171, 172, 173] s imposent aujourd hui comme un ingrédient indispensable pour un grand nombre d algorithmes de traitement et d analyse de données 3D (e.g., paramétrisation, re-maillage, compression, morphing...). Bien que la segmentation de maillages 3D statiques ait connu un grand essor, un petit nombre de travaux de la littérature traite en revanche de la segmentation au sens du mouvement de maillages 3D dynamiques. Ce domaine relativement récent a été abordé pour la première fois dans [120]. L approche de Lengyel a pour but de segmenter le maillage en composantes dont le mouvement peut être décrit fidèlement par une transformée affine 3D. Dans [120], il propose une approche heuristique de segmentation qui sélectionne au hasard 10% des triangles du maillage et réalise une classification des sommets restants par rapport au mouvement de ces triangles. L approche de Lengyel souffre de problèmes de sur-segmentation étant donné le grand nombre de clusters considérés proportionnel à la complexité du maillage et non de son mouvement. Dans [136], la même approche par croissance de régions est considérée. Les triangles de départ, appelés aussi triangles germes, sont ici choisis en exploitant la technique itérative proposée dans [174]. Le principe consiste à choisir un ensemble N de triangles situés le plus

5.1Segmentationausensdumouvement 123 loin possible les uns des autres au sens de la distance géodésique calculée sur la première trame de l animation. Le premier triangle est choisi au hasard. A la n-ième étape, le nouveau triangle germe est choisi comme étant le triangle le plus éloigné de tous les triangles germes déjà déterminés. Notons que le choix des triangles germes est uniquement fondé surlagéométrie de la première trame et non sur l analyse du champ de mouvement de l animation. Cela explique les résultats de segmentation peu précis de l approche. Dans [144], les auteurs proposent une autre variante de l approche [120]. Le principe consiste ici à choisir au hasard un sommet v et à calculer la transformée affine qui décrit de manière optimale (au sens des moindres carrés) le mouvement de son voisinage de premier ordre. Les sommets dont le mouvement peut être décrit par cette même transformée affine avec une erreur de compensation de mouvement inférieure àunseuilɛ sont regroupés dans un même cluster. Ensuite, un nouveau sommet est tiré au hasard à partir des sommets restants et le processus est réitéré jusqu à ce que tous les sommets du maillage soient assignés à une partie. Comme pour [120] et [174], le choix sous-optimal des triangles germes conduit à une mauvaise classification des sommets situés sur les frontières entres clusters. L approche proposée dans [155] s appuie sur une segmentation initiale obtenue en appliquant l algorithme [156] qui vise à partitionner le maillage en K parties avec un nombre quasi-égal de sommets, tout en minimisant le nombre de sommets situés àlafrontière des parties obtenues. L algorithme ICP (Iterative closest Point) est ensuite utilisé pour estimer le mouvement affine de chacune des parties. La partition finale est enfin calculée en associant à chaque sommet la partie qui décrit le mieux son mouvement. Notons que la segmentation initiale utilisée est obtenue à partir de critères purement topologiques en ne tenant compte ni de de la géométrie, ni du mouvement du maillage animé. Cette initialisation sous-optimale dégrade considérablement les performances de l algorithme ICP, très sensible à l initialisation. Dans [158], les auteurs introduisent une procédure de segmentation fondée sur une minimisation au sens des moindres carrés. Ici, l objectif est d extraire les parties dont le mouvement peut être décrit fidèlement par une transformée rigide (i.e., combinaison d une rotation et d une translation). L algorithme procèdedefaçon itérative. Au départ, tous les sommets du maillage sont considérés comme non classés (i.e., n appartenant à aucun cluster). A chaque étape du processus de segmentation, une procédure de compensation du mouvement rigide global des sommets non classés est appliquée. Les sommets qui induisent une erreur de compensation de mouvement inférieure àunseuildetolérance tol sont ensuite regroupés dans un même cluster et considérés comme classés. Ce processus est réitéré jusqu à ce que tous les sommets du maillage soient assignés à une partie. L approche de segmentation [158] s avère efficace dans le cas d animations rigides par morceaux (e.g., mouvements articulés). Toutefois, cette méthode montre ses limites pour des mouvements non-rigides oùdesproblèmes de sur-segmentation apparaissent. L approche proposée dans [166] vise également àdétecter les parties animées par des mouvements quasi-rigides. Elle associe à chaque triangle du maillage une transformée rigide locale qui décrit son mouvement à chaque instant de l animation. L algorithme mean-shift [175] est ensuite appliqué dans l espace des transformées obtenues afin de détecter les parties quasirigides du maillage animé. Si la technique [166] est efficace dans le cas des mouvements rigides, elle reste non-adaptée àdesdéformations élastiques, conduisant à une sous-segmentation du maillage dynamique. Afin de pallier les problèmes de mauvaise classification des sommets de bord (i.e., sommets situés à la frontière entre clusters), ainsi que ceux liés à la sous/sur-segmentation dont souffrent la plupart des techniques de l état de l art, nous proposons dans ce chapitre deux approches

124 Compensation de mouvement par modèle de peau(skinning) originales de segmentation au sens du mouvement, qui permettent de gérer efficacement des animations à la fois articulées et élastiques. Introduisons tout d abord la formulation mathématique du problème considéré. 5.1.2 Formulation mathématique L objectif de l étape de segmentation est d obtenir une partition Π = (π k ) k {1,...,K} des sommets du maillage en K parties dont le mouvement peut être fidèlement représenté par une transformée affine 3D. Le critèredefidélité delareprésentation que nous avons retenu est l erreur quadratique moyenne de compensation de mouvement, notée E(Π) et définie par : E(Π) = 1 V T D 2 T i=1 K χ v i A k i χv 2 1, (5.1) v π k avec : A une matrice 4 4représentant une transformée affine exprimée en coordonnées homogènes : A = k=1 a 11 a 12 a 13 t x a 21 a 22 a 23 t y a 31 a 32 a 33 t z 0 0 0 1, (5.2) où (a ij ) sont les coefficients décrivant la partie linéaire du mouvement affine et (t x,t y,t z ) est la composante translationelle, χ v i =(xv i,yv i,zv i, 1)t le vecteur 4D représentant les coordonnes homogènes du sommet v à la trame i, A k i la transformée affine 3D associée à la partie π k à l instant i, D la diagonale de boîte englobante de la première trame de l animation, V le nombre de sommets du maillage, T le nombre de trames de la séquence d animation. Notons que dans cette formulation, le mouvement de chaque trame i est exprimé par rapport àlapremière trame de la séquence. Pour déterminer la partition Π minimisant l erreur globale de compensation de mouvement E(Π) (equation 5.1), nous proposons deux approches différentes. La première, décrite dans la section suivante, exploite un algorithme de clustering par k-moyennes. 5.1.3 Segmentation par algorithme de k-moyennes Inspirée de l algorithme de Max-Lloyd [49, 50], l approche de segmentation par k-moyennes que nous proposons a pour objectif de déterminer, pour un nombre de cluster fixé K, une partition Π d erreur E(Π ) minimale. L algorithme proposé met en oeuvre deux étapes successives. Une partition initiale Π 0 est tout d abord calculée en appliquant l algorithme original de Max-Lloyd sur un ensemble de transformées affines locales, associées à l ensemble des sommets du maillage. La partition Π 0 est ensuite raffinée en appliquant une variante de ce même algorithme qui vise à minimiser l erreur quadratique moyenne de compensation de mouvement E(Π).

5.1Segmentationausensdumouvement 125 5.1.3.1 Calcul de la partition initiale Soit A v i la transformée affine décrivant le mieux (au sens des moindres carrés) le mouvement, à l instant i, du voisinage ℵ(v) du sommet v par rapport àlapremière trame. La matrice A v i est définie par : A v i =argmin A p ℵ(v) Aχ p 1 χ p i 2, (5.3) avec ℵ(v) ={p 1,p 2,...,p q } l ensemble des sommets contenant le sommet v ainsi que ses voisins topologiques (cf. Section 1.1). L existence et l unicité d une solution pour le problème d optimisation décrit par l équation (5.3) ainsi que la procédure de calcul de la matrice A v i sont discutées en détail dans la Section 5.2.1. Les matrices (A v i ) i {1,...,T },définies par l équation (5.3), permettent de décrire àtoutinstant i le mouvement local dans le voisinage du sommet v. L ensemble de ces transformées est représenté par un unique vecteur α v R 12 T regroupant l ensemble des coefficients affines (une transformée affine étant complètement définie par 12 coefficients réels). La partition initiale Π 0 est alors obtenue en appliquant directement l algorithme de segmentation de Max-Lloyd [49, 50] sur l ensemble des vecteurs (α v ) v {1,...,V }. Comme discuté dans [176], la phase d initialisation est critique pour la vitesse de convergence de l algorithme de segmentation par k-moyennes. Dans [176], plusieurs technique d initialisation sont empiriquement testées. Les résultats obtenus montrent qu une initialisation aléatoire (i.e., les vecteurs sont associés au hasard à un des K clusters) offrent les meilleurs résultats de segmentation au prix d un temps de calcul plus important. Afin de tester les meilleures performances de l approche de segmentation par k-moyennes, nous avons opté pour cette technique d initialisation. Notons cependant qu une telle approche est sensible à l initialisation du générateur de nombre pseudo-aléatoire utilisé et que des exécutions multiples conduisent en général à des résultats différents. L algorithme de Max-Lloyd étant appliqué dans le domaine des transformées affines, cette première étape permet de détecter les sommets ayant des mouvements affines locaux proches au sens de la norme euclidienne dans l espace des vecteurs (α v ) v {1,...,V } R 12 T. En pratique, cela se traduit par une détection grossière des parties animées par des mouvements affines comme illustré Figure 5.1. Notons en revanche que les frontières entre les parties détectées ne sont pas précises (Figure 5.1). En effet, le mouvement caractéristique aux articulations étant non-affine, les transformées locales associées aux sommets de bord varient considérablement. Cela conduit à une classification non-précise. La partition Π 0 calculée par cette première étape est certes non-optimale. Elle permet toutefois de détecter les mouvements affines principaux (Figure 5.1). Une deuxième étape de raffinement de Π 0,décrite dans le paragraphe suivant, est alors introduite afin d optimiser directement l erreur quadratique moyenne de compensation de mouvement E(Π). 5.1.3.2 Raffinement de la partition La procédure de raffinement vise à optimiser la partition Π 0 tout en gardant constant le nombre de parties considérées. Le principe consiste à alterner itérativement une phase d estimation des transformées affines et une phase de mise à jour de la partition.

126 Compensation de mouvement par modèle de peau(skinning) (a) (b) (c) (d) Figure 5.1 : Résultats de segmentation avec et sans la procédure de raffinement pour le maillage dynamique Dance : (a) Segmentation par k-moyennes sans raffinement, (b) Segmentation par k-moyennes avec raffinement, (c) Segmentation hiérarchique sans raffinement et (d) Segmentation hiérarchique avec raffinement. Soit Π(n) = (π k (n)) k {1,...,K} la partition obtenue à la l itération n. A l itération n, la phase de calcul des transformées affines associe à chaque partie k de la partition Π(n 1) la transformée affine Hi k (n) quidécrit le mieux son mouvement (cf. Section 5.2.1) : Hi k (n) =argmin A Aχ v 1 χv i 2. (5.4) v π k (n 1) La phase de mise àjourpermetdedéduire la partition Π(n) àlanième itération à partir des transformées affines (Hi k(n))k i.plusprécisément, chaque sommet v est ici associé àla transformée Hi k (n) quidécrit le mieux son mouvement : ( T ) k =arg min H k i (n)χ v 1 χ v 2 i. (5.5) k {1,...,K} i=1 Ce processus est itéré jusqu à ce que la variation de l erreur quadratique moyenne de compensation de mouvement E(Π(n)) E(Π(n 1)) devienne inférieure à une valeur prédéfinie ɛ>0. Il est notamment intéressant d investiguer les aspects relatifs à la convergence de l algorithme proposé. En particulier, nous pouvons énoncer la proposition suivante : Proposition 5.1.1 L algorithme de raffinement proposé converge en un nombre fini d itérations. Démonstration Soit E(n, n ) l erreur quadratique moyenne de compensation de mouvement obtenue en considérant

5.1Segmentationausensdumouvement 127 la partition Π(n) etenmodélisant le mouvement des parties par les transformées (H k i (n )) k i : E(n, n )= 1 V T D 2 T i=1 K k=1 v π k (n) χ v i Hi k (n )χ v 2 1, (5.6) D après l équation (5.4), on a pour tout k {1,..., K} et àtoutinstanti {1,..., T } : T H k i (n)χ v 1 χ v 2 i K v π k (n 1) i=1 k=1 v π k (n 1) H k i (n)χ v 1 χ v 2 i H k i (n 1)χ v 1 χ v 2 i v π k (n 1) T K i=1 k=1 v π k (n 1) H k i (n 1)χ v 1 χ v 2 i Il s ensuit que : Il est également évident à partir de l équation (5.5) que : E(n 1,n) E(n 1,n 1). (5.7) ( K T ) H k i (n)χ v 1 χv 2 i k=1 v π k (n) i=1 ( K T ) H k i (n)χ v 1 χv 2 i k=1 v π k (n 1) i=1 Il en résulte que : En combinant les inégalités (5.7) et (5.8), on obtient alors : E(n, n) E(n 1,n). (5.8) E(Π(n)) = E(n, n) E(n 1,n 1) = E(Π(n 1)). (5.9) Cela montre que la suite (E(Π(n))) n est décroissante. En outre, elle admet 0 comme borne inférieure. Elle est donc forcément convergente vers une limite E 0.Ilexistedoncn 0 N tel que : n 1 n 0, E 0 E(Π(n 1 )) ɛ 2. (5.10) En additionnant l inégalité (5.10) pour (n 0 )et(n 0 +1)onobtient: E(Π(n 0 +1)) E(Π(n 0 )) E(Π(n 0 )) E 0 + E(Π(n 0 +1)) E 0 ɛ. (5.11) Cela démontre que l algorithme converge au bout de (n 0 +1)itérations. Quant à la vitesse de convergence de l algorithme proposé, une étude théorique serait très difficile en raison des non-continuités introduites par l algorithme de calcul des transformées affines par pseudo-inverse (cf. Section 5.2.1). Néanmoins, les expérimentations que nous avons conduites sur un riche corpus de test (cf. Section 5.3) montrent que l algorithme converge en moyenne au bout d une dizaine d itérations et ce, avec une variation nulle de l erreur quadratique moyenne de compensation de mouvement (i.e. E(Π(n 0 )) E(Π(n 0 +1)) = 0) et une stabilisation de la partition.

128 Compensation de mouvement par modèle de peau(skinning) La technique de segmentation proposée hérite des principales limitations de l algorithme de Max-Lloyd : (1) nécessité de l intervention de l utilisateur pour fixer le nombre de parties K, et (2) sensibilité à l initialisation. Afin de pallier ces inconvénients, dans la section suivante, nous proposons une nouvelle approche hiérarchique de segmentation au sens du mouvement qui permet une détection automatique du nombre de parties tout en s affranchissant du problème d initialisation. 5.1.4 Segmentation hiérarchique L approche de segmentation hiérarchique a pour objectif de déterminer, pour une erreur quadratique moyenne de compensation de mouvement fixée E 0, une partition Π ayant le nombre de patchs minimal K et vérifiant la contrainte E(Π ) E 0. L algorithme proposé estfondé sur une stratégie de décimation privilégiant la simplification des sommets décrits par un même mouvement affine. Le principe consiste à appliquer successivement des opérations de décimation topologique de type half-edge collapse [10] (Figure 5.2). Une opération de half-edge collapse appliquée à une arête (v, w), notée hecol(v, w), fusionne les deux sommets v et w en un seul sommet. Le sommet w est alors éliminé ettoutesses arêtes incidentes sont connectées à v. Achaqueétape du processus de simplification, pour tout sommet v, la liste de ses ancêtres, notée A(v), est stockée. Cette liste est définie récursivement par : 1. Initialisation : A(v) =. 2. Mise àjourdea(v) : pour chaque opération de hecol(v, w) : A(v) A(v) A(w) {w}. (5.12) Figure 5.2 : Opération half-edge collapse : l arête (v, w) est contractée, les deux sommets v et w fusionnés, et la connectivité du maillage redéfinie, en connectant à v l ensemble des arêtes incidente à w. Le processus de décimation est guidé par une stratégie visant à fusionner les sommets avec des mouvements affines proches. Le critère de fusion est lié àuncoût C(v, w) defusionde l arête (v, w), mesurant l erreur de compensation de mouvement qui résulte du regroupement des sommets v et w et de leurs ancêtres dans un même cluster, défini par : T C (v, w) = A v,w i χ p 1 χp i 2, (5.13) i=1 p ℵ(v,w) avec ℵ(v, w) =A(v) A(w) {v, w}, et A v,w i =argmin A p ℵ(v,w) Aχ p 1 χ p i 2. (5.14)

5.1Segmentationausensdumouvement 129 La matrice A v,w i est calculée comme décrit dans la section 5.2.1. Achaqueétape du processus de décimation, l opération hecol est appliquée à l arête de plus faible coût. Au nième niveau de décimation, une partition Π(n) =(π k (n)) k {1,...,K(n)} est obtenue comme suit : k {1,..., K(n)}, π k (n) ={p k (n)} A(p k (n)), (5.15) où (p k (n)) k {1,...,K(n)} représente l ensemble des sommets du maillage obtenu àlanième étape du processus de simplification. Le processus est itéré tant que l erreur quadratique moyenne de compensation de mouvement E(Π(n)) reste inférieure àlavaleurprédéfinie E 0. Notons que l approche de segmentation hiérarchique décrite ci-dessus traite indépendamment chaque composante connexe (CC) du modèle ce qui peut conduire à des sur-segmentations dans le cas de modèles animés à multiples composantes connexes. Par exemple, deux CCs avec un même mouvement affine sont considérées comme deux clusters différents. La Figure 5.3 illustre ce cas pour le maillage dynamique Raptor où les dents et les yeux, représentés par des CCs indépendantes, sont classées dans des parties différentes bien qu elles soient animées par les même mouvements affines. Afin de résoudre ce problème de sur-segmentation, un processus de simplification itérative qui élimine àchaqueétape la partie induisant une erreur minimale, est appliqué. L erreur minimale induite par la suppression d une partie k est calculée pour la partition obtenue en assignant tous les sommets de k aux autres parties et en appliquant ensuite la procédure de raffinement décrite dans la section 5.1.3.2. Ce processus est itéré tant que l erreur quadratique moyenne de compensation de mouvement reste inférieure àlavaleur prédéfinie E 0. (a) (b) Figure 5.3 : Segmentation hiérarchique du maillage dynamique Raptor : (a) avec fusion des CCs et (b) sans fusion des CCs. L approche de segmentation hiérarchique, sus-présentée, permet de fusionner àchaqueétape les deux groupes de sommets qui ont les mouvements affines les plus proches au sens de l erreur quadratique moyenne de compensation de mouvement E(Π). Cela permet de détecter rapidement les parties animées par des mouvements affines (Figure 5.1). Cette approche reste cependant sous-optimale. En effet, à chaque étape, le choix de fusionner deux sommets implique l assignation de tous leurs ancêtres au même cluster. Ces choix semi-globaux permettent d accélérer le processus de segmentation, mais induisent de mauvais choix de classification surtout au niveau des sommets de bord (Figure 5.1). Afin de pallier cet inconvénient, la partition obtenue par segmentation hiérarchique est raffinée en appliquant la même procédure que celle décrite Section 5.1.3.2.

130 Compensation de mouvement par modèle de peau(skinning) L algorithme de segmentation hiérarchique proposé converge en un nombre maximal de (V 1) itérations (V étant le nombre de sommets). Quant àlacomplexitédecalculdechaque itération, elle est déterminée par la phase de mise à jour des coûts associés aux arêtes. Afin, d optimiser cette étape, nous exploitons le fait qu une opération hecol(v, w) ne change que localement la connectivité du maillage. Ainsi, à chaque itération, il suffit de recalculer uniquement les coûts des arêtes incidentes au sommet v(cf., Equation (5.13)). Le paramètre E 0 permet de contrôler l erreur quadratique moyenne de compensation de mouvement obtenue. Plus précisément, la racine carrée de E 0 représente l erreur quadratique moyenne de compensation de mouvement par modèle affine par morceaux (sur l ensemble des sommets et des trames), normalisée par la diagonale D de boîte englobante de la première trame. Au cours de nos expérimentations (cf. Section 5.3), le paramètre E 0 aété fixéà(0.0025) 2 ce qui correspond à une erreur de compensation de mouvement de l ordre de 0, 25% de D. Une fois qu on dispose d une partition du maillage dynamique au sens du mouvement, il est possible de lui associer un modèle de peau(skinning), comme décrit dans la section suivante. 5.2 Modèledepeau Soit Π = (π k ) k {1,...,K)} la partition obtenue suite à la phase de segmentation au sens du mouvement. Le principe de l animation par modèle de peau ou skinning [166] est de modéliser le mouvement de chaque partie π k et àtoutinstanti par une transformée affine A k i.unchamp de mouvement lisse sur l ensemble du maillage est ensuite obtenu en combinant linéairement les mouvements affines des différentes parties avec des poids appropriés. La position prédite χ v i du sommet v à la trame i s exprime alors comme : K χ v i = ωk υ Ak i χυ 1, (5.16) k=1 où ωk v est un coefficient réel qui contrôle l influence du patch k sur le mouvement du sommet v. Le modèle de skinning décrit par l Equation (5.16), fait intervenir deux entitées essentielles pour la qualité delareprésentation : les transformées affines (A k i )etlespoidsd animation(ωv k ). La procédure proposée d estimation optimale des transformées affines est présentée Section 5.2.1. Ensuite, la Section 5.2.2 décrit l algorithme d estimation des poids d animation. Enfin dans la section 5.2.3, nous analysons comment le modèle de skinning proposé peut être exploité pour la prédiction des attributs photométriques et notamment des normales associées aux sommets d un maillage dynamique. 5.2.1 Estimation des transformée affines L objectif est d associer à chaque partie k la transformée affine A k i qui décrit le mieux (au sens des moindres carrés) son mouvement à l instant i par rapport àlapremière trame : A k i =argmin A ( ) Aχ v 1 χ v i 2. (5.17) v π k Intéressons-nous en premier lieu aux aspects d existence et d unicité de la matrice A k i.

5.2 Modèledepeau 131 5.2.1.1 Existence et unicité L équation (5.17) peut être reformulée comme un problème classique de minimisation au sens des moindres carrés, comme décrit par l équation suivante : min M k α β k 2 α R 12 i, (5.18) avec α =(a 1,1,a 1,2,a 1,3,t x,a 2,1,a 2,2,a 2,3,t y,a 3,1,a 3,2,a 3,3,t z, ) t, π k = {p 1,p 2,..., p q }, x p 1 1 y p 1 1 z p 1 1 1 0 0 0 0 0 0 0 0 x p 1 x p 2 1 y p 2 1 z p i 2 1 1 0 0 0 0 0 0 0 0 x p 3 1 y p 3 1 z p x p 2 i 3 1 1 0 0 0 0 0 0 0 0 x p 3 i............. x pq 1 y pq 1 z pq 1 1 0 0 0 0 0 0 0 0 x pq 0 0 0 0 x p 1 1 y p 1 1 z p 1 i 1 1 0 0 0 0 y p 1 0 0 0 0 x p 2 1 y p 2 1 z p 2 i 1 1 0 0 0 0 y p 2 M k = 0 0 0 0 x p 3 1 y p 3 1 z p 3 i 1 1 0 0 0 0,βi k = y p 3 ị. (5.19)............. 0 0 0 0 x pq 1 y pq 1 z pq 1 1 0 0 0 0 y pq 0 0 0 0 0 0 0 0 x p 1 1 y p 1 1 z p i 1 1 1 z p 1 0 0 0 0 0 0 0 0 x p 2 1 y p 2 1 z p i 2 1 1 z p 2 0 0 0 0 0 0 0 0 x p 3 1 y p 3 1 z p i 3 1 1 z p 3 ị............. 0 0 0 0 0 0 0 0 x pq 1 y pq 1 z pq 1 1 z pq i De manière equivalente, cela revient à résoudre : min y Im(ψ k ) y β k 2 i, (5.20) avec Im(ψ k ) le sous-espace vectoriel image de l application linéaire ψ k décrite par la matrice M k et définie comme suit : ψ k : R 12 R 3q α y = M k α. (5.21) Ainsi, résoudre (5.18) revient à calculer la projection du point βi k R 3q sur le sous-espace vectoriel Im(ψ k ), image de l application ψ k. Il est bien connu que celle-ci existe et est unique. Soit donc y R 3q la projection orthogonale de βi k sur le sous-espace vectoriel Im(ψ k ). Tout vecteur α R 12 vérifiant ψ k (α )=y est alors une solution de (5.18). Deux cas différents cas se présentent : 1. Si rang(m k ) = 12, alors ψ k est injective et l équation (5.18) admet une solution unique. 2. Si rang(m k ) < 12, alors ψ k est non injective et l équation (5.18) admet une infinité de solutions. Notons que la matrice M k est diagonale par bloc et peut être mise sous la forme suivante : Δ k 0 0 M k = 0 Δ k 0, (5.22) 0 0 Δ k

132 Compensation de mouvement par modèle de peau(skinning) où Il en résulte que Δ k = x p 1 1 y p 1 1 z p 1 x p 2 1 y p 2 1 z p 2 x p 3 1 y p 3 1 z p 3... x pq 1 y pq 1 z pq 1 1 1 1 1 1. 1 1. (5.23) rang(m k )=3 rang(δ k ). (5.24) En appliquant des permutations et des combinaisons linéaires sur les lignes et les colonnes de Δ k on obtient : 1 x p 1 1 y p 1 1 z p 1 1 rang(δ k )=rang. 0 x p 2 1 xp 1 1 y p 2 1 yp 1 1 z p 2 1 zp 1 1 0 x p 3 1 x p 1 1 y p 3 1 y p 1 1 z p 3 1 z p 1 1... 0 x pq 1 x p 1 1 y pq 1 y p 1 1 z pq 1 z p 1 1. (5.25) On a alors : rang(δ k )=rang x p 2 1 x p 1 1 y p 2 1 y p 1 1 z p 2 1 z p 1 1 x p 3 1 x p 1 1 y p 3 1 y p 1 1 z p 3 1 z p 1 1 +1. (5.26)... x pq 1 xp 1 1 y pq 1 yp 1 1 z pq 1 zp 1 1 En combinant les équations (5.24) et (5.26), il en résulte que Δ k et M k sont de rang complet (i.e. rang(δ k )=4etrang(M k ) = 12) si et seulement si il existe quatre points non coplanaires parmi les q points (χ p 1) p πk. En pratique, pour exploiter cette propriété mathématique, il est toutefois indispensable de disposer de méthodes de calcul de la solution répondant de manière appropriée à des critères de mise en oeuvre algorithmique et de stabilité numérique. La section suivante décrit une méthode stable pour calculer une solution possible de (5.17), fondée sur une décomposition en valeurs singulières - SVD (Singular Value Decomposition). 5.2.1.2 Solution par SVD Pour résoudre le problème de minimisation (5.17), nous avons opté pour une approche fondée sur une décomposition SVD [82]. Ce choix est motivé par la stabilitédecalculd unetelle approche dans le cas de matrices singulières ou numériquement proches de matrices singulières [82]. Rappelons tout d abord la proposition suivante [82] qui constitue le fondement de la décomposition SVD. Théorème 5.2.1 Soit M une matrice de taille m n. Il existe alors :

5.2 Modèledepeau 133 1. Une matrice U de taille (m n) orthogonale par colonnes : j, k {1,..., n}, 2. Une matrice R de taille (n n) orthogonale, et m U ik U ij = δ jk, (5.27) 3. Une matrice diagonale W =(w ij ) ij de taille (n n), telles que [82] : M = U W R t. (5.28) i=1 La factorisation de la matrice M en produit de trois matrices U, R et W telles que décrites ci-dessus est appelée décomposition en valeur singulières. Notons que les vecteurs colonnes des matrices U et R vérifient les relations suivantes : i {1,..., n}, M t U i = w ii R i, M R i = w ii U i. (5.29) Par analogie avec la diagonalisation de matrices carrées, les valeurs diagonales de W sont appelées les valeurs singulières et les vecteurs colonnes de la matrices U (resp. R), vecteurs singuliers à gauche (respectivement àdroite). L équation (5.29) permet de déduire que les vecteurs singuliers (U i ) i correspondant aux valeurs singulières non nulles définissent une base orthonormée de l espace vectoriel image de M noté Im(M), et que les vecteurs singuliers (R i ) i correspondant aux valeurs singulières nulles forment une base orthonormée du noyeau de M, notéker(m). Pour la minimisation (Equation (5.18)), soient U k, W k et R k les matrices obtenues par àla décomposition SVD de la matrice M k. En exploitant les propriétés des vecteurs singuliers de la SVD, on peut directement calculer la projection orthogonale yk de βk i sur Im(ψ k )par: y k = U k I k U t k βk i, (5.30) avec I k la matrice diagonale de taille (12 12) défini par : Soit alors α k i {1,..., 12}, (I k ) ii = le vecteur définie par : { 1, si wii 0 0, si w ii =0. (5.31) α k = R k W k U t k β k i, (5.32) avec W k la matrice diagonale de taille (12 12) définie par : i {1,..., 12}, (W k ) ii = { 1 w ii, si w ii 0 0, si w ii =0. (5.33) Le vecteur αk est une solution du problème de minimisation (5.18), étant donné qu il vérifie : M k αk = U k W k (Rk t R k ) Wk Uk t βi k = U k (W k Wk ) U k t βk i = U k I Uk t βk i = yk.

134 Compensation de mouvement par modèle de peau(skinning) En pratique, la solution décrite par l équation (5.32) est calculée pour tout instant i pour obtenir une solution αk i. Afin d optimiser les temps de calcul, la matrice (R k Wk Ut k )quiest la même pour toute trame i, estcalculée une seule fois et stockée en mémoire pour être ensuite directement appliquée aux différents vecteurs βi k. La matrice M k (de dimension 3V 12) étant en plus digonale par blocs, sa décomposition SVD est calculée à partir de celle de Δ k qui de taille (V 4). Cela permet de réduire le nombre d opérations d un facteur 27, étant donné que la complexité de calcul de la SVD pour une matrice m n (avec m>>n)esteno(m n 2 ) [82]. Une fois les transformées affines déterminées, il ne reste, pour compléter la spécification du modèle de peau, qu à obtenir les coefficients de pondération (ω v k ) (Equation(5.16)). 5.2.2 Estimation des poids d animation L objectif est de déterminer, pour chaque sommet v, le vecteur des poids optimaux ω v = (ω υ k ) k {1,...K} défini par : ω v =arg min ϖ R K T K ϖ k. χ v i (k) χv i i=1 k=1 2, (5.34) où χ v i (k) =A k i χ v 1 =( x v i (k), ỹi v (k), z i v (k), 1) t est la position du sommet v prédite par la transformée affine A k i,exprimée en coordonnées homogènes. En pratique, il est raisonnable de considérer qu une partie influence uniquement ses propres sommets et ceux appartenant à une partie voisine. Soient k(υ) la partie contenant le sommet v et θ(v) l ensemble des parties incluant k(v) et ses voisins (i.e. ensemble des parties reliées au moins par une arête à la partie k(v)). L équation (5.34) est résolue sous les contraintes suivantes : k/ θ(v), ϖ k =0. (5.35) L équation (5.34) avec les contraintes (5.35) conduit au problème de minimisation au sens des moindres carrés suivant : min A v ϖ b v 2, (5.36) ϖ R Q

5.2 Modèledepeau 135 avec Q le cardinal de θ(v) ={k 1,k 2,..., k Q },et A v = x v 1(k 1 ) x v 1(k 2 ) x v 1(k 3 )... x v 1(k Q ) x v 2 (k 1) x v 2 (k 2) x v 2 (k 3)... x v 2 (k Q) x v 3 (k 1) x v 3 (k 2) x v 3 (k 3)... x v 3 (k Q)..... x v T (k 1) x v T (k 2) x v T (k 3)... x v T (k Q) ỹ1 v(k 1) ỹ1 v(k 2) ỹ1 v(k 3)... ỹ1 v(k Q) ỹ2(k v 1 ) ỹ2(k v 2 ) ỹ2(k v 3 )... ỹ2(k v Q ) ỹ3 v(k 1) ỹ3 v(k 2) ỹ3 v(k 3)... ỹ3 v(k Q),b v =..... ỹt v (k 1) ỹt v (k 2) ỹt v (k 3)... ỹt v (k Q) z 1 v(k 1) z 1 v(k 2) z 1 v(k 3)... z 1 v(k Q) z 2(k v 1 ) z 2(k v 2 ) z 2(k v 3 )... z 2(k v Q ) z 3 v(k 1) z 3 v(k 2) z 3 v(k 3)... z 3 v(k Q)..... z T v (k 1) z T v (k 2) z T v (k 3)... z T v (k Q) x v 1 x v 2 x v 3. x v T y1 v y2 v y3 v. yt v z1 v z2 v z3. v z v T. (5.37) Pour les même raisons que celles exposées au Paragraphe 5.2.1, le problème de minimisation (5.36) admet toujours une solution qui peut être calculée directement par l approche SVD précédemment décrite. L ensemble des développements réalisés jusqu à présent concernent uniquement la géométrie du maillage animé. Toutefois, en pratique, on associe souvent aux maillages d autres informations et comme notamment des attributs photométriques (e.g., couleur, texture, vecteurs normaux...). Le modèle de skinning proposé est-il alors adapté pour représenter de façon compacte cette information supplémentaire? La section suivante apporte quelques éléments de réponse à cette question, en considérant le problème de la prédiction des vecteurs normaux associés à une surface maillée. 5.2.3 Prédiction des normales Dans le cadre des applications de visualisation/rendu rapide ou de lissage de surface, il est souvent utile d associer à chaque sommet du maillage un vecteur normal à la surface au point considéré. Cela évite de recalculer ces normales par les logiciels de visualisation de contenus 3D et permet donc d obtenir une visualisation plus rapide. En outre, cela permet de réaliser certains effets de visualisation comme lissage des surfaces illustré Figure 5.4. L inconvénient majeur de ce mécanisme est liéenrevancheà une augmentation considérable de la quantité d information associée au maillage (i.e., un vecteur normal pour chaque sommet et à chaque trame). Comment représenter alors de façon efficace cette information? Un petit nombre de travaux de la littérature a abordé jusqu àprésent ce thème pourtant fondamental. Dans [166], les auteurs proposent de prédire la normale unitaire Ni v d un sommet v àuninstanti par : ) N v i = ( K k=1 wk v Ak i N 1 v K k=1 wk va k i N 1 v. (5.38)

136 Compensation de mouvement par modèle de peau(skinning) (a) (b) (c) (d) Figure 5.4 : Rendu des maillages dynamiques Dance et Horse gallop (a, c) sans et (b, d) avec lissage en exploitant les normales associées aux sommets du maillage. Le prédicteur N i v est optimal (i.e., conduit à une erreur de prédiction nulle) dans le cas où localement le mouvement au voisinage du sommet considéré est une transformation de similarité (translation, rotation, homothétie et leurs combinaisons). Cette propriété n est en revanche pas satisfaite dans le cas général des transformées affines. Afin de résoudre ce problème, nous proposons le prédicteur suivant : Ñi v = Ui v Wi v, (5.39) où : K Ũi v = k=1 wk v Ak i U 1 v v K, W i = k=1 wk v Ak i U v 1 K k=1 wk v Ak i W 1 v K, (5.40) k=1 wk v Ak i W v 1 Le système (U1 v,w1 v,n1 v ) forme une base orthonormée de R 3, construite en choisissant deux vecteurs U1 v et V 1 v orthogonaux entre eux et orthogonaux àlanormalen 1 v au sommet v àla première trame de la séquence. Le prédicteur proposé réalise ainsi la prédiction dans l espace des vecteurs tangents au lieu de traiter directement les normales, ce qui permet d assurer l optimalité delaprédiction pour le cas affine. Proposition Le prédicteur Ñ i v est optimal (i.e., conduit à une erreur de prédiction nulle) dans le cas où localement le mouvement au voisinage du sommet considéré estaffine. Démonstration Soit f(u 1,u 2 ) une surface paramétrique différentiable approchant localement autour du sommet v le maillage dynamique à l instant i =1etN1 v la normale associée. Soient U 1 v et W 1 v deux vecteurs unitaires tangents à f au sommet v, telsque: U1 v = x f f 1 + x 2, (5.41) u 1 u 2 avec W1 v = y f f 1 + y 2, (5.42) u 1 u 2 W v 1 = U v 1 =1et N v 1 = U v 1 W v 1. (5.43) Supposons qu à l instant i, le voisinage du sommet v subit exactement la transformée affine H i =( K k=1 wk v Ak i )décrite par le modèle de skinning. Montrons que le vecteur Ũ i v est tangent à la surface transformée (H i.f).

5.3 Résultats expérimentaux 137 On a : Ũi v = H iu1 v H i U1 v = x 1 H f i + x 2 u H f i 1 u 2 = x (H i.f) 1 + x (H i.f) 2. u 1 u 2 Cela prouve que le vecteur Ũ i v est tangent àlasurface(h i.f). De la même manière, on peut démontrer que le vecteur W i v est également tangent à(h i.f). Par conséquent, le vecteur correspond àlanormaleàlasurface(h i.f). Ñ v t 5.3 Résultats expérimentaux Afin de valider les deux approches de segmentation proposées dans la section 5.1, nous avons considéré une base de 12 maillages dynamiques, caractérisée par différents mouvements, formes et complexités. Les propriétés de ces animations (type de mouvement, nombre de sommets, de trames et de composantes connexes...) ainsi que des extraits illustrant leurs mouvements sont présentés dans l Annexe 8.5. Les expérimentations ont été effectuées sur un PC dotée d un microprocesseur Pentium 4 à3ghzetà une mémoire RAM de 2 Go. Pour l algorithme de segmentation hiérarchique le paramètre E 0 àlavaleur(0.0025) 2 (i.e., erreur de compensation de mouvement de l ordre de 0, 25% de la diagonale D de la boîte englobante de la premièretrame)etcepourl ensemble des animations. Pour ne pas biaiser la comparaison, les nombres de clusters obtenus pour les différents maillages dynamiques ont été ensuite considérés comme paramètre d entrée pour l algorithme de segmentation par k-moyennes. La suite de ce paragraphe est structurée en deux parties. La section 5.3.1 propose une analyse des résultats de segmentation obtenus. Ensuite, la section 5.3.2 présente les performances du modèle de prédiction par modèle de skinning. 5.3.1 Méthodes de segmentation : évaluation expérimentale La Figure 5.5 compare les résultats obtenus par l approche de segmentation hiérarchique à ceux de l approche de segmentation par k-moyennes. Les tableaux 5.2 et 5.3 résument, pour les différentes étapes des deux algorithmes : 1) les erreurs quadratiques moyennes de compensation de mouvement, 2) les temps de calcul, 3) les nombres de clusters et 4) les nombres d itérations. Les diverses notations utilisés sont résumées Tableau 5.1. Notons tout d abord que pour l ensemble des animations considérées, les deux approches de segmentation convergent tout en offrant de faibles erreurs de compensation de mouvement. L approche de segmentation par k-moyennes (resp. hiérarchique) converge en moyenne au bout de 4124 secondes (resp. 378 secondes) avec une erreur E ref de l ordre de 0,33% (resp. 0,18%) de la diagonale de boîte englobante de la première trame de l animation. Dans le cas des maillages dynamiques articulés (e.g., Horse gallop, Elephant gallop, Dance, Wolf, Raptor et Troll ) les différentes parties anatomiques du corps sont correctement déterminées. De manière générale, un nombre maximal d environ 30 parties est

138 Compensation de mouvement par modèle de peau(skinning) Notation Description Π 0 Partition initiale obtenue suite à la phase d initialisation de l approche de segmentation par k-moyennes (cf. Section 5.1.3.1) I ref Nombre d itérations pour obtenir la partition Π ref Π hierar Partition obtenue suite à la phase de segmentation hiérarchique (cf. Section 5.1.4) Π ref Partition finale obtenue suite à la phase de raffinement (cf. Section 5.1.3.2) I 0 Nombre d itérations pour pour obtenir la partition Π 0 E 0 = E(Π 0 ) La racine carré de l erreur quadratique moyenne de compensation de mouvement de la partition Π 0 E ref = E(Π ref ) La racine carré de l erreur quadratique moyenne de compensation de mouvement de la partition Π ref E hierar = E(Π hierar ) La racine carré de l erreur quadratique moyenne de compensation de mouvement de la partition Π hierar T total Temps de calcul total pour la segmentation du maillage dynamique T 0 Temps de calcul nécessaire pour obtenir la partition Π 0,exprimé en pourcentage de T total T ref Temps de calcul pour obtenir la partition Π ref,expriméenpourcentage de T total T hierar Temps de calcul pour obtenir la partition Π hierar,expriméenpourcentage de T total K Nombre de clusters de la partition finale Π ref K hierar Nombre de clusters de la partition Π hierar G kmoy E = E ref E 0 E 0 Gain en terme d erreur quadratique moyenne suite à la phase de raffinement pour l approche de segmentation par k-moyennes G hierar E = E ref E 0 E 0 Gain en terme d erreur quadratique moyenne suite à la phase de raffinement pour l approche de segmentation hiérarchique Table 5.1 : Notaions utilisées dans les tableaux 5.2 et 5.3.

5.3 Résultats expérimentaux 139 suffisant pour représenter fidèlement l animation. Dans le cas des maillages dynamiques avec déformations élastiques de faible ou moyenne amplitude (e.g., Dolphin et Shark ) les segmentations générées par les deux approches parviennent également à capturer de façon précise le champs de mouvement et ce avec un nombre très réduit de clusters (une dizaines en moyenne). Sans surprise, les maillages dynamiques présentant des mouvements élastiques importants (e.g., Camel collapse, Chicken et Cow ) nécessitent un nombre de parties plus important (77 en moyenne). De l analyse du Tableau 5.2 il ressort que l étape d initialisation (cf. Section 5.1.3.1) converge en moyenne en 27 itérations, ce qui représente 70% du temps de calcul total. L erreur correspondante de compensation du mouvement obtenue E 0 est de l ordre de 0,0301. L étape de raffinement permet de réduire cette erreur d un facteur de 10, avec une erreur E ref =0, 0033. Ces résultats montrent que l étape d initialisation, bien que gourmande en terme de temps de calcul, offre des résultats de segmentation relativement faibles. L étapesuivantederaffinement est donc indispensable pour améliorer nettement ces performances, avec un gain G kmoy E moyen de l odre de 87%! La Figure 5.6 présente les courbes d évolution de l erreur de compensation de mouvement en fonction du nombre des itérations. Notons que pour l ensemble des animations et pour les deux approches de segmentation, le module de raffinement converge avec une variation nulle de l erreur de compensation de mouvement et donc une stabilisation de la partition. Ces résultats non seulement confirment la propriété théorique de décroissance de l erreur quadratique moyenne de compensation du mouvement démontrée dans la Section 5.1.3.2, mais ils montrent également une convergence rapide de l algorithme (environ une vingtaine d itérations). Les résultats relatifs àlaméthode de segmentation hiérarchique (cf. Section 5.1.4) présentés dans le Tableau 5.3 montrent que l approche converge vers la valeur E hierar = E 0 =0.0025 souhaitée (fixée comme paramètre). Contrairement à l étape d initialisation de l algorithme de segmentation par k-moyennes, la procédure hiérarchique consomme seulement 27% du temps total de calcul tout en offrant des erreurs de compensation de mouvement douze fois inférieures! La partition générée offre également une bonne initialisation pour le module de raffinement qui converge en moyenne au bout de 22 itérations (contre 44 itérations pour la segmentation par k-moyennes). Les temps calcul totaux sont 11 fois plus petits en moyenne avec une erreur de compensation de mouvement finale E Ref réduite de presque la moitié : 0,0018 pour l approche hiérarchique contre 0,0033 pour l approche de segmentation par k-moyennes. Ces résultats montrent que l approche de segmentation hiérarchique surclasse l approche par k-moyennes en termes de performances de segmentation et de temps de calcul. De plus, contrairement à l approche par k-moyennes, elle permet une détection automatique du nombre de clusters. Pour ces raisons, dans le reste de ce travail seul l approche de segmentation hiérarchique sera considérée pour générer les modèles de skinning. Analysons maintenant l efficacité du modèle de skinning pour la représentation de la géométrie et des vecteurs normaux. 5.3.2 Prédiction des positions et des normales Les erreurs de prédiction après compensation de mouvement par modèle de skinning,notées e v t =(e v,x t,e v,y t,e v,z t, 0), sont définies par : v {1,..., V }, e v t = χv t χv t. (5.44)

140 Compensation de mouvement par modèle de peau(skinning) Initialisation Raffinement I init T init E init I ref T ref E ref T total K G kmoy E Animation (%) (%) (s) (%) Camel collapse 50 77 0.0272 85 23 0.0029 20661 98 89 Chicken 15 84 0.0411 24 16 0.0071 5800 63 83 Cow 16 88 0.0126 20 12 0.0043 3374 70 66 Dance 21 58 0.0261 60 42 0.0034 2187 20 87 Dolphin 36 78 0.0069 47 22 0.0012 1253 23 83 Elephant gallop 45 66 0.0212 88 34 0.0025 6713 27 88 Horse collapse 35 91 0.0293 30 9 0.0030 8682 127 90 Horse gallop 31 59 0.0352 106 41 0.0039 1833 38 88 Humanoid 22 78 0.0420 29 22 0.0020 1394 21 95 Raptor 27 87 0.0218 16 13 0.0032 294 24 85 Shark 5 50 0.0294 18 50 0.0030 4 6 90 Troll 36 88 0.0208 25 12 0.0032 1082 59 85 Wolf 6 18 0.0798 30 82 0.0027 334 30 97 Moyenne 27 71 0.0301 44 29 0.0033 4124 47 87 Table 5.2 : Performances obtenues par la méthode de segmentation par k-moyenne. Seg. hiérarchique Raffinement T hierar E hierar I ref T ref E ref T total K G hierar E Animation (%) (%) (s) (%) Camel collapse 10 0.0025 21 90 0.0020 1192 98 21 Chicken 13 0.0025 9 87 0.0017 456 63 34 Cow 10 0.0025 13 90 0.0019 255 70 24 Dance 39 0.0025 10 61 0.0020 214 20 21 Dolphin 28 0.0025 56 90 0.0019 354 23 42 Elephant gallop 31 0.0025 32 69 0.0020 1183 27 21 Horse collapse 5 0.0025 21 95 0.0019 562 127 23 Horse gallop 26 0.0025 16 74 0.0018 151 38 31 Humanoid 42 0.0025 26 58 0.0018 497 21 31 Raptor 20 0.0025 38 80 0.0015 99 24 39 Shark 79 0.0025 9 21 0.0021 5 6 17 Troll 12 0.0025 20 88 0.0018 111 59 29 Wolf 32 0.0025 11 68 0.0017 16 30 32 Moyenne 27 0.0025 22 73 0.0018 378 47 27 Table 5.3 : Performances obtenues par la méthode de segmentation hiérarchique.

5.3 Résultats expérimentaux 141 (a) k-moy. (b) hiérar. (c) k-moy. (d) hiérar. (e) k-moy. (f) hiérar. (g) k-moy. (h) hiérar. (i) k-moy. (j) hiérar. (k) k-moy. (l) hiérarchique (m) k-moy (n) hiérar. (o) k-moy (p) hiérar. (q) k-moy. (r) hiérar. (s) k-moy. (t) hiérar. (u) k-moy. (v) hiérar. (w) k-moy. (x) hiérar. Figure 5.5 : Segmentation par k-moyennes vs. segmentation hiérarchique : (a, b) Horse gallop, (b, c) Chicken, (e, f) Cow, (g, h) Camel collapse, (i, j) Dolphin, (k, l) Elephant gallop, (m, n) Dance, (o, p) Horse collapse, (q, r) Raptor, (s, t) Shark, (u, v) Troll et (w, x) Wolf.

142 Compensation de mouvement par modèle de peau(skinning) (a) (b) (c) (d) (e) (f) (g) (h) Figure 5.6 : Processus de raffinement de la partition : évolution de l erreur quadratique moyenne de compensation de mouvement avec le nombre d itérations.

5.3 Résultats expérimentaux 143 Comme mesure de performance du prédicteur par modèle skinning, nous avons considéré l erreur globale de compensation de mouvement, notée E χ et définie par : E χ = 1 T V V T e v t 2 D. (5.45) 2 t=1 v=1 La Figure 5.7 présente la trame originale 36 de la séquence Snake, sa version prédite et la distribution des erreurs de prédiction correspondantes, exprimées en pourcentage de la diagonale de la boîte englobante de l objet et représentées en fausses couleurs. Nous remarquons que le prédicteur proposé modélise efficacement le mouvement des différentes parties du maillage. Ici, l erreur de prédiction maximale est de l ordre de 0.6% de la diagonale de boîte englobante de l objet. Notons également que les erreurs les plus importantes sont obtenues au niveau des frontières des patchs de la partition. Cela montre les limitations du modèledemouvementaffine par morceaux qui introduit des discontinuités de bord. L introduction des poids d animation associées au modèle de skinning permet de réduire considérablement ces discontinuités comme illustré figures 5.7(e) et 5.7(f). Le Tableau 5.4 présente les résultats de compensation du mouvement en terme d erreur E χ par modèle de peau avec et sans poids d animation pour les maillages dynamiques de la Figure 5.5. Notons tout d abord les bonnes performances des deux modèles, les erreurs de prédiction étant dans l ensemble inférieures à 0.2% de la diagonale de la boîte englobante de la première trame de l animation. Ces résultats démontrent à l évidence l intérêt de considérer le prédicteur avec poids d animation qui offre un gain moyen de (en terme de réduction de l erreur E χ )de 52%. (a) (b) (c) (d) (e) (f) Figure 5.7 : Prédicteur affine par morceaux vs. modèle de skinning :(a)première trame segmentée, (b) trame 36, (c) trame 36 prédite par transformées affines, (d) distribution des erreurs de (c), (e) trame 36 prédite par modèle de skinning et (f) distribution des erreurs de (e). En ce qui concerne la prédiction des vecteurs normaux par le modèledepeauproposé, nous avons considéré pour comparaison les deux prédicteurs définis respectivement par les équations (5.38) et (5.39). Soit n v t par : =(n v,x t,n v,y t,n v,z t ), l erreur de prédiction du vecteur normal au sommet v définie v {1,..., V }, n v t = N v t Ñ v t. (5.46)

144 Compensation de mouvement par modèle de peau(skinning) Animation Poids Poids Gain unitaires optimaux (%) Camel collapse 0.0020 0.0010 50 Chicken 0.0017 0.0006 62 Cow 0.0019 0.0012 34 Dance 0.0020 0.0013 37 Dolphin 0.0019 0.0008 58 Elephant galllop 0.0020 0.0010 50 Horse collapse 0.0019 0.0010 48 Horse gallop 0.0018 0.0009 51 Humanoid 0.0018 0.0008 54 Raptor 0.0015 0.0008 47 Shark 0.0021 0.0013 37 Troll 0.0018 0.0003 82 Wolf 0.0017 0.0005 70 Moyenne 0.0018 0.0009 52 Table 5.4 : Modèle de skinning : erreurs de compensation de mouvement obtenues avec poids optimaux et poids unitaires. La mesure d évaluation retenue est l erreur quadratique moyenne de prédiction des normales, notée E N,exprimée comme : E N = 1 T V V T n v t 2 Nt v 2. (5.47) t=1 v=1 Le tableau 5.5 résume les performances des deux prédicteurs des normales N t v et Ñ t v. L erreur E N représente l erreur relative moyenne induite par les deux prédicteurs. La norme de l erreur de prédiction représente en moyenne 30% et 41% de celle de la normale. Ces résultats montrent que les deux prédicteurs proposés sont relativement efficaces, même si le modèle de skinning a été généré sans tenir compte des vecteurs normaux. Le prédicteur Ñ v t proposé améliore les performances de N v t de 25% en moyenne. Notons également que le prédicteur Ñ v t s avère particulièrement efficace dans le cas d animations avec des déformations élastiques importantes, avec un gain de 64% pour Cow, de 40% pour Horse collapse et de 38% pour Camel collapse. Cela s explique par le fait que pour ce type d animations les transformées affines associées aux différentes parties ne peuvent pas être assimilées à des similarités. Dans le cas de maillages dynamiques articulés les gains obtenus sont de l odre de 17% en moyenne. Ici encore, le prédicteur proposé se montre plus efficace surtout au niveau des articulations où le mouvement des sommets est élastique.

5.4 Conclusion 145 Animation E N (Ñ v t) E N( N v t) Gain(%) Camel collapse 0.3290 0.5319 38 Chicken 0.7908 0.8259 4 Cow 0.1772 0.4934 64 Dance 0.1454 0.2068 30 Dolphin - - - Elephant galllop 0.1236 0.1604 23 Horse collapse 0.4286 0.7182 40 Horse gallop 0.1886 0.2538 26 Humanoid 0.1499 0.1750 14 Raptor 0.4751 0.5495 14 Shark - - - Troll 0.3407 0.3676 7 Wolf 0.2322 0.2687 14 Moyenne 0.3074 0.4137 25 Table 5.5 : Performances des prédicteurs des normales : N t v vs. Ñ t v. 5.4 Conclusion Dans ce chapitre nous avons présenté une approche automatique pour générer un modèle de peau (skinning) de compensation de mouvement, à partir d une représentation par trames clés. La construction du modèle de peau repose sur une segmentation au sens du mouvement du maillage dynamique. Deux algorithmes de segmentation ont été proposés, l un par classification en k-moyennes et l autre par décimation hiérarchique. Les résultats expérimentaux, obtenus sur un riche corpus de test, démontrent àl évidence la supériorité de l algorithme de segmentation hiérarchique, qui permet en outre de déterminer automatiquement le nombre de parties nécessaires. La pertinence des algorithmes proposés pour des objectifs de compensation de mouvement par modèledepeauaétéégalement établie. La méthode de construction d un modèle de peau est à la base des schémas de compression proposés dans cette thèse, décrits dans les chapitres suivants

146 Compensation de mouvement par modèle de peau(skinning)

Chapitre6 Compression MCGV Résumé : Ce chapitre propose une nouvelle méthode de compression de maillages dynamiques 3D, appelée MCGV (Multi-Chart Geometry Video). MCGV étend la représentation GV (Geometry Videos), proposée initialement par Briceno et al. [12], tout en l améliorant en termes de performances de compression. Le mêmeprincipedereprésentation de la géométrie du maillage dynamique sous forme d une séquence vidéo d images géométriques 2D, pouvant être compressée à l aide de méthodes standards de codage d images (i.e., JPEG a ou MPEG-4 V2 [177]) est ici exploité. En revanche, MCGV s affranchit de toute procédure de re-maillage, en préservant la connectivité initiale du maillage, qui est codée sans perte. Cela permet d éviter les problèmes d artéfacts visuels de retriangulation dont souffre l approche GV. En outre, les optimisations apportées, comme la procédure de compensation de mouvement par modèle de skinning et la paramétrisation par altas, permettent d améliorer significativement (de l ordre de 10% à 60%) l efficacité de compresion. Mots clés : MCGV, images géométriques, atlas de paramétrisation, compression, maillages dynamiques, MPEG-4, JPEG. a. http ://www.jpeg.org/ 147

148 Compression MCGV Dans ce chapitre, nous proposons de représenter un maillage dynamique 3D sous forme d une séquence d images 2D qui est directement compressée en exploitant les standards JPEG 1 ou MPEG-4 V2 [177]. Le codeur proposé, appelé Multi-Chart Geometry Video MCGV, étend la représentation Geometry Videos (GV) introduite dans [12]. La section suivante présente une comparaison entre ces deux techniques et détaille les améliorations introduites. Les sections 6.2, 6.3 et 6.4 décrivent respectivement le schéma global du codeur MCGV, le processus de codage du modèle de peau (skinning) et la compression par images géométriques des erreurs résiduelles de compensation de mouvement. La section 6.5 analyse ensuite les fonctionnalités supportées par le codeur MCGV. Enfin, les résultats expérimentaux sont présentés et discutés Section 6.6. Rappelons tout d abord le principe de la représentation GV, en en soulignant les principales limitations. 6.1 Approche GV : principe et limitations L approche GV représente un maillage 3D sous forme d une séquence d images géométriques 2D (cf. Section 3.1). Les images 2D générées sont ensuite compressées en exploitant une procédure de compensation de mouvement affine global combinée à un codage par ondelettes régulières 2D. Les limitations majeures de l approche GV sont liées notamment àlaprocédure de remaillage considérée qui peut introduire (Figure 6.1.a) : Despertesdedétails de la surface à cause des problèmes de sous-échantillonnage du domaine paramétrique, Une mauvaise triangulation des surfaces remaillées dans le cas de fortes distorsions de paramétrisation, Des discontinuités des vecteurs normaux au niveau des courbes de découpage, considérées pour effectuer la paramétrisation. La technique MCGV proposée s affranchit de ces limitations tout en optimisant les performances de compression. En effet, le codeur MCGV (Figure 6.1) : Evite les problèmes de remaillage en préservant la connectivité initiale du maillage dynamique, qui est codée sans pertes, Améliore la stratégie de compensation de mouvement en exploitant le modèle de skinning proposé etdécrit au chapitre 5, Minimise les distorsions inhérentes de paramatérisation en exploitant un atlas de paramétrisations [178] au lieu d une unique paramétrisation sur un domaine 2D carré. Détaillons à présent l approche MCGV proposée. 6.2 Approche MCGV : schéma global Le schéma synoptique du codeur MCGV est présenté Figure 6.2. L approche proposée exploite la stratégie de compensation de mouvement par modèle de skinning décrite au chapitre 5. Le principe est de : Segmenter (c.f. Section 5.1) les sommets du maillage dynamiques en parties, Modéliser le mouvement de chaque cluster par une transformée affine 3D (cf. Section 5.2.1), 1. http ://www.jpeg.org/

6.2 Approche MCGV : schéma global 149 (a) GV (b) MCGV Figure 6.1 : MCGV versus GV : la procédure de remaillage opérée par GV conduit àdes pertes de détails et à des artéfacts visuels. Figure 6.2 : Schéma synoptique du codeur MCGV.

150 Compression MCGV Prédire le mouvement de chaque sommet par une combinaison linéaire pondérée des mouvements des différentes parties (c.f. Section 5.2.2). La première trame de la séquence, considérée comme trame de référence lors de la prédiction par modèle de skinning, est compressée en appliquant un codeur de maillages statiques arbitraire. Dans notre cas, nous avons prévilégié lecodeurtfan(cf. Chapitre 2). Les erreurs résiduelles de prédiction sont ensuite converties en images géométriques en exploitant un atlas de paramétrisation [178], calculé exclusivementà partir de la première trame de l animation. Le modèle de skinning ainsi que les coordonnées paramétriques associées aux sommets du maillage sont quantifiés uniformément et compressés avec le codeur arithmétique adaptatif proposé dans [68]. Les images géométriques décrivant les erreurs de prédiction sont finalement codées en appliquant directement : (1) le codeur d images 2D JPEG ou (2) le codeur vidéo MPEG-4 V2 [177]. 6.3 Codage du modèle de skinning Compresser le modèle de skinning (cf. Chapitre 5) revient à trouver une représentation compacte pour chacune de ses composantes : (1) la partition, (2) les transformées affines et (3) les poids d animation. Le Tableau 6.1 décrit chacun de ces différents éléments de la représentation ainsi que les stratégies de codage adoptées pour leur compression. Composante Description Stratégie de codage Partition Tableau 1D de taille V associant à chaque sommet Codage arithmétique [68] l index du cluster auquel il appartient Transformées Ensemble de (K T ) transformées affines (A k i )k i Quantification uniforme affines décrivant les mouvements des clusters k Codage arithmétique [68] {1,...,K} aux trames i {1,...,T} Poids d animatiofluence de chaque cluster k {1,...,K} sur le Codage arithmétique [68] Ensemble de coefficients réels (ωk v)v k contrôlant l in- Quantification uniforme mouvement des sommets v {1,..., V } Table 6.1 : Stratégie de compression des différentes composantes du modèle de skinning. La procédure de quantification uniforme permet de représenter un ensemble de valeurs réelles (r j ) j {1,...,J} par des entiers (g j ) j {1,...,J} {0,..., 2 Q 1} (Q étant le nombre de bits de quantification). Cette étape est nécessaire pour pouvoir exploiter le codeur arithmétique [68] qui s applique uniquement à des sources d information avec un nombre fini de symboles. Dans notre cas, les valeurs réelles (r j ) j {1,...,J} à coder correspondent, soit aux coefficients réels des transformées affine (A k i )k i, soit aux poids d animation (ωv k )v k. Les sorties entières du quantificateur, notées (g j ) j,sontdéfinies par : g j = r j min j (r j ) max j (r j ) min j (r j ) (2Q 1) + 1 2, (6.1) où x désigne la valeur entière d un réel x. Achaquevaleurg j on associe une valeur reconstruite, notée r j, qui correspond àlavaleur quantifiée de l échantillion r j,définie par : r j = g j (2 Q 1) [max j(r j ) min j (r j )] + min j (r j ). (6.2)

6.4 Compression des erreurs résiduelles 151 Notons que la connaissance des valeurs minimale min j (r j ) et maximale max j (r j ) est indispensable pour déterminer les valeurs reconstruites ( r j ) j {1,...,J} à partir des valeurs entières (g j ) j {1,...,J}.Laprocédure décrite par la relation (6.2) est appelée, par abus de language, quatification inverse. Signalons toutefois que la quantification est un processus inversible, avec perte d information. Les deux valeurs min j (r j )etmax j (r j )sontcodées sans perte et incluses dans le flux binaire. L erreur de quantification maximale (appelée aussi pas de quantification), notée δ Q,est donnée par : δ Q = max j(r j ) min j (r j ). (6.3) 2 Q 1 Détaillons à présent le codage des erreurs résiduelles de prédiction. 6.4 Compression des erreurs résiduelles Les erreurs de prédiction après compensation de mouvement par modèle de skinning,notées e v i =(e v,x i,e v,y i,e v,z i, 0), sont définies par : v {1,..., V }, e v i = χv i χv i. (6.4) Le principe de l approche MCGV proposée consiste àreprésenter la séquence des erreurs résiduelles (e v i )v i sous forme d une séquence d images 2D pixéllisées qui peut être compressée en appliquant des techniques classiques de codage d images, comme celles proposées par les standards JPEG et MPEG. Pour cela, il est nécessaire de construire une paramétrisation du maillage 3D sur un domaine image 2D, comme décrit dans la section suivante. 6.4.1 Atlas de paramétrisations Afin de minimiser les distorsions inhérentes à toute technique de paramétrisation, nous avons adopté laméthode Iso-Chart introduite dans [178] qui construit un atlas de paramétrisation. Pour minimiser les distorsions de paramétrisation, le principe est de segmenter tout d abord le maillage en patchs, puis de dériver une paramétrisation indépendante sur chaque partie. Afin de réduire encore plus les distorsions, l approche Iso-Chart permet de paramétrer chaque patch sur un domaine 2D d une forme adaptée (au lieu d utiliser un domaine carré 2D). Les domaines paramétriques 2D associés à l ensemble des patchs sont enfin regroupés dans un domaine carré 2D(i.e., [0, 1] [0, 1]). Ici, l algorithme de regroupement (ou empaquetage) introduit dans [74] est utilisé afin de minimiser les espaces entre patchs. La Figure 6.3 illustre l atlas de paramétrisation obtenu pour la première trame de l animation Dance. Notons que pour chaque point à l intérieur de l un des domaines paramétriques associés aux patchs du maillage correspond un point 3D sur la surface. En revanche, l ensemble des points situés entre les différents domaines paramétriques (qui forment un espace paramétrique non-utilisé) n a pas de correspondant sur la surface du maillage. Contrairement à l approche de codage par B-Splines présenté au Chapitre 3, la méthode MCGV calcule les coordonnées paramétriques associées aux sommets du maillage en tenant compte à la fois de ses propriétés topologiques et géométriques. Cela permet notamment de

152 Compression MCGV Figure 6.3 : Atlas de paramétrisation. minimiser les distorsions de paramétrisation. L information de paramétrisation, i.e. l ensemble des coordonnées paramétriques (u 1 (v),u 2 (v)) des sommets du maillage, est incluse directement dans le flux binaire pour être transmise au décodeur. Notons qu une telle approche serait inefficace dans le cadre de la compression de maillages statiques, en raison du volume relativement important de cette information additionnelle de paramétrisation. Toutefois, elle trouve pleinement son utilité dans le cas des maillages dynamiques, où la paramétrisation est transmise uniquement pour la première trame de la séquence. En pratique, le codeur MCGV applique l algorithme Iso-Chart sur la première trame de l animation conditionellement à la partition au sens du mouvement calculée lors de la construction du modèle de skinning. La partition finale en patchs qui est obtenue correspond ainsi à une sur-segmentation de la partition associée au modèle de peau. L atlas de paramétrisations ainsi obtenu est ensuite exploité pour convertir l ensemble des trames de l animation en images géométriques 2D, comme décrit dans le paragraphe suivant. 6.4.2 Construction des images géométriques Afin de générer les images géométriques associées au différentes trames de l animation, le principe consiste àré-échantillonner uniformément l espace paramétrique de représenter les erreurs de compensation de mouvement (e v i )v i selon une grille régulière pouvant être stockée sous forme d une image. Intuitivement, cela correspond à une pixellisation de cet espace. Toutefois, dans le domaine paramétrique, les seuls points qui ont une information géométrique associée sont ceux correspondant aux sommets du maillage (i.e., l ensemble {(u 1 (v),u 2 (v))/v {1,...,V}}, pour lesquels on dispose des erreurs (e v i )i {1,...,T } v {1,...,V }. Pour associer une information

6.4 Compression des erreurs résiduelles 153 Figure 6.4 : Images géométriques des erreurs de compensation de mouvement. Figure 6.5 : Image géomatrique obtenue après l application de la procédure de remplissage (padding) sur l image de la Figure 6.4.

154 Compression MCGV d erreur de compensation de mouvement à chaque pixel du domaine paramétrique, il est alors nécessaire d appliquer une procédure d interpolation à partir des données éparses (scattered data interpolation) [179]. Dans notre cas, nous avons adopté une méthode d interpolation simple mais efficace, àbase de coordonnées barycentriques. Plus rigoureusement, notons par (G j ) j {1,...,NG } [0, 1] [0, 1] l ensemble des domaines paramétriques de l atlas de paramétrisation. Soient : μ un point du domaine paramétrique G j, t j le triangle 2D de G j auquel le point μ appartient, v A, v B et v C les trois sommets du triangle t j,et μ va (μ), μ vb (μ) et μ vc (μ) les vecteurs 2D des coordonnées paramétriques associés à v A, v B et v C. Soit φ i j la fonction associée àlatramei et définie sur le domaine paramétrique G j par : φ i j : G j R 3 μ α(μ)e v A i + β(μ)e v B i + γ(μ)e v, (6.5) C i avec α(μ), β(μ) etγ(μ) les coordonnées barycentriques [80] du point μ dans le triangle t j de G j,définies par : α(μ) = (μ v B μ) (μ vc μ) (μ vb μ va ) (μ vc μ va ), (6.6) β(μ) = (μ v A μ) (μ vc μ) (μ vb μ va ) (μ vc μ va ), (6.7) γ(μ) = (μ v A μ) (μ vb μ) (μ vb μ va ) (μ vc μ va ), (6.8) où désigne le produit vectoriel entre deux vecteurs. En combinant les fonctions (φ i j ) j, nous pouvons dériver la fonction φ i associée à la trame i et définie sur tout le domaine paramétrique par : μ [0, 1] [0, 1], φ i (μ) = { φ i j (μ), si μ G j 0, sinon. (6.9) Notons que la fonction φ i,définie dans l Equation (6.9), permet d interpoler les erreurs de compensation de mouvement (e v i )v i sur le domaine [0, 1] [0, 1]. En particulier, la fonction φ i est interpolatrice au sens où elle garantit pour tout sommet v du maillage la propriétésuivante: φ i (μ v )=e v i, (6.10) avec μ v le vecteur des coordonnées paramétriques associées au sommet v. Une fois la procédure d interpolation des erreurs définie pour l ensemble des trames de l animation, l étapesuivanteconsisteàéchantillonner uniformément le domaine paramétrique aux points (μ unif (k, l)) l {1,...,M} k {1,...,N} (M et N désignant respectivement la largeur et la hauteur des images géométriques que l on souhaite déterminer) du domaine paramétrique définis par : l {1,...,M}, k {1,...,N} μ unif (k, l) = ( l M 1 k N 1 ). (6.11)

6.4 Compression des erreurs résiduelles 155 Soient (e i unif (k, l))l {1,...,M} k {1,...,N} les erreurs de compensation de mouvement associées au points (μ unif (k, l)) l k aux différents instants de l animation, comme décrit par l équation (6.12) : i {1,...,T}, l {1,...,M}, k {1,...,N} e i unif(k, l) =φ i (μ unif (k, l)). (6.12) La séquence des erreurs de compensation de mouvement (e i unif (k, l)) est ensuite quantifiée sur 8 bits (cf. Section 6.3). Les erreurs quantifiées associées à chaque trame sont stockées sous forme d une image couleur. Ici, les valeurs quantifiéesdeserreursselonlesaxesx, y et z sont considérées comme étant les trois plans de couleur R, G et B des pixels des images géométriques. La Figure 6.4 illustre l image des erreurs de compensation de mouvement générée pour la trame 48 de l animation Dance. Les images géométriques des erreurs de compensation de mouvement ainsi obtenues montrent des discontinuités importantes au niveau des frontières entre les parties de l image correspondants aux domaines paramétriques (G j ) j {1,...,NG } et le domaine non-utilisé de l image correspondant à l ensemble G free (représenté en noir dans Figure 6.4) défini par : G free =([0, 1] [0, 1]) / (G j ) j {1,...,NG }. (6.13) Compresser directement ces images à l aide de techniques classiques de compression d images rectangulaires (e.g. JPEG/MPEG) conduirait à de faibles performances de compression en raison des hautes fréquences générées par ces discontinuités. Pour s affranchir de cet inconvénient, nous proposons d appliquer une technique de remplissage (padding) inspirée de celle utilisée par le codeur MPEG-4 V2 [177]. Notons que la procédure de padding n affectera pas le processus de reconstruction étant donnée que les pixels correspondant au domaine G free peuvent prendre des valeurs arbitraires, sans aucune influence sur les maillages reconstruits. Toutefois, elle est essentielle pour garantir une compression efficace. 6.4.3 Remplissage des images géométriques En vue d une compression JPEG ou MPEG encore plus efficace, la méthode de remplissage ou padding proposée est spécifiquement adaptée àdesschémas de codage qui mettent en oeuvre une DCT par blocs de taille (8 8) pixels. Les images géométriques sont donc tout d abord partitionnées en blocs (8 8) pixels. Notons que la méthode de paramétrisation Iso-Chart[178] (cf. Section 6.4.1) permet de construire l atlas de paramétrisation tout en assurant une distance minimale entre les différents domaines paramétriques (G j ) j {1,...,NG }. Conaissant apriorila largeur M et la hauteur N des images géométriques (en pixels), la distance minimale entre domaines paramétriques est choisie de façon à ce qu aucun bloc ne contienne des pixels associés à deux domaines paramétriques différents. Chaque bloc B est composé, soit de pixels avec des valeurs bien définies (fixées), correspondant aux domaines paramétriques (G j ) j {1,...,NG }, soit de pixels dits libres (ou non-définis), associés au domaines non-utilisés G free. Notons par B free et B fix respectivement l ensemble des pixels libres et fixés du bloc B. Comme mesure du degré decontinuité d un bloc B, nous considérons la fonction ψ définie par : ψ(b) = e p e q 2, (6.14) (p,q) ℵ B

156 Compression MCGV où ℵ B est l ensemble des couples de pixels voisins en 8-connectivitédublocB et e p =(e R p,eg p,eb p ) est la valeur de l image géométrique considérée au pixel p. Minimiser la fonction ψ(b) par rapport aux valeurs des pixels de B free revient àrésoudre le système d équations linéaires suivant : p B free, ψ(b) B p =2 q ℵ p (e p e q )=0, (6.15) où ℵ p représente l ensemble des pixels voisins de p. Résoudre (6.15) est alors équivalent à trouver la solution du système linéaire suivant : p B free, 8 e p e q = e h. (6.16) q ℵ p B free h ℵ p B fix Le système linéaire (6.16) étant creux, symétrique et défini positif, il peut être résolu de façon stable et rapide en appliquant l algorithme du gradient conjugué [82]. La Figure 6.5 illustre l image des erreurs de compensation de mouvement obtenue pour la trame 48 de l animation Dance. Nous observons que la procédure de remplissage proposée conduit à une image lisse sur l ensemble des blocs de taille (8 8) pixels de l image. 6.4.4 Codage des images géométriques Suite àl étape de padding, les images géométriques des erreurs résiduelles de compensation de mouvement sont enfin compressées en appliquant soit le codeur d images statiques JPEG (dans une approche de codage trame par trame), soit le codeur vidéo MPEG-4 V2 [177]. Notons que chaque image couleur correspond aux trois images en niveaux de gris, une pour chaque plan R, G et B, codés de façon indépendante. Les coordonnées paramétriques des sommets du maillage (μ v ) v {1,...,V } sont quantifiées uniformément (cf. Section 6.3), puis codées arithmétiquement [68]. Au niveau du décodeur, la reconstruction des erreurs de compensation de mouvement (e v i )i {1,...,T } v {1,...,V } associées aux sommets du maillage est effectuée comme suit. Les images géométriques, ainsi que les coordonnées paramétriques sont tout d abord décodées. Notons par (ẽunif i (k, l))l k l image géométrique des erreurs de compensation de mouvement reconstruite à la trame i. L erreur de compensation de mouvement reconstruite ẽ v i associée au sommet v à la trame i est alors déterminée en appliquant la relation suivante : ẽ v i =ẽ unif ( μ i 1 v M, μ 2 v N ), (6.17) avec μ =( μ 1 v, μ 2 v) le vecteur des coordonnées paramétriques reconstruit. Notons que les erreurs de compensation de mouvement reconstruites (ẽ v i )i {1,...,T } v {1,...,V } sont en générale différentes des erreurs (ẽ v i )i {1,...,T } v {1,...,V } associées intialement aux sommets du maillage. Ces erreurs de reconstruction sont inhérentes àla pixéllisation (i.e., quantification du domaine paramétrique sur un nombre de pixels finis) appliquée lors de la génération des images géométriques. Analysons à présent dans quelle mesure l approche MCGV proposée répond aux fonctionnalités enoncées Section 4.4.

6.5 Fonctionnalités 157 6.5 Fonctionnalités Le codeur MCGV représente la géométrie d un maillage dynamique sous forme d une séquence d images 2D dont l interprétation en terme de géométrie 3D est assurée par une information supplémentaire relative au modèle de skinning et aux coordonnées paramétriques associées aux sommets du maillage. Cette information supplémentaire est codée de façon statique une seule fois, pour toute la séquence, au début du processus de transmission. Les trois images géométriques qui représentent la composante la plus importante en volume du flux binaire (i.e., plus de 80% en moyenne) sont codées en exploitant les deux standards de codage d images JPEG 2 et MPEG-4 V2 [177]. Cette approche permet àmcgvd hériter directement des fonctionnalités supportées par ces deux codeurs et qui sont synthétisées dans le Tableau 6.2. Techniques Codage des Scalabilité Scalabilité Scalabilité Quasi-sans Streaming attributs spatiale temporelle en qualité pertes MCGV/JPEG MCGV/MPEG-4 V2 Table 6.2 : Fonctionnalités supportées par le codeur MCGV. Dans le cas du codeur MCGV/JPEG, les trames sont codées indépendamment les unes des autres. Cette approche permet un accès aléatoire aux trames sans avoir besoin de décoder toute la séquence. En plus, la scalabilité en qualité supportée par le codeur JPEG est directement héritée par le codeur MCGV. Le codeur MCGV/MPEG-4 V2 permet un accès direct aux trames de type I (i.e., mode intra). Ces points d accès aléatoire, permettent entre autres d assurer la fonctionnalité de streaming. Laprocédure de prédiction supplémentaire appliquée ici exploite efficacement les corrélations temporelles entre trames successives et offre ainsi de meilleures performances de compression que l approche MCGV/JPEG (cf. Section 6.6.3.1). Les fonctionnalités de scalabilité temporelle et de scalabilité en qualité supportées par le standard MPEG-4 V2 [177] sont elles-aussi directement héritées par le codeur MCGV. Dans ce cas, le codeur MCGV reconstruit les erreurs de compensation de mouvement en appliquant l Equation (6.17) aux différentes trames des vidéos scalables (temporellement ou en qualité) produites par le codeur MPEG-4 V2. Le codage des attributs photométriques (e.g., normales, couleurs...) est également possible et ce pour les deux versions du codeur MCGV/JPEG et MCGV/MPEG-4 V2. Comme proposé dans [12], il suffit de générer des images géométriques supplémentaires pour chacune de ces informations de façon analogue à l approche décrite dans la Section 6.4 pour les attributs géométriques. Ces images peuvent être également codées par l un des deux codeurs MCGV/JPEG ou MCGV/MPEG-4 V2. Notons en revanche que les fonctionnalités de scalabilité spatiale et de codage quasi-sans perte ne peuvent pas être supportées par le codeur MCGV. En effet, la représentation par images géométriques utilisée induit des pertes d information inhérentes àlaprocéduredere- échantillonnage considérée. Ainsi, la discrétisation du domaine paramétrique en un nombre fini de pixels et la quantification des coordonnées paramétriques associées aux sommets du maillage conduisent à des pertes de précision lors du processus de reconstruction des erreurs résiduelles 2. http ://www.jpeg.org/

158 Compression MCGV (équation 6.17). Ces pertes sont inhérentes à la représentation par images géométriques et dépendent fortement de la qualité de la paramétrisation utilisée (cf. Section 6.4.1). Il est alors impossible d imposer à l avance une borne maximale sur les erreurs de reconstruction des images géométriques. Analysons à présent les performances de l approche MCGV proposée en termes d efficacité de compression. 6.6 Résultats expérimentaux 6.6.1 Corpus d évaluation Afin de réaliser une comparaison objective, nous avons considéré comme corpus de test six animations utilisées par la majorité des travaux de la littérature : Dance, Chicken, Dolphin, Humanoid, Cow et Snake. Les propriétés de ces animations (type de mouvement, nombre de sommets, de trames et de composantes connexes...), ainsi que des extraits illustrant leurs mouvements sont présentés dans l Annexe 8.5. 6.6.2 Critères d évaluation Afin d évaluer les performances de compression pour des maillages dynamiques avec des nombres de sommets et de trames différents, les débits sont exprimés en bits par trame par sommet (bpts). Les débits rapportés correspondent à la taille totale du flux binaire nécessaire pour le décodage de l animation qui inclut : la première trame compressée avec le codeur TFAN, les coordonnées paramétriques des sommets, la partition, les transformées affines, les poids d animation, les images géométriques des erreurs de compensation de mouvement. Les distorsions de compression sont mesurées en utilisant l erreur RMSE [51] entre maillages originaux et reconstruits (décodés). L erreur RMSE entre deux séquences de maillages animés (S i ) i {1,...,T } et (S i) i {1,...,T } est définie comme étant la moyenne (sur l ensemble des trames) des erreurs RMSE pour chaque couples de trames : RMSE(S, S )= 1 T D T RMSE(S i,s i). (6.18) i=1 Le facteur de normalisation D représente la longueur de la diagonale de la boîte englobante de l objet à la première trame. Notons que l utilisation de l erreur RMSE est indispensable pour l évaluation de l approche GV, puisque la comparaison doit être effectuée entre deux maillages, initial et reconstruit, caractérisés par des connectivités différentes. Cela pénalise l exploitation de mesures plus simples, fondées sur des distances de sommet à sommet comme celles considérées dans la Section 8.2.

6.6 Résultats expérimentaux 159 6.6.3 Résultats de compression Les paramètres du codeur MCGV utilisés pour l ensemble des animations sont les suivants : le paramètre E 0 utilisé dans la construction du modèle de skinning (cf. chapitre 5) est fixé àlavaleur(0.0025) 2, les coordonnées paramétriques des sommets sont quantifiées sur 8 bits, les poids d animation et les transformées affines sont quantifiées sur 16 bits, les erreurs résiduelles de prédiction par modèle de skinning sont quantifiées sur 8 bits, la taille des images géométriques est de 256 256. L approche MCGV a été comparée à six techniques de l état de l art : D3DMC, AFX-IC, RT, PCA, Dynapack et GV. Les résultats de compression des approches retenues sont ceux rapportés dans [162], [158], [122] et [12]. Le Tableau 6.3 résume les résultats de compression disponibles dans la littérature pour les séquences animées considérées ainsi que les références sources correspondantes. Analysons tout d abord de façon comparée les performances des deux variantes de codage MCGV considérées, par JPEG et par MPEG-4/V2. Animation D3DMC AFX-IC RT PCA Dynapack GV Cow - - - - - [12] Chicken [162] [162] [158] - [122] - Dolphin - - - - - - Dance - - - - - [12] Humanoid [162] [162] - - - - Snake - - [158] [158] - [12] Table 6.3 : Résultats de compression disponibles et références des sources associées. 6.6.3.1 MCGV/JPEG versus MCGV/MPEG-4 V2 Les Figures 6.6 et 6.7 présentent les courbes débit/distorsion des codeurs MCGV/JPEG et MCGV/MPEG-4 V2 obtenues pour les animations Dance, Chicken, Dolphin, Humanoid, Cow et Snake. Le Tableau 6.4 résume les gains moyens en termes de débits obtenus par le codage prédictif MCGV/MPEG-4 V2 par rapport au codage intra MCGV/JPEG. Sur l ensemble des séquences, nous constatons un gain moyen de 33%. Ce gain s explique par les corrélations temporelles résiduelles relativement importantes qui sont bien prises en compte par l approche prédictive MPEG-4 V2. Etudions à présent les performances de l approche MCGV par rapport à la technique originale de vidéos géométriques GV [12]. 6.6.3.2 MCGV versus GV L approche GV supporte deux modes de codage : 1. le mode I (intra) : toutes les trames sont codées indépendamment les unes des autres, 2. le mode P (prédictif) : la première trame est codée de façon indépendante et les autres trames sont prédites.

160 Compression MCGV (a) Chicken (b) Cow (c) Dance Figure 6.6 : MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) Chicken, b) Cow etc) Dance.

6.6 Résultats expérimentaux 161 (a) Dolphin (b) Snake (c) Humanoid Figure 6.7 : MCGV/JPEG versus MCGV/MPEG-4 V2 pour les animations : a) Dolphin, b) Snake et c) Humanoid.

162 Compression MCGV Animation Gain (%) Chicken 42 Cow 17 Dance 24 Dolphin 42 Snake 36 Humanoid 36 Moyenne 33 Table 6.4 : Gains moyens en débits obtenus par le codage prédictif MCGV/MPEG-4 V2 par rapport au codage intra MCGV/JPEG. Figure 6.8 : Courbes débit/distorsion des approches prédictives MCGV/MPEG-4 V2 et GV en mode P. NotonsquelecodeurGVnepeutpass appliquer aux maillage dynamiques Chicken et Dolphin. En effet, cette méthode ne prend pas en compte les maillages composés de multiples composantes connexes et les maillages non-manifolds qui ne sont pas pris en compte par cette méthode. Dans le cas de l animation Cow, seules les 81 premières trames ont été considérées dans [12]. La Figure 6.9 présente les distributions des erreurs RMSE en fonction des trames de l animation Dance pour les deux approches prédictives MCGV/MPEG-4 V2 et GV en mode P à 2 et 4 bpts. La Figure 6.8 montre les courbes débit/distorsion associées à ces deux approches. Le gain moyen en distorsion (pour un même débit) est de l ordre de 30%. En termes de débits, le gain moyen obtenu (sur toute la plage des distorsions considérées) est de 60%. La Figure 6.10 montre les courbes des erreurs RMSE en fonction des trames obtenues, à8 bpts, pour les codeurs MCGV/JPEG et GV en mode I. Le Tableau 6.5 présente les gains en termes d erreurs RMSE obtenues par le codeur MCGV/JPEG par rapport à l approche GV mode I. Ces gains sont respectivement de l ordre de 50%, 60% et 10% pour les animations Cow, Dance et Snake. Ces résultats montrent que l approche MCGV proposée améliore de 60% en moyenne les performances (en termes de débits) du codeur GV. Elle est particulièrement efficace dans le cas de maillages dynamiques articulés (e.g., animation Dance ) où la stratégie de compensation de mouvement par modèle de skinning est pleinement exploitée. En outre, à hauts débits (i.e.,

6.6 Résultats expérimentaux 163 (a) Dance à 4 bpts (b) Dance à 2 bpts Figure 6.9 : MCGV/MPEG-4 V2 versus GV-mode P à:a)2etb)4bpts. Sequence GV MCGV Gain Cow 0,00122 0,00067 45% Dance 0,00020 0,00049 60% Snake 0,00015 0,00017 10% Table 6.5 : MCGV/JPEG versus GV mode I à 8 bpts.

164 Compression MCGV à partir de 8 bpts), le codeur MCGV permet d atteindre des erreurs RMSE plus basses. Cela s explique par l atlas de paramétrisation considéré, qui permet de réduire considérablement les distorsions de paramétrisation. De plus, l absence de procédures de re-maillage permet évite les problèmes de sous-échantillonnage, de mauvaise triangulation et de discontinuités des normales. Notons également que l approche MCGV permet de gérer une classe plus grande de maillages,à multiples composantes connexes (e.g., Chicken ), non-manifold (e.g., Dolphin ) et de genres arbitraires grâce à l approche de paramétrisation par atlas considérée [178]. 6.6.3.3 MCGV versus les techniques de l état de l art La Figure 6.12 illustre les performances des codeurs MCGV, AFX-IC et D3DMC pour le maillage dynamique Humanoid. Ici, à 2.2 bpts, l approche MCGV/MPEG-4 V2 offre en moyenne dans gains en terme de distorsions RMSE de l ordre de 80% et 94% par rapport aux approches D3DMC et AFX-IC. Les performances de compression relativement basses du codeur AFX-IC s expliquent par la simplicité duprédicteur spatio-temporel utilisé qui n arrive pas en pratique à exploiter efficacement les redondances spatio-temporelles de l animation. La Figure 6.13 compare les performances du codeur MCGV à celles des approches D3DMC, AFX-IC, RT et Dynapack pour l animation Chicken. Ici, les techniques D3DMC et MCGV surclassent les autres codeurs dans la plage des bas débits (i.e., moins de 4bpts). A 2.2 bpts, le codeur MCGV/MPEG-4 V2 offre un gain de 30% en terme d erreur RMSE par rapport àla technique D3DMC. Cela s explique par la non-optimalitédeladécomposition du mouvement par arbre octale (octree) exploité par D3DMC. En effet, dans le cas de mouvements complexes, une telle structure de subdivision régulière nécessite un nombre important de niveaux ce qui conduit à une dégradation des performances de compression. La Figure 6.11 montre les courbes débit/distorsion des codeurs MCGV, RT et PCA pour le maillage dynamique Snake. Ici, l approche PCA coduit au plus mauvais résultats de compression. Cela s explique par le fait que la technique PCA est optimisée pour des séquences animées longues avec un nombre de sommets beaucoup moins important que le nombre de trames (T V ). Une telle hypothèse n est pas vérifiée dans le cas de l animation Snake (T = 134, V = 9179). L approche MCGV en revanche offre les meilleurs résultats de compression avec des gains en distorsion RMSE de l ordre 50% par rapport àlatechniquert.cela prouve que la modélisation par modèle de skinning est plus efficace qu un modèle rigide par morceaux.

6.6 Résultats expérimentaux 165 (a) Dance (b) Cow (c) Snake Figure 6.10 : MCGV/JPEG versus GV-mode I à 8 bpts.

166 Compression MCGV Figure 6.11 : Animation Snake : MCGV versus les techniques de l état de l art. Figure 6.12 : Animation Humanoid : MCGV versus les techniques de l état de l art. Figure 6.13 : Animation Chicken : MCGV versus les techniques de l état de l art.

6.7 Conclusion 167 6.7 Conclusion Dans ce chapitre, nous avons présenté une approche de compression de maillages dynamiques, dites MCGV, fondée sur une représentation par images géométriques. L approche MCGV proposée étend la représentation GV [12] a une classe plus large de maillages dynamiques (non-manifold, à multiples composantes connexes et de genre arbitraire) tout en s affranchissant des problèmes de remaillage (e.g., discontinuités et de sous-échantillonnage). En exploitant des standards de compression déjà matures(i.e., JPEG et MPEG-4 V2) la technique MCGV améliorent considérablement les performances de compression de GV (des gains en débits de l odre de 60%) tout en héritant des fonctionnalités avancées offertes par ces standards : scalabilité temporelle, la scalabilité en qualité, streaming et codage des attributs. Notons en revanche que le codeur MCGV ne supporte pas les fonctionnalités de scalabilité spatiale et de codage quasi-sans perte. En effet, la conversion de la géométrie irrégulière des maillages dynamiques sous forme d images géométriques étant un processus avec pertes, il est complexe voire impossible de garantir dans le cas général une borne maximale des erreurs de conversion. De plus, la scalabilité spatialeétant assurée uniquement dans le domaine des images géométriques, il est difficile de la transposer dans le domaine des maillages dynamiques. Afin de répondre aux contraintes d efficacité de compression tout en assurant la totalité des fonctionnalités requises, nous proposons dans le chapitre suivant une deuxième technique de compression de maillages dynamiques. L approche proposée, appelée FAMC (Frame-based Animated Mesh Compression), fait cohabiter différentes techniques prédictives et par transformées pour augmenter l efficacité de compression et répondre aux besoins fonctionnels des applications industrielles. De manière plus précise, nos contributions portent sur la mise en place d un schéma de codage général, avec une architecture flexible et modulaire supportant notamment les fonctionnalités de streaming, de scalabilité (temporelle, spatiale et en qualité), de prise en compte de codage d attributs photométriques et de compression quasi-sans perte.

168 Compression MCGV

Chapitre7 L approche FAMC : la nouvelle spécification MPEG-4 Résumé : Ce chapitre propose une nouvelle méthode de compression de maillage dynamique 3D, appelée Frame-based Animated Mesh Compression (FAMC). Le codeur FAMC offre une architecture flexible et modulaire combinant une stratégie de compensation de mouvement par modèle de skinning avec différentes techniques de codage par transformées des erreurs résiduelles. En outre, l approche proposée supporte un ensemble de fonctionnalités telles que le streaming, la scalabilité (temporelle, spatiale et en qualité), le codage d attributs photométriques et de la compression quasi-sans pertes. Mots clés : FAMC, compression, maillage dynamique 3D, standard MPEG-4. 169

170 L approche FAMC : la nouvelle spécification MPEG-4 7.1 Schéma global Le schéma synoptique de l algorithme de compression FAMC est présenté Figure 7.1. Figure 7.1 : Schéma synoptique du codeur FAMC. En grisé, les modules optionnels. Tout d abord, la première trame de la séquence est compressée à l aide d un codeur de maillage statique. Toute approche de compression de maillage statique peut être ici exploitée. Pour nos expérimentations, nous avons prévilégié lecodeurtfanproposé au Chapitre 2. Le module de générationdumodèle de peau (skinning) exploite la procéduredesegmentation hiérarchique présentée dans la Section 5.1. Ici, les sommets du maillage sont partitionnés en un ensemble de clusters, defaçon à ce que le mouvement de chacun puisse être décrit par une unique transformée affine 3D. Un modèle de mouvement affine est alors associé demanière optimale àchaquecluster et pour chaque trame (cf. Section 5.2.1). Ce modèle est alors exploité dans l étape de compensation de mouvement, le mouvement de chaque sommet étant exprimé comme une combinaison linéaire pondérée des mouvements des différentes parties (cf. Section 5.2.2). Notons, que le mouvement affine est toujours estimé par rapport àlapremière trame de l animation afin de : 1. Permettre un accès aléatoire aux trames de l animation, 2. Gérer efficacement les pertes d information dans le contexte de transmission en environnements bruités. Les erreurs résiduelles de compensation de mouvement sont finalement codées à l aide d une transformée temporelle ou spatio-temporelle. Une dernière étape de prédiction hiérarchique

7.2 Codeur arithmétique avec contexte CABAC 171 peut être optionnellement appliquée. Celle-ci exploite une décomposition en niveaux hiérarchiques du maillage, adaptée à une prédiction spatio-temporelle locale qui assure la scalabilité spatiale du flux FAMC. Dans nos expérimentations, nous avons retenu les transformées suivantes : l identité pour permettre un codage uniquement par prédiction hiérarchique, la DCT (Discrete Cosine Transform) bien connue pour ses propriétés de concentration de l énergiedusignalenunnombreréduit de coefficients, la transformée en ondelettes (TO) implantée par schéma de lifting [180], pour sa capacité d allier compacité dereprésentation et faible complexité de calcul, ainsi que pour le support du codage quasi-sans perte, une décomposition par ACP, pour l optimalité delareprésentation. Notons la grande flexibilité de l architecture modulaire proposée qui rend possible l intégration de plusieurs méthodes, pouvant répondre à différentes contraintes d application. Quel que soit le type d information(paramètres du modèle de skinning, coefficients spectraux...), les différents éléments de la représentation FAMC sont codés à l aide du codeur arithmétique binaire adaptatif avec contextes - CABAC (Context-based Adaptive Binary Coding). Pour faciliter la compréhension de la suite des développements présentés dans ce chapitre, présentons en premier lieu le codeur CABAC, avec ses principes et différents modes de fonctionnement. 7.2 Codeur arithmétique avec contexte CABAC Afin d assurer un codage binaire efficace et de faible complexité de calcul, nous avons adopté le codeur arithmétique binaire CABAC retenu par le standard de codage vidéo H.264/AVC [181] en raison de ses performances élevées. Le schéma fonctionnel du codeur CABAC est présenté Figure 7.2. Il repose sur les trois étapes suivantes : 1. Binarisation qui consiste à associer de façon unique à des symboles non-binaires des mots de code binaires, d une manière adaptée à leurs propriétés statistiques. Un principe bien connu en théorie de l information est ici exploité : plus un symbole est fréquent, plus le code binaire qui lui est associé est court. 2. Modélisation des contextes qui vise à adapter la probabilité d apparition d un symbole binaire à son contexte (e.g., type de l information codée, valeurs des symboles déjà traités dans un voisinage spatio-temporel...). 3. Codage arithmétique binaire qui exploite une quantification sur quatre bits des probabilités d apparition des symboles binaires obtenus à l étape (1), ainsi que des tables de probabilités pré-calculées pour leur mise à jour adaptative.

172 L approche FAMC : la nouvelle spécification MPEG-4 Figure 7.2 : Schéma fonctionnel du codeur CABAC. Notons que le codeur CABAC permet également un codage direct des symboles binaires (sans passer par le codeur arithmétique) et ce afin de simplifier et d accélérer le codage d informations binaires caractérisées par des répartitions équiprobables (e.g., bits de signe, bits les moins significatifs...). Au contraire, le codage arithmétique est en général utilisé dans le cas des symboles présentant des répartitions de probabilités concentrées autour de certaines valeurs, où une modélisation par contextes est efficace. Pour une présentation in extenso de CABAC, le lecteur est invité à consulter [181]. L intégration du codeur CABAC dans la structure modulaire de FAMC nécessite de développer des procédures de binarisation optimisées et adaptées aux composantes du flux FAMC (e.g. coefficients DCT/TO, poids d animation, transformées affines...). D une manière générale, l objectif est d associer à chaque symbole x d une source d information S, un mot de code binaire b(x), d une façon adaptée aux propriétés statistiques de la source. Les symboles x prennent leurs valeurs dans un ensemble A, appelé alphabet de la source, et leurs probabilités d apparition, notées p(x), sont supposées connues. Sans restreindre la généralité du problème, considérons une source à symboles prenant des valeurs entières, dans l alphabet A = {0, 1,..., X 1}, avecx le nombre total des symboles. Les différents schémas de binarisation adoptés ainsi que leurs principales propriétés sont présentés dans les sections suivantes. 7.2.1 Schéma de binarisation à longueur fixe Le schéma de binarisation à longueur fixe - FL (Fixed Length) associe àtoutentierx A sa représentation binaire sur log 2 (X) 1 bits. Cette procédure est illustrée dans le Tableau 7.1, pour un alphabet composé de cinq symboles. Les mots de code étant de longueur constante, la binarisation FL est en générale utilisée pour des alphabets dont les symboles sont plus ou moins équiprobables. 1.. : la fonction qui associe àunréel r le plus petit entier n tel que n r.

7.2 Codeur arithmétique avec contexte CABAC 173 Valeur Code FL binaire 0 000 1 001 2 010 3 001 4 100 5 101 Table 7.1 : Schéma de binarisation FL pour l alphabet A = {0, 1, 2, 3, 4, 5}. 7.2.2 Schémas de binarisation Unary et Truncated Unary Le schéma de binarisation Unary associe àtoutentierx 0lecodebinairecomposé d une séquence de x bits de valeur 1 suivie d un bit de terminaison de valeur 0. La binarisation Truncated Unary, notée TU, associée à une valeur 0 x<x 1, est identique à celle du schéma de binarization Unary. Pour le dernier symbole x = X 1, le bit à valeur 0 de terminaison est omis. Le Tableau 7.2 présente un exemple de binarisation pour les schémas Unary et TU. Notons que la longueur du mot de code binaire associé parleschéma Unary à l entier x est de (x + 1) bits. En exploitant la relation de Shannon [182] qui lie la longueur optimale d un code à sa probabilité d apparition, il en résulte que le code Unary est optimal pour un alphabet caractérisé par une répartition de probabilité exponentielle,de la forme p(x) =2 (x+1). (7.1) En appliquant un raisonnement similaire, on peut déduire que la binarisation TU est optimale pour des probabilités du type : x {0,..., X 1}, p(x) = { 2 (x+1), si x X 1 2 (X 1), sinon. (7.2) Valeur Code Unary binaire Code TU binaire 0 0 0 1 10 10 2 110 110 3 1110 1110 4 11110 11110 5 111110 11111 Table 7.2 : Schéma de binarisation Unary et TU pour l alphabet A = {0, 1, 2, 3, 4, 5}. 7.2.3 Schéma de binarisation Exponential Golomb Le schéma de binarisation Exponential Golomb d ordre k, noté EGk,a été proposé par Teuhola [23] dans le cadre de ses travaux sur le codage par plages de valeurs (Run Length Encoding-RLE).

174 L approche FAMC : la nouvelle spécification MPEG-4 Le code EGk associé ausymbolx est défini par la concaténation de deux codes binaires : un code préfixe et un code suffixe. Le code préfixe correspond àlareprésentation Unary de l entier l(x) = log 2 (x/2 k +1). Le code suffixe est donné par la représentation FL (cf. Section 7.2.1) sur k + l(x) bits de l entier x +2 k (1 2 l(x) ). Le Tableau 7.3 présente un exemple de binarisation pour le schéma EG0. Notons que la longueur du mot binaire associé ausymbolex a pour longueur l EGk (x) = 2.l(x) +k + 1 bits. En inversant encore une fois la relation de Shannon, on peut déduire que le code EGk est optimal pour un alphabet avec des probabilités de la forme : x 0, p(x) =2 (2.l(x)+k+1). (7.3) En particulier, le code EG0 est optimal pour des probabilités du type : x 0, p(x) = 1 2.(x +1) 2. (7.4) En pratique, le schéma de binarisation EG0 est exploité afin de coder les erreurs résiduelles de prédiction qui peuvent être modélisées efficacement par ce type de distribution [181]. Valeur Code EG0 binaire 0 0 1 100 2 101 3 11000 4 11001 5 11010. Table 7.3 : Schéma de binarisation EG0.. 7.2.4 Schéma de binarisation Unary/Exponential Golomb De manière similaire au schéma EGk, le schéma de binarisation Unary/Exponential Golomb d ordre k et de longueur de préfixe X, noté UEG(k, C), associe également àtoutentierx 0 une concaténation de deux codes binaires : un code préfixe et un code suffixe. Le code préfixe est ici spécifié par la représentation TU de l entier min(x, C). Le code suffixe est vide si x C. Dans le cas contraire (x >C), le code suffixe correspond à la représentation EGk de l entier (x C 1). Le Tableau 7.4 présente un exemple de binarisation pour le schéma UEG(0, 6). Notons que le schéma de binarisation UEG(k, C) généralise le schéma EGk (i.e. pour C = 0 on obtient exactement le EGk). Ce schéma est exploité dans [181] pour le codage des coefficients DCT.

7.3 Compression du modèle de mouvement 175 Valeur Prefixe TU Suffixe EG0 0 0 1 10 2 110 3 1110 4 11110 5 111110 6 111111 7 111111 0 8 111111 100 9 111111 101 10 111111 11000.. Table 7.4 : Schéma de binarisation UEG(0, 6).. Cela complète la spécification des schémas de binarisation CABAC utilisés pour le codage des différents éléments de la représentation FAMC. Décrivons à présent la méthodologie adoptée pour la compression du modèle de mouvement FAMC. 7.3 Compression du modèle de mouvement Il s agit en premier lieu de coder le modèle de peau considéré. 7.3.1 Codage du modèle de peau (skinning) Le modèledepeaufamc(cf. Chapitre 5) est composé : 1. D une partition des sommets du maillage en clusters, 2. D un ensemble de transformées affines associées à la partition, 3. De l ensemble des poids d animation associés aux sommets du maillage. Le schéma de compression FAMC associe à chaque type de données une méthode de codage adaptée, comme décrit dans les sections suivantes. 7.3.1.1 Codage de la partition La partition Π = (π k ) k {1,...,K} est stockée sous forme d un tableau 1D associant àchaque sommet v l index entier du cluster auquel il appartient. Afin de coder ce tableau, FAMC exploite un codage par plages de valeurs (run-length encoding). Le principe consiste à représenter le tableau par un ensemble de couples (symbole, occurrence), comme illustré Figure 7.3 pour un exemple de maillage simple. L occurrence d un symbole est définie comme le nombre d apparitions consécutives du symbole en question. La binarisation des symboles et de leurs occurrences est effectuée en utilisant respectivement une représentation binaire FL et les codes EG0. Notons que les performances d un tel codage dépend de l ordre de stockage des sommets dans le tableau. Etant donnés que deux sommets voisins ont une forte probabilité d être dans

176 L approche FAMC : la nouvelle spécification MPEG-4 le même cluster, lecodeurfamcréordonne les sommets de manière à ce que la distance topologique 2 entre les couples de sommets du maillage soit au mieux préservée dans le tableau 1D. Un tel problème, connu dans la littérature [184] sous le nom d arrangement linéaire minimum (minimal linear arrangement), étant NP-complet [184], nous proposons une solution sous-optimale, mais plus efficace en temps de calcul, qui consiste à exploiter l ordre induit par le parcours de voisin en voisin des sommets du maillage présenté au Chapitre 2. En pratique, cette heuristique donne des résultats satisfaisants Figure 7.3 : Exemple de codage par plages de valeurs d une partition, pour un maillage avec 14 sommets partitionnés en 3 clusters. 7.3.1.2 Codage des transformées affines Au lieu de coder directement les coefficients réels des transformées affines (A k i )k {1,...,K} i {1,...,T },nous avons opté pour une représentation à base de trajectoires de points. A partir de la première trame de la séquence (instant i =1)etpourchaquecluster, quatre points (P n (1,k)) n {1,...,4} sont dérivés àpartirdelaboîte englobante du cluster considéré, comme décrit par les équations (7.5) et (7.6) (Figure 7.4) : P 2 (1,k)= x k g + d x y k g z k g 1 P 1 (1,k)= 1 χ v 1 π k = v π k,p 3(1,k)= x k g y k g + d y z k g 1 x k g y k g z k g 1, (7.5),P 4(1,k)= x k g y k g z k g + d z 1. (7.6) Ici, π k désigne le nombre de sommets de la partie π k et d x, d y et d z les longueurs de la boîte 2. La distance topologique entre deux sommets u et v est définie comme étant le nombre d arêtes qui compose le chemin le plus court (au sens de Dijkstra [183]) entre u et v.

7.3 Compression du modèle de mouvement 177 Figure 7.4 : Les quatre points utilisés pour la représentation du mouvement affine d un cluster. englobante selon les trois axes x, y et z, définies respectivement par : d x =max χ v,x 1 x k v π k g, (7.7). d y =max χ 1 yg k, v π k (7.8) d z =max χ 1 zg k. v π k (7.9) A chaque instant i 2, les positions des quatre points caractéristiques sont données par : n {1,..., 4}, P n (i, k) =A k i P n(1,k). (7.10) Cette représentation étend au cas 3D celle déjà utilisée pour le codage des mosaïques 2D par le standard MPEG-4 (partie vidéo). Elle permet de s affranchir des problèmes de stabilité des coefficients affines, tout en restant équivalente, en terme de représentation de mouvement, à celle par coefficients. Les trajectoires P n (i, k) ainsi obtenues sont ensuite considérées comme signaux 1D et compressées en exploitant une transformée DCT, comme décrit Section 7.4.1. 7.3.1.3 Codage des poids d animation La Figure 7.5 décrit la processus de codage des poids d animation associés aux sommets du maillage. Tout d abord les relations d adjacence entre clusters sont calculées en exploitant la connectivité du maillage ainsi que la partition associée au modèle de skinning. Ici, deux clusters π k1 et π k2 sont dit voisins si et seulement si il existe une arête e =(v 1,v 2 )telquev 1 π k1 et v 2 π k2. Rappelons que ces relations d adjacences sont utilisées pour limiter le calcul des poids d animation d un sommet v à ceux associés aux parties voisines (cf. Section 5.2.2). Une fois les poids d animation optimaux calculés, une procédure de sélection est appliquée. Notons que les poids optimaux offrent toujours de meilleures performances que les poids unitaires. Néanmoins, dans le cas de sommets influencés majoritairement par le mouvement d une seule partie, les poids optimaux et les poids unitaires sans quasi-identiques. Comme de plus les poids unitaires peuvent être générés à partir de l information de partition sans coût de codage supplémentaire, il est plus efficace de les considérer au lieu coder des poids optimaux. Ainsi, le codeur FAMC compare-t-il les performances du modèle de skinning avec et sans poids d animation pour un sommet donné. Le principe est de coder les poids d un sommet si et seulement

178 L approche FAMC : la nouvelle spécification MPEG-4 Figure 7.5 : Codage des poids d animation. si cela permet d atteindre un gain minimal en terme d erreur E χ.unbit,ditbit de sélection,est alors associé à chaque sommet pour indiquer si ses poids sont codés ou non. Cette information est compressée directement en utilisant le codeur CABAC. Les poids d animation des sommets retenus sont ensuite quantifiés uniformément, binarisés en plans de bits (bit planes) et codés avec CABAC. Enfin, une information décrivant pour chaque cluster le nombre de ses voisins et leurs index est envoyée au décodeur. FAMC code ces relations de voisinage en appliquant une binarisation EG0 pour les nombres de voisins et une représentation FL pour les index avant de les compresser avec CABAC. Afin de mieux tirer profit des éventuelles corrélations entre valeurs codées, un contexte binaire différent est défini pour chacun des éléments d information suivants : 1) poids d animation, 2) la séquences des bits de sélection, 3) nombres des voisins des clusters et leurs index. Ces éléments de représentation décrivent complètement le codage du modèle de peau utilisé. Détaillons maintenant le codage des erreurs résiduelles de prédiction. 7.4 Compression des erreurs résiduelles Leserreursdeprédiction après compensation de mouvement par modèle de skinning, notées,e v,y i,e v,z i, 0), sont définies par : e v i =(ev,x i v {1,..., V }, e v i = χv i χv i. (7.11) De façon similaire, les erreurs de prédiction associées aux normales des sommets, notées,n v,y i,n v,z i, 0), sont définies par : n v i =(nv,x i Soit (Λ v i )v {1,...,V } i {1,...,F } v {1,..., V }, n v i = N v i Ñ v i. (7.12) l ensemble des attributs photométriques (couleurs, coordonnées 2D de texture...) associés au sommets du maillage dynamique. Les erreurs de prédiction correspondantes sont définies par : v {1,..., V }, a v i =Λv i Λv 1. (7.13)

7.4 Compression des erreurs résiduelles 179 Quel que soit le signal géométrique ou photométrique considéré, l étape de compensation de mouvement accomplit une première décorrélation de ses échantillions. Toutefois, afin de prendre en compte les éventuelles corrélations résiduelles, nous avons considéré une étape supplémentaire de décorrélation, à base d une transformée temporelle ou spatio-temporelle, couplée avec une prédiction spatiale ou spatio-temporelle locale. Une première approche proposée est fondée sur des transformées DCT ou en ondelettes (TO), dont les propriétés de décorrélation du signal sont bien connues. 7.4.1 Compression par DCT/TO Dans ce qui suit nous proposons de coder les erreurs résiduelles de prédiction associées aux sommets du maillage soit par une transformée DCT soit par une transformée en ondelettes bi-orthogonales (4,2) [185] avec implantation en entiers [180]. Le choix d une implantation en entiers vise à assurer la fonctionnalité de codage quasi-sans perte, où une borne sur l erreur maximale de reconstruction doit être garantie. Cette condition n est pas assurée par la DCT qui garantit seulement une borne sur l erreur quadratique moyenne. 7.4.1.1 Tansformée DCT La transformée DCT consiste à exprimer un vecteur x =(x 0,x 1,...,x n 1 ) t R n dans la base orthonormée définie par les vecteurs (b i (k)) k {1,...,n 1} i {1,...,n 1} suivants : b i (k) = b 0 (k) = 1 n, (7.14) ( ) 2 n cos (2k +1)i π. (7.15) 2n Le vecteur s =(s 0,s 1,...,s n 1 ) t R n image de x par la transformée DCT est donné par: n 1 i {1,...,n 1}, s(i) = x(i) b i (k). (7.16) Etant une transformée orthogonale, la transformée DCT est une isométrie. Elle conserve donc la norme euclidienne et admet une transformée inverse. 7.4.1.2 Transformée en ondelettes biorthogonales (4,2) Dans ce travail, nous avons considéré la transformée en ondelettes bi-orthogonales (4,2) [185] avec implantation en entiers introduite dans [180]. Le principe du schéma de lifiting est de transformer un signal x =(x 0,x 1,...,x 2n ) N 2n en un signal de plus faible résolution g =(g 0,g 1,...,g n ) N n et un vecteur de détails d = (d 0,d 1,...,d n ) N n. Le vecteur d est obtenu grâce à une étapedeprédiction qui exploite les échantillions du signal x ayant des indices pairs pour prédire les échantillions avec des indices impairs. Plus précisément, le vecteur de détails d est obtenu comme suit : k=0 i {1,..., n} d i = x 2i+1 P i (x 0,x 2,x 4...,x 2k,...,x 2n ), (7.17)

180 L approche FAMC : la nouvelle spécification MPEG-4 où P i représente une fonction de prédiction. Dans notre cas, la fonction P i est donnée par : P i (x 0,x 2,x 4...,x 2k,...,x 2n )=βx 2i 2 + αx 2i + αx 2i+2 + βx 2i+4, (7.18) avec α =0.5625 et β = 0.0625 [185]. Le vecteur g est obtenu en lissant les échantillons pairs de x grâce à une procédure de mise à jour qui exploite le vecteur d. Ici,g est exprimé par: i {1,..., n} g i = x 2i + U i (d 0,d 1,...,d n ), (7.19) où U i est une fonction de mise à jour. La fonction de mise à jour correspondante à la transformée bi-orthogonale (4,2) est la suivante : U i (d 0,d 1,...,d n )= 1 2 d i 1 + 1 2 d i. (7.20) La transformée inverse de ce shéma de lifitng est directe. En effet, en inversant la phase de mise à jour, on obtient les échantillions paires, comme décrit dans l équation suivante : i {1,..., n} x 2i = g i U i (d 0,d 1,...,d n ). (7.21) Les échantillons impairs sont ensuite générés à leur tour en exploitant la relation suivante: i {1,..., n} x 2i+1 = d i + P i (x 0,x 2,x 4...,x 2k,...,x 2n ). (7.22) Afin de générer plusieurs niveaux de résolution, la décomposition précédemment décrite est appliquée itérativement aux signaux g obtenus. 7.4.1.3 Prédiction spatiale des coéfficients spectraux Le principe consiste àconsidérer les trois séquences d erreurs associées à chaque sommet v, (e v,x i ) i,(e v,y i ) i et (e v,z i ) i comme des signaux temporels. Une transformée DCT/TO 1D temporelle est appliquée sur chacune des séquences. Les coefficients spectraux obtenus sont alors quantifiés, ensuite prédits et enfin codés en utilisant CABAC. Notons que dans le cas du codage par ondelettes, l étape de quantification est appliquée dans l espace des erreurs résiduelles, antérieurement à la transformée. Cela est nécessaire pour pouvoir exploiter le schéma de lifting avec une implantation en entiers. Soient (c v,x i,c v,y i,c v,z i ) v {1,...,V } i {1,...,T } les coefficients entiers obtenus. S agissant de transformées temporelles, des corrélations spatiales résiduelles peuvent être présentes. Afin de les éliminer, une étape finale de prédiction spatiale des coéfficients spectraux est appliquée. La stratégie de prédiction des coefficients proposée consiste àprédire les coefficients de basses fréquences associés à un sommet v à partir de ceux d un sommet déjà codé v par une simple prédiction delta. Notons δ(v) =(v v )ladifférence des index entre le sommet àprédire et le sommet choisi comme prédicteur, par n(v) lenombredecoefficientsdebassesfréquences à prédire et par P δ(v) n(v) le prédicteur associé au sommet v. Lesrésidus (rv i ) i {1,...,T } de la prédiction delta obtenus pour le sommet v en appliquant le prédicteur P δ(v) n(v) sont donnés par : avec v {1,..., V }, P δ(v) r v i = c v i P δ(v) n(v), (7.23) { v δ(v) c n(v) = i, si i n(v). (7.24) 0, sinon

7.4 Compression des erreurs résiduelles 181 7.4.1.4 Codages des coefficient spectraux Afin de coder les paramètres δ(v) etn(v) duprédicteur, un bit, dit de saut (skip), est codé afin d indiquer au décodeur si le prédicteur du sommet courant v est indentique ou non à celui de dernier sommet codé (v 1). Si P δ(v) n(v) Pδ(v 1) n(v 1) alors la différence d index δ(v) est binarisée en utilisant une représentation UEG(0, 2). Enfin, la différence (n(v) n(v 1)) entre les nombres de coefficients basses fréquences associés respectivement aux sommets v et (v 1) est binarisée en exploitant le schéma UEG(0, 2) et codée avec CABAC. Des contextes binaires différents sont utilisés lors du codage des bits de saut, des différences d index δ(v) et des nombres de basses fréquences prédits (n(v) n(v 1)). Le prédicteur P δ(v) n(f) associé au sommet v est déterminé demanière optimale, à l aide d une procédure de recherche exhaustive selon les paramètres n(v) etδ(v) dans l ensemble {1,..., N = 64} {1,..., T }.Leprédicteur sélectionné est celui qui minimise la taille du flux binaire CABAC obtenu après codage des résidus (ri v) i {1,...,T }. Le codage des résidus (r v,w i ) x x,y,z i {1,...,T } est effectué comme suit. Tout d abord, un bit est codé afin d indiquer si le résidu r v,w i est nul ou non. Pour tout coefficent non null, un deuxième bit indiquant s il s agit du dernier résidu non null (i.e., r v,w k = 0, k>i)estégalement codé. Enfin, pour tout résidu non nulle r v,w i, un bit de signe ainsi que sa valeur absolue sont également codés. Plus précisément, la quantité ( r v,w i 1) est binarisée en exploitant une représentation du type UEG(0, 16) avec des contextes binaires différents selon la position du bit du préfix Unary du code associé. Notons que des contextes binaires différents sont utilisés pour chaque type d information et selon la position i du résidu en question. La troisième transformée que nous avons retenue, décrite dans la section suivante, concerne une analyse en composante principales (ACP) du signal géométrique. 7.4.2 Compression par ACP Pour des raisons évidentes de complexité de calcul, la compression par ACP est appliquée sur chaque partie de la partition Π = (π k ) k {1,...,K} du maillage obtenue lors de la construction du modèle de skining (cf. Section 5.1). Contrairement à l approche CPCA proposée dans [134], la décomposition ACP est ici appliquée dans l espace des formes et non dans l espace des trajectoires (cf. Section 4.5.2). Nous optimisons également l étape de quantification en introduisant une procédure adaptative analogue à celle proposée dans APCA [131, 132]. Soient A x k, Ay k et Az k les matrices décrivant les erreurs résiduelles de prédiction associées aux sommets du cluster π k = {p k 1,pk 2,..., pk q } et définies par : e pk 1,x 1 e pk 1,x 2 e pk 1,x 3... e pk 1,x T A x k = e pk 2,x 1 e pk 2,x 2 e pk 2,x 3... e pk 2,x T e pk 3,x 1 e pk 3,x 2 e pk 3,x 3... e pk 3,x T, (7.25)..... e pk q,x 1 e pk q,x 2 e pk q,x 3... e pk q,x T

182 L approche FAMC : la nouvelle spécification MPEG-4 e pk 1,y 1 e pk 1,y 2 e pk 1,y 3... e pk 1,y T A y k = A z k = e pk 2,y 1 e pk 2,y 2 e pk 2,y 3... e pk 2,y T e pk 3,y 1 e pk 3,y 2 e pk 3,y 3... e pk 3,y T.. e pk q,y 1 e pk q,y 2 e pk q,y... 3... e pk q,y e pk 1,z 1 e pk 1,z 2 e pk 1,z 3... e pk 1,z T e pk 2,z 1 e pk 2,z 2 e pk 2,z 3... e pk 2,z T e pk 3,z 1 e pk 3,z 2 e pk 3,z 3... e pk 3,z T T et (7.26). (7.27)..... e pk q,z 1 e pk q,z 2 e pk q,z 3... e pk q,z T Dans la suite, pour simplifier les notations, désignons par A, l une des trois matrices A x k, A y k et Az k.soitc = AAt la matrice de covariance associée. S agissant d une matrice carrée, symétrique et positive, C M V (R) (V étant le nombre de sommets du maillage dynamique) est diagonalisable à l aide d une matrice orthogonale O : C = O t avec 0 σ V σ V 1... σ 2 σ 1. σ 1 0 0... 0 0 σ 2 0... 0. 0 σ 3... 0... 0...... 0 σ V O, (7.28) Les vecteurs colonnes de la matrice O, notés (O i ) i {1,...,V } sont les vecteurs propres de C. Soit (σ i ) i {1,...,V } les valeurs propres associées. La décomposition décrite par l équation (7.28) est connue sous le nom d analyse en composantes principales ou de transformée de Karhunen-Loève (KL). Le principe de l ACP permet d obtenir une approximation optimale, au sens de la norme euclidienne, des vecteurs colonnes (A i ) i {1,...,T } R V de la matrice A dans un sous-espace de dimension réduite N, avec 1 N V [82]. Soient O N le sous-espace vectoriel de dimension N engendré par les vecteurs propres (O i ) i {1,...,N} et P ON la projection orthogonale sur O N définie dans R V. Quel que soit le sousespace vectoriel E N de R V, la projection P EN des vecteurs (A i ) i {1,...,V } sur ce sous-espace satisfait la relation suivante : T A i P ON (A i ) 2 i=1 T A i P EN (A i ) 2. (7.29) i=1 La projection P ON obtenue par ACP assure une représentation optimale au sens de la norme euclidienne des vecteurs (A i ) i {1,...,V } dans un sous-espace (dimension inférieure). Cette propriété est connue sous le nom de réduction de dimensionnalité. En pratique, les vecteurs propres de l ACP sont calculés en appliquant une décomposition en valeurs singulières (SVD - Singular Value Decomposition) de la matrice A. SoientU, R et

7.4 Compression des erreurs résiduelles 183 W les trois matrices de la décomposition SVD décrites par le théorème 5.2.1. Ces matrices vérifient l équation suivante : A = U W R t. (7.30) Notons par (U i ) i {1,...,T } et (R i ) i {1,...,T } les vecteurs colonnes des matrices U et R. Comme les matrices U, R et W sont respectivement orthogonale par colonnes, orthogonale et diagonale et en exploitant l équation (7.30), nous pouvons directement déduire les relations suivantes : C U = A A t U =(U W R t ) (R W U t )U = UW 2. (7.31) Cela démontre que les vecteurs (U i ) i {1,...,T } sont les vecteurs propres de C. Le principe de l algorithme de compression de la matrice A que nous avons adopté repose sur la représentation SVD définie par les trois matrices U, R et W. La décomposition SVD décrite par l équation (7.30) peut être reformulée comme suit : w 11 0 0... 0 R1 0 w 22 0... 0 t R t 2 A =(U 1 U 2...U T ). 0 w 33... 0. R t T 3 = w ii U i Ri t.. 0.... (7.32). i=1... 0 w VV L équation (7.32) montre que la contribution des vecteurs U i et R i dans la construction de la matrice A est pondérée par la valeur singulière w ii. Comme suggéré dans [131, 132], il paraît alors naturel de quantifier plus finement les vecteurs singuliers associésauxplusgrandesvaleurs singulières. Les valeurs singulières (w ii ) i {1,...,T } ayant une gamme de variation relativement importante (avec un rapport entre la plus grande et la plus petite valeur singulière de l ordre de 10 6 ), celles-ci sont codées sans perte, afin d éviter une quantification trop brutale, pouvant conduire à des importantes distorsions. Analysons àprésent plus en détail l effet de la quantification des vecteurs U i et R i sur les distorsions de la représentation. 7.4.2.1 Distorsion de quantification Soit Q i le quantificateur scalaire uniforme de pas δ i appliqué individuellement àchaque composante des deux vecteurs U i et R i,défini par : Q i : R R x, (7.33) x δ i δ i où α désigne la partie entière d un réel α. Supposons que les coefficients réels (u ij ) j et (r ij ) j des deux vecteurs U i et R i sont des réalisations d une même variable aléatoire réelle ξ i,décrite par une fonction de densité de probabilité f. La distorsion quadratique moyenne D i induite par le quantificateur Q i est donnée par [186] : R t T

184 L approche FAMC : la nouvelle spécification MPEG-4 D i = 1 V V j=1 = 1 V V j=1 + n Z f(u ij)(u ij Q i (u ij )) 2 du ij (n+1)δi (7.34) nδ i f(u ij )(u ij nδ i ) 2 du ij Supposons que la fonction de densité de probabilité f est lisse de classe C.Pourun pas de quantification δ i suffisamment petit, la fonction f peut être alors considérée comme quasi-constante sur l intervalle [nδ i, (n +1)δ i ]. Il en résulte l expression suivante : D i 1 V V j=1 n Z f(nδ i) (n+1)δ i nδ i (u ij nδ i ) 2 du ij 1 V V j=1 n Z f(nδ i) [ 1 (u 3 ij nδ i ) 3] (n+1)δ i nδ i 1 V V j=1 n Z f(nδ i) 1 12 δ3 i δ2 i (n+1)δi, (7.35) 12 n Z nδ i f(x)dx δ2 i + f(x)dx 12 δ2 i 12 qui traduit la relation de dépendance quadratique de la distorsion D i d un quantificateur uniforme avec le pas δ i. Soit (B i ) i {1,...,T } l ensemble des matrices de taille (V T )définies par : i {1,..., F }, B i = w ii U i R t i. (7.36) D après l équation (7.32), la matrice A s exprime comme la somme des matrices (B i ) i : A = T B i. (7.37) i=1 Soit Δ i la distorsion quadratique moyenne induite sur B i par la quantification conjointe des vecteurs U i et R i.enconsidérant les coefficients u ij (respectivement r ik ) comme la réalisation d une variable aléatoire ξ Ui (respectivement ξ Ri ), et en notant par g la densité de probabilité conjointe décrivant le couple de variables aléatoires (ξ Ui,ξ Ri ), la distorsion Δ i s exprime comme : Δ i = 1 V F VF j=1 k=1 = w2 ii = w2 ii VF V j=1 F k=1 V F VF j=1 k=1 = w2 ii V F VF j=1 k=1 + + + + + + + g(u ij,r ik ) {w ii u ij r ik w ii Q i (u ij )Q i (r ik ))} 2 du ij dr ik g(u ij,r ik ) {u ij r ik Q i (u ij )Q i (r ik ))} 2 du ij dr ik g(u ij,r ik ) {u ij r ik (u ij τ i (u ij ))(r ik τ i (r ik ))} 2 du ij dr ik + g(u ij,r ik ) {u ij τ i (r ik ) τ i (u ij )τ i (r ik )+r ik τ i (u ij ))} 2 du ij dr ik avec τ i (u) =u Q i (u). (7.38) En supposant que les variables aléatoires r ik, u ij, τ i (r ik )etτ i (u ij )sontindépendantes et que les moyennes de τ i (r ik )etτ i (u ij ) sont nulles, nous obtenons : Δ i = w2 ii + w2 ii VF V j=1 F k=1 + + V F VF j=1 k=1 g(u ij,r ik ) { u 2 ij τ i(r ik ) 2 + τ i (u ij ) 2 τ i (r ik ) 2 + rik 2 τ i(u ij ) 2 ) } du ij dr ik = w2 ii V [( F )( + )] + VF j=1 k=1 u2 ijf(u ij )du ij τ(r ik) 2 f(r ik )dr ik + w2 ii V [( F )( + )] VF j=1 k=1 τ(u ij) 2 + f(u ij )du ij τ(r ik) 2 f(r ik )dr ik [( )( + )] r2 ik f(r + ik)dr ik τ(u ij) 2 f(u ij )du ij

7.4 Compression des erreurs résiduelles 185 En exploitant maintenant l approximation décrite par l équation (7.35), on obtient : { Δ i wii 2 δ 2 i [ 1 V ] + 12 V j=1 u2 ijf(u ij )du ij + δ2 i δ2 i + [ δ2 i 1 F ]} + 12 12 12 F k=1 r2 ik f(r ik)dr ik (7.39) En outre, les vecteurs U i et V i sont unitaires (i.e. V j=1 u2 ij = 1 et T r=1 v2 ir = 1). En exploitant le théorème centrale limite, nous pouvons alors déduire les relations suivantes : 1 V 1 F V j=1 F k=1 [ + [ + ] u 2 ij f(u ij)du ij = 1 V (7.40) v 2 ir f(r ik)dr ik ] = 1 F. (7.41) On obtient ainsi : { } δ Δ i wii 2 2 i 12V + δ4 i 144 + δ2 i. (7.42) 12T La connaissance de l expression de la distorsion Δ i en fonction du pas de quantification δ i nous permet d aborder la problématique d optimisation débit/distorsion. Plus précisément, il s agit de déterminer le pas de quantifications δ i minimisant la distorsion globale Δ = F i=1 Δ i sous la contrainte d un débit fixé. 7.4.2.2 Optimisation débit/distorsion La sortie du quantificateur Q i est considérée comme une source discrète, caractérisée par entropie H i,définie par : H i = n Z p n log(p n ), (7.43) où p n est la probabilité d apparition du symbol nδ i,donnée par : p n = (n+1)δi nδ i f(x)dx. (7.44) Sous les mêmes hypothèses de continuité C de la fonction f et de pas de quantification δ i suffisamment petit, nous pouvons approcher la probabilité p n par : L entropie H i peut être alors approchée par : p n δ i f(nδ i ). (7.45) H i n Z δ if(nδ i )log(δ i f(nδ i )) ( log(δ i ) n Z δ if(nδ i ) ) ( n Z δ if(nδ i )log(f(nδ i )) ) ( ) ( (n+1)δi ) (n+1)δi log(δ i ) n Z nδ i f(x)dx n Z nδ i f(x)log(f(x)) log(δ i ) ( + ) f(x)dx + f(x)log(f(x)) H 0 log(δ i ) (7.46) avec H 0 = + f(x)log(f(x)) l entropie de f.

186 L approche FAMC : la nouvelle spécification MPEG-4 Dans [182], Shannon démontre que l entropie d une source continue définie sur R est maximale pour une distribution gaussienne. Supposons que la distribution f est une gaussienne de variance σ. L entropie H 0 est alors donnée par [182] : L entropie H i peut être alors approchée par : H 0 = log( 2πeσ). (7.47) H i log( 2πe σ δ i ). (7.48) Le débit R i nécessaire pour coder la matrice B i est donné par: R i = V log( 2πe σ )+T log( 2πe σ )+R wii, (7.49) δ i δ i où la constante R wii représente le débit alloué pour le codage la valeur singulière w ii. Le débit total R nécessaire pour le codage de la matrice A est obtenu en sommant les débits élémentaires : T R = R i (7.50) i=1 Qaunt à la distorsion globale Δ, elle est donnée par : Δ= T Δ i. (7.51) i=1 Soit R 0 un débit fixé par l utilisateur. L objectif est de déterminer les pas de quantification optimaux qui minimisent la distorsion globale Δ sous la contrainte R = R 0. On cherche le vecteur δ =(δ i ) i {1,...,T } R T solution du problème de minimisation suivant : δ = argmin Δ. R = R 0 (7.52) Ce problème de minimisation avec contraintes peut être résolu [187] en minimisant le Lagrangien J = Δ + λr associé. En imposant maintenant les conditions nécessaires d extremum de la fonction J, qui stipule que ses dérivées partielles par rapport aux variables (δ i ) i sont nulles, on obtient : Par conséquent, w 2 ii J = 0 (7.53) δ ( i T ) T Δ i + λ R i = 0 (7.54) δ i i=1 i=1 { δi 6V + δ3 i 36 + δ } i λ (T + V ) = 0 (7.55) 6T δ i

7.4 Compression des erreurs résiduelles 187 { } wii 2 δ 2 i + δ4 i + δ2 i 6V 36 6T λ = (T + V ) { λ w2 iiδi 2 1 + } 1 6V 6T (T + V ) (7.56) (7.57) En particulier, { wiiδ 2 i 2 1 + } { 1 6V 6T = λ = w2 11δ 2 1 1 + } 1 6V 6T. (7.58) (T + V ) (T + V ) En simplifiant les deux membres de l équation (7.58), on retrouve la relation suivante : δ i = w 11 w ii δ 1. (7.59) La relation décrite par l équation (7.59) démontre que la solution optimale du problème de minimisation (7.52) est obtenue en choisissant des pas de quantification δ i inversement proprtionnels aux valeurs singulières de la matrice A i. En pratique, le codeur FAMC prend la valeur de δ 1 comme paramètre et dérive tous les autres pas de quantification (δ i ) i {2,...,T } en exploitant la relation (7.59). Les deux matrices quantifiées (Q i (u ij )) j {1,...,V } i {1,...,T } et (Q i(r ij )) j {1,...,T } i {1,...,T } sont représentées par des entiers et codées avec CABAC de façon analogue à celle décrite dans la Section 7.4.1. La dernière transformée considérée par le codeur FAMC est fondée sur une prédiction hiérarchique. Elle est décrite en détails dans la section suivante. 7.4.3 Compression par prédiction hiérarchique LD (Layered Decomposition) Dans cette section, nous proposons de coder les erreurs résiduelles de compensation de mouvement en exploitant une prédiction hiérarchique spatio-temporelle locale comme celle décrite dans [126, 127]. Le principe de l approche de simplification développée dans [126, 127] est fondé sur la construction d une structure hiérarchique à partir de la connectivité du maillage, obtenue en appliquant sucessivement une séquence d opérations de décimation topologique du type vertex removal [7]. L opération de vertex removal appliquée au sommet v, notée VRem(v), consiste en deux étapes successives : (1) suppression du sommet v ainsi que de toutes les arêtes et triangles qui lui sont incidents ; (2) re-triangulation du trou généré par l étape (1). La Figure 7.6 présente un exemple d opération de simplification VRem(v) appliquée à un sommet de valence 6. Notons que plusieurs re-triangulations peuvent être ici considérées [188]. La Figure 7.7 illustre toutes les configurations possibles pour des sommets de valences comprises entre 3 et 6. Différentes stratégies peuvent être adoptées afin de sélectionner la séquence d opérations VRem à appliquer au maillage. Dans [126, 127], les auteurs exploitent exclusivement l information de connectivité, disponible à la fois au codeur et au décodeur, afin de déterminer le processus de simplification du maillage. Ils proposent de décomposer la connectivité du

188 L approche FAMC : la nouvelle spécification MPEG-4 Figure 7.6 : Opération de décimation topologique VRem(v):(a)patch original ; (b) supression du sommet v ainsi que de l ensemble des arêtes et des triangles qui lui sont incidents ; (c) retriangulation du patch obtenu. maillage en un ensemble de patchs sans recouvrement. Un patch (v) de centre v est défini comme l ensemble des triangles incidents à v, formant une surface homéomorphe à une disque ouvert (Figure 7.6.a). Deux patchs sont dits sans recouvrement s ils partagent au maximum une arête. Les centres de ces patchs sont ensuite successivement décimés. Le choix de la retriangulation àopérer àchaqueétape est guidé paruncritère topologique qui vise à concentrer, avec une dispersion minimale, les valences des sommets autour de la valeur 6. Ce processus est décrit en détails dans la section suivante. 7.4.3.1 Décomposition en patchs En premier lieu, l ensemble des patchs du maillage initial est déterminé. Un sous-ensemble de ces patchs, assurant la propriété de non-recouvrement, est ensuite obtenu en appliquant une procéduredeconquête itérative de la connectivité du maillage. Le principe de l algorithme adopté consiste àalterneritérativement : (1) une étape d initialisation et (2) une étape de conquête. Al étape d initialisation, la liste des patchs est balayée. Le premier patch (v 0 ) non-conquis de degré 3 compris entre 3 et 6 est alors insèré dans une structure de file F. L étape de conquête consiste en plusieurs itérations, indéxées selon i. Achaqueétape i, le premier patch (v i )delafilef est sorti et marqué comme conquis. L ensemble de ses patchs voisins 4 de degré entre 3 et 6 sont ensuite successivement insérés dans F. L étape (2) est réitérée jusqu à ce que la file F devienne vide. Ce processus permet de construire une suite de patchs ( (v i )) i {1,...,NP } (N P étant le nombre de patchs obtenus). La deuxième phase, dite de décimation, est alors appliquée. Elle consiste à décimer itérativement les centres (v i ) i {1,...,Ni } des patchs obtenus, comme décrit dans la section suivante. 7.4.3.2 Phase de décimation A l étape i, le sommet v i centre du patch (v i ) est décimé en appliquant l opération VRem(v i ). Le patch (v i ) est ensuite retriangulé defaçon à minimiser la dispersion D(v i ) 3. Le degré d unpatch (v) estdéfini comme la valence de son centre v. 4. Deux patchs sont dis voisins s ils partagent une unique arête.

7.4 Compression des erreurs résiduelles 189 Figure 7.7 : Re-triangulations possibles pour des sommets de degrés : (a) 6, (b) 5, (c) 4 et (d) 3.

190 L approche FAMC : la nouvelle spécification MPEG-4 des valences des voisins de v i autour de la valeur 6. Le dispersion D(v i )estdéfinie comme : D(v i )= 1 ℵ(v) w ℵ(v i ) Val(w) 6, (7.60) où ℵ(v i ) est l ensemble des voisins de v i, ℵ(v i ) son cardinal et Val(w) la valence du sommet w, calculée après la re-triangulation du patch considéré. La triangulation optimale, au sens du critère D i est déterminée à l aide d un processus de recherche exhaustive conduite dans l ensemble des configurations possibles. Afin de dériver une décomposition des sommets du maillage en niveaux hiérarchiques, il suffit de réitérer les deux phases de décomposition en patchs et de décimation, comme décrit dans la section suivante. 7.4.3.3 Décomposition en niveaux hiérarchiques Soit L le nombre de niveaux de résolution souhaité etv = {1,...,V} l ensemble des sommets du maillage dynamique. Notons par V l (avec l {1,..., L 1}) l ensemble des sommets décimés au cours de la l-ème phase de décomposition/décimation. Soit V L l ensemble des sommets obtenus après L étapes successives de simplification. L ensemble V L s exprime par la relation suivante : ( ) V L = V\ V l (7.61) 1 l<l Le nième niveau de résolution est défini comme étant le maillage obtenu après n phases de décomposition/décimation. Il comporte uniquement les sommets de l ensemble L n<l L V l. La Figure 7.8 illustre un exemple de décomposition en cinq niveaux hiérarchiques du maillage dynamique Cow. Notons que l ensemble (V l ) l {0,...,L} définit une partition de l ensemble V : V = 1 l L V l, (7.62) l 1 l 2, V l1 V l2 =. (7.63) Les sommets de à V l,pourl<l,vérifient également la propriété suivante: v V l, ℵ l (v) V l, (7.64) l<l L où ℵ l (v) est l ensemble des voisins de v au niveau de résolution l. La propriété décrite par l équation (7.64) assure que tous les voisins d un sommet v V l n ont pas été décimés après l phases de décomposition/décimation. Ainsi, ils peuvent être exploités afin de prédire l erreur de compensation de mouvement associée à v. Ce principe est exploité dans la section suivante dans la cadre d une prédiction spatio-temporelle hiérarchique.

7.4 Compression des erreurs résiduelles 191 (a) V 5 (b) V 5 V 4 (c) V 5 V 4 V 3 (d) V 5 V 4 V 3 V 2 (e) V 5 V 4 V 3 V 2 V 1 Figure 7.8 : Exemple de décomposition en cinq niveaux hiérarchiques du maillage dynamique Cow. 7.4.3.4 Prédiction hiérarchique Le principe de la procédure de prédiction hiérarchique proposée est de coder successivement les sommets du maillage dynamique en partant de la résolution la plus basse (i.e., V L )vers des niveaux de résolution croissante(i.e., V L 1, puis V L 2 jusqu à V 1 ). Notons que la propriété décrite par l équation (7.64) assure que lors de la prédiction d un sommet v V l tous ses voisins ont déjàété reconstruits. Cela permet notamment de définir des prédicteurs spatio-temporels hiérarchiques efficaces. Afin de prédire les erreures résiduelles de compensation de mouvement (e v i )v {1,...,V } i {1,...,T },le codeur FAMC définit trois prédicteurs spatio-temporels locaux, delta, linéaire et non linéaire, notés respectivement par P delta, P lin, P nonlin. Chacun de ces prédicteurs se décline en variantes, selonletypedetrameconsidérée. Plus précisément, de façon analogue au codage MPEG-4 vidéo, trois types de trame sont définis : I:modeintra, P : mode prédictif, B : mode de prédiction bi-directionnelle. On obtient ainsi un ensemble de neuf prédicteurs différents notés par Pdelta I I (v, i), Plin (v, i), Pnonlin I (v, i), P delta P P (v, i), Plin (v, i), P nonlin P (v, i), P delta B B (v, i), Plin (v, i) oup nonlin B (v, i). Le résidu ri v obtenu suite àlaprédiction hiérarchique du sommet v V l est donné par: i {1,...,T}, v {1,...,V}, r v i = ev i P (v, i), (7.65) avec P (v, i) l un des neuf prédicteurs. Dans le cas d une trame de type I, les trois prédicteurs considérés sont les suivants : Pdelta I (v, i) =0,et (7.66) P I lin (v, i) =P I nonlin (v, i) =e bary(v, i), (7.67)

192 L approche FAMC : la nouvelle spécification MPEG-4 avec e bary (v, i) = 1 ℵ l (v) w ℵ l (v) e v i, (7.68) où ℵ l (v) est l ensemble des voisins de v V l au niveau de résolution l. Notons que e bary (v, i) correspond au barycentre, à l instant i, des erreurs des voisins de v au niveau de résolution l. Pour une trame de type P prédite par rapport à une trame de référence j, les trois prédicteurs correspondants sont définis par : P P delta (v, i) =ev j, (7.69) Plin P bary(v, i)+(e v j e bary(v, j)), et (7.70) Pnonlin P (v, i) =e bary(v, i)+d(i, j)(e v j e bary(v, j)), (7.71) avec D(i, j) =M(v, i)m(v, j) t la matrice orthogonale qui transforme le patch de centre v de l instant i à l instant j. La matrice M(v, i) =(Xi v,yv i,zv i ) associée au sommet v à l instant i est définie par : Xi v = ev 1 i e bary (i, v) e v1 i e bary (i, v), (7.72) Yi v = (ev 2 i e bary (i, v)) e v 2 i e bary (i, v),xi v.xv i e v 2 i e bary (i, v) e v 2 i e bary (i, v),xi v Xv i,et (7.73) Zi v = Xi v Y i v (7.74) avec v 1 et v 2 deux sommets appartenant au voisinage de v (i.e. v 1,v 2 ℵ(v)). Enfin, les prédicteurs considérés pour une trame de type B prédite par rapport àdeux trames de référence j 1 et j 2 sont donnés par : P B delta (v, i) =1 2 ej 1 i + 1 2 ej 2 i, (7.75) P B lin (v, i) =e bary(v, i)+ 1 2 (ev j 1 e bary (v, j 1 )) + 1 2 (ev j 2 e bary (v, j 2 )), et (7.76) P B nonlin (v, i) =e bary(v, i)+ 1 2 D(i, j 1)(e v j 1 e bary (v, j 1 )) + 1 2 D(i, j 2)(e v j 2 e bary (v, j 2 )). (7.77) 7.4.3.5 Codage binaire Le codeur FAMC offre la possibilité de choisir de façon statique (i.e. le même prédicteur pour tous les sommets d un niveaux hiérarchique) ou adaptative (i.e. le meilleur prédicteur entre P delta, P lin et P nonlin pour chaque sommet) la stratégie de prédiction à adopter. Dans le cas d un choix adaptatif des prédicteurs, le codeur inclut dans le flux binaire une information auxiliaire (compressée avec CABAC) décrivant le prédicteur associé à chaque sommet v. Afin d assurer la scalabilité spatiale(cf. Section 7.5.1) du flux binaire compressé, le codeur FAMC regroupe les coefficients (ri v)v i en niveaux hiérarchiques avant de coder séparément chaque niveau, d une façon analogue à celle décrite Section 7.4.1. Le codeur FAMC supporte également la scalabilité temporelle en introduisant une structure de prédiction hiérarchique sur les trames de type I, P et B (cf. Section 7.5.2). Le principe est de changer l ordre de codage des trames (Figure 7.9) afin de rendre possible un décodage partiel du flux binaire tout en assurant une cadence d affichage donnée.

7.5 Fonctionnalités supportées 193 Le codeur FAMC supporte également une prédiction hiérarchique (qui remplace la prédiction delta décrite dans la Section 7.4.1) des coefficients spectraux obtenus par les transformées temporelles DCT et TO. Cette hybridation permet notamment de supporter des fonctionnalités plus avancées, comme discuté dans le paragraphe suivant. 7.5 Fonctionnalités supportées Le Tableau 7.5 résume les différentes configurations FAMC possibles. Le Tableau 7.6 présente l ensemble des fonctionnalités supportées par ces différentes configurations. Notons que toutes les configurations de FAMC supportent naturellement les fonctionnalités de streaming et de codage des attributs. Cependant, seules les configurations Lift, LD et Lift+LD permettent un codage quasi-sans perte de l animation et ce grâce à la quantification appliquée dans le domaine temporel et non spectral, qui permet de garantir une borne supérieure sur les erreurs de reconstruction. A l opposé, les transformées DCT et ACP permettent de contrôler uniquement l erreur quadratique moyenne. La fonctionnalité de transmission progressive est supportée par l ensemble des configurations FAMC mais avec des aspects de scalabilité différents (Tableau 7.7). Les flux binaires DCT, Lift et ACP sont scalables uniquement en qualité. Les flux DCT+LD et Lift+LD sont scalables àlafoisenqualitéetenrésolution (scalabilité spatiale). Seul le flux LD offre à la fois les scalabilités temporelle et spatiale. En outre, les configuration LD, DCT+LD et Lift+LD permettent un rendu scalable de l animation, grâce àl étapededécimation hiérarchique considérée. Configurations DCT Lift ACP LD DCT+LD Lift+LD Description DCT temporelle et prédiction delta des coefficients spectraux Ondelettes bi-orthogonales (4,2) avec implantation en entiers et prédiction delta des coefficients spectraux ACP Prédiction hiérarchique DCT temporelle et prédiction hiérarchique Ondelettes bi-orthogonales (4,2) avec implantation en entiers et prédiction hiérarchique Table 7.5 : Les différentes configurations FAMC.

194 L approche FAMC : la nouvelle spécification MPEG-4 Configurations Codage des Rendu Transmission Quasi-sans Streaming attributs scalable progressive pertes DCT Lift ACP LD DCT+LD Lift+LD Table 7.6 : Fonctionnalités supportées par les différentes configurations du codeur FAMC : (1) DCT, (2) Lift, (3) LD, (4) DCT+LD et (5) Lift+LD. Configurations Qualité Temporelle Sapatiale DCT Lift ACP LD DCT+LD Lift+LD Table 7.7 : Différents types de scalabilité supportés par le codeur FAMC. Analysons à présent les types de scalabilité offerts par les différentes configurations de FAMC. 7.5.1 Scalabilité spatiale Pour assurer la scalabilité spatiale du flux binaire, le codeur FAMC exploite la représentation hiérarchique introduite dans la Section 7.4.3. Cette décomposition hiérarchique étant totalement définie à partir de le connectivité du maillage, elle peut être directement déduite par le décodeur. Notons cependant que ce choix n est pas unique, toute autre technique multirésolution pouvant être également adoptée. FAMC permet au codeur de définir une structure de maillage progressif qui va être inclue dans le flux binaire et transmise au décodeur. Le principe consiste à considérer comme approximation initiale un maillage de base et à le raffiner successivement, à travers différents niveaux de détail, jusqu à obtenir le maillage original. Ce processus de raffinement rend possible le rendu scalable de l animation qui consiste à adapter la résolution (le nombre de triangles) du maillage aux performances du terminal. Le même principe peut être exploité afin de répondre à la fonctionnalité de transmission progressive de l animation. En effet, la transmission des trajectoires, des sommets des niveaux de détails les plus grossiers aux résolutions les plus fines, permet au décodeur de décompresser et d afficher à tout instant de la transmission une version plus au moins fidèle de l animation, en fonction de la quantité d information reçue.

7.5 Fonctionnalités supportées 195 7.5.2 Scalabilité temporelle Inspiréducodeurvidéo H264 [189], FAMC structure le flux binaire en niveaux hiérarchiques temporels de tel sorte que les trames appartenant àunniveaudonnésontprédites uniquement à partir des trames de niveaux de résolution plus basse (plus grossiers ). En considérant un ordre de codage/décodage des trames respectant cette structure (i.e. les trames sont codées/décodées du niveau hiérarchique le plus grossier au niveau le plus fin) une interprétation partielle du flux binaire devient possible. Une telle scalabilité temporelle permet d adapter la résolution temporelle (nombre de trames par secondes) de l animation à la capacité de décodage et d affichage du terminal considéré. La Figure 7.9 illustre un exemple de structure de prédiction temporelle hiérarchique permettant une scalabilité temporelle du flux FAMC. Une information décrivant pour chaque trame son type (i.e. I, P ou B), son ordre d affichage ainsi que les trames de référence à partir desquelles elle est prédite est également transmise au décodeur. Cette information auxiliaire est codée directement avec CABAC (cf. Section 7.2). Figure 7.9 : Scalabilité temporelle : exemple de structure de prédiction temporelle hiérarchique.

196 L approche FAMC : la nouvelle spécification MPEG-4 7.5.3 Scalabilité en qualité Afin d assurer un flux scalable en qualité, les codeurs FAMC/DCT et FAMC/Lift structurent les coefficients spectraux (c v i )v {1,...,V } i {1,...,T } (cf. Section 7.4.1) en niveaux de détails correspondant chacun à une bande de fréquences, comme illustré Figure7.10. Soit (N l ) l {1,...L} une suite strictement croissante d entiers tel que : N 0 =1<N 1 <N 2 <...<N l <...N L = T. (7.78) Le choix de la suite (N l ) l n a pas été figé, le codeur pouvant choisir n importe quelle configuration. Dans nos travaux, nous avons considéré une structuration en niveaux ayant le même nombre de coefficients spectraux : l {0,...,L}, N l =1+T l. (7.79) L Le niveau de détail l, composé des coefficients (c v i ) v {1,...,V } i {N l,...,n l+1 },estcodéindépendamment des autres en utilisant CABAC, comme décrit dans la Section 7.4.1. Cela permet au décodeur de décompresser indépendamment chaque niveau de détail à partir des basses fréquences (i.e. du niveau l = 0) jusqu aux hautes fréquences (i.e. niveau l = L 1), en améliorant àchaque étape la précision des valeurs des attributs décodés. Une information auxiliaire décrivant le nombre L de niveaux de détails ainsi que le nombre de coefficients spectraux pour chaque niveau est également être inclue dans le flux binaire. Notons enfin que le codeur FAMC/ACP (cf. Section 7.4.2) suit une approche analogue, en codant les deux matrices quantifiées (Q i (u ij )) j {1,...,V } i {1,...,T } et (Q i(r ij )) j {1,...,T } i {1,...,T } en niveaux de détails. Ici, le niveau de détail l correspond aux coefficients (Q i (u ij )) j {1,...,V } i {N l,...,n l+1 } et (Q i(r ij )) j {1,...,T } i {N l,...,n l+1 }. Figure 7.10 : Scalabilité en qualité :décomposition des coefficients spectraux en niveaux de détails correspondant à quatre bandes de fréquences.

7.6 Conclusion 197 7.5.4 Streaming Afin d assurer la diffusion en flux continu des contenus 3D animés, il est nécessaire de pouvoir interpréter et décoder le flux binaire au fil de l eau, même lorsque seule une sous-partie du flux est disponible au décodeur. Le codeur FAMC assure cette fonctionnalité destreaming en partitionnant l information codée en segments (paquets de données), correspondant aux intervalles temporels disjoints qui sont codés indépendamment les uns des autres. Cela revient àconsidérer séparément chaque segment comme une mini-séquence à part, codée sans aucune référence aux autres. Notons qu une diminution des performances de compression est attendue, puisque l information relative au modèledepeaudoitêtre associée à chaque segment considéré (au lieu d un modèle unique pour toute la séquence). Toutefois, ce coût supplémentaire en débit peut être en pratique compensé par la qualité delareprésentation par modèles de peau multiples, optimisés pour chaque segment temporel (cf. Section 8.4.5). 7.6 Conclusion Dans ce chapitre, nous avons présente la nouvelle technique de compression de maillages 3D animés, appelée FAMC (Frame-based Animated Mesh Compression). Fondée sur une stratégie de compensation de mouvement par modèle de skinning, laméthode proposée offre àlafois une compression efficace de la géométrie et des attributs photométriques associés aux sommets du maillage dynamique, tout en assurant des fonctionnalités de streaming, de transmission progressive, ou encore de rendu scalable. Le chapitre suivant présente une évaluation expérimentale de l approche FAMC proposée.

198 L approche FAMC : la nouvelle spécification MPEG-4

Chapitre8 Résultats expérimentaux Résumé : Ce chapitre propose une évaluation expérimentale objective de l approche FAMC proposée dans le chapitre précédent. Dans un premier temps, les performances des différentes configurations du codeur FAMC ont été comparées, analysées et discutées en termes d efficacité de compression, de complexité de calcul et de fonctionnalités supportées. La technique FAMC a été ensuite évaluée par rapport l approche MCGV, aux codeurs standards MPEG-4/BIFS et MPEG-4/AFX- IC ainsi qu à d autres techniques de l état de l art. Cette comparaison conduite sur le corpus de test MPEG-4, établit objectivement la supériorité de la méthode FAMC par rapports aux autres techniques. La dernière partie du chapitre a été consacrée à l évaluation des différentes fonctionnalités supportés par FAMC : scalabilité, streaming, codage des attributs, codage quasi-sans perte... En raison de ses performances élevées et de l ensemble complet des fonctionnalités qu il supporte, FAMC a été retenue pour adoption dans le standard, en tant qu amendement 2 de la partie 16 - AFX. Mots clés : FAMC, MCGV, évaluation expérimentale, compression, maillages dynamiques, MPEG-4. 199

200 Résultats expérimentaux 8.1 Corpus de test Le corpus de test de maillages animés a été constitué dans le cadre des expérimentations techniques MPEG-4 [190]. Il inclut une vingtaine de séquences d animation 3D, de tailles, topologies, géométries et mouvements variés. Le Tableau 8.4 de l Annexe B résume les différentes propriétés géométrico-topologiques ainsi que le type de mouvement de chacune de ces animations. Les figures 8.12, 8.13 et 8.14 (Annexe B) présentent des extraits des séquences animées considérées. Les modèles de la base de test offrent une bonne variabilité spatialeettemporelle: Le nombre de sommets V varie entre 687 et 42321. Le nombre de trames T est compris entre 19 et 400. Six des maillages dynamiques considérés sont à multiples composantes connexes (nombre de composantes connexes compris entre 1 et 47), six sont non manifolds, huitsontfermés et six sont orientables. L animation Ball présente un mouvement purement affine. Dix des animations (e.g., Box, Camel gallop, Dragon...) ont un mouvement articulé. Cinq des maillages dynamiques considérés (e.g., Dance, Jump, Snake et Troll ) sont animés par des mouvements articulés combinés à des déformations élastiques et quatre ( Camel collapse, Horse collapse, Cow et Dolphin ) présentent des déformations élastiques d amplitudes plus au moins importantes. Afin de pouvoir établir une comparaison objective des différentes techniques de compression, il est indispensable de disposer de mesures de distorsion adaptées, pour évaluer la qualité des maillages reconstruits à différents débits. 8.2 Critères d évaluation Nous avons considéré les trois mesures de distorsion les plus utilisées dans la littérature afin de pouvoir comparer les méthodes proposées à un nombre maximal de techniques de l état de l art : 1. L erreur RMSE définie dans la Section 6.6.2 et utilisée pour comparer FAMC àmcgv. 2. L erreur D a (Area Difference) [121] définie dans le cadre de l évaluation expérimentale de FAMC par rapport aux technologies MPEG-4. La distorsion D a mesure la moyenne (selon les trois coordonnées x, y et z et sur l ensemble de sommets du maillage) des différences d aires entre les courbes définies par les trajectoires des coordonnées des sommets de l animation originale et décodée. Plus rigoureusement, l erreur D a est définie par : avec w {x, y, z}, D w a = D a = Dx a + Dy a + Dz a, (8.1) 3 1 V T R V v=1 T 0 T w v (t) T w v (t) dt, (8.2) w {x, y, z}, t [0,T[, Tv w (t) =(1+ t t) χv,w t +(t t )χv,x 1+ t, (8.3)

8.2 Critères d évaluation 201 w w {x, y, z}, t [0,T[, T v (t) =(1+ t t) χ v,w t +(t t ) χv,w 1+ t, (8.4) où t représente la partie entière de t, χ v i et χ v i représentent respectivement les vecteurs des positions des sommets de l animation originale et celle obtenue après décodage, T v et T v représentent les trajectoires (obtenues par interpolation linéaire) originales et reconstruites du sommets v. Le facteur de normalisation R aété introduit afin d assurer l invariance de la mesure D a par rapport au facteur d échelle. Il est donné par: R =max(r x,r y,r z ), (8.5) w {x, y, z}, R w = max ( max v {1,...,V } i {1,...,T } (χv,w i )) min ( min v {1,...,V } i {1,...,T } (χv,w i )). (8.6) 3. L erreur D Peak (Peak Error) [121], utilisée afin d évaluer les approches de codage quasisans perte. Elle mesure l erreur maximale entre les géométries initiale et celle décodée. En utilisant les mêmes notations que pour l erreur D a, l erreur D Peak est définie par : D Peak = 1 R max(dx Peak,D y Peak,Dz Peak), (8.7) avec w {x, y, z}, D w Peak = max max v {1,...,V } i {1,...,T } χv,w i χ v,w i. (8.8) 4. L erreur D KG [130], qui représente une variante de l erreur quadratique moyenne entre la séquence originale et celle décodée. Elle est définie par la relation suivante : D KG = 100 V v=1 V v=1 où χ g i est le centre de gravité du maillage initial à l instant i : T t=1 χv i χv i 2, (8.9) T t=1 χv i χg i 2 χ g i = 1 V V χ v i. (8.10) v=1 5. L erreur E N (cf. Section 5.3.2) qui mesure l erreur quadratique moyenne induite par la compression des normales associées aux sommets du maillage dynamique. Pour évaluer les différentes méthodes, le principe est de comparer les valeurs obtenues de ces différentes mesures de distorsion à un même débit. Le débit est proportionnel à la taille du flux binaire obtenu et s exprime soit en bit par trame par sommet (bpts), soit en kilos bits par seconde (Kbits/s), sous l hypothèse d une cadence vidéo de 25 trames par secondes. L évaluation expérimentale que nous avons conduite s appuie sur ces différentes mesures. Elle est décrite en détails dans la section suivante.

202 Résultats expérimentaux 8.3 Evaluation expérimentale Pour analyser en détails les performances de l approche FAMC, nous avons structuré l évaluation expérimentale en plusieurs parties. Ainsi, la première partie présente une évaluation expérimentale des performances de compression des différentes configurations du codeur FAMC (Section 8.3.1). Ensuite, les paragraphes 8.3.2, 8.3.3 et 8.3.4 comparent respectivement l approche FAMC àlatechniquemcgv(cf. chapitre 6), aux codeurs MPEG-4/BIFS et MPEG- 4/AFX-IC ainsi qu à d autres techniques de l état de l art. Enfin, la dernière partie (Section 8.4) est consacrée à l évaluation des différentes fonctionnalités supportés par FAMC. 8.3.1 Comparaison des différentes configurations de FAMC Lesfigures8.1et8.2présentent les courbes débit/distorsion obtenues pour les différentes configuration du codeur FAMC : FAMC/DCT, FAMC/Lift, FAMC/LD, FAMC/DCT+LD, FAMC/Lift+LD et FAMC/ACP. Ici, le critère de distorsion retenu est l erreur D a et les débits sont exprimés en Kbits/s. Les résultats obtenus montrent que les configurations FAMC/DCT et FAMC/ACP offrent les meilleures performances débit/distorsion. L approche FAMC/ACP se montre particulièrement efficace dans le cas d animations présentant de fortes corrélations spatiales ( Dance, Elephant gallop, Humanoid, Snake et Horse gallop ) ou temporelles ( Cow et Chicken ) avec des gains en termes de débits pouvant atteindre 60% par rapport à FAMC/DCT. Rappelons que la technique FAMC/ACP exploite une transformée de KL sur les trajectoires des sommets de chaque cluster du maillage dynamique. Cela permet de construire une base orthonormale de vecteurs propres (cf. Section 7.4.2) associés à une décomposition optimale du signal d animation. Pour que le décodeur puisse reconstruire le signal, ces vecteurs propres doivent être inclus dans le flux binaire et transmis en tant qu information auxiliaire. Dans le cas des animations avec de fortes corrélations spatiales ou temporelles, le coût d envoi d une telle information supplémentaire est pleinement compensé par l efficacité delareprésentation. Notons cependant que pour des animations courtes, avec un nombre réduit de sommets par cluster (e.g., Eagle et Rabbit ) le coût relatif d une telle information auxiliaire devient important, ce qui dégrade les performances de compression associées. L approche FAMC/DCT exploite une transformée DCT temporelle appliquée sur les trajectoires des sommets, couplée à une prédiction delta spatiale (cf. Section 7.4.1). La transformée DCT n est pas optimale pour représenter le signal d animation considéré. Néanmoins, elle permet de s affranchir de la transmission de toute information auxiliaire, puisque les vecteurs de la base DCT sont les mêmes pour toutes les animations. L approche DCT est particulièrement efficace dans le cas de maillages dynamiques avec un nombre réduit de trames et de sommets par cluster ( Eagle et Rabbit ). Comparée à la configuration FAMC/Lift, l approche FAMC/DCT offre des performances de compression plus élevées. Cela résulte du fait que la majorité des animations considérées (e.g., Eagle, Rabbit, Troll, Horse, Collapse...) sont courtes (de 19 à53trames), ce qui pénalise les performances de l approche par décomposition en ondelettes en raison du nombre réduit de niveaux de résolution qui peuvent être construits. Notons également que la version en entiers du schéma de lifting de FAMC/Lift exploite une quantification uniforme des coefficients, ce qui est sous-optimal [191]. L approche FAMC/LD s appuie sur une prédiction hiérarchique spatio-temporelle locale (cf. Section 7.4.3). Cette approche se montre en général plus efficace que la technique FAMC/Lift.

8.3 Evaluation expérimentale 203 Cela est particulièrement vrai dans le cas des maillages dynamiques avec un échantillonnage spatial quasi-régulier (e.g., Camel collapse, Camel gallop, Elaphant gallop...). Ici, les corrélations spatiales sont fidèlement décrites par les relations d adjacence entre sommets (i.e., la moyenne des voisins produit une bonne prédiction du sommet courant). Ainsi, la décomposition hiérarchique de FAMC/LD, qui est fondée exclusivement sur la connectivité du maillage, conduit à une prédiction efficace. Dans le cas des animations avec un échantillonnage spatial irrégulier (e.g., Eagle, Cow, Rabbit...), la connectivité du maillage seule ne traduit plus les corrélations spatiales entre les sommets du maillage. Cela explique la baisse des performances de compression du codeur FAMC/LD pour ce type d animation. Les configurations FAMC/DCT+LD et FAMC/Lift+LD exploitent respectivement une transformée DCT et en ondelettes, hybridées avec une prédiction spatiale hiérarchique des coefficients spectraux obtenus. Notons que les performances débit/distorsion de ces approches sont soit comparables soit moins efficaces que celle des codeurs FAMC/DCT et FAMC/Lift. Cela montre que la procédure de prédiction hiérarchique appliquée aux coefficients spectraux (DCT ou ondelettes) est moins efficace qu une prédiction delta spatiale adaptative appliquée uniquement aux coefficients de basses fréquences (cf. Section 7.4.1). Ces configurations permettent en revanche de supporter à la fois la scalabilité en qualité et la scalabilité spatiale. Le tableau 8.1 présente les complexités de calcul des algorithmes de codage et de décodage des différentes configurations de FAMC. Rappelons que V, V Π et T représentent respectivement le nombre des sommets du maillage dynamique, le nombre maximal de sommets par cluster et le nombre de trames de l animation. Configuration Complexité ducodeur Complexité dudécodeur FAMC/Lift O(V T ) O(V T ) FAMC/DCT O(V log(t ) T ) O(V log(t ) T ) FAMC/LD O(V T ) O(V T ) FAMC/Lif+LD O(V T ) O(V T ) FAMC/DCT+LD O(V log(t ) T ) O(V log(t ) T ) FAMC/ACP O(V Π T 2 + VΠ 2 T + min(v Π,T) 3 ) O(V T 2 ) Table 8.1 : Complexités de calcul des différentes configurations FAMC (V Π est le nombre maximal de sommets par cluster). Sans surprise, l approche FAMC/ACP présente la plus grande complexité de calcul aussi bien pour le codage (O(V Π T 2 + V 2 Π T + min(v Π,T) 3 ))quepourledécodage (O(V T 2 )). En effet, les hautes performances de compression de cette approche sont obtenues au prix d une complexité relativement importante. Appliquer une ACP par parties permet de réduire considérablement la complexité decalcul,quideviento(v Π T 2 + V 2 Π T + min(v Π,T) 3 ), avec V Π << V, par rapport à O(V T 2 + V 2 T + min(v,t) 3 ) pour une ACP globale. Les configurations FAMC/DCT et FAMC/DCT+LD présentent des complexités de calcul de O(V log(t ) T ) aussi bien pour le codage et que pour le décodage, tout en assurant des performances de compression compétitives. Elles semblent offrir le meilleur compromis entre efficacité de compression et complexité de calcul. Enfin, les configurations FAMC/Lift, FAMC/LD et FAMC/Lift+LD garantissent une complexité linéaire (O(V T )). En outre, parmi toutes les configurations considérées, elles sont les seules à assurer le contrôle de l erreur maximale D Peak, ce qui est utile pour des applications de compression quasi-sans perte.

204 Résultats expérimentaux (a) (b) (c) (d) (e) (f) (g) (h) Figure 8.1 : Comparaison des performances de compression des différentes configurations FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5) FAMC/DCT+LD et (6) FAMC/ACP (partie 1).

8.3 Evaluation expérimentale 205 (a) (b) (c) (d) (e) (f) (g) (h) Figure 8.2 : Comparaison des performances de compression des différentes configuration FAMC : (1) FAMC/Lift, (2) FAMC/DCT, (3) FAMC/LD, (4) FAMC/Lift+LD, (5) FAMC/DCT+LD et (6) FAMC/ACP (partie 2).

206 Résultats expérimentaux Analysons maintenant de façon comparée les performances de compression des deux approches originales proposées dans cette thèse, FAMC et MCGV. 8.3.2 FAMC versus MCGV La Figure 8.3 compare les performances débit/distorsion du codeur FAMC/DCT à celles de l approche MCGV (cf. Chapitre 6). La mesure de distorsion considérée ici est l erreur RMSE. Les débits sont exprimés en bpts. Les résultats montrent que l approche FAMC/DCT surclasse le codeur MCGV avec des gains en débits juqu à 80%. Ces gains significatifs s expliquent par la représentation par images géométriques utilisée par MCGV, qui induit des pertes d information à cause de la procédure de re-échantillonnage régulier de la géométrie du maillage. Ces pertes conduisent à une erreur RMSE importante. Nous constatons en effet un phénomène de pallier : quel que soit le débit alloué, les distorsions de codage ne peuvent pas descendre au dessous d une erreur limite. Cela rend l approche MCGV particulièrement inefficace dans la plage des moyens et hauts débits (2 à 8 bpts) où l on constate que les courbes débit/distorsion du codeur MCGV tendent vers une asymptote horizontale. Notons également que le codage optimisé dumodèle de mouvement (partition, transformées affines et poids d animation) considéré permet au codeur FAMC d être particulièrement efficace aux bas et très bas débits (i.e., inférieurs à 2 bpts). Cela démontre àl évidence la nette supériorité de l approche FAMC. Examinons àprésent comment FAMC se positionne par rapport aux technologies antérieures proposées par le standard MPEG-4.

8.3 Evaluation expérimentale 207 (a) (b) (c) (d) (e) (f) Figure 8.3 : Performances de compression du codeur FAMC/DCT vs. l approche MCGV. 8.3.3 FAMC versus les technologies MPEG-4 Avant l adoption de FAMC, le standard MPEG-4 supportait le codage de maillages 3D dynamiques à travers deux technologies : BIFS (BInary Format for Scenes) [192] et IC (Interpolator Compression) [121]. 8.3.3.1 FAMC versus BIFS Les performances du codeur FAMC ont été tout d abord comparées à celles du schéma binarisation MPEG-4/BIFS [192]. Rappelons que le codeur BIFS réalise seulement une binarisation de l animation qui correspond à une représentation sans perte. Afin de réaliser une comparaison objective, nous avons considéré la configuration FAMC/Lift qui permet de garantir une compression quasi-sans perte. Les erreurs résiduelles de prédiction on été ici quantifiées sur 16 bits.

208 Résultats expérimentaux Animation G BIFS (%) Animation G BIFS (%) Ball 80 Box 81 Camel collapse 81 Camel gallop 79 Chicken 83 Cow 77 Dance 84 Dolphin 88 Dragon 86 Eagle 83 Elephant gallop 82 Horse collapse 83 Horse gallop 82 Humanoid 87 Jump 79 Rabbit 78 Raptor 86 Sanke 82 Troll 87 Wolf 84 Table 8.2 : Gains de l approche FAMC par rapport au schéma de binarisation BIFS. Le Tableau 8.2 présente les gains obtenus par FAMC par rapport à BIFS. Le facteur de gain, noté G BIFS,estdéfini par : G BIFS =1 S(FAMC) S(BIFS), (8.11) où S(FAMC) ets(bifs) représentent respectivement la taille (en kbits) des flux binaires obtenus par les codeurs FAMC/Lift (cf. Section 7.4.1) et BIFS. Ces résultats montrent que l approche FAMC avec un codage quasi sans perte surclasse le schéma de binarisation BIFS avec un gain moyen de l ordre de 83%. Cela est sans surprise, étant donné qu aucune procédure de compression n est exploitée par le codeur BIFS. Analysons àprésent les performances de FAMC par rapport àlatechniqueafx-ic,retenue par le standard MPEG-4 en 2003. 8.3.3.2 FAMC versus AFX-IC La Figure 8.4 présente les courbes débit/distorsion des codeurs FAMC/DCT et AFX-IC [121] sur les modèles Camel collapse, Horse collapse, Humanoid, Rabbit, Snake et Eagle. Le Tableau 8.3 synthétise les gains obtenus pour l ensemble du corpus de test MPEG-4 considéré. Le facteur de gain G IC de la technique FAMC par rapport à l approche AFX-IC est défini par : G IC =1 S(FAMC), (8.12) S(IC) où S(FAMC), S(BIFS) ets(ic) représentent respectivement la taille (en kbits) des flux binaires obtenus par les codeurs FAMC/DCT et IC, pour une même distorsion. Les gains rapportés dans le Tableau 8.3 correspondent à des gains moyens obtenus pour des pas de quantifications allant de 5 à 20 bits pour le codeur IC, ce qui couvre la totalité de la plage de débits utiles. Ces résultats montrent que l approche proposée surclasse le codeur AFX-IC avec des gains G IC moyens de l ordre de 76%. En effet, la stratégie de prédiction spatio-temporelle locale du codeur AFX-IC est trop élémentaire pour prendre en compte l ensemble des corrélations spatiales et temporelles du signal d animation. A l opposé, le codeur FAMC exploite une prédiction

8.3 Evaluation expérimentale 209 sophistiquée par modèle de skining, combinée à une transformée DCT temporelle et à une prédiction spatiale delta. Cela lui permet d atteindre de hautes performances de compression en particuliers à bas et très bas débits (20 à 150 kbits/s). L approche FAMC surclasse les techniques précédemment proposées par le standard MPEG- 4, tout en offrant une complexité de calcul compétitive. FAMC offre en même temps d excellentes performances par rapport aux diverses techniques de l état de l art, comme discuté dans la section suivante.

210 Résultats expérimentaux (a) (b) (c) (d) (e) (f) Figure 8.4 : FAMC/DCT vs. AFX-IC. Animation G IC (%) Animation G IC (%) Ball 99 Box 66 Camel collapse 74 Camel gallop 76 Chicken 77 Cow 71 Dance 86 Dolphin 91 Dragon 69 Eagle 62 Elephant gallop 72 Horse collapse 60 Horse gallop 64 Humanoid 94 Jump 72 Rabbit 46 Raptor 88 Snake 95 Troll 83 Wolf 75 Table 8.3 : Gains de l approche FAMC par rapport au codeur MPEG-4/AFX-IC.

8.3 Evaluation expérimentale 211 8.3.4 FAMC versus les techniques de l état de l art Nous avons retenu pour comparaison les techniques de compression par : (1) ondelettes temporelles TWC [142], (2) ondelettes temporelles avec compensation de mouvement MCWT [143], (3) ondelettes spatiales irrégulières AWC [153], (4) ACP globale LPCA [130], (5) ACP par parties CPCA [134], et (6) ACP globale combinée à une prédiction spatiale CODDYAC [133]. La figure 8.5 présente les courbes débit/distorsion correspondant à FAMC/DCT et à FAMC/ACP ainsi qu à d autres méthodes de la littérature pour les animations Chicken, Cow, Dance et Dolphin. Les débits sont exprimés en bits par sommet par trame (bpst). Les distorsions de compression sont mesurées en utilisant l erreur D KG entre maillages initiaux et reconstruits. Notons que pour l ensemble des modèles et àtouslesdébits, les deux configurations du codeur FAMC offrent les meilleures performances. La comparaison des performances des approches FAMC/DCT et FAMC/ACP à celles des codeurs AWC, TWC et MCWT font état de gains de l ordre de 20%-80% (e.g. animation Chicken et Cow ). Ce résultat s explique par l efficacité del étape de compensation par modèle de peau proposée par FAMC qui surclasse celle de MCWT (compensation des translations), de TWC (codage delta des coefficients ondelettes) et de AWC (prédiction delta temporelle). Le codeur FAMC/DCT proposé permetégalement d atteindre de meilleurs résultats que ceux obtenus par les approches LPCA, CPCA et CODDYAC, tout en offrant une complexité de calcul significativement plus faible. Ici encore, la compensation de mouvement par modèle de peau s avère encore une fois déterminante pour les performances de compression. En outre, la décomposition des erreurs résiduelles de compensation de mouvements par DCT permet de s affranchir de la transmission des vecteurs de la base, nécessaire dans le cas d une compression par ACP. Quant à l approche FAMC/ACP, elle amélior encore plus les performances de FAMC/DCT grâce : (1) à l optimalité de la transformée KL appliquée, (2) à la quantification adaptative des vecteurs de l ACP et (3) àlamodélisation efficace du mouvement par modèle de skining. Comparé aux techniques de l état de l art, le codeur FAMC proposé offre des performances de compression plus efficace avec des gains en termes de débits compris entre 20% et 80%. En outre, FAMC supporte un ensemble complet de fonctionnalités avancées, comme discuté dans le paragraphe suivant.

212 Résultats expérimentaux (a) (b) (c) (d) Figure 8.5 : FAMC vs. les techniques de l état de l art. 8.4 Fonctionnalités 8.4.1 Scalabilité spatiale La figure 8.6 illustre la fonctionnalité de scalabilité spatiale pour la configuration FAMC/LD, pour les animations Horse gallop, Dragon, Eagle, Troll, Wolf et Raptor. Ici, la représentation hiérarchique LD considérée (cf. Section 7.4.3) permet de dériver une représentation multirésolution du maillage dynamique àdifférents niveaux de détails. Notonsqueleniveaudedétails de plus basse résolution inclut en moyenne 10 fois moins de triangles que le maillage original. Cela permet au décodeur d adapter les contenus dynamiques aux capacités d affichage du terminal ainsi qu à la position du maillage dynamique dans la scène par rapport àlacaméra. Ainsi, si l objet est loin de l observateur, une version grossière est affichée. Au fur et à mesure que l objet se rapproche de l observateur des résolutions de plus en plus fines sont décodées et visualisées. Notons également qu une telle approche permet un décodage progressif du flux compressé, à partir du niveau de détails le plus grossier et jusqu aux résolutions les plus fines. Ainsi, le décodeur peut décompresser et afficher à tout instant de la transmission une version plus au moins fidèle de l animation, en fonction de la quantité d information reçue.

8.4 Fonctionnalités 213 (a) 164 KBits/s, 1813 triangles (b) 407 KBits/s, 8696 triangles (c) 609 KBits/s, 16843 triangles (d) 46 KBits/s, 708 triangles (e) 84 KBits/s, 3320 triangles (f) 115 KBits/s, 6350 triangles (g) 63 KBits/s, 211 triangles (h) 79 KBits/s, 469 triangles (i) 91 KBits/s, 792 triangles (j) 270 KBits/s, 1090 triangles (k) 296 KBits/s, 5195 triangles (l) 319 KBits/s, 9896 triangles (m) 121 KBits/s, 424 triangles (n) 141 KBits/s, 1624 triangles (o) 168 KBits/s, 4242 triangles (p) 128 KBits/s, 968 triangles (q) 171 KBits/s, 4746 triangles (r) 209 KBits/s, 4962 triangles Figure 8.6 : Scalabilité spatiale du codeur FAMC/LD pour les animations : (a, b, c) Horse gallop, (d, e, f) Dragon, (g, h, i) Eagle, (j, k, l) Troll, (m, n, o) Wolf et (p, q, r) Raptor.

214 Résultats expérimentaux 8.4.2 Scalabilité en qualité La figure 8.7 illustre la fonctionnalité de scalabilité en qualité du codeur FAMC/DCT, pour les animations Chicken, Cow, Dance, Dolphin, Jump et Snake. Pour toutes ces animations, les coefficients spectraux ont été structurés en quatre bandes de fréquences de même taille (cf. Section 7.5.3). Le premier point de chacune des courbes débit/distorsion correspond à l animation obtenue juste en codant le modèle de mouvement. Les autre points sont obtenus en décodant successivement les quatre bandes spectrales. Notons que le décodage de la première bande spectrale permet de réduire considérablement la distorsion D a. Cela montre que l énergie du signal d animation est concentrée en grande partie dans les coefficients de basses fréquences. La structuration du flux binaire sous forme de niveaux de détails permet au décodeur de décoder au fur et à mesure du processus de transmission différentes versions de l animation selon la quantité d information reçue. La fonctionnalité de scalabilité en qualité permet notamment de s adapter aux débits variables des réseaux de transmission considérés.

8.4 Fonctionnalités 215 (a) (b) (c) (d) (e) (f) Figure 8.7 : Scalabilité en qualité. 8.4.3 Codage des attributs Afin d illustrer la fonctionnalité de codage des attributs, nous avons considéré le cas des normales souvent associées auxsommets des maillages dynamiques, dans le cadre d applications de visualisation rapide. La Figure 8.8 compare les performances de codage du codeur FAMC/DCT à celles de AFX- IC qui est le seul codeur de la littérature antérieur àfamcà fournir de tels résultats. Notons que le codage des normales est rarement considéré par les travaux de la littérature et dans les rares cas où il est traités (par exemple [12]) aucun résultat expérimental n est fourni. Dans notre évaluation, nous avons considéré comme mesure de distorsion l erreur E N.Lesdébits sont ici exprimés en kbits/s. Les résultats de la Figure 8.8 montrent encore une fois que l approche proposée surclasse

216 Résultats expérimentaux le codeur AFX-IC avec des gains moyens en débit de l ordre de 60%. En effet, le codeur FAMC/DCT permet d obtenir des performances de compression élevées à partir des très bas débits (50 à 100 kbits/s) et ce grâce àlaprocédure de prédiction des normales par modèle de skinning et au codage hybride par DCT et prédiction delta spatiale adaptative. (a) (b) (c) (d) Figure 8.8 : Codage des normales : FAMC/DCT vs. AFX-IC. 8.4.4 Codage quasi sans perte Afin de mettre en évidence la fonctionnalité de codage quasi sans perte, la Figure 8.9 présente les courbes débit/distorsion obtenues en considérant comme mesure de distorsion l erreur D Peak. Ces résultats montrent que les approches de codage LD, Lift et Lift+LD conduisent aux meilleures performances de compression. En effet, ces techniques appliquent une quantification dans l espace spatio-temporel initial et non dans celui spectral, ce qui permet de contrôler directement l erreur maximale D Peak. En revanche, les autres configurations (i.e.,famc/dctet FAMC/ACP) considérent une quantification dans l espace spectral. Cela garantit uniquement le contrôle de l erreur moyenne. Ainsi, seules les configurations FAMC/LD, FAMC/Lift et FAMC/Lift+LD répondent à la fonctionnalité de codage quasi sans pertes. Analysons enfin dans quelle mesure FAMC répond à la fonctionnalité de streaming qui permet, au niveau du décodeur, la reconstruction à la volée des séquences d animation.

8.4 Fonctionnalités 217 (a) (b) (c) (d) (e) (f) Figure 8.9 : Codage quasi sans perte. 8.4.5 Streaming La Figure 8.10 présente les performances de compression du codeur FAMC avec et sans streaming. Ici, la longueur maximale des segments d animation considérée a été fixée à 32, ce qui correspond à environ 1,5 secondes d animation. Pour les animations Dance, Dolphin, Cow, Jump et Snake, la prise en compte de l option de streaming conduit à une légère dégradation des performances de compression. L analyse de ces résultats en termes d erreurs de prédiction montre que pour ces séquences le modèle de peau calculé pour la séquence entière est quasi-optimal. Déterminer et intégrer des modèles de peau pour chaque sous-segment ne fait donc qu augmenter la taille du flux obtenu. Toutefois, dans le cas du maillage dynamique Chicken, le codeur FAMC avec streaming offre des taux de compression plus élevés. Pour cette séquence relativement longue (400 trames),

218 Résultats expérimentaux les modèles de peau individuels associés à chaque segment temporel se montrent plus adaptés qu un unique modèle global. (a) (b) (c) (d) (e) (f) Figure 8.10 : Performances de compression du codeur FAMC/DCT avec et sans streaming. 8.5 Conclusion Dans ce chapitre, nous avons présenté une évaluation expérimentale et comparée de la technique FAMC. La comparaison conduite sur le corpus de test MPEG-4 composé d une vingtaine de séquences d animation, établit objectivement la supériorité delaméthode FAMC par rapport àmcgv, aux techniques MPEG-4 BIFS et AFX-IC, ainsi qu aux méthodes de l état de l art. En raison de ces performances élevées et des fonctionnalités supportées, FAMC a été retenu pour adoption dans le standard, en tant qu amendement 2 de la partie 16 - AFX.

Conclusion Dans cette thèse, nous avons abordé laproblématique de la compression de maillages 3D statiques et animés. Ce travail a abouti au développement de quatre approches originales de compression de maillages 3D, dont deux concernent les modèles statiques et deux les modèles dynamiques. En outre, deux méthodes de segmentation au sens du mouvement d un maillage 3D animé sont également proposées. Le premier chapitre de ce mémoire de thèse introduit le formalisme mathématique de représentation de maillages 3D, avec un rappel des principales définitions et propriétés géométriques et topologiques. Un état de l art des méthodes de compression de maillages 3D statiques yestégalement proposé. La première méthode de compression de maillages 3D statiques, appelée TFAN (Chapitre 2) (Triangle Fan-based compression), vise à assurer une représentation 3D compacte, sous une contrainte de basse complexité de calcul au niveau du décodeur. La méthode TFAN se montre particulièrement adaptée pour compresser les objets 3D CAO considérés dans le cadre du projet RNRT SEMANTIC-3D. En raison de sa généralité, la méthode TFAN offre des gains significatifs en taux de compression (6 à 33%) ainsi qu en temps de décodage (plus de 50% en moyenne) par rapports aux méthodes de l état de l art sur ce corpus très difficile, incluant plus de 4000 objets de topologies irrégulières (de type manifold ou non, orientable ou non, présentant de multiples composantes connexes...). En raison de sa faible complexité dedécodage et de ses performances de compression élevées, le codeur TFAN semble le candidat de premier plan pour le déploiement des contenus de type CAO sur téléphones portables. Depuis avril 2008, il est évalué danslecadredel expérimentation technique du groupe MPEG-4/3DGC sur la compression de basse complexité de maillages 3D. La deuxième approche de compression proposée (Chapitre 3) est dédiée au codage des maillages 3D denses àgéométries lisses, comme ceux issus des processus de numérisation 3D. Elle exploite une approximation (sans perte de connectivité) par surfaces B-Splines couplée avec un codage JPEG2000. La représentation proposée offre des performances de compression élevées, en particulier àbasdébits, tout en assurant la fonctionnalité de scalabilité en qualité. Dans le contexte de compression de maillages 3D animés, nous avons considéré lesreprésenta- tions par trames clés, à connectivité fixeetgéométrievariabledansletemps, quis imposent aujourd hui dans les industries des films 3D et des jeux vidéos. Le chapitre 4 propose une revue de l état de l art des méthodes de compression dédiées à ces représentations. L ensemble des développements effectués sont fondés sur la construction d un modèle de peau (skinning), déterminé automatiquement à partir des séquences animées (Chapitre 5). 219

220 Conclusion Deux approches originales de segmentation au sens de mouvement, l un par classification en k-moyennes et l autre par décimation hiérarchique, ont été ici proposées et validées expérimentalement. La méthode de construction du modèle de peau ouvre la voie aux approches de compression par compensation de mouvement développées par la suite. Un premier schéma de compression, appelée MCGV (Multi-Chart Geometry Video) et présenté au Chapitre 6, combine la stratégie de prédiction par modèle de peau avec une représentation des erreurs résiduelles sous forme d une séquence d images géométriques 2D qui est compressée grâce aux codeurs standardisés JPEG ou MPEG-4. L approche MCGV assure des hautes performances de compression àbasdébit et des fonctionnalités avancées de streaming et de scalabilité temporelle et en qualité. Un deuxième schéma de compression, appeléfamc(frame-based Animated Mesh Compression) est ensuite proposé (Chapitre 7).Contrairement à MCGV, l approche FAMC considère un codage hybride, prédictif et par transformées des erreurs résiduelles de compensation de mouvement. Plusieurs transformées (en Cosinus Discrère, en ondelettes, de Karhunen-Loève ou encore par décomposition en niveaux hiérarchiques), bien connues pour leur propriétés de décorrélation du signal sont ici considérées, dans le cadre d une architecture extensible et modulable. L approche FAMC offre à la fois une compression efficace de la géométrie et des attributs photométriques associés aux sommets du maillage dynamique, tout en assurant des fonctionnalités de streaming, de scalabilité (spatiale, temporelle et en qualité), ou encore de codage quasi-sans pertes. En raison de ces performances élevées en terme d efficacité de compression et de l ensemble complet des fonctionnalités supportées, FAMC a été retenue pour intégration dans le standard ISO/MPEG-4, en tant qu amendement 2 de la partie 16 - AFX (dont la sortie officielle est prévue en Juillet 2008). Enfin, l étude expérimentale proposée au Chapitre 8 valide, sur le corpus de test MPEG-4, l ensemble des développements proposés. En particulier, elle met en évidence la supériorité de la méthode FAMC aussi bien par rapport àmcgv,qu à d autres techniques du standard MPEG-4 et de la littérature. Les perspectives de cette thèse portent essentiellement sur une combinaison des deux approches FAMC et TFAN afin d assurer un unique flux MPEG-4 capable de représenter de façon efficace et unifiée tout maillage 3D statique ou dynamique. Un tel flux unique permettrait de décrire, outre les animations spécifiées par trames clés, celles décrites par structures de squelettes hiérarchiques arbitraires (BBA - Bone Based Animation) en exploitant la stratégie de prédiction par modèle de skinning et celles par métamorphose grâce à la configuration FAMC/ACP. Un deuxième axe de recherche fort prometteur concerne l implantation matérielle du codeur TFAN. Cela permettra notamment de réduire le flux d information entre mémoire vive et carte graphique, tout en allégeant les calculs réalisés par le CPU, optimisant ainsi à la fois l utilisation de la mémoire graphique et des ressources de calcul disponibles.

Liste de publications et communications associées Chapitres de livre K. Mamou, F. Prêteux, R. Prost, S. Valette, Compression of static and dynamic 3-D meshes, A. Naït-Ali, C. Cavaro-Ménard (Ed.), Compression of Biomedical Images and Signals, ISTE, Chippenham, UK, October 2007, p. 211-245. K. Mamou, F. Prêteux, R. Prost, S. Valette Compression des maillages surfaciques 3D statiques et dynamiques, A. Naït-Ali, C. Cavaro-Ménard (Ed.), Compression des images et des signaux médicaux, Traité IC2-Série Information et Science du Vivant, Hermès-Lavoisier, Paris, France, February 2007, p. 231-267. Articles de journaux K. Mamou, T. Zaharia, F. Prêteux, A DCT-based approach for dynamic 3D mesh compression, WSEAS Transactions on Information Science and Applications, Vol. 3(8), October 2006, p. 1947-1954. K. Mamou, T. Zaharia, F. Prêteux, A skinning approach for dynamic 3D mesh compression, Computer Animation and Virtual Worlds, Vol. 17(3-4), July 2006, p. 337-346. K. Mamou, T. Zaharia, F. Prêteux, Progressive 3D mesh compression : a B-spline approach, WSEAS Transactions on Communications, Vol. 8(4), August 2005, p. 587-597. Articles de conférences internationales K. Mamou, T. Zaharia, F. Prêteux, FAMC : the MPEG-4 standard for animated mesh compression IEEE International Conference on Image Processing (ICIP 2008), San Diego, CA, U.S.A. (to appear), October 2008. 221

222 K. Mamou, T. Zaharia, F. Prêteux, A. Kamoun, F. Payan, M. Antonini, Two Optimizations of the MPEG-4 FAMC standard for Enhanced Compression of Animated 3D Meshes IEEE International Conference on Image Processing (ICIP 2008), San Diego, CA, U.S.A. (to appear), October 2008. K. Mamou, T. Zaharia, F. Prêteux, N. Stefanoski, J. Ostermann, Frame-based compression of animated meshes in MPEG-4 IEEE International Conference on Multimedia & Expo (ICME 2008), Hannover, Germany (to appear), June 2008. K. Mamou, N. Stefanoski, H. Kirchhoffer, K. Müller, T. Zaharia, F. Prêteux, D. Marpe, J. Ostermann, The new MPEG-4/FAMC standard for animated 3D mesh compression, 3DTV Conference (3DTV-CON 2008), Istanbul, Turkey (to appear), May 2008. K. Mamou, T. Zaharia, F. Prêteux, FAMC : La nouvelle technologie MPEG-4 pour la compression d animations 3D Actes 5èmes Ateliers de Travail sur l Analyse d Images, Méthodes et Applications (TAIMA 2007), Hammamet, Tunisia, May 2007, p. 381-388. K. Mamou, T. Zaharia, F. Prêteux, Image-based compression scheme for dynamic articulated 3D meshes, International Symposium on Image/Video Communications over Fixed and Mobile Networks (ISIVC 06), Hammamet, Tunisia (CDROM), September 2006. K. Mamou, T. Zaharia, F. Prêteux, A skinning prediction scheme for dynamic 3D mesh compression, SPIE Conference on Mathematics of Data/Image Pattern Recognition, Compression, and Encryption with Applications IX, San Diego, CA, Vol. 6315, August 2006, p. 631502 :1-12. K. Mamou, T. Zaharia, F. Prêteux, Temporal-DCT-based compression of 3D dynamic meshes, WSEAS International Conference on Communications, Vouliagmeni, Greece, (CDROM), July 2006. K. Mamou, T. Zaharia, F. Prêteux, Multi-Chart Geometry Video : A compact representation for 3D animations, International Conference on 3D Processing, Visualization and Transmission (3DPVT 2006), IEEE Computer Society Press, Chapel Hill, NC (CD-ROM), May 2006. K. Mamou, T. Zaharia, F. Prêteux, Evaluation des approches de compression 3D pour les maillages de type CAO Actes 4ème Ateliers de Travail sur l Analyse d Images, Méthodes et Applications (TAIMA 2005), Hammamet, Tunisia, September 2005, p. 381-388. K. Mamou, T. Zaharia, F. Prêteux, A preliminary evaluation of 3D mesh animation coding techniques, SPIE Conference on Mathematical Methods in Pattern and Image Analysis, San Diego, CA, Vol. 5916, August 2005, p. 44-55. K. Mamou, T. Zaharia, F. Prêteux, A multiple B-Spline representation for progressive 3D mesh compression, WSEAS International Conference on Communications,Vouliagmeni, Greece (CDROM), July 2005.

K. Mamou, T. Zaharia, F. Prêteux, 3D mesh coding techniques applied to CAD data : a comparative evaluation, International Conference on Intelligent Access of Multimedia Documents on Internet (MediaNet 2004), Tozeur, Tunisia, November 2004, p. 17-35. Articles de conférences nationales K. Mamou, T. Zaharia, F. Prêteux, FAMC:lanouvellenormeMPEG-4pourlecodage de maillage 3D animé, Actes 14ème Congrès Francophone AFRIF-AFIA Reconnaissance des Formes et Intelligence Artificielle (RFIA 2008), Amiens, France (CDROM), January 2008. K. Mamou, T. Zaharia, F. Prêteux, Segmentation au sens du mouvement de maillages dynamiques, Actes 21eme Colloque GRETSI sur le Traitement du Signal et des Images (GRET- SI 2007), Troyes, France, September 2007, p. 69-72. K. Mamou, T. Zaharia, F. Prêteux, Modèle de skinning pour la compression de maillages dynamiques 3D, Actes 11èmes Journées d Etudes et d Echanges Compression et Représentation des Signaux Audiovisuels (CORESA 2006), Caen, France (CDROM), November 2006. K. Mamou, T. Zaharia, F. Prêteux, Compression progressive de maillages 3D par approximation B-spline, Actes 10èmes Journées d études et d échanges Compression et Représentation des Signaux Audiovisuels (CORESA 2005), Rennes, France, November 2005, p. 183-188. 223 Rapports de standardisation K. Mamou, T. Zaharia, F. Prêteux, TFAN : A low complexity approach for static 3D mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15438, Artchamps, France, april 2008. K. Mamou, T. Zaharia, F. Prêteux, On the status of the FAMC encoder source code, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15440, Artchamps, France, april 2008. K. Mamou, T. Zaharia, M. Preda, F. Prêteux, FAMC integration into the MPEG-4 RefSoft, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15150, Antalya, Turkey, January 2008. K. Mamou, T. Zaharia, F. Prêteux, FAMC decoder conformance, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15149, Antalya, Turkey, January 2008. K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Low-complexity approach for static mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG2008/M15153, Antalya, Turkey, January 2008. K. Mamou, T. Zaharia, F. Prêteux, Progress report on the FAMC integration into the MPEG-4 RefSoft, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/M14958, Shenzhen, China, October 2007.

224 K. Mamou, H. Kirchhoffer, N. Stefanoski, D. Marpe, K. Müller, J. Ostermann, T. Zaharia, F. Prêteux, FAMC decoder conformance, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/M14936, Shenzhen, China, October 2007. K. Mamou, H. Kirchhoffer, N. Stefanoski, D. Marpe, K. Müller, J. Ostermann, T. Zaharia, F. Prêteux, FAMC decoder software description, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14934, Shenzhen, China, October 2007. K. Mamou, T. Zaharia, F. Prêteux, FAMC with progressive transmission and scalable rendering functionalities Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/ M14654, Lausanne, Switzerland, July 2007. H. Kirchhoffer, D. Marpe, K. Mamou, K. Müller, T. Wiegand, Proposed modifications to residual coding part of Frame-based Animated Mesh Compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14697, Lausanne, Switzerland, July 2007. K. Mamou, N. Stefanoski, T. Zaharia, J. Ostermann, F. Prêteux, FAMC s layer-based scalable extension, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14652, Lausanne, Switzerland, July 2007. K. Mamou, N. Stefanoski, T. Zaharia, J. Ostermann, F. Prêteux, FAMC : bitstream description for the layer-based scalable extension, Standardization Report ISO/IEC JTC1/ SC29/WG11, MPEG07/M14653, Lausanne, Switzerland, July 2007. K. Mamou, M. Preda, T. Zaharia, F. Prêteux, FAMC bitstream description, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14491, San Jose, CA, April 2007. K. Mamou, D. Marpe, T. Zaharia, M. Preda, F. Prêteux, Frame-based Animated Mesh Compression : integration of the CABAC arithmetic encoder, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG07/M14493, San Jose, CA, April 2007. K. Mamou, T. Zaharia, B. Ivanova, M. Preda, F. Prêteux, B. Meaujean, J. Gaillard, O. Marre, Results of Core Experiment CE1 on mesh animation compression : skinningbased dynamic mesh compression, Standardization Report SO/IEC JTC1/SC29/WG11, MPEG07/M14197, Marrakech, Morocco, January 2007. K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Results of evaluation experiment EE1 on static and animated 3D mesh coding : skinning-based dynamic mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/13888, Hangzhou, China, October 2006. T. Zaharia, K. Mamou, M. Preda, F. Prêteux, Results of evaluation experiment EE1 on static and animated 3D mesh coding : skinning-based compression versus MPEG-4 AFX-IC, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/14028, Hangzhou, China, October 2006.

K. Mamou, T. Zaharia, M. Preda, F. Prêteux, An evaluation test data set for dynamic 3D mesh compression, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/13626, Klagenfurt, Austria, July 2006. K. Mamou, T. Zaharia, M. Preda, F. Prêteux, Dynamic 3D mesh compression : State of the art and preliminary evaluation, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG06/ 13653, Klagenfurt, Austria, July 2006. M.Gutierrez,F.Vexo,K.Mamou,F.Prêteux, 3D CGI films, Standardization Report ISO/IEC JTC1/SC29/WG11, MPEG05/11729, Hong Kong, China, January 2005. 225

226

AnnexeA:Exempledeconstructiondela représentation TFan La Figure 8.11, illustre un exemple de codage pour l approche TFAN. Dans ce qui suit nous détaillons les différentes étapes ainsi que les valeurs prises par les différentes variables locales et de sortie de l algorithme. Sommet courant v 1, F = {}, O(v 1 )=1,L(1) = {}, N(1) = 1 TF 1 (1) = {v 1,v 6,v 4 }, d(1, 1) = 1 1. w1(1) 1 = v 6, O(v 6 )=2,F = {v 6 }, L(1) = {v 6 }, S(1, 1) = {0}, I(1, 1) = {} 2. w1 1(2) = v 4, O(v 4 ) = 3, F = {v 6,v 4 }, L(1) = {v 6,v 4 }, S(1, 1) = {0, 0}, I(1, 1) = {} Sommet courant v 6, F = {v 4 }, L(2) = {v 4 }, N(2) = 2 TF 1 (2) = {v 6,v 5,v 4 }, d(2, 1) = 1 1. w2 1(1) = v 5, O(v 5 )=4,F = {v 4,v 5 }, L(2) = {v 4,v 5 }, S(2, 1) = {0}, I(2, 1) = {}, 2. w2 1(2) = v 4, F = {v 4,v 5 }, L(2) = {v 4,v 5 }, S(2, 1) = {0, 1}, I(2, 1) = {1} TF 2 (2) = {v 6,v 2,v 9,v 7 }, d(2, 2) = 2 1. w2 2(1) = v 2, O(v 2 )=5,F = {v 4,v 5,v 2 }, L(2) = {v 4,v 5,v 2 }, S(2, 1) = {0}, I(2, 1) = {} 2. w2 2(2) = v 9, O(v 9 )=6,F = {v 4,v 5,v 2,v 9 }, L(2) = {v 4,v 5,v 2,v 9 }, S(2, 1) = {0, 0}, I(2, 1) = {} 3. w2 2(3) = v 7, O(v 7 ) = 7, F = {v 4,v 5,v 2,v 9,v 7 }, L(2) = {v 4,v 5,v 2,v 9,v 7 }, S(2, 1) = {0, 0, 0}, I(2, 1) = {} Sommet courant v 4, F = {v 5,v 2,v 9,v 7 }, L(3) = {v 5 }, N(3) = 0 Sommet courant v 5, F = {v 2,v 9,v 7 }, L(4) = {}, N(4) = 0 Sommet courant v 2, F = {v 9,v 7 }, L(5) = {v 9 }, N(5) = 1 TF 1 (5) = {v 2,v 10,v 9 }, d(5, 1) = 1 1. w5 1(1) = v 10, O(v 10 )=8,F = {v 9,v 7,v 10 }, L(5) = {v 9,v 10 }, S(5, 1) = {0}, I(5, 1) = {} 2. w5(2) 2 = v 9, F = {v 9,v 7,v 10 }, L(5) = {v 9,v 10 }, S(5, 1) = {0, 1}, I(5, 1) = {2} Sommet courant v 9, F = {v 7,v 10 }, L(6) = {v 7,v 10 }, N(v 1 )=2 TF 1 (6) = {v 9,v 10,v 8 }, d(6, 1) = 1 1. w6 1(1) = v 10, F = {v 7,v 10 }, L(6) = {v 7,v 10 }, S(6, 1) = {1}, I(6, 1) = {2} 227

228 2. w6 1(2) = v 8, O(v 8 )=9,F = {v 7,v 10,v 8 }, L(6) = {v 7,v 10,v 8 }, S(6, 1) = {1, 0}, I(6, 1) = {2} TF 2 (6) = {v 9,v 3,v 7 }, d(6, 2) = 1 1. w6 2(1) = v 3, O(v 3 ) = 10, F = {v 7,v 10,v 8,v 3 }, L(6) = {v 7,v 10,v 8,v 3 }, S(6, 2) = {0}, I(6, 2) = {} 2. w6 2(2) = v 7, F = {v 7,v 10,v 3 }, L(6) = {v 7,v 10,v 8,v 3 }, S(6, 2) = {0, 1}, I(6, 2) = {1} Sommet courant v 7, F = {v 10,v 3 }, L(7) = {v 3 }, N(7) = 0 Sommet courant v 10, F = {v 3 }, L(8) = {v 8 }, N(8) = 0 Sommet courant v 8, F = {}, L(9) = {}, N(9) = 0 Sommet courant v 3, F = {}, L(10) = {}, N(10) = 0

229 (a) V =10 (b) N(1) = 1, d(1, 1) = 1, S(1, 1) = {0, 0} (c) N(2) = 2, d(2, 1) = 1, S(2, 1) = {0, 1}, I(2, 1) = {1} (d) d(2, 2) = 2, S(2, 2) = {0, 0, 0} (e) N(3) = 0 (f) N(4) = 0 (g) N(5) = 1, d(5, 1) = 1, S(5, 1) = {0, 1}, I(5, 1) = {1} (h) N(6) = 2, d(6, 1) = 1, S(6, 1) = {1, 0}, I(6, 1) = {2} (i) d(6, 2) = 1, S(6, 2) = {0, 1}, I(6, 2) = {1} (j) N(7) = 0 (k) N(8) = 0 (l) N(9) = 0 (m) N(10) = 0 (n) Figure 8.11 : Exemple de codage pour l approche TFAN.

230

Annexe B : Corpus de test pour l évaluation de l approche FAMC 231

232 Animation V T Manifold CC Fremé Orienté Mouvement Ball 5552 100 oui 1 oui oui Affine global Box 687 29 oui 3 non oui Articulé Camel collapse 21887 53 non 1 non non Déformations élastiques de fortes amplitudes Camel gallop 21887 48 non 1 non non Articulé Chicken 3030 400 oui 41 oui non Articulé avec déformations élastiques de fortes amplitudes Cow 2904 204 oui 1 oui oui Déformations élastiques de fortes amplitudes Dance 7061 201 oui 1 oui oui Articulé avec déformations élastiques locales Dolphin 6180 101 non 1 non non Déformations élastiques de faibles amplitudes Dragon 3211 38 oui 3 non oui Articulé Eagle 636 31 non 15 non non Articulé Elephant gallop 42321 48 oui 1 oui oui Articulé Horse collapse 8431 53 oui 1 non oui Déformations élastiques de fortes amplitudes Horse gallop 8431 53 oui 1 non oui Articulé Humanoid 7646 154 oui 1 oui oui Articulé Jump 15830 222 oui 1 oui oui Articulé avec déformations élastiques locales Rabbit 434 19 non 8 non oui Articulé Raptor 4952 41 non 47 non non Articulé Snake 9179 134 oui 1 oui oui Articulé avec déformations élastiques locales Troll 4961 36 non 1 non non Articulé avec déformations élastiques Wolf 2320 31 oui 1 non oui Articulé Table 8.4 : Propriétés des animations du corpus de test.

233 (a) Ball (b) Box (c) Camel collapse (d) Camel gallop (e) Chicken (f) Cow (g) Dance Figure 8.12 : Extraits des animations : (a) Ball, (b) Box, (c) Camel collapse, (d) Camel gallop, (e) Chicken, (f) Cow et (g) Dance.

234 (a) Dolphin (b) Dragon (c) Eagle (d) Elephant gallop (e) Horse collapse (f) Horse gallop (g) Humanoid Figure 8.13 : Extraits des animations : (a) Dolphin, (b) Dragon, (c) Eagle, (d) Elephant gallop, (e) Horse collapse, (f) Horse gallop et (g) Humanoid.

235 (a) Jump (b) Rabbit (c) Raptor (d) Snake (e) Troll (f) Wolf Figure 8.14 : Extraits des animations : (a) Jump, (b) Rabbit, (c) Raptor, (d) Snake, (e) troll et (f) Wolf.

236

Bibliographie [1] G. Taubin et J. Rossignac. Geometric compression through topological surgery. ACM Transactions on Graphics, 17(2) :84 115, 1998. [2] C. L. Bajaj, V. Pascucci, et G. Zhuang. Single resolution compression of arbitrary triangular meshes with properties. Computational Geometry : Theory and Applications, 14 :167 186, 1999. [3] C. Touma et C. Gotsman. Triangle mesh compression. In Graphics Interface, pages 26 34, Vancouver, Canada, 1998. [4] J. Rossignac. Edgebreaker : Connectivity compression for triangle meshes. IEEE Transactions on Visualization andcomputer Graphics, 5(1) :47 61, 1999. [5] J. Popovic et H. Hoppe. Progressive simplicial complexes. In International Conference on Computer Graphics and Interactive Techniques, pages 217 224, 1997. [6] G. Taubin, A. Gueziecand W. Horn, et F. Lazarus. Progressive forest split compression. In International Conference on Computer Graphics and Interactive Techniques, pages 123 132, 1998. [7] P. Alliez et M. Desbrun. Progressive compression for lossless transmission of triangle meshes. In International Conference on Computer Graphics and Interactive Techniques, pages 195 202, New York, États-Unis, 2001. [8] P. M. Gandoin et O. Devillers. Progressive lossless compression of arbitrary simplicial complexes. ACM Transactions on Graphics, 21(3) :372 379, 2002. [9] A. Khodakovsky, P. Schröder, et W. Sweldens. Progressive geometry compression. In Computer Graphics, pages 271 278, 2000. [10] H. Hoppe. Progressive meshes. Computer Graphics, 30(Annual Conference Series) :99 108, 1996. [11] M. Preda. WD 1.0 of ISO/IEC 14496-16 :2006 AMD 4 (Scalable Complexity 3D Mesh Compression). In ISO/IEC JTC1/SC29/WG11 N9883, Archamps, France, May 2008. [12] H. M. Briceño, P. V. Sander, L. McMillan, S. Gortler, et H. Hoppe. Geometry videos : a new representation for 3D animations. In Eurographics/SIGGRAPH Symposium on Computer Animation, pages 136 146, San Diego, États-Unis, 2003. [13] C.-C. J. Kuo J. Peng. Geometry-guided progressive lossless 3D mesh coding with octree (OT) decomposition. ACM Transactions on Graphics (TOG), 24(3) :609 616, 2005. [14] P.-L. George et H. Borouchaki. Delaunay triangulation and meshing : Application to finite elements. Hermes Science, 1998. [15] Y. Ore et O. Ore. Graphs and Their Uses. Hermes Science, 1996. 237

238 BIBLIOGRAPHIE [16] M. Deering. Geometry compression. In International Conference on Computer Graphics and Interactive Techniques, pages 13 20, 1995. [17] M. Chow. Optimized geometry compression for real-time rendering. In IEEE conference on Visualization, pages 347 354, 1997. [18] E. M. Arkin, M. Held, J. S. B. Mitchell, et S. Skiena. Hamiltonian triangulations for fast rendering. The Visual Computer, 12(9) :429 444, 1996. [19] F. Evans, S. Skiena, et A. Varshney. Completing sequential triangulations is hard. Rapport Technique, Department of Computer Science, State University of New York at Stony Brook, 1996. [20] B. Speckmann et J. Snoeyink. Easy triangle strips for tin terrain models. In Candian Conference on Computational Geometry, page 1997, 239-244. [21] X. Xiang, M. Held, et J. Mitchell. Fast and efficient stripification of polygonal surface models. In ACM Symposium on Interactive 3D Graphics, pages 71 78, 1999. [22] G. Turan. On the succinct representations of graphs. Discrete Applied Mathematics, 8 :289 294, 1984. [23] J. Teuhola. A compression method for clustered bit-vectors. Information Processing Letters, 7 :308 311, 1978. [24] F. Lazarus A. Guéziec, G. Taubin et B. Horn. Cutting and stitching : converting sets of polygons to manifold surfaces. IEEE Transaction on Visualization and Computer Graphics, 7(2) :136 151, 2001. [25] M. J. Golin, C. Kenyon, et N. E. Young. Huffman coding with unequal letter costs. In ACM symposium on Theory of computing, pages 785 791, 2002. [26] I. H. Witten, R. M. Neal, et J. G. Cleary. Arithmetic coding for data compression. Communications of the ACM, 30(6) :520 540, 1987. [27] P. Alliez et M. Desbrun. Valence-driven connectivity encoding of 3D meshes. In Conference Eurographics, pages 480 489, 2001. [28] S. Gumhold et W. Straßer. Real time compression of triangle mesh connectivity. In International Conference on Computer Graphics and Interactive Techniques, pages 133 140, 1998. [29] S. Gumhold. Improved cut-border machine for triangle mesh compression. In Erlangen Workshop 99 on Vision, Modeling and Visualization, 1999. [30] D. King et J. Rossignac. Guaranteed 3.67v bit encoding of planar triangle graphs. In Canadian Conference on Computational Geometry, pages 146 149, 1999. [31] S. Gumhold. New bounds on the encoding of planar triangulations. Rapport Technique WSI-2000-1, Wilhelm-Schickard-Institut für Informatik, Allemagne, University of Tübingen, 2000. [32] J. Rossignac et A. Szymczak. Wrap and zip decompression of the connectivity of triangle meshes compressed with edgebreaker. Computational Geometry, 14(1-3) :119 135, 1999. [33] M. Isenburg et J. Snoeyink. Spirale reversi : Reverse decoding of the edgebreaker encodin. In Canadian Conference on Computational Geometry, pages 247 256, 2000. [34] A. Szymczak, A. King, et J. Rossignac. An edgebreaker-based efficient compression scheme for regular meshes. In Canadian Conference on Computational Geometry, pages 257 264, 2000.

BIBLIOGRAPHIE 239 [35] A. Khodakovsky, P. Alliez, M. Desbrun, et P. Schröder. Near-optimal connectivity encoding of 2-manifold polygon meshes. Graphical Models, 64(3-4) :147 168, 2002. [36] C. Gotsman. On the optimality of valence-based connectivity coding. Computer Graphics Forum, 22(1) :99 102, 2003. [37] J. Li et C. C. J. Kuo. A dual graph approach to 3D triangular mesh compression. In IEEE International Conference on Image Processing (ICIP 1998), pages 891 894, 1998. [38] S. M. Curila,, T. Zaharia, G. Mozelle, et F. Prêteux. A new predictive scheme for 3D mesh coding within a mpeg-4 compliant framework. [39] E.-S. Lee et H.-S. Ko. Vertex data compression for triangular meshes. In Pacific Conference on Computer Graphics and Applications, pages 225 234, 2000. [40] P. H. Chou et T. H. Meng. Vertex data compression through vector quantization. IEEE Transactions on Visualization and Computer Graphics, 8(4) :373 382, 2002. [41] G. Taubin. A signal processing approach to fair surface design. In International Conference on Computer Graphics and Interactive Techniques, pages 351 358, New York, États-Unis, 1995. [42] W. J. Schroeder, J. A. Zarge, et W. E. Lorensen. Decimation of triangle meshes. In International Conference on Computer Graphics and Interactive Techniques, pages 65 70, 1992. [43] M. Soucy et D. Laurendeau. Multiresolution surface modeling based on hierarchical triangulation. [44] D. Cohen-Or, D. Levin, et O. Remez. Progressive compression of arbitrary triangular meshes. In IEEE Visualization, pages 67 72, 1999. [45] J. Li et C. C. J. Kuo. Progressive coding of 3-D graphic models. Proceedings of the IEEE, 86(6) :1052 1063, 1998. [46] C. Bajaj, V. Pascucci, et G. Zhuang. Progressive compression and transmission of arbitrary triangular meshes. In IEEE Visualization, pages 307 316, 1999. [47] O. Devillers et P. Gandoin. Geometric compression for interactive transmission. In IEEE Conference on Visualization, pages 319 326, 2000. [48] J. Peng, I. Eckstein, et C.-C. J. Kuo. A novel and efficient progressive lossless mesh coder. In International Conference on Computer Graphics and Interactive Techniques, pages 180 180, 2006. [49] S. P. Lloyd. Least squares quantization in PCM. IEEE Transactions on Information Theory, 28(12) :129 136, 1982. [50] J. Max. Quantizing for minimum distortion. IEEE Transactions on Information Theory, 6(1) :7 12, 1960. [51] N. Aspert, D. Santa-Cruz, et T. Ebrahimi. MESH : Measuring errors between surfaces using the hausdorff distance. In IEEE International Conference in Multimedia and Expo (ICME), pages 705 708, Lausanne, Suisse, 2002. [52] Z. Karni et C. Gotsman. Spectral compression of mesh geometry. In International Conference on Computer Graphics and Interactive Techniques, pages 279 286, 2000. [53] Z. Karni et C. Gotsman. 3D mesh compression using fixed spectral bases. In Graphics Interface, pages 1 8, 2001. [54] [55] Y. Meyer. Les ondelettes : Algorithmes et applications. Armand Collin, Paris, 1993.

240 BIBLIOGRAPHIE [56] S. Mallat. A theory for multiresolution signal decomposition : The wavelet representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(7) :674 69, 1989. [57] M. Lounsberry. Multiresolution analysis for surfaces of arbitrary topological type. ACM Transactions on Graphics, 16(1) :34 73, 1997. [58] W. Sweldens. The lifting scheme : A construction of second generation wavelets. SIAM Journal on Mathematical Analysis, 29(2) :511 546, 1997. [59] A. W. F. Lee, W. Sweldens, P. Schröder, L. Cowsar, et D. Dobkin. MAPS : multiresolution adaptive parametrization of surfaces. In ACM Siggraph, pages 95 104, 1998. [60] A. Said et W. Pearlman. A new, fast, and efficient image codec based on set partitioning in hierarchical trees. IEEE Transactions on Circuits and Systems for Video Technology, 6(3) :243 250, 1996. [61] A. Khodakovsky et I. Guskov. Normal mesh compression. In Preprint, California Institute of Technology, http ://www.multires.caltech.edu, 2000. [62] I. Guskov, K. Vidimce W. Sweldens, et P. Schröder. Normal meshes. In ACM Siggraph, pages 95 102, 2000. [63] S. Valette et R. Prost. A wavelet-based progressive compression scheme for triangle meshes : Wavemesh. IEEE Transactions on Visualization and Computer Graphics, 10(2) :123 129, 2004. [64] X.Gu,S.J.Gortler,etH.Hoppe. Geometryimages. ACM Transactions on Graphics, 21(3) :355 361, 2002. [65] F. Losasso, H. Hoppe, S. Schaefer, et J. Warren. Smooth geometry images. In Eurographics/ACM SIGGRAPH symposium on Geometry processing, pages 138 145, Grenade, Espagne, 2003. [66] P. Sander, Z. Wood, S. Gortler, J. Snyder, et H. Hoppe. Multi-chart geometry images. In Eurographics Symposium on Geometry Processing, pages 146 155, Aachen, Allemagne, 2003. [67] S. W. Lee, B. Kim, M. Chen, et M. Preda. CE on scalable complexity 3D mesh coding 3DGC. In ISO/IEC JTC1/SC29/WG11 N9888, Archamps, France, page May, 2008. [68] A. Moffat, R. Neal, et I. Witten. Arithmetic coding revisited. ACM Transactions on Information Systems, 16(3) :256 294, 1998. [69] M. Preda et F. Prêteux. Virtual character within MPEG-4 animation framework extension. IEEE Transactions on Circuits and Systems for Video Technology, 14(7) :975 988, 2004. [70] E.-Y. Chang, N. Hur, et E. S. Jang. 3D model compression in MPEG. In IEEE International Conference on Image Processing, page àparître, 2008. [71] W. T. Tutte. How to draw a graph. In Proceedings of the London Mathematical Society, pages 743 767, 1963. [72] V. Krishnamurthy et M. Levoy. Fitting smooth surfaces to dense polygon meshes. In International Conference on Computer Graphics and Interactive Techniques, pages 313 324, Grenade, Espagne, 1996. [73] S. Yoshizawa, A. Belyaev, et H.-P. Seidel. A fast and simple stretch-minimizing mesh parameterization. In International Conference on Shape Modeling, pages 200 208, 2004. [74] B. Lévy, S. Petitjean, N. Ray, et J. Maillot. Least squares conformal maps for automatic texture atlas generation. ACM Transactions on Graphics, 21(3) :362 371, 2002.

BIBLIOGRAPHIE 241 [75] G. Taubin. Estimating the tensor of curvature of a surface from a polyhedral approximation. In International Conference on Computer Vision, pages 902 909, 1995. [76] G. Karypis et V. Kumar. Multilevel k-way partitioning scheme for irregular graphs. Journal of Parallel and Distributed Computing, 48(1) :96 129, 1998. [77] E. W. Dijkstra. A note on two problems in connection with graphs. Numerische Mathematik, 1 :269 271, 1998. [78] K. Hormann, B. Lévy, et A. Sheffer. Mesh parameterization : theory and practice. In International Conference on Computer Graphics and Interactive Techniques, pages 1 115, 2007. [79] M. S. Floater et K. Horman. Surface parametrization : a tutorial and survey. Advances in Multiresolution for Geometric Modelling, pages 157 186, 2005. [80] M. Meyer, A. Barr, H. Lee, et M. Desbrun. Generalized barycentric coordinates on irregular polygons. Journal of Graphics Tools, 7(1) :13 22, 2002. [81] M. S. Floater. Parametrization and smooth approximation of surface triangulations. Computer Aided Geometric Design, 14(3) :231 250, 1997. [82] W. H. Press, S. A. Teukolskyand, W. T. Vetterling, et B. P. Flannery. Numerical Recipes in C : The Art of Scientific Computing. Cambridge Press, New York, États-Unis, 2nd edition, 1992. [83] L. A. Piegl et W. Tiller. The NURBS Book. Springer, 1996. [84] B. Gregorski et B. Hamann. Reconstruction of b-spline surfaces from scattered data points. In International Conference on Computer Graphics, page 163, Grenade, Espagne, 2000. [85] M. Eck et H. Hoppe. Automatic reconstruction of B-spline surfaces of arbitrary topological type. In International conference on Computer graphics and interactive techniques, pages 325 334, 1996. [86] M. Preda, M. Steliaros, A. Mignot, M. Han, et P.Gioia. Ad Hoc Group report on online gaming (OLGA). Research Report ISO/IEC JTC1/SC29/WG11, MPEG02/M8783, Shanghai, China, October 2002. [87] K. Shoemake. Animating rotation with quaternion curves. In Annual conference on Computer graphics and interactive techniques, pages 245 254, New York, NY, États- Unis, 1985. [88] D. Pletincks. The Use of Quaternions for Animation, Modelling and Rendering. Springer, New Trends in Computer Graphics,, 1988. [89] E. B. Dam, M. Koch, et M. Lillholm. Quaternions, interpolation and animation. Rapport Technique. DIKU, 1998. [90] L. Vicci. Quaternions and rotations in 3-space : The algebra and its geometric interpretation. Rapport Technique, Chapel Hill, NC, USA, 2001. [91] M. Gleicher. Animation from observation : Motion capture and motion editing. Computer Graphics, 33(4) :51 54, 1999. [92] V.B. Zordan et J.K. Hodgins. Motion capture-driven simulations that hit and react. In ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 89 96, 2002. [93] J. Lee, J. Chai, P.S.A. Reitsma, J.K. Hodgins, et N.S. Pollard. Interactive control of avatars animated with human motion data. In Annual conference on Computer graphics and interactive techniques, pages 491 500, 2002.

242 BIBLIOGRAPHIE [94] A.H. Barr. Global and local deformations of solid primitives. SIGGRAPH Computer Graphics, 18 :21 30, 1984. [95] T.W. Sederberg et S.R. Parry. Free-form deformation of solid geometric models. In Annual conference on Computer graphics and interactive techniques, volume 20, pages 151 160, New York, NY, États-Unis, 1986. [96] J. Lasseter. Principles of traditional animation applied to 3D computer animation. In Annual conference on Computer graphics and interactive techniques, pages 35 44, New York, NY, États-Unis, 1987. [97] S. Coquillart. Extended free-form deformation : a sculpturing tool for 3D geometric modeling. In Annual conference on Computer graphics and interactive techniques, pages 187 196, Dallas, TX, États-Unis, 1990. [98] W.M. Hsu, John F. Hughes, et Henry Kaufman. Direct manipulation of free-form deformations. Computer Graphics, 26(2) :177 184, 1992. [99] R. MacCracken et K.I. Joy. Free-form deformations with lattices of arbitrary topology. In Computer Graphics and Interactive Techniques, pages 181 188, 1996. [100] Y. Ono, B.Y. Chen, T. Nishita, et J. Feng. Free form deformation with automatically generated multiresolution lattices. In IEEE Cyberworlds Conference, pages 472 479, Tokyo, Japan, 2002. [101] T. Boubekeur, O. Sorkine, et C. Schlick. Scalable freeform deformation. In ACM Siggraph 2007 - Sketch Program, 2007. [102] K. Singh et E. Fiume. Wires : a geometric deformation technique. In Annual conference on Computer graphics and interactive techniques, pages 405 414, New York, NY, États- Unis, 1998. [103] S. Yoshizawa, A.G. Belyaev, et H.P. Seidel. A simple approach to interactive free-form shape deformations. In Pacific Conference on Computer Graphics and Applications, pages 471 474, Beijing, China, 2002. [104] S. Zelinka et M. Garland. Mesh modelling with curve analogies. In Pacific Conference on Computer Graphics and Applications, pages 94 98, Seoul, Koré, 2004. [105] A. Nealen, T. Igarashi, O. Sorkine, et M. Alexa. FiberMesh : Designing freeform surfaces with 3D curves. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH), 26(3), 2007. [106] N. Magnenat-Thalmann, R. Laperrière, et D. Thalmann. Joint-dependent local deformations for hand animation and object grasping. In Graphics interface, pages 23 33, 1988. [107] J.E. Chadwick, D.R. Haumann, et R.E. Parent. Layered construction for deformable animated characters. In Annual conference on Computer graphics and interactive techniques, pages 243 252, New York, NY, États-Unis, 1989. [108] R. Turner. LEMAN : a system for constructing and animating layered elastic characters. Academic Press, 1995. [109] D. Thalmann, J. Shen, et E. Chauvineau. Fast realistic human body deformations for animation and VR applications. In Computer Graphics International, pages 166 174, 1996. [110] O. Weber, O. Sorkine, Y. Lipman, et C. Gotsman. Context-aware skeletal shape deformation. Computer Graphics Forum, 26(3) :265 273, 2007.

BIBLIOGRAPHIE 243 [111] F. Lazarus et A. Verroust. 3D metamorphosis : A survey. Visual Computer, 14(8-9) :373 389, 1998. [112] M. Alexa. Recent advances in mesh morphing. Computer Graphics Forum, 21(2) :173 196, 2002. [113] H. Jianwei, W. Guozhao, et L. Ligang. Dual laplacian morphing for triangular meshes. Computer Animation and Virtual Worlds, 18(4-5) :271 277, 2007. [114] S. Redon, N. Galoppo, et M.C. Lin. Adaptive dynamics of articulated bodie. ACM Transaction on Graphics, 24(3) :936 945, 2005. [115] D. Baraff et A. Witkin. Physically based modeling : principles and practice. SIGGRAPH course notes, 1997. [116] N. Foster et R. Fedkiw. Practical animation of liquids. In Annual conference on Computer graphics and interactive techniques, pages 23 30, New York, NY, États-Unis, 2001. [117] H. Noser, O. Renault, D. Thalmann, et N. Magnenat Thalmann. Navigation for digital actors based on synthetic vision, memory and learning. Computers and Graphics, 19(1) :7 19, 1995. [118] C.W. Reynolds. Flocks, herds, and schools : a distributed behavioral model. Computer Graphics, pages 25 34, 1987. [119] Special issue on MPEG-4 s animation framework extension (AFX). IEEE Transactions on Circuits ans Systems for Video Technology, 14(7) :925 1045, 2004. [120] J. Lengyel. Compression of time-dependent geometry. In ACM Symposium on Interactive 3D Graphics, pages 89 96, Atlanta, États-Unis, 1999. [121] E. S. Jang, J. D. K. Kim, S. Y. Jung, M. J. Han, S. O. Woo, et S. J. Lee. Interpolator data compression for MPEG-4 animation. IEEE Transactions on Circuits and Systems for Video Technology, 14(7) :989 1008, 2004. [122] L. Ibarria et J. Rossignac. Dynapack : space-time compression of the 3D animations of triangle meshes with fixed connectivity. In Eurographics Symposium on Computer Animation, pages 126 133, San Diego, États-Unis, 2003. [123] N. Stefanoski et J. Ostermann. Connectivity-guided predictive compression of dynamic 3D meshes. In IEEE International Conference on Image Processing, pages 2973 2976, Atlanta, États-Unis, 2006. [124] J.-H. Yang, C.-S. Kim, et S.-U. Lee. Compression of 3-D triangle mesh sequences based on vertex-wise motion vector prediction. IEEE Transactions on Circuits and Systems for Video Technology, 12(12) :1178 1184, 2002. [125] J. Rossignac. Edgebreaker : Connectivity compression for triangle meshes. IEEE Transactions on Visualization and Computer Graphics, 5(1) :47 61, 1999. [126] N. Stefanoski, P. Klie, X. Liu, et J. Ostermann. Scalable linear predictive coding of time-consistent 3D mesh sequences. In The True Vision - Capture, Transmission and Display of 3D Video, pages 1 4, Kos Island, Grèce, 2007. [127] N. Stefanoski, X. Liu, P. Klie, et J. Ostermann. Layered predictive coding of timeconsistent dynamic 3D meshes using a non-linear predictor. In IEEE International Conference on Image Processing, pages 109 112, San Antonio, États-Unis, 2007. [128] M. Alexa et W. Müller. Representing animations by principal components. Computer Graphic Forum, 3(19) :411 418, 2000.

244 BIBLIOGRAPHIE [129] P.-F. Lee, C.-K. Kao, J.-L. Tseng, B.-S. Jong, et T.-W. Lin. 3D animation compression using affine transformation matrix and principal component analysis. Transactions on Information and Systems, E90-D(7) :1073 1084, 2007. [130] Z. Karni et C. Gotsman. Compression of soft-body animation sequences. Computers and Graphics, 28(1) :25 34, 2004. [131] J. Heu, J.-H. Yang, C.-S. Kim, et S.-U. Lee. Effective quantisation scheme for principal components of 3-D mesh sequences. IEEE Transactions on Electronics Letters, 42(14) :799 800, 2006. [132] J. Heu, J.-H. Yang, C.-S. Kim, et S.-U. Lee. R-D optimized compression of 3-D mesh sequences based on principal component analysis. In CM Southeast Regional Conference archive, pages 68 73, Floride, États-Unis, 2006. [133] V. Libor et S. Václav. Coddyac : Connectivity driven dynamic mesh compression. In 3DTV International Conference : True Vision-Capture, Transmission and Display of 3D Video, Kos Island, Grèce, 2007. [134] M. Sattler, R. Sarlette, et R. Klein. Simple and efficient compression of animation sequences. In Eurographics Symposium on Computer Animation, pages 209 217, Los Angeles, États-Unis, 2005. [135] N. Kambhatla et T. K. Leen. Dimension reduction by local principal component analysis. Neural Computation, 9(7) :1493 1516, 1997. [136] R. Amjoun, R. Sondershaus, et W. Straßer. Compression of complex animated meshes. In Computer Graphics International 2006 Conference, LNCS by Springer, volume 4035, pages 606 613, 2006. [137] R. Amjoun et W. Straßer. Efficient compression of 3D dynamic mesh sequences. In Journal of the WSCG, 2007. to appear. [138] M. Loève. Probability theory. Springer-Verlag, Graduate Texts in Mathematics, 1978. [139] K. K. Karhunen. Über lineare methoden in der wahrscheinlichkeitsrechnung. Ann. Acad. Sci. Fennicae. Ser. A. I. Math.-Phys., (37) :1 79, 1947. [140] A.C. Lopes et M.N. Gamito. Wavelet compression and transmission of deformable surfaces over networks. In Portuguese Computer Graphics Meeting, pages 107 114, Portugal, 2001. [141] E. J. Stollnitz, T. D. DeRose, et David H. Salesin. Wavelets for Computer Graphics : Theory and Applications. Morgan Kaufmann, San Fransisco, États-Unis, 1996. [142] F. Payan et M. Antonini. Temporal wavelet-based geometry coder for 3D animations. Elsevier Computer & Graphics, 31(1) :78 88, 2005. [143] Y. Boulfani et M. Antonini. Scan-based compression of 3D mesh sequences with geometry compensation. In EURASIP 14th EUSIPCO 2006 (CD-ROM), Florence, Italie, 2006. [144] Y. Boulfani-Cuisinaud et M. Antonini. Motion-based geometry compensation for dwt compression of 3D mesh sequence. In IEEE International Conference in Image Processing (CD-ROM), Texas,États-Unis, 2007. [145] Y. Boulfani, M. Antonini, et F. Payan. Motion-based mesh clustering for mcdwt compression of 3D animated meshes. In EURASIP 14th EUSIPCO 2007 (CD-ROM), Poznan, Poland, 2007. [146] Y. Boulfani, M. Antonini, et F. Payan. Temporal wavelet-based compression of 3D animated meshes using motion-based clustering. In 5ème édition des ateliers de travail sur le Traitement et l Analyse de l Information : Méthodes et Applications, pages 341 348, Hammamet, Tunisie, 2007.

BIBLIOGRAPHIE 245 [147] J.-H. Yang, C.-S. Kim, et S.-U. Lee. Progressive compression of 3D dynamic sequences. In IEEE International Conference on Image Processing, pages 1975 1978, Singapore, 2004. [148] J.-H. Yang, C.-S. Kim, et S.-U. Lee. Semi-regular representation and progressive compression of 3-D dynamic mesh sequences. IEEE Transactions on Image Processing, 15(9) :2531 2544, 2006. [149] D.Zorin, P. Schröder, et W. Sweldens. Interpolating subdivision for meshes with arbitrary topology. In International Conference on Computer Graphics and Interactive Techniques, pages 189 192, New York, États-Unis, 1996. [150] M. Garland et P. S. Heckbert. Surface simplification using quadric error metrics. In Annual conference on Computer graphics and interactive techniques, pages 209 216, New York, NY, États-Unis, 1997. [151] J. M. Shapiro. Embedded image coding using zerotrees of wavelet coefficients. IEEE Transactions on Signal Processing, 41(12) :3445 3462, 1993. [152] I. Daubechies, I. Guskov, P. Schröder, et W. Sweldens. Wavelets on irregular point sets. Royal Society Typescript, 357(1760) :2397 2413, 1999. [153] I. Guskov et A. Khodakovsky. Wavelet compression of parametrically coherent mesh sequences. In Eurographics Symposium on Computer Animation, pages 183 192, Grenoble, France, 2004. [154] J.W. Cho, M.S. Kim, S. Valette, H.Y. Jung, et R. Prost. 3D dynamic mesh compression using wavelet-based multiresolution analysis. In IEEE International Conference on Image Processing, pages 529 532, Atlanta, États-Unis, 2006. [155] S. Gupta, K. Sengupta, et A. Kassim. Compression of dynamic 3D geometry data using iterative closest point algorithm. Computer Vision and Image Understanding Archive, 87(1-3) :116 130, 2002. [156] B. Hendrickson et R. Leland. A multilevel algorithm for partitioning graphs. Rapport Technique SAND93-1301, 1995. [157] S. Gupta, K. Sengupta, et A. Kassim. Registration and partitioning-based compression of 3-D dynamic data. IEEE Transactions on Circuits and Systems for Video Technology, 13(11) :1144 1155, 2003. [158] G. Collins et A. Hilton. A rigid transform basis for animation compression and level of detail. In Vision, Video, and Graphics, pages 21 28, Édimbourg, Royaume-Uni, 2005. [159] R. Amjoun et W. Straßer. Predictive-spectral compression of dynamic 3D meshes. In 2nd International Conference on Computer Graphics Theory (Grapp), 2007. to appear. [160] J.-H. Ahn, C.-S. Kim, C.-C.J. Kuo, et Y.-S. Ho. Motion-compensated compression of 3D animation models. IEEE Electronics Letters, 37(24) :1445 1446, 2001. [161] J. Zhang et C.B. Owen. Octree-based animated geometry compression. In IEEE Data Compression Conference, pages 508 517, Snowbird, États-Unis, 2004. [162] K. Müller, A. Smolic, M. Kautzner, P. Eisert, et T. Wiegand. Predictive compression of dynamic 3D meshes. In IEEE International Conference on Image Processing, pages 621 624, Genève, Suisse, 2005. [163] K. Müller, A. Smolic, M. Kautzner, P. Eisert, et T. Wiegand. Rate-distortion optimization in dynamic mesh compression. In IEEE International Conference on Image Processing, pages 533 536, Atlanta, États-Unis, 2006.

246 BIBLIOGRAPHIE [164] M. Yuen et H. R. Wu. A survey of hybrid MC/DPCM/DCT video coding distortions. Signal Processing, 70(3) :247 278, 1998. [165] K. Ladislav. Real-time Skeletal Animation. PDH Thesis, Czech Technical University, 2007. [166] D. L. James et C. D. Twigg. Skinning mesh animations. ACM Transactions on Graphics, 24(3) :399 407, 2005. [167] R. Xu et D. Wunsch. Survey of clustering algorithms. Neural Networks, 16(3) :645 678, 2005. [168] A. Shamir. A survey on mesh segmentation techniques. Neural Networks, 2008 (à paraître). [169] A. Shamir. A formulation of boundary mesh segmentation. In International Symposium on 3D Data Processing, Visualization, and Transmission, pages 82 89, Caroline du Nord, NC, États-Unis, 2004. [170] V. Jain, H. Zhang, et O.V. Kaick. Non-rigid spectral correspondence of triangle meshes. International Journal on Shape Modeling, 13(1) :101 124, 2007. [171] Y. Lee, S. Lee, A. Shamir, D. Cohen-Or, et H.-P. Seidel. Intelligent mesh scissoring using 3D snakes. In Computer Graphics and Applications, pages 429 436, Seoul, Corée, 2004. [172] R. Liu et H. Zhang. Segmentation of 3D meshes through spectral clustering. In Computer Graphics and Applications, pages 298 305, Seoul, Corée, 2004. [173] A. Shamir, L. Shapira, et D. Cohen-Or. Mesh analysis using geodesic mean-shift. International Journal of Computer Graphics archive, 22(2) :99 108, 2006. [174] Z. Yan, S. Kumar, et C.-C. J. Kuo. Error-resilient coding of 3-d graphic models via adaptive mesh segmentation. IEEE Transactions on Circuits and Systems for Video Technology, 11(7) :860 873, 2001. [175] D. Comaniciu et P. Meer. Mean shift : A robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(5) :603 619, 2002. [176] J. M. Peña, J. A. Lozano, et P. Larrañaga. An empirical comparison of four initialization methods for the k-means algorithm. Pattern Recognition Letters, 20(10) :1027 1040, 1999. [177] F. Pereira et T. Ebrahimi. The MPEG-4 book. Springer-Verlag, Graduate Texts in Mathematics, 2002. [178] K. Zhou, J. Snyder, B. Guo,, et H. Y. Shum. Iso-charts : Stretch-driven mesh parameterization using spectral analysis. In Eurographics Symposium on Geometry Processing, pages 45 54, Nice, France, 2004. [179] I. Amidror. Scattered data interpolation methods for electronic imaging systems : a survey. Journal of Electronic Imaging, 11(2) :157 176, 2002. [180] R. Calderbank, I. Daubechies, W. Sweldens, et B.-L. Yeo. Wavelet transforms that map integers to integers. Applied and Computational Harmonic Analysis, 5(3) :332 369, 1998. [181] D. Marpe, H. Schwarz, et T. Wiegand. Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard. IEEE Transactions on Circuits and Systems for Video Technology, 13(7) :620 636, 2003. [182] C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27 :379 423 and 623 656, 1948. [183] E. W. Dijkstra. A Short Introduction to the Art of Programming. T. H. Eindhoven, 1971.

BIBLIOGRAPHIE 247 [184] M.R. Garey et D.S. Johnson. Computers and Intractability : A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, 1979. [185] W. Sweldens. Wavelets and the lifting scheme : A 5 minute tour. Zeitschrift für Angewandte Mathematik und Mechanik, 76(2) :41 44, 1996. [186] H. Gish et J. Pierce. Asymptotically efficient quantizing. IEEE Transactions on Information Theory, 14(5) :676 683, 1968. [187] Y. Shoham et A. Gersho. Efficient bit allocation for an arbitrary set of quantizers. IEEE Transactions on Signal Processing, 36(9) :1445 1453, 1988. [188] R. Sedgewick et P. Flajolet. An Introduction to the Analysis of Algorithms. Addison- Wesley, 1996. [189] H. Schwarz et D. Marpe T. Wiegand. Overview of the scalable video coding extension of the H.264/AVC standard. IEEE Transactions on Circuits and Systems for Video Technology, 17(9) :1103 1120, 2007. [190] K. Mamou, T. Zaharia, B. Ivanova, M. Preda, F. Prêteux, B. Meaujean, J. Gaillard, et O. Marre. Results of core experiment ce1 on mesh animation compression : skinning-based dynamic mesh compression. In IISO/IEC JTC 1/SC 29/WG 11/M14197, Marakech, Morocco, Janvier 2007. [191] K. Mamou, T. Zaharia, F. Prêteux, A. Kamoun, F. Payan, et M. Antonini. Two optimizations of the MPEG-4 FAMC standard for enhanced compression of animated 3D meshes. In IEEE International Conference on Image Processing (ICIP 2008), page à paraître, 2008. [192] ISO/IEC 14496-11 :2005 Information technology, Coding of audio-visual objects, Part 11 : Scene description and application engine. Décembre 2005.

Résumé Les contenus 3D statiques et dynamiques sont aujourd hui exploités àgrandéchelle dans le cadre d applications multimédias professionnelles et grand public (Conception Assistée par Ordinateur, télé-médecine, jeux vidéos, films d animation 3D...). Pour des raisons d interopérabilité multi-plateformes, de généralité ouencoredeprotec- tion de la propriété intellectuelle, ces contenus sont le plus souvent représentés sous forme de maillages 3D, statiques ou dynamiques. L inconvénient majeur de cette représentation est lié aux coûts importants de stockage et de transmission, ce qui nécessite d élaborer des outils de compression efficace optimisés pour ce type de contenus. Cette thèse propose quatre approches originales de compression de maillages 3D : deux concernent les modèles statiques et les deux autres les modèles dynamiques. En outre, une méthode de segmentation au sens du mouvement d un maillage 3D animé est également développée. La première méthode, appelée TFAN (Triangle Fan-based compression), vise à assurer une représentation 3D compacte, sous une contrainte de basse complexité de calcul au niveau du décodeur. Validée sur le corpus CAO du projet RNRT SEMANTIC-3D, la méthode TFAN se montre particulièrement efficace pour la compression de maillages 3D de topologies arbitraires. Elle offre des gains significatifs en termes de taux de compression (6 à33%)etdetempsde décodage (de l ordre de 50%), par rapports aux méthodes de l état de l art. Le codeur TFAN aété récemment (Avril 2008) retenu par le standard ISO/MPEG-4 pour une normalisation future. La deuxième approche est dédiée au codage des maillages 3D denses comme ceux issus des scanners 3D. Elle exploite une approximation (sans perte de connectivité) par surfaces B- Splines, couplée à un codage JPEG2000. Elle offre des performances de compression efficaces àbasdébit tout en assurant la fonctionnalité de scalabilité en qualité. La troisième technique, appelée MCGV (Multi-Chart Geometry Video), traite de la compression de maillages 3D dynamiques. MCGV exploite une représentation sous forme d images géométriques 2D, compressée par les codeurs standardisés JPEG ou MPEG-4. L approche MCGV assure de hautes performances de compression à bas débit et des fonctionnalités avancées de streaming, de scalabilité temporelle et en qualité. Enfin, la quatrième contribution de cette thèse concerne la méthode de compression dite FAMC (Frame-based Animated Mesh Compression), fondée sur une stratégie de compensation du mouvement 3D par modèledepeau(skinning). FAMC s appuie sur un algorithme de segmentation de maillages 3D au sens du mouvement. Cet algorithme permet de déterminer automatiquement et sous contrainte d erreur moyenne de compensation de mouvement, une partition d un modèle 3D en parties ayant des mouvements quasi-affines. En raison de ses hautes performances de compression et de l ensemble des fonctionnalités supportées, FAMC est promu dans le standard ISO/MPEG-4 en tant qu amendement 2 de la partie 16 - AFX.