FR 2908584 A1 20080516 FR 0654849 A 20061110 SYSTEME D'INTERACTION COLLABORATIVE AUTOUR D'OBJETS PARTAGES, PAR INTEGRATION D'IMAGES La présente invention concerne un système d'interaction collaborative autour d'au moins un objet partagé. L'invention s'applique de manière particulièrement avantageuse, mais non exclusive, au domaine technique des systèmes de réalité virtuelle, dans le cadre des services ou d'applications de travail collaboratif assisté par ordinateur TCAO (ou CSCW pour "Computer Supported Cooperative Work"). L'invention peut être notamment utilisée par des équipes de développement réparties, comme dans le domaine de l'aéronautique ou de l'automobile, ces équipes travaillant autour de maquettes numériques à trois io dimensions (3D) fournies par CAO (Conception Assistée par Ordinateur). Toutefois, l'invention peut être également proposée à d'autres secteurs d'activité impliquant un travail en commun d'une pluralité de personnes, comme les réunions de conception de produits, les réunions d'équipes médicales, etc. 15 De même, l'invention s'étend à tout type d'objets partagés, en 3D voire 2D, tels que maquettes numériques, documents, applications, etc. D'une manière générale, on définit un Environnement Virtuel 3D (EV) comme étant une représentation numérique d'un environnement en 3D pouvant imiter, ou non, le monde réel et dans lequel il est possible d'interagir. 20 Par ailleurs, on désigne par Environnement Virtuel Collaboratif 3D (EVC) un Environnement Virtuel 3D permettant à plusieurs personnes de collaborer à distance en temps réel et/ou différé au moyen d'un terminal informatique relié à un réseau de télécommunication. Dans les EVC 3D, il est possible de représenter les utilisateurs sous forme d'avatars divers, tels que des clones 25 3D, ceci dans le but de faciliter la communication et permettre une collaboration plus aisée. 2908584 2 Dans l'état de la technique, on trouve des systèmes de collaboration synchrone permettant à des participants distants de travailler ensemble et en même temps autour d'objets partagés : objets virtuels 3D, documents 2D tels que textes, feuilles de calcul, présentations, etc. 5 En particulier, le système Multimedia Conference proposé par la société France Télécom et son option de collaboration autour de maquettes numériques 3D est un exemple de système de collaboration synchrone basé sur le moteur collaboratif connu sous le nom de Spin-3D. Le moteur collaboratif Spin-3D est un Environnement Virtuel Collaboratif io (EVC) 3D synchrone permettant à plusieurs participants utilisateurs de collaborer en temps réel. On entend ici par collaboration synchrone la possibilité de disposer d'objets réellement partagés, modifiables par chacun des participants successivement ou simultanément. Le système s'appuie sur une architecture distribuée pour supporter la collaboration sur les objets 15 partagés. Chaque participant dispose d'une copie de chaque objet partagé, et dès lors qu'il opère une modification sur un tel objet depuis son poste local, les modifications réalisées sont automatiquement transmises aux postes distants des autres participants. Afin de faciliter l'interaction collaborative, Spin-3D permet, en plus de la 20 communication par le canal audio, de représenter les participants utilisateurs distants et leurs activités sous formes d'avatars 3D, ou de clones 3D réalistes, intégrés dans l'espace de travail collaboratif. Cet espace de travail collaboratif, appelé aussi scène, est composé par un module spécifique du moteur collaboratif désigné sous le nom de gestionnaire de scène. Ce module a pour 25 fonction de présenter aux participants les objets partagés dans une scène 3D homogène dans laquelle figurent leur avatar, ou clone, respectif. Le gestionnaire de scène communique avec une carte électronique, appelée classiquement carte 3D , qui a pour fonction de transformer les informations 3D qui lui sont fournies en données 2D susceptibles d'être 30 affichées sur un écran. Cependant, même si les techniques de synthèse permettent de réaliser des modélisations et des animations réalistes, les avatars 3D ne permettent pas encore de reproduire fidèlement l'activité des participants. Or, on sait que 2908584 3 dans une communication interpersonnelle, le canal non verbal, lié à la gestuelle et au comportement du locuteur, reste très important et est difficilement reproduit aujourd'hui au niveau des avatars 3D. Il est aussi possible d'utiliser des vignettes vidéo ou des photographies, 5 généralement limitées au visage des personnes, affichées dans un espace découplé de l'espace collaboratif, ce qui augmente ainsi l'effort cognitif à produire de la part des participants lors de la collaboration, ces derniers ayant beaucoup de difficultés à faire le lien entre les images fournies dans l'espace de communication et les actions effectuées dans l'espace de collaboration. io En résumé, si l'on souhaite actuellement réaliser un système d'interaction collaborative permettant de mettre en relation des participants distants tout en leur offrant la possibilité de travailler autour d'objets partagés, il est nécessaire d'utiliser un système de communication et un système de collaboration de façon indépendante. Cela a pour conséquence de séparer 15 l'espace de communication et l'espace d'interaction/collaboration avec les limites que cela représente en terme de capacité cognitive des participants. Le but de l'invention est donc de proposer un système d'interaction collaborative autour d'au moins un objet partagé, ledit système comprenant un moteur collaboratif comportant un gestionnaire de scène 3D incluant ledit objet 20 partagé, qui permettrait de regrouper un espace de communication et l'espace d'interaction et de collaboration sur les objets partagés 3D dans un même espace d'affichage homogène réduisant ainsi l'effort cognitif des participants. Ce but est atteint, conformément à l'invention, du fait que ledit système comprend en outre un dispositif de représentation d'utilisateurs distants basée 25 vidéo et des moyens d'intégration dans ladite scène 3D, par ledit système gestionnaire de scène 3D, d'une image vidéo fournie par ledit dispositif de représentation. Ainsi, par une représentation réelle des participants dans l'espace de collaboration/interaction, l'effort cognitif à réaliser pour associer une action 30 effectuée sur l'objet partagé et son auteur est grandement facilité par rapport aux techniques antérieures. Selon l'invention, ledit dispositif de représentation d'utilisateurs distants basée vidéo est un dispositif de visio-conférence. 2908584 4 Il existe de nombreux dispositifs de visio-conférence permettant de mettre en relation des participants distants afin qu'ils puissent communiquer de façon naturelle à travers un écran vidéo. Tous peuvent convenir à la mise en oeuvre de l'invention. Toutefois, selon un mode de réalisation préféré, ledit 5 dispositif de visio-conférence est un mur de téléprésence. Le mur de téléprésence est un dispositif qui a été décrit notamment dans la demande de brevet français n 2 761 562 de la société France Télécom. Ce dispositif présente la caractéristique d'éviter l'effet dit faux jeton en permettant à deux utilisateurs distants en situation de io communication de se voir les yeux dans les yeux. Cette caractéristique est particulièrement avantageuse dans le contexte de l'invention où, comme mentionné plus haut, les composantes non proprement verbales de la communication, telles que le regard, sont de première importance. De même, un mur de téléprésence donne une image sensiblement à l'échelle 1 des 15 participants, ce qui renforce encore l'impression de présence. Une version commerciale du mur de téléprésence est connue sous la marque RealMeet . Avantageusement, ledit gestionnaire de scène 3D comprend des moyens pour prendre en compte des modifications opérées sur ledit objet 20 partagé. Ces modifications peuvent concerner par exemple la géométrie ou l'aspect graphique de l'objet partagé, de façon à modifier la manière dont sont fusionnés les espaces de communication et d'interaction collaborative. L'invention concerne en outre un procédé d'interaction collaborative d'au moins un participant autour d'au moins un objet partagé, remarquable en 25 ce que ledit procédé comprend une opération d'intégration dans une scène 3D incluant ledit objet partagé, fournie par un système gestionnaire de scène 3D d'un moteur collaboratif dudit participant, d'une image vidéo fournie par un dispositif de représentation d'utilisateurs distants basée vidéo. L'invention concerne enfin un programme d'ordinateur à implanter dans 30 un gestionnaire de scène 3D d'un moteur collaboratif, comprenant des instructions pour la mise en oeuvre du procédé selon l'invention, lorsque ledit programme est exécuté par un ordinateur. 2908584 5 La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. La figure 1 est un schéma d'un système d'interaction collaborative 5 conforme à l'invention. La figure 2 est un diagramme des opérations effectuées par le gestionnaire de scène 3D du système de la figure 1. Sur la figure 1 est représenté, sur un premier site A, un système 10 d'interaction collaborative d'au moins un participant autour d'un objet partagé io (non représenté) avec au moins un autre participant sur un deuxième site B disposant d'un système 10' d'interaction collaborative qui peut être semblable au système 10 du participant sur le site A, sans que cela soit une obligation. Les systèmes 10 et 10' sont reliés entre eux par un réseau 20 de télécommunication. Bien entendu, le nombre de sites concernés peut être 15 supérieur à deux. Le système 10 de la figure 1 comprend un dispositif 100 de représentation d'utilisateurs distants basée vidéo, notamment un dispositif de visio-conférence comme par exemple un mur de téléprésence tel que mentionné plus haut. L'acquisition des flux audio et vidéo est effectuée par un 20 module 120 à partir de périphériques constituant le dispositif 110 de capture audio et vidéo. Dans le cadre du mur de téléprésence, la capture des flux vidéo est réalisée au moyen d'un système de miroirs semi-transparents permettant d'éviter l'effet "faux-jeton" cité plus haut. Cependant, des moyens de capture 25 plus classiques, comme par exemple une camera analogique ou une webcam USB pour PC, peuvent également être utilisés. On notera cependant que l'invention peut être mise en oeuvre au moyen d'autres dispositifs de représentation, comme les dispositifs de visioconférence enrichie utilisant des techniques de détourage de l'image vidéo des 30 utilisateurs distants pour une meilleure intégration dans la scène 3D. En ce qui concerne le capture des flux audio, il est possible d'utiliser des moyens bon marché, comme de simples microphones, ou bien des systèmes plus complexes permettant d'effectuer une capture sonore 2908584 6 spatialisée augmentant la qualité du rendu sonore et le réalisme de la téléprésence lors de la visioconférence. En outre, les moyens de capture audio peuvent être équipés d'un système de contrôle d'écho afin d'éviter les effets de "larsen". 5 Les flux audio/vidéo ainsi capturés sont ensuite transmis à un étage 130 de compression ayant pour but de coder les données de façon à en réduire la quantité à transmettre sur le réseau. La compression généralement mise en oeuvre est destructive au sens où la qualité des signaux audio/vidéo est dégradée. Pour la vidéo, la compression peut être par exemple de type H323, io H261, H264 ou encore d'un type défini par le consortium MPEG (MPEG-1, MPEG-2, ou MPEG-4). Pour l'audio, il est possible par exemple d'utiliser des systèmes de codage de type G711, G722, G723, G729 ou encore de type TDAC. Les données audio/vidéo compressées issues de l'étage 130 de 15 compression sont alors envoyées sur le réseau au site B distant par un étage 140 d'émission. Afin de minimiser le surplus lié aux en-têtes IP ( overhead ), il est possible de multiplexer les données audio/vidéo dans un même flux de données. Les flux de données sont généralement transportés via des protocoles réseau minimisant la latence, comme par exemple le protocole 20 UDP/IP, protocole non fiable, contrairement à TCP/IP pour qui l'introduction de mécanismes de fiabilisation, d'ordonnancement et de congestion augmente la latence des données échangées. Il est également possible d'utiliser des protocoles au-dessus d'UDP/IP, comme par exemple RTP/UDP/IP, le rôle principal de RTP ( Real-Time Transport Protocol ) consistant à mettre en 25 oeuvre des numéros de séquence de paquets IP et des informations temporelles pour reconstituer de la meilleure façon les informations vidéo et audio, ceci même si le réseau sous-jacent change l'ordre des paquets ou introduit de la gigue. En complément de RTP, il est possible d'utiliser le protocole RTCP ( Real-time Transfer Control Protocol ) qui permet 30 d'envoyer de façon périodique des rapports sur la qualité de service QoS ( Quality of Service ) de façon à ce que l'émetteur puisse adapter les données envoyées. 2908584 7 Des opérations équivalentes sont également réalisées sur le site B qui émet alors des données audio/vidéo vers le site A, la réception s'effectuant par l'étage 150 de réception du système 100 de visio-conférence. Les données reçues sont alors démultipléxées si nécessaire puis décodées par l'étage 160 5 de décompression dont le décodeur doit être en accord avec le codeur utilisé lors de la phase de codage décrite précédemment afin de fournir, d'une part, les données audio au module 180 et, d'autre part, les données vidéo au module 170. De même, l'équivalent est réalisé sur le site B de façon à récupérer le signal audio et l'image vidéo provenant du site A. Les données io audio issues du module 180 sont envoyées à un module 320 de rendu sonore, lequel peut être un simple dispositif à haut-parleur unique ou un système plus évolué capable de reproduire la spatialisation du son, augmentant ainsi le sentiment de téléprésence dans la visioconférence, comme un dispositif à n haut-parleurs distribués le long du dispositif 310 d'affichage d'une image 2D. 15 La manière dont est constituée cette image 2D sera expliquée en détail ci-après. Les fonctions de collaboration et d'interaction du système 10 sont assurées par le moteur collaboratif 200, comme par exemple Spin-3D. Les interactions sont effectuées via des périphériques 220 d'entrée. 20 Spin-3D utilise deux périphériques : - un périphérique isotonique, telle qu'une souris, destiné à la sélection/désignation, il permet notamment de déplacer un pointeur dans la scène, - un périphérique isométrique, telle qu'une souris 3D ( SpaceMouse 25 commercialisée par la société 3Dconnexion ), pour la manipulation en rotation/translation de l'objet 3D sélectionné. On peut imaginer utiliser également des périphériques plus évolués pour agir sur les objets partagés, comme par exemple un module 210 d'analyse de geste et de parole par reconnaissance gestuelle et 30 reconnaissance vocale. Les différentes manipulations effectuées par les participants sur les périphériques d'entrée sont ensuite converties en actions sur les objets 3D, 2908584 8 partagés ou non, par le module 230. Pour cela, le système d'interaction de Spin-3D repose sur un mécanisme à trois phases : - une phase de sélection permettant à l'utilisateur de pointer via son pointeur l'objet 3D, ou une sous-partie, qu'il souhaite manipuler. Après avoir cliqué, 5 l'objet 3D, ou la sous-partie, est alors sélectionné. Cette phase utilise le périphérique isotonique. - une fois l'objet 3D, ou la sous-partie, sélectionné, un capteur d'interaction qui lui est associé est activé de façon à ce que lors de la phase de manipulation, l'utilisateur participant agit sur l'objet, ou la sous-partie, sélectionné via le io capteur d'interaction. Cette phase utilise le périphérique isométrique. une phase de désélection permettant à l'utilisateur participant de désélectionner l'objet 3D, ou la sous-partie, sélectionné lors de la première phase. La désélection s'effectue par un simple clic sur le périphérique isotonique. 15 Pour faciliter l'interaction, notamment lors de la phase de sélection, Spin-3D propose un mécanisme de boîtes englobantes progressives qui est fonction de la distance entre le pointeur de l'utilisateur et l'objet 3D. Un gestionnaire 240 de collaboration a en charge de gérer la collaboration sur le(s) objet(s) partagé(s) présent(s) dans la scène : 20 - d'une part, il permet d'assurer qu'un seul participant à la fois ne manipule un objet 3D partagé, ou une sous-partie. Pour cela, un mécanisme de verrouillage par jeton est mis en place : à chaque objet 3D partagé, on associe un unique jeton et seul l'utilisateur participant possédant le jeton est en droit de manipuler l'objet 3D qui lui est associé. L'acquisition et le verrouillage du jeton sont 25 effectués lors de la phase de sélection, tandis que le déverrouillage du jeton est réalisé lors de la phase de désélection. Ainsi, la manipulation par le participant détenteur du jeton se trouve protégée lors de la phase de manipulation du système d'interaction. - d'autre part, il permet de maintenir la cohérence des objets partagés. Les 30 différentes actions réalisées sur les capteurs d'interaction sont transmises au site distant de façon à ce que les modifications opérées localement sur un capteur d'interaction soient également reproduites sur le site distant. Pour 2908584 9 cela, le moteur collaboratif 200 embarque une plate-forme de communication utilisant le réseau 20 de télécommunication. Le gestionnaire 260 de scène 3D permet tout d'abord de présenter dans une scène homogène les objets 3D partagés aux utilisateurs participants. La 5 scène peut être assimilée à celle définie dans le standard VRML97. Les différents objets 3D représentés sont décrits dans le module 250 en utilisant le langage VRML97. Lors de la conception des objets 3D présents dans la scène, des capteurs d'interaction, définis sous le terme de sensors dans la norme VRML97, sont placés sur chacun des objets 3D ou sur des sous-parties io composant ces objets. Les différents capteurs d'interaction vont permettre aux utilisateurs d'agir sur le(s) objets(s) 3D, ou des sous-parties. De même, le concepteur des objets 3D a en charge de définir les différentes actions qu'il souhaite qu'elles soient partagées, c'est à dire que si un utilisateur manipule l'objet 3D, alors les modifications qui en résultent sont is répercutées chez les participants distants ( Plate-forme de communication distribuée pour les Environnements Virtuels Collaboratifs 3D à fort couplage d'activité synchrone , Stéphane Louis dit Picard, Thèse de l'Université de Lille 1, novembre 2003). On rappelle qu'il n'est pas possible à deux utilisateurs d'agir en même 20 temps sur un même capteur d'interaction, cependant des actions simultanées sur deux capteurs d'interaction différents d'un même objet 3D restent possible, par exemple deux utilisateurs peuvent manipuler chacun une bague différente d'un appareil photo en 3D. En outre, le gestionnaire 260 de scène permet d'intégrer dans la scène 25 3D l'image vidéo des utilisateurs distants fournie par le module 170. Cette image vidéo est généralement placée de manière à se trouver dans le fond de l'écran, les objets définis dans le module 250 étant positionnés en avant-plan dans l'espace et éventuellement rendus plus ou moins transparents. L'organisation de la scène peut se faire de façon automatique ou être gérée 30 sur actions spécifiques du participant via le module 230. En particulier, les objets peuvent être représentés de façon quasi-transparente lorsqu'ils ne constituent pas le centre d'intérêt de l'utilisateur. Le fait de rendre les objets quasi-transparents permet alors à l'utilisateur de voir ce qui se trouve au-delà, 2908584 i0 notamment la partie de l'image vidéo normalement cachée par les objets lorsqu'ils sont présentés de manière opaque. De la même façon, on peut également déplacer les objets dans un autre endroit de la scène 3D. Le module 261 de représentation des participants distants est chargé 5 de réaliser la connexion entre le moteur collaboratif 200 et le dispositif 100 de visioconférence. Ce module est intégré dans le gestionnaire 260 de scène 3D et prend en charge la représentation des participants distants provenant du site B et permet de recevoir l'image vidéo provenant du site B et de l'utiliser comme une texture dans la scène 3D. io Le dispositif 310 d'affichage comprend de manière classique une carte 3D apte à transformer les informations 3D fournies par le gestionnaire 260 de scène en données 2D susceptibles d'être affichées sur un écran. Ce dispositif 310 peut être un dispositif usuel comme un écran d'ordinateur personnel, ou plus évolué comme le mur de téléprésence mentionné plus haut. 15 Le langage utilisé pour établir le dialogue entre le gestionnaire 260 de scène et la carte 3D du système d'affichage est par exemple OpenGL ou DirectX . La figure 2 explicite les opérations à effectuer pour réaliser l'affichage de la scène 3D sur le dispositif 310. 20 (a) Le gestionnaire 260 de scène est initialisé à partir d'informations paramétrables concernant la mise en place des objets et des images (textures) dans la scène 3D et le rendu des objets en terme de transparence par exemple. (b) Les mémoires de travail de la carte 3D sont initialisées. En effet, il y 25 a avantage à utiliser deux mémoires de travail : pendant qu'une nouvelle image est calculée et stockée dans une mémoire de travail, l'image calculée à l'itération précédente stockée dans l'autre mémoire de travail est envoyée au dispositif 310 d'affichage. Cette disposition permet de ne pas ralentir l'exécution de l'algorithme d'affichage. 30 (c) Le gestionnaire 260 de scène est placé en mode de projection perspective pour représenter les objets 3D. Ce mode de projection à point de fuite fini est souvent utilisé pour ce type de représentation, on pourrait 2908584 Il cependant utiliser un autre mode de projection comme le mode orthographique à point de fuite infini. (d) Le rendu des objets 3D est effectué en accord avec les données contenues dans le fichier de configuration du gestionnaire 260 de scène et en 5 fonction d'éventuelles modifications, portant sur la géométrie (par exemple sur la position, l'orientation ou encore l'échelle) ou sur l'aspect graphique (comme par exemple la transparence), opérées sur les objets depuis le début de l'initialisation. (e) Le gestionnaire 260 de scène est placé en mode de projection io orthographique pour traiter l'image vidéo. Ce mode est bien adapté à la représentation des personnes car n'introduit que peu de déformations. Toutefois, le mode de projection perspective pourrait également être utilisé. (f) L'image vidéo des participants distants est récupérée à partir d'un module de stockage de l'image courante du module vidéo 170. 15 (g) Le rendu de l'image vidéo est effectué sur un polygone (face) texturé en fond de scène en utilisant la texture associée à l'image vidéo en accord avec les données contenues dans le fichier de configuration du gestionnaire 260 de scène. En variante, cette texture peut être placée sur un polygone dans une autre position et/ou orientation différente, ce qui peut s'avérer utile en 20 présence de plusieurs sites distants. (h) L'image 3D ainsi obtenue est transmise de la mémoire de travail où elle est stockée vers la carte 3D où elle est convertie en image 2D. La permutation des mémoires de travail est effectuée. (i) Le participant reçoit l'image 2D sur son dispositif 310 d'affichage. 25 REVENDICATIONS 1. Système (10) d'interaction collaborative autour d'au moins un objet partagé, ledit système comprenant un moteur collaboratif (200) comportant un gestionnaire (260) de scène 3D incluant ledit objet partagé, caractérisé en ce que ledit système comprend en outre un dispositif (100) de représentation d'utilisateurs distants basée vidéo et des moyens (261) d'intégration dans lo ladite scène 3D, par ledit gestionnaire (260) de scène 3D, d'une image vidéo fournie par ledit dispositif (100) de représentation. 2. Système selon la revendication 1, dans lequel ledit dispositif (100) de représentation d'utilisateurs distants basée vidéo est un dispositif de visioconférence. ls 3. Système selon la revendication 2, dans lequel ledit dispositif de visioconférence est un mur de téléprésence. 4. Système selon l'une quelconque des revendications 1 à 3, dans lequel ledit gestionnaire (260) de scène 3D comprend des moyens pour prendre en compte des modifications opérées sur ledit objet partagé. 20 5. Système selon la revendication 4, dans lequel lesdites modifications concernent la géométrie de l'objet partagé. 6. Système selon l'une des revendications 4 ou 5, dans lequel lesdites modifications concernent l'aspect graphique de l'objet partagé. 7. Procédé d'interaction collaborative autour d'au moins un objet partagé, 25 caractérisé en ce que ledit procédé comprend une opération d'intégration dans une scène 3D incluant ledit objet partagé, fournie par un système gestionnaire (260) de scène 3D d'un moteur collaboratif (200) dudit participant, d'une image vidéo fournie par un dispositif (100) de représentation d'utilisateurs distants basée vidéo. 30 8. Programme d'ordinateur à implanter dans un gestionnaire de scène 3D d'un moteur collaboratif, comprenant des instructions pour la mise en oeuvre du 2908584 13 procédé selon la revendication 7, lorsque ledit programme est exécuté par un ordinateur.