Brevet FR2842977A1 — publié le 20040130

PROCEDE ET SYSTEME PERMETTANT A UN UTILISATEUR DE MELANGER EN TEMPS REEL DES IMAGES DE SYNTHESE AVEC DES IMAGES VIDEO La description de la présente demande de brevet fait référence à différents sigles et termes techniques. Le glossaire qui suit en donne dès à présent les définitions. AGP: Advanced Graphic Port (port de communication pour carte graphique). BACK BUFFER: buffer au second plan (non visualisé). BUFFER: zone de mémorisation de données numériques. " BROADCAST ": qualité d'image diffusable. CARTE GRAPHIQUE: carte dédiée à l'affichage d'images sur un écran. CARTE D'ACQUISITION: carte dédiée à l'acquisition de vidéo (en provenance de caméras/magnétoscopes) et au montage vidéo virtuel. CHROMA KEYER: appareil de mixage de plusieurs sources vidéo qui utilise la technique de la couleur clé d'incrustation. COLORKEY: couleur clé. DV: Digital Video (norme firewire IEEE1394). DVI: Digital Video Interface (norme pour de connexion pour les écrans plats). FRONT BUFFER: buffer au premier plan (visualisé). FRAME GRABBING procédé qui consiste à stocker séquentiellement chaque image vidéo en mémoire. FRAME BUFFER buffer vidéo stocké dans la mémoire de la carte graphique. INPUT BUFFER buffer d'entrée: le signal vidéo qui est connecté à la carte d'acquisition est stocké sous forme numérique dans ce buffer. NTSC: National Television Standard Comitee (standard de-TV américain) OUTPUT BUFFER: buffer de sortie - le signal vidéo qui sort de la carte d'acquisition est stocké sous forme numérique dans ce buffer. OVERLAY: incrustation video. PAL Phase Alternative Line (standard de TV européen). PC "Personal Computer" (ordinateur individuel). PCI Peripheral Component Interconnect (bus de communication pour cartes PC). PCI BUSMASTER: Mode dans lequel une carte PCI peut utiliser toute la bande passante du bus à son profit. RAZ: Remise A Zéro. RVB: signal analogique "Rouge Vert Bleu". SDI: Serial Digital Interface (Interface Digitale Série). SVIDEO: Super Video (encodage vidéo Y/C, c'est à dire luminance/chrominance). USB: Universal Serial Bus (Bus Série Universel). VIDEO COMPOSITE: signal vidéo sur un seul fil (contient à la fois les signaux N/B, couleur, synchros verticales et horizontales). VGA Video Graphic Adapter (adaptateur graphique vidéo). VRAM Video Random Access Memory (mémoire vidéo volatile). YUV signal analogique luminance(Y) , composante couleur U, composante couleur V. Z BUFFER: buffer de type Z (tampon de profondeur). La réalité améliorée est une technique qui consiste à mélanger des images de synthèse avec des images réelles issues d'une ou plusieurs caméras vidéo. Grâce à l'évolution des technologies numériques, cette fusion est aujourd'hui possible en temps réel à la cadence des images vidéo (50 trames par -seconde par exemple dans le cas d'images vidéo entrelacées pour le standard européen, 60 trames par seconde par exemple pour le standard américain). Le mélange des images de synthèse et des images vidéo représente un très vaste marché qui concerne de nombreux secteurs d'activités. Les marchés visés sont décrits ci-après. Marchés de l'audiovisuel (cinéma et vidéo) La technologie peut être notamment utilisée pour les productions audiovisuelles tournées en direct ou dans les conditions du direct: - plateaux virtuels temps réel (affichage de présentateurs dans un décor virtuel), - effets spéciaux temps réel (ex particules, explosions, déformations temps réel), publicité (ex produits virtuels dans décors réels), - ajout d'objets virtuels dans une émission de télévision et interactions avec un présentateur réel (talkshows, événements sportifs, téléachat, informations, météo, émissions médicales), - avatars: personnages virtuels incrustés en temps réel dans des décors réels, - prévisualisations temps réel pour le cinéma (contrôle des effets spéciaux sur le lieu de tournage). Marchés industriels: - fabrication (enrichissement d'images réelles pour guider les opérations manuelles et informer le constructeur lors de la fabrication), maintenance (enrichissement d'images réelles avec des informations supplémentaires pour optimiser les cots de maintenance, guide temps réel pour le dépannage), - militaire (cibles virtuelles, menace virtuelle, explosions, fantassins, véhicules), - simulation.. (phénomènes atmosphériques ou environnementaux simulés mixés avec des décors réels, tests de prototypes virtuels, véhicules virtuels), - jeux vidéo (joueurs réels visualisés dans un jeu vidéo, ou éléments virtuels tels que personnages, véhicules intégrés dans des images réelles), automobile (voitures virtuelles sur routes réelles), - prototypage (visualisation de prototypes virtuels dans des décors réels), architecture (visualisation de bâtiments virtuels dans des paysage réels), - guidage temps réel: affichage d'informations pour diriger un pilote ou un conducteur. Marchés Marketing / Communication -études de marchés: affichage de produits non encore réellement réalisés dans des situations réelles (ex nouveau mobile GSM, nouvelle voiture), - images interactives dans boutiques / centres commerciaux. Marchés des technologies de l'information - visioconférence: visiophone avec possibilité d'insérer et d'interagir avec des objets virtuels. Marchés des loisirs: - parcs d'attractions: animations visuelles temps réel (ex: miroirs interactifs). Les besoins du marché sont les suivants. Tous les marchés visés ont besoin d'une technologie " faible cot " qui s'appuie sur du matériel produit en grande quantité (pas de stations graphiques chères). Pas de développements électroniques propriétaire utilisation de matériel standard " sur étagère ". La technologie doit fonctionner de préférence avec un ordinateur unique (boîtier PC standard, voire ordinateur portable). Utilisation de matériel informatique standard grand public: cartes-mères de technologie PC grand public, cartes graphiques grand public, cartes d'acquisition vidéo grand public. La technologie doit être temps réel, les images vidéo sont générées directement pour supprimer les cots de post15 production (pas de temps de calcul de plusieurs heures pour quelques secondes d'images vidéo). Embarquabilité: la technologie doit pouvoir fonctionner sur des cartes PC industrielles compactes. Durcissement: la technologie doit pouvoir fonctionner sur du matériel durci (pour industrie / militaire). Besoins très importants en qualité de rendu graphique (nombre de polygones, ombrage, texturation, réflexions, antialiasing etc). Produit qui doit suivre l'évolution des performances graphiques des cartes accélératrices avec faible effort de mise à jour du logiciel: utilisation de librairies graphiques standard (DirectX ou OpenGL). Besoin d'avoir un faible cot de maintenance remplacement facile de cartes défectueuses, sans contrat de maintenance. Auto-maintenance par le possesseur de la solution possibilité de remplacer des cartes défectueuses en achetant des cartes électroniques " sur étagère " dans le commerce. La technologie doit être facilement déplaçable (mobilité) avec une mise en oeuvre rapide sur le lieu d'utilisation. Les technologies connues de l'art antérieur pour faire de la réalité améliorée consistent à utiliser le matériel suivant: - Une station de travail graphique pour la génération des images de synthèse uniquement (matériel développé spécifiquement ou station du type Silicon Graphics). Les images de synthèse sont générées sur un fond de couleur uniforme (couleur clé). - Un Rack de type " chroma keyer ": il effectue un mixage de l'image vidéo de la caméra avec l'image de synthèse générée par la station graphique. La couleur clé est remplacée par l'image vidéo. - Un Rack de type " retard d'image ": pour compenser le temps de traitement du générateur d'images. Les défauts de cette solution de l'art antérieur sont les suivants: Prix de revient de la solution très élevé: le retard d'images est un rack professionnel, le chroma key est un rack professionnel, le générateur d'images est une station professionnelle. La solution n'est pas embarquable (elle est composée de trois modules séparés: générateur d'images / retard d'images / chroma key). Interactivité visuelle limitée entre la vidéo et les images de synthèse: en sortie du " chroma keyer " la vidéo est insérée à la place de la couleur clé. Il n'est pas possible d'avoir des réflexions de la vidéo sur les images de synthèse ou le contraire. La vidéo ne peut pas être traitée comme une texture. Par exemple, il ne peut y avoir d'effet de reflets entre les images réelles (images vidéo) et les objets de synthèse. Le principe même du " chroma key " peut produire des artefacts; il limite le choix dans la palette de couleurs des images de synthèse, et rend problématique le rendu d'objets de synthèse présentant des transparences. Les performances des stations graphiques spécifiques sont vite dépassées par les performances des cartes graphiques grand public qui sont toujours plus puissantes (puissance graphique du matériel grand public multipliée par deux tous les six mois environ). La solution est chère en termes de maintenance (les 3 appareils qui la composent ont un contrat de maintenance spécifique). La solution ne peut pas fonctionner sur un ordinateur portable, elle n'est pas mobile. La solution est contraignante en termes de temps de réglages de tous ses éléments. La présente invention résout le problème abordé. Elle met en oeuvre du matériel grand public pour effectuer en temps réel le mixage d'images de synthèse avec des images vidéo issues de caméras vidéo. La présente invention concerne un procédé permettant à un utilisateur de mélanger en temps réel des images de synthèse avec des signaux vidéo, notamment des images vidéo. Les signaux vidéo sont notamment produits par une caméra vidéo. L'utilisateur dispose d'un équipement informatique, notamment de type "ordinateur PC" grand public. L'équipement informatique comprend: - au moins une carte d'acquisition vidéo, notamment de type carte d'acquisition vidéo grand public, - une carte graphique, notamment de type carte graphique grand public avec accélération 2D/3D. Le procédé comprend: - l'étape, pour la carte d'acquisition vidéo, de numériser les signaux vidéo produits par la caméra vidéo, - l'étape, pour la carte d'acquisition vidéo, de transmettre à la carte graphique les signaux vidéo ainsi numérisés, - l'étape, pour la carte graphique, de calculer les images de synthèse, - l'étape d'associer en temps réel les images de synthèse aux signaux vidéo numérisés, grâce à des moyens de traitement logiciels de l'équipement informatique. Il résulte de la combinaison des traits techniques que la mise en òuvre simultanée de la carte d'acquisition vidéo et de la carte graphique permet d'obtenir en temps réel des images de synthèse fusionnées à des images vidéo. L'invention concerne également un système permettant à un utilisateur de mélanger en temps réel des images de synthèse avec des signaux vidéo, notamment des images vidéo. Les signaux vidéo sont notamment produits par une caméra vidéo. L'utilisateur dispose d'un équipement informatique, notamment de type "ordinateur PC" grand public. L'équipement informatique comprend: - au moins une carte d'acquisition vidéo, notamment de type carte d'acquisition vidéo grand public, - une carte graphique, notamment de type carte graphique grand public avec accélération 2D/3D. Le système est tel que la carte d'acquisition vidéo comporte des moyens de numérisation pour numériser les signaux vidéo produits par la caméra vidéo. Le système est tel que la carte d'acquisition vidéo comporte des moyens de transmission pour transmettre à la carte graphique les signaux vidéo ainsi numérisés. Le système est tel que la carte graphique comporte des moyens de calcul pour calculer les images de synthèse. L'équipement informatique comprend en outre des moyens de traitement logiciels pour associer en temps réel les images de synthèse aux signaux vidéo numérisés. Il résulte de la combinaison des traits techniques que la mise en oeuvre simultanée de la carte d'acquisition vidéo et de la carte graphique permet d'obtenir en temps réel des images de synthèse fusionnées à des images vidéo. La présente invention est une solution qui s'appuie sur un couple logiciel/matériel Le matériel: Matériel informatique de type ordinateur grand public (par exemple de type PC). Nous utilisons un ordinateur muni des cartes électroniques suivantes: une carte graphique (avec accélération 2D/3D) grand public " sur étagère ", - une (ou plusieurs) carte(s) d'acquisition vidéo grand public " sur étagère ". Normalement, la carte graphique a pour fonction principale les jeux 2D/3D avec de bonnes performances, l'utilisation de logiciels bureautique. Normalement, la carte d'acquisition vidéo a pour fonction principale les acquisitions vidéo sur le disque dur, le montage vidéo. Le logiciel La présente invention permet de faire fonctionner les deux cartes simultanément, ce qui autorise la génération d'images de synthèse fusionnées à des images vidéo, le tout en temps réel. Grâce au logiciel spécifique à la présente invention, les deux cartes ont été détournées de leurs applications premières. Description sommaire de la technologie La carte d'acquisition vidéo numérise le signal vidéo en provenance de la caméra et fournit à la carte graphique 3D les pixels qui composent chaque image vidéo (image réelle). Ce flux numérique est exploitable de plusieurs manières: - Overlay direct avec couleur clé (dans ce cas, la carte graphique se contente de tracer les images de synthèse sur un fond de couleur uniforme). - Remplissage d'un buffer dans la carte graphique utilisée en tant que backbuffer sur lequel par la suite la carte vidéo effectue un rendu 3D (de préférence, l'accélération 2D de la carte graphique est utilisée pour le remplissage, conjointement à la carte d'acquisition vidéo, et l'accélération 3D est utilisée par la suite pour le rendu). - Remplissage d'un buffer (dans la mémoire texture de la carte graphique) utilisé par la suite en tant que texture par la carte graphique. Ces trois techniques, utilisées soit séparément soit conjointement, permettent d'obtenir le résultat souhaité, elles sont utilisées en fonction des critères à atteindre, en termes de qualité d'image ou de performances (nombre d'images par seconde). Avantages de la solution Fournir à la carte graphique 3D le flux video en temps réel permet alors de bénéficier des avantages suivants: Un seul ordinateur grand public pour tous les traitements: Le mixage flux video / flux 3D est effectué en interne dans l'ordinateur: pas besoin de chroma key externe (voir chapitre II) l'art antérieur). Le flux vidéo peut être retardé par mémorisation de N images vidéo précédentes: pas besoin de retardateur d'images externes (voir chapitre II) l'art antérieur). Prix de revient de la solution très bas. La solution peut aussi fonctionner avec des cartes PC industrielles compactes: elle devient une solution embarquable, transportable ou durcie. La solution peut fonctionner sur un ordinateur portable équipé d'une entrée vidéo (ex: entrée DV). La solution permet de réaliser en temps réel des effets de vidéo texturation c'est à dire la texturation d'objets de synthèse, non pas avec une simple image statique, mais avec une video " en direct ". La solution permet de réaliser en temps réel des effets d' " environnement mapping " dynamique c'est à dire la possibilité d'entourer les objets de synthèse d'une carte d'environnement non pas statique, mais qui est la vidéo elle même. Cela ouvre la porte à des effets surprenants, en particulier lorsque les objets de synthèse ont une surface réfléchissante comme un miroir. La solution permet de réaliser tout ce qu'il est possible de faire classiquement avec des textures statiques mais maintenant avec une source vidéo live. Description détaillée de l'invention Différents modes de fonctionnement sont possibles en fonctions des critères suivants: Normes vidéo en entrée (ex: PAL/DV/SDI/RVB/YUV). Normes vidéo en sortie. Qualité d'image souhaitée (ex: qualité vidéo grand public ou qualité vidéo " diffusable "). Performances (nombre d'images par seconde) du système. Fonctionnalités visuelles. De préférence, on utilise le mode PCI master de la carte d'acquisition vidéo pour atteindre le plus haut débit de transfert entre la carte d'acquisition et la carte graphique 2D/3D. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description de variantes de réalisation de l'invention, données à titre d'exemple indicatif et non limitatif, et de - la figure 1 qui représente une première configuration, ci-après dénommée la configuration nl, - la figure 2 qui représente une première configuration, ci-après dénommée la configuration n02, - la figure 3 qui représente une première configuration, ci-après dénommée la configuration n03, - la figure 4 qui représente une première configuration, ci-après dénommée la configuration n04, - la figure 5 qui représente une première configuration, ci-après dénommée la configuration n05. Dans un premier temps, on va décrire les différentes configurations matérielles utilisables représentées sur les figures 1 à 5. On détaillera ensuite différentes variantes d'algorithmes logiciels applicables, chaque algorithme s'appliquant à certaines des configurations matérielles préalablement décrites. Figure 1: configuration noi Un ordinateur de type compatible PC 2 contient une carte graphique 3 (carte enfichée sur bus PCI ou bus AGP). Cette carte graphique est équipée d'une entrée vidéo 1 qui peut être à la norme DV, PAL, NTSC ou SVIDEO. Un signal vidéo en provenance d'une caméra 8 est branché sur 1. Le signal vidéo est stocké sous forme numérique dans l' " input buffer " 4 de la carte graphique. Le logiciel effectue ensuite une recopie de l' " input buffer " dans le " f rame buffer " 5 de la carte graphique, puis trace les objets de synthèse dans le " frame buffer " (voir la rubrique " algorithmes "). Enfin, le contenu du frame buffer est affiché en utilisant la sortie vidéo 6 de la carte graphique, cette sortie peut être du type VGA, PAL, NTSC, SVIDEO ou DVI. Le résultat est visualisé ou enregistré en temps réel par tout périphérique 7 avec entrée vidéo compatible avec la sortie de 6. Les périphériques 7 peuvent être tout moyen de visualisation (écran TV, écran LCD etc...) ou d'enregistrement (magnétoscope) ou bien encore une régie TV. La configuration matérielle noi utilise une carte graphique accélérée 2D/3D équipée d'une entrée vidéo. Ce genre de carte du type " tout en un " est conçu au départ pour l'utilisateur de PC qui veut à la fois l'accélération 3D et le montage vidéo pour un investissement réduit. Le transfert de l'image vidéo dans le frame buffer est effectué via un bus propriétaire interne à la carte graphique (bus spécifique au constructeur de la carte graphique). Figure 2: configuration n02 Un ordinateur de type compatible PC 1 contient une carte-mère 2 équipée d'une entrée DV ou USB 3. Ce PC est également équipé d'une carte graphique 7 munie d'une sortie vidéo 6 (sortie de type VGA ou PAL ou NTSC ou SVIDEO ou DVI). Un signal vidéo en provenance d'une caméra 9 est branché sur 3. Le signal vidéo est stocké sous forme numérique dans 1' " input buffer " 4 de la carte mère (en général en mémoire centrale de la carte mère). Le logiciel effectue ensuite une recopie de 4 vers le " f rame buffer " 5 de la carte graphique, puis trace ensuite les objets de synthèse dans 5 (voir la rubrique " algorithmes "). Enfin, le contenu du f rame buffer est affiché en utilisant 6. Le résultat est visualisé ou enregistré en temps réel par tout périphérique 8 avec entrée vidéo compatible avec 6. Les périphériques de type 8 peuvent être tout moyen de visualisation (écran TV, écran LCD etc.. .) ou d'enregistrement (magnétoscope) ou bien encore une régie TV. Certaines cartes-mères d'ordinateurs personnels sont équipées en standard d'entrées vidéo. Cela est de plus en plus fréquent notamment sur les ordinateurs portables. Au départ, cela permet à l'utilisateur de faire du montage vidéo sans installer de carte d'acquisition vidéo. L'entrée vidéo est ainsi située sur la carte-mère. L'entrée USB est utilisable en tant qu'entrée vidéo, même si le port USB est un port généraliste. Dans ce cas, la caméra utilisée est de type " WebCam " avec sortie USB. Figure 3 configuration n03 Dans le même PC, on réunit une carte d'acquisition vidéo et une carte graphique avec accélération 2D/3D. Un ordinateur de type compatible PC 2 contient une carte d'acquisition vidéo 4 (carte enfichée sur bus PCI). Cette carte 4 est munie d'une entrée vidéo 3 à la norme DV ou PAL ou NTSC ou RVB ou YUV ou SDI. L'ordinateur 2 est aussi équipé d'une carte graphique 8 (carte enfichée sur bus PCI ou AGP). Cette carte 8 est munie d'une sortie vidéo 7 qui peut être à la norme VGA ou PAL ou NTSC ou SVIDEO ou DVI. Un signal vidéo en provenance d'une caméra 1 est branché sur 3. Le signal vidéo est stocké sous forme numérique dans 1' " input buffer " 5 de la carte 4. Le logiciel effectue ensuite une recopie de 1' " input buffer " 5 vers le " f rame buffer " 6 de la carte graphique. Eventuellement, un retard d'image peut être effectué via la mémoire tampon 10. Ce retard permet éventuellement de mieux synchroniser la vidéo et les images de synthèse qui peuvent être calculées avec quelques images de retard par rapport à la vidéo réelle. Ensuite, le logiciel trace les objets de synthèse dans le " frame buffer " 6 (voir la rubrique " algorithmes "). Enfin, le contenu du frame buffer est affiché en utilisant 7. Le résultat est visualisé ou enregistré en temps réel par tout périphérique 9 avec entrée vidéo compatible avec 7. Les périphériques de type 9 peuvent être tout moyen de visualisation (écran TV, écran LCD etc.. .) ou d'enregistrement (magnétoscope) ou bien encore une régie TV. Figure 4: configuration n04 Un ordinateur de type compatible PC 2 contient une carte d'acquisition vidéo 3 (carte enfichée sur bus PCI). Cette carte 3 est munie d'une entrée vidéo 5 à la norme DV ou PAL ou NTSC ou RVB ou YUV ou SDI, 3 est également munie d'une sortie vidéo 4 à la norme DV ou PAL ou NTSC ou RVB ou YUV ou SDI. L'ordinateur 2 est aussi équipé d'une carte graphique 8 (carte enfichée sur bus PCI ou AGP). Un signal vidéo en provenance d'une caméra 10 est *branché sur 5. Dans cette configuration n04, deux fonctionnements sont possibles: Fonctionnement nl (sur le schéma: flèche 11 valable, flèche 12 non valable): le logiciel recopie l' " input buffer " 9 dans le " f rame buffer " 7 de la carte graphique. Ensuite les objets de synthèse sont tracés en surimpression dans 7, enfin le contenu de 7 est recopié dans l' " output buffer " 6 de la carte d'acquisition. Fonctionnement n02 (sur le schéma: flèche il non valable, flèche 12 valable): la carte d'acquisition 3 dispose d'un mixage de type overlay (avec couleur clé): la carte d'acquisition n'envoie pas 1' " input buffer " 5 vers la carte graphique 8, la carte graphique 8 envoie uniquement l'image de synthèse vers la carte d'acquisition 3, le mixage video/synthèse est embarqué sur la carte d'acquisition vidéo 3. Le résultat est visualisé ou enregistré en temps réel par tout périphérique 1 avec entrée vidéo compatible avec 4. Les périphériques de type 1 peuvent être tout moyen de visualisation (écran TV, écran LCD etc...) d'enregistrement (magnétoscope) ou bien encore une régie TV. Dans cette configuration, la carte graphique 8 ne sert qu'à faire un rendu intermédiaire. Sa sortie vidéo n'est pas utilisée. Une fois le rendu de l'image effectué, le " frame buffer " 7 de la carte graphique est recopié dans le buffer de sortie 6 de la carte d'acquisition. C'est donc la sortie vidéo 4 de la carte d'acquisition qui est utilisée en final. Seulement certaines cartes d'acquisition sont capables de gérer simultanément un " input buffer " et un " output buffer ". Figure 5: configuration n05 Un ordinateur de type compatible PC 1 est équipé de deux cartes d'acquisition vidéo 2 et 5. 1 est également équipé d'une carte graphique 7 enfichée sur bus PCI ou AGP. est équipé d'une entrée vidéo il de type DV ou SDI ou RVB ou YUV. 2 est équipé d'une sortie vidéo 3 de type DV ou SDI ou RVB ou YUV. Un signal vidéo en provenance d'une caméra 10 est branché sur 11. Le signal vidéo est stocké sous forme numérique dans l' " input buffer " 9 de la carte 5. Le contenu de 9 est recopié dans le " f rame buffer " 6 de la carte graphique 7. Eventuellement un retard d'image peut être effectué via la mémoire tampon 8. Ce retard permet éventuellement de mieux synchroniser la vidéo et les images de synthèse qui peuvent être calculées avec quelques images de retard par rapport à la vidéo réelle. Ensuite, le logiciel trace les objets de synthèse dans le " frame buffer " 6. Le contenu du " frame buffer " 6 est copié dans 1' " input buffer " 4 de la carte 2. La sortie vidéo 3 de la carte 2 est alors rafraîchie avec la nouvelle image. Le résultat est visualisé ou enregistré en temps réel par tout périphérique 12 avec entrée vidéo compatible avec 3. Les périphériques de type 12 peuvent être tout moyen de visualisation (écran TV, écran LCD etc...) ou d'enregistrement (magnétoscope) ou bien encore une régie TV. Dans cette configuration, la carte graphique ne sert qu'à faire un rendu intermédiaire. Sa sortie n'est pas utilisée. On va maintenant détailler différentes variantes d'algorithmes logiciels applicables aux configurations ci-dessus décrites. Algorithme 1 Mode "overlay", tracé des objets de synthèse en simple buffer. Les configurations matérielles applicables pour cet algorithme sont les configurations no 1, 2, 3, 4, 5. Algorithme 2: Mode "overlay", tracé des objets de synthèse en double buffer. Les configurations matérielles applicables pour cet algorithme sont les configurations no 1, 2, 3, 4, 5. Algorithme 3: Solution avec recopie de 1' "input buffer" de la carte d'acquisition dans le " back buffer " de la carte graphique, mode double buffer. Les configurations matérielles applicables pour cet algorithme sont les configurations no 1, 2, 3, 4, 5. Algorithme 4: Solution avec recopie de 1' "input buffer" de la carte d'acquisition dans la mémoire texture de la carte graphique, mode double buffer. Les configurations matérielles applicables pour cet algorithme sont les configurations n0 1, 2, 3, 4, 5. Algorithme 5: Solution pour obtenir une entrée vidéo et sortie vidéo sur la ou les carte(s) d'acquisition. Les configurations matérielles applicables pour cet algorithme sont les configurations n0 4 et 5. La figure 6 représente, sous forme de blocs, l'algorithme 1. La signification de chacun des blocs est la suivante: Bloc 20 DEPART. Bloc 22 Initialisation de la carte d'acquisition: Passage en Mode Overlay (si possible mode " bus master PCI "). Définition de la couleur clé de l'Overlay (ex: R=0, G=0, B=255). Définition de l'entrée vidéo (ex Svideo/PAL/NTSC). Démarrage de l'Overlay. Bloc 24: Initialisation de la carte VGA Définition du type de sortie (ex sortie VGAou Pal ou NTSC ou DVI). Définition du mode graphique (plein écran ou fenêtré). Définition de la Résolution graphique (ex: 800 par 600 en 32bits par pixel). Définition du mode Zbuffer (init. Accélération 3D). Bloc 26: Chargement de la base de données 3D: Chargement de tous les modèles 3D à partir du disque dur. Bloc 28: RAZ du Zbuffer. Remplissage du " front buffer " avec la couleur clé de l'overlay (ex: R=0, G=0, B=255). Tracé des objets 3D dans le " front buffer " (la vidéo apparaît alors automatiquement dans les zones contenant la couleur clé). Bloc 30 Fin programme ? Bloc 32 FIN. La figure 7 représente, sous forme de blocs, l'algorithme 2. La signification des blocs est la suivante Bloc 34: DEPART. Bloc 36: Initialisation de la carte d'acquisition Passage en Mode Overlay (si possible mode "bus master PCI"). Définition de la couleur clé de l'Overlay (ex R=0,G=0,B=255). Définition de l'entrée vidéo (ex Svideo/PAL/NTSC). Démarrage de l'Overlay. Bloc 38: Initialisation de la carte VGA Définition du type de sortie (ex sortie VGAou Pal ou NTSC ou DVI). Définition du mode graphique (plein écran ou fenêtré). Définition de la Résolution graphique (ex: 800 par 600 en 32bits par pixel). Définition du mode Zbuffer (init. Accélération 3D). Passage en mode double buffer (création du " back buffer " et du " front buffer " Bloc 40 Chargement de la base de données 3D Chargement de tous les modèles 3D à partir du disque dur. Bloc 42 RAZ du Zbuffer. Remplissage du " front buffer " avec la couleur clé de l'overlay (ex: R=0,G=0,B=255). Tracé des objets 3D dans le " back buffer ". Flip Flop (le " back buffer " devient le " front buffer " et le " front buffer " devient le " back buffer "). (la vidéo apparaît alors automatiquement dans les zones contenant la couleur clé). Bloc 44: Fin Programme ? Bloc 46 FIN. La figure 8 représente, sous forme de blocs, l'algorithme 3. Les blocs ont la signification suivante Bloc 48: DEPART. Bloc 50: Initialisation de la carte d' acquisition Passage en mode "frame grabbing". Définition de l'entrée vidéo (ex: Svideo/PAL/NTSC). Démarrage du " frame grabbing ". Bloc 52: Initialisation de la carte VGA Définition du type de sortie (ex: sortie VGAou Pal ou NTSC ou DVI). Définition du mode graphique (plein écran ou fenêtré). Définition de la Résolution graphique (ex: 800 par 600 en 32bits par pixel). Définition du mode Zbuffer (init. Accélération 3D). Passage en mode double buffer (création du " back buffer " et du " front buffer ". Bloc 54: Chargement de la base de données 3D Chargement de tous les modèles 3D à partir du disque dur. Bloc 56 RAZ du Zbuffer. RAZ du Back buffer (optionnel). Bloc 58: Copie de l'" input buffer " de la carte d'acquisition video dans le "Back buffer" de la carte graphique. Bloc 60: Tracé des objets 3D dans le " back buffer ". Flip Flop (le " back buffer " devient le " front buffer " et le " front buffer " devient le " back buffer "). Bloc 62: Fin Programme ? Bloc 64 FIN. La figure 9 représente, sous forme de blocs, l'algorithme 4. Les blocs ont la signification suivante Bloc 66: DEPART. Bloc 68: Initialisation de la carte d'acquisition Passage en mode "frame grabbing". Définition de l'entrée vidéo (ex: Svideo/PAL/NTSC). Démarrage du " frame grabbing ". Bloc 70: Initialisation de la carte VGA Définition du type de sortie (ex: sortie VGA ou Pal ou NTSC ou DVI). Définition du mode graphique (plein écran ou fenêtré). Définition de la Résolution graphique (ex: 800 par 600 en 32bits par pixel). Définition du mode Zbuffer (init. Accélération 3D). Passage en mode double buffer (création du " back buffer " et du " front buffer ". Init. de la texture vidéo: création d'une texture en VRAM de la taille de la capture vidéo (même nombre de lignes/colonnes). Récupération de l'adresse de départ de cette texture vidéo. Bloc 72 Chargement de la base de données 3D Chargement de tous les modèles 3D à partir du disque dur. Bloc 74 RAZ du Zbuffer. RAZ du Back buffer (optionnel). Bloc 76: Copie de l'" input buffer " de la carte d'acquisition dans la mémoire texture de la carte graphique. Bloc 78: Tracé des objets 3D dans le " back buffer ". Exploitation des textures, y compris celles qui proviennent de l'acquisition vidéo selon toutes les utilisations qui peuvent être faites d'une texture (ex: environment mapping, tracé dans le backbuffer comme fond d'écran, texturation d'objets de synthèse). Flip Flop (le " back buffer " devient le " front buffer " et le " front buffer " devient le " back buffer "). Bloc 80: Fin programme? Bloc 82 FIN. La figure 10 représente l'algorithme 5 dans laquelle les blocs ont la signification suivante Bloc 84: DEPART. Bloc 86: Initialisation de la carte d'acquisition Set frame grabbing mode. Set Video input (ex: SDI/DV/RGB/YUV). Start frame grabbing. Set Video output (ex: SDI/DV). Bloc 88: Initialisation de la carte VGA Définition du type de sortie (ex: sortie VGAou Pal ou NTSC ou DVI). Définition du mode graphique (plein écran ou fenêtré). Définition de la Résolution graphique (ex: 800 par 600 en 32bits par pixel). Définition du mode Zbuffer (nit. Accélération 3D). Bloc 90: Chargement de la base de données 3D Chargement de tous les modèles 3D à partir du disque dur. Bloc 92 RAZ du Zbuffer. RAZ du " Back buffer " (optionnel). Bloc 94: Copie de l'" input buffer " de la carte d'acquisition video dans le "Back buffer" de la carte graphique. Bloc 96: Tracé des objets 3D dans le " Back buffer ". Bloc 98: Copie du "back buffer" dans 1" output buffer " de la carte d'acquisition vidéo. Bloc 100: Fin programme? Bloc 102 FIN. -4 REVENDICATIONS 1. Procédé permettant à un utilisateur de mélanger en temps réel des images de synthèse avec des signaux vidéo, notamment des images vidéo; lesdits signaux vidéo étant notamment produits par une caméra vidéo; ledit utilisateur disposant d'un équipement informatique, notamment de type "ordinateur PC" grand public; ledit équipement informatique comprenant: au moins une carte d'acquisition vidéo, notamment de type carte d'acquisition vidéo grand public, - une carte graphique, notamment de type carte graphique grand public avec accélération 2D/3D, ledit procédé comprenant: - l'étape, pour ladite carte d'acquisition vidéo, de numériser lesdits signaux vidéo produits par ladite caméra vidéo, - l'étape, pour ladite carte d'acquisition vidéo, de transmettre à ladite carte graphique lesdits signaux vidéo ainsi numérisés, - l'étape, pour ladite carte graphique, de calculer lesdites images de synthèse, - l'étape d'associer en temps réel lesdites images de synthèse auxdits signaux vidéo numérisés, grâce à des moyens de traitement logiciels dudit équipement informatique; de sorte que la mise en oeuvre simultanée de la carte d'acquisition vidéo et de la carte graphique permet d'obtenir en temps réel des images de synthèse fusionnées à des images vidéo. 2. Système permettant à un utilisateur de mélanger en temps réel des images de synthèse avec des signaux vidéo, notamment des images vidéo; lesdits signaux vidéo étant notamment produits par une caméra vidéo; ledit utilisateur disposant d'un équipement informatique, notamment de type "ordinateur PC" grand public ledit équipement informatique comprenant - au moins une carte d'acquisition vidéo, notamment de type carte d'acquisition vidéo grand public, - une carte graphique, notamment de type carte graphique grand public avec accélération 2D/3D, ledit système étant tel que ladite carte d'acquisition vidéo comporte des moyens de numérisation pour numériser lesdits signaux vidéo produits par ladite caméra vidéo; ledit système étant tel que ladite carte d'acquisition vidéo comporte des moyens de transmission pour transmettre à ladite carte graphique lesdits signaux vidéo ainsi numérisés; ledit système étant tel que ladite carte graphique comporte des moyens de calcul pour calculer lesdites images de synthèse; ledit équipement informatique comprenant en outre des moyens de traitement logiciels pour associer en temps réel lesdites images de synthèse auxdits signaux vidéo numérisés; de sorte que la mise en oeuvre simultanée de la carte d'acquisition vidéo et de la carte graphique permet d'obtenir en temps réel des images de synthèse fusionnées à des images vidéo.