Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR ANIMATING AN AVATAR IN REAL TIME USING THE VOICE OF A SPEAKER
Document Type and Number:
WIPO Patent Application WO/2008/031955
Kind Code:
A2
Abstract:
This is a method and a system for animating on a screen (3, 3', 3'') of a mobile apparatus (4, 4', 4'') an avatar (2, 2', 2'') furnished with a mouth (5, 5') using an input sound signal (6) corresponding to the voice (7) of a speaker (8) having a telephone communication. The input sound signal is transformed in real time into an audio and video stream in which the movements of the mouth of the avatar are synchronized with the phonemes detected in said input sound signal, and the avatar is animated in a manner consistent with said signal by changes of posture and movements by analysing said signal, so that the avatar seems to talk in real time or substantially in real time instead of the speaker.

Inventors:
ACH LAURENT (FR)
VIEILLESCAZE SERGE (FR)
MOREL BENOIT (US)
Application Number:
PCT/FR2007/001495
Publication Date:
March 20, 2008
Filing Date:
September 14, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CANTOCHE PRODUCTION S A (FR)
ACH LAURENT (FR)
VIEILLESCAZE SERGE (FR)
MOREL BENOIT (US)
International Classes:
G06T13/20; G06T13/40; G10L21/06; G10L21/10
Foreign References:
GB2423905A2006-09-06
US6539354B12003-03-25
US6839672B12005-01-04
Other References:
POLZIN, WAIBEL: "Detecting Emotions in Speech" PROCEEDINGS OF THE CSC, 31 décembre 1998 (1998-12-31), pages 1-7, XP002427820
Attorney, Agent or Firm:
BENECH, Frédéric (146-150 avenue des Champs-Elysées, Paris, FR)
Download PDF:
Claims:
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 on transforme en temps réel le signal d'entrée sonore en un flux audio et vidéo dans lequel d'une part 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 d'autre part on anime au moins une autre partie de l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements par analyse dudit signal, et en ce que 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 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, de sorte que l'ensemble de l'avatar bouge et semble parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur.

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 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, 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.

5. Procédé selon la revendication 4, 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.

6. ' Procédé selon l'une quelconque des revendications 4 et 5, 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.

7. Procédé selon l'une quelconque des revendication 4 à 6, 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 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 animation au début de l ' autre .

8. Procédé selon la revendication 7, caractérisé en ce que 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.

*9. Procédé selon l'une quelconque des revendications précédentes, 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, a partir desquels est réalisé en tout ou partie l'animation dudit avatar.

10. Procédé selon la revendication 9, caractérisé en ce que 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 fixées pour chaque état du graphe d'animation, on calcule pour un état e la valeur de probabilité :

P e = ∑ P 1 x C 1 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 . 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 , '

. .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.

11. 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, 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 teléphonique externe, un serveur propriétaire (11) de réception du signal 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 d'une part pour synchroniser les mouvements de la bouche de l'avatar transmis dans ledit flux, avec les phonèmes détectés dans ledit signal d'entrée sonore, et d' autre part pour animer au moins une autre partie de l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements, et en ce qu' il comporte de plus 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, dit paramètre de niveau 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, de sorte que l'avatar bouge et semble parler en temps réel ou sensiblement en temps réel à la place de l ' interlocuteur .

12. Système selon la revendication 11, caractérisé en ce que il comporte des moyens de configuration de l'avatar à travers un service en ligne sur le réseau Internet .

13. Système selon l'une quelconque des revendications 11 et 12, caractérisé en ce que il 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.

14. Système selon la revendication 13, 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. Système selon l'une quelconque des revendications 11 à 14, 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 et de mise en œuvre 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 à travers un même état devant être visuellement compatibles avec le passage de la fin d'une animation au début de l ' autre .

16. Système selon l'une quelconque des revendications 11 à 15, caractérisé en ce que 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'un son de voix.

17. Système selon l'une quelconque des revendications 11 à 16 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 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é :

P e = σ Pi X Ci 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 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 suivant une probabilité définie par les calculs de la valeur de probabilité des états connectés à l'état courant .

Description:

A

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é 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 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 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.

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 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 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.

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 1 ' audio à la vidéo et/ou ne souhaitent pas diffuser l'image d'une personne réelle.

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.

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 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 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 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

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 exemple ceux mettant en œuvre 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 portable de capacités limitées comme un téléphone mobile.

On connaît également (GB 2 423 905) un procédé d'animation d'une entité sur un téléphone portable consistant à sélectionner et traiter numériquement les mots d'un message à partir desquels on identifie des « visèmes » qui sont utilisés pour modifier la bouche de l'entité lors de la sortie du message vocal .

Un tel procédé, outre le fait qu'il est basé sur l'utilisation de mots, et non des sons en tant que tels, est limité et donne un aspect mécanique à l'image visuelle de l'entité.

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 exigences de la pratique, notamment en ce qu'elle permet l'animation en temps réel non seulement de la bouche, mais également 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.

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 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 du son de la voix, c'est à dire des phonèmes .

Une grande qualité esthétique et artistique est ainsi conférée aux avatars et à leur mouvement lors de leur création et ce tout en respectant la complexité du timbre et des finesses de la voix, pour un coût faible et avec une excellente fiabilité.

Pour ce faire l'invention part notamment de l'idée d'utiliser la richesse du son et non plus uniquement les mots eux-mêmes.

Dans ce but la présente invention propose notamment un procédé d'animation sur un écran 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 , 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 d'une part 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 d'autre part on anime au moins une autre partie de l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements par analyse dudit signal, et en ce que 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 les périodes de silence, les périodes de parole et/ou d'autres éléments contenus dans ledit signal sonore pris parmi la ( prosodie, l'intonation, le rythme et/ou l'accent tonique, de sorte que l'ensemble de l'avatar bouge et semble parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur.

Par autres parties de l'avatar, on entend le corps et/ou les bras, le cou, les jambes, les yeux, les sourcils, les cheveux, etc, autres que la bouche proprement dite. Ceux-ci ne sont donc pas mis en mouvement de façon indépendante du signal .

Il ne s'agit pas non plus ici de détecter l'émotion (réelle) d'un interlocuteur à partir de sa voix mais de créer des réactions artificielles probables de façon mécanique, néanmoins crédibles et compatibles avec ce qui pourrait être la réalité.

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 ligné sur le réseau Internet ; l'appareil mobile est un téléphone mobile ; 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 ; 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 ;

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 fixées pour chaque état du graphe d'animation, on calcule pour un état e la valeur de probabilité :

P e = ∑ Pi x Ci 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, 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 é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 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 à 1 ' état en cours .

L' invention propose également un système mettant en œuvre 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, 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 et de transformation en temps réel dύdit signal d'entrée sonore en un flux audio et vidéo, des moyens de calcul agencés d'une part pour synchroniser les mouvements de la bouche de l'avatar transmis dans, ledit flux avec les phonèmes détectés dans ledit signal d'entrée sonore et d'autre part pour animer au moins une autre partie de l'avatar de façon cohérente avec ledit signal par des changements d'attitudes et des mouvements,

en ce qu'il comporte 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 1 de niveau 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, et en ce qu' il comporte des moyens pour transmettre les images de l'avatar et le signal sonore correspondant, de sorte que l'avatar semble bouger et parler en temps réel ou sensiblement en temps réel à la place de l'interlocuteur.

Ces paramètres supplémentaires sont par exemple en nombre supérieur à deux, par exemple au moins trois et/ou supérieur à cinq.-

Avantageusement le système comporte des moyens de configuration de l'avatar à travers un service en ligne sur le réseau Internet.

Dans un mode de réalisation avantageux il comporte 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 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 avatars utilisables dans l'appareil mobile, "il comporte des moyens de calcul et de mise en œuvre 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 à 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.

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 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, 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 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 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 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

moyens de calculs sont agencés pour calculer pour un état e la valeur de probabilité :

P e = ∑ Pi x Ci avec Pi valeur diα 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, 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 é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, 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- 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,

La figure 2 donne un graphe d'état tel que mis en œuvre 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 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 œuvre selon l' invention.

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 1' invention.

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 initial effectué à partir du téléphone portable de 1 ' 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''.

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 (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 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 IG en cas de mobile dit vidéo.

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

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 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 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 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 : 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 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 conserver en mémoire pendant toute la durée du service pour plusieurs utilisateurs simultanés et successifs ;

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 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 précédemment calculés.

L'analyse du signal sonore s'effectue a 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 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.

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 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 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

é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 à 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 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, 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 avec le passage de la fin d'une animation au début de 1 ' 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 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 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

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 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. 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 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 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 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 également calculables à partir d'une analyse fréquentielle du signal.

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 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 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 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 état e la valeur suivante : P e = ∑ 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 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 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é.

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 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 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 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 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 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

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

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 (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 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 (a travers le calcul des paramètres de niveau 1 et 2 et le tirage probabiliste)

S. on déroule la séquence d'animation de l'état joyeux vers l'état neutre (dans sa version sans paroles) 10. l'état cible neutre est atteint

11.1e 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 13. les paramètres de niveau 1 indiquent la présence de paroles (correspondant à "Comment ça va ?")

14. les paramètres de niveau 2 indiquent une voix ' interrogative

15.1 ' état cible neutre est à nouveau atteint

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.

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 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 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 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 silence (IdIe 2) : 50

é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 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 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 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 :

Speak : valeur binaire qui indique si on est en train de parler

SpeakTime : durée écoulée depuis le début de la période de parole

MuteTime : durée écoulée depuis le début de la 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 second niveau :

- IDLE : NOT (Speak) x MuteTime

- SPEAK : Speak

- NEUTRAL : NOT (Speak)

- GREETING : Speak & (Speaklndex =1) Les coefficients associés aux états sont par exemple donnés par le Tableau I ci-après :

TABLEAU I

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 2 dans le Tableau II ci-après.

TABLEAU II

Tl : Etat courant = Neutral

U Speak = 1 " IDLE = 0 a SpeakTime = 0.01 sec " SPEAK = 1 a MuteTime = 0 sec - NEUTRAL = 0 a Speaklndex = 1 " GREETING = 1

T2 : Etat courant = Greeting m - IDLE = 0.01

B Speak = 0 - SPEAK = 0 a SpeakTime = 0 sec » NEUTRAL = 1

B MuteTime = 0 .01 sec " GREETING = 0 m Speaklndex = ]_

T3 : Etat courant = Neutràl m Speak = 0 - IDLE = 0.5 m SpeakTime = 0 sec - SPEAK = 0 a MuteTime = 1 .5 sec - NEUTRAL = 1 a Speaklndex = i • GREETING = 0

T4 : Etat courant = Neutral a Speak = 1 " IDLE = 0

SpeakTime = 0.01 sec SPEAK = 1 MuteTime ≈ 0 sec NEUTRAL = 0 Speaklndex = 2 GREETING = 0

La probabilité relative des états suivants est alors donnée dans le Tableau III ci-après.

TABLEAU III

Tl T2

• Neutral = 0 Neutral = 1

» Speaki = = 1 Speaki = 0

" Speak2 = = 1 .2 Speak2 = 0

• Greeting — 2.5 Greeting = 0

- IdIeI = 0 IdIeI = 0.02

- Idle2 = 0 Idle2 = 0.01

T3 T4

" Neutral = 1 • Neutral = 0

• Speaki = = 0 • Speaki = = 1

- Speak2 = = 0 • Speak2 = = 1 .2

* Greeting = 0 • Greeting = 0

- IdIeI = 1 - IdIeI ≈ 0

- Idle2 = 0 5 - Idle2 = 0

Ce qui donne dans l'exemple choisi le tirage des probabilités correspondant au Tableau IV suivant :

TABLEAU IV

Tl : Etat Courant =Neutral T2 : Etat Courant = Greeting

Speakl Neutral tirage

Speak2

Greeting tirage

Etat suivant = Greetiαε Etat suivant = Neutral

T3 : Etat Courant = Neutral T4 : Etat Courant = Neutral

Neutral Speakl tirage

Miel Speak2 tirage

Idle2

Etat suivant = Neutral Etat Suivant = Speak2

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 .

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

• 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 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 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 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 .