Brevet FR2819669A1 — publié le 20020719

PROCEDE ET EQUIPEMENT POUR LA GESTION DES INTERACTIONS ENTRE UN PERIPHERIQUE DE COMMANDE ET UNE APPLICATION MULTIMEDIA EXPLOITANT LA NORME MPEG-4 La présente invention concerne la gestion de l'interaction d'un utilisateur de multimédia sur un terminal multimédia. L'interaction peut être de n'importe quel type, à savoir textuelle, vocale et à base de gestes bidimensionnels et tridimensionnels. Les interactions sont saisies par n'importe quel dispositif d'entrée de base tel qu'une souris, un joystick, un clavier, des systèmes de reconnaissance et de synthèse vocale ou des interfaces d'analyse de position des yeux/de gestes impliquant six degrés de liberté. L'interaction multimédia est envoyée à une plate-forme intégrée à la norme internationale MPEG-4. Contexte de l'invention La norme MPEG-4 (ISO/IEC 14496) définit un système pour la communication de scènes audiovisuelles interactives. Conformément à la présente description, l'utilisateur final a la possibilité d'interagir avec la scène multimédia. L'interaction de l'utilisateur peut être traitée localement côté client ou retransmise au terminal d'envoi pour traitement. Le système MPEG-4 définit le format binaire de description de scène (BIFS : BInary Format for Scene) qui concerne l'organisation de l'objet audiovisuel dans une scène. Les comportements des objets et leur réponse aux informations introduites par l'utilisateur peuvent être représentés au format BIFS au moyen de sources et de cibles (itinéraires) d'événements ainsi que par des capteurs (noeuds spéciaux qui peuvent déclencher des événements). L'interaction côté client consiste en la modification des attributs des objets de la scène conformément aux actions spécifiées par l'utilisateur. Cependant, le système MPEG-4 ne définit pas une interface utilisateur particulière ou un mécanisme qui mappe l'interaction de l'utilisateur en événements BIFS. Un sous-ensemble de la description BIFS, appelé BIFS-Command, permet la modification des propriétés du graphisme de la scène, de ses modes et de ses comportements. BIFS-Command est utilisé pour modifier un ensemble de propriétés de la scène à un instant donné. Les commandes sont regroupées dans des CommandFrames afin de permettre l'envoi de plusieurs commandes dans une unité d'accès unique. Les quatre commandes de base suivantes sont définies : remplacement d'une scène entière, insertion, effacement et remplacement. Les trois dernières commandes peuvent être utilisées pour mettre à jour les structures suivantes : un noeud, un eventin, un exposedField ou une valeur indexée dans un MFField ou un itinéraire. Une identification d'un noeud dans la scène est fournie par un nodeID. L'identification des champs d'un noeud est fournie par le INid du champ. L'autre sous-ensemble de la description BIFS, appelé BIFS-Anim, concerne la mise à jour continue de certains champs de noeuds dans le graphisme de la scène. BIFS-Anim est utilisé pour intégrer différents types d'animations, y compris la possibilité d'animer des modèles de visage et de corps ainsi que des maillages, des positions bidimensionnelles et tridimensionnelles, des rotations, des facteurs d'échelle et des attributs de couleur. BIFS-Anim spécifie un flux, les procédures de codage et de décodage, pour animer certains noeuds de la scène qui comportent des champs dynamiques particuliers. L'inconvénient majeur de BIFS-Anim dans le cadre de la présente invention est le suivant : BIFS-Anim ne spécifie pas comment animer tous les champs susceptibles d'être mis à jour de tous les noeuds d'une scène. De plus, BIFSAnim utilise un masque d'animation qui fait partie des informations de configuration du décodeur. Le masque d'animation n'est pas modifiable par une interaction directe de l'utilisateur. Par conséquent, BIFS-Anim n'est pas adapté pour l'interaction utilisateur qui nécessite un niveau élevé de flexibilité et la possibilité de modifier dynamiquement les noeuds de la scène à modifier. MPEG-J est un système programmatique qui spécifie les interfaces pour l'interopérabilité d'un diffuseur de média MPEG-4 avec le code Java. Le code Java est fourni au terminal MPEG-4 en tant que flux élémentaire distinct. Ici, il sera dirigé vers l'environnement d'exécution MPEG-J, qui comprend une machine virtuelle Java, à partir duquel le programme MPEG-J aura accès aux divers composants du diffuseur de média MPEG-4. SceneGraph API fournit un mécanisme par lequel les applications MPEG-J accèdent à la scène utilisée pour la composition par le diffuseur de média BIFS et la manipulent. Il s'agit d'une interface de niveau bas, permettant à l'application MPEG-J de surveiller les événements de la scène et de modifier l'arborescence de la scène d'une manière programmatique. Des noeuds peuvent également être créés et manipulés, mais seuls les champs des noeuds pour lesquels une identification de noeud a été définie sont accessibles à l'application MPEG-J. Une mise en oeuvre MPEG-J a un besoin en ressources trop important pour de nombreuses applications, notamment les dispositifs tenus en main et les décodeurs. Ainsi, MPEG-J n'est pas approprié à la définition des procédures d'interaction utilisateur disponibles sur les terminaux présentant des capacités limitées. L'étude ci-dessus décrit et examine brièvement les principaux procédés qui pourraient être utilisés pour gérer les interactions des utilisateurs de multimédia. Le point suivant concerne les architectures de gestion d'interaction actuelles. Jusqu'à présent, il n'existait que deux manières d'aborder l'interaction. Dans le cadre MPEG-4 et uniquement pour les interactions de pointeur, le dispositif de composition est chargé du transcodage des événements provenant de l'utilisateur en modifications de scène. Les autres interactions doivent être mises en oeuvre en dehors du MPEG-4 dans une application spécifique et, par conséquent, l'interopérabilité est perdue. Les deux systèmes sont trop limités, étant donné que l'interactivité devient le principal souci des systèmes de communication. Le présent document propose des procédés et un système génériques pour gérer l'interaction de l'utilisateur sur le terminal de l'utilisateur. Le système est une extension des spécifications des systèmes MPEG-4. Il spécifie comment mapper les interactions de l'utilisateur vers les événements BIFS, en réutilisant l'architecture des systèmes MPEG-4. Il est générique parce qu'il peut traiter tous les types d'interactions utilisateur, des dispositifs d'entrée primitifs (souris, claviers) aux dispositifs d'entrée complexes (dispositifs d'entrée à 6 degrés de liberté, système de reconnaissance vocale). Par la réutilisation de simples outils existant uniquement, cette plate-forme est utilisable dans toutes les situations, y compris celles nécessitant un niveau très faible de complexité. Avec cette nouvelle approche de l'interaction de l'utilisateur, les données générées par un simple dispositif ou par une application complexe sont considérées comme un flux d'interactions MPEG-4 et, par conséquent, les opérations similaires à celles appliquées à n'importe quel flux de données élémentaire, sont appliquées, c'est-à-dire qu'elles utilisent le pipeline de décodage standard. On connaît dans l'état de la technique le brevet W00000898 concerne une interaction multiutilisateur pour une communication multimédia qui consiste à générer un message sur un ordinateur utilisateur local, le message contenant des données média orientées objet (p. ex. un flux de données audio numériques ou un flux de données vidéo numériques ou les deux) et à transmettre le message a un ordinateur utilisateur a distance. L'ordinateur utilisateur local affiche une scène comprenant les données media orientées objet et partagée entre l'ordinateur utilisateur local et l'ordinateur utilisateur à distance. Ce dernier construit le message à l'aide d'un type de gestionnaire de messages. L'interaction multi-utilisateur pour communication multimédia est une extension de la Version 1 MPEG-4. Un autre brevet PCT W09939272 concerne un système de communication interactive base sur MPEG-4, on peut utiliser des descripteurs de commande avec des noeuds d'acheminement de commande ou des voies d'acheminement de serveur dans la description de scène afin d'apporter un support à l'interactivité spécifique pour l'application. On peut aider à la sélection du contenu en indiquant la présentation dans des paramètres de commande, la commande ID indiquant que la commande est une commande de sélection de contenu. On peut créer une scène initiale comportant plusieurs images et un texte décrivant une présentation associée a une image. Un descripteur de sélection de contenu est associé à chaque image et au texte correspondant. Quand l'utilisateur clique sur une image, le client transmet la commande contenant la présentation sélectionnée et le serveur déclenche une nouvelle présentation. On peut mettre en application cette technique dans tout contexte d'application, de la même façon qu'on peut utiliser HTTP et CGI pour mettre en oeuvre toute fonctionnalité d'application basée sur un serveur. Etant donné que les informations d'interaction de l'utilisateur peuvent être gérées de la même manière qu'un flux élémentaire ordinaire, l'invention propose d'utiliser un modèle similaire à celui présenté dans MPEG-4 afin de traiter les données d'interaction. A cet effet, l'invention concerne selon son acception la plus générale un 1-Procédé pour la gestion des interactions entre un périphérique de commande et une application multimédia exploitant la norme MPEG-4, ledit périphérique de commande délivrant des signaux numériques fonction d'action d'un utilisateur, caractérisé en ce qu'il comporte une étape de construction d'une séquence numérique présentant la forme d'un BIFS [Binary Format for Scene au sens de la norme MPEG-4], cette séquence comprenant un drapeau dont l'état permet ou interdit une interaction provenant d'un autre utilisateur, un champ comprenant la nature de l'action à exercer sur un objet de la scène et au moins un champ contenant un paramètre de ladite action, dont la valeur correspond à une variable délivrée par ledit périphérique, et une étape de transfert de ladite séquence numérique dans la mémoire de composition. Selon un mode de mise en oeuvre préféré, le transfert de ladite séquence numérique utilise le pipeline de décodage des systèmes MPEG-4 pour introduire les informations d'interaction dans le dispositif de composition. Avantageusement, le procédé comporte une étape de désignation de la destination des éléments d'interaction dans la scène. Selon une variante, il comporte une étape de signalisation de l'activité du dispositif associé. Selon un mode de mise en oeuvre particulier, l'étape de transfert de la séquence est réalisé sous la forme d'un flux comprenant au moins un descripteur de flux de transportent les informations nécessaires pour la configuration du pipeline de décodage avec le décodeur approprié. Selon une variante, l'étape de construction de ladite séquence est réalisée dans une mémoire tampon du terminal d'exécution de l'application multimédia. Selon une autre variante, l'étape de construction de ladite séquence est réalisée dans un décodeur doté de la même interface vers le dispositif de composition qu'un décodeur BIFS ordinaire pour exécuter les BIFS-Commands décodés sur la scène. Avantageusement, le flux d'interactions de l'utilisateur passe par un client DMIF associé au dispositif qui génère les unités d'accès à placer dans la mémoire tampon de décodage liée au décodeur correspondant. Selon un exemple spécifique, le flux d'interactions de l'utilisateur entre dans le décodeur correspondant, soit directement, soit à travers la mémoire tampon de décodage associée, raccourcissant ainsi le trajet suivi par le flux d'interactions de l'utilisateur. L'invention concerne également un équipement informatique comportant un calculateur pour l'exécution d'une application multimédia exploitant la norme MPEG-4 et au moins un périphérique pour la représentation d'une scène multimédia, ainsi qu'au moins un périphérique pour commande dit programme caractérisé en ce qu'il comporte en outre un circuit interface comprenant un circuit d'entrée pour recevoir les signaux d'un moyen de commande et un circuit de sortie pour délivrer une séquence de type BIFS, et un moyen pour la construction d'une séquence de sortie en fonction des signaux fournis par le périphérique d'entrée, conformément au procédé susvisé. L'invention sera mieux comprise à la lecture de la description qui suit, concernant un exemple non limitatif de réalisation, se référant aux dessins annexés, où : la figure 1 représente l'organigramme du modèle de décodeur du système ; la figure 2 représente le flux d'interactions de l'utilisateur. La figure 1 décrit le modèle standard. La figure 2 décrit le modèle dans lequel apparaissent deux concepts principaux : le décodeur d'interaction qui produit des unités de composition (CU) et le flux d'interactions de l'utilisateur. Les données peuvent, soit provenir de la mémoire tampon de décodage placée dans une unité d'accès (AU), si l'accès au gestionnaire de dispositif d'entrée est effectué par l'intermédiaire de DMIF (Delivery Multimedia Intégration Framework) du MPEG-4, soit passer directement du dispositif d'entrée au décodeur lui-même, si la mise en oeuvre est telle que le décodeur et le gestionnaire de dispositif d'entrée sont placés dans le même composant. Dans ce dernier cas, la mémoire tampon de décodage est inutile. Pour gérer l'interaction de l'utilisateur, les éléments suivants sont nécessaires : - un nouveau type de flux, prenant en compte les données d'interaction utilisateur (UI) ; - un nouveau noeud unique BIFS pour spécifier l'association entre le flux d'interactions de l'utilisateur et les éléments de la scène et, également, pour autoriser ou interdire cette interaction ; et, - un nouveau type de décodeur, pour interpréter les données provenant du dispositif d'entrée, ou peut-être de la mémoire tampon de décodage, et les transformer en modifications de scène. Ces modifications ont le même format que les BIFS-Commands. Autrement dit, la sortie du décodeur d'interaction est exactement équivalente à la sortie d'un décodeur BIFS. Le nouveau type de flux, appelé flux d'interactions de l'utilisateur (flux UI, voir tableau 1) est défini ici. Il est composé d'unités d'accès (AU) provenant d'un dispositif d'entrée (par exemple, une souris, un clavier, un gant de données,...). Afin d'être plus générique, la syntaxe d'une unité d'accès n'est pas définie ici. Elle pourrait être, sans y être limitée, identique à une autre unité d'accès provenant d'un autre flux élémentaire, si l'accès se fait par DMIF. Le type de flux spécifié ici comprend également le cas d'un dispositif local utilisé en tant que dispositif d'interaction. Ainsi, un dispositif local qui produit n'importe quel type d'objet défini par l'indication de type d'objet (Object Type Indication) du MPEG-4, tel qu'un objet visuel, un objet audio, est géré par la présente amélioration du modèle. Valeur de streamType Description du type de flux OxOA UserInteractionStream (flux d'interactions de l'utilisateur) OxOB. OxlF Réservé à l'utilisation ISO Tableau 1 : tableau des types de flux mis à jour La syntaxe du nouveau noeud BIPS, appelé InputSensor, est la suivante : InputSensor { exposedField SFBool enabled TRUE exposedField SFCommandBuffer interactionBuffer [] field SFUrl urI" eventOut SFBool isActive } Le champ"enabled"permet de contrôler si l'utilisateur souhaite ou non autoriser l'interaction qui provient des flux d'interactions d'utilisateur référencés dans le champ"url". Ce dernier spécifie le flux élémentaire à utiliser, comme décrit dans la plate-forme de description d'objet du MPEG-4. Le champ"interactionBuffer"est un SFCommandBuffer qui décrit ce que le décodeur doit faire du flux d'interactions spécifié dans"url". La syntaxe n'est pas obligatoire mais la sémantique de la mémoire tampon est décrite par l'exemple suivant : InputSensor { enabled TRUE interactionBuffer ["REMPLACER Nl. size", "REMPLACER N2. size"," REMPLACER N3. size"] ural"4" } Ce capteur récupère au moins trois paramètres provenant du dispositif d'entrée associé au descripteur d'objet 4 et remplace respectivement le champ"size"des noeuds Ni, N2 et N3 par les paramètres reçus. Le rôle du décodeur d'interaction utilisateur est de transformer les unités d'accès reçues, soit en provenance de la mémoire tampon de décodage, soit directement du dispositif d'entrée. Il les transforme en unités de composition (CU) et les place dans la Mémoire de composition (CM), comme spécifié par la norme MPEG-4. Les unités de composition générées par le décodeur du flux d'interactions utilisateur sont des BIFS-Updates, plus spécifiquement les commandes REMPLACER, comme spécifié par les systèmes MPEG-4. La syntaxe est strictement identique à celle définie par la norme MPEG-4 et déduite de la mémoire tampon d'interaction. Par exemple, si le dispositif d'entrée a généré l'entier 3 et si la mémoire tampon d'interaction contient"REMPLACER Nl. size", alors l'unité de composition sera le BIFS-Update décodé équivalent à "REMPLACER Nl. size par 3" REVENDICATIONS 1-Procédé pour la gestion des interactions entre un périphérique de commande et une application multimédia exploitant la norme MPEG-4, ledit périphérique de commande délivrant des signaux numériques fonction d'action d'un utilisateur, caractérisé en ce qu'il comporte une étape de construction d'une séquence numérique présentant la forme d'un BIFS [Binary Format for Scene au sens de la norme MPEG-4], cette séquence comprenant un drapeau dont l'état permet ou interdit une interaction provenant d'un autre utilisateur, un champ comprenant la nature de l'action à exercer sur un objet de la scène et au moins un champ contenant un paramètre de ladite action, dont la valeur correspond à une variable délivrée par ledit périphérique, et une étape de transfert de ladite séquence numérique dans la mémoire de composition. 2-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon la revendication 1 caractérisé en ce que le transfert de ladite séquence numérique utilise le pipeline de décodage des systèmes MPEG-4 pour introduire les informations d'interaction dans le dispositif de composition. 3-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon la revendication 1 ou 2 caractérisé en ce qu'il comporte une étape de désignation de la destination des éléments d'interaction dans la scène. 4-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon la revendication 1 ou 2 caractérisé en ce qu'il comporte une étape de signalisation de l'activité du dispositif associé. 5-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape de transfert de la séquence est réalisé sous la forme d'un flux comprenant au moins un descripteur de flux de transportent les informations nécessaires pour la configuration du pipeline de décodage avec le décodeur approprié. 6-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape de construction de ladite séquence est réalisée dans une mémoire tampon du terminal d'exécution de l'application multimédia. 7-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon l'une quelconque des revendications 1 à 6 caractérisé en ce que l'étape de construction de ladite séquence est réalisée dans un décodeur doté de la même interface vers le dispositif de composition qu'un décodeur BIFS ordinaire pour exécuter les BIFS-Commands décodés sur la scène. 8-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon l'une quelconque des revendications précédentes caractérisé en ce que le flux d'interactions de l'utilisateur passe par un client DMIF associé au dispositif qui génère les unités d'accès à placer dans la mémoire tampon de décodage liée au décodeur correspondant. 9-Procédé pour la gestion des interactions entre un périphérique de commande et une application informatique exploitant la norme MPEG-4 selon l'une quelconque des revendications précédentes caractérisé en ce que le flux d'interactions de l'utilisateur entre dans le décodeur correspondant, soit directement, soit à travers la mémoire tampon de décodage associée, raccourcissant ainsi le trajet suivi par le flux d'interactions de l'utilisateur. 10-Equipement informatique comportant un calculateur pour l'exécution d'une application multimédia exploitant la norme MPEG-4 et au moins un périphérique pour la représentation d'une scène multimédia, ainsi qu'au moins un périphérique pour commande dit programme caractérisé en ce qu'il comporte en outre un circuit interface comprenant un circuit d'entrée pour recevoir les signaux d'un moyen de commande et un circuit de sortie pour délivrer une séquence de type BIFS, et un moyen pour la construction d'une séquence de sortie en fonction des signaux fournis par le périphérique d'entrée, conformément au procédé selon la revendication 1.