FR2969794A1 - Procede de synthese d'image - Google Patents

Procede de synthese d'image Download PDF

Info

Publication number
FR2969794A1
FR2969794A1 FR1061148A FR1061148A FR2969794A1 FR 2969794 A1 FR2969794 A1 FR 2969794A1 FR 1061148 A FR1061148 A FR 1061148A FR 1061148 A FR1061148 A FR 1061148A FR 2969794 A1 FR2969794 A1 FR 2969794A1
Authority
FR
France
Prior art keywords
face
occupied space
coordinates
space portion
free space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1061148A
Other languages
English (en)
Other versions
FR2969794B1 (fr
Inventor
Carlos Ramos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Electronics and Defense SAS
Original Assignee
Sagem Defense Securite SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem Defense Securite SA filed Critical Sagem Defense Securite SA
Priority to FR1061148A priority Critical patent/FR2969794B1/fr
Publication of FR2969794A1 publication Critical patent/FR2969794A1/fr
Application granted granted Critical
Publication of FR2969794B1 publication Critical patent/FR2969794B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un procédé de synthèse d'image est basé sur des liens entre des portions d'espace qui sont libres dans une scène tridimensionnelle et des faces d'objets qui sont présents dans ladite scène. Ces liens associent à chaque portion d'espace libre les faces d'objets qui sont visibles depuis cette portion d'espace libre. La portion d'espace libre qui contient un point d'observation est sélectionnée. L'image est ensuite construite en n'utilisant que les faces d'objets qui sont reliées à cette portion d'espace libre sélectionnée. Un tel procédé permet de réduire une durée qui est nécessaire pour construire chaque image, de gérer des collisions entre le point d'observation et des objets, ainsi que de réduire les ressources de mémorisation et de traitement de données qui sont nécessaires au sein d'un terminal vidéo.

Description

PROCEDE DE SYNTHESE D'IMAGE La présente invention concerne un procédé de synthèse d'image, une unité de gestion de données d'image qui est adaptée pour fournir des données d'image et un terminal vidéo. Elle concerne aussi deux programmes d'ordinateur, respectivement pour fournir les données d'image et pour produire l'image à partir de ces données. Actuellement, pour synthétiser des images d'une scène tridimensionnelle, la scène est préalablement enregistrée dans une base de données sous la forme d'éléments de matière qui constituent des objets présents dans cette scène. Ces éléments de matière forment des portions d'espace qui sont occupées, et qui ne sont pas traversées par une direction de vision. Ils sont enregistrés par les coordonnées tridimensionnelles de sommets de ceux-ci. Dans des mises en oeuvre les plus simples, chaque élément de matière peut être tétraédrique quand la base stocke des volumes pleins, ou peut être délimité par au moins trois triangles quand la base stocke la surface des volumes pleins. Chaque objet de la scène peut alors être reconstitué en juxtaposant les éléments de matière ou de surface qui le constituent, et l'image est construite en sélectionnant des faces visibles des éléments de matière qui sont situés dans un champ d'image fixé. Pour sélectionner les éléments de matière qui sont situés dans le champ d'image, la base de données est interrogée selon une structure arborescente d'interrogations, par exemple un arbre appelé système d'indexation «octree». Une telle structure d'interrogations consiste à partitionner l'espace tridimensionnel de la scène en huit portions, et si l'une de ces portions est sécante avec le champ d'image, à la partitionner de nouveau en huit sous-portions, etc en continuant de façon récursive. Les éléments de matière sont les feuilles de la structure arborescente, et leurs coordonnées sont renvoyées en tant que réponses à l'interrogation de la base de données. Mais un tel procédé de synthèse d'image présente les inconvénients suivants : 2969794 -2- - le parcours de la base de données en suivant l'octree nécessite des ressources de lecture qui sont importantes, car la structure arborescente de sélection des données d'image qui sont lues est très large ; - un objet qui est situé dans le champ d'image est lu complètement, 5 c'est-à-dire conformément à un niveau de définition maximal de cet objet. Or une telle définition maximale nécessite aussi des ressources de calcul et de mémoire qui soient importantes, alors que la définition maximale de l'objet peut être inutile lorsque celui-ci est, par exemple, représenté éloigné dans la scène tridimensionnelle ou son image bidimensionnelle ; 10 - pour un objet qui est situé dans le champ d'observation, l'interrogation de la base de données fournit les coordonnées de tous les points de cet objet, y compris ceux qui ne seront pas visibles depuis le point d'observation s'ils sont situés d'un côté de l'objet qui est tourné à l'opposé du point d'observation à l'origine de l'image. Les coordonnées de tels points qui sont situés sur des 15 faces non visibles de l'objet sont donc lues et traitées inutilement ; - une situation de collision, dans laquelle le point d'observation est situé à l'intérieur d'un élément de matière de la scène, n'est découverte qu'en extrémité finale d'une branche de la structure arborescente d'interrogations, d'après le contenu de la feuille à laquelle aboutit cette branche. La branche 20 d'interrogations a alors été poursuivie inutilement, puisqu'aucune image de la scène n'existe dans ce cas ; - enfin, la base de données peut être accessible à distance, par exemple par l'intermédiaire d'un réseau de communication auquel est connecté un terminal vidéo. Dans une telle configuration, le terminal vidéo peut 25 construire l'image à partir des données qui sont lues dans la base de données et qui sont transmises par le réseau de communication. Une telle situation peut intervenir pour des jeux vidéo en ligne, notamment des jeux à plusieurs joueurs. Toutes les données d'image qui sont transmises inutilement par le réseau de communication contribuent alors à alourdir, voire à saturer, ce dernier. La présente invention vise notamment à réduire ou supprimer certains au moins des inconvénients précités, ainsi que d'autres, des procédés de -3-synthèse d'image qui sont actuellement utilisés. Pour cela, l'invention propose un nouveau procédé de synthèse d'une image, qui comprend les étapes suivantes : /1/ définir au moins une portion d'espace occupée, en identifiant un ensemble de sommets de cette portion d'espace occupée ; /2/ à partir des sommets de la portion d'espace occupée, diviser un espace autour de la portion d'espace occupée en portions d'espace libres, de sorte que des faces de la portion d'espace occupée, qui sont identiques et en nombre identique, soient tournées vers des points quelconques qui appartiennent à une même des portions d'espace libres ; /3/ dans une base de données, stocker des coordonnées de chaque face de la portion d'espace occupée, et stocker une division d'espace qui est formée par les portions d'espace libres avec, pour chacune de ces portions d'espace libres, un lien vers les coordonnées de chaque face de la portion d'espace occupée qui est tournée vers cette portion d'espace libre ; /4/ interroger la base de données pour un point d'observation identifié ; /5/ dans la base de données, sélectionner celle des portions d'espace libres qui contient le point d'observation ; /6/ en réponse à l'interrogation de l'étape /4/, renvoyer les coordonnées d'au moins une face de la portion d'espace occupée, lorsque ces coordonnées sont reliées à la portion d'espace libre sélectionnée à l'étape /5/ ; /7/ construire l'image à partir des coordonnées qui ont été renvoyées à l'étape /6/, de l'identification du point d'observation et d'une limite du champ de l'image ; et /8/ afficher l'image qui a été construite. Ainsi, selon l'invention, la scène est enregistrée sous forme d'une liste de portions d'espace qui sont libres autour d'une portion d'espace occupée, 2969794 -4- cette dernière pouvant correspondre à un élément de matière de la scène. Les portions d'espace libres sont déterminées de sorte que la portion d'espace occupée est vue par la même face, ou par les mêmes faces, à partir de points quelconques qui appartiennent à une même des portions d'espace libres. Ainsi, 5 lorsque le point d'observation qui est à l'origine d'une image à afficher est fourni, on détermine laquelle des portions d'espace libres contient ce point d'observation, et on obtient directement la ou les face(s) de la portion d'espace occupée sous laquelle (lesquelles) cette portion d'espace occupée est vue à partir du point d'observation. Seules les coordonnées de cette face ou de ces 10 faces sont lues et renvoyées à l'étape /6/. Ces coordonnées de face(s) visible(s) sont suffisantes pour construire l'image à l'étape /7/. Autrement dit, la scène est enregistrée par les portions d'espace libres qui sont délimitées autour de la portion d'espace occupée, et deux portions d'espace libres qui sont distinguées correspondent en principe à des visions de 15 la portion d'espace occupée qui sont différentes. La liste des portions d'espace libres qui est stockée dans la base de données est interrogée quant à l'appartenance du point d'observation à l'une d'elles. Lorsque la portion d'espace libre qui contient le point d'observation est identifiée, les faces de la portion d'espace occupée qui sont visibles sont 20 directement fournies, sans qu'un nouveau processus d'interrogation et de sélection soit utilisé pour les objets qui sont contenus dans la scène. De cette façon, l'invention n'utilise plus de recherche par octree des objets de la scène qui se trouvent à l'intérieur du champ d'image, mais seulement une telle recherche pour la portion d'espace libre qui contient le point d'observation.
25 Pour chaque portion d'espace libre, la liste des faces de la portion d'espace occupée qui sont visibles depuis cette portion d'espace libre a été établie antérieurement, et peut être renvoyée directement. La réponse à l'interrogation est ainsi beaucoup plus rapide. En outre, seules les coordonnées des faces qui sont visibles à partir du 30 point d'observation sont renvoyées en réponse à l'interrogation. Les coordonnées des faces d'un objet qui ne sont pas visibles, parce qu'elles sont tournées à l'opposé du point d'observation, ne sont donc pas lues ni traitées 2969794 -5- inutilement. Il en est de même de certaines faces d'objet qui sont entièrement masquées par d'autres, ou de faces qui appartiennent à des objets qui sont contenus dans d'autres objets. Cet avantage d'un procédé selon l'invention apparaît notamment lorsque le point d'observation est situé dans la scène à 5 l'intérieur d'un objet creux. Seules les faces de l'objet qui sont tournées vers la cavité intérieure de l'objet creux, où se trouve le point d'observation, sont lues et renvoyées pour construire l'image, et non les faces externes de l'objet. De plus, l'interrogation de la base de données révèle elle-même si le point d'observation est situé dans une portion d'espace occupée. Une telle 10 situation de requête d'image, dite de collision entre le point d'observation et les objets stockés dans la base, est donc découverte sans que des coordonnées de faces d'objets soient lues ni renvoyées, et donc sans traitement additionnel de collision. Enfin, le procédé peut être mis en oeuvre à partir d'un terminal vidéo 15 qui est relié à la base de données par l'intermédiaire d'un réseau de communication. La réduction du nombre de coordonnées de points ou de faces d'objets qui sont renvoyées pour chaque image à construire réduit le risque de saturation du réseau de communication. Il permet aussi de réduire la quantité de ressources de mémoire qui doit être disponible dans le terminal vidéo. Ce 20 terminal peut alors être plus simple, moins onéreux, avec une consommation énergétique réduite, notamment lorsqu'il s'agit d'un terminal portable. Dans une telle configuration, la base de données peut être accessible par l'intermédiaire d'un serveur qui est relié au réseau de communication. L'étape /4/ peut alors être exécutée à partir du terminal vidéo connecté au 25 réseau de communication, par une requête qui est adressée au serveur et qui contient une identification du point d'observation. L'étape /5/ est donc exécutée par le serveur, l'étape /6/ est exécutée sous la forme d'au moins un message de données qui est envoyé par le serveur au terminal vidéo, à travers le réseau de communication, et l'étape /8/ est exécutée en utilisant un écran du terminal 30 vidéo. L'étape /7/ peut être exécutée de préférence par le terminal vidéo, pour réduire la quantité des calculs qui sont effectués par le serveur. Un tel report de l'étape /7/ au niveau de chaque terminal vidéo est particulièrement avantageux 2969794 -6- lorsque plusieurs utilisateurs adressent simultanément des interrogations au serveur pour des données d'images. Un premier perfectionnement de l'invention permet de réduire encore la quantité de données qui sont traitées pour synthétiser une image. Pour cela, 5 des distances d'éloignement sont prises en compte, entre certains objets ou portions d'objets qui sont présents de la scène et le point d'observation qui est à l'origine de l'image. L'apparence («rendering» en anglais) de cet objet ou portion d'objet peut notamment être simplifiée, quant à ses détails et/ou sa texture par exemple, en fonction de la distance d'éloignement. Pour cela, 10 plusieurs apparences de face différentes peuvent être stockées en outre pour une même des faces de la portion d'espace occupée. Ainsi l'espace libre peut être partitionné en fonction de l'éloignement à l'objet, les portions les plus éloignées faisant référence à des apparences de plus en plus simplifiées de l'objet. L'étape /6/ d'un procédé selon l'invention peut alors comprendre les 15 sous-étapes suivantes, lorsque les coordonnées de la face pour laquelle les apparences différentes sont stockées sont reliées à la portion d'espace libre qui est sélectionnée à l'étape /5/ : /6-1/ calculer une valeur de la distance d'éloignement, qui sépare le point d'observation et la face de la portion d'espace occupée ; 20 /6-2/ sélectionner l'une de ces apparences de face en fonction de la valeur de la distance d'éloignement ; et /6-3/ renvoyer l'apparence de face qui a été sélectionnée avec les coordonnées de la face de la portion d'espace occupée. Une seule apparence de face est donc renvoyée pour chaque image, 25 qui peut être simplifiée en fonction des conditions de cette image. De préférence, les apparences de face qui sont stockées pour une même face de la portion d'espace occupée correspondent à des niveaux de simplification de représentation de plus en plus élevés. Une apparence de face qui possède un niveau élevé de simplification de représentation peut alors être renvoyée à 30 l'étape /6/, lorsque la valeur de la distance d'éloignement est supérieure. Ainsi, des données d'un objet de la scène ne sont pas traitées, qui correspondraient à une définition inutilement fine par rapport à l'éloignement de cet objet. Les 2969794 -7- étapes /7/ et /8/ du procédé de l'invention sont alors exécutées en représentant, dans l'image, la face de la portion d'espace occupée par l'apparence de face qui a été renvoyée à la sous-étape /6-3/. Selon une variante de ce premier perfectionnement, un objet de la 5 scène peut être supprimé de l'image, ou des portions d'espace libres, lorsqu'il est suffisamment éloigné. Dans ce cas, les données de cet objet ne sont pas renvoyées en réponse à l'interrogation de la base de données. Ainsi, les coordonnées d'une face de la portion d'espace occupée peuvent n'être retournées à l'étape /6/ qu'à la condition qu'une valeur de la distance 10 d'éloignement qui sépare le point d'observation et cette face de la portion d'espace occupée soit inférieure à une valeur-seuil. Cette face de la portion d'espace occupée n'est alors pas représentée dans l'image qui est affichée à l'étape /8/ si la valeur de la distance d'éloignement est supérieure ou égale à la valeur-seuil.
15 Un second perfectionnement concerne la gestion d'états d'objets à utiliser dans l'image. Pour cela, plusieurs références d'états d'objets peuvent en outre être stockées dans la base de données en liaison avec certaines au moins des portions d'espace occupées. Le procédé de l'invention peut alors être complété de la façon suivante : 20 - à l'étape /61: au moins une référence d'état d'objet est renvoyée avec les coordonnées de la face de la portion d'espace occupée, lorsque cette référence d'état d'objet est stockée en liaison avec la portion d'espace occupée ; et - à l'étape /7/ : un état d'objet à utiliser est obtenu à partir de la référence 25 d'état d'objet qui est renvoyée, et l'image est construite à partir des coordonnées renvoyées à l'étape /6/ et de l'état d'objet à utiliser. De préférence, les états d'objets peuvent être stockés dans une mémoire du terminal vidéo en liaison avec les références d'états d'objets. L'état d'objet à utiliser est alors obtenu en lisant la mémoire du terminal vidéo pour la 30 référence d'état d'objet qui est renvoyée à l'étape /6/. Un troisième perfectionnement de l'invention concerne la gestion de plusieurs objets ou portions d'objets qui sont présents dans la scène, lorsqu'un 2969794 -8- procédé de synthèse d'image selon l'invention est utilisé. Dans ce cas, une nouvelle division d'espace est générée, à partir des divisions d'espace qui sont associées respectivement aux objets ou portions d'objets de la scène. Cette nouvelle division d'espace est appelée division d'espace résultante. Elle est 5 formée de portions d'espace libres résultantes, dans chacune desquelles des faces qui restent les mêmes sont visibles pour tous les objets ou portions d'objets. Plus précisément : - plusieurs portions d'espace occupées sont définies à l'étape /1/ ; - l'étape /2/ est effectuée pour chacune de ces portions d'espace ~o occupées, avec des divisions d'espace initiales qui correspondent respectivement aux portions d'espace occupées, chaque division d'espace initiale étant formée de portions d'espace libres initiales qui sont délimitées autour de la portion d'espace occupée correspondante ; 15 - la division d'espace résultante est produite, en étant formée de portions d'espace libres résultantes qui correspondent chacune à des intersections entre des portions d'espace libres initiales appartenant respectivement aux divisions d'espace initiales ; - la division d'espace résultante est stockée dans la base de données 20 avec, pour chacune des portions d'espace libres résultantes, des liens vers les coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libres initiales qui contiennent cette portion d'espace libre résultante ; - l'étape /5/ est effectuée en utilisant la division d'espace résultante, pour 25 sélectionner celle des portions d'espace libres résultantes qui contient le point d'observation ; - l'étape /6/ est effectuée en renvoyant les coordonnées d'au moins une des faces des portions d'espace occupées, qui sont reliées à la portion d'espace libre résultante qui a été sélectionnée à l'étape /5/ ; et 30 - l'image est construite à l'étape /7/ à partir des coordonnées des faces des portions d'espace occupées qui ont été renvoyées à l'étape /6/. 2969794 -9- L'invention propose aussi une unité de gestion de données d'image pour fournir des données d'image ainsi qu'un terminal vidéo, qui sont adaptés pour mettre en oeuvre un procédé tel que décrit précédemment. L'unité de gestion de données d'image peut former un serveur qui est adapté pour 5 transmettre les données d'image à travers un réseau de communication. Elle peut en outre être adaptée pour mettre en oeuvre le premier perfectionnement de l'invention cité plus haut, et/ou sa variante pour supprimer un objet de la scène qui est trop éloigné, et/ou le second perfectionnement de l'invention, et/ou le troisième perfectionnement de l'invention.
10 L'invention propose aussi un premier programme d'ordinateur pour fournir des données d'image, d'une façon qui est adaptée pour synthétiser l'image selon un procédé conforme à l'invention. Un tel premier programme peut être mis en oeuvre dans une unité de gestion de données d'image telle que citée précédemment, éventuellement avec les perfectionnements aussi 15 cités. L'invention propose aussi un second programme d'ordinateur pour produire une image selon un procédé qui est conforme à l'invention. Un tel second programme peut être mis en oeuvre dans un terminal vidéo. Pour la protection de l'invention qui est recherchée par la présente 20 demande de brevet, ces programmes d'ordinateur doivent être considérés comme des produits. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de mise en oeuvre non limitatifs, en référence aux dessins annexés, dans lesquels : 25 - la figure 1 représente des portions d'objets présentes dans une scène utilisée pour synthétiser une image ; - la figure 2 reproduit un tableau de liens utilisé dans une mise en oeuvre de l'invention ; - la figure 3 représente un système adapté pour mettre en oeuvre 30 l'invention ; 2969794 -10- - les figures 4a et 4b illustrent un traitement de deux portions d'objets présentes dans une scène utilisée pour synthétiser une image, selon un perfectionnement de l'invention ; et - la figure 5 est un diagramme synoptique des étapes d'un procédé de 5 synthèse d'image conforme à l'invention. Conformément à la figure 1, une scène tridimensionnelle S est constituée d'objets matériels qui sont repérés par leurs formes et leurs positions dans l'espace. De façon usuelle, chacun de ces objets est découpé en polyèdres de base qui constituent des portions d'espace occupées, aussi 10 appelées portions d'objets. Chaque image de la scène S qui doit être produite commence par l'adoption d'un point d'observation O et d'un champ d'image C selon une géométrie d'observation dans la scène S. Le champ d'image C résultant de la géométrie d'observation est un angle solide de vision qui est issu du point d'observation O, par exemple avec une section rectangulaire. La 15 représentation d'un objet de la scène S dans l'image correspond à l'interruption de certaines directions de vision D par l'un des polyèdres de portions d'espace occupées, à l'intérieur du champ d'image C. Les polyèdres de base des portions d'espace qui sont occupées peuvent être d'un type quelconque. A titre d'illustration, on considère dans la suite des tétraèdres, tels que le tétraèdre 20 représenté dont les sommets sont notés PI à P4. Selon l'invention, pour chaque portion d'espace occupée, l'espace qui entoure cette portion occupée est partitionné en plusieurs portions d'espace dites libres, en fonction des faces de la portion d'espace occupée qui sont visibles. Ainsi, pour le tétraèdre P1-P4, quatorze portions d'espace libres 25 peuvent être délimitées par les plans qui contiennent respectivement les faces du tétraèdre, en prolongeant ces plans au-delà des arrêtes du tétraèdre. D'une façon similaire, une portion d'espace occupée qui a une forme cubique définit vingt-six portions d'espace libres autour d'elle. Les portions d'espace libres qui sont ainsi définies forment une division d'espace autour de la portion d'espace 30 occupée. On associe alors à chacune des portions d'espace libres, par un tableau de liens tel que reproduit sur la figure 2, une indication de la ou des face(s) de la portion d'espace occupée qui est (sont) visible(s) à partir de cette portion d'espace libre. Les coordonnées de chaque face de la portion d'espace occupée sont enregistrées par ailleurs, par exemple par les coordonnées des sommets de cette face. Le tableau constitue donc un regroupement de liens qui sont établis entre chaque portion d'espace libre et les coordonnées d'une ou plusieurs face(s) de la portion d'espace occupée. Ce tableau de liens peut être construit de la manière qui est décrite maintenant. Chaque face de la portion d'espace occupée peut être stockée par les coordonnées de ses sommets en indiquant un sens de parcours de ceux-ci. Par exemple, les sommets de la face peuvent être stockés dans un ordre de lecture qui reproduit un sens de rotation autour de cette face. Un produit vectoriel qui est calculé entre deux vecteurs directeurs de la face fournit alors un vecteur d'orientation de celle-ci. Ce vecteur d'orientation de la face peut alors être comparé à un vecteur qui relie un point d'une portion d'espace libre à la face. Ainsi, pour déterminer si l'une des faces de la portion d'espace occupée est visible à partir d'une des portions d'espace libres, un produit mixte peut être calculé entre les deux vecteurs directeurs de la face et le vecteur qui relie le point de la portion d'espace libre à la face elle-même. Le signe du résultat de ce produit mixte indique si la face est tournée vers ou à l'opposé de la portion d'espace libre. Selon le cas, un lien est ajouté ou non au tableau, pour relier la portion d'espace libre à la face de la portion d'espace occupée. Ainsi, la première colonne du tableau de la figure 2 est une liste des portions d'espace libres de la division d'espace qui est associée au tétraèdre de portion d'espace occupée P1-P4. La première ligne de ce tableau est une liste des faces de ce tétraèdre. Les croix qui sont indiquées établissent alors des liens entre chaque portion d'espace libre et une ou plusieurs des faces du tétraèdre, en fonction de la visibilité de cette (ces) face(s) à partir de la portion d'espace libre. Pour le cas particulier de la portion d'espace occupée tétraédrique P1-P4 seule dans l'espace, quatre portions d'espace libres (repérées par les chiffres 1 à 4) sont reliées chacune à une seule face du tétraèdre, six portions d'espace libres (repérées par les chiffres 5 à 1 o) sont reliées chacune à deux faces du tétraèdre, et quatre portions d'espace libres (repérées par les chiffres 11 à 14) sont reliées chacune à trois faces du tétraèdre. L'ordre d'apparition des portions d'espace libres dans les lignes -12-successives du tableau n'a pas d'importance. L'espace libre peut ensuite être à nouveau divisé à mesure que l'on s'éloigne de l'objet, de sorte que de nouvelles portions de l'espace libres soient produites à partir d'une apparence simplifiée de l'objet. Plusieurs niveaux d'apparence simplifiée peuvent être mis en place dans la base, produisant autant de partitionnements de l'espace libre en fonction de l'éloignement par rapport à l'objet. En outre, les portions d'espace libres peuvent aussi renvoyer, par l'intermédiaire des faces de portions d'espace occupées, à des références qui ~o correspondent à des états d'objets stockés initialement. De telles références peuvent concerner des faces d'objets, voire des objets complets, des états de faces, des textures d'habillage de faces, et chacun possiblement selon plusieurs niveaux de simplification. Les états d'objets qui sont ainsi référencés peuvent être, à titre d'exemples non- 15 limitatifs : - une taille de représentation dans l'image, qui peut être différente de la taille apparente de l'objet tel qu'il est visible depuis le point d'observation, - un mode de représentation : opaque, translucide, avec une luminosité 20 accentuée, avec dissimulation, etc, - une orientation, ou une apparence sphérique, - un comportement, indiquant par exemple si l'objet est statique ou en mouvement, et selon quel mouvement. Ainsi, une scène virtuelle peut être représentée selon un degré 25 suffisant de précision à partir d'un nombre fini de faces, d'objets, de textures, etc, la décrivant, en faisant varier le mode de représentation de ces éléments. Une unité de gestion de données d'image est adaptée pour consulter le tableau des liens. Cette unité détermine d'abord celle des portions d'espace libres qui contient le point d'observation O, puis lit les faces de la portion 30 d'espace occupée qui sont visibles depuis ce point. Elle renvoie alors les coordonnées de ces faces. Pour cela, l'unité de gestion de données d'image -13-comprend : - des moyens d'accès à un support de stockage de données, dans lequel sont stockées des coordonnées de chaque face de la portion d'espace occupée ainsi que, pour chaque portion d'espace libre de la division d'espace autour de cette portion d'espace occupée, au moins un lien vers les coordonnées de l'une face de cette portion d'espace occupée ; - des moyens pour recevoir une requête qui contient une identification du point d'observation O ; - des moyens pour sélectionner celle des portions d'espace libres qui ~o contient le point d'observation O ; et - des moyens pour renvoyer, en réponse à la requête, les coordonnées d'au moins une des faces de la portion d'espace occupée, lorsque ces coordonnées sont reliées à la portion d'espace libre sélectionnée. Le point d'observation O peut être identifié par ses coordonnées 15 tridimensionnelles. Conformément à la figure 3, l'unité de gestion de données d'image peut être un serveur 100, qui est noté SERV. et qui est connecté à un réseau de communication 300. Le support de stockage de données peut être un disque d'enregistrement et de lecture 101, noté DATABASE, ou 20 éventuellement un ensemble de mémoire. La référence 200 désigne un terminal vidéo, qui est noté VIDEO TERM. et qui est adapté pour être connecté au réseau de communication 300. Ce terminal vidéo qui comprend : - des moyens pour transmettre la requête qui contient l'identification du 25 point d'observation O ; - des moyens pour recevoir, en réponse à la requête, les coordonnées d'au moins une face de portion d'espace occupée ; - des moyens pour construire l'image à partir des coordonnées reçues de la face de portion de surface occupée, de l'identification du point 30 d'observation 0 et de la limite du champ d'image C ; et 2969794 -14- - des moyens pour afficher l'image construite. Pour représenter dans l'image une face de la portion d'espace occupée d'une façon plus complète que par son seul pourtour ou quelques points de celle-ci, une apparence de cette face peut être stockée en plus dans la base de 5 données, avec les coordonnées de la face. Une telle apparence détermine un remplissage de la portion de surface dans l'image qui représente la face de la portion d'espace occupée. Elle peut comprendre une couleur de face ainsi que, éventuellement, une texture de coloration et/ou des détails supplémentaires de forme ou de relief. Cette apparence de face est renvoyée par l'unité de gestion de données d'image au terminal vidéo avec les coordonnées de la face. Toutefois, il n'est pas toujours nécessaire qu'une face de la portion d'espace occupée qui est visible dans l'image soit représentée avec tous ses détails. Ce peut être le cas, par exemple, lorsque cette face apparaît dans l'image avec une taille qui est réduite. Par conséquent, l'apparence de la face peut être variée en fonction d'un éloignement de cette face par rapport au point d'observation O. Pour cela, l'unité de gestion de données d'image peut comprendre en outre, selon ce premier perfectionnement de l'invention : - des moyens pour lire sur le support de stockage de données, des identifications respectives de plusieurs apparences de face différentes qui sont stockées pour une même des faces de la portion d'espace occupée ; - des moyens pour calculer la distance d'éloignement qui sépare le point d'observation O et cette face de la portion d'espace occupée ; - des moyens pour sélectionner l'une des apparences de face en fonction de la valeur qui a été calculée pour la distance d'éloignement ; et - des moyens pour renvoyer l'apparence de face qui a été sélectionnée avec les coordonnées de la face de la portion d'espace occupée, en réponse à la requête. En particulier, l'apparence de la face qui est sélectionnée peut être plus simple, ou plus grossière, lorsque la distance d'éloignement est supérieure. La quantité de données qui est transmise par l'unité de gestion de données 2969794 -15- d'image au terminal vidéo est alors réduite. L'apparence de face qui est renvoyée par l'unité de gestion de données d'image avec les coordonnées de la face de la portion d'espace occupée, est utilisée par le terminal vidéo pour représenter l'objet dans l'image.
5 Eventuellement, une face de la portion d'espace occupée peut n'être représentée dans l'image que si cette face n'est pas trop éloignée par rapport au point d'observation O, même si cette face est reliée dans le tableau des liens à la portion d'espace libre qui contient le point O. Dans ce cas, les moyens de l'unité de gestion de données d'image qui sont dédiés au renvoi 10 des coordonnées d'une face de la portion d'espace occupée, peuvent être adaptés pour ne renvoyer ces coordonnées en réponse à la requête qu'à la condition que la distance d'éloignement soit inférieure à une valeur-seuil. Alternativement, la base de données peut être paramétrée pour qu'une portion d'espace libre ne soit pas associée à un objet si ce dernier est 15 considéré comme trop éloigné de la portion d'espace libre, même si l'objet est dans l'angle solide pour un observateur qui est situé dans la portion d'espace libre. Le paramétrage peut utiliser un seuil qui est fixé arbitrairement sur la taille de l'objet tel qu'il est visible depuis la portion d'espace libre. Ainsi le filtrage en fonction de l'éloignement peut être réalisé en amont directement depuis la base 20 de données, et non par l'unité de gestion de données d'image, ce qui réduit les ressources informatiques qui sont nécessaires pour cette unité. Les moyens d'accès au support de stockage de données 101 de l'unité de gestion de données d'image peuvent être adaptés en outre pour lire au moins une référence d'état d'objet qui est susceptible d'être stockée dans ce 25 support de stockage en liaison avec une portion d'espace occupée. Cette référence d'état d'objet est alors renvoyée au terminal vidéo avec les coordonnées de la face de cette portion d'espace occupée. Simultanément, le terminal vidéo peut comprendre lui-même en outre : - une mémoire pour stocker des états d'objets en liaison avec des 30 références d'états d'objets ; et - des moyens pour lire dans cette mémoire un état d'objet à utiliser, en réponse à la référence d'état d'objet qui est reçue de la part de l'unité 2969794 -16- de gestion de données d'image avec les coordonnées de la face de la portion d'espace occupée. Les moyens pour construire l'image sont alors adaptés pour la construire à partir de la face de la portion d'espace occupée et de l'état d'objet 5 à utiliser. Un tel stockage des états d'objets, chacun éventuellement dans plusieurs niveaux de simplification, qui est effectué du côté du terminal vidéo est particulièrement avantageux pour réduire les flux de données qui sont transférés entre l'unité de gestion de données d'image et ce terminal vidéo. En 10 effet, ces états d'objets, qui concernent les descriptions de faces, d'objets, de textures, etc, peuvent alors être retirés des flux de données, puisqu'ils sont déjà disponibles pour le terminal vidéo. En fait, la scène S est composée en général d'un grand nombre de portions d'espace occupées, chacune devant être traitée pour construire 15 l'image à afficher d'une façon qui est similaire à celle qui a été décrite pour le tétraèdre P1-P4. Pour raison de clarté, le traitement de deux portions d'espace occupées qui sont présentes dans la scène est d'abord expliqué dans le cas d'une scène bidimensionnelle, en relation avec figures 4a et 4b. La figure 4a illustre une disposition de deux portions occupées triangulaires dans la scène 20 plane. Pour chaque portion occupée P1-P3 et Q1-Q3, la scène plane est divisée par les prolongements rectilignes des côtés de cette portion occupée. Une première division initiale de la scène plane est ainsi définie autour de la portion occupée P1-P3, et une seconde division initiale est définie de même autour de la portion occupée Q1-Q3. Les portions de plan libres initiales qui sont 25 associées de cette façon à la portion occupée P1-P3 sont numérotées de 1 à 6 autour de celle-ci, en chiffres arabes. De même, les portions de plan libres initiales qui sont associées à la portion occupée Q1-Q3 sont numérotées de 1 à VI autour de cette dernière, en chiffres romains. Les intersections des portions de plan libres initiales 1 à 6 avec celles 1 à VI sont appelées portions libres 30 résultantes. Elles forment une nouvelle division de la scène plane, qui est appelée elle-même division résultante. Chaque portion libre résultante peut être désignée par la réunion des numéros respectifs des portions de plan libres 2969794 -17- initiales qui participent à l'intersection correspondante. Le tableau de la figure 4b correspond alors à celui de la figure 2 pour la division résultante. Sa première colonne est une liste partielle des portions libres résultantes. En fonction des positions, des dimensions et des orientations des deux portions 5 occupées P1-P3 et Q1-Q3, toutes les portions de plan libres de la première division initiale n'ont pas nécessairement d'intersection avec toutes les portions de plan libres de la seconde division initiale. Le tableau complet indique les liens qui relient celles des faces des deux portions occupées P1-P3 et Q1-Q3 qui sont visibles à partir de chaque portion libre résultante.
10 Ce tableau de liens est augmenté de façon itérative à chaque nouvelle portion occupée qui est ajoutée dans la scène. Dans le cadre de l'invention, ce principe de construction du tableau de liens est appliqué de la même manière au cas de la scène tridimensionnelle S, avec des portions occupées et libres qui sont des portions d'espace. Pour mettre en oeuvre un tel second 15 perfectionnement de l'invention, l'unité de gestion de données d'image peut comprendre en outre : - des moyens pour produire une division d'espace résultante à partir de plusieurs divisions d'espace initiales, chaque division d'espace initiale étant formée de portions d'espace libres qui sont délimitées autour de 20 portions d'espace occupées. La division d'espace résultante est alors formée de portions d'espace libres résultantes qui correspondent à des intersections entre des portions d'espace libres appartenant respectivement aux divisions d'espace initiales ; - des moyens pour établir, à partir de chaque portion d'espace libre 25 résultante, des liens vers les coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libre initiale qui contiennent ladite portion d'espace libre résultante ; et - des moyens pour stocker pour chaque portion d'espace libre résultante, les liens qui ont été établis pour cette portion d'espace libre résultante.
30 Les moyens de l'unité de gestion de données d'image qui sont dédiés pour sélectionner l'une des portions d'espace libres, et ceux qui sont dédiés pour 2969794 -18- renvoyer les coordonnées d'au moins une face de portion d'espace occupée, sont alors adaptés pour être appliqués aux portions d'espace libres résultantes. Un procédé de synthèse d'image qui est conforme à l'invention peut donc être exécuté comme décrit maintenant, en relation avec la figure 5.
5 Une première étape préalable A de ce procédé est l'enregistrement des faces de toutes les portions d'espace occupées de la scène S, par leurs coordonnées respectives et éventuellement avec une ou plusieurs apparences de face respectives. Une deuxième étape préalable B commence avec la construction de la 10 division d'espace résultante à partir de toutes les portions d'espace occupées. Cette seconde étape comporte aussi l'établissement des liens entre chaque portion d'espace libre résultante et certaines faces des portions d'espace occupées, pour transcrire la visibilité ou l'invisibilité de chaque face de portion d'espace occupée à partir de chaque portion d'espace libre résultante.
15 A l'étape C, le terminal vidéo 200 adresse une requête REQ. au serveur 100, qui contient une identification du point d'observation O, par exemple les coordonnées de ce point dans la scène S. A l'étape D, le serveur 100 détermine celle des portions d'espace libres résultantes qui contient le point d'observation O. Cette détermination peut être 20 effectuée d'une des façons connues de l'Homme du métier. Par exemple, on pourra utiliser une structure arborescente, notamment du type «octree» dont les feuilles sont les portions d'espace vides résultantes. Le serveur 100 lit alors dans la base de données les coordonnées des faces de portions d'espace occupées qui sont reliées à la portion d'espace libre résultante qui contient le 25 point d'observation O. Eventuellement, il lit simultanément des apparences respectives de ces faces. A l'étape E, le serveur 100 adresse une réponse REP. au terminal vidéo 200. Cette réponse contient les coordonnées et les apparences éventuelles de faces qui ont été lues.
30 A l'étape F, le terminal vidéo 200 construit l'image à partir des coordonnées et des apparences de faces reçues. En particulier, il sélectionne 2969794 -19- les faces des portions d'espace occupées qui sont à l'intérieur du champ d'image C. Il détermine aussi des masquages partiels ou complets qui peuvent apparaître dans l'image entre des faces de portions d'espace occupées différentes. De tels masquages apparaissent lorsqu'une face d'une première 5 portion d'espace occupée est située derrière une autre face d'une seconde portion d'espace occupée dans la scène S, par rapport au point d'observation O. Enfin, l'image construite est affichée à l'étape G. Selon une première amélioration de l'invention, le serveur 100 peut en 10 outre renvoyer au terminal vidéo 200, à l'étape E, les coordonnées et apparences des faces de portions d'espace occupées qui sont reliées aux portions d'espace libres résultantes voisines de celle qui contient le point d'observation O. Ces coordonnées et apparences sont renvoyées en liaison avec chaque portion d'espace libre résultante voisine. Elles ne sont pas 15 utilisées par le terminal vidéo 200 à l'étape F, mais sont déjà disponibles au sein du terminal. Elles constituent un volume d'anticipation autour du point d'observation O, au-delà de la portion d'espace libre résultante qui contient ce point O pour l'image en cours. Pour une image ultérieure à afficher qui correspondrait à un déplacement limité du point d'observation O dans la scène 20 S, les données nécessaires sont ainsi déjà présentes au sein du terminal 200. De cette façon, des images successives qui correspondent à un déplacement progressif du point d'observation O peuvent être construites et affichées à une cadence élevée, donnant l'impression d'un déplacement continu et fluide dans la scène S.
25 Selon une seconde amélioration de l'invention, lorsque deux images successives doivent être synthétisées en étant séparées par un déplacement limité du point d'observation O dans la scène S, seules les données d'image qui changent entre ces deux images peuvent être transmises par le serveur 100 pour la seconde image. Ces données qui sont transmises pour la seconde 30 image peuvent comprendre les coordonnées et apparences des faces de portions d'espace occupées qui sont nouvellement visibles dans la seconde image. Elles peuvent aussi comprendre des identifiants des faces de portions 2969794 -20- d'espace occupées qui étaient visibles dans la première image et qui ne le sont plus dans la seconde. Une réduction supplémentaire est ainsi obtenue, pour les opérations de lecture de données d'image qui sont exécutées par le serveur 100, et pour la quantité de données qui sont transmises par le réseau de 5 communication 300. La description qui vient être donnée a énuméré les moyens matériels qui sont nécessaires pour mettre en oeuvre l'invention. D'une façon générale qui est connue de l'Homme du métier, une mise en oeuvre équivalente de l'invention peut être réalisée en programmant l'unité de gestion de données ~o d'image et le terminal vidéo pour que chacun exécute les étapes concernées du procédé de l'invention. Dans ce cas, le programme pour fournir des données d'image comprend codes d'instructions pour exécuter les étapes suivantes, lorsque ces codes sont lus par l'unité de gestion de données d'image : 15 - recevoir une requête qui contient l'identification du point d'observation O; - sélectionner parmi plusieurs portions d'espace libres stockées sur un support de stockage de données, celle qui contient le point d'observation O ; 20 - lire sur le support de stockage de données, les coordonnées d'au moins une face d'une portion d'espace occupée, qui sont stockées en liaison avec la portion d'espace libre sélectionnée ; et - renvoyer, en réponse à la requête, les coordonnées de face de portion d'espace occupée qui ont été lues pour la portion d'espace libre 25 sélectionnée. Pour le premier perfectionnement de l'invention, ce programme peut comprendre en outre des codes d'instructions pour : - lire sur le support de stockage de données, des identifications respectives de plusieurs apparences de face différentes qui sont 30 stockées pour une même face de portion d'espace occupée ; 2969794 -21 - - calculer une valeur de la distance d'éloignement qui sépare le point d'observation O et la face de portion d'espace occupée ; - sélectionner l'une de ces apparences de face en fonction de la valeur calculée pour la distance d'éloignement ; et 5 - renvoyer l'apparence de face sélectionnée avec les coordonnées de la face de portion d'espace occupée, en réponse à la requête ; - et éventuellement des codes d'instructions supplémentaires pour ne renvoyer les coordonnées de la face de portion d'espace occupée, en réponse à la requête, qu'à la condition que la valeur calculée pour la 10 distance d'éloignement soit inférieure à une valeur-seuil. Pour le deuxième perfectionnement de l'invention, ce programme peut aussi comprendre en outre des codes d'instructions pour renvoyer, en réponse à la requête, au moins une référence d'état d'objet qui est stockée sur le support de stockage de données en liaison avec la portion d'espace occupée.
15 Pour le troisième perfectionnement de l'invention, ce programme peut comprendre en outre des codes d'instructions pour : - produire la division d'espace résultante à partir de plusieurs divisions d'espace initiales formées chacune de portions d'espace libres initiales qui sont délimitées autour de portions d'espace occupées, et qui sont 20 lues sur le support de stockage de données, la division d'espace résultante étant formée de portions d'espace libres résultantes qui correspondent à des intersections entre des portions d'espace libres initiales appartenant respectivement aux divisions d'espace initiales ; - établir pour chaque portion d'espace libre résultante, des liens vers les 25 coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libre initiales qui contient la portion d'espace libre résultante ; - inscrire sur le support de stockage de données, pour chaque portion d'espace libre résultante, les liens qui ont été établis pour cette portion 30 d'espace libre résultante ; 2969794 -22- - sélectionner la portion d'espace libre qui contient le point d'observation O parmi les portions d'espace libres résultantes ; et - renvoyer des coordonnées d'au moins une des faces de portions d'espace occupées, qui sont reliées à la portion d'espace libre 5 résultante qui a été sélectionnée. Le programme pour produire l'image comprend quant à lui des codes d'instructions pour exécuter les étapes suivantes, lorsque ces codes sont lus par le terminal vidéo : - transmettre la requête qui contient l'identification du point d'observation 10 O; - recevoir, en réponse à cette requête, des coordonnées d'au moins une face de portion d'espace occupée ; - construire l'image à partir des coordonnées reçues de face de portion d'espace occupée, de l'identification du point d'observation O et de la 15 limite du champ C de l'image ; et - afficher l'image construite. Pour le deuxième perfectionnement de l'invention concernant les états d'objets, le programme pour produire l'image peut en outre comprendre des codes d'instructions pour lire dans la mémoire du terminal vidéo un état d'objet 20 qui y est stocké en liaison avec la référence d'état d'objet, celle-ci étant reçue en réponse à la requête avec les coordonnées de la face de la portion d'espace occupée. Enfin, il est entendu que l'invention peut être mise en oeuvre en utilisant une unité vidéo, qui est capable d'effectuer à elle seule les étapes de 25 procédé qui ont été citées pour l'unité de gestion de données d'image et celles qui ont été citées pour le terminal vidéo.

Claims (24)

  1. REVENDICATIONS1. Procédé de synthèse d'une image comprenant les étapes suivantes : /1/ définir au moins une portion d'espace occupée (P1-P4), en identifiant un ensemble de sommets de ladite portion d'espace occupée ; /2/ à partir des sommets de la portion d'espace occupée (P1-P4), diviser un espace autour de ladite portion d'espace occupée en portions d'espace libres, de sorte que des faces de ladite portion d'espace occupée, qui sont identiques et en nombre identique, soient tournées vers des points quelconques appartenant à une même des portions d'espace libres ; /3/ dans une base de données (101), stocker des coordonnées de chaque face de la portion d'espace occupée (P1-P4), et stocker une division d'espace formée par les portions d'espace libres avec, pour chacune des dites portions d'espace libres, un lien vers les coordonnées de chaque face de la portion d'espace occupée qui est tournée vers ladite portion d'espace libre ; /4/ interroger la base de données pour un point d'observation identifié (0); /5/ dans la base de données (101), sélectionner une des portions d'espace libres qui contient le point d'observation (0) ; /6/ en réponse à l'interrogation de l'étape /4/, renvoyer les coordonnées d'au moins une face de la portion d'espace occupée (P1-P4), qui sont reliées à la portion d'espace libre sélectionnée à l'étape /5/ ; /7/ construire l'image à partir des coordonnées renvoyées à l'étape /6/, de l'identification du point d'observation (0) et d'une limite de champ (C) de l'image ; et /8/ afficher ladite image.
  2. 2. Procédé selon la revendication 1, suivant lequel : 2969794 -24- - la base de données (101) est accessible par l'intermédiaire d'un serveur (100) relié à un réseau de communication (300) ; - l'étape /4/ est exécutée à partir d'un terminal vidéo (200) connecté au réseau de communication (300), par une requête adressée au serveur 5 (100) et contenant une identification du point d'observation (0) ; - l'étape /5/ est exécutée par le serveur (100) ; - l'étape /6/ est exécutée sous la forme d'au moins un message de données envoyé par le serveur (100) au terminal vidéo (200), à travers le réseau de communication (300) ; et 10 - l'étape /8/ est exécutée en utilisant un écran du terminal vidéo (200).
  3. 3. Procédé selon la revendication 2, suivant lequel l'étape /7/ est exécutée par le terminal vidéo (200).
  4. 4. Procédé selon l'une quelconque des revendications 1 à 3, suivant lequel plusieurs apparences de face différentes sont stockées en outre pour 15 une même des faces de la portion d'espace occupée (P1-P4), et suivant lequel l'étape /6/ comprend les sous-étapes suivantes, lorsque les coordonnées de la face de la portion d'espace occupée, pour laquelle les dites plusieurs apparences de face différentes sont stockées, sont reliées à la portion d'espace libre sélectionnée à l'étape /5/ : 20 /6-1/ calculer une valeur d'une distance d'éloignement séparant le point d'observation (0) et la face de la portion d'espace occupée (P1-P4) ; /6-2/ sélectionner l'une des dites apparences de face en fonction de la valeur de la distance d'éloignement ; et /6-3/ renvoyer l'apparence de face sélectionnée avec les coordonnées de 25 la face de la portion d'espace occupée (P1-P4), et suivant lequel les étapes /7/ et /8/ sont exécutées en représentant, dans l'image, la face de la portion d'espace occupée (P1-P4) par l'apparence de face renvoyée à la sous-étape /6-3/. 2969794 -25-
  5. 5. Procédé selon la revendication 4, suivant lequel les apparences de face stockées pour la face de la portion d'espace occupée (P1-P4) correspondent à des niveaux de représentation de plus en plus simplifiée, et suivant lequel l'une des apparences de face qui possède un niveau plus élevé 5 de simplification de représentation est sélectionnée à la sous-étape /6-2/ lorsque la valeur de la distance d'éloignement est supérieure.
  6. 6. Procédé selon l'une quelconque des revendications 1 à 3, suivant lequel les coordonnées d'une face de la portion d'espace occupée (P1-P4) ne sont retournées à l'étape /6/ que si une valeur d'une distance d'éloignement qui 10 sépare le point d'observation (0) et ladite face de la portion d'espace occupée est inférieure à une valeur-seuil, de sorte que ladite face de la portion d'espace occupée n'est pas représentée dans l'image affichée à l'étape /8/ si la valeur de la distance d'éloignement est supérieure ou égale à la valeur-seuil.
  7. 7. Procédé selon l'une quelconque des revendications précédentes, 15 suivant lequel des références d'états d'objets sont en outre stockées dans la base de données (101) en liaison avec certaines au moins des portions d'espace occupées, et suivant lequel : - à l'étape /61: au moins une des références d'état d'objet est renvoyée avec les coordonnées de la face de la portion d'espace occupée, 20 lorsque ladite référence d'état d'objet est stockée en liaison avec ladite portion d'espace occupée ; et - à l'étape /7/ : un état d'objet à utiliser est obtenu à partir de la référence d'état d'objet renvoyée, et l'image est construite à partir des coordonnées renvoyées à l'étape /6/ et de l'état d'objet à utiliser. 25
  8. 8. Procédé selon la revendication 7 et la revendication 3, suivant lequel les états d'objets sont stockés dans une mémoire du terminal vidéo (200) en liaison avec les références d'états d'objets, et suivant lequel l'état d'objet à utiliser est obtenu en lisant la mémoire du terminal vidéo pour la référence d'état d'objet renvoyée à l'étape /6/. 2969794 -26-
  9. 9. Procédé selon l'une quelconque des revendications précédentes, suivant lequel : - plusieurs portions d'espace occupées sont définies à l'étape /1/ ; - l'étape /2/ est effectuée pour chacune des dites portions d'espace 5 occupées, avec des divisions d'espace initiales correspondant respectivement aux dites portions d'espace occupées, chaque division d'espace initiale étant formée de portions d'espace libres initiales délimitées autour de la portion d'espace occupée correspondante ; - une division d'espace résultante est produite, formée de portions 10 d'espace libres résultantes qui correspondent chacune à des intersections entre des portions d'espace libres initiales appartenant respectivement aux divisions d'espace initiales ; - la division d'espace résultante est stockée dans la base de données (101) avec, à partir de chacune des portions d'espace libres 15 résultantes, des liens vers les coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libres initiales contenant ladite portion d'espace libre résultante ; - l'étape /5/ est effectuée en utilisant la division d'espace résultante, pour sélectionner une des portions d'espace libres résultantes qui contient le 20 point d'observation (0) ; - l'étape /6/ est effectuée en renvoyant les coordonnées d'au moins une des faces des portions d'espace occupées, qui sont reliées à la portion d'espace libre résultante sélectionnée à l'étape /5/ ; et - l'image est construite à l'étape /7/ à partir des coordonnées de faces des 25 portions d'espace occupées, renvoyées à l'étape /6/.
  10. 10. Unité de gestion de données d'image, adaptée pour fournir des données d'image, comprenant : - des moyens d'accès à un support de stockage de données (101), dans lequel sont stockées des coordonnées respectives de faces d'une portion d'espace occupée (P1-P4) ainsi que, pour chaque portion 2969794 -27- d'espace libre d'une division d'espace autour de ladite portion d'espace occupée, au moins un lien vers les coordonnées de l'une des faces de ladite portion d'espace occupée ; - des moyens pour recevoir une requête contenant une identification d'un 5 point d'observation (0) ; - des moyens pour sélectionner l'une des portions d'espace libres qui contient le point d'observation (0) ; et - des moyens pour renvoyer, en réponse à la requête, les coordonnées d'au moins une des faces de la portion d'espace occupée (P1-P4), qui 10 sont reliées à la portion d'espace libre sélectionnée.
  11. 11. Unité de gestion de données d'image selon la revendication 10, comprenant en outre : - des moyens pour lire sur le support de stockage de données (101), des identifications respectives de plusieurs apparences de face différentes 15 stockées pour une même des faces de la portion d'espace occupée (P1-P4) - des moyens pour calculer une distance d'éloignement séparant le point d'observation (0) et la face de la portion d'espace occupée (P1-P4) ; - des moyens pour sélectionner l'une des apparences de face en fonction 20 de la valeur calculée pour la distance d'éloignement ; et - des moyens pour renvoyer l'apparence de face sélectionnée avec les coordonnées de la face de la portion d'espace occupée (P1-P4), en réponse à la requête.
  12. 12. Unité de gestion de données d'image selon la revendication 10, 25 comprenant en outre : - des moyens pour calculer une distance d'éloignement séparant le point d'observation (0) et une face de la portion d'espace occupée (P1-P4) ; et dans laquelle les moyens pour renvoyer les coordonnées d'une face de la portion d'espace occupée sont adaptés pour ne renvoyer les dites 2969794 -28- coordonnées en réponse à la requête, qu'à la condition que la distance d'éloignement soit inférieure à une valeur-seuil.
  13. 13. Unité de gestion de données d'image selon l'une quelconque des revendications 10 à 12, dans laquelle les moyens d'accès au support de 5 stockage de données (101) sont adaptés en outre pour lire au moins une référence d'état d'objet stockée dans ledit support en liaison avec une portion d'espace occupée, et dans laquelle les moyens pour renvoyer les coordonnées de la face de la portion d'espace occupée sont en outre adaptés pour renvoyer la référence d'état d'objet lue pour ladite portion d'espace occupée. 10
  14. 14. Unité de gestion de données d'image selon l'une quelconque des revendications 10 à 13, comprenant en outre : - des moyens pour produire une division d'espace résultante à partir de plusieurs divisions d'espace initiales formées chacune de portions d'espace libres initiales délimitées autour de portions d'espace 15 occupées, la division d'espace résultante étant formée de portions d'espace libres résultantes correspondant à des intersections entre des portions d'espace libres initiales appartenant respectivement aux divisions d'espace initiales ; - des moyens pour établir, à partir de chaque portion d'espace libre 20 résultante, des liens vers les coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libre initiale contenant ladite portion d'espace libre résultante ; et - des moyens pour stocker pour chaque portion d'espace libre résultante, les liens établis pour ladite portion d'espace libre résultante, 25 et dans laquelle les moyens pour sélectionner l'une des portions d'espace libres et les moyens pour renvoyer les coordonnées d'au moins une face de portion d'espace occupée sont adaptés pour être appliqués aux portions d'espace libres résultantes. 2969794 -29-
  15. 15. Unité de gestion de données d'image selon l'une quelconque des revendications 10 à 14, formant un serveur (100) adapté pour transmettre les données d'image à travers un réseau de communication (300).
  16. 16. Terminal vidéo (200) adapté pour être connecté à un réseau de 5 communication (300), et comprenant : - des moyens pour transmettre une requête contenant une identification d'un point d'observation (0) ; - des moyens pour recevoir, en réponse à la requête, des coordonnées d'au moins une face d'une portion d'espace occupée (P1-P4) ; 10 - des moyens pour construire une image à partir des coordonnées reçues de ladite au moins une face de portion de surface occupée (P1-P4), de l'identification du point d'observation (0) et d'une limite de champ (C) de l'image ; et - des moyens pour afficher l'image construite 15
  17. 17. Terminal vidéo selon la revendication 16, comprenant en outre : - une mémoire pour stocker des états d'objets en liaison avec des références d'états d'objets ; et - des moyens pour lire dans la mémoire un état d'objet à utiliser, en réponse à une référence d'état d'objet reçue avec les coordonnées de 20 la face de la portion d'espace occupée ; dans lequel les moyens pour construire l'image sont adaptés pour construire ladite image à partir de la face de la portion d'espace occupée et de l'état d'objet à utiliser.
  18. 18. Produit programme d'ordinateur pour fournir des données d'image, 25 comprenant des codes d'instructions pour exécuter les étapes suivantes, lorsque les dits codes sont lus par une unité de gestion de données d'image : - recevoir une requête contenant une identification d'un point d'observation (0) ; 2969794 -30- - sélectionner parmi plusieurs portions d'espace libres stockées sur un support de stockage de données (101), l'une des dites portions d'espace libres qui contient le point d'observation (0) ; - lire sur le support de stockage de données (101), des coordonnées d'au 5 moins une face d'une portion d'espace occupée (P1-P4), qui sont stockées en liaison avec la portion d'espace libre sélectionnée ; et - renvoyer, en réponse à la requête, les coordonnées de ladite au moins une face de la portion d'espace occupée (P1-P4), qui ont été lues pour la portion d'espace libre sélectionnée.
  19. 19. Produit programme d'ordinateur selon la revendication 18, comprenant en outre des codes d'instructions pour : - lire sur le support de stockage de données (101), des identifications respectives de plusieurs apparences de face différentes stockées pour une même des faces de portion d'espace occupée (P1-P4) ; 15 - calculer une valeur d'une distance d'éloignement séparant le point d'observation (0) et ladite face de portion d'espace occupée (P1-P4) ; - sélectionner une des dites apparences de face en fonction de la valeur calculée pour la distance d'éloignement ; et - renvoyer l'apparence de face sélectionnée avec les coordonnées de 20 ladite face de portion d'espace occupée (P1-P4), en réponse à la requête.
  20. 20. Produit programme d'ordinateur selon la revendication 18, comprenant en outre des codes d'instructions pour : - calculer une valeur d'une distance d'éloignement séparant le point 25 d'observation (0) et une face de portion d'espace occupée (P1-P4) ; - ne renvoyer les coordonnées de ladite face de portion d'espace occupée (P1-P4), en réponse à la requête, qu'à la condition que la valeur calculée pour la distance d'éloignement soit inférieure à une valeur-seuil. 2969794 -31 -
  21. 21. Produit programme d'ordinateur selon l'une quelconque des revendications 18 à 20, comprenant en outre des codes d'instructions pour renvoyer, en réponse à la requête, au moins une référence d'état d'objet stockée sur le support de stockage de données (101) en liaison avec la portion 5 d'espace occupée.
  22. 22. Produit programme d'ordinateur selon l'une quelconque des revendications 18 à 21, comprenant en outre des codes d'instructions pour : - produire une division d'espace résultante à partir de plusieurs divisions d'espace initiales formées chacune de portions d'espace libres initiales ~o qui sont délimitées autour de portions d'espace occupées, et qui sont lues sur le support de stockage de données (101), la division d'espace résultante étant formée de portions d'espace libres résultantes correspondant à des intersections entre des portions d'espace libres initiales appartenant respectivement aux divisions d'espace initiales ; 15 - établir à partir de chaque portion d'espace libre résultante, des liens vers les coordonnées des faces de portions d'espace occupées qui sont reliées à l'une des portions d'espace libre initiales contenant la portion d'espace libre résultante ; - inscrire sur le support de stockage de données (101), pour chaque 20 portion d'espace libre résultante, les liens établis pour ladite portion d'espace libre résultante ; - sélectionner la portion d'espace libre qui contient le point d'observation (0) parmi les dites portions d'espace libres résultantes ; et - renvoyer des coordonnées d'au moins une des faces de portions 25 d'espace occupées, qui sont reliées à la portion d'espace libre résultante sélectionnée.
  23. 23. Produit programme d'ordinateur pour produire une image, comprenant des codes d'instructions pour exécuter les étapes suivantes, lorsque les dits codes sont lus par un terminal vidéo : 2969794 -32- - transmettre une requête contenant une identification d'un point d'observation (0) ; - recevoir, en réponse à la requête, des coordonnées d'au moins une face d'une portion d'espace occupée (P1-P4) ; 5 - construire l'image à partir des coordonnées reçues de ladite au moins une face de portion d'espace occupée (P1-P4), de l'identification du point d'observation (0) et d'une limite de champ (C) de l'image ; et - afficher l'image construite.
  24. 24. Produit programme d'ordinateur selon la revendication 23, ~o comprenant en outre des codes d'instructions pour lire dans une mémoire du terminal vidéo un état d'objet stocké dans ladite mémoire en liaison avec une référence d'état d'objet reçue en réponse à la requête avec les coordonnées de la face de la portion d'espace occupée.
FR1061148A 2010-12-23 2010-12-23 Procede de synthese d'image Active FR2969794B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1061148A FR2969794B1 (fr) 2010-12-23 2010-12-23 Procede de synthese d'image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1061148A FR2969794B1 (fr) 2010-12-23 2010-12-23 Procede de synthese d'image

Publications (2)

Publication Number Publication Date
FR2969794A1 true FR2969794A1 (fr) 2012-06-29
FR2969794B1 FR2969794B1 (fr) 2017-12-08

Family

ID=44352090

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1061148A Active FR2969794B1 (fr) 2010-12-23 2010-12-23 Procede de synthese d'image

Country Status (1)

Country Link
FR (1) FR2969794B1 (fr)

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
BRITTAIN ET AL: "Distributed visibility servers", THESIS (S.M.), MASSACHUSETTS INSTITUTE OF TECHNOLOGY, DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE, USA, 24 May 2004 (2004-05-24), pages 1 - 55, XP008143319, Retrieved from the Internet <URL:http://hdl.handle.net/1721.1/8948> *
CHHUGANI J ET AL: "vLOD: High-Fidelity Walkthrough of Large Virtual Environments", IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 11, no. 1, 1 January 2005 (2005-01-01), pages 35 - 47, XP011122134, ISSN: 1077-2626, DOI: 10.1109/TVCG.2005.17 *
CHRISTIAN BOUVILLE ET AL: "Efficient Compression of Visibility Sets", ADVANCES IN VISUAL COMPUTING LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, vol. 3804, 1 January 2005 (2005-01-01), pages 243 - 252, XP019025300, ISBN: 978-3-540-30750-1 *
COORG S ET AL: "TEMPORALLY COHERENT CONSERVATIVE VISIBILITY", PROCEEDINGS OF THE 1996 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP '96). PHILADELPHIA, MAY 24 - 26, 1996; [PROCEEDINGS OF THE ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP)], NEW YORK, ACM, US, vol. CONF. 1, no. CONF. 01, 1 May 1996 (1996-05-01), pages 78 - 87, XP002934925, ISBN: 978-0-89791-770-4 *
MATTAUSCH O ET AL: "Optimized subdivisions for preprocessed visibility", PROCEEDINGS GRAPHICS INTERFACE 2007 CANADIAN INFORMATION PROCESSING SOCIETY MISSISSAUGA, ON, CANADA, 2007, pages 335 - 342, XP002660331, ISBN: 978-1-56881-337-0 *
PANNE VAN DE M ET AL: "Effective Compression Techniques for Precomputed Visibility", PROCEEDINGS OF THE EUROGRAPHICS WORKSHOP ON RENDERING, XX, XX, 1 June 1999 (1999-06-01), pages 305 - 316, XP002313705 *
PLANTINGA H ET AL: "Visibility, occlusion, and the aspect graph", INTERNATIONAL JOURNAL OF COMPUTER VISION NETHERLANDS, vol. 5, no. 2, November 1990 (1990-11-01), pages 137 - 160, XP002660332, ISSN: 0920-5691 *

Also Published As

Publication number Publication date
FR2969794B1 (fr) 2017-12-08

Similar Documents

Publication Publication Date Title
CA2929892C (fr) Methode et systeme de comparaison de modeles 3d
CN103502974A (zh) 利用网格文件来动画化客户机应用中的过渡
FR2714505A1 (fr) Dispositif et procédé pour générer une image destinée à un traitement graphique d&#39;ordinateur tridimensionnel.
US20060143020A1 (en) Device capable of easily creating and editing a content which can be viewed in three dimensional way
EP2511842B1 (fr) Consultation de maquettes numériques à partir de postes légers
WO2006094919A1 (fr) Procede de transmission de donnees de visualisation d&#39;un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d&#39;ordinateur correspondants
CN110533751A (zh) 一种具有交互功能的三维可视化动画制作与播放方法
WO2015145078A2 (fr) Systeme et procede de traitement de donnees
WO2012140360A1 (fr) Procede et systeme de rendu d&#39;une scene virtuelle en trois dimensions
CA2370693C (fr) Systeme et methode de pilotage d&#39;un processus decisionnel lors de la poursuite d&#39;un but globale dans un domaine d&#39;application determine
EP3202115B1 (fr) Procédé et dispositif de mise en relations d&#39;un ensemble d&#39;informations
FR2969794A1 (fr) Procede de synthese d&#39;image
CA2965332C (fr) Methode pour collecter des donnees d&#39;images destinees a produire une video immersive et methode de visualisation d&#39;un espace sur base de ces donnees d&#39;images
Lee et al. Single image summarization of 3D animation using depth images
Roy All the memory in the world, all the music in the world: Mediating musical patrimony in the digital age
WO2009080945A2 (fr) Procédé de gestion de représentations d&#39;utilisateurs, entité de gestion, terminal et programme d&#39;ordinateur correspondants
EP3239826A1 (fr) Procede de copie d&#39;ecran
CA2426114C (fr) Systeme et procede de pilotage d&#39;un processus decisionnel lors de la poursuite d&#39;un but globale dans un domaine d&#39;application determine
Steinberg Managing the media mix: Industrial reflexivity in the anime system
EP1864260B1 (fr) Procede de reconstruction d&#39;image dans un graphique vectoriel
FR2917518A1 (fr) Procede de tri d&#39;informations
FR3035294A1 (fr) Procede de generation d&#39;un diaporama synchronise avec des evenements audio
EP4341909A1 (fr) Génération d&#39;un maillage surfacique à partir d&#39;une modélisation en voxels d&#39;un environnement tridimensionnel
CN117171438A (zh) 数字形象推荐方法、装置、计算机设备和存储介质
FR2970355A1 (fr) Procede de restitution de donnees sur un objet tridimensionnel

Legal Events

Date Code Title Description
CA Change of address

Effective date: 20140805

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

CD Change of name or company name

Owner name: SAGEM DEFENSE SECURITE, FR

Effective date: 20170126

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14