WO2008003687A1 - Procede d ' approximation des polygones et des polyedres - Google Patents

Procede d ' approximation des polygones et des polyedres Download PDF

Info

Publication number
WO2008003687A1
WO2008003687A1 PCT/EP2007/056661 EP2007056661W WO2008003687A1 WO 2008003687 A1 WO2008003687 A1 WO 2008003687A1 EP 2007056661 W EP2007056661 W EP 2007056661W WO 2008003687 A1 WO2008003687 A1 WO 2008003687A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertex
representation
image
vertices
data
Prior art date
Application number
PCT/EP2007/056661
Other languages
English (en)
Inventor
Alain Rey
Original Assignee
Newscape Technology
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 filed Critical Newscape Technology
Priority to EP07765769A priority Critical patent/EP2036048A1/fr
Publication of WO2008003687A1 publication Critical patent/WO2008003687A1/fr

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

Definitions

  • the present invention relates to the field of digital image processing.
  • digital image representation There are generally two types of digital image representation.
  • matrix image representation still called
  • bitmap or "raster” mode
  • a matrix image is characterized by its width and length, and the number of bits per pixel that determines the number of shades of gray or colors that can be represented.
  • the concept of a flat pixel frame is sometimes extended to a three-dimensional volume formed of small blocks called "voxels", thus defining a 3D image.
  • Matrix images can not be enlarged without loss of apparent quality, even using better display devices.
  • vector image representation an image is represented by a set of points and formulas indicating how to relate these points to each other.
  • a vector image is thus represented by geometric objects, including points and segments of line and / or curves connecting the points between them, associated with attributes of shape, position, color, etc.
  • a vector image allows almost infinite image resolution. Thus, unlike raster images, vector images can easily be displayed at different scales and adapt to the quality of the display device.
  • the present invention relates more particularly to the field of processing a digital vector image.
  • Polygonal reduction techniques are frequently used in digital image processing, for example in digital mapping, modeling and 3D animation applications, to reduce the number of points in a polygonal line, while maintaining its topological appearance , that is to say, remaining faithful to the original polygonal line graphically. These techniques thus have the effect in particular of enabling a workstation manipulating vector image definition objects to reduce the size of the memory occupied while allowing the display on the screen of a faithful approximation of the geometry of the images. manipulated objects. Some of these techniques are characterized for example by a coefficient, called reduction, measuring the rudeness of the approximation achieved. Some of these techniques are applicable only to open polygonal lines (still called wire objects), others to closed polygonal lines (still called zonal objects), others to open and closed polygonal lines. Some result in the creation of points that did not exist in the original object.
  • FIG. 1a is shown a wire object L1.
  • the portion L1 / [ P o-p2] of the polygonal line L1 situated between points PO and P2 is considered.
  • the other part L1 / [p 2- P5] of the polygonal line L1 will be considered after having completed the treatment of the part L1 / [PO - P2] - and one thus continues by treating similarly the section L1 / p2-P 5 ], then the section Li / pj.pn].
  • the points P1, P3, P8 and P13 are eliminated.
  • the resulting polygonal line comprises points PO, P2, P5, P6, P7, P9, P10, P11, P12 and P14 and is shown in Figure 1d.
  • FIG. 2a shows a zone object L2.
  • This object L2 is a closed polygonal line comprising the points A0 to A12.
  • the reduced object obtained is the closed polygonal line represented in FIG. 2c and having points A0, A5, A8, A12, points A1 to A4, A6, A7, A9 to A11 having been removed by the Douglas-Peucker polygonal reduction process.
  • the reduced object obtained is a closed polygonal line, represented in FIG.
  • the invention proposes a method of processing a digital image, this image being defined in a first representation by a first set of 2D or 3D vertices and segments connecting said vertices between them.
  • the method comprises a process comprising the following steps: for at least some considered vertices of the first set, calculating for each considered vertex an associated value; detecting the vertex or summits associated with the calculated minimum value;
  • the calculated value represents, when the first set is in 2D, the area of a triangle connecting the vertex considered to two connected vertices, by a segment of the first set, to said vertex considered.
  • the calculated value represents, when the first set is in 3D, a volume determined according to at least the volume of a tetrahedron whose three faces are triangles connecting the considered vertex to two neighboring vertices of the considered vertex, a neighboring vertex being a vertex connected by a segment of the first set to the considered vertex or a vertex connected by two respective segments of the first set to two vertices each connected by a segment of the first set to the considered vertex.
  • a definition object of the vector image is defined, a 2D structure, when the representation of the image is in 2D, or a 3D structure when the representation of the image is in 3D, delimited by at least one triangle whose vertices are the vertex considered and two neighboring vertices in the object.
  • This characteristic according to the invention is common to the 2D case and to the 3D case.
  • the neighboring vertices are in 2D the vertices of the object connected by a segment to the considered point, and in 3D are the vertices connected by a segment to the considered vertex and the vertices of the object connected by two respective segments with two vertices connected each by a segment at the summit considered.
  • Such a processing method thus makes it possible to obtain objects for defining a vector image having a reduced number of vertices relative to the objects composed of the initial vertices.
  • the reduced object retains a shape that is true to the shape of the initial object.
  • Such a method has the advantage of not having the defect of non-invariance by switching points.
  • the process is reiterated N times, with
  • N> 1 defining N successive representations of the image each associated with a set of respective vertices and segments, this arrangement makes it possible to obtain a progression in the provision of details of the image.
  • the calculated value represents, when the representation of the image is in 3D, a volume determined according to the sum of the volumes of four tetrahedra, such that three faces of each of said tetrahedrons are triangles connecting the vertex considered to two vertices neighbors of the considered summit, where a neighboring summit is a peak connected by a segment at the vertex considered or a vertex connected by two respective segments with two vertices each connected by a segment at the vertex considered, and such that each first tetrahedron among the four tetrahedra comprises a first edge common to a second tetrahedron and a second edge common to a third tetrahedron, said second and third tetrahedra being distinct from the first tetrahedron.
  • This arrangement makes it possible to obtain representations comprising a limited number of vertices, but faithful to the initial representation.
  • the representation of the image when the representation of the image is in 2D, if the minimum value is equal to the values associated with a first vertex of the first set and a second vertex of the first set that is connected by a segment to the first vertex only one of said first and second vertices is excluded to determine a second representation of the image. This arrangement avoids the sudden elimination of too many points.
  • the invention relates to a method of communication between a server comprising means for obtaining data indicating the difference between a first representation of an image and a second representation of said image, determined according to a method according to the first aspect of the invention, and a client terminal having previously stored definition data of the second representation.
  • This communication method comprises the following steps:
  • the definition data of the second representation comprise definition data of at least one polygonal line comprising vertices and segments, said data being associated with identifiers of triangles composing said polygonal line.
  • the data transmitted by the server indicates the coordinates of an excluded vertex according to the processing method, of the polygonal line in the second representation, and the identifier of at least one triangle and according to which the reconstruction of the first representation of the image is performed by the client terminal as a function of at least said indicated coordinates and identifier.
  • the invention proposes a device for processing a digital image, comprising means for implementing the steps of a method according to the first aspect of the invention.
  • the invention proposes a client terminal adapted to implement the steps which are incumbent on it of a communication method according to the second aspect of the invention.
  • FIG. 3 shows a system in which the invention is implemented in one embodiment
  • FIG. 5a illustrates a triangular section of the polygonal line found in FIG. 4g;
  • FIG. 5b illustrates a triangular division of the polygonal line found in FIG. 4f;
  • FIG. 6a illustrates a triangular division of a polygonal line
  • FIG. 6b illustrates a triangular division of the polygonal line obtained after the insertion of the point B5 with respect to the polygonal line of FIG. 6a
  • Figure 7a shows a polygonal line
  • FIG. 7b illustrates a delimitation of the polygonal line obtained after insertion of the points C4 and C5 with respect to the polygonal line of FIG. 7a;
  • FIG. 9 represents a volume element as defined by a first set of definition data
  • Fig. 10 shows vertices and segments of the volume element shown in Fig. 9
  • Fig. 11 shows the four vertex-associated tetrahedra considered in one embodiment of the invention
  • FIG. 12 represents the four tetrahedrons, associated with a vertex S, considered in another embodiment of the invention.
  • FIG. 13 represents the voluminal element obtained after an iteration of a reduction process in one embodiment of the invention on the basis of the volume element shown in FIG. 9;
  • FIG. 14 shows the voluminal element obtained after an iteration of a reduction process in one embodiment of the invention on the basis of the volume element shown in FIG. 13.
  • FIG. 3 shows a system 1 comprising a plurality of client terminals TC1, ..., TCn.
  • Each client terminal TC1,..., TCn is connected via a network 2, for example the Internet, to a server
  • the server S is connected to a database BDD, directly or via the network 2.
  • the server S comprises a processing module 10.
  • the control module 8 is further adapted to exchange information with the server S via the network 2.
  • commands that can be entered by the user of the client terminal TC1 are, for example, commands for zooming in, zooming out, translation with respect to an image currently being displayed on the screen 7.
  • the database BDD comprises a plurality of zones Z0,..., Zp, each dedicated to the storage of data describing a respective vector image I 0 , ... I p .
  • the set M 0 of the definition data notably comprises the definition data O 1 0 ,..., O 0 of a number equal to 10 of polygonal lines O 1 ,..., O 10 .
  • the definition data of a polygonal line indicates the data necessary to construct the polygonal line, in order to visualize it on a screen, in particular the coordinates of the vertices and their order in the polygonal line. In a particular embodiment, the order is indicated implicitly by the order of succession of the coordinates in the definition data of the polygonal line.
  • the processing module 10 applies to each polygonal line
  • a second constraint is observed when the Prod process is applied, when two adjacent polygonal lines are defined in the data set M 0 .
  • Two polygonal lines L3, L4 are said to be adjacent when they comprise a common section T, comprising at least two or more vertices, as represented in FIG. 8 (L3 and L4 are, for example, polygonal lines representing neighboring departments).
  • the second constraint is to never eliminate the end points Pd and Pf of the common section T between two adjacent polygonal lines L3, L4.
  • the server S has applied the polygonal reduction process Prod described above, it stores in the database BDD the set
  • one of the polygonal lines for example the polygonal line p, is a polygonal line identical to the closed polygonal line
  • L2 shown in Figure 2a It comprises the points AO to A12, each point taken in this order being connected by a segment to the previous point and the next point, AO and A12 are also connected by a segment.
  • Figure 4a shows the polygonal line obtained after an iteration of the Prod process.
  • the reduced closed polygonal line shown in FIG. 4a comprises the following 11 ordered points: A1, A3 to A8, A10, A11 and A12, each point in this order being connected to the next and A12 being connected to AO and defined in FIG. data set M 1 , by the definition data .
  • Figure 4b shows the polygonal line obtained after a second iteration of the Prod process. Point A7 was deleted because the triangle (A6, A7, A8) had an area smaller than the areas of the triangles (AO, A1, A3), (A1, A3, A4), (A3, A4, A5), (A4 , A5, A6), (A8, A10, A11), (A10, A11, A12), (A11, A12, AO).
  • the reduced closed polygonal line shown in FIG. 4b defined in the set of data M 2 , by the definition data Oj, comprises the following ordered points: A1, A3 to A6, A8, A10, A11 and A12, each point in this order being connected to the next and A12 being connected to AO.
  • FIGS. 4c to 4g are represented in solid lines the polygonal lines obtained after each additional iteration of the Prod process, and in dotted lines the one or more vertices and segments having been deleted at the current iteration.
  • Figure 4g corresponding to the 7 th iteration of the process Prod, is a polygonal line comprising 4 points A1, A5, A8, A12, each point in this order being linked by a segment to the next and A12 is connected to A1.
  • This reduced polygonal line is defined by the definition data O p ⁇ in the data set M 7 .
  • This polygonal reduction method according to the invention does not exhibit any non-invariance defect by switching points and makes it possible to avoid graphic aberrations during the processing of objects corresponding to adjacent polygonal lines.
  • the server S extracts the set M * from the definition data of the representation of the vector image I 0
  • This set is the one, among the k + 1 representations,
  • control module 8 which constructs the vector image to be displayed as a function of the set M k of the received definition data, and which provides the elements necessary for the screen 7 to allow the display of this image.
  • the received data are further stored in the memory 4.
  • the control module 8 determines according to the zoomed portion, which vector objects are affected by this zoom, then sends a second message to the server S, indicating the identifiers of these objects, among which are in one embodiment, the identifier of the polygonal line O p , and further indicating the index z of the zoom commanded by the customer.
  • the server S determines the additional data necessary to indicate the differences between the definition data O p k sent in response to the first message (corresponding to the reduced polygonal line shown in Figure 4g), and the definition data O k ⁇ ⁇ (corresponding to the reduced polygonal line shown in Figure 4h).
  • These additional data to be indicated define the insertion between the vertex A5 and the vertex A1, of the vertex A3.
  • the additional data sent by the server S in response to the second message of the terminal TC1 and concerning the polygonal line O p thus indicate the coordinates of the vertex A3, and the indication of the segment (A5, A1) to be deleted, to be replaced by the new segments (A5, A3) and (A3, A1) resulting from the insertion of the apex A3.
  • the module 10 assigns an identifier T1,...
  • each triangle identifier being stored in the data O /, in association with the vertices composing this triangle.
  • the references T1, ..., Tn below identify the triangles thus determined according to the Delaunay triangulation.
  • the triangle T1 is the triangle
  • the triangle T1 is the triangle (A8, A5)
  • the triangle T2 is (A8, A3, A1) and the triangle T3 is (A8, A1, A12),
  • the triangle (A8, A1, A12) corresponding to the identifier T2 stored in the data O k corresponds to the identifier T3 in the data O k ⁇ ⁇ .
  • the insertion of a point to determine a polygonal line corresponding to an iteration of the Prod process affects two of the triangles described by the polygonal line corresponding to an iteration (i + 1) th of the process Prod.
  • the triangle T1 is the triangle (B1, B4, B3) and the triangle T2 is (B1, B2, B3).
  • the triangle T1 is the triangle (B1, B4,
  • the triangle T2 is (B5, B2, B3) and the triangle T3 is (B1, B2, B5).
  • the additional data sent by the server S in response to the second message of the terminal TC1 and concerning the polygonal line O p _ x indicate the coordinates of the vertex B5, the identifiers T1, T2 of the two triangles identified in the data O p k _ x transmitted in response to the first message, which do not correspond to triangles identified in the data O * zJ, and the identifiers of the two vertices B1, B2 of the triangles T1 and T2 which are not connected, by a segment of the polygonal line at the inserted point B5.
  • the triangle T1 described by this polygonal line is the triangle (C1, C2, C3).
  • the reduced polygonal line shown in FIG. 7b is defined by the definition data , and comprises two additional vertices C4, C5, which correspond to two vertices removed during the same kth iteration of the Prod process.
  • Such a method of exchanges between a client terminal and a server has the effect of not only allowing a reduction of the volume of data transmitted between the server S and the client terminal TC1, but also has the effect of accelerating the reconstruction step by the client terminal of the representation of the desired image.
  • the processing of the digital data to obtain one or more image representations is performed by a processing module in the server S. In another embodiment, this processing is performed by a separate processing module of the server S, then the image representations obtained are stored in the database BDD, for subsequent supply by the server S to the client terminals TC.
  • the data sets M 0 , M 1 ,..., M k are stored in the database BDD.
  • the invention does not create points in the reduced object that did not exist in the original object. This avoids the transmission to the client terminal during reconstruction, point coordinates that are used only intermediately.
  • the invention thus makes it possible to reduce the volume of data transferred between a server and a client terminal to enable the display of a vector image in a first representation. At a constant rate of the link used for the transfer, the time required for this transfer is reduced.
  • the set N 0 of the definition data of the vector image / 1 making it possible to construct the vector image, to enable visualization using a display screen.
  • the set N 0 of the definition data notably comprises the definition data R 1 0 ,..., R, 0 of a number equal to H of volume elements i 1 ,..., R d .
  • the definition data of such a volume element indicates the data necessary to display a representation of the volume element.
  • volume element for example the volume element R 1 , in its representation defined by the data of
  • R 1 0 is represented in FIG. 9. It is delimited by a finite number of vertices S (x, y, z) at the surface of the voluminal element with (x, y, z) GA, set of determined triplets and in finite number, as in the case described, x and y are regular discrete values and z any values.
  • S be a vertex S (x, y, z) defined by R 1 0 which is connected by a respective segment to each of the following vertices S1, S2, S3, S4 if they exist, represented in FIG. 10: S1 of coordinates (x , y-1, z1) GA, S2 of coordinates (x + 1, y, z2) GA, S3 of coordinates (x, y + 1, z3) e A and S4 of coordinates (x-1, y, z4) G A.
  • peaks S1, S2, S3, S4 thus defined, which are thus connected by a segment S at the top, and the peaks S5, S6, S7, S8 of the volume element R 1, such as
  • each of these vertices S5, S6, S7, S8 is connected by a respective segment to two of the vertices S1, S2, S3, S4.
  • the quadruplets of vertices (S, S1, S5, S2), (S, S2, S6, S3), (S, S3, S7, S4) and (S, S4, S8, S1) define the respective area areas s pressing the vertex S and the neighboring points of S.
  • the processing module 10 of the server S applies to each volumetric element. ! , ..., R n defined by the data ⁇ 1 0 , ..., R ⁇ , the process
  • the Tel tetrahedron whose faces appear hatched, has at its vertices the points S, S7, S3, S6, the tetrahedron Te2 has at vertices the points S, S2, S5 , S6, the tetrahedron Te3 has the points S, S1, S5, S8 as vertices and the tetrahedron Te4 as the points S, S4, S7, S8.
  • a zero overall volume means that the 9 points S, S1, S2, S3, S4, S5, S6, S7 and S8 are in the same plane.
  • a high overall volume indicates that at least one of the four tetrahedra has a vertex remote from its base.
  • the vertex or summits associated with the smallest overall volume that is to say, such as the vertex S, are eliminated.
  • '(x', y ', z') defined in the definition data ⁇ 1 0 the sum ⁇ s (x, y , z) of the volumes associated with S (x, y, z) is less than or equal to the sum ⁇ s (x ', y', z) of the associated volumes S '(x', y ', z').
  • the four segments, defined in the definition data R 1 , which connected a deleted vertex S to each vertex S1, S2, S3, S4 as described above are also deleted in the definition data i? /.
  • the server S stores the set N 1 of the definition data of the representation of the resulting vector image / 1, comprising the definition data Rl, - -, Rl ⁇ representations obtained following the application of an iteration of the Proc2 process on each of the volume elements.
  • This process Proc2 is repeated once by the server S, defining k corresponding representations of the resulting vector image / 1, respectively defined by the sets of data N 1 ,..., N k ' .
  • the Tel, Te2, Te3, Te4 tetrahedrons are chosen differently for the implementation of the Proc2 process: the tetrahedron Tel (hatched) has the following vertices: the points S, S3, S4, S7, the tetrahedron Te2 has for vertices the points S, S4, S1, S8, the tetrahedron Te3 has for vertices the points S, S1, S2, S5 and the tetrahedron Te4 has for vertices the points S, S2, S3, S6.
  • the terminal TC1 when the user of the client terminal TC1 controls the display of the picture / 1 via the keyboard 6 and / or the mouse 5, the terminal TC1 sends, via the network 2, a first message to the server S, requesting transmission to the terminal TC1, image II data.
  • the server S sends the set N k ' of the definition data of the representation of the vector image ⁇ 1 corresponding to the kth iteration of the process.
  • This set is one of the k '+ 1 representations, N 0 , N 1 , ..., N k of the image / 1, which has the smallest data volume, since it contains the lowest number of vertices.
  • the set N k of the definition data of the representation of the vector image II comprising the definition data R * ' , ..., R ⁇ corresponding to the result of the kth iteration of the process Proc2 on the volume elements R 1 , ..., R n , is received by the terminal TC1, then operated by the control module 8, which constructs the vector image to be displayed as a function of the set N k of the received definition data, and which provides the elements necessary for the screen 7 to enable the display of this image.
  • the received data are further stored in the memory 4.
  • the control module 8 determines, according to the zoomed portion, which vector objects are affected by this zoom, and then sends a second message to the server S, indicating the identifiers of these objects, among which appear in one embodiment, the identifier pi, P2 ... p q q volume elements R P ⁇ , ..., R p , concerned with the zoom and further indicating the index z of the zoom commanded by the customer.
  • the steps of the Prod and / or Proc2 process are performed following the execution by calculation means of the processing module 10 of instructions of a computer program.
  • Such a method of exchanges between a client terminal and a server has the effect of not only allowing a reduction of the volume of data transmitted between the server S and the client terminal TC1, but also has the effect of accelerating the reconstruction step by the client terminal of the representation of the desired image.
  • the 2D and 3D images were associated with 2D and 3D representations of points and segments connecting the points.

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 ( M0 ) par un premier ensemble ( O10,..., Oi00 ) 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 ( M1 ) de l'image (I0) à l'aide d'un 1 second ensemble ( O11,..., Oi01 ) 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 D ' APPROXIMATION DES POLYGONES ET DES POLYEDRES
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 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 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 zonals), 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.
On connaît par exemple la technique de réduction Douglas-Peucker décrite ci-dessous.
Sur la figure 1a est représenté un objet filaire L1. Cette ligne polygonale ouverte L1 comprend PO, P1 ,....Pn points reliés par des segments de droite (dans le cas considéré, n=14).
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.
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 1a, aucun point n'est donc éliminé à ce stade.
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 1d. Dans le cas considéré en figure 1a, ce point à conserver est le point P5. On considère alors de la partie L1/[P0-PJ] de la ligne polygonale L1 située entre le point PO et Pj, ici PO et P5. On considérera l'autre partie L1 /[Pj-Pn] de la ligne polygonale L1 après avoir achevé le traitement de la partie L1/[P0-PJ].
Sur la ligne polygonale ouverte L1/[Po-P5], en référence à la figure 1 b, on réitère le processus, à savoir le calcul de la distance/)/ 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 passe la droite de projection, soit pour i=1 à j-1 , soit dans le cas considéré i=1 à 4. On compare ensuite chacune de ces distances D] , pour i=1 à j-1 , au coefficient de réduction C. Puis pour chaque i, i=1 à j-1 , tel que Di < C, le point Pi est éliminé du tracé. Le point P4 est ainsi éliminé.
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 L1/[Po-p2] de la ligne polygonale L1 située entre les points PO et P2. On considérera l'autre partie L1/[p2-P5] de la ligne polygonale L1 après avoir achevé le traitement de la partie L1/[PO-P2]- Et on continue ainsi en traitant similairement le tronçon L1/p2- P5], puis le tronçon Li/pj.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 PO, P2, P5, P6, P7, P9, P10, P11 , P12 et P14 et est représentée en figure 1d.
Ce processus est également applicable à un objet zonal. Dans un tel cas, pour définir les points PO, 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 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 AO à A12.
Si on choisit comme point PO le point AO et comme point Pn le point A12, l'objet réduit obtenu est la ligne polygonale fermée, représentée en figure 2c et comportant les points AO, A5, A8, A12, les points A1 à A4, A6, A7, A9 à A11 ayant été supprimés par le processus de réduction polygonale Douglas- Peucker.
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 AO, A5, A6, A8, A11 , les points A1 à A4, A7, A19,
A10, A12 ayant été supprimés par le processus de réduction polygonale
Douglas-Peucker.
Ce phénomène de non invariance du résultat du processus de réduction polygonale, par commutation des points initiaux PO, 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 zonals ayant une partie 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.
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 : 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 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é. 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 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é.
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 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 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.
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 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 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 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 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 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 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 :
- é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 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. 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. 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 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 œuvre les étapes d'un procédé suivant le premier aspect de l'invention.
Suivant un quatrième aspect, l'invention propose un terminal client adapté pour mettre en œuvre 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 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 œuvre 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 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 ;
- 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 ; - 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 ; - 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 ; 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 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.
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.
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 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 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.
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 I0 , ... Ip .
Dans la zone ZO relative à l'image I0 , image en 2D (deux dimensions)
sont stockées l'ensemble M0 des données de définition de l'image vectorielle
I0 permettant de construire l'image vectorielle, afin d'en permettre la
visualisation à l'aide d'un écran d'affichage.
L'ensemble M0 des données de définition comporte notamment les données de définition O1 0 , ..., O°0 d'un nombre égal à io de lignes polygonales O1 ,..., O10. 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 données de définition de la ligne polygonale.
Dans une phase préalable de construction des représentations de l'image I0 , le module de traitement 10 applique sur chaque ligne polygonale
O1 ,..., O10 telle que définie par les données O1 0 , ..., O°0 le processus Prod décrit ci-dessous. Pour une ligne polygonale fermée, comportant n+1 sommets successifs AO, A1 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 à AO, on considère les n+1 triangles suivants : le triangle TTO=(An, AO, A1 ), les triangles TTj=(Aj-I , Aj, Aj+1), pour j=1 à n-1 et le triangle TTn=(An-I , An, AO). Chacun de ces triangles TTO, ..., TTn relie ainsi un sommet de la ligne polygonale, respectivement AO, ..., 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 à 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 G [0,n], tel que l'aire du triangle TTj est égale à l'aire du triangle Tj+1 (avec TTn+1 =TT0) et est inférieure ou égale à l'aire de chaque triangle TTi, i G [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 Prod sur une ligne polygonale définie par les données O] , j= 1 à io, résulte en une ligne polygonale réduite, définie par les données O) 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 Prod , lorsque deux lignes polygonales adjacentes sont définies dans l'ensemble de données M0. 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 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 Prod 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 I0
résultante, comportant les données de définition O1 1 , - --, O[ ι 0 des représentations obtenues suite à l'application d'une itération du processus Prod sur chacune des io lignes polygonales. Ce processus Prod 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
de données M1 , i=1 à k, comporte les données de définition O) , j= 1 à i0 , des
représentations obtenues suite à l'application d'une ième itération du processus Prod sur les i0 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
L2 représentée en figure 2a. Elle comporte les points AO à A12, chaque point pris selon cet ordre étant relié par un segment au point précédent et au point suivant, AO et A12 étant également reliés par un segment.
Cette ligne polygonale Op es\. définie dans l'ensemble de données M0 , par les données de définition Op . Celle-ci indique les points AO à A12 et les segments les reliant un à un selon cet ordre. La figure 4a représente la ligne polygonale obtenue après une itération du processus Prod . 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 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 : A1 , A3 à A8, A10, A11 et A12, chaque point selon cet ordre étant relié au suivant et A12 étant relié à AO et est définie dans l'ensemble de données M1 , par les données de définition
Figure imgf000013_0001
. La figure 4b représente la ligne polygonale obtenue après une deuxième itération du processus Prod . Le point A7 a été supprimé car le triangle (A6, A7, A8) présentait une aire inférieure aux aires des triangles (AO, A1 , A3), (A1 , A3, A4), (A3, A4, A5), (A4, A5, A6), (A8, A10, A11 ), (A10, A11 , A12), (A11 , A12, AO). 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 Oj , comporte les 10 points ordonnés suivants : A1 , A3 à A6, A8, A10, A11 et A12, chaque point selon cet ordre étant relié au suivant et A12 étant relié à AO.
Sur les figures 4c à 4g sont représentées en traits pleins les lignes polygonales obtenues après chaque itération supplémentaire du processus Prod , et en traits pointillés le ou les sommets et segments ayant été supprimés à l'itération courante.
La figure 4g, correspondant à la 7eme itération du processus Prod , représente une ligne polygonale comportant 4 points A1 , A5, A8, A12, chaque point selon cet ordre étant relié par un segment au suivant et A12 étant relié à A1. Cette ligne polygonale réduite est définie par les données de définition Op η dans l'ensemble de donnéesM7.
Comme on le voit, plus le nombre d'itérations du processus Prod 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 à 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 (PO, 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 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.
Une fois cette phase préalable de construction des représentations de l'image I0 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 commande la visualisation de l'image I0 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 I0 .
En réponse à ce premier message, le serveur S extrait l'ensemble M* des données de définition de la représentation de l'image vectorielle I0
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,
M0 , M1 ,..., Mk de l'image I0 , qui comporte le volume de données le plus
faible, puisqu'il contient le plus faible nombre de sommets. L'ensemble M* des
données de définition de la représentation de l'image vectorielle I0 ,
comportant les données de définition
Figure imgf000015_0001
, ..., Of0 correspondant au résultat de la kième itération du processus Prod sur les lignes polygonales O1 ,..., O10 , 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. 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, 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 Prod à 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, 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 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 Prod sur certaines des lignes polygonales O1 ,..., O10. Ces données supplémentaires indiquent donc les différences entre des données Ok~ι et Ok .
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 k 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 Ok~ι (correspondant à la 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 indiquent donc les coordonnées du sommet A3, et l'indication du segment (A5, A1 ) à supprimer, à remplacer par les nouveaux segments (A5, A3) et (A3, A1 ) 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 O{ des différentes représentations des lignes 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 O/ , 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 triangulation de Delaunay. Cette loi est de façon classique mise en œuvre 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 T1 , ... Tn-2 à chacun de ces triangles, chaque identifiant de triangle étant mémorisé dans les données O/ , en association aux sommets composant ce triangle. Les références T1 , ..., 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 k , le triangle T1 est le triangle
(A5, A8, A1) et le triangle T2 est (A8, A1 , A12), 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 Ok~ι , le triangle T1 est le triangle (A8, A5,
A3), le triangle T2 est (A8, A3, A1 ) et le triangle T3 est (A8, A1 , A12),
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, A1 ) en deux triangles (A8, A5, A3) et (A8, A3, A1), le triangle (A8, A1 , A12) restant inchangé comme représenté en figure 5b.
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 indiquent donc les coordonnées du sommet A3, l'identifiant,
T1 , du triangle mémorisé dans les données Ok transmises en réponse au premier message, qui est remplacé lors de l'insertion du sommet A3, par deux triangles selon les données Ok~ι , et l'identifiant du sommet A8 du triangle T1 mémorisé dans les données Ok , qui n'est pas relié, par une arête des triangles T1 et T2 mémorisés dans les données Ok~ι , au point inséré A3. Le triangle (A8, A1 , A12) correspondant à l'identifiant T2 mémorisé dans les données Ok , correspond à l'identifiant T3 dans les données Ok~ι .
Dans certains cas, l'insertion d'un point pour déterminer une ligne polygonale correspondant à une ième itération du processus Prod affecte deux des triangles décrits par la ligne polygonale correspondant à une itération (i+1 )ième du processus Prod .
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 k_x , le triangle T1 est le triangle (B1 , B4, B3) et le triangle T2 est (B1 , B2, B3).
En référence à la ligne polygonale réduite représentée en figure 6b, définie par les données de définition 0*z| , le triangle T1 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 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_x indiquent les coordonnées du sommet B5, les identifiants T1 , T2 des deux triangles identifiés dans les données Op k_x transmises en réponse au premier message, qui ne correspondent pas à des triangles identifiés dans les données O*zJ , et les identifiants des deux sommets B1 , B2 des triangles T1 et T2 qui ne sont pas reliés, par un segment de la ligne polygonale
Figure imgf000018_0001
, au point inséré B5. 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 k_2 , le triangle T1 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
Figure imgf000018_0002
, et comprend deux sommets supplémentaires C4, C5, qui correspondent à deux sommets supprimés lors de la même kième itération du processus Prod .
Dans un tel cas, où les deux sommets supprimés étaient espacés par un autre sommet dans le polygone OpZι 2 , le triangle T1 = (C1 , C2, C3) est remplacé par les trois triangles décrits par la ligne polygonale réduite représentée en figure 7b, avec T1 = (C1 , C2, C3), T2 = (C1 , 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 T1 du triangle identifié dans les données
Op k_2 transmises en réponse au premier message, qui ne correspond pas à un triangle identifié dans les données OpZ2 , les coordonnées du sommet C4 en association avec les identifiants des deux sommets C1 , C2 du triangle T1 = (C1 , C2, C3) ne sont pas reliés, par un segment de la ligne polygonale
Figure imgf000019_0001
, au point inséré C4, les coordonnées du sommet C5 en association avec les identifiants des deux sommets C1 , C3 du triangle T1 = (C1 , C2, C3) ne sont pas reliés, par un segment de la ligne polygonale Op kZι 2 , 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~ι , i= 1 à I0 en
fonction de ces données supplémentaires et des données Ok compris dans 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 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 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 M0 , 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 supplémentaires indiquant les différences entre l'ensemble de données Mk~ι et l'ensemble de données Mk , et plus généralement les différences entre l'ensemble de données Mι~ι et l'ensemble de données M1 , i= 1 à k, sont stockées. 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.
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 à l'image /1 en 3D (trois dimensions) sont stockées l'ensemble N0 des données de définition de l'image vectorielle /1 permettant de construire l'image vectorielle, pour en permettre la visualisation à l'aide d'un écran d'affichage. L'ensemble N0 des données de définition comporte notamment les données de définition R1 0 , ..., R,0 d'un nombre égal à H d'éléments volumiquesi^ ,..., Rd .
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 R1 , dans sa représentation définie par les données de
définition R1 0 , est représenté en figure 9. Il est délimité par un nombre fini de sommets S(x,y,z) en surface de l'élément volumique avec (x,y,z) G 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 R1 0 qui est relié par un segment respectif à chacun des sommets suivants S1 , S2, S3, S4 s'ils existent, représentés en figure 10 : S1 de coordonnées (x, y-1 , z1 ) G A, S2 de coordonnées (x+1 , y, z2) G A, S3 de coordonnées (x, y+1 , z3) e A et S4 de coordonnées (x-1 , y, z4) G A.
On nomme points voisins d'un sommet S de l'élément volumique R1 les
sommets S1 , S2, S3, S4 ainsi définis, qui sont donc reliés par un segment au 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, 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 II , le module de traitement 10 du serveur S applique sur chaque élément volumiquei?! ,..., Rn défini par les données ^1 0 , ..., R^ , le processus
Proc2 décrit ci-dessous en référence à l'élément volumique R1 .
Pour chaque sommet S(x,y,z) défini dans les données de définition R1 , 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 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 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 k≠i et k≠j.
Puis on calcule le volume Vi de chaque tétraèdre Tei, i=1 à 4, ainsi défini pour le sommet S(x,y,z), et enfin un volume global absolu, égal à la somme ∑s(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 R1 .
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 données de définition^0 , 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 ^1 0 , la somme ∑s(x,y,z) des volumes associée à S(x,y,z), est inférieure ou égale à la somme ∑s (x',y',z) des volumes associée S'(x',y',z').
On obtient ainsi une représentation Rl de l'élément volumique R1 comportant un nombre de sommets réduit par rapport à ceux définis dans les données de définition R1 .
Les quatre segments, définis dans les données de définition R1 , 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 i?/ .
Une fois que le serveur S a appliqué le processus Proc2 ci-dessus, il mémorise l'ensemble N1 des données de définition de la représentation de l'image vectorielle /1 résultante, comportant les données de définition Rl , - --, Rlι des représentations obtenues suite à l'application d'une itération du processus Proc2 sur chacune des iiéléments volumiques.
Ce processus Proc2 est réitéré k' fois par le serveur S, définissant k' représentations correspondantes de l'image vectorielle /1 résultante, définies respectivement par les ensembles de données N1 ,..., Nk ' . Chaque ensemble
de données N1 , i=1 à k', comporte les données de définition^ , j= 1 à I1 , des
représentations obtenues suite à l'application d'une ième itération du processus Proc2 sur les H éléments volumiques.
A titre d'illustration, les représentations correspondant aux données de définition
Figure imgf000022_0001
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 R1 et représentée en figure 9.
Dans un autre mode de réalisation de l'invention, en référence à la figure 12, on choisit différemment, pour la mise en œuvre 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 , 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=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 k≠i et k≠j.
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 de l'image ^l 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 commande la visualisation de l'image /1 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 II .
En réponse à ce premier message, le serveur S envoie l'ensemble Nk' des données de définition de la représentation de l'image vectorielle ^l correspondant à la k'ième itération du processus. Cet ensemble est celui, parmi les k'+1 représentations, N0 , N1 ,..., Nk de l'image/1 , 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 l'image vectorielle II , comportant les données de définition R*' , ..., R^ correspondant au résultat de la k'ième itération du processus Proc2 sur les éléments volumiques R1 ,..., Rn , 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.
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 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 R ,..., Rp , concernés par le zoom 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 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 é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 volumiques de l'ensemble de données A^"1.
Ces données supplémentaires indiquent donc les différences entre les données R*'~ι et Rf , pour i= pi, P2...pq. Par exemple, pour l'élément volumique concerné R1 par le zoom, ces données supplémentaires indiquent les coordonnées des sommets supplémentaires définis par les données de définition i?f comparés aux sommets définis par les données de définition R*'~ι (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ées R*''1 , i= pi à pq en fonction de ces données supplémentaires et des données R* compris dans l'ensemble de données Nk< .
Dans un mode de réalisation, les étapes du processus Prod 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.
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.
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 PiJ, avec i entier = 1 à K et j entier = 1 à L. A chaque pixel PiJ est associée une indication de couleur, par exemple un niveau de gris naj. 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 g), où (i, j, Z jj) sont les coordonnées des points S(i, j, Z jj), avec i entier = 1 à K et j entier = 1 à L, et z ij = riGij , le niveau de gris associé au pixel PiJ.
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 jj) initiaux. Des échanges entre des terminaux et un serveur peuvent être mis en œuvre 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 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 S(i, j, z ij) initiaux, ce sous-ensemble étant constitué des pxr points S(i, j, z g) avec i =H , ...ip , j= ji, ..,jr ,une image 2D peut être déterminée par le terminal, comprenant les pixels PiJ, avec i =H , ...ip , j= ji, ..,jr , associés chacun aux niveau de gris Zy. 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 Pi'j' € { PiJ, avec i =H , ...ip , j= ji, ..,jr }, par exemple à l'aide d'une technique d'interpolation de certains au moins des niveaux de gris associés aux pixels PiJ, avec i =h, ...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 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

REVENDICATIONS
1. Procédé de traitement d'une image numérique, ladite image (/1) étant définie dans une première représentation [N0 ) 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 (N1 ) 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.
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 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 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, 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.
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 (N0 ) d'une image et une deuxième représentation (N1 ) de 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 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 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.
6. Utilisation selon la revendication 5, 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, selon lequel 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 terminal client en fonction d'au moins lesdits coordonnées et identifiant indiqués.
7. Dispositif de traitement (10) d'une image numérique, comprenant des moyens pour mettre en œuvre les étapes d'un procédé selon l'une des revendications 1 à 4.
8. Terminal client (TC1) comprenant :
- des moyens de stockage (4) comportant des données de définition de la deuxième représentation (N1 ) d'une image obtenue en mettant en œuvre un procédé selon l'une des revendications 1 à 4, et des moyens de communication avec un serveur (S), - des moyens d'émission d'un message à destination du serveur requérant la fourniture de données relative à la première représentation (N0 ) de l'image ;
- des moyens de réception 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 ;
- 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 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 (N1 ) stockées 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, les moyens de reconstruction (8) étant adaptés pour reconstruire la première représentation (N0 ) de l'image en fonction d'au moins les coordonnées d'un sommet exclu selon le procédé de traitement, de la ligne 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.
10. Programme d'ordinateur à installer dans un dispositif de traitement (10) d'une image numérique, ledit programme comprenant des instructions pour mettre en œuvre 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.
PCT/EP2007/056661 2006-07-05 2007-07-03 Procede d ' approximation des polygones et des polyedres WO2008003687A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP07765769A EP2036048A1 (fr) 2006-07-05 2007-07-03 Procede d ' approximation des polygones et des polyedres

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0652812 2006-07-05
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 (1)

Publication Number Publication Date
WO2008003687A1 true WO2008003687A1 (fr) 2008-01-10

Family

ID=37685810

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/056661 WO2008003687A1 (fr) 2006-07-05 2007-07-03 Procede d ' approximation des polygones et des polyedres

Country Status (3)

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

Cited By (1)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2939231A1 (fr) 2008-11-28 2010-06-04 Newscape Technology Affichage de donnees parametrees
FR3129030B1 (fr) * 2021-11-10 2024-03-01 St Microelectronics Sa Dispositif et procédé de génération de masques photolithographiques

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 (5)

* 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 *
KU K-M, POLYGONAL APPROXIMATION OF DIGITAL CURVE BY GRADUATE ITERATIVE MERGING
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
EP2192551A1 (fr) 2008-11-28 2010-06-02 Newscape Technology Affichage numerique d'objets parametres par des polygones bidimensionnels
FR2939225A1 (fr) * 2008-11-28 2010-06-04 Newscape Technology Affichage numerique d'objets parametres par des polygones bidimensionnels

Also Published As

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

Similar Documents

Publication Publication Date Title
US7598952B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
US8244029B1 (en) Recursive filters on GPUs
EP1292921B1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
CN110717857A (zh) 超分辨率图像重构方法和装置
FR2988891A1 (fr) Procede d&#39;estimation de niveau d&#39;opacite dans une scene et dispositif correspondant
EP1101200B1 (fr) Affinement selectif de mailles
US20220309736A1 (en) Image rendering method and apparatus
Bauszat et al. Sample‐based manifold filtering for interactive global illumination and depth of field
US20240020915A1 (en) Generative model for 3d face synthesis with hdri relighting
EP2028622A2 (fr) Edition de grahiques vectoriels, notamment de cartes géographiques
WO2008003687A1 (fr) Procede d &#39; approximation des polygones et des polyedres
FR2784211A1 (fr) Procede de codage d&#39;images fixes ou animees avec reduction et adaptation du debit
JP4001733B2 (ja) 幾何学面上の注釈を簡略化する装置、システム、および方法
EP2502206A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
WO2012000847A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
WO2012150416A1 (fr) Optimisation de données texturées pour modélisation tridimensionnelle
EP1654882A2 (fr) Procede de representation d&#39;une sequence d&#39;images par modeles 3d, signal et dispositifs correspondants
CN113255709A (zh) 图像元素搭配方法及装置和模型训练方法及装置和数据处理方法
Strnad et al. Modeling trees with hypertextures
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
Maisch et al. Interactive subsurface scattering for materials with high scattering distances
US7345686B2 (en) Method and apparatus for visibility determination and processing
EP1095358B1 (fr) Procede de modelisation d&#39;objets ou de scenes 3d
FR3131417A1 (fr) Correction d&#39;artefacts de reconstructions tomographiques par reseaux de neurones
EP2192555B1 (fr) Affichage de données paramétrées

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07765769

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2007765769

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU