FR2903518A1 - Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe - Google Patents

Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe Download PDF

Info

Publication number
FR2903518A1
FR2903518A1 FR0652812A FR0652812A FR2903518A1 FR 2903518 A1 FR2903518 A1 FR 2903518A1 FR 0652812 A FR0652812 A FR 0652812A FR 0652812 A FR0652812 A FR 0652812A FR 2903518 A1 FR2903518 A1 FR 2903518A1
Authority
FR
France
Prior art keywords
vertex
representation
image
vertices
data
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
FR0652812A
Other languages
English (en)
Other versions
FR2903518B1 (fr
Inventor
Alain Rey
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.)
NEWSCAPE TECHNOLOGY SARL
Original Assignee
NEWSCAPE TECHNOLOGY SARL
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 NEWSCAPE TECHNOLOGY SARL filed Critical NEWSCAPE TECHNOLOGY SARL
Priority to FR0652812A priority Critical patent/FR2903518B1/fr
Priority to PCT/EP2007/056661 priority patent/WO2008003687A1/fr
Priority to EP07765769A priority patent/EP2036048A1/fr
Publication of FR2903518A1 publication Critical patent/FR2903518A1/fr
Application granted granted Critical
Publication of FR2903518B1 publication Critical patent/FR2903518B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

Procédé (Proc 1) de traitement d'une image numérique (I0), définie dans une première représentation (M<0>) par un premier ensemble (O1<0>, ...,Oi0<0>) 2D ou 3D de sommets et de segments reliant lesdits sommets entre eux, comportant les étapes suivantes :- pour au moins certains sommets considérés du premier ensemble, calculer pour chaque sommet considéré une valeur associée représentant l'aire d'un triangle reliant le sommet considéré à deux sommets reliés, par un segment du premier ensemble, audit sommet considéré ;- détecter le ou les sommets associés à la valeur minimale calculée ; déterminer une deuxième représentation (M<1>) de l'image (I0) à l'aide d'un second ensemble (O1<1>, ..., Oi0<1>) de sommets extraits du premier ensemble et de segments reliant lesdits sommets du second ensemble entre eux, en excluant au moins un desdits sommets détectés du second ensemble.

Description

PROCEDE DE TRAITEMENT D'UNE IMAGE NUMERIQUE VECTORIELLE, PROGRAMME
D'ORDINATEUR ASSOCIE, PROCEDE DE COMMUNICATION ENTRE UN SERVEUR ET UN TERMINAL DE DONNEES D'IMAGE AINSI TRAITEE, TERMINAL ASSOCIE La présente invention concerne le domaine du traitement d'image numérique. On distingue généralement deux types de représentation d'images numériques. Dans la représentation d'image dite matricielle, encore appelée en mode point (en anglais bitmap ou raster ), une image est représentée par une matrice de pixels. Une image matricielle est caractérisée par sa largeur et sa longueur, et le nombre de bits par pixel qui détermine le nombre de nuances de gris ou de couleurs pouvant être représentées. Le concept d'une trame plane de pixel est parfois étendu à un volume tridimensionnel formé de petits pavés appelés voxels , définissant ainsi une image en 3D. Les images matricielles ne peuvent pas être agrandies sans perte de qualité apparente, même en utilisant de meilleurs dispositifs d'affichage. Dans la représentation d'image dite vectorielle, une image est représentée par un ensemble de points et de formules indiquant comment relier ces points entre eux. Une image vectorielle est donc représentée par des objets géométriques, comprenant des points et des segments de droite et/ou courbes reliant les points entre eux, associés à des attributs de forme, de position, de couleur etc. Une image vectorielle permet une résolution d'image quasi infinie. Ainsi, à la différence des images matricielles, les images vectorielles peuvent facilement s'afficher sous différentes échelles et s'adaptent à la qualité du dispositif d'affichage. La présente invention concerne plus particulièrement le domaine du traitement d'une image numérique vectorielle. Les techniques de réduction polygonale sont fréquemment utilisées dans le traitement numérique d'image vectorielle, par exemple dans les applications de cartographie numérique, de modélisation et animation 3D, pour réduire le nombre de points d'une ligne polygonale, tout en conservant son aspect topologique, c'est-à-dire en restant fidèle graphiquement à la ligne polygonale originale.
Ces techniques ont ainsi pour effet notamment de permettre à une station de travail manipulant des objets de définition d'image vectorielle, de 2903518 2 réduire la taille de la mémoire occupée tout en permettant la visualisation à l'écran d'une approximation fidèle de la géométrie des objets manipulés. Certaines de ces techniques se caractérisent par exemple par un coefficient, dit de réduction, mesurant la grossièreté de l'approximation 5 réalisée. Certaines de ces techniques sont applicables exclusivement à des lignes polygonales ouvertes (encore appelées objets filaires), d'autres à des lignes polygonales fermées (encore appelées objets zonais), d'autres encore aux lignes polygonales ouvertes et fermées. Certaines ont pour conséquence la création de points qui n'existaient pas dans l'objet original. 10 On connaît par exemple la technique de réduction Douglas-Peucker décrite ci-dessous. Sur la figure la est représenté un objet filaire L1. Cette ligne polygonale ouverte L1 comprend P0, P1,....Pn points reliés par des segments de droite (dans le cas considéré, n=14). 15 La technique de réduction Douglas-Peucker comprend une première étape selon laquelle on calcule la distance Di entre chacun des points Pi et son projeté orthogonal P'i sur la droite (POPn) passant par les extrémités de l'objet filaire L1, PO et Pn, pour chaque point en-dehors des points PO et Pn, par lesquels passe la droite de projection, soit pour i=1 à n-1. 20 On compare ensuite chacune de ces distances Di, pour i=1 à n-1, à un coefficient de réduction C fixé préalablement. Puis pour chaque i, i=1 à n-1, tel que Di < C, le point Pi est éliminé du tracé. Dans le cas représenté en figure la, aucun point n'est donc éliminé à ce stade. 25 Ensuite, on détermine le point le plus éloigné de la droite (POPn), c'est-à-dire le point Pj pour lequel la distance Dj est la plus grande parmi les distances Pi, pour i= 1 à n-1. Ce point Pj ainsi déterminé sera conservé dans le tracé final, qui est représenté en figure 6d. Dans le cas considéré en figure 1 a, ce point à conserver est le point P5. 30 On considère alors de la partie L1,[po p] de la ligne polygonale L1 située entre le point PO et Pj, ici PO et P5. On considérera l'autre partie L1,[p pn] de la ligne polygonale L1 après avoir achevé le traitement de la partie L1,[po p]. 2903518 3 Sur la ligne polygonale ouverte L1I[po p5], en référence à la figure 6b, on réitère le processus, à savoir le calcul de la distance Dzl entre chacun des points Pi, pour i = 1 à j-1, et son projeté orthogonal sur la droite (P0P5) passant par PO et P5, pour chaque point en-dehors des points PO et P5, par lesquels 5 passe la droite de projection, soit pour i=l à j-1, soit dans le cas considéré i=l à 4. On compare ensuite chacune de ces distances DZ1, pour i=l à j-1, au coefficient de réduction C. Puis pour chaque i, i=l à j-1, tel que Di < C, le point Pi est éliminé du tracé. Le point P4 est ainsi éliminé. 10 Ensuite, on détermine le point le plus éloigné de la droite (POPj), c'est-à-dire dans le cas considéré en figure 1 b, le point P2, qui sera conservé dans le tracé final, qui est représenté en figure 1d. On considère alors, en référence à la figure 1c, la partie Ll,[P0_P2] de la ligne polygonale L1 située entre les points PO et P2. On considérera l'autre 15 partie L1,[P2_P5] de la ligne polygonale L1 après avoir achevé le traitement de la partie Ll,[po p2]. Et on continue ainsi en traitant similairement le tronçon Ll,[P2_ P5], puis le tronçon L1/[Pi-Pn]. Lors de ces itérations, les points P1, P3, P8 et P13 sont éliminés. A la fin de processus, la ligne polygonale résultante comprend les points P0, P2, P5, P6, P7, P9, P10, Pl1, P12 et P14 et est représentée en 20 figure 1d. Ce processus est également applicable à un objet zonal. Dans un tel cas, pour définir les points P0, Pn à partir desquels débuter le processus récursif, il suffit de choisir deux points successifs dans l'ensemble des points qui constituent l'objet zonal. Toutefois, le choix de ces deux points successifs a 25 une incidence sur l'objet réduit obtenu. Pour illustration, la figure 2a représente un objet zonal L2. Cet objet L2 est une ligne polygonale fermée comportant les points A0 à Al2. Si on choisit comme point PO le point A0 et comme point Pn le point Al2, l'objet réduit obtenu est la ligne polygonale fermée, représentée en figure 30 2c et comportant les points A0, A5, A8, Al2, les points Al à A4, A6, A7, A9 à Ail ayant été supprimés par le processus de réduction polygonale Douglas-Peucker. 2903518 4 Si on choisit comme point PO le point A5 et comme point Pn le point A6, l'objet réduit obtenu est une ligne polygonale fermée, représentée en figure 2b et comportant les points A0, A5, A6, A8, Al 1, les points Al à A4, A7, A19, A10, Al2 ayant été supprimés par le processus de réduction polygonale 5 Douglas-Peucker. Ce phénomène de non invariance du résultat du processus de réduction polygonale, par commutation des points initiaux P0, Pn considérés, conduit ainsi, entre autres, à des aberrations lors des traitements effectués sur les objets, notamment lors du traitement de deux objets zonais ayant une partie 10 de leurs points en commun. Il existe donc un besoin pour un processus de réduction polygonale, permettant de définir, à l'aide d'un nombre réduit de données, des images vectorielles et évitant de tels défauts de non invariance du résultat du processus de réduction polygonale, par commutation de points. 15 A cet effet, suivant un premier aspect, l'invention propose un procédé de traitement d'une image numérique , cette image étant définie dans une première représentation par un premier ensemble 2D ou 3D de sommets et de segments reliant lesdits sommets entre eux. Le procédé comprend un processus comportant les étapes suivantes : 20 - pour au moins certains sommets considérés du premier ensemble, calculer pour chaque sommet considéré une valeur associée ; - détecter le ou les sommets associés à la valeur minimale calculée ; - déterminer une deuxième représentation de l'image à l'aide d'un second ensemble de sommets extraits du premier ensemble et de segments 25 reliant lesdits sommets du second ensemble entre eux, en excluant au moins un desdits sommets détectés du second ensemble. La valeur calculée représente, lorsque le premier ensemble est en 2D, l'aire d'un triangle reliant le sommet considéré à deux sommets reliés, par un segment du premier ensemble, audit sommet considéré. 30 La valeur calculée représente, lorsque le premier ensemble est en 3D, un volume déterminé en fonction d'au moins le volume d'un tétraèdre dont trois faces sont des triangles reliant le sommet considéré à deux sommets voisins 2903518 5 du sommet considéré, un sommet voisin étant un sommet relié par un segment du premier ensemble au sommet considéré ou un sommet relié par deux segments respectifs du premier ensemble à deux sommets reliés chacun par un segment du premier ensemble au sommet considéré. 5 Ainsi, pour appliquer le processus de réduction selon l'invention, on définit pour chaque sommet considéré d'un objet de définition de l'image vectorielle, une structure 2D, lorsque la représentation de l'image est en 2D, ou une structure 3D, lorsque la représentation de l'image est en 3D, délimitée par au moins un triangle dont les sommets sont le sommet considéré et deux 10 sommets voisins dans l'objet. Cette caractéristique selon l'invention est commune au cas 2D et au cas 3D. Les sommets voisins sont en 2D les sommets de l'objet reliés par un segment au point considéré, et en 3D sont les sommets reliés par un segment au sommet considéré et les sommets de l'objet reliés par deux segments respectifs à deux sommets reliés chacun par un 15 segment au sommet considéré. Un tel procédé de traitement permet ainsi d'obtenir des objets de définition d'une image vectorielle comportant un nombre réduit de sommets par rapport aux objets composés des sommets initiaux. L'objet réduit conserve une forme fidèle à la forme de l'objet initial. 20 Un tel procédé présente l'avantage de ne pas présenter le défaut de non invariance par commutation de points. Dans un mode de réalisation, le processus est réitéré N fois, avec N >1, définissant N représentations successives de l'image associées chacune à un ensemble de sommets et de segments respectifs, cette disposition permet 25 d'obtenir une progression dans la fourniture de détails de l'image. Avantageusement, la valeur calculée représente, lorsque la représentation de l'image est en 3D, un volume déterminé en fonction de la somme des volumes de quatre tétraèdres, tels que trois faces de chacun desdits tétraèdres sont des triangles reliant le sommet considéré à deux 30 sommets voisins du sommet considéré, où un sommet voisin étant un sommet relié par un segment au sommet considéré ou un sommet relié par deux segments respectifs à deux sommets reliés chacun par un segment au sommet considéré, et tels que chaque premier tétraèdre parmi les quatre tétraèdres 2903518 6 comporte une première arête commune à un deuxième tétraèdre et une seconde arête commune à un troisième tétraèdre, lesdits deuxième et troisième tétraèdres étant distincts du premier tétraèdre. Cette disposition permet d'obtenir des représentations comportant un nombre limité de 5 sommets, mais fidèles à la représentation initiale. Dans un mode de réalisation, lorsque la représentation de l'image est en 2D, si la valeur minimale est égale aux valeurs associées à un premier sommet du premier ensemble et à un deuxième sommet du premier ensemble qui est relié par un segment au premier sommet, on n'exclue qu'un seul desdits 10 premier et second sommets pour déterminer une deuxième représentation de l'image. Cette disposition permet d'éviter l'élimination subite d'un trop grand nombre de points. Suivant un deuxième aspect, l'invention a trait à un procédé de communication entre un serveur comprenant des moyens d'obtention de 15 données indiquant la différence entre une première représentation d'une image et une deuxième représentation de ladite image, déterminée selon un procédé conforme au premier aspect de l'invention, et un terminal client ayant préalablement stocké des données de définition de la deuxième représentation. Ce procédé de communication comporte les étapes suivantes : 20 - émission par le terminal client d'un message à destination du serveur requérant la fourniture de données relative à la première représentation de l'image ; - en réponse au message reçu, envoi par le serveur audit terminal client de données indiquant la différence entre ladite première représentation 25 de l'image et la deuxième représentation de l'image - réception desdites données par le terminal client, puis reconstruction par le terminal client de la première représentation de l'image en fonction desdites données reçues et des données de définition de la deuxième représentation préalablement stockées dans le terminal client. 30 Avantageusement, les données de définition de la deuxième représentation comportent des données de définition d'au moins une ligne polygonale comportant des sommets et des segments, lesdites données étant associées à des identifiants de triangles composant ladite ligne polygonale. 2903518 7 Les données transmises par le serveur indiquent les coordonnées d'un sommet exclu selon le procédé de traitement, de la ligne polygonale dans la deuxième représentation, et l'identifiant d'au moins un triangle et selon lequel la reconstruction de la première représentation de l'image est réalisée par le 5 terminal client en fonction d'au moins lesdits coordonnées et identifiant indiqués. Suivant un troisième aspect, l'invention propose un dispositif de traitement d'une image numérique, comprenant des moyens pour mettre en oeuvre les étapes d'un procédé suivant le premier aspect de l'invention. 10 Suivant un quatrième aspect, l'invention propose un terminal client adapté pour mettre en oeuvre les étapes qui lui incombent d'un procédé de communication suivant le second aspect de l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement 15 illustrative et doit être lue en regard des dessins annexés sur lesquels : - la figure 3 représente un système dans lequel est mise en oeuvre l'invention dans un mode de réalisation ; -les figures 4a à 4g représentent les lignes polygonales obtenues après un nombre N d'itérations d'un processus dans un mode de réalisation de 20 l'invention, allant de N= 1 pour la figure 4a, à N= 7 pour la figure 4g ; - la figure 5a illustre un découpage en triangle de la ligne polygonale se trouvant en figure 4g ; - la figure 5b illustre un découpage en triangle de la ligne polygonale se trouvant en figure 4f ; 25 - la figure 6a illustre un découpage en triangle d'une ligne polygonale ; - la figure 6b illustre un découpage en triangle de la ligne polygonale obtenue après l'insertion du point B5 par rapport à la ligne polygonale de la figure 6a ; - la figure 7a représente une ligne polygonale ; 30 - la figure 7b illustre un découpage en triangle de la ligne polygonale obtenue après l'insertion des points C4 et C5 par rapport à la ligne polygonale de la figure 7a ; - la figure 8 représente deux lignes polygonales adjacentes ; 2903518 8 - la figure 9 représente un élément volumique tel que défini par un premier ensemble de données de définition ; - la figure 10 représente des sommets et des segments de l'élément volumique représentés en figure 9 ; 5 - la figure 11 représente les quatre tétraèdres, associés à un sommet S, considérés dans un mode de réalisation de l'invention ; - la figure 12 représente les quatre tétraèdres, associés à un sommet S, considérés dans un autre mode de réalisation de l'invention ; - la figure 13 représente l'élément volumique obtenu après une itération 10 d'un processus de réduction dans un mode de réalisation de l'invention sur la base de l'élément volumique représenté en figure 9 ; - la figure 14 représente l'élément volumique obtenu après une itération d'un processus de réduction dans un mode de réalisation de l'invention sur la base de l'élément volumique représenté en figure 13. 15 La figure 3 représente un système 1 comprenant une pluralité de terminaux clients TC1, ...,TCn. Chaque terminal client TC1, ..., TCn est relié par l'intermédiaire d'un réseau 2, par exemple le réseau Internet, à un serveur S. Le serveur S est connecté à une base de données BDD, directement ou via le réseau 2. 20 Le serveur S comporte un module de traitement 10. Chaque terminal client TC1, ..., TCn par exemple en référence à la figure 3, le terminal TC1, comporte une zone mémoire 4, une interface, par exemple comportant une souris 5 et un clavier 6, adaptée pour capturer des commandes de l'utilisateur du terminal TC1, un écran d'affichage 7 pour 25 afficher des images, et un module de contrôle 8 adapté pour déterminer les données des images à afficher en fonction des commandes de l'utilisateur reçues par le clavier 6 et/ou la souris 5, et pour fournir ces données à l'écran d'affichage 7. Le module de contrôle 8 est en outre adapté pour échanger des 30 informations avec le serveur S par l'intermédiaire du réseau 2. Parmi les commandes que peut saisir l'utilisateur du terminal client TC1 figurent par exemple des commandes de zoom avant, de zoom arrière, de translation par rapport à une image en cours d'affichage sur l'écran 7. 2903518 9 La base de données BDD comporte une pluralité de zones ZO, ..., Zp dédiées chacune au stockage de données décrivant une image vectorielle respective 1 , ... l p . Dans la zone ZO relative à l'image 10 , image en 2D (deux dimensions) 5 sont stockées l'ensemble M des données de définition de l'image vectorielle 10 permettant de construire l'image vectorielle, afin d'en permettre la visualisation à l'aide d'un écran d'affichage. L'ensemble M des données de définition comporte notamment les données de définition O , ..., Olô d'un nombre égal à io de lignes 10 polygonalesO1 ,..., Olo. Les données de définition d'une ligne polygonale indiquent les données nécessaires pour construire la ligne polygonale, en vue de la visualiser sur un écran, notamment les coordonnées des sommets et leur ordre dans la ligne polygonale. Dans un mode de réalisation particulier, l'ordre est indiqué implicitement , par l'ordre de succession des coordonnées dans les 15 données de définition de la ligne polygonale. Dans une phase préalable de construction des représentations de l'image 1 , le module de traitement 10 applique sur chaque ligne polygonale Ol ,..., Oio telle que définie par les données O , ...,0 le processus Proc1 décrit ci-dessous. 20 Pour une ligne polygonale fermée, comportant n+1 sommets successifs A0, Al A2, ... An, avec deux sommets successifs Ai, Ai+1 reliés par un segment pour i=0 à n-1 et An étant relié par un segment à A0, on considère les n+1 triangles suivants : le triangle TTO=(An, A0, A1), les triangles TTj=(Aj-1, Aj, Aj+l), pour j=1 à n-1 et le triangle TTn=(An-1, An, A0). 25 Chacun de ces triangles TTO, ..., TTn relie ainsi un sommet de la ligne polygonale, respectivement A0, ..., An, aux deux sommets de la ligne polygonale qui lui sont reliés par un segment. On calcule ensuite l'aire de chacun de ces n+1 triangles TTO, ..., TTn, et on élimine les points Aj telle que l'aire du triangle TTj est inférieure ou égale 2903518 10 à l'aire de chaque triangle TTi, avec i=0 à n, en respectant la contrainte suivante (contrainte qui permet d'éviter, pour certains polygones réguliers, l'élimination en une étape de n points sur les n+1 points A1,..., An) : Si il existe j, j [0,n], tel que l'aire du triangle TTj est égale à l'aire du 5 triangle Tj+1 (avec TTn+1=TTO) et est inférieure ou égale à l'aire de chaque triangle TTi, i [0,n], on élimine Aj ou Aj+1 (avec An+1=A0), mais pas les deux points Aj ou Aj+1. L'application de ce processus Proc1 sur une ligne polygonale définie par les données O , j= 1 à io, résulte en une ligne polygonale réduite, définie 10 par les données Ojl et comportant un nombre de sommets inférieurs à celui que comprend la ligne polygonale initiale, mais de forme géométrique fidèle à la forme initiale. Une seconde contrainte est respectée lors de l'application du processus Proc1, lorsque deux lignes polygonales adjacentes sont définies 15 dans l'ensemble de données M . Deux lignes polygonales L3, L4 sont dites adjacentes lorsqu'elles comportent un tronçon commun T, comportant au moins deux sommets ou plus, comme représenté en figure 8 (L3 et L4 sont par exemple des lignes polygonales représentant des départements limitrophes). La seconde contrainte est de ne jamais éliminer les points d'extrémité Pd et Pf 20 du tronçon commun T entre deux lignes polygonales adjacentes L3, L4. Une fois que le serveur S a appliqué le processus de réduction polygonale Proc1 décrit ci-dessus, il mémorise dans la base BDD l'ensemble M1 des données de définition de la représentation de l'image vectorielle 1 résultante, comportant les données de définition 011, ..., OZ10 des 25 représentations obtenues suite à l'application d'une itération du processus Proc1 sur chacune des io lignes polygonales. Ce processus Proc1 est réitéré k fois par le serveur S, définissant k représentations correspondantes de l'image vectorielle IO résultante, définies respectivement par les ensembles de données M1,..., Mk . Chaque ensemble 30 de données Mi, i=1 à k, comporte les données de définition Oji , j= 1 à i , des 2903518 11 représentations obtenues suite à l'application d'une ième itération du processus Proc1 sur les io lignes polygonales. A titre d'illustration, l'une des lignes polygonales, par exemple la ligne polygonale p, est une ligne polygonale identique à la ligne polygonale fermée 5 L2 représentée en figure 2a. Elle comporte les points A0 à Al2, chaque point pris selon cet ordre étant relié par un segment au point précédent et au point suivant, A0 et Al2 étant également reliés par un segment. Cette ligne polygonale Op est définie dans l'ensemble de données M , par les données de définition Op . Celle-ci indique les points A0 à Al2 et les 10 segments les reliant un à un selon cet ordre. La figure 4a représente la ligne polygonale obtenue après une itération du processus Proc1. Les points A2 et A9 ont été supprimés car les aires des triangles TT2=(A1, A2, A3) et TT9=(A8, A9, A10) sont égales et sont les aires minimum parmi les aires des triangles TTO à TT12. Même si l'aire du triangle 15 TT10 = (A9, A10, A11) est égale à l'aire de TT9, le point A10 a été conservé afin de respecter la première contrainte indiquée plus haut. La ligne polygonale fermée réduite représentée en figure 4a, comporte les 11 points ordonnés suivants : Al, A3 à A8, A10, A11 et Al2, chaque point selon cet ordre étant relié au suivant et Al2 étant relié à A0 et est définie dans l'ensemble de 20 données M1, par les données de définition Op . La figure 4b représente la ligne polygonale obtenue après une deuxième itération du processus Proc1. Le point A7 a été supprimé car le triangle (A6, A7, A8) présentait une aire inférieure aux aires des triangles (A0, Al, A3), (Al, A3, A4), (A3, A4, A5), (A4, A5, A6), (A8, A10, A11), (Al 0, A11, 25 Al2), (A11, Al2, A0). La ligne polygonale fermée réduite représentée en figure 4b, définie dans l'ensemble de donnéesM2, par les données de définition Op, comporte les 10 points ordonnés suivants : Al, A3 à A6, A8, A10, A11 et Al2, chaque point selon cet ordre étant relié au suivant et Al2 étant relié à A0. Sur les figures 4c à 4g sont représentées en traits pleins les lignes 30 polygonales obtenues après chaque itération supplémentaire du processus Proc1, et en traits pointillés le ou les sommets et segments ayant été supprimés à l'itération courante. 2903518 12 La figure 4g, correspondant à la 7ème itération du processus Proc1, représente une ligne polygonale comportant 4 points Al, A5, A8, Al2, chaque point selon cet ordre étant relié par un segment au suivant et Al2 étant relié à A1. Cette ligne polygonale réduite est définie par les données de définition Op 5 dans l'ensemble de donnéesM7. Comme on le voit, plus le nombre d'itérations du processus Proc1 est grand, moins la ligne polygonale finalement obtenue comporte de points et donc plus le volume des données de définition de la ligne polygonale est faible. Ce procédé de réduction polygonale peut s'appliquer de façon similaire 10 à une ligne polygonale ouverte comportant n+1 sommets, PO,..., Pn, chaque point selon cet ordre étant relié au suivant, PO n'étant relié qu'à P1 et Pn n'étant relié qu'à Pn-1 par un segment. On ne considère alors que les n-1 triangles (P0, P1, P2), (P1, P2, P3), ..., (Pn-2, Pn-1, Pn) lors de la première itération et de la même façon lors des itérations suivantes, les points PO et Pn 15 ne feront chacun partie que d'un seul triangle considéré. Ce procédé de réduction polygonale selon l'invention ne présente pas de défaut de non invariance par commutation de points et permet d'éviter des aberrations graphiques lors du traitement d'objets correspondant à des lignes polygonales adjacentes. 20 Une fois cette phase préalable de construction des représentations de l'image 1 est réalisée par le serveur S et que les données de définition des représentations sont stockées dans la base de données BDD, ces données peuvent être transmises par le serveur S à des terminaux clients. En référence à la figure 1, lorsque l'utilisateur du terminal client TC1 25 commande la visualisation de l'image 10 par l'intermédiaire du clavier 6 et/ou de la souris 5, le terminal TC1 envoie, via le réseau 2, un premier message à destination du serveur S, requérant la transmission à destination du terminal TC1, des données de l'image 10 . 2903518 13 En réponse à ce premier message, le serveur S extrait l'ensemble Mk des données de définition de la représentation de l'image vectorielle 1 correspondant à la kième itération du processus de la base BDD et l'envoie au terminal client TC1. Cet ensemble est celui, parmi les k+1 représentations, 5 M , M1,..., Mk de l'image 10 , qui comporte le volume de données le plus faible, puisqu'il contient le plus faible nombre de sommets. L'ensemble Mk des données de définition de la représentation de l'image vectorielle 10 , comportant les données de définition Ol , ..., O ô correspondant au résultat de la kième itération du processus Proc1 sur les lignes polygonales Ol ,..., OiO, 10 est reçu par le terminal TC1, puis exploité par le module de contrôle 8, qui construit l'image vectorielle à afficher en fonction de l'ensemble Mk des données de définition reçu, et qui fournit les éléments nécessaires à l'écran 7 pour permettre l'affichage de cette image. Les données reçues sont en outre mémorisées dans la mémoire 4. 15 Lorsque l'utilisateur du terminal client TC1 commande, par l'intermédiaire du clavier 6 et/ou de la souris 5, un zoom d'indice positif z sur une portion de l'image en cours d'affichage sur l'écran 7, le module de contrôle 8 détermine en fonction de la portion zoomée, quels sont les objets vectoriels concernés par ce zoom, puis il envoie un deuxième message au serveur S, 20 indiquant les identifiants de ces objets, parmi lesquels figurent dans un mode de réalisation, l'identifiant de la ligne polygonale Op, et indiquant en outre l'indice z du zoom commandé par le client. En réponse à ce deuxième message, le serveur S, en fonction de l'indice z de zoom, détermine quel est le numéro de l'itération du processus 25 Proc1 à considérer, entre 0 et k-1. Dansle cas où le numéro de l'itération à considérer est k-1 (par exemple z = +1), le serveur S détermine, puis envoie au terminal TC1, les données nécessaires pour qu'à partir de l'ensemble de données Mk envoyé en réponse au premier message et de ces données supplémentaires 2903518 14 déterminées, le terminal TC1 soit en mesure de reconstruire la portion zoomée de l'image, correspondant à la (k-1)ième itération du processus Proc1 sur certaines des lignes polygonales Ol ,..., Oio. Ces données supplémentaires indiquent donc les différences entre des données Ok-1 et Ok . 5 Par exemple, pour la ligne polygonale Op concernée par le zoom, et si k=7, le serveur S détermine les données supplémentaires nécessaires pour indiquer les différences entre les données de définition Op envoyées en réponse au premier message (correspondant à la ligne polygonale réduite représentée en figure 4g), et les données de définition Op-1 (correspondant à la 10 ligne polygonale réduite représentée en figure 4h). Ces données supplémentaires à indiquer définissent l'insertion entre le sommet A5 et le sommet A1, du sommet A3. Les données supplémentaires envoyées par le serveur S en réponse au deuxième message du terminal TC1 et concernant la ligne polygonale Op 15 indiquent donc les coordonnées du sommet A3, et l'indication du segment (A5, Al) à supprimer, à remplacer par les nouveaux segments (A5, A3) et (A3, Al) résultant de l'insertion du sommet A3. Dans un mode de réalisation, préalablement à la mémorisation des données de définition 0/ des différentes représentations des lignes 20 polygonales dans la base BDD, le module de traitement 10 du serveur S identifie les n-2 triangles décrits par chaque polygone défini par les données de définition 0/, i= 1 à io, j= 1 à k (chaque triangle ayant au moins une arête commune avec un autre de ces triangles et les triangles n'ayant pas de zones communes entre eux en-dehors des arêtes), conformément à la loi de 25 triangulation de Delaunay. Cette loi est de façon classique mise en oeuvre dans les techniques d'accélération graphique notamment dans le cadre de données d'images vectorielles destinées aux terminaux mobiles. Le module 10 affecte un identifiant Ti,
. Tn-2 à chacun de ces triangles, chaque identifiant de triangle étant mémorisé dans les données O/ , en association aux sommets 30 composant ce triangle.
2903518 15 Les références Ti, ..., Tn ci-dessous identifient les triangles ainsi déterminés selon la triangulation de Delaunay. Par exemple, en référence à la ligne polygonale réduite représentée en figure 4g, définie par les données de définition Op , le triangle Ti est le triangle 5 (A5, A8, Al) et le triangle T2 est (A8, Al, Al2), comme représenté en figure 5a. En référence à la ligne polygonale réduite représentée en figure 4h, définie par les données de définition Op-1, le triangle Ti est le triangle (A8, A5, A3), le triangle T2 est (A8, A3, A1) et le triangle T3 est (A8, A1, Al2), 10 L'insertion du point A3 par rapport à la ligne polygonale réduite représentée en figure 4g, provoque ainsi le remplacement du triangle (A5, A8, Al) en deux triangles (A8, A5, A3) et (A8, A3, Al), le triangle (A8, Al, Al2) restant inchangé comme représenté en figure 5b. Dans un tel cas, les données supplémentaires envoyées par le serveur 15 S en réponse au deuxième message du terminal TC1 et concernant la ligne polygonale Op indiquent donc les coordonnées du sommet A3, l'identifiant, Ti, du triangle mémorisé dans les données Op transmises en réponse au premier message, qui est remplacé lors de l'insertion du sommet A3, par deux triangles selon les données Op-1, et l'identifiant du sommet A8 du triangle Ti 20 mémorisé dans les données Op , qui n'est pas relié, par une arête des triangles Ti et T2 mémorisés dans les données Op-1, au point inséré A3. Le triangle (A8, Al, Al2) correspondant à l'identifiant T2 mémorisé dans les données Op , correspond à l'identifiant T3 dans les données Op-1, Dans certains cas, l'insertion d'un point pour déterminer une ligne 25 polygonale correspondant à une ième itération du processus Proc1 affecte deux des triangles décrits par la ligne polygonale correspondant à une itération (i+1 )ième du processus Proc1. Par exemple, en référence à la ligne polygonale réduite représentée en figure 6a, définie par les données de définition Op_, , le triangle Ti est le 30 triangle (B1, B4, B3) et le triangle T2 est (B1, B2, B3).
2903518 16 En référence à la ligne polygonale réduite représentée en figure 6b, définie par les données de définition Op=1, le triangle Ti est le triangle (B1, B4, B5), le triangle T2 est (B5, B2, B3) et le triangle T3 est (B1, B2, B5). L'insertion du point B5 par rapport à la ligne polygonale réduite 5 représentée en figure 6a, ne laisse donc ni le triangle (B1, B4, B3), ni le triangle (B1, B2, B3) inchangé. Dans un tel cas, les données supplémentaires envoyées par le serveur S en réponse au deuxième message du terminal TC1 et concernant la ligne polygonale Op_1 indiquent les coordonnées du sommet B5, les identifiants Ti, 10 T2 des deux triangles identifiés dans les données Op_1 transmises en réponse au premier message, qui ne correspondent pas à des triangles identifiés dans les données Op=1, et les identifiants des deux sommets B1, B2 des triangles Ti et T2 qui ne sont pas reliés, par un segment de la ligne polygonaleOp=1, au point inséré B5.
15 Par ailleurs, en référence à la ligne polygonale réduite représentée en figure 7a et formant un triangle, définie par les données de définition Op , le triangle Ti décrit par cette ligne polygonale est le triangle (C1, C2, C3). La ligne polygonale réduite représentée en figure 7b est définie par les données de définition Op=z, et comprend deux sommets supplémentaires C4, 20 C5, qui correspondent à deux sommets supprimés lors de la même kième itération du processus Proc1. Dans un tel cas, où les deux sommets supprimés étaient espacés par un autre sommet dans le polygone Op=z, le triangle Ti = (Cl, C2, C3) est remplacé par les trois triangles décrits par la ligne polygonale réduite 25 représentée en figure 7b, avec Ti = (Cl, C2, C3), T2 = (Cl, C3, C5) et T3 = (C1, C2, C4). Dans un tel cas, les données supplémentaires envoyées par le serveur S en réponse au deuxième message du terminal TC1 et concernant la ligne polygonale Op_2 indiquent l'identifiant Ti du triangle identifié dans les données 30 Op_2 transmises en réponse au premier message, qui ne correspond pas à un 2903518 17 triangle identifié dans les données Op=z, les coordonnées du sommet C4 en association avec les identifiants des deux sommets Cl, C2 du triangle T1= (Cl, C2, C3) ne sont pas reliés, par un segment de la ligne polygonale Op=z, au point inséré C4, les coordonnées du sommet C5 en association avec les 5 identifiants des deux sommets Cl, C3 du triangle T1= (Cl, C2, C3) ne sont pas reliés, par un segment de la ligne polygonale Op=z, au point inséré C5. Lorsque le terminal client TC1 reçoit les données supplémentaires ainsi déterminées par le serveur S, il reconstruit les données Ok 1 , i= 1 à 1 en fonction de ces données supplémentaires et des données Ok compris dans 10 l'ensemble de données Mk . Un tel procédé d'échanges entre un terminal client et un serveur a pour effet de permettre non seulement une réduction du volume de données transmis entre le serveur S et le terminal client TC1, mais a également pour effet d'accélérer l'étape de reconstruction par le terminal client de la 15 représentation de l'image souhaitée. Dans le mode de réalisation décrit, le traitement des données numériques pour obtenir une ou plusieurs représentations d'images est exécuté par un module de traitement dans le serveur S. Dans un autre mode de réalisation, ce traitement est effectué par un module de traitement distinct 20 du serveur S, puis les représentations d'image obtenues sont stockées dans la base BDD, pour fourniture ensuite par le serveur S aux terminaux clients TC. Dans le mode de réalisation décrit ci-dessus, les ensembles de données M , M1,..., Mk sont stockées dans la base BDD. Dans un mode de réalisation, l'ensemble de données Mk est stockées, puis les données 25 supplémentaires indiquant les différences entre l'ensemble de données Mk1 et l'ensemble de données Mk , et plus généralement les différences entre l'ensemble de données M`-1 et l'ensemble de données Mi, i= 1 à k, sont stockées.
2903518 18 L'invention ne crée pas de points, dans l'objet réduit, qui n'existaient pas dans l'objet original. Cela permet d'éviter la transmission au terminal client lors de la reconstruction, de coordonnées de points qui ne sont utilisées que de façon intermédiaire.
5 L'invention permet ainsi de réduire le volume des données transférées entre un serveur et un terminal client pour permettre l'affichage d'une image vectorielle dans une première représentation. A débit constant de la liaison utilisée pour le transfert, le temps nécessaire pour ce transfert est donc réduit. Dans un mode de réalisation de l'invention, dans la zone Z1 relative à 10 l'image Il en 3D (trois dimensions) sont stockées l'ensemble N des données de définition de l'image vectorielle Il permettant de construire l'image vectorielle, pour en permettre la visualisation à l'aide d'un écran d'affichage. L'ensemble N des données de définition comporte notamment les données de définition R , ...,R d'un nombre égal à il d'éléments volumiquesR1 ,..., R.
15 Les données de définition d'un tel élément volumique indiquent les données nécessaires pour afficher une représentation de l'élément volumique. Dans l'exemple considéré, un élément volumique, par exemple l'élément volumique RI , dans sa représentation définie par les données de définition R , est représenté en figure 9. Il est délimité par un nombre fini de 20 sommets S(x,y,z) en surface de l'élément volumique avec (x,y,z) E A, ensemble de triplets déterminés et en nombre fini, tel que dans le cas décrit, x et y sont des valeurs discrètes régulières et z des valeurs quelconques. Soit un sommet S(x,y,z) défini par R qui est relié par un segment respectif à chacun des sommets suivants S1, S2, S3, S4 s'ils existent, 25 représentés en figure 10 : S1 de coordonnées (x, y-1, z1) E A, S2 de coordonnées (x+1, y, z2) E A, S3 de coordonnées (x, y+1, z3) E A et S4 de coordonnées (x-1, y, z4) E A. On nomme points voisins d'un sommet S de l'élément volumique RI les sommets S1, S2, S3, S4 ainsi définis, qui sont donc reliés par un segment au 2903518 19 sommet S, et les sommets S5, S6, S7, S8 de l'élément volumique R1 , tels que chacun de ces sommets S5, S6, S7, S8 est relié par un segment respectif à deux des sommets S1, S2, S3, S4. Les quadruplets de sommets (S, S1, S5, S2), (S, S2, S6, S3), (S, S3, 5 S7, S4) et (S, S4, S8, S1) définissent les zones de surfaces respectives s'appuyant sur le sommet S et les points voisins de S. Dans une phase préalable de construction des représentations de l'image Il, le module de traitement 10 du serveur S applique sur chaque élément volumiqueR1 ,..., Rzl défini par les données R , ...,R , le processus 10 Proc2 décrit ci-dessous en référence à l'élément volumique RI . Pour chaque sommet S(x,y,z) défini dans les données de définition RI , ayant des points voisins S1, S2, S3, S4, S5, S6, S7 et S8 tels que définis ci-dessus, on définit quatre tétraèdres Tel, Te2, Te3, Te4, chacun de ces tétraèdres ayant pour sommets S et trois des points parmi les huit points 15 voisins S1, S2, S3, S4, S5, S6, S7 et S8. Dans le mode de réalisation considéré, en référence à la figure 11, le tétraèdre Tel, dont les faces apparaissent hachurées, a pour sommets les points S, S7, S3, S6, le tétraèdre Te2 a pour sommets les points S, S2, S5, S6, le tétraèdre Te3 a pour sommets les points S, S1, S5, S8 et le tétraèdre Te4 a 20 pour sommets les points S, S4, S7, S8. Ainsi chaque tétraèdre Tei, i=1 à 4, a une première arête commune avec un tétraèdre Tej, i=1 à 4 et j≠i, et une seconde arête commune avec un tétraèdre Tek, k=1 à 4 et ksi et k≠j. Puis on calcule le volume Vi de chaque tétraèdre Tei, i=1 à 4, ainsi 25 défini pour le sommet S(x,y,z), et enfin un volume global absolu, égal à la somme Es(x,y,z) des valeurs absolues des volumes Vi calculés, associée à chaque sommet S(x,y,z) du type indiqué plus haut, qui est défini dans les données de définition R .
2903518 20 Un volume global nul signifie que les 9 points S, S1, S2, S3, S4, S5, S6, S7 et S8 sont dans le même plan. Un volume global élevé indique qu'au moins l'un des quatre tétraèdres possède un sommet éloigné de sa base. On élimine ensuite, parmi les sommets S(x,y,z) définis dans les 5 données de définition R , le ou les sommets associés au volume global le plus petit, c'est-à-dire tels que quel soit le sommet S'(x',y',z') défini dans les données de définition R , la somme Es(X,y,z) des volumes associée à S(x,y,z), est inférieure ou égale à la somme Es'(X,y,,f)des volumes associée S'(x',y',z'). On obtient ainsi une représentation Rl de l'élément volumique RI 10 comportant un nombre de sommets réduit par rapport à ceux définis dans les données de définition R . Les quatre segments, définis dans les données de définition RI , qui reliaient un sommet supprimé S à chaque sommet S1, S2, S3, S4 tel que décrits ci-dessus sont également supprimés dans les données de définition R) .
15 Une fois que le serveur S a appliqué le processus Proc2 ci-dessus, il mémorise l'ensemble Ni des données de définition de la représentation de l'image vectorielle Il résultante, comportant les données de définition Rl , R111 des représentations obtenues suite à l'application d'une itération du processus Proc2 sur chacune des i1éléments volumiques.
20 Ce processus Proc2 est réitéré k' fois par le serveur S, définissant k' représentations correspondantes de l'image vectorielle Il résultante, définies respectivement par les ensembles de données N1,..., Nk' . Chaque ensemble de données Ni , i=1 à k', comporte les données de définition Ri j, j= 1 à iz , des représentations obtenues suite à l'application d'une ième itération du 25 processus Proc2 sur les il éléments volumiques. A titre d'illustration, les représentations correspondant aux données de définition Rl et R1 figurent respectivement sur les figures 13 et 14, à partir de la représentation définie par les données de définition R de l'élément volumique RI et représentée en figure 9.
2903518 21 Dans un.. DTD: autre mode de réalisation de l'invention, en référence à la figure 12, on choisit différemment, pour la mise en oeuvre du processus Proc2, les tétraèdres Tel, Te2, Te3, Te4 : le tétraèdre Tel (hachuré) a pour sommets les points S, S3, S4, S7, le tétraèdre Te2 a pour sommets les points S, S4, S1, 5 S8, le tétraèdre Te3 a pour sommets les points S, S1, S2, S5 et le tétraèdre Te4 a pour sommets les points S, S2, S3, S6. Ainsi chaque tétraèdre Tei, i=l à 4, a une première arête commune avec un tétraèdre Tej, i=l à 4 et j≠i, et une seconde arête commune avec un tétraèdre Tek, k=l à 4 et ksi et k≠j.
10 Comme on le voit, plus le nombre d'itérations du processus Proc2 est grand, moins la représentation des éléments volumiques finalement obtenue comporte de sommets et donc plus le volume des données de définition des éléments volumiques, et donc de l'image 3D correspondante, est faible. Une fois que cette phase préalable de construction des représentations 15 de l'image Il est réalisée par le serveur S et que les données de définition des représentations obtenues sont stockées dans la base de données BDD, ces données peuvent être transmises par le serveur S à des terminaux clients TC1..., TCn. En référence à la figure 1, lorsque l'utilisateur du terminal client TC1 20 commande la visualisation de l'image Il par l'intermédiaire du clavier 6 et/ou de la souris 5, le terminal TC1 envoie, via le réseau 2, un premier message à destination du serveur S, requérant la transmission à destination du terminal TC1, des données de l'image Il. En réponse à ce premier message, le serveur S envoie l'ensemble 25 Nk' des données de définition de la représentation de l'image vectorielle Il correspondant à la k'ième itération du processus. Cet ensemble est celui, parmi les k'+l représentations, N , N1,..., Nk de l'imagell, qui comporte le volume de données le plus faible, puisqu'il contient le plus faible nombre de sommets. L'ensemble Nk'des données de définition de la représentation de 30 l'image vectorielle Il, comportant les données de définition Ri , . .., Rzi correspondant au résultat de la k'ième itération du processus Proc2 sur les 2903518 22 éléments volumiques R1 ,..., Ri1, est reçu par le terminal TC1, puis exploité par le module de contrôle 8, qui construit l'image vectorielle à afficher en fonction de l'ensemble Nk des données de définition reçu, et qui fournit les éléments nécessaires à l'écran 7 pour permettre l'affichage de cette image.
5 Les données reçues sont en outre mémorisées dans la mémoire 4. Lorsque l'utilisateur du terminal client TC1 commande, par l'intermédiaire du clavier 6 et/ou de la souris 5, un zoom d'indice positif z sur une portion de l'image en cours d'affichage sur l'écran 7, le module de contrôle 8 détermine en fonction de la portion zoomée, quels sont les objets vectoriels 10 concernés par ce zoom, puis il envoie un deuxième message au serveur S, indiquant les identifiants de ces objets, parmi lesquels figurent dans un mode de réalisation, l'identifiant pi, p2...pq des q éléments volumiques Rp,..., Rpg , concernés par le zoom et indiquant en outre l'indice z du zoom commandé par le client.
15 En réponse à ce deuxième message, le serveur S, en fonction de l'indice z de zoom, détermine quel est le numéro de l'itération du processus Proc2 à considérer, entre 0 et k'-1. Dans le cas où le numéro de l'itération à considérer est k'-1 (par exemple z = +1), le serveur S détermine, en fonction de l'identifiant des 20 éléments volumiques concernés et de l'indice z du zoom transmis par le client TC1, puis envoie au terminal TC1, les données nécessaires pour qu'à partir de l'ensemble de données Nk' envoyé en réponse au premier message et de ces données supplémentaires déterminées, le terminal TC1 soit en mesure de reconstruire la portion d'image zoomée, correspondant à certains des éléments 25 volumiques de l'ensemble de donnéesNk'-1 Ces données supplémentaires indiquent donc les différences entre les données Rif' et Rlk', pour i= pi, p2...pq. Par exemple, pour l'élément volumique concerné Ri par le zoom, ces données supplémentaires indiquent les coordonnées des sommets 30 supplémentaires définis par les données de définitionRzk' comparés aux 2903518 23 sommets définis par les données de définition e- c'est-à-dire les sommets supprimés par la k'ième itération du processus Proc2). Lorsque le terminal client TC1 reçoit les données supplémentaires ainsi déterminées par le serveur S, il reconstruit les donnéesRk'-1, i= pl à pq en 5 fonction de ces données supplémentaires et des données Rlk' compris dans l'ensemble de données N' . Dans un mode de réalisation, les étapes du processus Proc1 et/ou du Proc2 sont réalisées suite à l'exécution par des moyens de calcul du module de traitement 10, d'instructions d'un programme informatique.
10 Un tel procédé d'échanges entre un terminal client et un serveur a pour effet de permettre non seulement une réduction du volume de données transmis entre le serveur S et le terminal client TC1, mais également a pour effet d'accélérer l'étape de reconstruction par le terminal client de la représentation de l'image souhaitée.
15 Dans les modes de réalisation décrits ci-dessus, les images 2D, respectivement 3D étaient associées à des représentations 2D, respectivement 3D, de points et de segments reliant les points. Considérons à présent une image bitmap 2D, par exemple un tableau de KxL pixels Pi,j, avec i entier = 1 à K et j entier = 1 à L. A chaque pixel Pi,j est 20 associée une indication de couleur, par exemple un niveau de gris nG;,i. Dans un autre mode de réalisation de l'invention, on définit cette image 2D, dans une représentation, par un ensemble 3D de sommets S(i, j, z;,;), où (i, j, z;,;) sont les coordonnées des points S(i, j, z;,;), avec i entier = 1 à K et j entier = 1 à L, et z;,i = nG;,i , le niveau de gris associé au pixel Pi,j.
25 Puis on applique, sur la représentation 3D ainsi définie, une itération ou plusieurs itérations d'un processus similaire au processus Proc2 décrit plus haut, pour obtenir une ou plusieurs représentations 3D composée de sous-ensembles respectifs de l'ensemble 3D de points S(i, j, z;,;) initiaux. Des échanges entre des terminaux et un serveur peuvent être mis en 30 oeuvre comme indiqué précédemment pour fournir depuis un serveur et aux terminaux, les éléments de définition d'une première représentation, puis ultérieurement des éléments permettant aux terminaux de construire des 2903518 24 représentations 3D plus détaillées que la première représentation 3D précédemment transmise. A partir d'une représentation 3D transmise ou construite par un terminal et définie par un sous-ensemble de l'ensemble 3D des KxL points 5 S(i, j, z ;,i) initiaux, ce sous-ensemble étant constitué des pxr points S(i, j, z ;,i) avec i =il, ...ip , j= j1, ..,jr ,une image 2D peut être déterminée par le terminal, comprenant les pixels Pi,j, avec i =il, ...ip , j= j1, ..,jr , associés chacun aux niveau de gris z;,i. Dans cette image 2D déterminée par le terminal, des niveaux de gris respectifs sont déterminés par le terminal pour les pixels Pi',j' tels que 10 Pi',j' E { Pi,j, avec i =il, ...ip , j= j1, _1}, par exemple à l'aide d'une technique d'interpolation de certains au moins des niveaux de gris associés aux pixels Pi,j, avec i =il, ...ip , j= ji, ..,jr. Cette représentation 3D d'une image 2D a été décrite ci-dessus avec une coordonnée z indiquant un niveau de gris. D'autres applications sont 15 envisageables, par exemple où z est égale à une fonction des valeurs de luminance et chrominances associées au pixel, ou encore z indique une valeur associée au pixel, par exemple une température etc.

Claims (10)

REVENDICATIONS
1. Procédé de traitement d'une image numérique, ladite image (Il) étant définie dans une première représentation (N ) par un premier ensemble 2D ou 3D de sommets et de segments reliant lesdits sommets entre eux, ledit procédé comprenant un processus (Proc2) comportant les étapes suivantes : pour au moins certains sommets considérés du premier ensemble, calculer pour chaque sommet considéré une valeur associée ; détecter le ou les sommets associés à la valeur minimale calculée ; déterminer une deuxième représentation (N') de l'image à l'aide d'un second ensemble de sommets extraits du premier ensemble et de segments reliant lesdits sommets du second ensemble entre eux, en excluant au moins un desdits sommets détectés du second ensemble ; ladite valeur représentant, lorsque le premier ensemble est en 2D, l'aire d'un triangle reliant le sommet considéré à deux sommets reliés, par un segment du premier ensemble, audit sommet considéré ; et ladite valeur représentant, lorsque le premier ensemble est en 3D, un volume déterminé en fonction d'au moins le volume d'un tétraèdre dont trois faces sont des triangles reliant le sommet considéré à deux sommets voisins du sommet considéré, un sommet voisin étant un sommet relié par un segment du premier ensemble au sommet considéré ou un sommet relié par deux segments respectifs du premier ensemble à deux sommets reliés chacun par un segment du premier ensemble au sommet considéré.
2. Procédé selon la revendication 1, selon lequel le processus (Proc2) est réitéré N fois, avec N >1, définissant N représentations successives de l'image associées chacune à un ensemble de sommets et de segments respectifs. 2903518 26
3. Procédé selon la revendication 1 ou la revendication 2, selon lequel la valeur calculée représente, lorsque le premier ensemble est en 3D, un volume déterminé en fonction de la somme des volumes de quatre tétraèdres, tels que trois faces de chacun desdits tétraèdres sont des 5 triangles reliant le sommet considéré à deux sommets voisins du sommet considéré, où un sommet voisin étant un sommet relié par un segment au sommet considéré ou un sommet relié par deux segments respectifs à deux sommets reliés chacun par un segment au sommet considéré, et tels que chaque premier tétraèdre parmi les quatre tétraèdres comporte une 10 première arête commune à un deuxième tétraèdre et une seconde arête commune à un troisième tétraèdre, lesdits deuxième et troisième tétraèdres étant distincts du premier tétraèdre.
4. Procédé selon la revendication 1 ou la revendication 2, selon lequel, 15 lorsque le premier ensemble est en 2D, si la valeur minimale est égale aux valeurs associées à un premier sommet du premier ensemble et à un deuxième sommet du premier ensemble qui est relié par un segment au premier sommet, on n'exclue qu'un seul desdits premier et second sommets pour déterminer une deuxième représentation de l'image. 20
5. Utilisation d'un procédé selon l'une quelconque des revendications précédentes, selon laquelle un serveur (S) comprend des moyens d'obtention de données indiquant la différence entre une première représentation (N ) d'une image et une deuxième représentation (N') de 25 ladite image, déterminée selon l'une quelconque des revendications précédentes, et un terminal client (TC1) préalablement stocké des données de définition de la deuxième représentation, ladite utilisation comprenant les étapes suivantes : - émission par le terminal client d'un message à destination du serveur 30 requérant la fourniture de données relative à la première représentation de l'image ; 2903518 27 en réponse au message reçu, envoi par le serveur audit terminal client de données indiquant la différence entre ladite première représentation de l'image et la deuxième représentation de l'image réception desdites données par le terminal client, puis reconstruction par 5 le terminal client de la première représentation de l'image en fonction desdites données reçues et des données de définition de la deuxième représentation préalablement stockées dans le terminal client.
6. Utilisation selon la revendication 5, les données de définition de la 10 deuxième représentation comportent des données de définition d'au moins une ligne polygonale comportant des sommets et des segments, lesdites données étant associées à des identifiants de triangles composant ladite ligne polygonale, selon lequel les données transmises par le serveur indiquent les 15 coordonnées d'un sommet exclu selon le procédé de traitement, de la ligne polygonale dans la deuxième représentation, et l'identifiant d'au moins un triangle et selon lequel la reconstruction de la première représentation de l'image est réalisée par le terminal client en fonction d'au moins lesdits coordonnées et identifiant indiqués. 20
7. Dispositif de traitement (10) d'une image numérique, comprenant des moyens pour mettre en oeuvre les étapes d'un procédé selon l'une des revendications 1 à 4. 25
8. Terminal client (TC1) comprenant : des moyens de stockage (4) comportant des données de définition de la deuxième représentation (N`) d'une image obtenue en mettant en oeuvre un procédé selon l'une des revendications 1 à 4, et des moyens de communication avec un serveur (S), 2903518 28 des moyens d'émission d'un message à destination du serveur requérant la fourniture de données relative à la première représentation (N ) de l'image ; - des moyens de réception de données indiquant la différence entre ladite 5 première représentation de l'image et la deuxième représentation de l'image ; et des moyens de reconstruction (8) par le terminal client de la première représentation de l'image en fonction desdites données reçues et des données de définition de la deuxième représentation préalablement 10 stockées dans le terminal client.
9. Terminal client (TC1) selon la revendication 8, dans lequel les données de définition de la deuxième représentation (N') stockées comportent des données de définition d'au moins une ligne polygonale comportant des 15 sommets et des segments, lesdites données étant associées à des identifiants de triangles composant ladite ligne polygonale, les moyens de reconstruction (8) étant adaptés pour reconstruire la première représentation (N ) de l'image en fonction d'au moins les coordonnées d'un sommet exclu selon le procédé de traitement, de la ligne 20 polygonale dans la deuxième représentation, et de l'identifiant d'au moins un triangle de ladite ligne polygonale dans la deuxième représentation, lesdits cordonnées et identifiant étant indiqués dans les données transmises par le serveur. 25
10. Programme d'ordinateur à installer dans un dispositif de traitement (10) d'une image numérique, ledit programme comprenant des instructions pour mettre en oeuvre les étapes d'un procédé selon la revendication 1 à 4 lors d'une exécution du programme par des moyens de traitement dudit dispositif. 30
FR0652812A 2006-07-05 2006-07-05 Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe Expired - Fee Related FR2903518B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0652812A FR2903518B1 (fr) 2006-07-05 2006-07-05 Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe
PCT/EP2007/056661 WO2008003687A1 (fr) 2006-07-05 2007-07-03 Procede d ' approximation des polygones et des polyedres
EP07765769A EP2036048A1 (fr) 2006-07-05 2007-07-03 Procede d ' approximation des polygones et des polyedres

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0652812A FR2903518B1 (fr) 2006-07-05 2006-07-05 Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe

Publications (2)

Publication Number Publication Date
FR2903518A1 true FR2903518A1 (fr) 2008-01-11
FR2903518B1 FR2903518B1 (fr) 2008-10-17

Family

ID=37685810

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0652812A Expired - Fee Related FR2903518B1 (fr) 2006-07-05 2006-07-05 Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe

Country Status (3)

Country Link
EP (1) EP2036048A1 (fr)
FR (1) FR2903518B1 (fr)
WO (1) WO2008003687A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192555A2 (fr) 2008-11-28 2010-06-02 Newscape Technology Affichage de données paramétrées
FR3129030A1 (fr) * 2021-11-10 2023-05-12 Stmicroelectronics Sa Dispositif et procédé de génération de masques photolithographiques

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2939225B1 (fr) 2008-11-28 2011-01-14 Newscape Technology Affichage numerique d'objets parametres par des polygones bidimensionnels

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006027470A2 (fr) * 2004-09-02 2006-03-16 Newscape Technology Edition de graphiques vectoriels , notamment de cartes geographiques

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006027470A2 (fr) * 2004-09-02 2006-03-16 Newscape Technology Edition de graphiques vectoriels , notamment de cartes geographiques

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DOUGLAS D H ET AL: "ALGORITHMS FOR THE REDUCTION OF THE NUMBER OF POINTS REQUIRED TO REPRESENT A DIGITIZED LINE OR ITS CARICATURE", CANADIAN CARTOGRAPHER, YORK UNIVERSITY, DOWNSVIEW, CA, vol. 10, no. 2, 1973, pages 112 - 122, XP009005710, ISSN: 0008-3127 *
KU K -M ET AL: "Polygonal approximation of digital curve by graduate iterative merging", ELECTRONICS LETTERS UK, vol. 31, no. 6, 16 March 1995 (1995-03-16), pages 444 - 446, XP002418610, ISSN: 0013-5194 *
LONGIN JAN LATECKI ET AL: "Extraction of key frames from videos by polygon simplification", SIGNAL PROCESSING AND ITS APPICATIONS, SIXTH INTERNATIONAL, SYMPOSIUM ON. 2001 AUG. 16-16, 2001, PISCATAWAY, NJ, USA,IEEE, vol. 2, 16 August 2001 (2001-08-16), pages 643 - 646, XP010557133, ISBN: 0-7803-6703-0 *
SAYKOL E ET AL: "KiMPA: a kinematics-based method for polygon approximation", ADVANCES IN INFORMATION SYSTEMS. SECOND INTERNATIONAL CONFERENCE, ADVIS 2002. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.2457) SPRINGER-VERLAG BERLIN, GERMANY, 2002, pages 186 - 194, XP002418611, ISBN: 3-540-00009-7 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192555A2 (fr) 2008-11-28 2010-06-02 Newscape Technology Affichage de données paramétrées
FR3129030A1 (fr) * 2021-11-10 2023-05-12 Stmicroelectronics Sa Dispositif et procédé de génération de masques photolithographiques

Also Published As

Publication number Publication date
EP2036048A1 (fr) 2009-03-18
WO2008003687A1 (fr) 2008-01-10
FR2903518B1 (fr) 2008-10-17

Similar Documents

Publication Publication Date Title
US7598952B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
EP2494517B1 (fr) Procédé et dispositif pour obtenir une image d&#39;un document défroissé à partir d&#39;une image de ce document lorsqu&#39;il est froissé
EP1292921B1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
US20090153577A1 (en) Method and system for texturing of 3d model in 2d environment
EP3080782A1 (fr) Méthode et système de comparaison de modèles 3d
WO2000008604A1 (fr) Affinement selectif de mailles
EP0921449B1 (fr) Procédé et dispositif holographiques assistés par ordinateur
FR2903518A1 (fr) Procede de traitement d&#39;une image numerique vectorielle, programme d&#39;ordinateur associe, procede de communication entre un serveur et un terminal de donnees d&#39;image ainsi traitee, terminal associe
FR2784211A1 (fr) Procede de codage d&#39;images fixes ou animees avec reduction et adaptation du debit
EP2856424B1 (fr) Procede de mesures tridimensionnelles par stereo-correlation utilisant une representation parametrique de l&#39;objet mesure
US20020085004A1 (en) Blending method for accomplishing continuity at boundary of two b-spline curves / surfaces for use in a computing apparatus
JP4001733B2 (ja) 幾何学面上の注釈を簡略化する装置、システム、および方法
EP2502206A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
CN113723516B (zh) 基于神经网络的摩尔纹去除方法、装置、设备及介质
WO2012150416A1 (fr) Optimisation de données texturées pour modélisation tridimensionnelle
Maisch et al. Interactive subsurface scattering for materials with high scattering distances
EP1141899B1 (fr) Procede de simplification d&#39;un maillage source, tenant compte de la courbure locale et de la dynamique geometrique locale, et applications correspondantes
Jeong et al. Real‐Time Defocus Rendering With Level of Detail and Sub‐Sample Blur
BE1004117A5 (fr) Procede et dispositif de memorisation et d&#39;animation de donnees.
CN111461585B (zh) 库存管理方法、装置、存储介质及电子设备
CN106331696A (zh) 丢帧检测方法和装置
EP1095358B1 (fr) Procede de modelisation d&#39;objets ou de scenes 3d
US10884846B2 (en) Method for checking the availability and integrity of a distributed data object
WO2021259875A1 (fr) Procédé et dispositif de reconstruction d&#39;un hologramme numérique, procédé d&#39;affichage d&#39;un hologramme numérique et système associé
EP4365683A1 (fr) Procédé et dispositif d&#39;estimation d&#39;une carte de profondeur associée à un hologramme numérique représentant une scène et programme d&#39;ordinateur associé

Legal Events

Date Code Title Description
CA Change of address
ST Notification of lapse

Effective date: 20150331