WO2006027519A2 - Procede de compression de donnees de visibilite, de decompression, decodeur, systeme de compression - Google Patents

Procede de compression de donnees de visibilite, de decompression, decodeur, systeme de compression Download PDF

Info

Publication number
WO2006027519A2
WO2006027519A2 PCT/FR2005/050678 FR2005050678W WO2006027519A2 WO 2006027519 A2 WO2006027519 A2 WO 2006027519A2 FR 2005050678 W FR2005050678 W FR 2005050678W WO 2006027519 A2 WO2006027519 A2 WO 2006027519A2
Authority
WO
WIPO (PCT)
Prior art keywords
visibility
data
matrix
lines
observation
Prior art date
Application number
PCT/FR2005/050678
Other languages
English (en)
Other versions
WO2006027519A3 (fr
Inventor
Isabelle Marchal
Christian Bouville
Loïc BOUGET
Original Assignee
France Telecom
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 filed Critical France Telecom
Priority to CN200580036403A priority Critical patent/CN100594518C/zh
Priority to US11/661,029 priority patent/US8131089B2/en
Priority to JP2007528942A priority patent/JP4870079B2/ja
Priority to EP05797404A priority patent/EP1794718A2/fr
Priority to BRPI0514776-0A priority patent/BRPI0514776A/pt
Publication of WO2006027519A2 publication Critical patent/WO2006027519A2/fr
Publication of WO2006027519A3 publication Critical patent/WO2006027519A3/fr

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.

Abstract

Suivant l'invention, on détecte (E7) automatiquement 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), et on applique (E8) un codage d'image numérique aux éléments booléens de la matrice de visibilité modifiée (M'sr).

Description

Procédé de compression de données de visibilité, de décompression, décodeur, système de compression
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.
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.
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.
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.
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.
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 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 : 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.
- 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.
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.
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,
- 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é ;
- 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é ;
- 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é ;
- 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 ;
- 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 ;
- 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 ;
- 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é ;
- 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é.
Suivant d'autres caractéristiques de ce procédé de décompression,
- 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 ;
- 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.
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.
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.
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.
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 :
- 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,
- la figure 2 représente la modélisation d'un objet tridimensionnel en 2 dimensions et demie,
- la figure 3 représente en vue de dessus une scène comportant des objets et des cellules de vue de ces objets,
- 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,
- 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,
- 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,
- 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 ;
- la figure 10 représente une cellule de vue en deux dimensions d'une scène,
- la figure 11 représente une cellule de vue en trois dimensions d'une scène, et
- la figure 12 représente les cinq dimensions d'une cellule de vue 5D d'une scène.
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 serveur
SERV et le poste CL étant munis à cet effet chacun d'une interface réseau INTS, 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.
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.
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.
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.
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.
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.
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.
Les données DV de visibilité comprennent également les données DVEO propres à l'espace EO d'observation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 minima
Hmin(r) est calculée de la manière suivante.
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.
Puis, la fonction Hmin(r) pour la cellule sera donnée par
Hmin(r) = min { Hp(r), p appartenant à 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,
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.
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.
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 ou
0, dont chaque ligne correspond à une cellule i déterminée et dont chaque colonne j correspond à un objet OBJ déterminé, avec
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.
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.
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.
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é.
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.
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.
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.
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.
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.
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.
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.
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 :
Figure imgf000022_0001
pour laquelle la liste Tp sera donc égale à
Figure imgf000023_0001
et la troisième matrice de visibilité Mmr, sera égale, avec m=6 et r=4, à
Figure imgf000023_0002
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.
On calcule en outre le nombre NGR de groupes GR de lignes identiques de la troisième matrice de visibilité Mmr.
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.
Dans l'exemple précédent, on aura donc : 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) et
DGR2 = (2, 3, 6) avec t2 = 2, LID2 = 3, 6 (troisième et sixième lignes de Mmr identiques), et
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, à
Figure imgf000024_0001
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.
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.
L'étape E7 appliquée à la matrice Msr de l'exemple ci-dessus, donnera par exemple la matrice de visibilité M'sr
Figure imgf000025_0001
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).
Cette matrice M'sr comporte la zone pleine de 1 suivante :
Figure imgf000025_0002
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é.
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 calculateur
CAL du serveur SERV après l'étape E8 de codage et comprennent, à la figure 8,
- 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,
- les données DGR(t, LID) de groupes de lignes identiques,
- 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,
- 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.
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.
Figure imgf000026_0001
Figure imgf000027_0001
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.
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.
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.
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.
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.
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.
On obtiendra donc dans l'exemple précédent la matrice MmpO égale, pour m=6 et p=10, à
Figure imgf000028_0001
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.
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,
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.
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.
Figure imgf000029_0001
 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.
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 :
Figure imgf000030_0001
Le poste CL enregistre dans sa base de données locale la huitième matrice Mmp' obtenue par l'étape 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.
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.
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 liste
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ées
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.
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.

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 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,,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.
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é.
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é.
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é.
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 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 :
- 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),
- 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,
- 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,
- la matrice de visibilité modifiée (M'sr) étant formée à partir de la 5 deuxième matrice (Mmp) de visibilité.
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.
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.
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 :
- 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.
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).
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é.
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.
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).
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é
(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.
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.
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.
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.
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.
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.
PCT/FR2005/050678 2004-08-31 2005-08-19 Procede de compression de donnees de visibilite, de decompression, decodeur, systeme de compression WO2006027519A2 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN200580036403A CN100594518C (zh) 2004-08-31 2005-08-19 可见性数据压缩方法、解压缩方法、解码器、压缩系统
US11/661,029 US8131089B2 (en) 2004-08-31 2005-08-19 Visibility data compression/decompression method, compression system and decoder
JP2007528942A JP4870079B2 (ja) 2004-08-31 2005-08-19 可視性データ圧縮方法、圧縮解除方法、圧縮システムおよびデコーダ
EP05797404A EP1794718A2 (fr) 2004-08-31 2005-08-19 Procede de compression de donnees de visibilite, systeme de compression et decodeur
BRPI0514776-0A BRPI0514776A (pt) 2004-08-31 2005-08-19 processo e sistema de compressão de dados de visibilidade, processo de descompressão do código de dados de visibilidade, decodificador, posto de processamento de dados de visibilidade, sinal representativo de dados de visibilidade, e, programa de computador

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0409234 2004-08-31
FR0409234 2004-08-31

Publications (2)

Publication Number Publication Date
WO2006027519A2 true WO2006027519A2 (fr) 2006-03-16
WO2006027519A3 WO2006027519A3 (fr) 2006-07-06

Family

ID=34948303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/050678 WO2006027519A2 (fr) 2004-08-31 2005-08-19 Procede de compression de donnees de visibilite, de decompression, decodeur, systeme de compression

Country Status (6)

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

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4947376B2 (ja) * 2007-12-26 2012-06-06 アイシン・エィ・ダブリュ株式会社 3次元データ処理装置、3次元画像生成装置、ナビゲーション装置及び3次元データ処理プログラム
EP2255571B1 (fr) * 2008-03-25 2016-11-16 Telefonaktiebolaget LM Ericsson (publ) Procédé pour sélectionner automatiquement une identité de cellule physique (pci) d une cellule radio à évolution à long terme (lte)
FR2948792B1 (fr) * 2009-07-30 2011-08-26 Oberthur Technologies Procede de traitement de donnees protege contre les attaques par faute et dispositif associe
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 (fr) * 2012-07-23 2014-01-30 Thomson Licensing Représentation de vidéo tridimensionnelle (3d) utilisant une incorporation d'informations
CN105718513B (zh) * 2016-01-14 2019-11-15 上海大学 jpg文件的压缩方法及解压缩方法
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 (zh) * 2019-11-29 2024-01-23 四川航天神坤科技有限公司 海量三维模型数据的可视化方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020113805A1 (en) * 2001-01-02 2002-08-22 Jiang Li Image-based walkthrough system and process employing spatial video streaming

Family Cites Families (4)

* 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
US7533088B2 (en) * 2005-05-04 2009-05-12 Microsoft Corporation Database reverse query matching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020113805A1 (en) * 2001-01-02 2002-08-22 Jiang Li Image-based walkthrough system and process employing spatial video streaming

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HUA W. ET AL.: "The Global Occlusion Map: A New Occlusion Culling Approach" VRST 2002, 11 novembre 2002 (2002-11-11), - 13 novembre 2002 (2002-11-13) pages 155-162, XP002313706 HONG-KONG *
MOREIRA F O ET AL: "Smart visible sets for networked virtual environments" COMPUTER GRAPHICS AND IMAGE PROCESSING, 2002. PROCEEDINGS. XV BRAZILIAN SYMPOSIUM ON FORTALEZA-CE, BRAZIL 7-10 OCT. 2002, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 7 octobre 2002 (2002-10-07), pages 373-380, XP010624532 ISBN: 0-7695-1846-X *
TELLER S. AND AL.: "Partitioning and Ordering Large Radiosity Computations" PROCEEDINGS OF ACM SIGGRAPH, juillet 1994 (1994-07), pages 443-450, XP002313708 *
VAN DE PANNE M. AND STEWART A.J.: "Effective Compression Techniques for Precomputed Visibility" 10TH EUROGRAPHICS WORKSHOP ON RENDERING, juin 1999 (1999-06), pages 305-316, XP002313705 cité dans la demande *
ZACH C. AND KARNER C.: "Progressive Compression of Visibility Data for View-Dependent Multiresolution Meshes" JOURNAL OF WSCG, vol. 11, no. 3, 6 février 2003 (2003-02-06), pages 546-553, XP002313707 cité dans la demande *

Also Published As

Publication number Publication date
CN101061514A (zh) 2007-10-24
WO2006027519A3 (fr) 2006-07-06
US20070258650A1 (en) 2007-11-08
CN100594518C (zh) 2010-03-17
JP2008511888A (ja) 2008-04-17
BRPI0514776A (pt) 2008-06-24
US8131089B2 (en) 2012-03-06
EP1794718A2 (fr) 2007-06-13
JP4870079B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
EP1794718A2 (fr) Procede de compression de donnees de visibilite, systeme de compression et decodeur
EP1131789B1 (fr) Procede de construction d&#39;un modele de scene 3d par analyse de sequence d&#39;images
Wimmer et al. Instant Points: Fast Rendering of Unprocessed Point Clouds.
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 (fr) Procede pour la gestion de la representation d&#39;au moins une scene 3d modelisee.
WO2007042667A1 (fr) Procedes, dispositifs et programmes de transmission d&#39;une structure de toit et de construction d&#39;une representation tridimensionnelle d&#39;un toit de batiment a partir de ladite structure
JP2001501348A (ja) 3次元シーンの再構成方法と、対応する再構成装置および復号化システム
EP3679517B1 (fr) Procede de determination des bords saillants d&#39;une cible sur une 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
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 (fr) Procede de representation d’une sequence d’images par modeles 3d, signal et dispositifs correspondants
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 (fr) Procede de simplification d&#39;un maillage source, tenant compte de la courbure locale et de la dynamique geometrique locale, et applications correspondantes
EP1121665B1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes
Karner et al. Virtual habitat: Models of the urban outdoors
EP2192555B1 (fr) Affichage de données paramétrées
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
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11661029

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1533/DELNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2007528942

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005797404

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580036403.0

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005797404

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11661029

Country of ref document: US

ENP Entry into the national phase

Ref document number: PI0514776

Country of ref document: BR