FR 2889754 A1 20070216 FR 0552476 A 20050809 Système permettant à un utilisateur de visualiser un cockpit réel dans un environnement vidéo, notamment un environnement de conduite automobile L'inventeur a développé un produit, ci-après dénommé D'FUSION, qui permet de mixer et d'afficher en temps réel des images vidéo (en provenance de caméras) avec des images de synthèse, en utilisant du matériel PC standard. Cette technologie permet de réaliser un enrichissement d'un cockpit réel par des images de synthèse. - L'utilisateur s'installe dans un cockpit (par exemple dans le domaine automobile, le cockpit est tout simplement l'intérieur de la voiture, ou dans le domaine aéronautique, le cockpit est le poste de pilotage). - Le cockpit est entouré d'un fond de couleur uniforme. - L'utilisateur utilise un casque de réalité virtuelle ou HMD (Head Mounted Display). - Grâce à la technologie décrite dans ce document, l'utilisateur visualise, en temps réel: o Le cockpit réel. o Si besoin, des enrichissements virtuels intégrés au cockpit réel. o Si besoin, l'extérieur du cockpit est une base de données de synthèse (par exemple un circuit routier dans le cas d'une application automobile). o Si besoin, l'utilisateur peut piloter son cockpit en temps réel dans le monde de synthèse. o Les bénéfices de la technologie décrite sont les suivants: ^ Tests et validation d'ergonomie d'un cockpit réel (pouvoir piloter la maquette réelle dans un monde de synthèse). ^ Tests et validation d'enrichissements de cockpit (les ajouts virtuels sur le cockpit réel permettent de faire de nombreux tests sans réaliser réellement ces ajouts). L'invention concerne un système permettant à un utilisateur de visualiser un cockpit réel dans un environnement vidéo, notamment un environnement de conduite automobile, caractérisé en ce qu'il comprend: -un cockpit réel d'un véhicule, notamment comprenant un siège, un tableau de bord, des montants, une partie d'un habitacle d'une automobile, - un écran cylindrique de couleur uniforme, notamment vert ou bleu, entourant le cockpit réel, - un casque de réalité virtuelle comprenant une première caméra installée dans le prolongement de l'oeil droit de l'utilisateur et une seconde caméra installée dans le prolongement de l'oeil gauche de l'utilisateur, - un capteur de mouvement associé à la première et à la deuxième caméra, - des premiers moyens de traitement informatique, associés à un premier équipement informatique, destinés à mélanger un signal vidéo reçu de la première caméra avec des images de synthèse d'éléments ajoutés au cockpit réel et/ou des images de synthèse représentant un environnement extérieur au cockpit réel, notamment un paysage routier, en fonction d'informations reçues du capteur de mouvement, - des seconds moyens de traitement informatique, associés à un second équipement informatique, destinés à mélanger un signal vidéo reçu de la seconde caméra avec des images de synthèse d'éléments ajoutés au cockpit réel et/ou des images de synthèse représentant un environnement extérieur au cockpit réel, notamment un paysage routier, en fonction d'informations reçues du capteur de mouvement, - des moyens d'affichage, associés au casque de réalité virtuelle, permettant à l'utilisateur de visualiser le cockpit réel, et les images de synthèse d'éléments ajoutés au cockpit réel et/ou les images de synthèse représentant un environnement extérieur au cockpit réel. Description de la solution But de la solution La solution permet de valider le design ainsi que l'ergonomie de l'intérieur du véhicule (planche de bord par exemple). Grâce à la mise en oeuvre d'un casque virtuel stéréoscopique (le casque peut aussi être monoscopique), l'utilisateur voit en relief la planche de bord réelle, de plus à l'extérieur de la planche de bord l'utilisateur visualise un environnement synthétique (routes, bâtiments etc...). En final l'utilisateur peut valider l'ergonomie de la planche de bord mise en situation dans un environnement virtuel, l'utilisateur peut bien entendu déplacer sa tête selon 6 degrés de liberté (changements de position et d'orientation). L'intérêt du système est qu'il propose une approche différente de l'utilisation de projecteurs vidéo et d'écrans de projection (cas des salles immersives traditionnelles) : coût de revient, fiabilité, rapidité d'installation etc... Description générale de la solution Le schéma ci-dessus décrit le principe de la solution: L'utilisateur est assis devant le tableau de bord réel d'un véhicule en cours de conception. Ce tableau de bord peut être plus ou moins complexe en fonction des besoins: il peut par exemple inclure ou non les montants du véhicule, il peut aussi être complété par un habitacle entourant plus ou moins l'utilisateur. L'utilisateur est muni d'un casque de réalité virtuelle ou HMD (Head Mounted Display). Sur le casque sont fixés 2 caméras vidéo ainsi qu'un capteur de mouvement (par exemple, un capteur de marque Laser Bird (voir schéma suivant)). Un écran cylindrique de couleur uniforme entoure le tableau de bord. Ecran de couleur uniforme Casque Virtuel Tableau de bord réel Dispositif embarqué sur la tête de l'utilisateur Tête de l'utilisateur Capteur (ex:Laser Bird) I !Lw \\\\TCaméra oeil gauche Caméra oeil droit Casque virtuel (HMD) Le HMD peut être soit monoscopique (dans ce cas on utilise une seule caméra) soit stéréoscopique (dans ce cas on utilise deux caméras). Si le HMD est en mode stéréoscopique, deux caméras vidéo sont fixées sur le HMD: une caméra par oeil dans le but de restituer le relief à l'utilisateur. Le dispositif de capture de mouvement (par exemple de type Laser Bird ) est aussi fixé au HMD pour que le logiciel récupère en temps réel la position et l'orientation du HMD, ce qui permet ensuite d'afficher les images de synthèse bien calées par rapport aux images vidéo. Le dispositif de capture de mouvement est rigidement lié aux caméras. Principe du mixage des images de synthèse avec les images vidéo Le tableau de bord réel est placé devant un fond de couleur uniforme (fond bleu ou vert par exemple). Les images vidéo en provenance des deux caméras sont acquises puis traitées selon l'algorithme du chroma-key: on autorise l'affichage des images de synthèse dans les zones où l'on rencontre la couleur bleu (schéma ci-dessous). Image vidéo originale Image après insertion du décor virtuel L'intérêt de cette technique est que le système informatique n'a pas besoin de connaître la forme de l'habitacle pour mixer les images vidéo avec les images virtuelles. Image habitacle réel. Fond bleu placé à l'extérieur de l'habitacle. Les images de synthèse remplacent les zones bleues Architecture du système de génération d'images PC OEil Gauche Entrée Vidéo O O Genlock Sortie SXGA RS232 Capture de mouvement (ex: Laser Bird) : HMD Port Ethernet RJ45 É É Entrée Vidéo Genlock PC OEil Droit Port Ethernet RJ45 Sortie SXGA Caméra gauche Caméra droite Légendes: Signal Video Composite Signal Genlock (synchro) Signal par exemple XGA (1280 X 1024) Description du système: Deux PC sont utilisés: un PC génère les images pour l'oeil gauche, l'autre génère les images pour l'oeil droit. La caméra oeil gauche est branchée sur l'entrée vidéo du PC oeil gauche. La caméra oeil droit est branchée sur l'entrée vidéo du PC oeil droit. Chaque PC est en charge d'afficher en temps réel l'image vidéo en provenance de sa caméra mixée avec les images de synthèse. Le casque virtuel (HMD) est muni de deux entrées (par exemple de résolution SXGA), les deux PC génèrent des images à la résolution du HMD. Le système de capture de mouvement (par exemple de type Laser Bird ) est connecté à un des deux PC par le port série (RS232). Ce PC est en charge de transmettre les informations de position/orientation du Laser Bird vers le second PC par des envois sur réseau Ethernet. Le casque virtuel impose le refresh rate (par exemple 60 Hz), les sortie vidéo des 2 PC auront un refresh rate compatible avec le casque. Idéalement, le choix des caméras vidéo se portera sur les fonctionnalités suivantes: - Caméras vidéo avec un standard de balayage le plus proche du casque: o Par exemple 60 Hz (standard US) pour un casque à 60 Hz o Par exemple 50 Hz (standard Europe) pour un casque à 50 Hz Idéalement, les caméras vidéo ainsi que les sorties des cartes graphiques sont genlockable , ce qui permet de synchroniser les éléments suivants entre eux (voir schéma ci-dessus) : - les 2 cartes graphiques - les 2 caméras vidéo La synchronisation de ces 4 éléments permet d'obtenir les avantages suivants: - Le meilleur transport delay possible pour le système visuel. - Une restitution stéréoscopique sans artefacts même en dynamique (durant les mouvements de l'utilisateur). Exemple des Moyens matériels mis en oeuvre pour réaliser la solution: Les deux PC oeil gauche et oeil droit : - Pentium 4, 3 Ghz. - Disque dur 80 Go. - RAM 1 Go. - Cartes nVidia GeforceFX Quadro 4400G. - Option Genlock (G-SYNC option card). - Carte acquisition vidéo sur bus PCI, normes PAL et NTSC en entrée vidéo. - Operating System Windows XP professional. - Capteur de mouvement Laser Bird - Casque virtuel stéréoscopique Cas de Caméras en résolution SD: - 2 caméras NTSC sony XC555 avec entrée Genlock. Champ de vision le plus proche possible du champ de vision du casque pour chaque oeil (exemple: optique de focale 3.5 mm sur monture NF) . Remarque: Le système décrit peut aussi être compatible HD: Dans ce cas la solution hardware préconisée est la suivante: - Caméras vidéo avec une sortie HD-SDI ou camera link. - La carte d'acquisition est alors: o Soit une carte avec entrée HD-SDI (ex Decklink HD) sur bus PCI-X. o Soit une carte avec entrée camera link. Moyens logiciels Le logiciel D'FUSION configuré spécifiquement pour la solution L'inventeur a développé le logiciel D'FUSION, qui permet de réaliser des applications de Réalité Augmentée. Chaque PC oeil gauche et oeil droit , est équippé d'une licence runtime de la technologie D'FUSION. Le logiciel D'FUSION est configuré avec les fonctionnalités suivantes: Acquisition et affichage de fluxs vidéo en temps réel avec de hautes performances. - Le traitement temps réel des fluxs vidéo pour corriger les distorsions optiques radiales des caméras vidéo et permettre ainsi de mettre en parfaite correspondance les images caméra avec les images de synthèse. - Dé-entrelacement des images vidéo avant tracé dans la boucle de rendu. - Le traitement temps réel du flux de motion capture (ex Laser Bird ) par des techniques d'extrapolations et d'interpolations pour synchroniser dynamiquement les flux vidéos et de synthèse, en recalculant les positions et orientations du capteur (ex Laser Bird ) aux dates de réception des images vidéo. - Le calcul temps réel des paramètres extrinsèques (positions/orientations par rapport à un repère absolu) des deux caméras vidéo oeil gauche et oeil droit pour faire correspondre les images caméras avec les images de synthèse. - Les outils de calibration offline du système: o Calibration des distorsions optiques radiales des deux caméras (paramètres intrinsèques) par analyse d'image (mires de distorsions). o Calibration des paramètres extrinsèques des caméras dans le repère du capteur (ex Laser Bird ) (méthode dite d'extraction de pose caméra ) . Cette calibration s'effectue à l'aide de l'outil de localisation (voir fichier outil localisation. doc). - La fonction de chroma key qui peut être réalisée de deux manières différentes: o Transformation du flux vidéo en texture vidéo, avec formatage dans cette texture des données RGB et Alpha pour affichage ultérieur des images de synthèse à la place du fond bleu. o A la fin de la boucle de rendu, l'image vidéo est tracée dans le back buffer avec l'algorithme suivant, pour chaque pixel: ^ Si le pixel à la couleur de l'écran uniforme placé à l'extérieur du cockpit, alors le pixel n'est pas tracé. ^ Sinon le pixel est tracé. - Quelle que soit la manière de faire le chroma key, les performances du traitement chroma key sont optimisées grâce aux techniques des pixels shaders . Performances de la solution (système de génération d'images) Le tableau suivant résume les performances de la solution dans le cas d'un HMD ayant un refresh rate de 60 Hz et des entrées vidéo SXGA (1280 par 1024). Fonction Performance attendue Remarque Refresh Rate en sortie SXGA 60 Hz. 60 Hz imposé par l'utilisation des PC du casque (HMD) (fréquence de rafraîchissement des écrans LCD du HMD) Update Rate 60 Hz. On générera les images (fréquence de (images vidéo + synthèse) à la rafraîchissement des images) même fréquence que celle du Refresh Rate pour éviter les effets de dédoublement d'images. Acquisitions vidéo Standard vidéo 60 Hz. Si besoin, les images vidéo sont désentrelacées avant mixage avec les images de synthèse. Temps de réponse du système 33 ms (seulement si les Temps de réponse hors ( transport delay ) caméras sont genlockées affichage des images par le avec les cartes graphiques FX casque. 4400 G). Résolution des images SXGA: 1280 pixels par 1024 Les images en provenance des générées lignes caméras vidéo seront adaptées à la résolution SXGA par la méthode de ré- échantillonnage avec filtrage bi-linéaire. Pour information: Inférieur à 5 ms grâce aux Le but est de laisser environ Temps de traitement pour une optimisations par les pixels 10 ms par cycle visuel pour acquisition vidéo + temps de shaders . afficher les polygones de la traitement des algorithmes de base de données de synthèse. type chroma key + temps de traitement des distorsions vidéo Revendication 1. Système permettant à un utilisateur de visualiser un cockpit réel dans un environnement vidéo, notamment un environnement de conduite automobile, caractérisé en ce qu'il comprend: - un cockpit réel d'un véhicule, notamment comprenant un siège, un tableau de bord, des montants, une partie d'un habitacle d'une automobile, - un écran cylindrique de couleur uniforme, notamment vert ou bleu, entourant le cockpit réel, - un casque de réalité virtuelle comprenant une première caméra installée dans le prolongement de l'ceil droit de l'utilisateur et une seconde caméra installée dans le prolongement de l'ceil gauche de l'utilisateur, - un capteur de mouvement associé à la première et à la deuxième caméra, - des premiers moyens de traitement informatique, associés à un premier équipement informatique, destinés à mélanger un signal vidéo reçu de la première caméra avec des images de synthèse d'éléments ajoutés au cockpit réel et/ou des images de synthèse représentant un environnement extérieur au cockpit réel, notamment un paysage routier, en fonction d'informations reçues du capteur de mouvement, - des seconds moyens de traitement informatique, associés à un second équipement informatique, destinés à mélanger un signal vidéo reçu de la seconde caméra avec des images de synthèse d'éléments ajoutés au cockpit réel et/ou des images de synthèse représentant un environnement extérieur au cockpit réel, notamment un paysage routier, en fonction d'informations reçues du capteur de mouvement, - des moyens d'affichage, associés au casque de réalité virtuelle, permettant à l'utilisateur de visualiser le cockpit réel, et les images de synthèse d'éléments ajoutés au cockpit réel et/ou les images de synthèse représentant un environnement extérieur au cockpit réel.