Brevet FR2906056A1 — publié le 20080321

PROCEDE ET SYSTEME D'ANIMATION D'UN AVATAR EN TEMPS REEL A PARTIR DE LA VOIX D'UN INTERLOCUTEUR La présente invention concerne un procédé s d'animation d'un avatar en temps réel à partir de la voix d'un interlocuteur. Elle concerne également un système d'animation d'un tel avatar. L'invention trouve une application lo particulièrement importante bien que non exclusive, dans le domaine des appareils mobiles comme les téléphones portables ou plus généralement les appareils personnels de communication portable ou PDA (initiales anglosaxonnes pour Personal Digital 15 Apparatus). L'amélioration des téléphones portables, de leur esthétique et de la qualité des images et du son qu'ils véhiculent est une préoccupation constante des constructeurs de ce type d'appareils. 20 Son utilisateur est quant-à-lui particulièrement sensible à la personnalisation de cet outil qui est devenu un vecteur essentiel de communication. Cependant, même si ses fonctionnalités sont devenues multiples, puisqu'il permet aujourd'hui le 25 stockage de sons et d'images notamment photographiques, en plus de sa fonction première de téléphone, il reste néanmoins une plate-forme limitée. Il ne permet pas notamment d'afficher des images 30 de haute définition, qui ne vont de toutes les façons pas pouvoir être visualisées du fait de la dimension réduite de son écran. 2906056 2 Par ailleurs, de nombreux services accessibles aux téléphones portables fonctionnant jusqu'à présent uniquement en mode audio, se trouvent devoir répondre aujourd'hui à une demande en mode visiophonie (services de messagerie, centre d'appel clients, ...). Les prestataires à l'origine de ces services n'ont souvent pas de solution prête pour le passage de l'audio à la vidéo et/ou ne souhaitent pas diffuser l'image d'une personne réelle. io L'une des solutions à ces problèmes consiste dès lors à s'orienter vers l'utilisation d'avatars, c'est à dire l'utilisation d'images graphiques, schématiques et moins complexes, représentant un ou plusieurs utilisateurs. 15 De tels graphiques peuvent alors être intégrés préalablement au téléphone et être ensuite appelés quand nécessaire lors d'une conversation téléphonique. On connaît ainsi (WO 2004/053799) un système et 20 une méthode pour implémenter des avatars dans un téléphone mobile permettant de les créer et de les modifier en utilisant le standard XML (initiales anglosaxonnes pour Extensible Markup Language). Un tel système ne permet cependant pas de résoudre 25 le contrôle des expressions faciales de l'avatar en fonction de l'interlocuteur, en particulier de façon synchronisée. Tout au plus existe-t-il dans l'art antérieur (EP 1 560 406) des programmes permettant de modifier 30 l'état d'un avatar de façon simple sur la base d'informations externes générées par un utilisateur, mais sans la finesse et la rapidité recherchée dans 2906056 3 le cas où l'avatar doit se comporter de façon parfaitement synchronisée avec le son d'une voix. Les technologies et programmes actuels conversationnels utilisant les avatars, tels que par 5 exemple ceux mettant en oeuvre un programme développé par la société américaine Microsoft dénommé Microsoft Agent , ne permettent pas, en effet, de reproduire efficacement le comportement d'un avatar en temps réel par rapport à une voix, sur un appareil io portable de capacités limitées comme un téléphone mobile. La présente invention vise à fournir un procédé et un système d'animation d'un avatar en temps réel répondant mieux que ceux antérieurement connus aux 15 exigences de la pratique, notamment en ce qu'elle permet l'animation en temps réel de la bouche et du corps d'un avatar sur un appareil mobile de capacité réduite tel qu'un téléphone portable, et ce avec une excellente synchronisation des mouvements. 20 Avec l'invention il va être possible, tout en fonctionnant dans l'environnement standard des terminaux informatiques ou de communication mobile, et ce sans installer de composants logiciels spécifiques dans le téléphone mobile, d'obtenir une 25 animation de l'avatar en temps réel ou quasi réel cohérente avec le signal d'entrée, et ce uniquement par détection et analyse de la voix. La qualité esthétique et artistique conférées aux avatars et à leur mouvement lors de leur création est 30 également préservée, pour un coût faible et avec une excellente fiabilité. Dans ce but la présente invention propose notamment un procédé d'animation sur un écran 2906056 4 d'appareil mobile d'un avatar muni d'une bouche à partir d'un signal d'entrée sonore correspondant à la voix d'un interlocuteur de communication téléphonique, 5 caractérisé en ce que on transforme en temps réel le signal d'entrée sonore en un flux audio et vidéo dans lequel on synchronise les mouvements de la bouche de l'avatar avec les phonèmes détectés dans ledit signal d'entrée sonore, et on anime l'avatar de façon io cohérente avec ledit signal par des changements d'attitudes et des mouvements par analyse dudit signal, de sorte que l'avatar semble parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur. is Dans des modes de réalisation avantageux on a de plus recours à l'une et/ou à l'autre des dispositions suivantes : - on choisit et/ou on configure l'avatar à travers un service en ligne sur le réseau Internet ; 20 - l'appareil mobile est un téléphone mobile ; - en plus des phonèmes, on analyse le signal d'entrée sonore afin de détecter et d'utiliser pour l'animation un ou plusieurs paramètres supplémentaires dits paramètres de niveau 1, à savoir 25 les périodes de silence, les périodes de parole et /ou d'autres éléments contenu dans ledit signal sonore pris parmi la prosodie, l'intonation, le rythme et/ou l'accent tonique ; - pour animer l'avatar, on exploite des séquences 30 élémentaires, constituées d'images générées par un calcul de rendu 3D, ou générées à partir de dessins ; 2906056 5 on charge des séquences élémentaires en mémoire en début d'animation et on les conserve dans ladite mémoire pendant toute la durée de l'animation pour plusieurs interlocuteurs simultanés et/ou 5 successifs ; on sélectionne en temps réel la séquence élémentaire à jouer, en fonction de paramètres préalablement calculés et/ou déterminés ; - la liste des séquences élémentaires étant communes à tous les avatars utilisables dans l'appareil mobile, on définit un graphe d'animation dont chaque nœud représente un point ou état de transition entre deux séquences élémentaires, chaque connexion entre deux états de transition étant unidirectionnelle et toutes les séquences élémentaires connectées à travers un même état devant être visuellement compatibles avec le passage de la fin d'une séquence élémentaire au début de l'autre ; - chaque séquence élémentaire est dupliquée de façon à permettre de montrer un personnage qui parle ou qui se tait selon la détection ou non d'une son de voix ; - les phonèmes et/ou les autres paramètres de niveau 1 sont utilisés pour calculer des paramètres dits de niveau 2 à savoir et notamment le caractère lent, rapide, saccadé, joyeux ou triste de l'avatar, à partir desquels est réalisée en tout ou partie l'animation dudit avatar ; - les paramètres de niveau 2 étant considérés comme des dimensions suivant lesquelles on définit une série de coefficients avec des valeurs qui sont 2906056 6 fixées pour chaque état du graphe d'animation, on calcule pour un état e la valeur de probabilité : Pe = Pi x Ci avec Pi valeur du paramètre de niveau 2 calculé à s partir des paramètres de niveau 1 détectés dans la voix et Ci coefficient de l'état e suivant la dimension i, ce calcul étant effectué pour tous les états connectés à l'état vers lequel la séquence en cours aboutit dans le graphe ; io - lorsqu'une séquence élémentaire est en cours on laisse se dérouler la séquence élémentaire qui se tait jusqu'au bout ou on passe à la séquence dupliquée qui parle en cas de détection de la voix et vice versa, puis, lorsque la séquence se termine et 15 qu'on arrive à un nouvel état, on choisit le prochain état cible suivant une probabilité définie par les calculs de la valeur de probabilité des états connectés à l'état en cours. L'invention propose également un système mettant 20 en oeuvre le procédé ci-dessus. Elle propose également un système d'animation d'un avatar muni d'une bouche à partir d'un signal d'entrée sonore correspondant à la voix d'un interlocuteur de communication téléphonique, 25 caractérisé en ce que il comporte un appareil mobile de télécommunication, pour réception du signal d'entrée sonore émis par une source téléphonique externe, un serveur propriétaire de réception du signal comprenant des moyens d'analyse dudit signal 30 et de transformation en temps réel dudit signal d'entrée sonore en un flux audio et vidéo, des moyens de calcul agencés pour synchroniser les mouvements de la bouche de l'avatar transmis dans ledit flux avec 2906056 7 les phonèmes détectés dans ledit signal d'entrée sonore et pour animer l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements et des moyens pour transmettre les 5 images de l'avatar et le signal sonore correspondant, de sorte que l'avatar semble parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur. Avantageusement le système comporte des moyens de io configuration de l'avatar à travers un service en ligne sur le réseau Internet et/ou des moyens d'analyse du signal d'entrée sonore afin de détecter et d'utiliser pour l'animation un ou plusieurs paramètres supplémentaires dits paramètres de niveau 15 1, à savoir les périodes de silence, les périodes de parole et /ou d'autres éléments contenu dans ledit signal sonore pris parmi la prosodie, l'intonation, le rythme et/ou l'accent tonique. Dans un mode de réalisation avantageux il comporte 20 des moyens de constitution et de stockage sur un serveur, de séquences animées élémentaires pour animer l'avatar, constituées d'images générées par un calcul de rendu 3D, ou générées à partir de dessins. Avantageusement il comporte des moyens de 25 sélection en temps réel de la séquence élémentaire à jouer, en fonction de paramètres préalablement calculés et/ou déterminés. Egalement avantageusement la liste des séquences animées élémentaires étant communes à tous les 30 avatars utilisables dans l'appareil mobile, il comporte des moyens de calcul et de mise en œuvre d'un graphe d'animation dont chaque noeud représente un point ou état de transition entre deux séquences 2906056 8 élémentaires, chaque connexion entre deux états de transition étant unidirectionnelle et toutes les séquences connectées à travers un même état devant être visuellement compatibles avec le passage de la 5 fin d'une séquence élémentaire au début de l'autre. Dans un mode de réalisation avantageux il comporte des moyens pour dupliquer chaque séquence élémentaire de façon à permettre de montrer un personnage qui parle ou qui se tait selon la détection ou non d'une 10 voix. Avantageusement les phonèmes et/ou les autres paramètres de niveau 1 sont utilisés pour calculer des paramètres dits de niveau 2 qui correspondent à des caractéristiques telles que le caractère lent, 15 rapide, saccadé, joyeux, triste, ou d'autres caractères de type équivalent et on anime l'avatar au moins en partie à partir desdits paramètres de niveau 2. Par paramètre de type équivalent à un paramètre de 20 niveau 2, on entend un paramètre plus complexe conçu à partir des paramètres de niveau 1, qui sont eux-mêmes plus simples. En d'autres termes les paramètres de niveau 2 correspondent à une analyse et/ou à un regroupement 25 des paramètres de niveau 1, qui vont permettre d'affiner encore les états des personnages en les rendant plus adéquats à ce que l'on souhaite représenter. Les paramètres de niveau 2 étant considérés comme 30 des dimensions suivant lesquelles on définit une série de coefficients avec des valeurs qui sont fixées pour chaque état du graphe d'animation, les 2906056 9 moyens de calculs sont agencés pour calculer pour un état e la valeur de probabilité : Pe = >1 Pi x Ci avec Pi valeur du paramètre de niveau 2 calculé à 5 partir des paramètres de niveau 1 détectés dans la voix et Ci coefficient de l'état e suivant la dimension i, ce calcul étant effectué pour tous les états connectés à l'état vers lequel la séquence en cours aboutit dans le graphe. Lorsqu'une séquence Io élémentaire est en cours laisser se dérouler la séquence élémentaire qui se tait jusqu'au bout ou passer à la séquence dupliquée qui parle en cas de détection de la voix et vice versa, puis, lorsque la séquence se termine et qu'on arrive à un nouvel état, 15 choisir le prochain état cible suivant une probabilité définie par les calculs de la valeur de probabilité des états connectés à l'état courant. L'invention sera mieux comprise à la lecture qui suit de modes de réalisation particuliers donnés ci- 20 après à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent dans lesquels : La figure 1 est un schéma de principe montrant un système d'animation pour avatar selon l'invention, 25 La figure 2 donne un graphe d'état tel que mis en oeuvre selon le mode de réalisation de l'invention plus particulièrement décrit ici. La figure 3 montre trois types de séquences d'images, dont celle obtenue avec l'invention en 30 relation avec un signal d'entrée sonore. La figure 4 illustre schématiquement un autre mode d'implémentation du graphe d'état mis en oeuvre selon l'invention. 2906056 i0 La figure 5 montre schématiquement la méthode de sélection d'un état à partir des probabilités relatives, selon un mode de réalisation de l'invention. 5 La figure 6 montre un exemple de signal d'entrée sonore permettant la construction d'une suite d'états, pour être utilisés pour construire le comportement de l'avatar selon l'invention. La figure 7 montre un exemple de paramétrage io initial effectué à partir du téléphone portable de l'interlocuteur appelant. La figure 1 montre schématiquement le principe d'un système 1 d'animation pour avatar 2, 2' sur un écran 3, 3', 3" d'appareil mobile 4, 4', 4". 15 L'avatar 2 est muni d'une bouche 5, 5' et est animé à partir d'un signal d'entrée sonore 6 correspondant à la voix 7 d'un interlocuteur 8 de communication par le biais d'un téléphone mobile 9, ou tout autre moyen de communication du son 20 (téléphone fixe, ordinateur, ...) . Le système 1 comprend, à partir d'un serveur 10 appartenant à un réseau (téléphonique, Internet ...), un serveur propriétaire 11 de réception de signaux 6. Ce serveur comprend des moyens 12 d'analyse du 25 signal et des transformations en temps réel dudit signal en flux audio et vidéomultiplexé 13 en deux voix 14, 15 ; 14', 15' dans le cas d'une réception par mobiles 3D ou 2D, ou en une seule voix 16 en cas de mobile dit vidéo. 30 Il comprend de plus des moyens de calculs agencés pou synchroniser les mouvements de la bouche 5 de l'avatar avec les phénomènes détectés dans le signal d'entrée sonore et pour retransmettre (en cas de 2906056 11 mobile 2D et 3D) d'une part les données texte scénarisé en 17 ; 17', transmises alors en 18, 18' sous forme de script au téléphone mobile 4 ; 4', et d'autre part pour télécharger l'avatar 2D ou 3D, en 5 19, 19' audit téléphone mobile. Dans le cas d'utilisation d'un mobile dit de vidéo téléphonie, le texte est scénarisé en 20 pour être transmis sous forme de fichiers d'images de sons 21, avant compression en 22 et envoi au mobile 4", sous 10 la forme du flux vidéo 23. Le résultat obtenu est que l'avatar 2, et notamment sa bouche 5, semble parler en temps réel à la place de l'interlocuteur 8 et que le comportement de l'avatar (attitude, gestes) est cohérent avec la 15 VOIX. On va maintenant décrire plus avant l'invention en référence aux figures 2 à 7, le procédé plus particulièrement décrit permettant de réaliser les fonctions suivantes : 20 - exploiter des séquences animées élémentaires, constituées d'images générées par un calcul de rendu 3D ou bien directement produites à partir de dessins ; - choisir et configurer son personnage à travers 25 un service en ligne qui produira de nouvelles séquences élémentaires : rendu 3D sur le serveur ou sélection de catégories de séquences ; charger toutes les séquences élémentaires en mémoire, au lancement de l'application et les 30 conserver en mémoire pendant toute la durée du service pour plusieurs utilisateurs simultanés et successifs ; 2906056 12 - analyser la voix contenue dans le signal d'entrée afin de détecter les périodes de silence, les périodes de parole et éventuellement d'autres éléments contenus dans 5 le signal sonore, comme les phonèmes, la prosodie (intonation de la voix, rythme de la parole, accents toniques); - sélectionner en temps réel la séquence élémentaire à jouer, en fonction des paramètres 10 précédemment calculés. L'analyse du signal sonore s'effectue à partir d'un buffer correspondant à un petit intervalle de temps (environ 10 millisecondes). Le choix des séquences élémentaires (par ce qu'on appelle le 1s séquenceur) est expliqué plus loin. Plus précisément et pour obtenir les résultats recherchés par l'invention, on commence par créer une liste de séquences élémentaires d'animation pour un ensemble de personnages. 20 Chaque séquence est constituée d'une série d'images produites par un logiciel d'animation 3D ou 2D connus en eux-mêmes, comme par exemple les logiciels 3dsMax et Maya de la société américaine Autodesk et XSI de la société française Softimage, ou 25 bien par des outils classiques de rendu 3D propriétaires, ou bien encore constituées de dessins numérisés. Ces séquences sont générées au préalable et placées sur le serveur propriétaire qui diffuse le flux vidéo d'avatar, ou bien générées par le service 30 en ligne de configuration d'avatars et placées sur ce même serveur. Dans le mode de réalisation plus particulièrement décrit ici la liste des noms des séquences 2906056 13 élémentaires disponibles est commune à tous les personnages, mais les images qui les composent peuvent représenter des animations très différentes. Cela permet de définir un graphe d'état commun à 5 plusieurs avatars mais cette disposition n'est pas obligatoire. On définit ensuite (cf. figure 2) un graphe 24 d'états dont chaque nœud (ou état) 26, 27, 28, 29, 30 est défini comme un point de transition entre des lo séquences élémentaires. La connexion entre deux états est unidirectionnelle, dans un sens ou dans l'autre (flèches 25). Plus précisément, dans l'exemple de la figure 2, 15 on a défini cinq états, à savoir les états de début de séquence 26, neutre 27, excité 28, au repos 29 et de fin de séquence 30. Toutes les séquences connectées à travers un même état du graphe, doivent être visuellement compatibles 20 avec le passage de la fin d'une animation au début de l'autre. Le respect de cette contrainte est géré lors de la création des animations correspondant aux séquences élémentaires. Chaque séquence élémentaire est dupliquée pour 25 permettre de montrer un personnage qui parle ou bien un personnage qui se tait, suivant qu'on a ou non détecté des paroles dans la voix. Cela permet de passer d'une version à l'autre de la séquence élémentaire qui se déroule, pour 30 synchroniser l'animation de la bouche du personnage avec les périodes de parole. On a représenté sur la figure 3 une séquence d'images telle qu'obtenue avec parole 32, la même 2906056 14 séquence sans parole 33, et en fonction de l'entrée sonore (courbe 34) émise par l'interlocuteur, la séquence résultante 35. Il est maintenant décrit ci-après le principe de 5 sélection des séquences d'animation. L'analyse de la voix produit un certain nombre de paramètres dits de niveau 1, dont la valeur varie au cours du temps et dont on calcule la moyenne sur un certain intervalle, par exemple de 100 millisecondes. 10 Ces paramètres sont, par exemple : - l'activité de parole (silence ou signaux de paroles) - le rythme de parole - le ton (aigu ou grave) s'il s'agit d'un langage 15 non tonal - la longueur des voyelles - la présence plus au moins importante d'accent tonique. Le paramètre d'activité de la parole peut-être 20 calculé en première approximation, à partir de la puissance du signal sonore (intégrale du signal au carré) en considérant qu'il y a parole au dessus d'un certain seuil. Le seuil est calculable dynamiquement en fonction du rapport signal / bruit. Un filtrage en 25 fréquence est aussi envisageable pour éviter de considérer par exemple le passage d'un camion comme de la voix. Le rythme de la parole est calculé à partir de la fréquence moyenne des périodes de silence et de parole. D'autres paramètres sont 30 également calculables à partir d'une analyse fréquentielle du signal. 2906056 15 Selon le mode de l'invention plus particulièrement décrit ici, des formules mathématiques simples (combinaisons linéaires, fonctions seuil, fonctions booléennes) permettent de passer de ces paramètres de 5 niveau 1 à des paramètres dits de niveau 2 qui correspondent à des caractéristiques telles que par exemple le caractère lent, rapide, saccadé, joyeux, triste, etc. Les paramètres de niveau 2 sont considérés comme 10 des dimensions suivant lesquelles on définit une série de coefficients Ci avec des valeurs fixées pour chaque état e du graphe d'animation. Des exemples d'un tel paramétrage sont donnés ci-après. A tout instant c'est à dire par exemple avec 15 une périodicité de 10 millisecondes, on calcule les paramètres de niveau 1. Lorsqu'un nouvel état doit être choisi, c'est-à-dire à la fin du déroulement d'une séquence, on peut donc calculer les paramètres de niveau 2 qui s'en déduisent et calculer pour un 20 état e la valeur suivante . Pe = > Pi x Ci où les valeurs pi sont celles des paramètres de niveau 2 et ci les coefficients de l'état e suivant ladite dimension i. Cette somme constitue une probabilité relative de 25 l'état e (par rapport aux autres états) d'être sélectionné. Lorsqu'une séquence élémentaire est en cours, on la laisse alors se dérouler jusqu'au bout c'est-à-dire jusqu'à l'état du graphe auquel elle aboutit 30 mais on passe d'une version à l'autre de la séquence (version avec ou sans parole) à tout instant en fonction du signal de parole détecté. 2906056 16 Lorsque la séquence se termine et qu'on arrive à un nouvel état, on choisit le prochain état cible suivant une probabilité définie par les calculs précédents. Si l'état cible est le même que l'état 5 actuel, on s'y maintient en jouant une animation en boucle un certain nombre de fois et on se ramène ainsi au cas précédent. Certaines séquences sont des boucles qui partent d'un état et y retournent (flèche 31), elles sont lo utilisées lorsque le séquenceur décide de maintenir l'avatar dans son état courant, c'est-à-dire, choisit comme état cible suivant l'état courant lui-même. On a donné ci-après la description en pseudo-code d'un exemple de génération d'animation et la 15 description d'un exemple de déroulement de séquences Exemple de génération d'animation initialiser état courant à un état de départ prédéfini initialiser état cible à nul 20 initialiser séquence d'animation courante à séquence nulle tant qu'on reçoit un flux audio entrant : o décoder le flux audio entrant o calculer les paramètres de niveau 1 25 o si séquence d'animation courante terminée : ^ séquence d'animation courante = séquence nulle ^ état cible = état nul o si état cible nul: ^ calculer paramètres de niveau 2 en fonction des paramètres de niveau 1 (et éventuellement de leur historique) ^ sélectionner les états connectés à l'état courant ^ calcul des probabilités de ces états connectés en fonction de leurs coefficients 30 35 2906056 17 et des paramètres de niveau 2 précédemment calculés ^ tirage parmi ces états connectés de l'état cible en fonction des probabilités précédemment calculées => un nouvel état cible est ainsi défini o si séquence d'animation courante nulle : ^ sélectionner dans le graphe la séquence d'animation de l'état courant vers l'état cible => définit la séquence d'animation courante o dérouler la séquence d'animation courante => sélection d'images précalculées correspondantes o mettre en correspondance portion de flux audio entrant et les images sélectionnées à partir de l'analyse de ces portions de flux audio o générer un flux audio et vidéo compressé à partir des images sélectionnées et du flux audio entrant 20 Exemple de déroulement des séquences : -l'interlocuteur dit : "Bonjour, comment ça va ?" 1. les paramètres de niveau 1 indiquent la présence de paroles 2. les paramètres de niveau 2 indiquent : voix enjouée 25 (correspondant à "Bonjour") 3. le tirage probabiliste sélectionne l'état cible joyeux. 4. on déroule la séquence d'animation de l'état de départ vers l'état joyeux (dans sa version avec paroles) 5. on arrive dans la période de silence, reconnue à travers 30 les paramètres de niveau 1 6. la séquence d'animation est toujours en cours, on ne l'interrompt pas mais on sélectionne sa version sans parole 7. l'état cible joyeux est atteint 8. le silence conduit à sélectionner l'état cible neutre (à travers le calcul des paramètres de niveau 1 et 2 et le tirage probabiliste) 9. on déroule la séquence d'animation de l'état joyeux vers l'état neutre (dans sa version sans paroles) 10.1'état cible neutre est atteint 5 10 15 2906056 18 ll.le silence conduit à nouveau à sélectionner l'état cible neutre 12.on déroule la séquence d'animation neutre => neutre (boucle) dans sa version sans paroles 5 13.1es paramètres de niveau 1 indiquent la présence de paroles (correspondant à "Comment ça va ?") 14.1es paramètres de niveau 2 indiquent une voix interrogative 15.1'état cible neutre est à nouveau atteint 10 16.on sélectionne l'état cible interrogatif (à travers le calcul des paramètres de niveau 1 et 2 et le tirage probabiliste) 17.etc. 15 La méthode de sélection d'un état à partir des probabilités relatives est maintenant décrite en référence à la figure 5 qui donne un graphe de probabilité des états 40 à 44. La probabilité relative de l'état 40 est 20 déterminée par rapport à la valeur calculée ci-avant. Si la valeur (flèche 45) est à un niveau déterminé l'état correspondant est sélectionné (sur la figure l'état 42). En référence à la figure 4, on donne un autre 25 exemple de graphe d'états selon l'invention. Ici on a défini les états suivants état neutre (Neutral) : 46 état approprié à une première période de parole (speak 1) : 47 30 autre état approprié à une seconde période de parole (speak 2) : 48 - état approprié à une première période de silence (Idlel) : 49 - autre état approprié à une seconde période de 35 silence (Idle 2) : 50 2906056 19 - état approprié à un discours d'introduction (greeting) : 51 Le graphe d'états relie quant à lui de façon unidirectionnelle (dans les deux sens) tous ces états 5 sous forme d'étoile (lien 52). En d'autres termes, dans l'exemple plus particulièrement décrit en référence à la figure 4, on définit ainsi les dimensions, pour le calcul des probabilités relatives (dimensions des paramètres et io des coefficients) : IDLE : valeurs indiquant une période de silence SPEAK : valeurs indiquant une période de parole NEUTRAL : valeurs indiquant une période de neutralité GREETING : valeurs indiquant une phase d'accueil ou 15 de présentation On introduit ensuite des paramètres de premier niveau, détectés dans le signal d'entrée et utilisés comme valeurs intermédiaires pour le calcul des paramètres précédents, à savoir : 20 - Speak : valeur binaire qui indique si on est en train de parler - SpeakTime : durée écoulée depuis ledébut de la période de parole - MuteTime : durée écoulée depuis le début de la 25 période de silence - Speaklndex : numéro de la période de parole depuis un instant déterminé On définit également les formules permettant de passer des paramètres de premier niveau à ceux de 30 second niveau : -IDLE : NOT (Speak) x MuteTime - SPEAK : Speak 2906056 20 - NEUTRAL : NOT (Speak) - GREETING : Speak & (SpeakIndex =1) Les coefficients associés aux états sont par exemple donnés par le Tableau I ci-après : 5 TABLEAU I IDLE SPEAK NEUTRAL GREETING Neutral 0 0 1 0 _ Speakl 0.05 1 0 0 Speak2 0 1.2 0 0 Idlel 2 0 0 0 Idle2 1 0 0 0 Greeting 0 0.5 0 1 Un tel paramétrage, en référence à la figure 6, et pour quatre instants Tl, T2, T3, T4, donne l'état courant et les valeurs des paramètres de niveau 1 et io 2 dans le Tableau II ci-après. TABLEAU II Tl : Etat courant = Neutral ^ IDLE = 0 ^ Speak = 1 ^ SpeakTime = 0.01 sec • SPEAK = 1 ^ MuteTime = 0 sec • NEUTRAL = 0 ^ SpeakIndex = 1 • GREETING = 1 T2 : Etat courant = Greeting ^ ^ IDLE = 0.01 • Speak = 0 ^ SPEAK = 0 ^ SpeakTime = 0 sec ^ NEUTRAL = 1 ^ MuteTime = 0.01 sec • GREETING = 0 ^ SpeakIndex = 1 T3 : Etat courant = Neutral ^ Speak = 0 ^ IDLE = 0.5 ^ SpeakTime = 0 sec • SPEAK = 0 ^ MuteTime = 1.5 sec ^ NEUTRAL = 1 ^ SpeakIndex = 1 ^ GREETING = 0 T4 : Etat courant = Neutral ^ Speak = 1 ^ IDLE = 0 2906056 21 ^ SpeakTime = 0.01 sec ^ MuteTime = 0 sec ^ Speaklndex = 2 ^ SPEAK = 1 ^ NEUTRAL = 0 ^ GREETING = 0 La probabilité relative des états suivants est 5 alors donnée dans le Tableau III ci-après. TABLEAU III 10 15 Ti ^ Neutral = 0 ^ Speak1 = 1 ^ Speak2 = 1.2 ^ Greeting = 2.5 ^ Idlel = 0 ^ IdIe2 = 0 T3 ^ Neutral = 1 ^ Speak1 = 0 ^ Speak2 = 0 ^ Greeting = 0 ^ IdIel = 1 ^ Idle2 = 0.5T2 ^ Neutral = 1 ^ Speak1 = 0 ^ Speak2 = 0 ^ Greeting = 0 ^ Idlel = 0.02 ^ IdIe2 = 0.01 T4 ^ Neutral = 0 ^ Speak1 = 1 ^ Speak2 = 1.2 ^ Greeting = 0 ^ Idlel = 0 ^ IdIe2 = 0 20 Ce qui donne dans l'exemple choisi le tirage des 25 probabilités correspondant au Tableau IV suivant : 30 2906056 5 22 TABLEAU IV 10 15 T 1 : Etat Courant = Neutral Speakl Speak2 Greeting tirage Etat suivant = Greetine T2 : Etat Courant = Greeting Neutral tirage Etat suivant = Neutral 20 25 T3 : Etat Courant = Neutral Neutral tirage Idlel Idle2 Etat suivant = Neutral T4 : Etat Courant = Neutral Speakl Speak2 tirage Etat Suivant = Speak2 30 2906056 23 Enfin, en référence aux figures 7 et 1 on a représenté l'écran schématisé 52 d'un mobile permettant d'obtenir le paramétrage de l'avatar en temps réel. 5 A l'étape 1, l'utilisateur 8 configure les paramètres de la séquence vidéo qu'il souhaite personnaliser. Par exemple : • Personnage 53 io • Expression du personnage (heureux, triste ...) 54 • Réplique du personnage 55 • Fond sonore 56 • Numéro de téléphone du destinataire 57. A l'étape 2, les paramètres sont transmis sous 15 forme de requêtes à l'application serveur (serveur 11) qui les interprète, crée la vidéo, et l'envoie (liaison 13) à l'application d'encodage. A l'étape 3, les séquences vidéo sont compressées au bon format c'est à dire lisibles par les 20 terminaux mobiles avant l'étape 4 où les séquences vidéo compressées sont transmises (liaisons 18, 19, 18', 19' ; 23) au destinataire par exemple par MMS. Comme il va de soi, et comme il résulte de ce qui précède, l'invention ne se limite pas au mode de 25 réalisation plus particulièrement décrit mais en embrasse au contraire toutes les variantes et notamment celles où la diffusion se fait en différé et non en temps réel ou quasi réel. 30 REVENDICATIONS 1. Procédé d'animation sur un écran (3, 3', 3") d'appareil mobile (4, 4', 4") d'un avatar (2, 2', 2") muni d'une bouche (5, 5') à partir d'un signal d'entrée sonore (6) correspondant à la voix (7) d'un interlocuteur (8) de communication téléphonique, caractérisé en ce que io on transforme en temps réel le signal d'entrée sonore en un flux audio et vidéo dans lequel on synchronise les mouvements de la bouche de l'avatar avec les phonèmes détectés dans ledit signal d'entrée sonore, et 15 on anime l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements par analyse dudit signal, de sorte que l'avatar semble parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur. 20 2. Procédé selon la revendication 1, caractérisé en ce que on choisit et/ou on configure l'avatar à travers un service en ligne sur le réseau Internet. 3. Procédé selon l'une quelconque des 25 revendications précédentes, caractérisé en ce que l'appareil mobile est un téléphone mobile. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, en plus des phonèmes, on analyse le signal d'entrée 30 sonore afin de détecter et d'utiliser pour l'animation un ou plusieurs paramètres supplémentaires dits paramètres de niveau 1, à savoir les périodes de silence, les périodes de parole et/ou 2906056 25 d'autres éléments contenu dans ledit signal sonore pris parmi la prosodie, l'intonation, le rythme et/ou l'accent tonique. 5. Procédé selon l'une quelconque des 5 revendications précédentes, caractérisé en ce que pour animer l'avatar, on exploite des séquences élémentaires, constituées d'images générées par un calcul de rendu 3D, ou générées à partir de dessins. 6. Procédé selon la revendication 5, io caractérisé en ce que on charge des séquences élémentaires en mémoire en début d'animation et on les conserve dans ladite mémoire pendant toute la durée de l'animation pour plusieurs interlocuteurs simultanés et/ou successifs. 15 7. Procédé selon l'une quelconque des revendications 5 et 6, caractérisé en ce que on sélectionne en temps réel la séquence élémentaire à jouer, en fonction de paramètres préalablement calculés et/ou déterminés. 20 8. Procédé selon l'une quelconque des revendication 5 à 7, caractérisé en ce que les séquences élémentaires étant communes à tous les avatars utilisables dans l'appareil mobile, on définit un graphe d'animation dont chaque nœud 25 représente un point ou état de transition entre deux séquences élémentaires, chaque connexion entre deux états de transition étant unidirectionnelle et toutes les séquences élémentaires connectées à travers un même état devant être visuellement compatibles avec 30 le passage de la fin d'une animation au début de l'autre. 9. Procédé selon la revendication 8, caractérisé en ce que chaque séquence élémentaire est 2906056 26 dupliquée de façon à permettre de montrer un personnage qui parle ou qui se tait selon la détection ou non d'une son de voix. 10. Procédé selon l'une quelconque des 5 revendications 4 et suivantes dépendantes de la 4, caractérisé en ce que les phonèmes et/ou les autres paramètres de niveau 1 sont utilisés pour calculer des paramètres dits de niveau 2 à savoir le caractère lent, rapide, saccadé, joyeux ou triste de l'avatar, io à partir desquels est réalisé en tout ou partie l'animation dudit avatar. il. Procédé selon la revendication 10, caractérisé en ce que les paramètres de niveau 2 étant considérés comme des dimensions suivant 15 lesquelles on définit une série de coefficients avec des valeurs qui sont fixées pour chaque état du graphe d'animation, on calcule pour un état e la valeur de probabilité : Pe = I Pi x Ci 20 avec Pi valeur du paramètre de niveau 2 calculé à partir des paramètres de niveau 1 détectés dans la voix et Ci coefficient de l'état e suivant la dimension i, puis lorsqu'une séquence élémentaire est en cours 25 . on laisse se dérouler la séquence élémentaire qui se tait jusqu'au bout ou on passe à l'autre séquence qui parle en cas de détection de la voix et vice versa, puis, lorsque la séquence se termine et qu'on arrive à un nouvel état, 30 . on choisit le prochain état cible suivant une probabilité définie par les calculs des valeurs de probabilité des états connectés à l'état courant. 2906056 27 12. Système (1) d'animation d'un avatar (2, 2') muni d'une bouche (5, 5') à partir d'un signal d'entrée sonore (6) correspondant à la voix (7) d'un interlocuteur (8) de communication téléphonique, 5 caractérisé en ce que il comporte un appareil mobile (9) de télécommunication, pour réception du signal d'entrée sonore émis par une source téléphonique externe, un serveur propriétaire (11) de réception du signal io comprenant des moyens (12) d'analyse dudit signal et de transformation en temps réel dudit signal d'entrée sonore en un flux audio et vidéo, des moyens de calcul agencés pour synchroniser les mouvements de la bouche de l'avatar transmis dans 15 ledit flux, avec les phonèmes détectés dans ledit signal d'entrée sonore, et pour animer l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements, de sorte que l'avatar semble parler en 20 temps réel ou sensiblement en temps réel à la place de l'interlocuteur. 13. Système selon la revendication 12, caractérisé en ce que il comporte des moyens de configuration de l'avatar à travers un service en 25 ligne sur le réseau Internet. 14. Système selon l'une quelconque des revendications 12 et 13, caractérisé en ce que il comporte de plus des moyens d'analyse du signal d'entrée sonore afin de détecter et d'utiliser pour 30 l'animation un ou plusieurs paramètres supplémentaires, à savoir les périodes de silence, les périodes de parole et /ou d'autres éléments contenu dans ledit signal sonore pris parmi la 2906056 28 prosodie, l'intonation, le rythme et/ou l'accent tonique. 15. Système selon l'une quelconque des revendications 12 à 14, caractérisé en ce que il 5 comporte des moyens de constitution et de stockage dans un serveur propriétaire, de séquences élémentaires pour animer l'avatar, constituées d'images générées par un calcul de rendu 3D, ou générées à partir de dessins. io 16. Système selon la revendication 15, caractérisé en ce que il comporte des moyens de sélection en temps réel de la séquence élémentaire à jouer, en fonction de paramètres préalablement calculés et/ou déterminés. 15 17. Système selon l'une quelconque des revendications 12 et 16, caractérisé en ce que, la liste des séquences élémentaires étant communes à tous les avatars utilisables pour l'envoi vers l'appareil mobile, il comporte des moyens de calcul 20 et de mise en oeuvre d'un graphe d'animation dont chaque nœud représente un point ou état de transition entre deux séquences élémentaires, chaque connexion entre deux états de transition étant unidirectionnelle et toutes les séquences connectées 25 à travers un même état devant être visuellement compatibles avec le passage de la fin d'une animation au début de l'autre. 18. Système selon l'une quelconque des revendications 12 à 17, caractérisé en ce que il 30 comporte des moyens pour dupliquer chaque séquence élémentaire de façon à permettre de montrer un personnage qui parle ou qui se tait selon la détection ou non d'un son de voix. 2906056 29 19. Système selon l'une quelconque des revendications 12 à 18 caractérisé en ce que, les phonèmes et/ou les autres paramètres étant considérés comme des dimensions suivant lesquelles on définit 5 une série de coefficients avec des valeurs qui sont fixées pour chaque état du graphe d'animation, les moyens de calculs sont agencés pour calculer pour un état e la valeur de probabilité : Pe = > Pi x Ci io avec Pi valeur du paramètre de niveau 2 calculé à partir des paramètres de niveau 1 détectés dans la voix et Ci coefficient de l'état e suivant la dimension i, puis lorsqu'une séquence élémentaire est en cours 15 laisser se dérouler la séquence élémentaire qui se tait jusqu'au bout ou passer à l'autre séquence qui parle en cas de détection de la voix et vice versa, puis, lorsque la séquence se termine et qu'on arrive à un nouvel état, choisir le prochain état cible 20 suivant une probabilité définie par les calculs de la valeur de probabilité des états connectés à l'état courant.