FR 2836249 A1 20030822 FR 0202178 A 20020218 La présente invention concerne un procédé de synchronisation des interactions multimodales spécifiquement adapté à la présentation d'un contenu multimodal sur un support multimodal tel qu'un terminal téléphonique mobile. Ce procédé est particulièrement adapté à la présentation d'interactions multimodales graphiques et vocales sur les téléphones portables utilisant les réseaux cellulaires tels que GSM (Global System Mobile), GPRS (General Packet Radio Service) ou UMTS (Universal Mobile Telecommunication Service). D'une manière générale, on sait qu'un contenu multimodal est un ensemble de documents électroniques et/ou d'applications logicielles qui supportent des modes multiples d'interaction homme/machine utilisables simultanément et de manière synchronisée. Le mode graphique et le mode vocal sont les principaux modes d'interaction homme/machine utilisés actuellement. Ces deux modes qui sont couramment utilisés de façon individuelle présentent chacun un certain nombre d'inconvénients qui leur sont spécifiques : * il est difficile à quiconque de saisir ou de lire des données sur des équipements de taille réduite (petits claviers et écrans). Certains handicaps physiques peuvent également rendre ces opérations difficiles, voire impossibles, sur des équipements de taille normale. * la reconnaissance vocale fait encore des erreurs qui peuvent être bloquantes si elles sont répétées ; elle est également difficile, voire inaccessible à certains utilisateurs. * la voix est séquentielle et non persistante ; elle rend longue la présentation d'une information volumineuse et nécessite une capacité et un effort de mémorisation pour en effectuer une analyse efficace. Un mode de présentation uniquement vocal est difficile voire inaccessible aux sourds ou malentendants. Par ailleurs, il s'avère que les langages et systèmes actuels de création de contenu ne sont pas adaptables à la création de contenu multimodal en raison de la complexité introduite par une telle adaptation, en effet : * le langage XHTML (Extensible HyperText Markup Language) ou sa version précédente : HTML est le plus utilisé pour la création de contenus graphiques accessibles sur Internet. Il est relativement facile d'utilisation par l'homme et la machine car il représente assez fidèlement, dans une forme textuelle, un modèle de documents qui définit les divers objets qui composent un document graphique, leurs propriétés, et leurs relations entre eux. Cependant, il est verbeux et complexe car les objets définis par ce modèle sont de granularité très fine. De plus, il ne permet pas de décrire une séquence d'interactions dans le temps et ce processus, lorsqu'il est absolument nécessaire, doit être décrit dans un langage de programmation tel que JavaScript. * dans certains cas, les auteurs peuvent choisir d'abandonner la description de leur intention spécifique en matière de processus interactif et de déléguer la gestion du processus à l'utilisateur en divisant le document en plusieurs documents de taille réduite, substituant ainsi une série de transitions d'un sous-document à l'autre (navigation) à la description du processus. Cette méthode a pour inconvénients de briser l'unité du document original, d'augmenter la quantité et la complexité des interventions de l'utilisateur, de diminuer la prévisibilité du processus et de complexifier la mise à jour du document de manière proportionnelle au nombre de sous-documents produits. * le mode d'interaction vocal étant séquentiel par nature, toute utilisation d'un modèle de documents similaire pour la définition de contenu multimodal entraînerait la nécessité pour l'auteur d'utiliser un langage de programmation ou, dans le meilleur des cas, de diviser le document en une myriade de sous-documents, avec tous les inconvénients que cette méthode comporte. * le langage VoiceXML (Voice Extensible Markup Language) qui est un standard émergeant pour la création de contenu vocal accessible par téléphone, permet la représentation d'un processus interactif par la description de ce processus dans le flot du document. Ce faisant, il s'apparente malheureusement principalement à un langage de programmation et sa relation avec un quelconque modèle objet de document est diluée par les informations qui définissent le processus interactif. Il apparaît donc que la réutilisation de langages et modèles de documents existants pour la description d'un contenu multimodal introduit une complexité inappropriée. Une solution qui consisterait à produire deux documents, l'un contenant les interactions vocales, sur le modèle VoiceXML, et l'autre contenant les informations graphiques, sur le modèle XHTML, nécessiterait la production d'un troisième document décrivant la synchronisation entre les divers éléments de ces deux modèles. Outre l'évidente complexité de production associée à cette méthode, ce principe imposerait à l'auteur de décider si les informations textuelles doivent être reproduites de façon graphique ou vocale lors de la création du contenu, alors que ce choix dépend des équipements disponibles lors de la reproduction ainsi que des capacités et préférences spécifiques de l'utilisateur. Ces critères étant difficilement prévisibles au moment de la création du contenu, cette technique, outre l'accumulation des difficultés de production, limiterait considérablement le nombre potentiel d'utilisateurs du contenu et la qualité de sa présentation. Par le brevet FR 0 200 368, la Demanderesse a déjà proposé un dispositif de production et de présentation de contenu multimodal utilisant un modèle de document unique qui définit des objets de haut niveau décrivant implicitement le processus interactif. Ce document décrit notamment un objet de type diaporama présentant successivement les images et le texte qui leur est optionnellement associé. Chaque image est présentée pendant une durée minimale fixée par l'auteur, sous la forme d'un attribut de chaque image ou du diaporama lui-même, et une durée maximale correspondant au temps d'énoncé du texte, plus d'optionnelles marges sonores, lorsque la présentation du texte est réalisée en mode vocal. Si l'auteur souhaite laisser à l'utilisateur la décision du moment de la transition, il l'indique simplement par un attribut manuel plutôt que automatique du diaporama. Sans indication particulière de la part de l'auteur, le choix du mode de transition peut être laissé à l'utilisateur, l'interaction spécifique à cette option devant être produite automatiquement par un serveur de présentation. Pour reproduire les étapes de présentation graphiques sur l'écran d'un terminal téléphonique mobile, chacune de ces étapes doit être transférée au terminal sur le canal de données alors que les étapes vocales correspondantes doivent résider sur un serveur vocal accédé par le terminal via le canal vocal (liaison téléphonique). La distribution physique des étapes de présentation graphiques et vocales, respectivement sur le terminal téléphonique mobile et sur un serveur vocal, introduit plusieurs problèmes de synchronisation de la présentation multimodale. L'invention a donc plus particulièrement pour but de supprimer tous ces inconvénients. A cet effet, elle propose un procédé pour l'optimisation des interactions multimodales avec un utilisateur sur un support multimodal, ce procédé consistant à exploiter simultanément et de façon synchronisée au moins deux modes multiples d'interaction homme/machine distincts sur ledit support multimodal. Bien entendu, cette exploitation devra tenir compte : * des caractéristiques de l'information (sa nature, son volume...), * des caractéristiques des équipements de reproduction et d'acquisition de ces informations (dimensions, fidélité, précision...) * des capacités et préférences de l'utilisateur. Avantageusement, les deux modes d'interaction homme/machine pourront consister en les deux modes principaux, à savoir le mode graphique et le mode vocal. Le susdit support multimodal pourra quant à lui consister en un terminal téléphonique mobile associé à un réseau cellulaire, tel que GSM, GPRS ou UMTS. Dans ce cas, le procédé selon l'invention pourra faire intervenir, outre le terminal téléphonique mobile, un premier serveur pouvant communiquer avec le terminal téléphonique mobile par l'intermédiaire d'un premier canal de transmission, un second serveur pouvant communiquer avec le terminal téléphonique mobile par l'intermédiaire d'un deuxième canal de transmission et un troisième serveur contenant le document multimodal. Le procédé pourra alors comprendre une séquence de chargement et de présentation du contenu multimodal comportant les phases opératoires suivantes : l'émission par le terminal téléphonique mobile à destination du troisième serveur d'une requête de présentation du document multimodal, * le transfert du document multimodal au premier serveur, * la génération par le premier serveur d'étapes de présentation vocales et graphiques ainsi que du code de synchronisation, * le transfert par le premier serveur des étapes de présentation vocales au deuxième serveur, * le transfert par le premier serveur des étapes de présentation graphiques et du code de synchronisation au terminal téléphonique mobile, * l'établissement d'une connexion téléphonique avec le second serveur une fois ledit transfert réalisé, * l'établissement d'un dialogue entre le second serveur et le terminal téléphonique mobile lorsque la connexion téléphonique est établie. Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence au dessin annexé dans lequel : La figure unique est une représentation schématique du processus de communication multimodal. Dans cet exemple, le support multimodal consiste en un terminal téléphonique mobile, par exemple de type UMTS, pouvant adresser des requêtes sur le réseau Internet en vue d'effectuer le transfert du document multimodal émanant d'une entité connectée au réseau Internet à destination d'un premier serveur dit serveur de présentation pouvant communiquer avec le terminal téléphonique mobile par l'intermédiaire d'un canal de données. Le serveur de présentation est conçu de manière à pouvoir transférer à un second serveur dit serveur vocal les étapes de présentation vocales associées au document multimodal. Ce serveur vocal communique bidirectionnellement avec le terminal téléphonique mobile par l'intermédiaire d'un canal vocal. Le chargement et la présentation du document multimodal sur le terminal téléphonique mobile s'effectuent selon une séquence opératoire comprenant les phases suivantes : le terminal téléphonique mobile 1 envoie une requête (flèche 2) de présentation d'un document multimodal 3, à destination du troisième serveur 4 ; le serveur de présentation 5 effectue la récupération (flèche 6) du document multimodal 3 et génère les étapes de présentation graphiques ainsi que le code de synchronisation (bloc 7) et les étapes de présentation vocales ; le serveur de présentation 5 effectue le transfert (flèche 8) des étapes de présentation vocales au serveur vocal 9 ; puis effectue le transfert (flèche 10) des étapes de présentation graphiques et du code de synchronisation au terminal téléphonique mobile 1 ; une fois le transfert (flèche 10) réalisé, le terminal mobile 1 établit une connexion téléphonique (flèche l l) avec le serveur vocal 9 ; une fois cette connexion téléphonique (flèche 11) établie et identifiée, le serveur vocal 9 peut assurer une communication vocale bidirectionnelle (flèche 12) avec l'utilisateur du terminal téléphonique mobile 1. On obtient ainsi une interaction multimodale spécifiquement adaptée à la présentation du document multimodal. D'une façon plus précise, en vue d'assurer le chargement et la présentation du document multimodal 3, l'utilisateur désigne au serveur de présentation 5 des données d'identification du document multimodal (requête de présentation du document). Cette requête (flèche 2) est typiquement une requête HTTP (HyperText Transfert Protocol) transmise sur Internet au serveur de présentation. Suite à cette requête, le serveur de présentation 5 récupère le document multimodal désiré (flèche 6) et le transforme en : - une suite d'étapes de présentation graphiques, - une suite d'étapes de présentation vocales correspondantes, et - un code exécutable de synchronisation. Les étapes de présentation vocales sont transférées (flèche 8) sur le serveur vocal 9 et les informations sonores pourront être reproduites à l'utilisateur lorsqu'une connexion téléphonique sera établie entre le terminal téléphonique mobile 1 et le serveur vocal 9. Les étapes graphiques et le code de synchronisation sont transférés (flèche 10) au terminal téléphonique mobile 1 en tant que contenu de la réponse à la requête (flèche 2). Il s'avère que les terminaux et réseaux actuels GSM et GPRS ne permettent pas l'accès au canal"données"lorsqu'une liaison téléphonique (connexion du canal vocal) est établie. De ce fait, il n'est pas imaginable de transférer les étapes graphiques une à une au terminal téléphonique mobile 1 car la transition d'une étape à l'autre serait trop longue, ajoutant le délai de la déconnexion/reconnexion du canal vocal au délai déjà"inconfortable"du transfert individuel de l'étape graphique. Les réseaux et terminaux de 3ème génération (UMTS) permettront d'effectuer des requêtes de données sans déconnecter la liaison téléphonique. Néanmoins, transférer le plus d'étapes possibles en une seule réponse permet de minimiser le temps d'attente au passage d'une étape à l'autre et de bénéficier de manière optimale des algorithmes de compression de données utilisés pour leur transfert vers le terminal. Le transfert simultané de plusieurs étapes de présentation graphiques sur le terminal téléphonique mobile 1 nécessite que la synchronisation des étapes de présentation graphiques et vocales soit réalisée par le terminal téléphonique mobile 1 lui-même, car le serveur de présentation 5 ne recevra aucune indication du passage d'une étape graphique à l'autre. Le code de synchronisation spécifique à ces étapes téléchargées, généré par le serveur de présentation, sera donc transféré au terminal téléphonique mobile 1 en même temps que les étapes de présentation graphiques, dans une forme exécutable par le terminal téléphonique mobile 1. Pour la simplicité de cette description, on supposera que le document multimodal est d'une taille suffisamment faible et d'une complexité suffisamment restreinte pour que les étapes graphiques et le code de synchronisation produits soient d'un volume convenable à leur transfert en une seule fois, en tant que réponse à la requête (flèche 2). Cette supposition n'affecte en rien le procédé précédemment décrit. Une fois le transfert (flèche 10) réalisé, le terminal téléphonique mobile 1 établit une connexion téléphonique (flèche 11) avec le serveur vocal 9. L'établissement de cette connexion est réalisé par une étape initiale du code de synchronisation, préférablement associée à une étape graphique, générée automatiquement par le serveur de présentation 5, qui indique à l'utilisateur que la connexion (flèche 11) est en cours. La demande de connexion (flèche 11) doit généralement être confirmée par l'utilisateur (dialogue généré par le terminal téléphonique mobile lui-même, selon les constructeurs) mais il s'agit d'une simple confirmation beaucoup plus simple et rapide qu'un appel manuel de la part de l'utilisateur. Une fois la connexion téléphonique établie et identifiée (flèche 12), le serveur vocal peut reproduire une information vocale à l'utilisateur ou acquérir des informations vocales de cet utilisateur. Les étapes, décrites ci-dessus, de chargement et de présentation d'un contenu multimodal sur un terminal téléphonique mobile, nécessitent de résoudre les problèmes de synchronisation suivants : * Identification de la connexion téléphonique : Lors de l'établissement de la connexion téléphonique (flèche 12), le serveur vocal 9 doit identifier à quelle requête (flèche 2) cette connexion est associée pour identifier les étapes de présentation vocales qui doivent être reproduites sur cette connexion, en effet : Plusieurs utilisateurs peuvent utiliser le système simultanément et le serveur vocal 9 doit déterminer quelles étapes vocales correspondent à la requête spécifique de cet utilisateur. Une connexion téléphonique avec le serveur vocal 9 peut provenir d'un équipement téléphonique quelconque et ne résulter d'aucune requête spécifique de présentation multimodale (erreur de numérotation, par exemple). * Indication au serveur vocal 9 de la transition à une nouvelle étape graphique : La transition à une nouvelle étape graphique est provoquée soit par une action de l'utilisateur sur le terminal téléphonique mobile (transition explicite dans l'étape graphique courante), soit par le code de synchronisation (transition à l'étape graphique initiale après établissement et identification de la connexion téléphonique (flèche 12) ou échéance d'un délai de présentation de l'étape précédente). Dans le premier cas au moins, la séquence d'étapes graphiques invoquées par l'utilisateur ne correspond pas nécessairement à la séquence dans laquelle les étapes vocales correspondantes sont générées par le module de présentation 5 et transférées au serveur vocal 9 de sorte que le serveur vocal ne peut présupposer d'aucune séquence dans laquelle les étapes vocales devront être reproduites. Une fois la connexion téléphonique établie (flèche 12) et correctement associée à une série d'étapes de présentation vocales, le serveur vocal 9 doit être informé des transitions d'une étape graphique à l'autre pour : - stopper la présentation sonore de l'étape courante, le cas échéant, - démarrer la présentation de l'étape sonore qui correspond à la nouvelle étape graphique. * Synchronisation de l'acquisition d'information par reconnaissance vocale : Lorsqu'une étape interactive de présentation graphique comportera l'acquisition d'une information de l'utilisateur (étape d'un formulaire, par exemple). Ces informations pourront être produites, au choix de l'utilisateur, soit par entrée clavier (graphique) ou par reconnaissance vocale. Lorsque l'utilisateur entre l'information en mode graphique, l'utilisateur indique qu'il a terminé sa saisie et provoque le passage à l'étape graphique suivante lorsqu'il est satisfait que l'information est correcte (exempte de faute de frappe). Lorsque l'utilisateur désire entrer l'information par reconnaissance vocale, le serveur vocal 9 doit être informé de ce choix pour démarrer son activité de reconnaissance et le terminal téléphonique mobile 1 doit également être informé du fait que la reconnaissance de l'information a été correctement effectuée de manière à passer à l'étape graphique suivante, or la représentation textuelle de l'information acquise réside sur le serveur vocal 9 et non sur le terminal téléphonique mobile 1 de sorte que l'utilisateur ne peut pas visualiser ce texte pour juger de son exactitude. * Synchronisation d'une transition automatique à l'étape de présentation suivante : Certaines transitions d'une étape de présentation à l'autre ne sont pas provoquées par l'utilisateur. Il s'agit par exemple du passage automatique d'une diapositive à l'autre pour la présentation d'un diaporama en mode automatique. Dans ce cas, il est nécessaire que le code de synchronisation soit informé de la fin de l'énoncé du commentaire de la diapositive courante avant de provoquer une transition automatique à la diapositive suivante. Dans certaines applications, il est également souhaitable de retarder la transition à l'étape suivante demandée par l'utilisateur pour permettre la reproduction sonore d'une information qui lui confirmera la prise en compte et/ou la nature de son action. Dans ces deux cas, le moment où la reproduction sonore sera terminée est une information nécessaire au code de synchronisation pour déterminer le moment optimal de passage effectif à l'étape suivante. Le code de synchronisation s'exécutant sur le terminal téléphonique mobile 1 alors que la reproduction sonore s'exécute sur le serveur vocal 9 pose un problème particulier d'indication de cette information. Afin de résoudre les problèmes cités précédemment, l'invention propose les moyens suivants permettant la synchronisation des interactions multimodales, à savoir : * un mode d'identification de la connexion téléphonique (flèche 11) incluant : - l'association d'un identifiant unique de la session utilisateur aux étapes de présentation vocales transférées (flèche 8) par le serveur de présentation 5 au serveur vocal 9, - l'indication au serveur vocal 9 sur la connexion téléphonique nouvellement établie (flèche 11) du susdit identifiant unique de la session utilisateur, * le susdit mode d'identification de la connexion téléphonique (flèche 11) utilisant un code ou une séquence de codes DTMF (Dual Tone MultiFrequency) pour l'indication au serveur vocal 9 sur la connexion téléphonique nouvellement établie (flèche 11) de l'identifiant unique de la session utilisateur, * un mode d'indication au serveur vocal 9 de la transition à une nouvelle étape graphique consistant à indiquer à partir du terminal téléphonique mobile 1 chaque transition à une nouvelle étape graphique par l'envoi d'un ou plusieurs codes DTMF au serveur vocal 9 sur la connexion téléphonique (flèche 11), * un mode de transition à l'étape graphique suivante après reconnaissance vocale incluant : - l'indication au serveur vocal 9 de la volonté de l'utilisateur d'entrer une information spécifique par reconnaissance vocale, - l'indication à l'utilisateur du démarrage de l'acquisition vocale pour cette information spécifique, - une rétroaction audio de l'information acquise par le serveur vocal 9, - une confirmation par l'utilisateur au terminal téléphonique mobile 1 du succès de cette acquisition, * un mode de transition à l'étape graphique suivante après reconnaissance vocale utilisant le transfert d'un ou de plusieurs codes DTMF sur le canal vocal 12 pour l'indication au serveur vocal 9 de la volonté de l'utilisateur d'entrer une information spécifique par reconnaissance vocale, * un mode de transition à l'étape graphique suivante après reconnaissance vocale utilisant la synthèse vocale pour une rétroaction vocale de l'information acquise par le serveur vocal 9, * un mode de synchronisation d'une transition automatique à l'étape de présentation suivante consistant en ce que le code de synchronisation généré par le serveur de présentation 5 comprend la durée de reproduction de tous les composants sonores susceptibles d'influencer la synchronisation. Revendications 1-Procédé pour l'optimisation des interactions multimodales avec un utilisateur sur un support multimodal, caractérisé en ce qu'il consiste à exploiter simultanément et de façon synchronisée au moins deux modes d'interaction homme/machine distincts sur ledit support multimodal. 2-Procédé selon la revendication 1, caractérisé en ce que les deux modes d'interaction homme/machine consistent en le mode graphique et le mode vocal. 3-Procédé selon l'une des revendications précédentes, caractérisé en ce que le susdit support multimodal consiste en un terminal téléphonique mobile associé à un réseau cellulaire. 4-Procédé selon la revendication 3 faisant intervenir, en plus du susdit terminal téléphonique mobile, un premier serveur pouvant communiquer avec le susdit terminal téléphonique mobile par l'intermédiaire d'un premier canal de transmission, un second serveur pouvant communiquer avec le susdit terminal téléphonique mobile par l'intermédiaire d'un second canal de transmission et un troisième serveur contenant un document multimodal, caractérisé en ce qu'il comprend une séquence de chargement et de présentation du contenu multimodal comportant les phases opératoires suivantes : l'émission par le terminal téléphonique mobile à destination du troisième serveur d'une requête de présentation du document multimodal, * le transfert du document multimodal au premier serveur, * la génération par le premier serveur d'étapes de présentation vocales et graphiques ainsi que du code de synchronisation, * le transfert par le premier serveur des étapes de présentation vocales au deuxième serveur, * le transfert par le premier serveur des étapes de présentation graphiques et du code de synchronisation au terminal téléphonique mobile, * l'établissement d'une connexion téléphonique avec le second serveur une fois ledit transfert réalisé, * l'établissement d'un dialogue entre le second serveur et le terminal téléphonique mobile lorsque la connexion téléphonique est établie. 5-Procédé selon l'une des revendications précédentes, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode d'identification de la connexion téléphonique (flèche 11) incluant : - l'association d'un identifiant unique de la session utilisateur aux étapes de présentation vocales transférées (flèche 8) par le serveur de présentation (5) au serveur vocal (9), - l'indication au serveur vocal (9) sur la connexion téléphonique nouvellement établie (flèche 11) du susdit identifiant unique de la session utilisateur, 6-Procédé selon la revendication 5, caractérisé en ce que le susdit mode d'identification de la connexion téléphonique (flèche 11) utilise un code ou une séquence de codes DTMF pour l'indication au serveur vocal (9) sur la connexion téléphonique nouvellement établie (flèche 11) de l'identifiant unique de la session utilisateur. 7-Procédé selon l'une des revendications précédentes, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode d'indication au serveur vocal (9) de la transition à une nouvelle étape graphique consistant à indiquer à partir du terminal téléphonique mobile (1) chaque transition à une nouvelle étape graphique par l'envoi d'un ou plusieurs codes DTMF au serveur vocal (9) sur la connexion téléphonique (flèche 11). 8-Procédé selon l'une des revendications précédentes, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode de transition à l'étape graphique suivante après reconnaissance vocale incluant : - l'indication au serveur vocal (9) de la volonté de l'utilisateur d'entrer une information spécifique par reconnaissance vocale, - l'indication à l'utilisateur du démarrage de l'acquisition vocale pour cette information spécifique, - une rétroaction audio de l'information acquise par le serveur vocal (9), - une confirmation par l'utilisateur au terminal téléphonique mobile (1) du succès de cette acquisition. 9-Procédé selon la revendication 8, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode de transition à l'étape graphique suivante après reconnaissance vocale qui utilise le transfert d'un ou de plusieurs codes DTMF sur le canal vocal (12) pour l'indication au serveur vocal (9) de la volonté de l'utilisateur d'entrer une information spécifique par reconnaissance vocale. 10-Procédé selon la revendication 8, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode de transition à l'étape graphique suivante après reconnaissance vocale qui utilise la synthèse vocale pour une rétroaction vocale de l'information acquise par le serveur vocal (9). 11-Procédé selon l'une des revendications 1 à 4, caractérisé en ce que la synchronisation des interactions multimodales utilise un mode de synchronisation d'une transition automatique à l'étape de présentation suivante consistant en ce que le code de synchronisation généré par le serveur de présentation (5) comprend la durée de reproduction de tous les composants sonores susceptibles d'influencer la synchronisation.