Brevet FR2897184A1 — publié le 20070810

Procédé d'attribution et procédé d'animation des sommets d'un maillage en fonction de sommets caractéristiques La présente invention concerne de manière générale le domaine du traitement d'images, et en particulier l'animation de scènes graphiques. De plus, l'invention est axée principalement sur l'animation faciale de personnages en trois dimensions, mais son procédé est aussi utilisable sur tout autre type de scène graphique en trois dimensions. Plus précisément l'invention porte sur un procédé qui permet de définir automatiquement une zone de sommets à animer, et de modifier leurs positions en fonction des déplacements d'un ensemble de sommets caractéristiques. Dans les moteurs d'animation actuels, l'animation du visage d'un personnage en trois dimensions nécessite le plus souvent, dans une phase d'initialisation de ces moteurs d'animation, la définition de zones d'influence sur différentes parties du visage. Par exemple pour les procédés d'animation utilisant un modèle musculaire du visage à animer, il est nécessaire de définir la zone d'influence du muscle de la lèvre supérieure sur le maillage du visage. Ainsi les sommets du maillage se trouvant dans cette zone d'influence seront déplacés de manière similaire à la déformation qui serait provoquée par ce muscle sur la partie du visage correspondante. Il est donc nécessaire, pour chaque muscle du visage, de déterminer les sommets appartenant à sa zone d'influence. Cette étape d'attribution de sommets du maillage à des zones d'influence est effectuée soit manuellement, soit de manière automatique. Les méthodes manuelles d'attribution de sommets du maillage imposent un temps de préparation des modèles de visages en trois dimensions à animer assez long. Il est en effet néc e définir toutes ies zones d'influence manuellement et ceci pour chaque nouveau modèle de visage. Les méthodes automatiques d'attribution de sommets du maillage permettent d'améliorer sensiblement ce temps de préparation, et utilisent des sommets caractéristiques du maillage, tels que les sommets caractéristiques "Feature Points" de la norme "Motion Picture Expert Group 4" (MPEG-4). Elles sont basées sur des méthodes métriques, par exemple: - tous les sommets distants d'un certain nombre d'arêtes du maillage depuis un sommet caractéristique appartiennent à une zone d'influence particulière, ou tous les sommets distants depuis un sommet caractéristique d'une distance dite d'influence appartiennent à une zone d'influence particulière. Néanmoins la première méthode métrique présente l'inconvénient de dépendre de la densité du maillage du modèle de visage utilisé. De plus les première et deuxième méthodes métriques présentent l'inconvénient de dépendre de la morphologie du visage à animer pour déterminer quelle est la distance d'influence à respecter. En effet sur un visage où les lèvres sont très proches du nez par exemple, si la zone d'influence autour des lèvres est trop grande, elle fera déformer le nez qui devrait pourtant être indépendant de cette zone d'influence. La présente invention a pour but de résoudre les inconvénients de la technique antérieure en fournissant un procédé et un dispositif d'attribution des sommets d'un maillage à des zones d'influence en fonction de plusieurs sommets caractéristiques, ainsi qu'un procédé et un dispositif d'animation des sommets du maillage ainsi attribués. A cette fin, l'invention propose un procédé d'attribution de sommets d' maillage comportant des sommets caractéristiques à des zones d'influence, caractérisé en ce qu'une desdites zones ., .e.1ce est associée à trois sommets caractéristiques, et en ce que ledit procédé comporte une étape d'attribution desdits sommets à des angles solides construits à partir desdits sommets caractéristiques, lesdits angles solides caractérisant lesdites zones d'influence. Ce procédé d'attribution a l'avantage d'être automatique et de ne pas dépendre de la densité du maillage. De plus il tient compte de la morphologie, lorsque le maillage représente un visage. En effet les sommets attribués sont contenus dans des zones définies par plusieurs sommets caractéristiques. Ces sommets caractéristiques sont en général des sommets normalisés, configurés à l'avance sur des maillages de visages très différents compatibles avec la norme MPEG-4. Les zones dans lesquelles sont contenus les sommets attribués sont donc fonction de la morphologie du visage à animer. Selon une caractéristique préférée, ledit procédé comporte en outre une étape de construction de repères locaux audit maillage, associés auxdits angles solides. Cette étape supplémentaire permet au procédé d'attribution de sommets selon l'invention de s'intégrer dans un procédé d'animation du maillage utilisant les coordonnées locales des sommets attribués à des zones d'influence. Selon une autre caractéristique préférée, lesdits sommets caractéristiques comportent des sommets caractéristiques prédéterminés et des sommets caractéristiques additionnels, les coordonnées desdits sommets caractéristiques additionnels étant définies par une combinaison linéaire des coordonnées desdits sommets caractéristiques prédéterminés. L'ajout de sommets caractéristiques additionnels permet de construire une triangulation couvrant l'ensemble du visage, lorsque le maillage représente un visage. Etant définis en fonction de sommets caractéristiques normalisés selon la norme MPEG-4, leur positionnement sur le visage ne nécessite pas d'intervention manuelle. De plus leurs déplacements sont calculés en fonction de ceux des sommets caractéristiques normalisés, ce qui permet de travailler à partir de flux de données de mouvements de sommets caractéristiques normalisés seulement. Selon une autre caractéristique préférée du procédé d'attribution de sommets d'un maillage selon l'invention, l'étape d'attribution attribue lesdits sommets auxdits angles solides en fonction de l'appartenance desdits sommets auxdits angles solides et en fonction de l'appartenance desdits sommets à des zones de maillage prédéterminées. La prise en compte de l'appartenance des sommets du maillage à des zones prédéterminées permet d'améliorer le procédé lorsque le maillage comporte des zones distinctes très découpées comme les lèvres de la bouche d'un visage. En effet les sommets caractéristiques ne découpant pas précisément ce type de zones, l'attribution des sommets à des zones d'influence s'appuie dans ce cas sur des données supplémentaires à celles des sommets caractéristiques. Selon une autre caractéristique préférée, ladite étape d'attribution du procédé d'attribution selon l'invention est réitérée aux sommets non attribués lors de ladite étape d'attribution, en élargissant lesdits angles solides. Cette réitération légèrement différente de l'étape d'attribution permet au procédé de fonctionner lorsque le maillage comporte des zones non couvertes par la triangulation basée sur les sommets caractéristiques, comme par exemple l'ouverture de la bouche d'un visage. Elle permet également d'attribuer un sommet non attribué précédemment s'il appartenait à une zone prédéterminée du visage incompatible avec l'angle solide dans lequel il était contenu. L'invention concerne aussi un procédé d'animation de sommets d'un maillage comportant des sommets caractéristiques, caractérisé en ce qu'il comporte: une phase d'initialisation dans laquelle on attribue lesdits sommets à des repères locaux audit maillage en utilisant le procédé d'attribution selon .:. n, et dans laquelle on calcule les coordonnées locales desdits sommets dans lesdits repères, et une phase d'exécution comportant les étapes de: -mise à jour des coordonnées globales desdits sommets caractéristiques suite à un mouvement, - mise à jour des caractéristiques desdits repères locaux en fonction desdites coordonnées globales ainsi mises à jour, calcul des coordonnées globales des sommets en utilisant lesdites coordonnées locales des sommets dans lesdits repères locaux mis à jour. Par rapport aux procédés d'animation utilisant les procédés d'attribution de l'art antérieur, ce procédé d'animation ne nécessite pas de gestion spécifique des influences de plusieurs sommets caractéristiques sur un même sommet. En effet dans les procédés d'animation actuels les influences, ou déplacements engendrés par deux sommets caractéristiques, sur un même sommet du maillage, doivent être combinées afin d'obtenir, par pondération, le déplacement final de ce sommet du maillage. Dans le procédé d'animation selon l'invention cette gestion n'est pas nécessaire, le déplacement des sommets étant effectué en fonction de ceux des sommets caractéristiques par des cha _ l nts de repères. Selon une caractéristique préférée du procédé d'animation selon l'invention, l'étape de mise à jour des caractéristiques desdits repères locaux se fait à volume constant. Cette préservation du volume du maillage pendant l'animation permet de rendre celle-ci plus réaliste, notamment lorsque le maillage représente un visage, elle permet de simuler l'aplatissement de la surface de la peau lorsque celle-ci est étirée. L'invention concerne encore un moteur d'animation mettant en oeuvre le procédé d'attribution selon l'invention, ou le procédé d'animation selon l'invention. L'invention concerne également un dispositif mettant en oeuvre le procédé d'attribution selon l'invention, ou le procédé d'animation selon l'in ie L'invention concerne enfin un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé d'attribution ou le procédé d'animation selon l'invention, lorsqu'il est exécuté sur un ordinateur. Le dispositif, le moteur d'animation et le programme présentent des avantages analogues à ceux des procédés. D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation préférés décrits en référence aux figures dans lesquelles: - la figure 1 représente les étapes de la phase d'initialisation du procédé d'animation selon l'invention, - la figure 2 représente une triangulation effectuée sur un visage en trois dimensions à l'aide de sommets caractéristiques, - la figure 3 représente un angle solide associé à un triangle formé par des sommets caractéristiques, - la figure 4 représente une triangulation formée sur le maillage de la bouche d'un visage en trois dimensions, - la figure 5 représente un repère local formé de trois sommets caractéristiques, - la figure 6 représente les étapes de la phase d'exécution du procédé d'animation selon l'invention, - la figure 7 représente un volume associé à un repère local, - la figure 8 représente un volume associé au même repère local mis à jour pendant la phase d'exécution du procédé selon l'invention. Selon un mode de réalisation de l'invention, le procédé d'attribution de sommets selon l'invention est utilisé par le procédé d'animation selon l'invention, lui-même implémenté dans un moteur d'animation de manière logicielle. Le procédé d'animation est utilisé, dans cet exemple de réalisation, sur un maillage de visage en trois dimensions. Il comporte deux phases, une phase d'initialisation pendant laquelle on attribue les sommets de ce maillage à des zones d'influence, et une phase d'exécution pendant laquelle le programme implémentant le procédé selon l'invention reçoit des données de capture de mouvement permettant d'animer le visage en trois dimensions. Les étapes de la phase d'initialisation du procédé d'animation selon l'invention sont représentées à la figure 1. L'étape al est la lecture d'un fichier de configuration stocké dans le moteur d'animation, contenant: - la position dans le maillage du visage en trois dimensions des sommets caractéristiques normalisés SCN définis par la norme MPEG-4, des données permettant de créer des sommets caractéristiques additionnels SCA, ainsi qu'une triangulation de ces sommets caractéristiques SCN et SCA. En effet, les sommets caractéristiques SCN décrits dans la norme MPEG-4 ne permettent pas de construire une triangulation qui couvre l'ensemble du visage. A, des sommets caractéristiques additionnels SCA sont définis à partir de ces sommets caractéristiques normalisés SCN, afin de couvrir l'ensemble du visage par triangulation. L'étape a2 est le calcul de la position de ces sommets caractéristiques additionnels SCA, ainsi que la création d'une triangulation du visage en trois dimensions, à partir des données lues dans le fichier de configuration à l'étape al. Dans la suite, sommets caractéristiques normalisés SCN et sommets caractéristiques additionnels SCA sont regroupés sous le terme de sommets caractéristiques SC, dont une représentation de la triangulation sur le visage vu de face est donnée à la figure 2. Chacun de ces sommets caractéristiques SC est repéré dans le repère global orthonormé RG d'origine OR et d'axes x, y et z. Dans cette étape a2, un sommet caractéristique additionnel SCA est construit à partir d'une pondération entre des sommets caractéristiques SC, de la façon suivante : XSCA ù aX.xsc + YSCA = ay -Y SCk + // 'Y SC, ZSCA ù a_ .ZSC,n + Nz'ZSCä où : - XSCA est l'abscisse suivant l'axe x du sommet caractéristique SCA, - YSCA est l'ordonnée suivant l'axe y du sommet caractéristique SCA, - zscA est la hauteur suivant l'axe z du sommet caractéristique SCA, ax et /3ä sont des coefficients de pondération suivant l'axe x pour ce sommet caractéristique SCA, - ay et /3s, sont des coefficients de pondération suivant l'axe y pour ce sommet caractéristique SCA, - aZ et /3Z sont des coefficients de pondération suivant l'axe z pour ce sommet caractéristique SCA, - et SC;, SCA, SCk, SC1, SC,,,, SC, sont des sommets caractéristiques SC prédéterminés, qui peuvent être des sommets caractéristiques normalisés SCN ou des sommets caractéristiques additionnels SCA calculés précédemment. Les notations xscA, Ysca, et zsca désignent respectivement l'abscisse, l'ordonnée et la hauteur d'un de ces sommets caractéristiques SC, a désignant i, j, k, I, m ou n, dans le repère global RG. En variante, un sommet caractéristique additionnel SCA est construit à partir d'une pondération entre plus de deux sommets caractéristiques SC par composante x, y ou z. Les sommets caractéristiques SCA ainsi calculés et les sommets caractéristiques SCN permettent à cette étape a2 de construire la triangulation TT, décrite dans le fichier de configuration, du visage en trois dimensions VIS. II est à noter que la triangulation TT ainsi obtenue est une triangulation grossière reconstituée à partir du fichier de configuration, et qui se distingue de la triangulation classique beaucoup plus fine des sommets du maillage du visage en trois dimensions afin d'en faire le rendu. L'étape a3 est l'attribution des sommets du maillage du visage en trois dimensions VIS à des angles solides dont la construction est basée sur la triangulation TT construite à l'étape a2. Cette étape d'attribution nécessite tout d'abord l'exécution d'algorithmes de prétraitement du maillage, ou de détection, permettant de déterminer certaines zones du visage et d'associer les sommets du maillage à des zones déterminées. Par exemple un algorithme de détection des lèvres supérieure et inférieure du visage permet de distinguer les sommets appartenant à la partie haute de la mâchoire de ceux appartenant à la partie basse de la mâchoire. Un tel algorithme est décrit dans la thèse de Gaspard Breton de novembre 2002, intitulée "Animation de Visages 3d parlants pour nouveaux IHM et services de télécommunications" et réalisée à France Télécom. D'autres algorithmes de détection, par exemple pour détecter le contour des yeux et des paupières, sont également exécutés. Ce prétraitement du maillage permet dans la suite d'éviter que les attributions de sommets permettant l'animation du visage en trois dimensions soient erronées. L'animation du visage en trois dimensions nécessite en effet une attribution fine des sommets du maillage. Des plans de coupe sont ensuite construits à partir des sommets caractéristiques SC et d'un sommet origine SCA0, représenté à la figure 2. Bien que seule la face du visage en trois dimensions VIS soit représentée à la figure 2, la triangulation TT du visage VIS s'étend aussi sur les profils de la tête de l'avatar associée à ce visage VIS. Le sommet origine SCAo est choisi, dans ce mode de réalisation du procédé selon l'invention, au centre de la tête associée au visage VIS. D'autres positions du sommet origine SCA0, voire plusieurs somt.::t :s crigines, sont utilisables par le procédé selon l'invention, le rôle de ce sommet origine étant simplement de former des angles solides à l'aide de plans de coupe, comme décrit ci-après. Le sommet origine SCA0 est calculé de la façon suivante: 1 1 XSCAO = XscNI0.9 2 XSCNIO.IO 1 1 Y sc4o = 2 Ysovw + YscNw 1. 1 SCA o 2 z 0.9 + 2 SCNIO.IO où XSCAO, XSCN10.9 et XSCN1 0.10 sont les coordonnées suivant l'axe x respectivement du sommet origine SCA0, du sommet caractéristique SCN10.9 et du sommet caractéristique SCNI0.10 dans le repère global RG, YSCAO, YSCN10.9 et YSCN10.10 sont les coordonnées suivant l'axe y respectivement du sommet origine SCA0, du sommet caractéristique SCN10.9 et du sommet caractéristique SCN10.10 dans le repère global RG, et ZSCAO, ZSCN10.9 et ZSCN10,10 sont les coordonnées suivant l'axe z respectivement du sommet origine SCA0, du sommet caractéristique SCNI0. 9 et du sommet caractéristique SCN10.10 dans le repère global RG. Les sommets caractéristiques SCNI0,9 et SCN10.10 sont ceux issus de la norme MPEG-4. Les plans de coupe sont construits à partir du sommet origine SCAo et de la triangulation TT de la manière représentée à la figure 3. Dans cette figure pour simplifier seuls les plans de coupe PI1, PI2, PI3 associés à trois sommets caractéristiques SC1, SC2 et SC3 formant un triangle T de la triangulation TT sont représentés. Cependant dans cette étape a3 on construit pour chaque triangle de la triangulation TT, tous les plans de coupe associés. Ainsi pour le triangle T: - le plan de coupe Pli est défini comme contenant les sommets d'origine et caractéristiques SCA0, SOI et SC2, - le plan de coupe PI2 est défini comme contenant les sommets d'origine et caractéristiques SCAo, SC2 et SC3, - le plan de coupe PI3 est défini comme contenant les sommets d'origine et caractéristiques SCA0, SC1 et SC3. Les plans de coupe PI1, PI2 et PI3 ainsi définis forment un angle solide P ayant pour origine SCA0. Un sommet S du maillage du visage en trois dimensions VIS est contenu dans l'angle solide P, s'il répond à la condition suivante : an .xs + bn.ys + cc, .zs + dc, > 0 ac-2.xs +bc2. Ys + cc2 .zs + dc!2 > 0 ac3.xs +bc,.ys +cc3.zs + dc3 > 0 où les coefficients ac, !Da, cc, da , i étant un entier variant de 1 à 3, sont les coefficients du plan de coupe Pli, et xs, ys et zs sont respectivement l'abscisse, l'ordonnée et la hauteur du sommet S dans le repère RG. Pour chaque plan Pli, ces coefficients sont calculés à l'aide d'un produit vectoriel de la façon suivante : acl = (SCA0 SC,' A SCA0 SC2 ). i ace = (SCA0 SC2 A SCA, SC3 ). c = (sc0sc;A SCAoSC2). j bc, = (scA0sc; A SCAoSC3) • j = (ScA0SC; SCAo SCz) • k cc, = (SCA0 SC; A SCAoSC3 . k (ln = SCAo SC: A SCA0 SC2 )oR SCA0 d c 2 ù(SCAoSC; SCAoSC;)ORSCA0 (0 kù 0 ,et où 1 ..) ac3 = (SCAoSC, SCA,SC, ). i bc3 = (SCAuSC3 A SCAoSCI j = (scA0sc; A SCAoSC, ). k 3 = ù(SCAo SC; A SCAoSCI )ORSCA0 "A" est l'opérateur produit vectoriel et " l'opérateur produit scalaire. o avec = , = ~1 o Si le sommet S est contenu dans l'angle solide P, c'est-à-dire qu'il vérifie la condition ci-dessus, et que le sommet S appartient à une zone du visage compatible avec l'angle solide P, alors on attribue le sommet S à cet angle solide P. En effet, le prétraitement du maillage effectué au début de l'étape a3 permet d'éviter des attributions erronées, certaines zones du visage étant incompatibles avec certains angles solides. Ainsi, le sommet SH de la figure 4 appartient à la zone haute de la mâchoire car il est sur la lèvre supérieure du visage. Avec la seule condition d'appartenance à l'angle solide passant par le triangle Th, le sommet SH serait animé avec la lèvre inférieure, alors qu'il fait partie de la lèvre supérieure. Son rattachement à la zone supérieure de la mâchoire avant l'attribution des sommets du maillage aux angles solides permet d'éviter cette attribution erronée. Les triangles de la triangulation TT se voient ainsi attribuer un ensemble de zones dans lesquelles la condition d'appartenance à l'angle solide correspondant est autorisée pour attribuer un sommet de cet ensemble de zones à cet angle solide. Dans l'exemple de la figure 4, le triangle Ti est associé à la zone inférieure de la mâchoire, tandis que le triangle Tk est associé à la zone supérieure de la mâchoire. Après l'exécution de tests d'appartenance analogues à celui décrit ci- dessus pour l'angle solide P, pour chaque angle solide sur les sommets du maillage à attribuer, certains sommets restent non attribués. Par exemple, le sommet SB de la figure 4 n'est attribué à aucun angle solide, car il est à l'extérieur de tous les angles solides construits à partir de la triangulation TT. En effet, certains endroits du maillage présentent des ouvertures, comme les contours extérieurs des lèvres, qui ne coïncident pas avec la triangulation TT, laissant des sommets isolés. De plus, le sommet SH cité plus haut n'est attribué à aucun angle solide car l'angle solide auquel il appartient n'est pas compatible avec la zone du maillage dans laquelle il se trouve. Afin de remédier à ce problème de non-attribution de certains sommets du maillage du visage en trois dimensions, les conditions d'appartenance aux angles solides construits plus haut à l'aide de la triangulation TT et du sommet d'origine SCA0 sont revérifiées en élargissant légèrement ces angles solides, pour les sommets non encore attribués. Par exemple pour l'angle solide P de la figure 3, on vérifie la condition d'appartenance suivante sur un sommet S non attribué: aC1 ..fis + bci .Ys + cc, .z s + de > aC2 .xs + bC1'Ys + CC2 .ZS + dC2 > -6 aG3 .xs + bC3 'Ys + CC3 .ZS + d c3 > -8 où xs, ys, zs sont les coordonnées du sommet S, les coefficients ac;, bc;,cc;,dci, i étant un entier variant de 1 à 3, sont ceux définis plus haut, et 8 est une distance de relaxation qui est choisie par exemple proportionnellement à la taille du triangle T de la triangulation TT correspondant à l'angle solide P. Si cette condition est vérifiée, le sommet S est attribué à l'angle solide P. Cette deuxième série de tests d'appartenance permet d'attribuer tous les sommets du maillage du visage en trois dimensions VIS à un angle solide approprié, construit à partir de trois sommets caractéristiques SC. Ainsi à la figure 4, l'élargissement de l'angle solide passant par le triangle Tk en un angle solide passant par le triangle T, permet d'attribuer le sommet SH à l'angle solide associé au triangle Tk. De même l'élargissement de l'angle solide passant par le triangle Ti en un angle solide passant par le triangle Ti permet d'attribuer le sommet Ss à l'angle solide associé au triangle Ti. En variante, au lieu de réitérer l'étape d'attribution des sommets en utilisant des angles solides élargis, on résout différemment le problème de non-attribution des sommets: chaque sommet non attribué est attribué à l'angle solide le plus proche de ce sommet et compatible avec la zone prédéterminée à laquelle appartient ce sommet. A la fin de l'étape a3, tous les sommets du maillage du visage en trois dimensions VIS sont attribués à des angles solides distincts, et ainsi à des zone:_ f_uence distinctes. Les sommets attribués à un même angle solide appartiennent à une même zone d'influence, caractérisée par cet angle solide, lui-même attaché à un triangle de sommets caractéristiques SC de la triangulation TT. L'étape a4 est la construction de repères locaux attachés à ces angles solides, c'est-à-dire aux triangles de sommets caractéristiques SC par lesquels passent ces angles solides. Les sommets attribués à un angle solide et donc à un triangle de sommets caractéristiques SC seront ainsi associés chacun à un repère local au maillage du visage en trois dimensions VIS. Pour cela, pour chaque triangle de la triangulation TT, on construit deux vecteurs distincts formés de sommets caractéristiques SC de ce triangle, et un troisième vecteur qui est le produit vectoriel des deux précédents. Le repère local associé au triangle est défini par ces trois vecteurs et a pour origine le sommet caractéristique commun aux deux premiers vecteurs. Ainsi pour le triangle T de la figure 5, on construit les vecteurs BI, B2 et B3 formant le repère local [BI B2 B3], d'origine SC1, de la manière suivante: B, = SC, SC2 , Bz = SC1SC3 , B3 = SC, SC2 A SC1SC3 L'étape a5 est le calcul des coordonnées locales des sommets du maillage du visage en trois dimensions VIS dans leurs repères locaux associés, à partir de leurs coordonnées globales dans le repère global RG. Une façon d'effectuer ce changement de repère est décrite ci-dessous en prenant pour exemple le sommet S de la figure 5: =[B, B, u v Txs xsci 11 Ys Ysci zs- -Zscl J) Oë - u, v, w sont respectivement l'abscisse, l'ordonnée et la hauteur du sommet S dans son repère local [BI B2 B3], -xs, ys, zs sont respectivement l'abscisse, l'ordonnée et la hauteur du sommet S dans le repère global RG, et xsci, ysci, zsci sont respectivement l'abscisse, l'ordonnée et la hauteur du sommet caractéristique SC1 dans le repère global RG. A la fin de la phase d'initialisation, les données des repères locaux, ainsi que les coordonnées locales des sommets du maillage du visage en trois dimensions sont stockées en mémoire dans le moteur d'animation. Ces coordonnées locales initiales sont utilisées pendant la phase d'exécution pour animer le visage en trois dimensions. L'animation du visage en trois dimensions est basée sur des séquences de capture de mouvements. Ces séquences sont par exemple obtenues grâce à un système de capture vidéo utilisant des marqueurs collés sur le visage d'une personne physique, permettant de copier ses expressions. Ces séquences permettent de déterminer les déplacements successifs des sommets caractéristiques SCN du visage afin de reproduire des expressions. D'autres mécanismes permettent de déterminer les déplacements des sommets caractéristiques SCN afin de produire une animation, par exemple à partir du texte que l'on veut faire prononcer au visage en trois dimensions à animer. Une possibilité dans ce cas est d'associer à chaque phonème, dans la phase d'initialisation, des vecteurs de déplacement des sommets caractéristiques normalisés SCN correspondant à la forme de la bouche du visage en trois dimensions permettant de prononcer ce phonème. Pendant la phase d'exécution, à la réception d'un flux de phonèmes, ceux-ci sont alors mis en correspondance avec les déplacements des sommets caractéristiques SCN associés et créent un flux de données qui permettent d'animer le visage en trois dimensions. Ces séquences de capture de mouvements ou ces flux de phonèmes sont décomposés en déplacements unitaires successifs des sommets caractéristiques SCN du visage en trois dimensions VIS. Dans ce mode de réalisation du procédé d'animation selon l'invention, deux utilisations du moteur d'animation sont possibles: Soit le moteur d'animation reçoit les données de ces déplacements unitaires successifs en temps réel, par exemple sous forme de messages pour lesquels chaque message contient pour chaque sommet caractéristique SCN un déplacement unitaire, - Soit les données de ces déplacements unitairessuccessifs sont enregistrées en mémoire dans des fichiers du moteur d'animation, qui lit par exemple ces fichiers dans un ordre prédéterminé afin d'exécuter l'animation correspondante, si chaque fichier contient pour chaque sommet caractéristique SCN un déplacement unitaire. D'autres implémentations du moteur d'animation sont envisageables, le fonctionnement de la phase d'exécution étant indépendant du mode d'acquisition de données de déplacements des sommets caractéristiques. Dans la suite on suppose pour simplifier que le moteur d'animation reçoit des messages en temps réel, chaque message contenant pour chaque sommet caractéristique SCN un déplacement unitaire. La phase d'exécution comporte, lors de la réception d'un tel message, trois étapes b1 à b3 représentées à la figure 6. Ces étapes sont répétées pour chaque nouveau message reçu. L'étape b1 est le calcul des nouvelles coordonnées des sommets caractéristiques additionnels SCA à partir des nouvelles coordonnées des sommets caractéristiques normalisés SCN dans le repère global RG. Ces nouvelles coordonnées des sommets caractéristiques normalisés SCN sont extraites du message reçu par le moteur d'animation et qui contient les données de déplacement de ces sommets caractéristiques SCN. Le calcul des nouvelles coordonnées d'un sommet caractéristique additionnel SCA utilise les mêmes coefficients de pondération qu'à l'étape a2: XSCA = aa .xsc YSCA = a , Yscti. + iBy 'YSC, zs .i = a,.zscn .zscä où XSCA, YSCA, ZSCA sont respectivement la nouvelle abscisse, la nouvelle ordonnée et la nouvelle hauteur du sommet caractéristique SCA dans le repère global RG, - a, et /3, sont les coefficients de pondération suivant l'axe x utilisés à l'étape a2 pour ce sommet caractéristique SCA, ay et /3y sont des coefficients de pondération suivant l'axe y utilisés à l'étape a2 pour ce sommet caractéristique SCA, - a2 et A. sont des coefficients de pondération suivant l'axe z utilisés à l'étape a2 pour ce sommet caractéristique SCA, - et xsca, Ysca, et zsca désignent respectivement les nouvelles abscisse, ordonnée et hauteur d'un sommet caractéristique SC;, SCJ, SCk, SC1, SC, ou SCr, prédéterminé dans le repère global RG, utilisé pour la construction de ce sommet caractéristique SCA à l'étape a2, a désignant i, j, k, I, m ou n. L'étape b2 est la construction de nouveaux repères locaux, tenant compte des nouvelles coordonnées des sommets caractéristiques SC. Pour chaque triangle de la triangulation TT, un nouveau repère local est construit à partir des nouveaux sommets caractéristiques SC calculés précédemment, en utilisant la même méthode qu'à l'étape a4, mais avec préservation du volume caractérisant le repère local initial. Cette préservation du volume est effectuée en modifiant uniquement la norme du troisième vecteur du nouveau repère local. Par exemple le repère local initial [BI B2 B3] représenté à la figure 7, associé au triangle T et caractérisé par le volume V, devient, après l'étape b2, le nouveau repère local [CI C2 C3] représenté à la figure 8, et construit de la manière suivante: = SC1 SC2 , C2 = SC, SC3 , C, =B3 ~SC, SC, A SC, SC3 SC1SC2 A SC1 SC3 où les sommets caractéristiques SC1, SC2 et SC3 sont ceux construits à partir des nouvelles coordonnées globales des sommets caractéristiques SC. Cette préservation du volume rend l'animation du visage cohérente, elle permet notamment de simuler l'aplatissement de la peau lorsqu'elle est étirée. Enfin l'étape b3 est le calcul des nouvelles coordonnées globales des sommets du maillage du visage en trois dimensions VIS, à partir de leurs coordonnées locales calculées pendant la phase d'initialisation. Ce calcul est effectué par un changement de repère décrit ci-dessous en prenant pour exemple le sommet S de la figure 5: = [C, C2 ]. w] u v + où u, v, w sont respectivement l'abscisse, l'ordonnée et la hauteur du sommet S dans son repère local [CI C2 C3], xs, ys, et zs sont respectivement les nouvelles abscisse, ordonnée et hauteur du sommet S dans le repère global RG, et xsci, ysci, zsci sont respectivement les nouvelles abscisse, ordonnée et hauteur du sommet caractéristique SC1 dans le repère global RG. A la fin de l'étape b3, le calcul des nouvelles coordonnées globales des sommets du maillage du visage en trois dimensions VIS permet de déformer ce maillage. Les étapes bl à b3 sont répétées jusqu'à ce que le programme implémentant le procédé d'animation selon l'invention ne reçoive plus de messages, ou soit arrêté par un utilisateur. Les déformations successives du maillage en fonction du mouvement des sommets caractéristiques SC à la fin de chaque étape b3 permettent d'animer rapidement le visage en trois dimensions VIS. En effet les étapes de la phase d'exécution sont rapides, les coordonnées locales des sommets du maillage ayant été calculées une seule fois pendant la phase d'initialisation. REVENDICATIONS 1. Procédé d'attribution de sommets (S) d'un maillage comportant des sommets caractéristiques (SC) à des zones d'influence, caractérisé en ce qu'une desdites zones d'influence est associée à trois sommets caractéristiques (SC), et en ce que ledit procédé comporte une étape d'attribution (a3) desdits sommets (S) à des angles solides (P) construits à partir desdits sommets caractéristiques (SC), lesdits angles solides (P) caractérisant lesdites zones d'influence. 2. Procédé selon la revendication 1, caractérisé en ce que ledit procédé comporte en outre une étape de construction (a4) de repères locaux audit maillage, associés auxdits angles solides (P). 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que lesdits sommets caractéristiques (SC) comportent des sommets caractéristiques prédéterminés (SCN) et des sommets caractéristiques additionnels (SCA), les coordonnées desdits sommets caractéristiques additionnels (SCA) étant définies par une combinaison linéaire des coordonnées desdits sommets caractéristiques prédéterminés (SCN). 4. Procédé d'attribution de sommets (S) d'un maillage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'étape d'attribution (a3) attribue lesdits sommets (S) auxdits angles solides (P) en fonction de l'appartenance desdits sommets (S) auxdits angles solides (P) et en fonction de l'appartenance desdits sommets (S) à des zones de maillage prédéterminées.30 5. Procédé d'attribution de sommets (S) d'un maillage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite étape d'attribution (a3) est réitérée aux sommets (S) non attribués lors de ladite étape d'attribution (a3), en élargissant lesdits angles solides (P). 6. Procédé d'animation de sommets (S) d'un maillage comportant des sommets caractéristiques (SC), caractérisé en ce qu'il comporte: - une phase d'initialisation dans laquelle on attribue lesdits sommets (S) à des repères locaux audit maillage en utilisant le procédé d'attribution selon l'une quelconque des revendications 2 à 5, et dans laquelle on calcule les coordonnées locales desdits sommets (S) dans lesdits repères, - et une phase d'exécution comportant les étapes de: - mise à jour des coordonnées globales desdits sommets caractéristiques (SC) suite à un mouvement, mise à jour des caractéristiques (b2) desdits repères locaux en fonction desdites coordonnées globales ainsi mises à jour, - calcul (b3) des coordonnées globales des sommets (S) en utilisant lesdites coordonnées locales des sommets (S) dans lesdits repères locaux mis à jour. 12. Procédé selon la revendication 6, caractérisé en ce que l'étape de mise à jour des caractéristiques (b2) desdits repères locaux se fait à volume constant. 13. Dispositif d'animation de sommets (S) d'un maillage, mettant en oeuvre l'un des procédés selon l'une quelconque des revendications 1 à 7. 14. Programme d'ordinateur comportant des instructions pour mettre en oeuvre 30 le procédé selon l'une quelconque des revendications 1 à 7, lorsqu'il est exécuté sur un ordinateur. 20 25