EP1794718A2 - Visibility data compression method, compression system and decoder - Google Patents

Visibility data compression method, compression system and decoder

Info

Publication number
EP1794718A2
EP1794718A2 EP05797404A EP05797404A EP1794718A2 EP 1794718 A2 EP1794718 A2 EP 1794718A2 EP 05797404 A EP05797404 A EP 05797404A EP 05797404 A EP05797404 A EP 05797404A EP 1794718 A2 EP1794718 A2 EP 1794718A2
Authority
EP
European Patent Office
Prior art keywords
visibility
data
matrix
lines
observation
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.)
Withdrawn
Application number
EP05797404A
Other languages
German (de)
French (fr)
Inventor
Isabelle Marchal
Christian Bouville
Loïc BOUGET
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.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP1794718A2 publication Critical patent/EP1794718A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Definitions

  • the invention relates to a compression method and method for decompressing visibility data of a visibility database, as well as systems for implementing these methods.
  • a field of application of the invention is the visualization of objects of a scene from a moving observation point in this scene, for example in a simulation or a game, in which the observation point is virtually that of the user moving in the scene.
  • the objects are predefined and the observation point can be moved in their environment, which must change the appearance of the objects represented on the screen, for example because they are viewed from a different angle , that they are occulted or that there appear new ones previously hidden.
  • a lossy compression algorithm plans to merge rows and columns with a similar set of entries to True.
  • Another lossless compression algorithm adds new rows and columns to the visibility table, which are obtained from rows with common entries. As a result, either information is lost in the first algorithm, or the visibility table remains too large.
  • these algorithms do not adapt to a network display, that is to say on a remote user station of a base to store the visibility data.
  • the following documents may also be cited: - C. Gotsman, O. Sudarsky, J. Fayman, "Optimized Occlusion
  • the object of the invention is to obtain a method for compressing visibility data, which overcomes the disadvantages of the state of the art, which is to a large extent without losses but which makes it possible to reduce the size of the compressed data significantly.
  • a first object of the invention is a method of compressing visibility data of a visibility database, the visibility data comprising cells of observation points in an object observation space. predetermined and, for each cell of observation points, a list of potentially visible objects from this observation point cell among said predetermined objects, and the visibility data being represented in the database at least in the form of a first visibility matrix of Boolean elements, each line of which corresponds to a cell and each column corresponding to one of said predetermined objects, the Boolean elements located respectively on the ith line and the jth column having the value logic 1 when the object j belongs to the list of potentially visible objects associated with the cell i, and having the logic value 0 otherwise, characterized in that one automatically detects in the database if lines included in the visibility matrix have a high number of common elements and are not neighbors and, in case of detection, lines are exchanged to do so.
  • a digital image coding is automatically applied to the Boolean elements of the modified visibility matrix to obtain a visibility data code, these Boolean elements of the modified visibility matrix forming the pixels of the digital image for coding.
  • the visibility database being associated with a data processing system, the system transmits the generated visibility data code to an operating unit for visibility data;
  • the data processing system is a data server and the visibility data operating unit is a visibility data exploitation station;
  • the data processing system and the visibility data operating unit are provided on the same visibility data exploitation station;
  • the following steps are automatically performed in the data processing system: determination among the regions of the observation space, of an observation region to which the observation point belongs, corresponding to the position information received from the organ, determining, among the cells of the visibility data, first cells having an intersection with the observation region, extracting, from the first visibility matrix, a second visibility matrix, whose lines are formed by the lines of the first visibility matrix, which correspond to said first determined cells of the observation region, the modified visibility matrix being formed from the second visibility matrix;
  • a list of the potentially visible objects from the observation region which is sent by the data processing system with the data code of the data processing system, is automatically determined in the data processing system from the second visibility matrix; visibility to the operating body; a list of the identifiers of the cells of the modified visibility matrix is sent by the data processing system with the visibility data code to the operating member;
  • the identical lines of the visibility matrix are automatically determined in the data processing system, so as to keep from this visibility matrix in a fourth visibility matrix only one line per group of identical lines, the matrix modified visibility profile being formed from the fourth visibility matrix, and automatically calculating in the data processing system a datum of the number of groups of identical lines of the visibility matrix, and for each group of identical lines a datum of group, comprising a number of identical rows of the group and a list of the identifiers of the identical lines of said group, said data of number of identical groups of lines and said group data being sent by the data processing system with the data code of visibility to the operating body;
  • the number of identical lines of said group is coded on a number fixed in advance of bits and each identifier of the identical lines of said list of said group is coded on a number fixed in advance of bits each group data being constituted, in an order prescribed for all the groups, of said number of identical lines of the group and of said list of identifiers of the identical lines of the group;
  • the column of 0 detected is automatically removed from the visibility matrix to form a third visibility matrix, the modified visibility matrix being formed from the third visibility matrix;
  • a second object of the invention is a method for decompressing the visibility data code generated by the visibility data compression method as described above, characterized in that the data code of visibility generated is applied to , a digital image decoding, inverse of the digital image coding applied by said compression method, this decoding producing a visibility matrix.
  • the columns of 0 are automatically added to the visibility matrix obtained by said digital image decoding at places of non-potentially visible objects indicated by the list of potentially visible objects from the observation region;
  • the invention also relates to a decoder, comprising means for the implementation of the visibility data decompression method as described above.
  • Another object of the invention is a system associated with a visibility database, the visibility data comprising observation point cells in a predetermined object observation space and, for each point cell of observation, a list of potentially visible objects from this observation point cell among said predetermined objects, and the visibility data being represented in the database at least in the form of a first Boolean element visibility matrix, whose each line corresponds to a cell and each of which column corresponds to one of said predetermined objects, the Boolean elements located respectively on the ith line and the jth column having the logic value 1 when the object j belongs to the list of potentially visible objects associated with the cell i, and having the logical value 0 otherwise, the system comprising means for implementing the method of compressing the visibility data as described above.
  • Another object of the invention is a computer program comprising instructions for implementing the data compression method as described above, when executed on a computer.
  • Another object of the invention is a computer program comprising instructions for implementing the data decompression method as described above, when executed on a computer.
  • FIG. 1 diagrammatically represents a client-server device in which the data compression and decompression methods according to the invention are implemented
  • FIG. 2 represents the modeling of a three-dimensional object in two and a half dimensions
  • FIG. 3 is a top view of a scene comprising objects and view cells of these objects
  • FIG. 4 is a top view of the shadow volumes generated by blackout facades, which can be used to calculate a list of potentially visible objects behind these facades,
  • FIG. 5 represents in perspective a horizon of visibility generated by the calculation method illustrated in FIG. 4;
  • FIG. 6 represents a flowchart of one embodiment of the visibility data compression method according to the invention
  • FIG. 7 is a top view of the scene of FIG. 3 comprising objects and divided into regions;
  • FIG. 8 represents the visibility data structure compressed by the compression method according to FIG. 6;
  • FIG. 9 represents a flowchart of one embodiment of the visibility data decompression method according to the invention.
  • FIG. 10 represents a two-dimensional view cell of a scene
  • FIG. 11 represents a three-dimensional view cell of a scene
  • FIG. 12 shows the five dimensions of a 5D view cell of a scene.
  • the invention is described below in one embodiment of devices for implementing the visualization of objects, adopting for example the client-server architecture, in which a SERV server houses in BD database the visibility data DV objects.
  • the objects correspond to a set of geometric data DVOBJ modeling a real or abstract object.
  • the server SERV having data processing means in its calculator CAL, it also forms a SERV system for data processing.
  • a user's CL station, remote from the SERV server, is connected to it by a telecommunication CT channel to send requests to it, this station CL then being a data exploitation member.
  • the server SERV returns on the CT channel responses to these requests to the CL station.
  • the CT channel for example uses one or more telecommunication network (s), the server
  • the base BD and the data processing system SERV could also be present on the same machine as the CL station, for example on a computer of the user.
  • the base BD is for example present on a mass memory of the computer (for example hard disk or others) or on a removable storage medium (for example CD-ROM or others) introduced in a corresponding reader of the computer, and the compressed data must be produced in order to be exploited more quickly by an organ of the computer. computer.
  • the exploitation of compressed visibility data consists in displaying a determined image from them.
  • the CT station has an IUT user interface, comprising an ECR screen for reproducing an image and for example also speakers.
  • the image displayed on the ECR screen is computed by a rendering MR engine, based on the data received on the network interface INTC and, if necessary in addition, from a local data base BL present in the item CL .
  • the user interface IUT further comprises COM commands, such as for example a joystick, allowing the user to move a cursor or others of the ECR screen in a scene or environment SC, whose image is displayed on this ECR screen.
  • COM commands such as for example a joystick
  • Such an action is called navigation in the scene.
  • the scene SC is in two or three dimensions, the description being made in what follows for a three-dimensional scene.
  • the description made for the three-dimensional scene is applicable to a two-dimensional scene, with the corresponding adaptations.
  • the image displayed on the ECR screen is the scene SC seen from an observation point P at the cursor, which is thus moved in the scene SC with each navigation.
  • the navigation requires to recalculate the image, which will be modified compared to the image previously displayed on the ECR screen.
  • the space in which the observation point P can be moved in the scene SC is called the observation or navigation EO space.
  • the scene SC comprises a plurality p of objects OBJ present, observation EO space then being formed by or gaps between and around the objects OBJ.
  • the space EO is for example equal to the complement of the union of all OBJ objects.
  • OBJ objects are by example of buildings in a city, the EO observation space then being formed for example by streets located between the buildings.
  • OBJ objects are represented by a 2.5D model, namely an EMPR footprint on the ground, an altitude ALT and a height H along the vertical ascending z axis.
  • a three-dimensional OBJ object is deduced from the OBJ object in 2.5D by elevation of a height prism H on its footprint EMPR on the ground, from its altitude ALT, according to FIGS. 2 and 10.
  • the observation space EO is for example located on the ground, may have different altitudes from one place to another.
  • the visibility DV data includes the object-specific DVOBJ geometrical data, ie in the above example the EMPR footprint data, such as, for example, their shape, ALT altitudes and H heights, as well as the coordinates of OBJ objects in the above example. the scene SC, namely in the example above the coordinates of the footprints EMPR.
  • the visibility DV data also includes the DVEO data specific to the observation EO space.
  • the station CL sends to the server SERV by the channel CT a request REQV in visualization of a new image of the scene SC, comprising information INFP of position of the point P of observation (for example its coordinates) in the space EO d 'observation.
  • the visual REQV request is emitted for example automatically with each navigation, each time the observation point P has been moved from a starting position, which is the position corresponding to the previous image displayed on the screen ECR, at another position in the SC scene, for which the image must be recalculated to be displayed on the ECR screen.
  • a CAL calculator of the server SERV determines from the visibility DV data stored in the database BD and from the position INFP information of the observation point P contained in this REQV request, the data DE visibility to be sent in an RV response to the CL station by the CT channel. These DE data will be sent in packets to the CL station during a step E9, which will exploit them by its rendering MR engine and its IUT interface.
  • the response RV calculated by the server SERV is stored therein.
  • the observation EO space is subdivided into viewpoint or viewpoint cells i, having pre-calculated coordinates and associated with their individual identifiers i in the database BD and in the local database BL of the station CL.
  • the cells are at least two-dimensional. In FIGS. 2, 3, 4, 5 and 7, the cells are two-dimensional (2D), but the cells could also be three-dimensional (3D) as described below with reference to FIG. 11, or five dimensions (FIG. 5D) as described below with reference to FIG. 12.
  • the view cells i are obtained for example by two-dimensional triangulation, as is shown in FIG. 3, the vertices of the triangles forming the view cells being then formed by the SEMPR vertices of the corners of the EMPR footprints of the OBJ objects and the points from the edge of the SC scene.
  • the strong lines LIMi represent the limits of the cells i and are thus formed by the rectilinear segments forming the sides of the triangular cells.
  • the three-dimensional view cells are obtained by vertical elevation of a prism on the triangles.
  • a view cell is a region of an environment that contains visibility information about the rest of the environment, which is identical regardless of the point of view in the cell.
  • the dimension of the view cell is deduced. Observation points can be described in two dimensions (2D) or in three dimensions (3D). If the observation direction is not taken into account in the visibility calculation, no additional dimension will be assigned to the view cell and this one will have the dimension of the observation point, that is to say two or three.
  • FIGS. 2, 3, 4, 5, 7, there is described a representation in which the view cells have two dimensions along the x and y axes, since the view cells are formed by elevating the triangles forming the and visibility data are calculated for all viewing directions from an observation point.
  • the navigation height is not taken into account because it is in the case of ground navigation and calculations were made with this assumption.
  • a third dimension is added to the view cells of the example given previously, by calculating the visibility information for different heights of observation points along the z axis.
  • the view cell contains observation points of dimension 3, since the visibility information will be different depending on the height of the points in the observation space.
  • View cells are presented as a stack of prisms. The lowest view cell C1 (corresponding to the lowest prism) will give visibility for altitudes below the height h1 of the latter, and the view cell C2 (corresponding to the highest prism) located above cell C1 will give visibility for altitudes above the height h1.
  • Figure 12 is shown the five-dimensional coordinate system of a view cell 5D.
  • Each view cell contains the visibility information for observation points P (X such that x1 ⁇ X ⁇ x2, Y such that y1 ⁇ Y ⁇ y2, Z such that z1 ⁇ Z ⁇ z2) and for directions of visibility.
  • the base BD contains as visibility data DV, in addition to the cells i and the OBJ objects, lists LOPV (i) potentially visible objects from each cell i, also pre - calculated.
  • LOPV (i) lists of potentially visible objects from each cell i
  • the map of the minimum visible heights of the objects with respect to this cell is calculated.
  • This map is obtained by a grid of the floor area occupied by the scene and containing for each rectangle r the minimum height Hmin (r) in all the rectangle with respect to the cell.
  • This card ensures that if an object is fully enclosed in a rectangle r and if its height is less than Hmin (r), then the object will not be seen from the cell.
  • This map is represented using a two-dimensional matrix, called MV visibility matrix.
  • Hmin (r) is calculated as follows.
  • the shadow OMB volume is called the truncated pyramid defined between the four half-lines passing through the observation point P and the four vertices of the facade, as shown in FIG. 4.
  • This shadow OMB volume ensures that any object entirely contained in this three-dimensional volume OMB is not visible from the point P observation.
  • the facade is then called blackout facade.
  • the matrix MV of the minimum heights Hmin (r) for the observation point P is deduced from the height of the shadow volumes in each rectangle r of the matrix.
  • the shaded rectangles represent the shadow volumes OMB generated by the two facades 01 and 02.
  • the rectangle r1 located outside the OMB volumes will have a minimum height Hmin (r1) zero above the proper altitude of the rectangle r1, while the rectangle r2 located in the shadow OMB volume generated by the facade 01 will have a minimum height Hmin (r2), which will be greater than zero above the proper altitude of the rectangle r2 and which will pass over the pyramid of the shadow volume of 01 and which can be calculated from the defined position and shape of this pyramid.
  • Hmin (r) min ⁇ H p (r), p belonging to PE ⁇ ,
  • H p (r) max ⁇ H Pi0 (r), o belonging to FO ⁇ being the function representing the minimum height visible from the rectangle r with respect to the observation point P,
  • H Pi0 (r) being the function representing the minimum height visible from the rectangle r with respect to the observation point P and taking into account only the occulting facade o.
  • the MV matrix of the minimum heights Hmin (r) makes it possible to calculate an HV horizon of visibility, as is shown in FIG. 5.
  • This horizon HV of visibility is defined for example around the visibility matrix MV.
  • This visibility horizon HV ensures that any object outside the area covered by the visibility matrix MV and which projects below the visibility horizon HV from the box Bi enclosing the cell i is not seen from this cell i, and that this is the case in FIG. 5 for the object OBJ 1 having the projection POBJ 1 under the horizon HV with respect to the box Bi.
  • the lists LOPV (i) of potentially visible objects from the cells i are represented in the database BD by a first matrix Mnp of visibility with n lines and p columns of boolean element of logical value 1 or
  • each line of which corresponds to a determined cell i and each column j corresponds to a determined OBJ object
  • the invention provides means for automatically compressing in the server SERV this matrix Mnp of visibility of the base BD, for example by the calculator CAL.
  • the lines i of the visibility matrix Mnp are ordered so as to increase the coherence or to have as much coherence as possible between the neighboring rows, to then apply during a step E8 a digital image coding to the thus modified visibility matrix, the 1 and 0 of the visibility matrix then forming the pixels of the digital image for coding.
  • the CAL calculator of the SERV server has for this purpose a corresponding encoder. It is thus formed in the matrix of visibility, by displacement of its lines, zones full of 1 and zones full of 0, in the manner of a digital image in black and white, whose black would be represented by 0 and the white by 1.
  • step E7 it is detected whether lines i of the visibility matrix have a large number of common elements (number of 0 and 1 common).
  • the detection of similar lines is performed for example by applying the exclusive OR operator (XOR) to any or all possible combinations of two rows of the matrix.
  • the two lines il and i2 will have a large number of common elements if (i1) XOR (i2) has a large number of 0.
  • the detection of common elements is executed for each line successively with each subsequent row of the matrix. We group together the lines with the most common points.
  • the visibility matrix thus modified will then be coded according to a digital image coding.
  • the coding performed could be any other coding taking into account the contents of the thing to be coded and can be adaptive.
  • digital images usually have some continuity between neighboring lines, due to the fact that the same single-color area of the image is most often represented by pixels of neighboring lines having sensibly the same value.
  • This digital image coding is applied to the visibility matrix, which does not code in itself an image but data formed by lists of potentially visible objects LOPV (i).
  • the Boolean elements of the matrix will then form the pixels that can only have level 1 or level 0, to which the digital image coding will be applied.
  • This digital image coding has nothing to do with the image to be displayed on the ECR screen of the user's CL station, which image may or may not be digital, but will produce a visibility data code I or Pseudo - digital image code I, since it is not applied to a digital image.
  • This digital image coding is, for example, of the JBIG (Joint Bi-Level Image Experts Group) type, designed for black and white and lossless images.
  • the JBIG coding takes into account the content of the image to be encoded and involves an adaptive arithmetic coder used to predict and encode the current data according to the previously coded data.
  • the JBIG coder models the redundancy in the image to be encoded, by considering the correlation of the pixels being coded with a set of pixels called templates.
  • a template could be for example the 2 previous pixels in the line and the 5 pixels centered above the current pixel in the top line.
  • JBIG coding can use even more precise adaptive templates, as well as an arithmetic encoder coupled to a high-performance probabilistic estimator.
  • the coding performed could be of PNG type ("Portable Network Graphics"), which is intended for graphic formats and is specifically designed for the Internet network.
  • the row ordering step E7 can be performed directly on the visibility matrix Mnp or on a matrix Msr different from the visibility matrix Mnp and obtained from it, as will be seen in FIG. the embodiment of the method, described below with reference to FIG.
  • a second step E2 is executed, during which the scene SC is broken down into regions R.
  • These regions R therefore cover the observation space EO and the objects OBJ, as this is shown in Figure 7 for the same SC scene as in Figure 3.
  • the R regions are generally larger in size than the cells, so that substantially each R region at least partially covers several cells.
  • the regions R have for example all the same shape, independently of the SC scene, and are in particular in Figure 7 of the rectangular blocks.
  • These rectangular blocks R have for example, as shown in Figure 7, their sides parallel to the box encompassing the scene and form vertical elevation of parallelepiped blocks.
  • the strong lines LIMR represent the limits of the rectangular blocks R and are thus formed by rectilinear segments forming their sides.
  • the coordinates of the regions R are recorded in the database BD.
  • the region R to which the observation point P corresponds to the position INFP information contained in the REQV request is determined.
  • This region will be called the PR region of observation in the following.
  • the coordinates ( xminRP, xmax RP, yminRP, ymaxRP) of the block RP will be determined by comparison with (xP, yP) according to xminRP ⁇ xP ⁇ xmax RP, and yminRP ⁇ yP ⁇ ymaxRP.
  • step E3 It is then determined in step E3 from the coordinates of the cells i and the coordinates of the observation RP region, the cells, called iRP, having a non-zero intersection with the RP region of the point P, which are for example, the number of m, m being less than or equal to n.
  • a second visibility matrix Mmp is then formed from the first visibility matrix Mnp having m lines formed by the Mnp cells corresponding to the m RP-cells of the RP region and the p columns of Mnp. As a result, the Mmp matrix will be much smaller in size than the Mnp matrix.
  • a list Tp of the visible OBJ objects of the observation RP region is determined from the second matrix Mmp.
  • an object j visible from one of the iRP cells (corresponding to a 1 in the line for this object) will belong to this list Tp.
  • This list Tp is obtained for example by making the logical sum by a logical OR operator of the lines of Mmp.
  • This list Tp is for example formed of a table of objects in the RP region, of p bits, of which each bit j is equal to 1 when one or more 1 are present in the column j of Mmp (visible object j of one or more cells iRp) and each bit j is equal to 0 when the column j of Mmp has only 0 (object j not visible iRp cells).
  • the columns j formed only of 0, which correspond to non-visible objects from the RP region of the point P are removed from the second matrix Mmp determined in step E3. observation to obtain a third visibility matrix Mmr, where r ⁇ p.
  • the position of the deleted columns is identified.
  • step E6 of reduction of matrix size we search if the third visibility matrix Mmr has identical iRP lines. If at least two lines i3 and i4 are identical, only one i3 of these will be kept in a fourth visibility matrix Msr obtained from the third visibility matrix Mmr, with s ⁇ m.
  • GR group As shown in FIG. 8, the number NGR of identical iRP line groups is for example coded on 8 bits, each number t of identical lines of each group DGR data is coded on 8 bits and each list LID of the identifiers i3, i4 identical lines of the group GR is coded on t * k bits, where k is a number of bits set to encode an identifier i3 or i4 of line or cell.
  • the DGR data is coded one after the other.
  • the passage of a first datum DGR1 from a first group GR1 to a second datum DGR2 of a second group GR2, according to the first datum DGR1 will be decoded by the fact that it is not expected after the number t1 of lines identical to DGR1, 8 bits long, than t1 * k bits for the list LID1 identifiers of the identical lines of the GR1 group and after these t1 * k bits begins the number t2 of identical lines of DGR2, 8 bits long, tracking the t2 * kbits of the list LID2 identifiers identical lines of DG R2, t2 being the number of identical rows of DGR2.
  • This fifth visibility matrix M'sr is called the visibility matrix M'sr modified compared to the first matrix Mnp of visibility of origin.
  • the iRP identifiers of lines il, i2 following the fifth matrix M'sr of visibility are recorded, in their order of appearance (for example from top to bottom) in this fifth matrix M'sr, in a list LIOC, called list of identifiers M, i2 ordered cells for the digital image coding of the fifth matrix M'sr or list LIOC identifiers il, i2 cells of the modified visibility matrix M'sr.
  • This LIOC list of the identifiers of the ordered cells is distinct from the LID lists of the identical cells of the GR groups.
  • the LIOC list of the identifiers of the ordered cells is coded on s * k bits, where k is a fixed number of bits to encode an identifier M or i2 of line or cell.
  • step E7 applied to the matrix Msr of the example above will give for example the visibility matrix M'sr
  • This matrix M'sr has the following solid zone of 1:
  • Steps E3, E4, E5, E6, E7, E8, E9 are executed for each observation point P indicated in the REQV request and for each region RP of membership of the observation point P, having been determined. If necessary, the order of steps E5 and E6 can be switched.
  • the data DE of the response RV comprises, in FIG. 1, visibility DVE data proper and geometric DGE data of the database BD, equal to the DVOBJ data concerning the OBJ objects visible from the observation RP region.
  • This DGE data is selected by the server SERV calculator CAL in the data BDOBJ BD base for example during step E4 or E5, using the Tp list of OBJ objects visible from the region RP.
  • DVE visibility data is determined by the calculator
  • the pseudo-digital image code I equal to the fifth matrix M'sr encoded by the digital image coding by the step E8.
  • the following table shows the test results of the compression process described above. These tests were carried out on a BD database describing a virtual city of 5750 objects and 29153 cells of view.
  • the method according to the invention allows a lossless compression of the visibility data, according to the test 2, more important than the lossless coding performed according to the test 1 from a lossless coding of the state of the technique.
  • the CL station of the user having received the response RV containing the visibility data DVE implements a method of decompression of the visibility data DVE, as is represented in FIG. 9.
  • the station CL comprises for this purpose means to automatically decompress the DVE data, for example by a calculator CAL2.
  • the station CL having in mind that the Tp list of OBJ objects visible from the RP region of the observation point P is coded on p bits, that the number NGR of groups GR of identical lines is coded on 8 bits, that the DGR data (t, LID) of groups of identical lines, are each encoded on 8 bits + tk bits, and that the list LIOC of the identifiers of the cells 11, i2 ordered is coded on s * k bits, the item CL extracted from the RV response received this list Tp, this number NGR, these data DGR (t, LID), this list LIOC and the code I pseudo - digital image and the records in its local database BL during a first extraction step E11.
  • the DGE data of the objects of the response RV are also stored in the local database BL.
  • a sixth Boolean matrix MmpO is constructed having m rows and p columns, m and p being determined from the DVE data of the response RV, namely from the Tp list. for p and from the lists LID of the identifiers i3, i4 of identical lines of the groups GR and of the list LIOC of the identifiers of the cells il, ⁇ 2 ordered for m.
  • step E13 the code I is decoded in the station CL according to a digital image decoding, the reverse of that used for the digital image coding of the step E8 in the SERV server, the characteristics of this decoding being present in a memory of the station CL.
  • This decoding therefore produces the fifth visibility matrix M'sr of step E7.
  • the columns of the fifth matrix M'sr of visibility are transferred to the empty columns of the sixth matrix MmpO, located at the places of the 1s of the visible objects list Tp, that is, in the previous example, in places not filled by columns of 0, to obtain a seventh matrix MmpO '.
  • This filling is done in the same order for the columns of the fifth matrix M'sr and for the empty columns of the sixth matrix MmpO. Since the fifth matrix M'sr has a smaller number of lines than the sixth matrix MmpO, only the first and second lines coming from M'sr are filled in the sixth matrix MmpO.
  • the list LIOC of the identifiers il, i2 of the ordered cells indicates the identifiers of the first lines thus filled with the seventh matrix MmpO '. Thus, it is not necessary to perform the inverse permutations of those performed in step E7, since the identifiers of the filled lines of MmpO are known by LIOC.
  • step E15 the duplicate lines, defined by the number NGR of identical line groups and the data DGR (t, LID) of groups, are added to the seventh matrix MmpO 'obtained in step E14. get an eighth matrix Mmp '.
  • the added lines will replace the unfilled lines of the seventh matrix MmpO '.
  • the DGR data is decoded as follows in step E6, using the NGR number of identical line groups, and the number of lines. Identical LIDs and LIDs of identifiers of identical lines, contained in the DGR data.
  • the station CL stores in its local database the eighth matrix Mmp 'obtained by the step E15.
  • the station CL searches to which iRP cell of the eighth matrix Mmp 'the observation point P belongs, from the coordinates and identifiers of the cells i present in the local database BL and from the INFP position information of the observation point P, having been determined by the calculator CAL2 for sending the previous REQV request and having also been stored in the local database BL with this REQV request sent.
  • the cell i of the point P thus found will then for example have the identifier iP in the local base BL.
  • the calculator CAL2 determines the position of the line corresponding to the cell iP in the eighth matrix Mmp 'of the base BL, from this identifier iP and from the list LIOC of the identifiers of the cells M, ⁇ 2 ordinate, registered in the local BL base.
  • the LOPV (iP) list of the objects visible from the observation point P will be obtained by the calculator CAL2 by traversing the line IP of the eighth matrix Mmp 'of the base BL.
  • the station CL will then use, during step E17, the list LOPV (iP) of the objects visible from the observation point P and the DVOBJ data of the corresponding objects to display on the ECR screen a corresponding image, which will represent the objects OBJ seen from the observation point P, which will be those defined by the DVOBJ data for which a 1 appears in this list LOPV (iP) and which will not represent the objects OBJ not seen since the point P of observation, which will be those defined by the DVOBJ data for which a 0 appears in this list
  • the observation point P can be moved by the user on the station CL to a new point P2.
  • the station CL is automatically determined whether the new observation point P2 is in an iRP cell already present in a matrix Mmp 'recorded in the local base BL. In the affirmative, the corresponding matrix Mmp 'is sought in the base BL of the station CL to perform again the stage E16 for this cell iRP of this matrix Mmp' and the stage E 17. If not, a new request REQV2 containing the INFP2 position information of the new observation point P2 is sent by the CL to the SERV server, which returns a new response RV2 according to the process described above. For each new RV2 response, the SERV server determines whether data
  • the new observation point P2 is automatically determined on the station CL in an iRP cell already present in the eighth matrix Mmp 'obtained by the previous response RV, having made it possible to display the preceding image for the point P. If it is, it does not need to emit a new request REQV2 for the new point P2.
  • the LOPV list (iP2) for the new observation point P2 can be deduced from the list LOPV (iP) for the previous observation point P, by adding a list LOPV (iP2) + additional objects with respect to the list LOPV (iP) for the preceding observation point P and removing a LOPV list (iP2) "objects less to the list LOPV (iP) for the preceding observation point P.
  • the visibility data are, for example, compressed in advance in the form of the matrix M'sr. for each of the regions R, before the SERV system receives the position information INFP from the observation point.
  • computer programs are installed on the SERV system and on the device CL for executing the compression process on the SERV system and for performing the decompression method on the device CL.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The invention relates to a visibility data compression/decompression method, a compression system and a decoder. The inventive method comprises: automatic detection (E7) to check that the lines (i) included in the visibility matrix (Msr) have a high number of shared elements and are not adjoining and, upon detection, switching the lines in order to follow the detected lines having a high number of shared elements in order to form a modified visibility matrix (M'sr); and application (E8) of digital image encoding to the boolean elements of the modified visibility matrix (M'sr).

Description

Procédé de compression de données de visibilité, de décompression, décodeur, système de compression Method for compressing visibility data, decompression data, decoder, compression system
L'invention concerne un procédé de compression et un procédé de décompression de données de visibilité d'une base de données de visibilité, ainsi que des systèmes pour la mise en œuvre de ces procédés.The invention relates to a compression method and method for decompressing visibility data of a visibility database, as well as systems for implementing these methods.
Un domaine d'application de l'invention est la visualisation d'objets d'une scène depuis un point d'observation mobile dans cette scène, par exemple dans une simulation ou un jeu, dans lequel le point d'observation est virtuellement celui de l'utilisateur se déplaçant dans la scène.A field of application of the invention is the visualization of objects of a scene from a moving observation point in this scene, for example in a simulation or a game, in which the observation point is virtually that of the user moving in the scene.
Typiquement les objets sont prédéfinis et le point d'observation peut être déplacé dans l'environnement de ceux-ci, ce qui doit changer l'aspect des objets représentés à l'écran, par exemple parce qu'ils sont vus sous un angle différent, qu'ils sont occultés ou qu'il en apparaît de nouveaux précédemment occultés.Typically the objects are predefined and the observation point can be moved in their environment, which must change the appearance of the objects represented on the screen, for example because they are viewed from a different angle , that they are occulted or that there appear new ones previously hidden.
L'un des problèmes rencontrés lors de la visualisation des objets est la grande quantité de données à prendre en compte à chaque déplacement du point d'observation, ce déplacement pouvant être très rapide sous la commande de l'utilisateur.One of the problems encountered when viewing objects is the large amount of data to be taken into account with each movement of the observation point, this displacement can be very fast under the control of the user.
L'article de Peter Wonka, Michael Wimmer, Dieter Schmalstieg, intitulé « Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs », Proceedings of Eurographic Rendering Workshop, 2000, propose de subdiviser l'espace d'observation en cellules de vue, de réduire les objets occultants d'une grandeur ε et, pour chaque cellule, de déterminer un nombre suffisant de points d'échantillonnage de celle-ci et de calculer la visibilité pour chaque point d'échantillonnage pour obtenir un ensemble d'objets potentiellement visibles depuis cette cellule. Ces ensembles d'objets potentiellement visibles sont toutefois présents pour chaque cellule et représentent un volume très important de données.Peter Wonka's article, Michael Wimmer, Dieter Schmalstieg, "Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs," Proceedings of Eurographic Rendering Workshop, 2000, proposes to subdivide the observation space into view cells, to reduce occulting objects of a magnitude ε and, for each cell, determining a sufficient number of sampling points thereof and calculating the visibility for each sample point to obtain a set of potentially visible objects from that cell . These sets of potentially visible objects are however present for each cell and represent a very large volume of data.
L'article de Michiel van de Panne et Â. James Stewart, intitulé « Effective Compression Techniques for Precomputed Visibility », Rendering Techniques 1999, pages 305 à 316, 1999 propose de diviser l'espace de points d'observation en petites régions ou cellules et de construire une table de visibilité booléenne, codant l'information ayant été déterminée au préalable dans une étape préalable de calcul et indiquant quels polygones sont visibles à partir de chaque région. Dans cette table de visibilité, chaque rangée correspond à une cellule de points d'observation et chaque colonne correspond à un polygone. Toute entrée située à la rangée i, colonne j de cette table de visibilité est à l'état Vrai si et seulement si le polygone j est au moins potentiellement visible depuis un point de la région i. Pour compresser la table de visibilité, un algorithme de compression avec pertes prévoit de fusionner les rangées et les colonnes ayant un ensemble similaire d'entrées à Vrai. Un autre algorithme de compression sans pertes ajoute de nouvelles rangées et colonnes à la table de visibilité, qui sont obtenues à partir de lignes ayant des entrées en commun. Par conséquent, soit de l'information est perdue dans le premier algorithme, soit la table de visibilité reste d'une taille trop importante. En outre, ces algorithmes ne s'adaptent pas à un affichage en réseau, c'est-à-dire sur un poste d'utilisateur distant d'une base devant stocker les données de visibilité. On peut également citer les documents suivants : - C. Gotsman, O. Sudarsky, J. Fayman, « Optimized OcclusionThe article by Michiel van de Panne and Â. James Stewart, entitled Effective Compression Techniques for Precomputed Visibility, Rendering Techniques 1999, pages 305 to 316, 1999 proposes to divide the space of observation points into small regions or cells and to construct a Boolean visibility table, coding the information previously determined in a preliminary calculation step. and indicating which polygons are visible from each region. In this visibility table, each row corresponds to a cell of observation points and each column corresponds to a polygon. Any entry in row i, column j of this visibility table is in the True state if and only if polygon j is at least potentially visible from a point in region i. To compress the visibility table, a lossy compression algorithm plans to merge rows and columns with a similar set of entries to True. Another lossless compression algorithm adds new rows and columns to the visibility table, which are obtained from rows with common entries. As a result, either information is lost in the first algorithm, or the visibility table remains too large. In addition, these algorithms do not adapt to a network display, that is to say on a remote user station of a base to store the visibility data. The following documents may also be cited: - C. Gotsman, O. Sudarsky, J. Fayman, "Optimized Occlusion
Culling Using Five-Dimensional Subdivision », Computer Graphics, 23(5) :645-654, 1999, décrivant un algorithme de tri d'occlusion, organisant l'espace en une structure hiérarchique en arbre de visibilité à cinq dimensions, dans laquelle chaque feuille de l'arbre contient une référence à un des feuilles de niveau inférieur. Une valeur à Vrai de la i-ème position d'une feuille indique la présence du i-ème objet dans cette feuille, tandis que qu'une valeur à Faux indique que l'objet n'est pas présent dans cette feuille ni dans les feuilles de niveau inférieur. Un inconvénient de cet algorithme est que l'arbre doit être parcouru pour chaque point d'observation. Il ne s'adapte pas à un affichage en réseau sur un poste d'utilisateur distant d'une base devant stocker les données de visibilité. - Boaz Nadler, Gadi Fibish, Shuly Lev- Yehudi, Danile Cohen-Or, « A qualitative and quantitative visibility analysis in urban scènes », Computer & Graphics, 23(5): 655-666, 1999, qui calcule la probabilité qu'un objet donné soit visible d'une cellule de vue donnée en fonction de la distance par rapport à cette cellule. L'intersection des ensembles d'objets potentiellement visibles pour des cellules voisines y est estimée et la cohérence de cellule à cellule est exploitée pour mémoriser les données dans une structure hiérarchique pour réduire le nombre de duplications. Les données restent toutefois de taille trop importante. - Christopher Zach, Konrad Karner, « Progressive compression of visibility data for view-dependent multiresolution meshes », Journal of WSCG, volume 11 , n° 3, pp. 546-553, 2003, ont proposé une méthode de compression, dans laquelle les informations de visibilité peuvent être mémorisées directement dans les nœuds de la structure multiresolution et seules les parties nécessaires des données de visibilité sont transmises. Cette méthode ne permet pas de connaître l'ensemble des objets visibles à chaque fois, étant donné qu'il faut attendre l'arrivée de nouvelles données, qui n'ont pas été transmises la première fois, ce qui affecte la méthode d'une latence indésirable. - V. Koltun, Y. Chrysanthou, D. Cohen-Or, « Virtual Occluders : AnCulling Using Five-Dimensional Subdivision ", Computer Graphics, 23 (5): 645-654, 1999, describing an occlusion sorting algorithm, organizing the space into a hierarchical five-dimensional visibility tree structure, in which each Tree leaf contains a reference to one of the lower level leaves. A true value of the i-th position of a sheet indicates the presence of the i-th object in that sheet, whereas a value of False indicates that the object is not present in this sheet or in the lower level sheets. A disadvantage of this algorithm is that the tree must be traversed for each observation point. It does not adapt to a network display on a remote user station of a base to store the visibility data. - Boaz Nadler, Gadi Fibish, Shuly Lev-Yehudi, Danile Cohen-Or, "A qualitative and quantitative visibility analysis in urban scenes," Computer & Graphics, 23 (5): 655-666, 1999, which calculates the probability that a given object is visible from a given view cell as a function of the distance to that cell. The intersection of the sets of potentially visible objects for neighboring cells is estimated and the cell-to-cell coherence is exploited to store the data in a hierarchical structure to reduce the number of duplications. However, the data remains too important. - Christopher Zach, Konrad Karner, "Progressive Compression of Visibility Data for View-Dependent Multiresolution Meshes," Journal of WSCG, Volume 11, No. 3, pp. 546-553, 2003, proposed a compression method, in which the visibility information can be stored directly in the nodes of the multiresolution structure and only the necessary parts of the visibility data are transmitted. This method does not allow to know all the objects visible each time, since it is necessary to wait for the arrival of new data, which were not transmitted the first time, which affects the method of a unwanted latency. - V. Koltun, Y. Chrysanthou, D. Cohen-Or, "Virtual Occluders: An
Efficient Intermédiate PVS Représentation », Eurographics Workshop on Rendering, pages 59-70, Eurographics, 2000, se borne à définir des occultations virtuelles pour une cellule de vue, afin de construire un ensemble potentiellement visible PVS depuis cette cellule en utilisant ces occultations virtuelles, mais ne traite pas du problème de la taille importante des données obtenues.Efficient Intermediate PVS Representation ", Eurographics Workshop on Rendering, pages 59-70, Eurographics, 2000, is limited to defining virtual occultations for a view cell, in order to build a potentially visible set PVS from this cell using these virtual occultations, but does not address the problem of the large size of the data obtained.
- Fabio O. Moreira, Joao L. D. Comba, Caria M. D. S. Freitas, « Smart Visible Sets for Networked Virtual Environments », SIBGRAPI 2002, ont défini des ensemble visibles SVS (en anglais ; Smart Visible Sets) qui correspondent à une partition des informations des ensembles potentiellement visibles PVS en sous-ensembles dynamiques tenant compte de la position. Un mécanisme de classement permet de ne transmettre que les données classées comme étant les plus importantes. Par conséquent, il existe une perte de données. Cette technique n'a pas été testée pour de très grandes bases de données ni en réseau.- Fabio O. Moreira, Joao LD Comba, Caria MDS Freitas, "Smart Visible Sets for Networked Virtual Environments", SIBGRAPI 2002, have defined SVS (Smart Visible Sets) that correspond to a set information partition potentially visible PVS in dynamic subsets taking into account the position. A ranking mechanism allows you to transmit that data classified as being the most important. As a result, there is a loss of data. This technique has not been tested for very large databases or in a network.
L'invention vise à obtenir un procédé de compression de données de visibilité, qui pallie les inconvénients de l'état de la technique, qui soit dans une large mesure sans pertes mais qui permettent de diminuer nettement la taille des données compressées.The object of the invention is to obtain a method for compressing visibility data, which overcomes the disadvantages of the state of the art, which is to a large extent without losses but which makes it possible to reduce the size of the compressed data significantly.
A cet effet, un premier objet de l'invention est un procédé de compression de données de visibilité d'une base de données de visibilité, les données de visibilité comportant des cellules de points d'observation dans un espace d'observation d'objets prédéterminés et, pour chaque cellule de points d'observation, une liste des objets potentiellement visibles depuis cette cellule de points d'observation parmi lesdits objets prédéterminés, et les données de visibilité étant représentées dans la base de données au moins sous la forme d'une première matrice de visibilité d'éléments booléens, dont chaque ligne correspond à une cellule et dont chaque colonne correspond à un objet parmi lesdits objets prédéterminés, les éléments booléens situés respectivement sur la i-ème ligne et la j-ième colonne ayant la valeur logique 1 lorsque l'objet j appartient à la liste d'objets potentiellement visibles, associée a la cellule i, et ayant la valeur logique 0 sinon, caractérisé en ce que l'on détecte automatiquement dans la base de données si des lignes comprises dans la matrice de visibilité ont un nombre élevé d'éléments communs et ne sont pas voisines et, en cas de détection, on permute des lignes pour faire se suivre les lignes détectées ayant un nombre élevé d'éléments communs pour former une matrice de visibilité modifiée, on applique automatiquement un codage d'image numérique aux éléments booléens de la matrice de visibilité modifiée pour obtenir un code de données de visibilité, ces éléments booléens de la matrice de visibilité modifiée formant les pixels de l'image numérique pour le codage. Suivant d'autres caractéristiques de l'invention,For this purpose, a first object of the invention is a method of compressing visibility data of a visibility database, the visibility data comprising cells of observation points in an object observation space. predetermined and, for each cell of observation points, a list of potentially visible objects from this observation point cell among said predetermined objects, and the visibility data being represented in the database at least in the form of a first visibility matrix of Boolean elements, each line of which corresponds to a cell and each column corresponding to one of said predetermined objects, the Boolean elements located respectively on the ith line and the jth column having the value logic 1 when the object j belongs to the list of potentially visible objects associated with the cell i, and having the logic value 0 otherwise, characterized in that one automatically detects in the database if lines included in the visibility matrix have a high number of common elements and are not neighbors and, in case of detection, lines are exchanged to do so. following the detected lines having a high number of common elements to form a modified visibility matrix, a digital image coding is automatically applied to the Boolean elements of the modified visibility matrix to obtain a visibility data code, these Boolean elements of the modified visibility matrix forming the pixels of the digital image for coding. According to other features of the invention,
- la base de données de visibilité étant associée à un système de traitement de données, le système transmet le code de données de visibilité généré à un organe d'exploitation de données de visibilité ; - le système de traitement de données est un serveur de données et l'organe d'exploitation de données de visibilité est un poste d'exploitation de données de visibilité ;the visibility database being associated with a data processing system, the system transmits the generated visibility data code to an operating unit for visibility data; the data processing system is a data server and the visibility data operating unit is a visibility data exploitation station;
- le système de traitement de données et l'organe d'exploitation de données de visibilité sont prévus sur un même poste d'exploitation de données de visibilité ;the data processing system and the visibility data operating unit are provided on the same visibility data exploitation station;
- le système de traitement de données ayant reçu au préalable de l'organe d'exploitation une information de position d'un point d'observation déterminé dans l'espace d'observation et l'espace d'observation ayant été subdivisé en régions dans la base de données de visibilité, les étapes suivantes sont automatiquement exécutées dans le système de traitement de données : détermination parmi les régions de l'espace d'observation, d'une région d'observation à laquelle appartient le point d'observation, correspondant à l'information de position reçue de l'organe, détermination, parmi les cellules des données de visibilité, de premières cellules ayant une intersection avec la région d'observation, extraction, à partir de la première matrice de visibilité, d'une deuxième matrice de visibilité, dont les lignes sont formées des lignes de la première matrice de visibilité, qui correspondent auxdites premières cellules déterminées de la région d'observation, la matrice de visibilité modifiée étant formée à partir de la deuxième matrice de visibilité ;the data processing system which has previously received from the operating member position information of a given observation point in the observation space and the observation space which has been subdivided into regions in the visibility database, the following steps are automatically performed in the data processing system: determination among the regions of the observation space, of an observation region to which the observation point belongs, corresponding to the position information received from the organ, determining, among the cells of the visibility data, first cells having an intersection with the observation region, extracting, from the first visibility matrix, a second visibility matrix, whose lines are formed by the lines of the first visibility matrix, which correspond to said first determined cells of the observation region, the modified visibility matrix being formed from the second visibility matrix;
- on détermine automatiquement dans le système de traitement de données, à partir de la deuxième matrice de visibilité, une liste des objets potentiellement visibles depuis la région d'observation, qui est envoyée par le système de traitement de données avec le code de données de visibilité à l'organe d'exploitation ; - une liste des identifiants des cellules de la matrice de visibilité modifiée est envoyée par le système de traitement de données avec le code de données de visibilité à l'organe d'exploitation ;a list of the potentially visible objects from the observation region, which is sent by the data processing system with the data code of the data processing system, is automatically determined in the data processing system from the second visibility matrix; visibility to the operating body; a list of the identifiers of the cells of the modified visibility matrix is sent by the data processing system with the visibility data code to the operating member;
- l'on détermine automatiquement dans le système de traitement de données les lignes identiques de la matrice de visibilité, pour ne garder de cette matrice de visibilité dans une quatrième matrice de visibilité, qu'une seule ligne par groupe de lignes identiques, la matrice de visibilité modifiée étant formée à partir de la quatrième matrice de visibilité, et on calcule automatiquement dans le système de traitement de données une donnée de nombre de groupes de lignes identiques de la matrice de visibilité, et pour chaque groupe de lignes identiques une donnée de groupe, comprenant un nombre de lignes identiques du groupe et une liste des identifiants des lignes identiques dudit groupe, ladite donnée de nombre de groupes de lignes identiques et ladite donnée de groupe étant envoyées par le système de traitement de données avec le code de données de visibilité à l'organe d'exploitation ;the identical lines of the visibility matrix are automatically determined in the data processing system, so as to keep from this visibility matrix in a fourth visibility matrix only one line per group of identical lines, the matrix modified visibility profile being formed from the fourth visibility matrix, and automatically calculating in the data processing system a datum of the number of groups of identical lines of the visibility matrix, and for each group of identical lines a datum of group, comprising a number of identical rows of the group and a list of the identifiers of the identical lines of said group, said data of number of identical groups of lines and said group data being sent by the data processing system with the data code of visibility to the operating body;
- pour chaque groupe de lignes identiques, le nombre de lignes identiques dudit groupe est codé sur un nombre fixé à l'avance de bits et chaque identifiant des lignes identiques de ladite liste dudit groupe est codé sur un nombre fixé à l'avance de bits, chaque donnée de groupe étant constituée, dans un ordre prescrit pour tous les groupes, dudit nombre de lignes identiques du groupe et de ladite liste des identifiants des lignes identiques du groupe ;for each group of identical lines, the number of identical lines of said group is coded on a number fixed in advance of bits and each identifier of the identical lines of said list of said group is coded on a number fixed in advance of bits each group data being constituted, in an order prescribed for all the groups, of said number of identical lines of the group and of said list of identifiers of the identical lines of the group;
- en plus on détecte automatiquement, s'il existe au moins une colonne de 0 dans la matrice de visibilité et, en cas de détection, on supprime automatiquement de la matrice de visibilité la colonne de 0 détectée pour former une troisième matrice de visibilité, la matrice de visibilité modifiée étant formée à partir de la troisième matrice de visibilité ;in addition, it detects automatically if there is at least one column of 0 in the visibility matrix and, in the event of detection, the column of 0 detected is automatically removed from the visibility matrix to form a third visibility matrix, the modified visibility matrix being formed from the third visibility matrix;
- ledit codage d'image numérique appliqué aux éléments booléens de la matrice de visibilité modifiée est du type JBIG ou PNG. Un deuxième objet de l'invention est un procédé de décompression du code de données de visibilité généré par le procédé de compression de données de visibilité tel que décrit ci-dessus, caractérisé en ce que l'on applique au code de données de visibilité généré, un décodage d'image numérique, inverse du codage d'image numérique appliqué par ledit procédé de compression, ce décodage produisant une matrice de visibilité.said digital image coding applied to the Boolean elements of the modified visibility matrix is of the JBIG or PNG type. A second object of the invention is a method for decompressing the visibility data code generated by the visibility data compression method as described above, characterized in that the data code of visibility generated is applied to , a digital image decoding, inverse of the digital image coding applied by said compression method, this decoding producing a visibility matrix.
Suivant d'autres caractéristiques de ce procédé de décompression,According to other features of this decompression process,
- l'on ajoute automatiquement à la matrice de visibilité obtenue par ledit décodage d'image numérique, des colonnes de 0 aux endroits des objets non potentiellement visibles indiqués par la liste des objets potentiellement visibles depuis la région d'observation ;the columns of 0 are automatically added to the visibility matrix obtained by said digital image decoding at places of non-potentially visible objects indicated by the list of potentially visible objects from the observation region;
- l'on ajoute automatiquement à la matrice de visibilité obtenue par ledit décodage d'image numérique, la au moins une ligne manquante indiquée par les identifiants de lignes identiques présents dans la liste des identifiants des lignes identiques de la donnée de groupe et absents de ladite matrice de visibilité, cette au moins une ligne manquante étant alors égale à la ligne de la matrice de visibilité ayant l'identifiant présent dans ladite liste des identifiants des lignes identiques, L'invention a également pour objet un décodeur, comportant des moyens pour la mise en œuvre du procédé de décompression de données de visibilité tel que décrit ci-dessus.the automatically added to the visibility matrix obtained by said digital image decoding, the at least one missing line indicated by the identifiers of identical lines present in the list of identifiers of identical lines of the group data and absent from said visibility matrix, this at least one missing line then being equal to the line of the visibility matrix having the identifier present in said list of identifiers of identical lines. The invention also relates to a decoder, comprising means for the implementation of the visibility data decompression method as described above.
Un autre objet de l'invention est un système associé à une base de données de visibilité, les données de visibilité comportant des cellules de points d'observation dans un espace d'observation d'objets prédéterminés et, pour chaque cellule de points d'observation, une liste des objets potentiellement visibles depuis cette cellule de points d'observation parmi lesdits objets prédéterminés, et les données de visibilité étant représentées dans la base de données au moins sous la forme d'une première matrice de visibilité d'éléments booléens, dont chaque ligne correspond à une cellule et dont chaque colonne correspond à un objet parmi lesdits objets prédéterminés, les éléments booléens situés respectivement sur la i-ème ligne et la j-ième colonne ayant la valeur logique 1 lorsque l'objet j appartient à la liste d'objets potentiellement visibles, associée à la cellule i, et ayant la valeur logique 0 sinon, le système comportant des moyens pour la mise en œuvre du procédé de compression des données de visibilité tel que décrit ci-dessus.Another object of the invention is a system associated with a visibility database, the visibility data comprising observation point cells in a predetermined object observation space and, for each point cell of observation, a list of potentially visible objects from this observation point cell among said predetermined objects, and the visibility data being represented in the database at least in the form of a first Boolean element visibility matrix, whose each line corresponds to a cell and each of which column corresponds to one of said predetermined objects, the Boolean elements located respectively on the ith line and the jth column having the logic value 1 when the object j belongs to the list of potentially visible objects associated with the cell i, and having the logical value 0 otherwise, the system comprising means for implementing the method of compressing the visibility data as described above.
Un autre objet de l'invention est un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de compression de données tel que décrit ci-dessus, lorsqu'il est exécuté sur un ordinateur.Another object of the invention is a computer program comprising instructions for implementing the data compression method as described above, when executed on a computer.
Un autre objet de l'invention est un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de décompression de données tel que décrit ci-dessus, lorsqu'il est exécuté sur un ordinateur.Another object of the invention is a computer program comprising instructions for implementing the data decompression method as described above, when executed on a computer.
L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif en référence aux dessins annexés, sur lesquels :The invention will be better understood on reading the description which follows, given solely by way of non-limiting example with reference to the accompanying drawings, in which:
- la figure 1 représente schématiquement un dispositif client - serveur dans lequel sont mis en œuvre les procédés de compression et de décompression de données suivant l'invention,FIG. 1 diagrammatically represents a client-server device in which the data compression and decompression methods according to the invention are implemented,
- la figure 2 représente la modélisation d'un objet tridimensionnel en 2 dimensions et demie,FIG. 2 represents the modeling of a three-dimensional object in two and a half dimensions,
- la figure 3 représente en vue de dessus une scène comportant des objets et des cellules de vue de ces objets,FIG. 3 is a top view of a scene comprising objects and view cells of these objects,
- la figure 4 représente en vue de dessus les volumes d'ombre générés par des façades occultantes, pouvant être utilisés pour calculer une liste d'objets potentiellement visibles derrière ces façades,FIG. 4 is a top view of the shadow volumes generated by blackout facades, which can be used to calculate a list of potentially visible objects behind these facades,
- la figure 5 représente en perspective un horizon de visibilité généré par la méthode de calcul illustrée à la figure 4,FIG. 5 represents in perspective a horizon of visibility generated by the calculation method illustrated in FIG. 4;
- la figure 6 représente un organigramme d'un mode de réalisation du procédé de compression de données de visibilité suivant l'invention, - la figure 7 représente en vue de dessus la scène de la figure 3 comportant des objets et divisée en régions,FIG. 6 represents a flowchart of one embodiment of the visibility data compression method according to the invention, FIG. 7 is a top view of the scene of FIG. 3 comprising objects and divided into regions;
- la figure 8 représente la structure de données de visibilité compressées par le procédé de compression suivant la figure 6, - la figure 9 représente un organigramme d'un mode de réalisation du procédé de décompression de données de visibilité suivant l'invention ;FIG. 8 represents the visibility data structure compressed by the compression method according to FIG. 6; FIG. 9 represents a flowchart of one embodiment of the visibility data decompression method according to the invention;
- la figure 10 représente une cellule de vue en deux dimensions d'une scène,FIG. 10 represents a two-dimensional view cell of a scene,
- la figure 11 représente une cellule de vue en trois dimensions d'une scène, etFIG. 11 represents a three-dimensional view cell of a scene, and
- la figure 12 représente les cinq dimensions d'une cellule de vue 5D d'une scène.- Figure 12 shows the five dimensions of a 5D view cell of a scene.
L'invention est décrite ci-dessous dans un mode de réalisation de dispositifs pour mettre en œuvre la visualisation des objets, adoptant par exemple l'architecture client - serveur, dans laquelle un serveur SERV héberge dans une base BD les données DV de visibilité des objets. Les objets correspondent à un ensemble de données géométriques DVOBJ modélisant un objet réel ou abstrait. Le serveur SERV comportant des moyens de traitement de données dans son calculateur CAL, il forme également un système SERV de traitement de données. Un poste CL de l'utilisateur, distant du serveur SERV, est connecté à celui-ci par un canal CT de télécommunication pour lui envoyer des requêtes, ce poste CL étant alors un organe d'exploitation des données. Le serveur SERV renvoie sur le canal CT des réponses à ces requêtes au poste CL. Le canal CT emprunte par exemple un ou plusieurs réseau(x) de télécommunication, le serveurThe invention is described below in one embodiment of devices for implementing the visualization of objects, adopting for example the client-server architecture, in which a SERV server houses in BD database the visibility data DV objects. The objects correspond to a set of geometric data DVOBJ modeling a real or abstract object. The server SERV having data processing means in its calculator CAL, it also forms a SERV system for data processing. A user's CL station, remote from the SERV server, is connected to it by a telecommunication CT channel to send requests to it, this station CL then being a data exploitation member. The server SERV returns on the CT channel responses to these requests to the CL station. The CT channel for example uses one or more telecommunication network (s), the server
SERV et le poste CL étant munis à cet effet chacun d'une interface réseau INTS, INTC.SERV and CL are each provided with an INTS network interface, INTC.
Bien entendu, dans d'autres modes de réalisation non représentés, la base BD et le système SERV de traitement de données pourraient également être présents sur la même machine que le poste CL, par exemple sur un ordinateur de l'utilisateur. Dans ce cas, la base BD est par exemple présente sur une mémoire de masse de l'ordinateur (par exemple disque dur ou autres) ou sur un support de stockage amovible (par exemple CD-ROM ou autres) introduit dans un lecteur correspondant de l'ordinateur, et les données compressées doivent être produites pour pouvoir être exploitées plus rapidement par un organe de l'ordinateur. Dans ce qui suit, l'exploitation des données de visibilité compressées consiste en l'affichage d'une image déterminée à partir de celles-ci.Of course, in other embodiments not shown, the base BD and the data processing system SERV could also be present on the same machine as the CL station, for example on a computer of the user. In this case, the base BD is for example present on a mass memory of the computer (for example hard disk or others) or on a removable storage medium (for example CD-ROM or others) introduced in a corresponding reader of the computer, and the compressed data must be produced in order to be exploited more quickly by an organ of the computer. computer. In the following, the exploitation of compressed visibility data consists in displaying a determined image from them.
Le poste CT possède une interface d'utilisateur IUT, comprenant un écran ECR pour restituer une image et par exemple également des haut- parleurs. L'image affichée sur l'écran ECR est calculée par un moteur MR de rendu, à partir des données reçues sur l'interface réseau INTC et le cas échéant en plus à partir d'une base BL de données locale présente dans le poste CL.The CT station has an IUT user interface, comprising an ECR screen for reproducing an image and for example also speakers. The image displayed on the ECR screen is computed by a rendering MR engine, based on the data received on the network interface INTC and, if necessary in addition, from a local data base BL present in the item CL .
On suppose par exemple que l'interface d'utilisateur IUT comporte en outre des commandes COM, telles que par exemple une manette, permettant à l'utilisateur de déplacer un curseur ou autres de l'écran ECR dans une scène ou un environnement SC, dont une image est visualisée sur cet écran ECR. Une telle action est appelée navigation dans la scène. La scène SC est à deux ou trois dimensions, la description étant faite dans ce qui suit pour une scène tridimensionnelle. Bien entendu, la description faite pour la scène tridimensionnelle est applicable à une scène bidimensionnelle, avec les adaptations correspondantes.For example, it is assumed that the user interface IUT further comprises COM commands, such as for example a joystick, allowing the user to move a cursor or others of the ECR screen in a scene or environment SC, whose image is displayed on this ECR screen. Such an action is called navigation in the scene. The scene SC is in two or three dimensions, the description being made in what follows for a three-dimensional scene. Of course, the description made for the three-dimensional scene is applicable to a two-dimensional scene, with the corresponding adaptations.
On suppose que l'image affichée sur l'écran ECR est la scène SC vue depuis un point P d'observation situé à l'endroit du curseur, qui est donc déplacé dans la scène SC à chaque navigation. La navigation oblige à recalculer l'image, qui sera modifiée par rapport à l'image précédemment affichée sur l'écran ECR. L'espace dans lequel le point P d'observation peut être déplacé dans la scène SC est appelé espace EO d'observation ou de navigation.It is assumed that the image displayed on the ECR screen is the scene SC seen from an observation point P at the cursor, which is thus moved in the scene SC with each navigation. The navigation requires to recalculate the image, which will be modified compared to the image previously displayed on the ECR screen. The space in which the observation point P can be moved in the scene SC is called the observation or navigation EO space.
La scène SC comporte une pluralité p d'objets OBJ présents, l'espace EO d'observation étant alors formé par des ou les intervalles situés entre et autour les objets OBJ. L'espace EO est par exemple égal au complémentaire de l'union de tous les objets OBJ. Les objets OBJ sont par exemple des immeubles dans une ville, l'espace EO d'observation étant alors par exemple formé par des rues situées entre les immeubles.The scene SC comprises a plurality p of objects OBJ present, observation EO space then being formed by or gaps between and around the objects OBJ. The space EO is for example equal to the complement of the union of all OBJ objects. OBJ objects are by example of buildings in a city, the EO observation space then being formed for example by streets located between the buildings.
A titre d'exemple, on suppose dans ce qui suit que les objets OBJ sont représentés par un modèles 2,5D, à savoir une empreinte EMPR au sol, une altitude ALT et une hauteur H suivant l'axe z vertical ascendant. Un objet OBJ tridimensionnel se déduit de l'objet OBJ en 2,5D par élévation d'un prisme de hauteur H sur son empreinte EMPR au sol, depuis son altitude ALT, selon les figures 2 et 10. L'espace EO d'observation est par exemple situé au sol, pouvant avoir des altitudes différentes d'un endroit à un autre.By way of example, it is assumed in the following that OBJ objects are represented by a 2.5D model, namely an EMPR footprint on the ground, an altitude ALT and a height H along the vertical ascending z axis. A three-dimensional OBJ object is deduced from the OBJ object in 2.5D by elevation of a height prism H on its footprint EMPR on the ground, from its altitude ALT, according to FIGS. 2 and 10. The observation space EO is for example located on the ground, may have different altitudes from one place to another.
Les données DV de visibilité comprennent les données géométriques DVOBJ propres aux objets, à savoir dans l'exemple précédent les données des empreintes EMPR, telles que par exemple leur forme, des altitudes ALT et des hauteurs H, ainsi que les coordonnées des objets OBJ dans la scène SC, à savoir dans l'exemple précédent les coordonnées des empreintes EMPR.The visibility DV data includes the object-specific DVOBJ geometrical data, ie in the above example the EMPR footprint data, such as, for example, their shape, ALT altitudes and H heights, as well as the coordinates of OBJ objects in the above example. the scene SC, namely in the example above the coordinates of the footprints EMPR.
Les données DV de visibilité comprennent également les données DVEO propres à l'espace EO d'observation.The visibility DV data also includes the DVEO data specific to the observation EO space.
Le poste CL envoie au serveur SERV par le canal CT une requête REQV en visualisation d'une nouvelle image de la scène SC, comportant une information INFP de position du point P d'observation (par exemple ses coordonnées) dans l'espace EO d'observation. La requête REQV en visualisation est émise par exemple automatiquement à chaque navigation, chaque fois que le point P d'observation a été déplacé d'une position de départ, qui est la position correspondant à l'image précédente visualisée sur l'écran ECR, à une autre position dans la scène SC, pour laquelle l'image doit être recalculée pour être affichée sur l'écran ECR.The station CL sends to the server SERV by the channel CT a request REQV in visualization of a new image of the scene SC, comprising information INFP of position of the point P of observation (for example its coordinates) in the space EO d 'observation. The visual REQV request is emitted for example automatically with each navigation, each time the observation point P has been moved from a starting position, which is the position corresponding to the previous image displayed on the screen ECR, at another position in the SC scene, for which the image must be recalculated to be displayed on the ECR screen.
En réponse à la requête REQV reçue, un calculateur CAL du serveur SERV détermine à partir des données DV de visibilité stockées dans la base BD et de l'information INFP de position du point P d'observation contenue dans cette requête REQV, les données DE de visibilité à envoyer dans une réponse RV au poste CL par le canal CT. Ces données DE seront envoyées par paquets au poste CL au cours d'une étape E9, qui les exploitera par son moteur MR de rendu et son interface IUT. La réponse RV calculée par le serveur SERV est mémorisée dans celui-ci.In response to the received REQV request, a CAL calculator of the server SERV determines from the visibility DV data stored in the database BD and from the position INFP information of the observation point P contained in this REQV request, the data DE visibility to be sent in an RV response to the CL station by the CT channel. These DE data will be sent in packets to the CL station during a step E9, which will exploit them by its rendering MR engine and its IUT interface. The response RV calculated by the server SERV is stored therein.
L'espace EO d'observation est subdivisé en cellules i de points d'observation ou de vue, ayant des coordonnées pré - calculées et associées à leurs identifiants individuels i dans la base BD et dans la base de données locale BL du poste CL. Les cellules sont au moins bidimensionnelles. Aux figures 2, 3, 4, 5 et 7, les cellules sont bidimensionnelles (2D), mais les cellules pourraient être également avoir trois dimensions (3D) comme cela est décrit ci-dessous en référence à la figure 11 , ou cinq dimensions (5D) comme cela est décrit ci-dessous en référence à la figure 12.The observation EO space is subdivided into viewpoint or viewpoint cells i, having pre-calculated coordinates and associated with their individual identifiers i in the database BD and in the local database BL of the station CL. The cells are at least two-dimensional. In FIGS. 2, 3, 4, 5 and 7, the cells are two-dimensional (2D), but the cells could also be three-dimensional (3D) as described below with reference to FIG. 11, or five dimensions (FIG. 5D) as described below with reference to FIG. 12.
Les cellules i de vue sont obtenues par exemple par triangulation bidimensionnelle, ainsi que cela est représenté à la figure 3, les sommets des triangles formant les cellules i de vue étant alors formés par les sommets SEMPR des coins des empreintes EMPR des objets OBJ et des points du bord de la scène SC. A la figure 3, les traits forts LIMi représentent les limites des cellules i et sont donc formés par les segments rectilignes formant les côtés des cellules i triangulaires. De manière analogue aux empreintes, les cellules de vue tridimensionnelles sont obtenues par élévation verticale d'un prisme sur les triangles.The view cells i are obtained for example by two-dimensional triangulation, as is shown in FIG. 3, the vertices of the triangles forming the view cells being then formed by the SEMPR vertices of the corners of the EMPR footprints of the OBJ objects and the points from the edge of the SC scene. In FIG. 3, the strong lines LIMi represent the limits of the cells i and are thus formed by the rectilinear segments forming the sides of the triangular cells. Analogously to the imprints, the three-dimensional view cells are obtained by vertical elevation of a prism on the triangles.
Une cellule de vue est une région d'un environnement contenant des informations de visibilité sur le reste de l'environnement, qui sont identiques quel que soit le point d'observation situé dans la cellule. Suivant la manière dont sont décrits les points d'observation et la direction d'observation, on déduit la dimension de la cellule de vue. Les points d'observation peuvent être décrits en deux dimensions (2D) ou en trois dimensions (3D). Si la direction d'observation n'est pas prise en compte dans le calcul de visibilité, aucune dimension supplémentaire ne sera affectée à la cellule de vue et celle-ci aura la dimension du point d'observation, c'est-à-dire deux ou trois.A view cell is a region of an environment that contains visibility information about the rest of the environment, which is identical regardless of the point of view in the cell. Depending on the way in which the points of observation and the direction of observation are described, the dimension of the view cell is deduced. Observation points can be described in two dimensions (2D) or in three dimensions (3D). If the observation direction is not taken into account in the visibility calculation, no additional dimension will be assigned to the view cell and this one will have the dimension of the observation point, that is to say two or three.
Si la direction d'observation est prise en compte, on ajoutera une ou deux dimensions qui correspondent à des valeurs d'angle servant à décrire cette direction : dans le cas d'une scène 2D, on a besoin d'un seul angle pour décrire la direction et dans le cas d'une scène 3D, on aura la plupart du temps besoin de deux angles et on ajoutera alors deux dimensions pour la cellule de vue. Un exemple de cellule de vue 2D est représenté par un triangle à la figure 10 et aux figures 3 et 7. Dans ce cas, la cellule de vue contient des points d'observation décrits à l'aide de deux coordonnées et la direction d'observation n'est pas prise en compte. Le cas le plus classique est une scène 2D contenant des cellules de vue à deux dimensions et pour lesquelles on ne tient pas compte de la direction d'observation. A la figure 10, les objets 1 et 3 sont visibles depuis la cellule de vue et forment la liste des objets potentiellement visibles LOPV.If the direction of observation is taken into account, one or two dimensions will be added which correspond to angle values used to describe this. direction: in the case of a 2D scene, we need a single angle to describe the direction and in the case of a 3D scene, we will most of the time need two angles and we will add two dimensions for the cell of view. An example of a 2D view cell is represented by a triangle in Figure 10 and Figures 3 and 7. In this case, the view cell contains observation points described using two coordinates and the direction of observation is not taken into account. The most classic case is a 2D scene containing two-dimensional view cells for which the observation direction is not taken into account. In Figure 10, objects 1 and 3 are visible from the view cell and form the list of potentially visible objects LOPV.
Dans les modes de réalisation des figures 2, 3, 4, 5, 7, est décrite une représentation dans laquelle les cellules de vue ont deux dimensions suivant les axes x et y, puisque les cellules de vue sont formées par élévation des triangles formant la base et que les données de visibilité sont calculées pour toutes les directions d'observation à partir d'un point d'observation. La hauteur de navigation n'est pas prise en compte car on se situe dans le cas de navigation au sol et les calculs ont été effectués avec cette hypothèse.In the embodiments of FIGS. 2, 3, 4, 5, 7, there is described a representation in which the view cells have two dimensions along the x and y axes, since the view cells are formed by elevating the triangles forming the and visibility data are calculated for all viewing directions from an observation point. The navigation height is not taken into account because it is in the case of ground navigation and calculations were made with this assumption.
A la figure 11 , est ajoutée une troisième dimension aux cellules de vue de l'exemple donné précédemment, en calculant les informations de visibilité pour différentes hauteurs de points d'observation suivant l'axe z. Dans ce cas, la cellule de vue contient des points d'observation de dimension 3, puisque les informations de visibilité seront différentes suivant la hauteur des points dans l'espace d'observation. On obtient des cellules de vue présentées comme un empilement de prismes. La cellule de vue C1 la plus basse (correspondant au prisme le plus bas) donnera la visibilité pour les altitudes inférieures à la hauteur h1 de celle-ci, et la cellule de vue C2 (correspondant au prisme le plus haut) située au-dessus de la cellule C1 donnera la visibilité pour les altitudes supérieures à la hauteur h1. A la figure 12 est représentée Ie système de coordonnées à cinq dimensions d'une cellule de vue 5D. Dans l'article de C. Gotsman, O. Sudarsky, J. Fayman, « Optimized Occlusion Culling Using Five- Dimensional Subdivision », Computer Graphics, 23(5) :645-654, 1999, mentionné ci-dessus, dans la partie 3 de la quatrième page, les auteurs considèrent un espace de vue (espace de tous les rayons de vue possible) à 5 dimensions : les trois dimensions (x, y, z) définissent l'origine des points d'observation et les angles Θ et Φ définissent leur direction. On considère que toutes les dimensions possèdent des limites de définition. Chaque cellule de vue contient les informations de visibilité pour des points d'observation P (X tel que x1 ≤X<x2, Y tel que y1≤Y<y2, Z tel que z1 ≤Z<z2) et pour des directions d'observations pour lesquelles les angles Φ et Θ sont tels que Φ1 <Φ<Φ2 et Θ1 <Θ<Θ2 , x1 , x2, y1 , y2, z1 , z2, Φ1 , Φ2, Θ1 et Θ2 étant les limites de la cellule de vue. La base BD contient comme données de visibilité DV, outre les cellules i et les objets OBJ, des listes LOPV(i) d'objets potentiellement visibles depuis chaque cellule i, également pré - calculées.In FIG. 11, a third dimension is added to the view cells of the example given previously, by calculating the visibility information for different heights of observation points along the z axis. In this case, the view cell contains observation points of dimension 3, since the visibility information will be different depending on the height of the points in the observation space. View cells are presented as a stack of prisms. The lowest view cell C1 (corresponding to the lowest prism) will give visibility for altitudes below the height h1 of the latter, and the view cell C2 (corresponding to the highest prism) located above cell C1 will give visibility for altitudes above the height h1. In Figure 12 is shown the five-dimensional coordinate system of a view cell 5D. In the article by C. Gotsman, O. Sudarsky, J. Fayman, "Optimized Occlusion Culling Using Five-Dimensional Subdivision", Computer Graphics, 23 (5): 645-654, 1999, mentioned above, in the section 3 of the fourth page, the authors consider a space of sight (space of all the rays of view possible) to 5 dimensions: the three dimensions (x, y, z) define the origin of the observation points and the angles Θ and Φ define their direction. All dimensions are considered to have definition limits. Each view cell contains the visibility information for observation points P (X such that x1 ≤X <x2, Y such that y1≤Y <y2, Z such that z1 ≤Z <z2) and for directions of visibility. observations for which the angles Φ and Θ are such that Φ1 <Φ <Φ2 and Θ1 <Θ <Θ2, x1, x2, y1, y2, z1, z2, Φ1, Φ2, Θ1 and Θ2 being the boundaries of the view cell . The base BD contains as visibility data DV, in addition to the cells i and the OBJ objects, lists LOPV (i) potentially visible objects from each cell i, also pre - calculated.
Ce calcul a été effectué par exemple à l'aide de la méthode de Peter Wonka, Michael Wimmer, Dieter Schmalstieg, selon l'article « Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs », Proceedings of Eurographic Rendering Workshop, 2000.This calculation was done for example using the method of Peter Wonka, Michael Wimmer, Dieter Schmalstieg, according to the article "Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs", Proceedings of Eurographic Rendering Workshop, 2000.
Suivant l'invention, pour obtenir les listes LOPV(i) d'objets potentiellement visibles depuis chaque cellule i, on calcule pour chaque cellule la carte des hauteurs minimum visibles des objets par rapport à cette cellule. Cette carte est obtenue par un quadrillage de la surface au sol occupée par la scène et contenant pour chaque rectangle r la hauteur minimum Hmin(r) dans tout le rectangle par rapport à la cellule. Cette carte garantit que si un objet se trouve entièrement inclus dans un rectangle r et que si sa hauteur est inférieure à Hmin(r), alors l'objet ne sera pas vu depuis la cellule. Cette carte est représentée à l'aide d'une matrice bidimensionnelle, appelée matrice de visibilité MV. Puis, on vérifie si chaque objet est ou n'est pas potentiellement visible, en comparant la hauteur maximum de l'objet aux hauteurs minima Hmin(r) des rectangles ayant une intersection avec l'empreinte EMPR au sol de l'objet. Les objets qui ne sont pas totalement cachés sont ajoutés à la liste LOPV des objets potentiellement visibles de la cellule. Pour un point d'observation, la matrice MV des hauteurs minimaAccording to the invention, to obtain LOPV (i) lists of potentially visible objects from each cell i, for each cell the map of the minimum visible heights of the objects with respect to this cell is calculated. This map is obtained by a grid of the floor area occupied by the scene and containing for each rectangle r the minimum height Hmin (r) in all the rectangle with respect to the cell. This card ensures that if an object is fully enclosed in a rectangle r and if its height is less than Hmin (r), then the object will not be seen from the cell. This map is represented using a two-dimensional matrix, called MV visibility matrix. Then, we check if each object is or is not potentially visible, by comparing the maximum height of the object at the minimum heights Hmin (r) of the rectangles intersecting with the ground EMPR footprint of the object. Objects that are not completely hidden are added to the LOPV list of potentially visible objects in the cell. For an observation point, the MV matrix of the minimum heights
Hmin(r) est calculée de la manière suivante.Hmin (r) is calculated as follows.
Soit un point d'observation et soit une façade d'un bâtiment (cas particulier d'un objet) modélisée par un rectangle perpendiculaire au sol, alors on appelle volume OMB d'ombre la pyramide tronquée définie entre les quatre demi-droites passant par le point P d'observation et les quatre sommets de la façade, ainsi que cela est représenté à la figure 4. Ce volume OMB d'ombre garantit que tout objet entièrement contenu dans ce volume tridimensionnel OMB n'est pas visible depuis le point P d'observation. La façade est alors appelée façade occultante. La matrice MV des hauteurs minima Hmin(r) pour le point P d'observation se déduit de la hauteur des volumes d'ombres en chaque rectangle r de la matrice. A la figure 4, les rectangles grisés représentent les volumes d'ombre OMB engendrés par les deux façades 01 et 02. Ainsi, dans l'exemple des deux façades 01 et 02 de la figure 4, le rectangle r1 situé en dehors des volumes OMB aura une hauteur minimum Hmin(r1) nulle au-dessus de l'altitude propre du rectangle r1 , tandis que le rectangle r2 situé dans le volume OMB d'ombre engendré par la façade 01 aura une hauteur minimum Hmin(r2), qui sera plus grande que zéro au-dessus de l'altitude propre du rectangle r2 et qui passera au-dessus de la pyramide du volume d'ombre de 01 et qui pourra être calculée à partir de la position et de la forme définies de cette pyramide.Either a point of observation and a facade of a building (special case of an object) modeled by a rectangle perpendicular to the ground, then the shadow OMB volume is called the truncated pyramid defined between the four half-lines passing through the observation point P and the four vertices of the facade, as shown in FIG. 4. This shadow OMB volume ensures that any object entirely contained in this three-dimensional volume OMB is not visible from the point P observation. The facade is then called blackout facade. The matrix MV of the minimum heights Hmin (r) for the observation point P is deduced from the height of the shadow volumes in each rectangle r of the matrix. In FIG. 4, the shaded rectangles represent the shadow volumes OMB generated by the two facades 01 and 02. Thus, in the example of the two facades 01 and 02 of FIG. 4, the rectangle r1 located outside the OMB volumes will have a minimum height Hmin (r1) zero above the proper altitude of the rectangle r1, while the rectangle r2 located in the shadow OMB volume generated by the facade 01 will have a minimum height Hmin (r2), which will be greater than zero above the proper altitude of the rectangle r2 and which will pass over the pyramid of the shadow volume of 01 and which can be calculated from the defined position and shape of this pyramid.
Puis, la fonction Hmin(r) pour la cellule sera donnée parThen, the function Hmin (r) for the cell will be given by
Hmin(r) = min { Hp(r), p appartenant à PE},Hmin (r) = min {H p (r), p belonging to PE},
PE étant l'ensemble des points d'échantillonnage pris sur les arêtes de la face supérieure de la cellule, Hp(r) = max { HPi0(r), o appartenant à FO} étant la fonction représentant la hauteur minimum visible depuis le rectangle r par rapport au point d'observation P,PE being the set of sampling points taken on the edges of the upper face of the cell, H p (r) = max {H Pi0 (r), o belonging to FO} being the function representing the minimum height visible from the rectangle r with respect to the observation point P,
FO représentant l'ensemble des façades occultantes, HPi0(r) étant la fonction représentant la hauteur minimum visible depuis le rectangle r par rapport au point d'observation P et en ne prenant en compte que la façade occultante o.FO representing the set of occulting facades, H Pi0 (r) being the function representing the minimum height visible from the rectangle r with respect to the observation point P and taking into account only the occulting facade o.
La matrice MV des hauteurs minima Hmin(r) permet de calculer un horizon HV de visibilité, ainsi que cela est représenté à la figure 5. Cet horizon HV de visibilité est défini par exemple autour de la matrice de visibilité MV. Cet horizon HV de visibilité assure que tout objet extérieur à la zone recouverte par la matrice de visibilité MV et qui se projette sous l'horizon HV de visibilité depuis la boîte Bi englobant la cellule i n'est pas vu depuis cette cellule i, ainsi que cela est le cas à la figure 5 pour l'objet OBJ 1 ayant la projection POBJ 1 sous l'horizon HV par rapport à la boîte Bi.The MV matrix of the minimum heights Hmin (r) makes it possible to calculate an HV horizon of visibility, as is shown in FIG. 5. This horizon HV of visibility is defined for example around the visibility matrix MV. This visibility horizon HV ensures that any object outside the area covered by the visibility matrix MV and which projects below the visibility horizon HV from the box Bi enclosing the cell i is not seen from this cell i, and that this is the case in FIG. 5 for the object OBJ 1 having the projection POBJ 1 under the horizon HV with respect to the box Bi.
Les listes LOPV(i) d'objets potentiellement visibles depuis les cellules i sont représentées dans la base BD par une première matrice Mnp de visibilité à n lignes et p colonnes d'élément booléens de valeur logique 1 ouThe lists LOPV (i) of potentially visible objects from the cells i are represented in the database BD by a first matrix Mnp of visibility with n lines and p columns of boolean element of logical value 1 or
0, dont chaque ligne correspond à une cellule i déterminée et dont chaque colonne j correspond à un objet OBJ déterminé, avec0, each line of which corresponds to a determined cell i and each column j corresponds to a determined OBJ object, with
Mnp = (a,, j)i≤I≤n, i≤j≤p, et a,, , = 1 si l'objet j est potentiellement visible depuis la cellule i et appartient donc à la liste LOPV(i), a,,j = 0 si l'objet j n'est pas potentiellement visible depuis la cellule i et n'appartient donc pas à la liste LOPV(i), n, p, i, j étant des entiers naturels.Mnp = (a ,, j) i ≤ i ≤ n, i≤j≤p, and ,,, = 1 if j object is potentially visible from the cell i and therefore belongs to the list LOPV (i) a ,, j = 0 if the object j is not potentially visible from the cell i and therefore does not belong to the list LOPV (i), n, p, i, j being natural numbers.
L'invention prévoit des moyens pour compresser automatiquement dans le serveur SERV cette matrice Mnp de visibilité de la base BD, par exemple par le calculateur CAL. Ci-dessous est décrit un mode de réalisation du procédé de compression des données de visibilité, permettant de réduire la taille de la matrice de visibilité. Suivant une caractéristique de l'invention, on ordonne, au cours d'une étape E7, les lignes i de la matrice de visibilité Mnp de manière à augmenter la cohérence ou à avoir le plus de cohérence possible entre les rangées voisines, pour appliquer ensuite au cours d'une étape E8 un codage d'image numérique à la matrice de visibilité ainsi modifiée, les 1 et les 0 de la matrice de visibilité formant alors les pixels de l'image numérique pour le codage. Le calculateur CAL du serveur SERV comporte à cet effet un codeur correspondant. Il est ainsi formé dans la matrice de visibilité, par déplacement de ses lignes, des zones pleines de 1 et des zones pleines de 0, à la manière d'une image numérique en noir et blanc, dont le noir serait représenté par 0 et le blanc par 1.The invention provides means for automatically compressing in the server SERV this matrix Mnp of visibility of the base BD, for example by the calculator CAL. Below is an embodiment of the method of compressing the visibility data, making it possible to reduce the size of the visibility matrix. According to a characteristic of the invention, during a step E7, the lines i of the visibility matrix Mnp are ordered so as to increase the coherence or to have as much coherence as possible between the neighboring rows, to then apply during a step E8 a digital image coding to the thus modified visibility matrix, the 1 and 0 of the visibility matrix then forming the pixels of the digital image for coding. The CAL calculator of the SERV server has for this purpose a corresponding encoder. It is thus formed in the matrix of visibility, by displacement of its lines, zones full of 1 and zones full of 0, in the manner of a digital image in black and white, whose black would be represented by 0 and the white by 1.
Pour effectuer l'étape E7, on détecte si des lignes i de la matrice de visibilité ont un nombre important d'éléments communs (nombre de 0 et de 1 communs). La détection de lignes semblables est exécutée par exemple en appliquant l'opérateur OU exclusif (XOR) à des ou à toutes les combinaisons possibles de deux lignes de la matrice. Les deux lignes il et i2 auront un grand nombre d'éléments communs si (i1)XOR(i2) possède un grand nombre de 0. Dans ce cas, si les deux lignes il et i2 détectées comme ayant un grand nombre d'éléments communs ont entre elles une ou plusieurs lignes ayant un moins grand nombre d'éléments communs avec la ligne il , on permute des lignes de la matrice pour faire se suivre ces lignes il et i2. Par exemple, la détection d'éléments communs est exécutée pour chaque ligne successivement avec chaque ligne suivante de la matrice. On regroupe ainsi les lignes ayant le plus de points communs. La matrice de visibilité ainsi modifiée sera alors codée selon un codage d'image numérique. Le codage effectué pourrait être tout autre codage tenant compte du contenu de la chose à coder et peut être adaptatif.To perform step E7, it is detected whether lines i of the visibility matrix have a large number of common elements (number of 0 and 1 common). The detection of similar lines is performed for example by applying the exclusive OR operator (XOR) to any or all possible combinations of two rows of the matrix. The two lines il and i2 will have a large number of common elements if (i1) XOR (i2) has a large number of 0. In this case, if the two lines il and i2 are detected as having a large number of common elements have between them one or more lines having a smaller number of common elements with the line il, one permutes lines of the matrix to make follow these lines it and i2. For example, the detection of common elements is executed for each line successively with each subsequent row of the matrix. We group together the lines with the most common points. The visibility matrix thus modified will then be coded according to a digital image coding. The coding performed could be any other coding taking into account the contents of the thing to be coded and can be adaptive.
En ce qui concerne le codage d'image numérique, les images numériques ont habituellement une certaine continuité entre les lignes voisines, due au fait qu'une même zone monocolore de l'image est le plus souvent représentée par des pixels de lignes voisines, ayant sensiblement la même valeur. Ce codage d'image numérique est appliqué à Ia matrice de visibilité, qui ne code pas en soi une image mais des données formées par des listes d'objets potentiellement visibles LOPV(i). Les éléments booléens de la matrice formeront alors les pixels ne pouvant avoir que le niveau 1 ou le niveau 0, auxquels le codage d'image numérique sera appliqué.With respect to digital image coding, digital images usually have some continuity between neighboring lines, due to the fact that the same single-color area of the image is most often represented by pixels of neighboring lines having sensibly the same value. This digital image coding is applied to the visibility matrix, which does not code in itself an image but data formed by lists of potentially visible objects LOPV (i). The Boolean elements of the matrix will then form the pixels that can only have level 1 or level 0, to which the digital image coding will be applied.
Ce codage d'image numérique n'a rien à voir avec l'image devant être affichée sur l'écran ECR du poste CL de l'utilisateur, image pouvant être ou ne pas être numérique, mais produira un code I de données de visibilité ou code I de pseudo - image numérique, étant donné qu'il n'est pas appliqué à une image numérique.This digital image coding has nothing to do with the image to be displayed on the ECR screen of the user's CL station, which image may or may not be digital, but will produce a visibility data code I or Pseudo - digital image code I, since it is not applied to a digital image.
Ce codage d'image numérique est par exemple du type JBIG (en anglais « Joint Bi-Level Image experts Group), conçu pour des images noir et blanc et sans perte. Le codage JBIG tient en effet compte du contenu de l'image à coder et fait intervenir un codeur arithmétique adaptatif utilisé pour prédire et coder les données courantes en fonction des données précédemment codées. Le codeur JBIG modélise la redondance dans l'image à coder, en considérant la corrélation des pixels en cours de codage avec un ensemble de pixels appelés gabarit. Un gabarit pourrait être par exemple les 2 pixels précédents dans la ligne et les 5 pixels centrés au-dessus du pixel courant dans la ligne du dessus. Le codage JBIG peut utiliser des gabarits adaptatifs encore plus précis, ainsi qu'un codeur arithmétique couplé à un estimateur probabiliste, très performants.This digital image coding is, for example, of the JBIG (Joint Bi-Level Image Experts Group) type, designed for black and white and lossless images. The JBIG coding takes into account the content of the image to be encoded and involves an adaptive arithmetic coder used to predict and encode the current data according to the previously coded data. The JBIG coder models the redundancy in the image to be encoded, by considering the correlation of the pixels being coded with a set of pixels called templates. A template could be for example the 2 previous pixels in the line and the 5 pixels centered above the current pixel in the top line. JBIG coding can use even more precise adaptive templates, as well as an arithmetic encoder coupled to a high-performance probabilistic estimator.
En variante, le codage effectué pourrait être du type PNG (en anglais : « Portable Network Graphics »), qui est prévu pour les formats graphiques et est spécialement conçu pour le réseau Internet.In a variant, the coding performed could be of PNG type ("Portable Network Graphics"), which is intended for graphic formats and is specifically designed for the Internet network.
L'étape E7 de mise en ordre des lignes peut être effectuée directement sur la matrice Mnp de visibilité ou sur une matrice Msr différente de la matrice Mnp de visibilité et ayant été obtenue à partir de celle-ci, ainsi qu'on le verra dans le mode de réalisation du procédé, décrit ci-dessous en référence à la figure 6.The row ordering step E7 can be performed directly on the visibility matrix Mnp or on a matrix Msr different from the visibility matrix Mnp and obtained from it, as will be seen in FIG. the embodiment of the method, described below with reference to FIG.
Dans ce mode de réalisation du procédé, exécuté automatiquement dans le serveur SERV, après une première étape E1 de départ, au cours de laquelle on forme la matrice Mnp de visibilité, une deuxième étape E2 est exécutée, au cours de laquelle on décompose la scène SC en régions R. Ces régions R couvrent donc l'espace EO d'observation et les objets OBJ, ainsi que cela est représenté à la figure 7 pour la même scène SC qu'à la figure 3. Les régions R sont globalement de taille plus importante que les cellules, de manière que pratiquement chaque région R couvre au moins partiellement plusieurs cellules. Les régions R ont par exemple toutes la même forme, indépendamment de la scène SC, et sont notamment à la figure 7 des pavés rectangulaires. Ces pavés rectangulaires R ont par exemple, ainsi que cela est représenté à la figure 7, leurs côtés parallèles à la boîte englobant la scène et forment par élévation verticale des pavés parallélépipédiques. A la figure 7, les traits forts LIMR représentent les limites des pavés rectangulaires R et sont donc formés par des segments rectilignes formant leurs côtés. Les coordonnées des régions R sont enregistrées dans la base BD.In this embodiment of the method, automatically executed in the server SERV, after a first step E1 of departure, during which is formed the visibility matrix Mnp, a second step E2 is executed, during which the scene SC is broken down into regions R. These regions R therefore cover the observation space EO and the objects OBJ, as this is shown in Figure 7 for the same SC scene as in Figure 3. The R regions are generally larger in size than the cells, so that substantially each R region at least partially covers several cells. The regions R have for example all the same shape, independently of the SC scene, and are in particular in Figure 7 of the rectangular blocks. These rectangular blocks R have for example, as shown in Figure 7, their sides parallel to the box encompassing the scene and form vertical elevation of parallelepiped blocks. In FIG. 7, the strong lines LIMR represent the limits of the rectangular blocks R and are thus formed by rectilinear segments forming their sides. The coordinates of the regions R are recorded in the database BD.
Puis au cours d'une étape E3, on détermine la région R à laquelle appartient le point P d'observation correspondant à l'information INFP de position contenue dans la requête REQV. Cette région sera appelée région RP d'observation dans la suite. Par exemple, si xP et yP représentent l'abscisse et l'ordonnée du point P en coordonnées cartésiennes dans un plan horizontal suivant deux axes x et y parallèles aux côtés des pavés R rectangulaires dans l'exemple de la figure 7, les coordonnées (xminRP, xmax RP, yminRP, ymaxRP) du pavé RP seront déterminées par comparaison avec (xP, yP) selon xminRP ≤ xP ≤ xmax RP, et yminRP ≤ yP < ymaxRP.Then, during a step E3, the region R to which the observation point P corresponds to the position INFP information contained in the REQV request is determined. This region will be called the PR region of observation in the following. For example, if xP and yP represent the abscissa and the ordinate of the point P in Cartesian coordinates in a horizontal plane along two x and y axes parallel to the rectangular R blocks in the example of FIG. 7, the coordinates ( xminRP, xmax RP, yminRP, ymaxRP) of the block RP will be determined by comparison with (xP, yP) according to xminRP ≤ xP ≤ xmax RP, and yminRP ≤ yP <ymaxRP.
Il est ensuite déterminé au cours de l'étape E3 à partir des coordonnées des cellules i et des coordonnées de la région RP d'observation, les cellules, appelées iRP, ayant une intersection non nulle avec la région RP du point P, qui sont par exemple au nombre de m, m étant inférieur ou égal à n. On forme ensuite à partir de la première matrice de visibilité Mnp une deuxième matrice de visibilité Mmp ayant m lignes formées par les cellules de Mnp corespondant aux m cellules iRP de la région RP et les p colonnes de Mnp. Par conséquent, la matrice Mmp sera de taille bien inférieure à celle de la matrice Mnp.It is then determined in step E3 from the coordinates of the cells i and the coordinates of the observation RP region, the cells, called iRP, having a non-zero intersection with the RP region of the point P, which are for example, the number of m, m being less than or equal to n. A second visibility matrix Mmp is then formed from the first visibility matrix Mnp having m lines formed by the Mnp cells corresponding to the m RP-cells of the RP region and the p columns of Mnp. As a result, the Mmp matrix will be much smaller in size than the Mnp matrix.
Puis, au cours d'une quatrième étape E4, on détermine une liste Tp des objets OBJ visibles de la région RP d'observation à partir de la deuxième matrice Mmp. Ainsi, un objet j visible depuis l'une des cellules iRP (correspondant à un 1 dans la ligne pour cet objet) appartiendra à cette liste Tp. Cette liste Tp est obtenue par exemple en faisant la somme logique par un opérateur OU logique des lignes de Mmp. Cette liste Tp est par exemple formée d'une table des objets dans la région RP, de p bits, dont chaque bit j est égal à 1 lorsque un ou plusieurs 1 sont présents dans la colonne j de Mmp (objet j visible de l'une ou plusieurs des cellules iRp) et dont chaque bit j est égal à 0 lorsque la colonne j de Mmp ne comporte que des 0 (objet j non visible des cellules iRp). Au cours de l'étape suivante E5 de réduction de taille de matrice, on supprime de la deuxième matrice Mmp déterminée à l'étape E3 les colonnes j formées seulement de 0, qui correspondent à des objets non visibles depuis la région RP du point P d'observation pour obtenir une troisième matrice de visibilité Mmr, où r ≤ p. En outre, on repère la position des colonnes supprimées. Les colonnes j formées de 0 sont détectées par exemple comme étant positionnées à une valeur 0 en la j-ième position de la liste Tp des objets OBJ visibles de la région RP selon le mécanisme indiqué ci-dessous pour l'exemple d'une matrice Mmp à m=6 lignes et p=10 colonnes, ayant les identifiants de lignes 1 , 2, 3, 4, 5, 6 de haut en bas :Then, during a fourth step E4, a list Tp of the visible OBJ objects of the observation RP region is determined from the second matrix Mmp. Thus, an object j visible from one of the iRP cells (corresponding to a 1 in the line for this object) will belong to this list Tp. This list Tp is obtained for example by making the logical sum by a logical OR operator of the lines of Mmp. This list Tp is for example formed of a table of objects in the RP region, of p bits, of which each bit j is equal to 1 when one or more 1 are present in the column j of Mmp (visible object j of one or more cells iRp) and each bit j is equal to 0 when the column j of Mmp has only 0 (object j not visible iRp cells). During the next matrix size reduction step E5, the columns j formed only of 0, which correspond to non-visible objects from the RP region of the point P, are removed from the second matrix Mmp determined in step E3. observation to obtain a third visibility matrix Mmr, where r ≤ p. In addition, the position of the deleted columns is identified. The columns j formed of 0 are detected for example as being positioned at a value 0 in the jth position of the list Tp of the visible OBJ objects of the region RP according to the mechanism indicated below for the example of a matrix Mmp at m = 6 rows and p = 10 columns, with the identifiers of lines 1, 2, 3, 4, 5, 6 from top to bottom:
pour laquelle la liste Tp sera donc égale à for which the Tp list will be equal to
et la troisième matrice de visibilité Mmr, sera égale, avec m=6 et r=4, àand the third visibility matrix Mmr, will be equal, with m = 6 and r = 4, to
Les colonnes supprimées sont repérées par la position des 0 dans la liste Tp des objets OBJ visibles de la région RP, soit pour j=1 , 2, 4, 7, 8, 9. Au cours de l'étape suivante E6 de réduction de taille de matrice, on recherche si la troisième matrice de visibilité Mmr possède des lignes iRP identiques. Si au moins deux lignes i3 et i4 sont identiques, une seule i3 de celles-ci sera conservée dans une quatrième matrice Msr de visibilité obtenue à partir de la troisième matrice de visibilité Mmr, avec s ≤ m. On détermine les groupes GR=(i3, i4) de lignes identiques par exemple en appliquant l'opérateur OU exclusif (XOR) à toutes les combinaisons possibles de deux lignes de Mmr. Les deux lignes i3 et i4 seront identiques si (i3)XOR(i4) est une ligne de 0.The deleted columns are marked by the position of the 0s in the list Tp of the visible OBJ objects of the region RP, ie for j = 1, 2, 4, 7, 8, 9. In the following step E6 of reduction of matrix size, we search if the third visibility matrix Mmr has identical iRP lines. If at least two lines i3 and i4 are identical, only one i3 of these will be kept in a fourth visibility matrix Msr obtained from the third visibility matrix Mmr, with s ≤ m. Groups GR = (i3, i4) of identical lines are determined for example by applying the exclusive OR operator (XOR) to all possible combinations of two lines of Mmr. The two lines i3 and i4 will be identical if (i3) XOR (i4) is a line of 0.
On calcule en outre le nombre NGR de groupes GR de lignes identiques de la troisième matrice de visibilité Mmr.In addition, the number NGR of groups GR of identical lines of the third visibility matrix Mmr is calculated.
On calcule également pour chaque groupe GR de lignes iRP identiques, une donnée DGR de groupe, composée du nombre t de lignes identiques i3=i4 du groupe GR, suivi de la liste LID des identifiants i3, i4 (identifiants iRP) des lignes identiques du groupe GR. Ainsi que cela est représenté à Ia figure 8, le nombre NGR de groupes de lignes iRP identiques est par exemple codé sur 8 bits, chaque nombre t de lignes identiques de chaque donnée DGR de groupe est codé sur 8 bits et chaque liste LID des identifiants i3, i4 des lignes identiques du groupe GR est codée sur t*k bits, où k est un nombre de bits fixé pour coder un identifiant i3 ou i4 de ligne ou de cellule. Les données DGR sont codées l'une à la suite de l'autre. Le passage d'une première donnée DGR1 d'un premier groupe GR1 à une deuxième donnée DGR2 d'un deuxième groupe GR2, suivant la première donnée DGR1 , sera décodé par le fait qu'il n'est attendu après le nombre t1 de lignes identiques de DGR1 , long de 8 bits, que t1 *k bits pour la liste LID1 des identifiants des lignes identiques du groupe GR1 et qu'après ces t1*k bits commence le nombre t2 de lignes identiques de DGR2, long de 8 bits, suivi des t2*kbits de la liste LID2 des identifiants des lignes identiques de DG R2, t2 étant le nombre de lignes identiques de DGR2.For each group GR of identical iRP lines, a group DGR datum composed of the number t of identical lines i3 = i4 of the group GR is also calculated, followed by the list LID of the identifiers i3, i4 (iRP identifiers) of the identical lines of the group. GR group. As shown in FIG. 8, the number NGR of identical iRP line groups is for example coded on 8 bits, each number t of identical lines of each group DGR data is coded on 8 bits and each list LID of the identifiers i3, i4 identical lines of the group GR is coded on t * k bits, where k is a number of bits set to encode an identifier i3 or i4 of line or cell. The DGR data is coded one after the other. The passage of a first datum DGR1 from a first group GR1 to a second datum DGR2 of a second group GR2, according to the first datum DGR1, will be decoded by the fact that it is not expected after the number t1 of lines identical to DGR1, 8 bits long, than t1 * k bits for the list LID1 identifiers of the identical lines of the GR1 group and after these t1 * k bits begins the number t2 of identical lines of DGR2, 8 bits long, tracking the t2 * kbits of the list LID2 identifiers identical lines of DG R2, t2 being the number of identical rows of DGR2.
Dans l'exemple précédent, on aura donc : NGR = 2,In the previous example, we will have: NGR = 2,
DGR = (2, 1 , 5, 2, 3, 6) pour DGR1 = (2, 1 , 5) avec t1 = 2, LID1 = 1 , 5 (première et cinquième lignes de Mmr identiques) etDGR = (2, 1, 5, 2, 3, 6) for DGR1 = (2, 1, 5) with t1 = 2, LID1 = 1.5 (first and fifth identical Mmr lines) and
DGR2 = (2, 3, 6) avec t2 = 2, LID2 = 3, 6 (troisième et sixième lignes de Mmr identiques), etDGR2 = (2, 3, 6) with t2 = 2, LID2 = 3.6 (third and sixth lines of identical Mmr), and
Msr égale, avec s=4 et r=4 et en ayant supprimé les lignes 1 et 6 de Mmr et en conservant les lignes d'identifiants 2, 3, 4, 5 de haut en bas, àMsr equals, with s = 4 and r = 4 and having removed lines 1 and 6 from Mmr and keeping the lines of identifiers 2, 3, 4, 5 from top to bottom, to
On exécute ensuite l'étape E7 de mise en ordre des lignes décrite ci- dessus sur la quatrième matrice Msr de visibilité pour obtenir la cinquième matrice de visibilité M'sr et l'étape E8 de codage d'image numérique décrite ci-dessus sur la cinquième matrice de visibilité M'sr, pour obtenir le code I de pseudo - image numérique. Cette cinquième matrice de visibilité M'sr est appelée matrice M'sr de visibilité modifiée par rapport à la première matrice Mnp de visibilité d'origine.Then executes the row ordering step E7 described above on the fourth visibility matrix Msr to obtain the fifth M'sr visibility matrix and the digital image coding step E8 described above on the fifth visibility matrix M'sr, to obtain the pseudo-digital image code I. This fifth visibility matrix M'sr is called the visibility matrix M'sr modified compared to the first matrix Mnp of visibility of origin.
Les s identifiants iRP des lignes il , i2 se suivant de la cinquième matrice M'sr de visibilité sont enregistrés, dans leur ordre d'apparition (par exemple de haut en bas) dans cette cinquième matrice M'sr, dans une liste LIOC, appelée liste des identifiants M , i2 des cellules ordonnées pour le codage d'image numérique de la cinquième matrice M'sr ou liste LIOC des identifiants il , i2 des cellules de la matrice de visibilité modifiée M'sr. Cette liste LIOC des identifiants des cellules ordonnées est distincte des listes LID des cellules identiques des groupes GR. La liste LIOC des identifiants des cellules ordonnées est codée sur s*k bits, où k est un nombre de bits fixé pour coder un identifiant M ou i2 de ligne ou de cellule.The iRP identifiers of lines il, i2 following the fifth matrix M'sr of visibility are recorded, in their order of appearance (for example from top to bottom) in this fifth matrix M'sr, in a list LIOC, called list of identifiers M, i2 ordered cells for the digital image coding of the fifth matrix M'sr or list LIOC identifiers il, i2 cells of the modified visibility matrix M'sr. This LIOC list of the identifiers of the ordered cells is distinct from the LID lists of the identical cells of the GR groups. The LIOC list of the identifiers of the ordered cells is coded on s * k bits, where k is a fixed number of bits to encode an identifier M or i2 of line or cell.
L'étape E7 appliquée à la matrice Msr de l'exemple ci-dessus, donnera par exemple la matrice de visibilité M'srThe step E7 applied to the matrix Msr of the example above, will give for example the visibility matrix M'sr
soit de haut en bas l'ordre des identifiants 3, 5, 4, 2 des lignes 2, 3, 4, 5 de Mmp, Mmr et Msr. On aura donc LIOC = (3, 5, 4, 2).from top to bottom the order of identifiers 3, 5, 4, 2 of lines 2, 3, 4, 5 of Mmp, Mmr and Msr. We will have LIOC = (3, 5, 4, 2).
Cette matrice M'sr comporte la zone pleine de 1 suivante :This matrix M'sr has the following solid zone of 1:
Les étapes E3, E4, E5, E6, E7, E8, E9 sont exécutées pour chaque point P d'observation indiqué dans la requête REQV et pour chaque région RP d'appartenance du point P d'observation, ayant été déterminée. Le cas échéant, l'ordre des étapes E5 et E6 peut être permuté.Steps E3, E4, E5, E6, E7, E8, E9 are executed for each observation point P indicated in the REQV request and for each region RP of membership of the observation point P, having been determined. If necessary, the order of steps E5 and E6 can be switched.
Les données DE de Ia réponse RV comprennent, à la figure 1 , des données DVE de visibilité proprement dites et des données DGE géométriques de la base BD, égales aux données DVOBJ concernant les objets OBJ visibles depuis la région RP d'observation. Ces données DGE sont sélectionnées par le calculateur CAL du serveur SERV dans les données DVOBJ de la base BD par exemple au cours de l'étape E4 ou E5, en utilisant la liste Tp des objets OBJ visibles de la région RP. Les données DVE de visibilité sont déterminées par le calculateurThe data DE of the response RV comprises, in FIG. 1, visibility DVE data proper and geometric DGE data of the database BD, equal to the DVOBJ data concerning the OBJ objects visible from the observation RP region. This DGE data is selected by the server SERV calculator CAL in the data BDOBJ BD base for example during step E4 or E5, using the Tp list of OBJ objects visible from the region RP. DVE visibility data is determined by the calculator
CAL du serveur SERV après l'étape E8 de codage et comprennent, à la figure 8,CAL of the SERV server after the encoding step E8 and comprise, in FIG.
- la liste Tp des objets OBJ visibles de la région RP du point P d'observation, - le nombre NGR de groupes GR de lignes identiques,the list Tp of the OBJ objects visible from the RP region of the observation point P, the number NGR of groups GR of identical lines,
- les données DGR(t, LID) de groupes de lignes identiques,the DGR data (t, LID) of groups of identical lines,
- la liste LIOC des identifiants M , \2 des cellules ordonnées pour le codage d'image numérique de la cinquième matrice M'sr,the list LIOC of the identifiers M, \ 2 of the ordered cells for the digital image coding of the fifth matrix M'sr,
- le code I de pseudo - image numérique, égal à la cinquième matrice M'sr codée par le codage d'image numérique par l'étape E8.the pseudo-digital image code I, equal to the fifth matrix M'sr encoded by the digital image coding by the step E8.
Sont indiqués dans le tableau ci-dessous des résultats de tests du procédé de compression décrit ci-dessus. Ces tests ont été effectués sur une base BD décrivant une ville virtuelle de 5750 objets et 29153 cellules de vue.The following table shows the test results of the compression process described above. These tests were carried out on a BD database describing a virtual city of 5750 objects and 29153 cells of view.
On voit donc que le procédé suivant l'invention permet une compression sans pertes des données de visibilité, selon le test 2, plus importante que le codage sans pertes effectué selon le test 1 à partir d'un codage sans pertes de l'état de la technique.It can thus be seen that the method according to the invention allows a lossless compression of the visibility data, according to the test 2, more important than the lossless coding performed according to the test 1 from a lossless coding of the state of the technique.
Le poste CL de l'utilisateur ayant reçu la réponse RV contenant les données DVE de visibilité met en œuvre un procédé de décompression des données DVE de visibilité, ainsi que cela est représenté à la figure 9. Le poste CL comprend à cet effet des moyens pour décompresser automatiquement les données DVE, par exemple par un calculateur CAL2.The CL station of the user having received the response RV containing the visibility data DVE implements a method of decompression of the visibility data DVE, as is represented in FIG. 9. The station CL comprises for this purpose means to automatically decompress the DVE data, for example by a calculator CAL2.
Ci-dessous est décrit en référence un mode de réalisation du procédé de compression des données DVE de visibilité, permettant d'obtenir la deuxième matrice Mmp de visibilité de la région RP d'observation pour chaque réponse RV reçue, associée à une requête REQV(INFP) précédente. Ce mode de réalisation est par exemple mis en œuvre dans un décodeur du calculateur CAL2.The following is described with reference to an embodiment of the method of compressing visibility data DVE, making it possible to obtain the second visibility matrix Mmp of the observation region RP for each received response RV, associated with a request REQV ( INFP) previous. This embodiment is for example implemented in a decoder of the calculator CAL2.
Le poste CL ayant en mémoire le fait que la liste Tp des objets OBJ visibles de la région RP du point P d'observation est codée sur p bits, que le nombre NGR de groupes GR de lignes identiques est codé sur 8 bits, que les données DGR(t, LID) de groupes de lignes identiques, sont chacune codée sur 8 bits + t.k bits, et que la liste LIOC des identifiants des cellules il , i2 ordonnées est codée sur s*k bits, le poste CL extrait de la réponse RV reçue cette liste Tp, ce nombre NGR, ces données DGR(t, LID), cette liste LIOC et le code I de pseudo - image numérique et les enregistre dans sa base de données locale BL au cours d'une première étape E11 d'extraction. Sont également mémorisées dans la base de données locale BL, les données DGE des objets de la réponse RV.The station CL having in mind that the Tp list of OBJ objects visible from the RP region of the observation point P is coded on p bits, that the number NGR of groups GR of identical lines is coded on 8 bits, that the DGR data (t, LID) of groups of identical lines, are each encoded on 8 bits + tk bits, and that the list LIOC of the identifiers of the cells 11, i2 ordered is coded on s * k bits, the item CL extracted from the RV response received this list Tp, this number NGR, these data DGR (t, LID), this list LIOC and the code I pseudo - digital image and the records in its local database BL during a first extraction step E11. The DGE data of the objects of the response RV are also stored in the local database BL.
Au cours d'une deuxième étape E12 du procédé de décompression, on construit une sixième matrice booléenne MmpO ayant m lignes et p colonnes, m et p étant déterminés à partir des données DVE de la réponse RV, à savoir à partir de la liste Tp pour p et à partir des listes LID des identifiants i3, i4 de lignes identiques des groupes GR et de la liste LIOC des identifiants des cellules il , \2 ordonnées pour m.During a second step E12 of the decompression method, a sixth Boolean matrix MmpO is constructed having m rows and p columns, m and p being determined from the DVE data of the response RV, namely from the Tp list. for p and from the lists LID of the identifiers i3, i4 of identical lines of the groups GR and of the list LIOC of the identifiers of the cells il, \ 2 ordered for m.
Puis on déduit de la liste Tp les positions des colonnes devant être mises à 0 dans la matrice MmpO, qui sont localisées à l'endroit des 0 de cette liste Tp des objets visibles.Then we deduce from the list Tp the positions of the columns to be set to 0 in the matrix MmpO, which are located at the location of the 0 of this list Tp visible objects.
On obtiendra donc dans l'exemple précédent la matrice MmpO égale, pour m=6 et p=10, àIn the preceding example, we will obtain the matrix MmpO equal, for m = 6 and p = 10, to
Puis on décode dans le poste CL au cours de l'étape E13 le code I suivant un décodage d'image numérique, inverse de celui ayant servi au codage d'image numérique de l'étape E8 dans le serveur SERV, les caractéristiques de ce décodage étant présentes dans une mémoire du poste CL. Ce décodage produit donc la cinquième matrice M'sr de visibilité de l'étape E7.Then, in step E13, the code I is decoded in the station CL according to a digital image decoding, the reverse of that used for the digital image coding of the step E8 in the SERV server, the characteristics of this decoding being present in a memory of the station CL. This decoding therefore produces the fifth visibility matrix M'sr of step E7.
Au cours de l'étape suivante E14, on reporte les colonnes de la cinquième matrice M'sr de visibilité dans les colonnes vides de la sixième matrice MmpO, localisées aux endroits des 1 de la liste Tp des objets visibles, c'est-à-dire dans l'exemple précédent aux endroits non remplis par des colonnes de 0, pour obtenir une septième matrice MmpO'. Ce remplissage est effectué dans le même ordre pour les colonnes de la cinquième matrice M'sr et pour les colonnes vides de la sixième matrice MmpO. Etant donné que la cinquième matrice M'sr possède un moins grand nombre s de lignes que la sixième matrice MmpO, seules sont remplies dans la sixième matrice MmpO les s lignes venant en premier et provenant de M'sr,During the next step E14, the columns of the fifth matrix M'sr of visibility are transferred to the empty columns of the sixth matrix MmpO, located at the places of the 1s of the visible objects list Tp, that is, in the previous example, in places not filled by columns of 0, to obtain a seventh matrix MmpO '. This filling is done in the same order for the columns of the fifth matrix M'sr and for the empty columns of the sixth matrix MmpO. Since the fifth matrix M'sr has a smaller number of lines than the sixth matrix MmpO, only the first and second lines coming from M'sr are filled in the sixth matrix MmpO.
La liste LIOC des identifiants il , i2 des cellules ordonnées indique les identifiants des s premières lignes ainsi remplies de la septième matrice MmpO'. Ainsi, il n'est pas besoin d'effectuer les permutations inverses de celles effectuées à l'étape E7, étant donné que les identifiants des lignes remplies de MmpO sont connues par LIOC.The list LIOC of the identifiers il, i2 of the ordered cells indicates the identifiers of the first lines thus filled with the seventh matrix MmpO '. Thus, it is not necessary to perform the inverse permutations of those performed in step E7, since the identifiers of the filled lines of MmpO are known by LIOC.
L'étape E14 produira donc dans l'exemple précédent la septième matrice MmpO' suivante dans le poste CL, dans laquelle les 3 , 5 -ιeme 6ιeme et 10ιeme colonnes sont remplies par M'sr sur les s=4 premières lignes, correspondant d'après LIOC aux cellules 3, 5, 4, 2 de Mnp.Step E14 will therefore produce in the preceding example the seventh matrix MmpO 'following in the station CL, in which the 3, 5-th- sixth and 10 th columns are filled by M'sr on the first s = 4 lines, corresponding to LIOC at cells 3, 5, 4, 2 of Mnp.
 l'étape E15 suivante, on ajoute à la septième matrice MmpO' obtenue à l'étape E14, les lignes en double, définies par le nombre NGR de groupes de lignes identiques et les données DGR(t, LID) de groupes, pour obtenir une huitième matrice Mmp'. Les lignes ajoutées remplaceront les lignes non remplies de la septième matrice MmpO'. Les données DGR sont décodées de la manière indiquée ci-dessous à l'étape E6, en utilisant le nombre NGR de groupes de lignes identiques, et les nombre t de lignes identiques et les liste LID des identifiants des lignes identiques, contenus dans les données DGR.In the following step E15, the duplicate lines, defined by the number NGR of identical line groups and the data DGR (t, LID) of groups, are added to the seventh matrix MmpO 'obtained in step E14. get an eighth matrix Mmp '. The added lines will replace the unfilled lines of the seventh matrix MmpO '. The DGR data is decoded as follows in step E6, using the NGR number of identical line groups, and the number of lines. Identical LIDs and LIDs of identifiers of identical lines, contained in the DGR data.
Dans l'exemple précédent, seront donc rajoutées à la matrice Mmpo' pour former Mmp' une ligne d'identifiant 1 , égale à la ligne d'identifiant 5 de MrnpO', d'après DGR1 , et une ligne d'identifiant 6, égale à la ligne d'identifiant 3 de MmpO', d'après DGR2, soit les deux dernières lignes de la matrice Mmp' ci-dessous, ayant de bas en haut les cellules d'identifiant 3, 5, 4, 2, 1 , 6, qui correspond donc à Mmp :In the preceding example, will be added to the matrix Mmpo 'to form Mmp' a line of identifier 1, equal to the line of identifier 5 MrnpO ', according to DGR1, and a line of identifier 6, equal to the identifier line 3 of MmpO ', according to DGR2, ie the last two lines of the matrix Mmp' below, having from bottom to top the identifier cells 3, 5, 4, 2, 1 , 6, which corresponds to Mmp:
Le poste CL enregistre dans sa base de données locale la huitième matrice Mmp' obtenue par l'étape E15.The station CL stores in its local database the eighth matrix Mmp 'obtained by the step E15.
A l'étape suivante E16, le poste CL recherche à quelle cellule iRP de la huitième matrice Mmp' le point P d'observation appartient, à partir des coordonnées et identifiants des cellules i présentes dans la base de données locale BL et à partir de l'information INFP de position du point P d'observation, ayant été déterminée par le calculateur CAL2 pour l'envoi de la requête REQV précédente et ayant été mémorisée également dans la base de données locale BL avec cette requête REQV envoyée. La cellule i du point P ainsi trouvée aura alors par exemple l'identifiant iP dans la base BL locale.In the next step E16, the station CL searches to which iRP cell of the eighth matrix Mmp 'the observation point P belongs, from the coordinates and identifiers of the cells i present in the local database BL and from the INFP position information of the observation point P, having been determined by the calculator CAL2 for sending the previous REQV request and having also been stored in the local database BL with this REQV request sent. The cell i of the point P thus found will then for example have the identifier iP in the local base BL.
Le calculateur CAL2 détermine ensuite la position de la ligne correspondant à la cellule iP dans la huitième matrice Mmp' de la base BL, à partir de cet identifiant iP et à partir de la liste LIOC des identifiants des cellules M , Î2 ordonnées, enregistrée dans la base BL locale. La liste LOPV(iP) des objets visibles depuis le point P d'observation sera obtenue par le calculateur CAL2 en parcourant la ligne iP de la huitième matrice Mmp' de la base BL.The calculator CAL2 then determines the position of the line corresponding to the cell iP in the eighth matrix Mmp 'of the base BL, from this identifier iP and from the list LIOC of the identifiers of the cells M, λ2 ordinate, registered in the local BL base. The LOPV (iP) list of the objects visible from the observation point P will be obtained by the calculator CAL2 by traversing the line IP of the eighth matrix Mmp 'of the base BL.
Le poste CL exploitera ensuite lors de l'étape E17 la liste LOPV(iP) des objets visibles depuis le point P d'observation et les données DVOBJ des objets correspondants pour afficher sur l'écran ECR une image correspondante, qui représentera les objets OBJ vus depuis le point P d'observation, qui seront ceux définis par les données DVOBJ pour lesquels un 1 apparaît dans cette liste LOPV(iP) et qui ne représentera pas les objets OBJ non vus depuis le point P d'observation, qui seront ceux définis par les données DVOBJ pour lesquels un 0 apparaît dans cette listeThe station CL will then use, during step E17, the list LOPV (iP) of the objects visible from the observation point P and the DVOBJ data of the corresponding objects to display on the ECR screen a corresponding image, which will represent the objects OBJ seen from the observation point P, which will be those defined by the DVOBJ data for which a 1 appears in this list LOPV (iP) and which will not represent the objects OBJ not seen since the point P of observation, which will be those defined by the DVOBJ data for which a 0 appears in this list
LOPV(iP).LOPV (iP).
Puis, le point P d'observation pourra être déplacé par l'utilisateur sur le poste CL en un nouveau point P2. A chaque déplacement du point P d'observation en une nouvelle position INFP2 dans l'espace EO, on détermine automatiquement sur le poste CL si le nouveau point P2 d'observation se trouve dans une cellule iRP déjà présente dans une matrice Mmp' enregistrée dans la base locale BL. Dans l'affirmative, on recherche la matrice Mmp' correspondante dans la base BL du poste CL pour effectuer de nouveau l'étape E16 pour cette cellule iRP de cette matrice Mmp' et l'étape E 17. Dans la négative, une nouvelle requête REQV2 contenant l'information INFP2 de position du nouveau point P2 d'observation est envoyée par le poste CL au serveur SERV, qui renvoie une nouvelle réponse RV2 selon le processus décrit ci-dessus. Pour chaque nouvelle réponse RV2, le serveur SERV détermine si des donnéesThen, the observation point P can be moved by the user on the station CL to a new point P2. With each displacement of the observation point P into a new position INFP2 in the space E0, the station CL is automatically determined whether the new observation point P2 is in an iRP cell already present in a matrix Mmp 'recorded in the local base BL. In the affirmative, the corresponding matrix Mmp 'is sought in the base BL of the station CL to perform again the stage E16 for this cell iRP of this matrix Mmp' and the stage E 17. If not, a new request REQV2 containing the INFP2 position information of the new observation point P2 is sent by the CL to the SERV server, which returns a new response RV2 according to the process described above. For each new RV2 response, the SERV server determines whether data
DGE devant être insérées dans la nouvelle réponse RV2 n'ont pas déjà été transmises dans une réponse RV précédente, auquel cas il ne transmet pas dans la nouvelle réponse RV2 ces données DGE déjà transmises mais ne transmet dans la nouvelle réponse RV2 que les données DGE non encore transmises, ce qui permet de diminuer encore la quantité de données transmises dans la nouvelle réponse RV2. De même, à chaque déplacement du point P d'observation en une nouvelle position INFP2 dans l'espace EO, on détermine automatiquement sur le poste CL si le nouveau point P2 d'observation se trouve dans une cellule iRP déjà présente dans la huitième matrice Mmp' obtenue par la réponse précédente RV, ayant permis d'afficher l'image précédente pour le point P. Dans l'affirmative, il n'est pas besoin d'émettre une nouvelle requête REQV2 pour le nouveau point P2. La liste LOPV(iP2) pour le nouveau point P2 d'observation pourra être déduite de la liste LOPV(iP) pour le point P d'observation précédent, en ajoutant une liste LOPV(iP2)+ des objets supplémentaires par rapport à la liste LOPV(iP) pour le point P d'observation précédent et en enlevant une liste LOPV(iP2)" des objets en moins par rapport à la liste LOPV(iP) pour le point P d'observation précédent. Les deux listes LOPV(iP2)+ et LOPV(iP2)" sont calculées dans le poste CL à partir des listes LOPV(iP) et LOPV(iP2) de la matrice Mmp' précédente obtenue pour le point P, par exemple en utilisant l'opérateur OU exclusif entre celles-ci, qui permet de connaître la liste des objets différents (indiqués par les 1 dans (LOPV(iP))XOR(LOPV(iP2)) entre ces listes. Il est ainsi évité de devoir parcourir toute la liste LOPV(iP2) qui peut être très longue. Dans une variante, les données de visibilité sont par exemple compressées à l'avance sous la forme de la matrice M'sr pour chacune des régions R, avant que le système SERV ne reçoive l'information INFP de position du point d'observation.DGEs to be inserted in the new response RV2 have not already been transmitted in a previous response RV, in which case it does not transmit in the new response RV2 this DGE data already transmitted but only transmits in the new response RV2 DGE data not yet transmitted, which further reduces the amount of data transmitted in the new RV2 response. Likewise, with each displacement of the observation point P into a new position INFP2 in the space E0, the new observation point P2 is automatically determined on the station CL in an iRP cell already present in the eighth matrix Mmp 'obtained by the previous response RV, having made it possible to display the preceding image for the point P. If it is, it does not need to emit a new request REQV2 for the new point P2. The LOPV list (iP2) for the new observation point P2 can be deduced from the list LOPV (iP) for the previous observation point P, by adding a list LOPV (iP2) + additional objects with respect to the list LOPV (iP) for the preceding observation point P and removing a LOPV list (iP2) "objects less to the list LOPV (iP) for the preceding observation point P. both lists LOPV (iP2 ) + and LOPV (iP2) " are calculated in the item CL from the lists LOPV (iP) and LOPV (iP2) of the preceding matrix Mmp 'obtained for the point P, for example by using the exclusive OR operator between those This allows you to know the list of different objects (indicated by the 1 in (LOPV (iP)) XOR (LOPV (iP2)) between these lists, thus avoiding having to go through the entire LOPV (iP2) list. In a variant, the visibility data are, for example, compressed in advance in the form of the matrix M'sr. for each of the regions R, before the SERV system receives the position information INFP from the observation point.
Sont par exemple installés sur le système SERV et sur l'organe CL des programmes d'ordinateur pour l'exécution du procédé de compression sur le système SERV et pour l'exécution du procédé de décompression sur l'organe CL. For example, computer programs are installed on the SERV system and on the device CL for executing the compression process on the SERV system and for performing the decompression method on the device CL.

Claims

REVENDICATIONS
1. Procédé de compression de données de visibilité d'une base (BD) de données de visibilité, les données (DV) de visibilité comportant des cellules (i) de points d'observation dans un espace (EO) d'observation d'objets (OBJ) prédéterminés et, pour chaque cellule (i) de points d'observation, une listeA method for compressing visibility data of a database (BD) of visibility data, the visibility data (DV) comprising cells (i) of observation points in an observation space (EO) of predetermined objects (OBJ) and, for each cell (i) of observation points, a list
(LOPV(i)) des objets potentiellement visibles depuis cette cellule (i) de points d'observation parmi lesdits objets (OBJ) prédéterminés, et les données (DV) de visibilité étant représentées dans la base (BD) de données au moins sous la forme d'une première matrice (Mnp) de visibilité d'éléments booléens (a,,j), dont chaque ligne correspond à une cellule (i) et dont chaque colonne (j) correspond à un objet parmi lesdits objets prédéterminés (OBJ), les éléments booléens (a,,j) situés respectivement sur la i-ème ligne et la j-ième colonne ayant la valeur logique 1 lorsque l'objet j appartient à la liste (LOPV(i)) d'objets potentiellement visibles, associée à la cellule i, et ayant la valeur logique 0 sinon, caractérisé en ce que l'on détecte (E7) automatiquement dans la base (BD) de données si des lignes (i) comprises dans la matrice (Msr) de visibilité ont un nombre élevé d'éléments communs et ne sont pas voisines et, en cas de détection, on permute des lignes pour faire se suivre les lignes détectées ayant un nombre élevé d'éléments communs pour former une matrice de visibilité modifiée (M'sr), on applique (E8) automatiquement un codage d'image numérique aux éléments booléens de la matrice de visibilité modifiée (M'sr) pour obtenir un code (I) de données de visibilité, ces éléments booléens de la matrice de visibilité modifiée (M'sr) formant les pixels de l'image numérique pour le codage.(LOPV (i)) potentially visible objects from this cell (i) of observation points among said predetermined objects (OBJ), and the visibility data (DV) being represented in the data base (BD) at least under the form of a first matrix (Mnp) of visibility of Boolean elements (a ,, j ), each line of which corresponds to a cell (i) and each column (j) corresponding to one of said predetermined objects (OBJ) ), the Boolean elements (a ,, j ) located respectively on the ith line and the jth column having the logical value 1 when the object j belongs to the list (LOPV (i)) of potentially visible objects , associated with the cell i, and having the logic value 0 otherwise, characterized in that one detects (E7) automatically in the database (BD) of data if lines (i) included in the matrix (Msr) of visibility have a high number of common elements and are not neighboring and, in the event of detection, ute lines to follow the detected lines having a high number of common elements to form a modified visibility matrix (M'sr), one applies (E8) automatically a digital image coding to the Boolean elements of the matrix of modified visibility (M'sr) to obtain a visibility data code (I), these Boolean elements of the modified visibility matrix (M'sr) forming the pixels of the digital image for the coding.
2. Procédé de compression suivant la revendication 1 , caractérisé en ce que la base (BD) de données de visibilité étant associée à un système (SERV) de traitement de données, le système (SERV) transmet (E9) le code (I) de données de visibilité généré à un organe (CL) d'exploitation de données de visibilité. 2. The compression method according to claim 1, characterized in that the visibility database (BD) being associated with a data processing system (SERV), the system (SERV) transmits (E9) the generated visibility data code (I) to an operating unit (CL). visibility data.
3. Procédé de compression suivant la revendication 2, caractérisé en ce que le système (SERV) de traitement de données est un serveur (SERV) de données et l'organe (CL) d'exploitation de données de visibilité est un poste (CL) d'exploitation de données de visibilité. 3. A compression method according to claim 2, characterized in that the data processing system (SERV) is a data server (SERV) and the visibility data operating unit (CL) is a station (CL). ) visibility data exploitation.
4. Procédé de compression suivant la revendication 2, caractérisé en ce que le système (SERV) de traitement de données et l'organe (CL) d'exploitation de données de visibilité sont prévus sur un même poste (CL) d'exploitation de données de visibilité. 4. A compression method according to claim 2, characterized in that the data processing system (SERV) and the visibility data operating member (CL) are provided on the same station (CL) for operating the data. visibility data.
5. Procédé de compression suivant l'une quelconque des revendications 2 à 4, caractérisé en ce que le système (SERV) de traitement de données ayant reçu au préalable de l'organe (CL) d'exploitation une information (INFP) de position d'un point (P) d'observation déterminé dans l'espace (EO) d'observation et l'espace (EO) d'observation ayant été subdivisé en régions (R) dans la base5. A method of compression according to any one of claims 2 to 4, characterized in that the system (SERV) for data processing having received prior to the operating member (CL) information (INFP) position of a given observation point (P) in the observation (EO) space and the observation (EO) space having been subdivided into (R) -regions in the base
(BD) de données de visibilité, les étapes suivantes (E3) sont automatiquement exécutées dans le système (SERV) de traitement de données :(DB) visibility data, the following steps (E3) are automatically executed in the data processing system (SERV):
- détermination (E3) parmi les régions (R) de l'espace d'observation, d'une région (RP) d'observation à laquelle appartient le point (P) d'observation, correspondant à l'information (INFP) de position reçue de l'organe (CL),determination (E3) among the regions (R) of the observation space, of an observation region (RP) to which the observation point (P) belongs, corresponding to the information (INFP) of received position of the organ (CL),
- détermination (E3), parmi les cellules (i) des données (DV) de visibilité, de premières cellules (iRP) ayant une intersection avec la région (RP) d'observation,determination (E3), among the cells (i) of the visibility data (DV), of first cells (iRP) having an intersection with the observation region (RP),
- extraction (E3), à partir de la première matrice (Mnp) de visibilité, d'une deuxième matrice (Mmp) de visibilité, dont les lignes sont formées des lignes de Ia première matrice (Mnp) de visibilité, qui correspondent auxdites premières cellules (iRP) déterminées de la région (RP) d'observation,extraction (E3), from the first matrix (Mnp) of visibility, of a second matrix (Mmp) of visibility, whose lines are formed lines of the first matrix (Mnp) of visibility, which correspond to said first cells (iRP) determined from the region (RP) of observation,
- la matrice de visibilité modifiée (M'sr) étant formée à partir de la 5 deuxième matrice (Mmp) de visibilité.the modified visibility matrix (M'sr) being formed from the second visibility matrix (Mmp).
6. Procédé de compression suivant la revendication 5, caractérisé en ce que l'on détermine automatiquement (E4) dans le système (SERV) de traitement de données, à partir de la deuxième matrice (Mmp) de visibilité, une liste (Tp) des objets potentiellement visibles depuis la région (RP) 0 d'observation, qui est envoyée par le système (SERV) de traitement de données avec le code (I) de données de visibilité à l'organe (CL) d'exploitation.6. A compression method according to claim 5, characterized in that automatically determines (E4) in the system (SERV) data processing, from the second matrix (Mmp) visibility, a list (Tp) objects potentially visible from the observation region (RP) 0, which is sent by the data processing system (SERV) with the visibility data code (I) to the operating unit (CL).
7. Procédé de compression suivant la revendication 5 ou 6, caractérisé en ce qu'une liste (LIOC) des identifiants (h , i2) des cellules de 5 la matrice de visibilité modifiée (M'sr) est envoyée par le système (SERV) de traitement de données avec le code (I) de données de visibilité à l'organe (CL) d'exploitation.7. A compression method according to claim 5 or 6, characterized in that a list (LIOC) of the identifiers (h, i2) of the cells of the modified visibility matrix (M'sr) is sent by the system (SERV ) of data processing with the code (I) of visibility data to the operating unit (CL).
8. Procédé de compression suivant l'une quelconque des revendications 2 à 7, caractérisé en ce que 0 l'on détermine automatiquement (E6) dans le système (SERV) de traitement de données les lignes identiques de la matrice (Mmr) de visibilité, pour ne garder de cette matrice (Mmr) de visibilité dans une quatrième matrice (Msr) de visibilité, qu'une seule ligne par groupe (GR) de lignes identiques (i3, i4), la matrice de visibilité modifiée (M'sr) étant formée à 5 partir de la quatrième matrice (Msr) de visibilité, et on calcule automatiquement (E6) dans le système (SERV) de traitement de données :8. A method of compression according to any one of claims 2 to 7, characterized in that 0 is automatically determined (E6) in the system (SERV) data processing the identical lines of the matrix (Mmr) visibility , to keep this visibility matrix (Mmr) in a fourth matrix (Msr) of visibility, only one line per group (GR) of identical lines (i3, i4), the modified visibility matrix (M'sr ) being formed from the fourth visibility matrix (Msr), and automatically calculating (E6) in the data processing system (SERV):
- une donnée (NGR) de nombre de groupes (GR) de lignes identiques de la matrice (Mmr) de visibilité, et o pour chaque groupe (GR) de lignes identiques : - une donnée (DGR) de groupe, comprenant un nombre (t) de lignes identiques du groupe (GR) et une liste (LID) des identifiants (i3, i4) des lignes identiques dudit groupe (GR), ladite donnée (NGR) de nombre de groupes (GR) de lignes identiques et ladite donnée (DGR) de groupe étant envoyées par le système (SERV) de traitement de données avec le code (I) de données de visibilité à l'organe (CL) d'exploitation.a datum (NGR) of the number of groups (GR) of identical lines of the matrix (Mmr) of visibility, and o for each group (GR) of identical lines: a group data item (DGR) comprising a number (t) of identical lines of the group (GR) and a list (LID) of the identifiers (i3, i4) of the identical lines of said group (GR), said datum (NGR) number of groups (GR) of identical lines and said group data (DGR) being sent by the data processing system (SERV) with the visibility data code (I) to the operating unit (CL). .
9. Procédé de compression suivant la revendication 8, caractérisé en ce que pour chaque groupe (GR) de lignes identiques, le nombre (t) de lignes identiques dudit groupe (GR) est codé sur un nombre fixé à l'avance de bits et chaque identifiant (i3, i4) des lignes identiques de ladite liste (LID) dudit groupe (GR) est codé sur un nombre fixé à l'avance de bits, chaque donnée (DGR) de groupe étant constituée, dans un ordre prescrit pour tous les groupes (GR), dudit nombre (t) de lignes identiques du groupe (GR) et de ladite liste (LID) des identifiants (i3, i4) des lignes identiques du groupe (GR).9. A compression method according to claim 8, characterized in that for each group (GR) of identical lines, the number (t) of identical lines of said group (GR) is coded on a number set in advance of bits and each identifier (i3, i4) of identical lines of said list (LID) of said group (GR) is coded on a number set in advance of bits, each group data (DGR) being constituted, in an order prescribed for all the groups (GR), said number (t) of identical rows of the group (GR) and said list (LID) of the identifiers (i3, i4) of the identical rows of the group (GR).
10. Procédé de compression suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'en plus on détecte (E5) automatiquement, s'il existe au moins une colonne de 0 dans la matrice (Mmp) de visibilité et, en cas de détection, on supprime automatiquement (E5) de la matrice (Mmp) de visibilité la colonne de 0 détectée pour former une troisième matrice (Mmr) de visibilité, la matrice de visibilité modifiée (M1Sr) étant formée à partir de la troisième matrice (Mmr) de visibilité.10. A compression method according to any one of the preceding claims, characterized in that in addition is detected (E5) automatically, if there is at least one column of 0 in the matrix (Mmp) visibility and, in case detection, automatically removed (E5) from the visibility matrix (Mmp) column 0 detected to form a third matrix (Mmr) visibility, the modified visibility matrix (M 1 Sr) being formed from the third matrix (Mmr) of visibility.
11. Procédé de compression suivant l'une quelconque des revendications, caractérisé en ce que ledit codage d'image numérique appliqué aux éléments booléens de la matrice de visibilité modifiée (M'sr) est du type JBIG ou PNG.11. A compression method according to any one of the preceding claims, characterized in that said digital image coding applied to the Boolean elements of the modified visibility matrix (M'sr) is of the JBIG or PNG type.
12. Procédé de décompression du code (I) de données de visibilité généré par le procédé de compression de données de visibilité suivant l'une quelconque des revendications précédentes, caractérisé en ce que l'on applique (E13) au code (I) de données de visibilité généré, un décodage d'image numérique, inverse du codage d'image numérique appliqué par ledit procédé de compression, ce décodage produisant une matrice de visibilité (M'sr).12. A method for decompressing the visibility data code (I) generated by the visibility data compression method according to any one of the preceding claims, characterized in that (E13) is applied to the code (I) of generated visibility data, digital image decoding, reverse digital image coding applied by said compression method, this decoding producing a visibility matrix (M'sr).
13. Procédé de décompression suivant la revendication 12, lorsqu'il dépend au moins de la revendication 6, caractérisé en ce que l'on ajoute automatiquement (E12, E14) à la matrice de visibilité13. A method of decompression according to claim 12, when it depends at least on claim 6, characterized in that one automatically adds (E12, E14) to the visibility matrix
(M'sr) obtenue par ledit décodage d'image numérique, des colonnes de 0 aux endroits des objets non potentiellement visibles indiqués par la liste (Tp) des objets potentiellement visibles depuis la région (RP) d'observation.(M'sr) obtained by said digital image decoding, columns from 0 to the locations of non-potentially visible objects indicated by the list (Tp) of potentially visible objects from the observation region (RP).
14. Procédé de décompression suivant la revendication 12 ou 13, lorsqu'il dépend au moins de la revendication 8, caractérisé en ce que l'on ajoute automatiquement (E15) à la matrice de visibilité (M'sr) obtenue par ledit décodage d'image numérique, la au moins une ligne manquante indiquée par les identifiants (i3, i4) de lignes identiques présents dans la liste (LID) des identifiants (i3, i4) des lignes identiques de la donnée (DGR) de groupe et absents de ladite matrice de visibilité (M'sr), cette au moins une ligne manquante étant alors égale à la ligne de la matrice de visibilité (M'sr) ayant l'identifiant présent dans ladite liste (LID) des identifiants (i3, i4) des lignes identiques.14. A method of decompression according to claim 12 or 13, when it depends at least on claim 8, characterized in that one automatically adds (E15) to the visibility matrix (M'sr) obtained by said decoding d digital image, the at least one missing line indicated by the identifiers (i3, i4) of identical lines present in the list (LID) of the identifiers (i3, i4) of the identical rows of the group data (DGR) and absent from said visibility matrix (M'sr), this at least one missing line then being equal to the line of the visibility matrix (M'sr) having the identifier present in said list (LID) of the identifiers (i3, i4) identical lines.
15. Décodeur, comportant des moyens (CAL2) pour la mise en œuvre du procédé de décompression de données de visibilité suivant l'une quelconque des revendications 12 à 14.15. Decoder, comprising means (CAL2) for implementing the visibility data decompression method according to any one of claims 12 to 14.
16. Système (SERV) associé à une base (BD) de données de visibilité, les données (DV) de visibilité comportant des cellules (i) de points d'observation dans un espace (EO) d'observation d'objets (OBJ) prédéterminés et, pour chaque cellule (i) de points d'observation, une liste (LOPV(i)) des objets potentiellement visibles depuis cette cellule (i) de points d'observation parmi lesdits objets (OBJ) prédéterminés, et les données (DV) de visibilité étant représentées dans la base (BD) de données au moins sous la forme d'une première matrice (Mnp) de visibilité d'éléments booléens (a, ,), dont chaque ligne correspond à une cellule (i) et dont chaque colonne (j) correspond à un objet parmi lesdits objets prédéterminés (OBJ), les éléments booléens (a,,,) situés respectivement sur la i-ème ligne et la j-ième colonne ayant la valeur logique 1 lorsque l'objet j appartient à la liste (LOPV(i)) d'objets potentiellement visibles, associée à la cellule i, et ayant la valeur logique 0 sinon, le système (SERV) comportant des moyens (CAL) pour la mise en œuvre du procédé de compression des données de visibilité suivant l'une quelconque des revendications 1 à 11.16. System (SERV) associated with a database (DB) of visibility data, the visibility data (DV) comprising cells (i) of observation points in a space (EO) for observing objects (OBJ ) and, for each cell (i) of observation points, a list (LOPV (i)) potentially visible objects from this cell (i) points of observation among said predetermined objects (OBJ), and the data (DV) of visibility being represented in the database (BD) of data at least in the form of a first matrix (Mnp) of visibility of boolean elements (a,,), each line of which corresponds to a cell (i) and wherein each column (j) corresponds to one of said objects predetermined objects (OBJ), the boolean elements (a ,,,) located respectively on the ith row and the jth column having the logical value 1 when the object j belongs to the list (LOPV (i)) d potentially visible objects, associated with the cell i, and having the logic value 0 otherwise, the system (SERV) comprising means (CAL) for implementing the method of compressing the visibility data according to any one of the claims 1 to 11.
17. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de compression de données suivant l'une quelconque des revendications 1 à 11 , lorsqu'il est exécuté sur un ordinateur.A computer program comprising instructions for implementing the data compression method according to any one of claims 1 to 11, when executed on a computer.
18. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de décompression de données suivant l'une quelconque des revendications 12 à 14, lorsqu'il est exécuté sur un ordinateur. Computer program comprising instructions for implementing the data decompression method according to any one of claims 12 to 14, when executed on a computer.
EP05797404A 2004-08-31 2005-08-19 Visibility data compression method, compression system and decoder Withdrawn EP1794718A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0409234 2004-08-31
PCT/FR2005/050678 WO2006027519A2 (en) 2004-08-31 2005-08-19 Visibility data compression/decompression method, compression system and decoder

Publications (1)

Publication Number Publication Date
EP1794718A2 true EP1794718A2 (en) 2007-06-13

Family

ID=34948303

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05797404A Withdrawn EP1794718A2 (en) 2004-08-31 2005-08-19 Visibility data compression method, compression system and decoder

Country Status (6)

Country Link
US (1) US8131089B2 (en)
EP (1) EP1794718A2 (en)
JP (1) JP4870079B2 (en)
CN (1) CN100594518C (en)
BR (1) BRPI0514776A (en)
WO (1) WO2006027519A2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4947376B2 (en) * 2007-12-26 2012-06-06 アイシン・エィ・ダブリュ株式会社 Three-dimensional data processing device, three-dimensional image generation device, navigation device, and three-dimensional data processing program
WO2009120137A1 (en) * 2008-03-25 2009-10-01 Telefonaktiebolaget L M Ericsson (Publ) Method for automatically selecting a physical cell identity (pci) of a long term evolution (lte) radio. cell
FR2948792B1 (en) * 2009-07-30 2011-08-26 Oberthur Technologies METHOD OF PROCESSING DATA PROTECTED AGAINST FAULT ATTACKS AND DEVICE THEREFOR
US9171396B2 (en) * 2010-06-30 2015-10-27 Primal Space Systems Inc. System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3D graphical information using a visibility event codec
WO2014015460A1 (en) * 2012-07-23 2014-01-30 Thomson Licensing 3d video representation using information embedding
CN105718513B (en) * 2016-01-14 2019-11-15 上海大学 The compression method and decompression method of jpg file
US10878859B2 (en) 2017-12-20 2020-12-29 Micron Technology, Inc. Utilizing write stream attributes in storage write commands
US11803325B2 (en) * 2018-03-27 2023-10-31 Micron Technology, Inc. Specifying media type in write commands
CN110992469B (en) * 2019-11-29 2024-01-23 四川航天神坤科技有限公司 Visualization method and system for massive three-dimensional model data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS558182A (en) * 1978-07-05 1980-01-21 Sony Corp Color television picture receiver
GB2038142B (en) * 1978-12-15 1982-11-24 Ibm Image data compression
US6388688B1 (en) * 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
US6633317B2 (en) * 2001-01-02 2003-10-14 Microsoft Corporation Image-based walkthrough system and process employing spatial video streaming
US7533088B2 (en) * 2005-05-04 2009-05-12 Microsoft Corporation Database reverse query matching

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006027519A2 *

Also Published As

Publication number Publication date
WO2006027519A3 (en) 2006-07-06
US20070258650A1 (en) 2007-11-08
JP2008511888A (en) 2008-04-17
WO2006027519A2 (en) 2006-03-16
US8131089B2 (en) 2012-03-06
CN101061514A (en) 2007-10-24
JP4870079B2 (en) 2012-02-08
CN100594518C (en) 2010-03-17
BRPI0514776A (en) 2008-06-24

Similar Documents

Publication Publication Date Title
WO2006027519A2 (en) Visibility data compression/decompression method, compression system and decoder
EP1131789B1 (en) Method for building a three-dimensional scene model by analysing a sequence of images
Musialski et al. A survey of urban reconstruction
US9208612B2 (en) Systems and methods that generate height map models for efficient three dimensional reconstruction from depth information
Lafarge et al. A hybrid multiview stereo algorithm for modeling urban scenes
FR2852128A1 (en) METHOD FOR MANAGING THE REPRESENTATION OF AT LEAST ONE MODELIZED 3D SCENE
EP1934946A1 (en) Methods, devices and programmes for transmitting a roof and building structure of a three-dimensional representation of a building roof based on said structure
JP2001501348A (en) Three-dimensional scene reconstruction method, corresponding reconstruction device and decoding system
EP3679517B1 (en) Method for determining projecting edges of a target on an image
Gao et al. Visualizing aerial LiDAR cities with hierarchical hybrid point-polygon structures
Andújar et al. Visualization of Large‐Scale Urban Models through Multi‐Level Relief Impostors
Cignoni et al. Ray‐casted blockmaps for large urban models visualization
Wilson et al. Simplifying complex environments using incremental textured depth meshes
Rüther et al. Challenges in heritage documentation with terrestrial laser scanning
Décoret et al. Billboard clouds
WO2004114669A2 (en) Method of representing a sequence of pictures using 3d models, and corresponding devices and signal
Guinard et al. Sensor-topology based simplicial complex reconstruction from mobile laser scanning
Vallet et al. Fast and accurate visibility computation in urban scenes
EP1141899B1 (en) Method for simplifying a source mesh, taking into account the local curvature and the local geometry, and corresponding uses
EP1121665B1 (en) Source mesh coding method optimising vertex position resulting from edge fusion, and corresponding applications
Karner et al. Virtual habitat: Models of the urban outdoors
EP2192555B1 (en) Anzeige von parametrisierten Daten
Cui et al. LetsGo: Large-Scale Garage Modeling and Rendering via LiDAR-Assisted Gaussian Primitives
Tudor et al. Rapid high-fidelity visualisation of multispectral 3D mapping
Koh Parallel simplification and compression of reality captured models

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070321

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20071120

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20150820

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160105