WO2022243494A1 - Procédés de compression et de décompression d'un fichier de modèle numérique de terrain; fichiers compressé et décompressé et produit programme d'ordinateur associés. - Google Patents
Procédés de compression et de décompression d'un fichier de modèle numérique de terrain; fichiers compressé et décompressé et produit programme d'ordinateur associés. Download PDFInfo
- Publication number
- WO2022243494A1 WO2022243494A1 PCT/EP2022/063673 EP2022063673W WO2022243494A1 WO 2022243494 A1 WO2022243494 A1 WO 2022243494A1 EP 2022063673 W EP2022063673 W EP 2022063673W WO 2022243494 A1 WO2022243494 A1 WO 2022243494A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tree
- node
- elevation
- elevation value
- file
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007906 compression Methods 0.000 title claims description 36
- 230000006835 compression Effects 0.000 title claims description 34
- 230000006837 decompression Effects 0.000 title claims description 23
- 238000004590 computer program Methods 0.000 title claims description 5
- 238000013138 pruning Methods 0.000 claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
Definitions
- TITLE Methods of compression and decompression of a digital terrain model file; compressed and uncompressed files and associated computer program product.
- the present invention relates to the use of digital terrain model files - or DEM files. It relates more particularly to methods of compression/decompression of MNT files allowing their use on embedded computers.
- a DEM file contains elevation data for a set of geographic points on a terrain. These points make it possible to build a mesh offering a three-dimensional representation of the terrain.
- the terrain represented can be all or part of the earth's surface, the bottom of the oceans, or even the surface of a celestial body other than the Earth.
- DEM files have favored the emergence of numerous navigation or safety functions in fields such as on-board aeronautics (drones, aircraft, etc.), on-board marine or underwater navigation (surface ships, -sailors, etc.), or on-board land applications (vehicle navigation with on-board mapping, etc.)
- on-board aeronautics drones, aircraft, etc.
- on-board marine or underwater navigation surface ships, -sailors, etc.
- on-board land applications vehicle navigation with on-board mapping, etc.
- the resolution of a DEM file is sometimes very high.
- the characteristic distance between two points in a DTM file can be less than 0.1”, i.e. less than 3 m.
- the volume of data to be stored in a computer can therefore be very high, with for example values greater than a hundred gigabytes for the most accurate global DEM files.
- a platform for example avionics, is equipped with an on-board computer, which is characterized by a few hundred megabytes of mass memory, a few megabytes of RAM, and a single-core processor running at only a few hundred megahertz.
- field data must be able to be made available to applications that require it in real time, in particular for the performance of critical navigation or safety functions.
- the on-board computer must therefore be able to decompress the compressed DEM file that it stores.
- known terrain data compression/decompression methods are either insufficiently efficient in terms of compression rate, so that the compressed DEM file still requires several gigabytes of mass memory for high-resolution global representations, or insufficiently efficient. in decompression speed and require having processors running at more than one gigahertz in order to be able to have decompressed data in real time.
- documents US8665266B2 and US4890249A disclose compression/decompression methods based on vector representations. Such methods, although effective in terms of compression, force the decoder to use complex mathematical functions (in particular trigonometric functions sin, cos, etc.) to reconstruct an elevation matrix of the surrounding terrain. The use of these mathematical functions is costly in terms of performance. These methods are therefore not suited to the case of on-board computers.
- the object of the present invention is therefore to solve this problem, by proposing an improved method for compressing MNT files, this method having a high compression rate, while allowing the corresponding decompression method, executed on an on-board computer, a high decompression speed, compatible with real-time applications.
- the subject of the invention is a method for compressing a digital terrain modeling file - source DTM so as to produce a compressed DTM file suitable for being stored and decompressed in real time by an on-board computer, said source DTM file comprising a source tile consisting of a matrix of cells, each cell comprising an elevation value of a geographical point of a modeled terrain, characterized in that said method comprises the steps consisting in: Representing the source tile in the form an initial tree comprising a root node, intermediate nodes and terminal nodes, the initial tree having a plurality of levels of depth, each node of the initial tree representing an area of the source tile, each terminal node of the initial tree representing an area of the tile corresponding to a single cell; Pruning the initial tree by applying a pruning criterion to obtain a pruned tree, the pruning criterion making it possible, when it is verified, to locally limit a number of depth levels of the initial tree by stopping at an intermediate node, the intermediate node then being considered as a terminal node
- the method comprises one or more of the following characteristics, taken in isolation or according to all the technically possible combinations:
- the pruning criterion making it possible to locally limit the number of depth levels of the initial tree by stopping at an intermediate node consists in verifying that the set of elevation values associated with the terminal nodes which descend from said node intermediate are within a predefined error interval.
- the scheduling rules for encoding consist of: if a zone of the tile represented by the terminal node considered has at least one neighboring zone on the left, the differential elevation value associated with the terminal node considered is calculated from the elevation value of the neighboring zone on the left which is the highest among said at least one neighboring zone on the left; if the area of the tile represented by the terminal node under consideration has no neighboring area to the left, but has at least one neighboring area above, the differential elevation value associated with the terminal node under consideration is calculated from the elevation value of the leftmost above neighboring area among said at least one above neighboring area; otherwise, the differential elevation value associated with the terminal node considered is calculated as a difference from the reference elevation.
- the header of a sequence of a compressed DEM file is omitted when the terminal node considered belongs to the same depth level as the previous terminal node according to the serialization order.
- the header of a sequence of a compressed DEM file is defined absolutely with respect to the root node of the pruned tree or the lowest depth level of the initial tree, or relatively by relative to the depth level of the previous node according to the order of serialization.
- the encoding making it possible to limit a range of differential elevation values associated with the terminal nodes of the pruned tree is defined a minimum number of bits to encode the differential elevation values, and the compressed DEM file including a second field indicating the minimum number of bits.
- the invention also relates to a compressed MNT file resulting from the implementation of the preceding compression method.
- the subject of the invention is a method for decompressing a compressed DEM file, characterized in that it comprises the steps consisting in: extracting from the compressed DEM file, a binary stream corresponding to a simplified tile represented by a pruned tree ; and reading a reference elevation from the first field of the bit stream; then, for each sequence of the binary stream corresponding to a terminal node of the pruned tree starting from a reference terminal node whose elevation value is equal to the reference elevation, until complete decompression of the binary stream , determining a depth level from a header of the current sequence and reading a differential elevation value from the load of the current sequence; calculating an elevation value from the read differential elevation value and an elevation value of a previous terminal node, defined according to scheduling rules; updating, with the calculated elevation value, the elevation values of the cells of an area of the simplified tile represented by the current terminal node, in order to obtain a matrix of cells of the simplified tile of a file Decompressed DEM.
- the invention also relates to a decompressed MNT file resulting from the implementation of the previous decompression method.
- the invention also relates to a computer program product comprising instructions, which when executed by a computer allow the implementation of the previous compression method or the previous decompression method.
- the invention also relates to a compressed MNT file following the implementation of the previous method.
- the invention also relates to a method for decompressing a compressed DEM file following the implementation of the previous method.
- the invention also relates to a computer program product whose instructions, when they are executed by a computer, allow the implementation of the preceding compression method or the preceding decompression method.
- FIG 1 Figure 1 illustrates the structure of a source DEM file
- Figure 2 is a schematic representation of an embodiment of the method for compressing a source DEM file according to the invention
- Figures 3A, 3B and 3C is a numerical example of the implementation of the compression method of Figure 2;
- Figure 4 is an illustration of a compressed DEM file obtained at the output of the compression process of figure 2 on the numerical example of figure 3;
- FIG 5 is a schematic representation of an embodiment of the method for decompressing a compressed MNT file according to the invention.
- the compression method according to the invention is also based on a tree representation of the source MNT file, it advantageously combines such a representation with a compression algorithm of the "delta coding” type (or “delta coding” in English), specifically adapted to a non-homogeneous resolution of the tree representation, that is to say a number of nodes per level of depth of the tree representation which is not constant across all the levels depth of the tree.
- a source DEM file for example a world DEM file of the earth's surface, comprises elevation values which are grouped in the following way.
- the earth's surface is first subdivided into at least a first level of regions.
- a region 2 is a square with sides of 1°.
- a region is oriented parallel to the terrestrial meridians and parallel to the terrestrial parallels.
- a region of the first level is subdivided into a plurality of regions of a second level of regions.
- a region of the second level is for example a square of side 0.25°.
- the first-level region is then subdivided into 16 second-level regions.
- the target resolution being 3
- the decomposition with a single level of regions is suitable.
- Each region (or each region of the lowest level of regions) is then subdivided into a plurality of tiles.
- a tile 3 is preferably a square of 6' side, or 0.1° side. A region therefore has 100 tiles.
- a tile 3 is the element of source DEM file 1 that actually aggregates the elevation values for the area of the earth's surface represented by that tile.
- Each tile is identified by geographical coordinates, for example a longitude coordinate and a latitude coordinate, which correspond to the coordinates of a reference point of the tile. This reference point is for example the lower left corner of the tile.
- a tile 3 is then subdivided into a plurality of cells 4.
- a tile consists of a matrix of 120x120 cells. A cell is then a square of 3” side.
- a cell has a single elevation value, which is the elevation of a center point of the area of the earth's surface represented by that cell.
- 3 is about 30 kilobytes.
- FIGS. 3 and 4 a simplified embodiment is considered in FIGS. 3 and 4 for which a tile consists of a matrix of 8 ⁇ 8 cells.
- FIGS. 3 and 4 an embodiment of the method for compressing 100 a source DEM file will be presented.
- a source tile 3 extracted from a source DTM file 1 is represented in the form of an initial tree 115.
- a graph consists of a plurality of nodes and edges, a edge connecting two nodes together.
- a tree is mathematically defined as an acyclic (non-cycle) connected (one-piece) graph.
- the nodes of a tree are distributed over N depth levels, with the specificity that the lowest level (level 0) has a single node, or root node, and that, for each other level, a node of the depth level i (i integer between 1 and N) is connected by only one edge, or branch, to a single node, or parent node, belonging to the previous depth level, i-1.
- Terminal nodes ie nodes without descendants
- the nodes other than the root node and the terminal nodes are said to be intermediate.
- a node Ni,j of the tree can be identified by two integers: the first integer i corresponding to the depth level to which this node belongs (i is therefore an integer between 0 and N); the second integer j corresponding to an identifier given to each of the nodes of the same depth level (j is therefore an integer between 1 and Ni, where Ni is the maximum number of nodes of the depth level i).
- the representation of a tile 3 is an initial tree 115 which is a homogeneous tree, insofar as all the terminal nodes belong to the same depth level, the lowest level N.
- the tree representation does not follow that of a "quad-tree" in the strict sense since the figure of 120 cells is not aligned on a power of two.
- the tree representation is obtained by dividing the 120x120 cell tile as follows:
- Tile 3 is represented by the root node of the tree
- a first division makes it possible to define 5 ⁇ 5 first zones in the tile 3: each first zone covers 24 ⁇ 24 cells 4 of the tile 3 and is represented by an intermediate node of the first level of depth in the initial tree 115;
- each second zone covers 8x8 cells and is represented by an intermediate node of the second level of depth in the initial tree 115;
- a third division makes it possible to define 2 ⁇ 2 third zones in each second zone: each third zone covers 4 ⁇ 4 cells and is represented by an intermediate node of the third level of depth;
- a fourth division makes it possible to define 2 ⁇ 2 fourth zones in each third zone: each fourth zone covers 2 ⁇ 2 cells and is represented by an intermediate node of the fourth level of depth; and,
- each fifth zone is a cell of tile 3 and is represented by a terminal node of the initial tree 115.
- a tile 3 consisting of an 8x8 cell matrix 4
- three levels deep are sufficient, each level leading to the subdivision of the parent node into 2X2 child nodes.
- FIG. 3A A numerical example of an 8x8 cell tile is given in Figure 3A.
- the subdivision of the tile following the first level of depth is indicated by a strong line
- the subdivision following the second level of depth is indicated by a dotted line
- the subdivision following the third level of depth is indicated by a thin line (which consequently delimits the cells of the initial tree 115 representing the source tile 3).
- the tree 115 representing the tile 3 of FIG. 3A is that illustrated schematically in FIG. 2.
- the root node corresponding to the tile 3 is represented by a triangle
- the Terminal nodes corresponding to cells are represented by circles
- intermediate nodes are represented by squares.
- a second step 120 the initial tree 115 (which represents the initial tile) is pruned to obtain a pruned tree 125.
- the pruned tree 125 represents a simplified tile.
- An area of a tile represented by a node models a surface of the terrain whose size depends on the depth level of this node. There is therefore a correspondence between the spatial resolution of a cell of a tile and the depth level of a terminal node of the tree representing this cell. Step 120 makes it possible to adapt the local resolution of the tree representation according to a pruning criterion.
- the pruning of the initial tree 115 makes it possible to locally limit the depth level of the tree representation by transforming an intermediate node of the initial tree 115 into a terminal node of the pruned tree 125, when the terminal nodes which descend of this intermediate node in the initial tree are analogous to each other, that is to say when the elevation values of the cells represented by these terminal nodes respect a predefined pruning criterion.
- the area represented by this node in tile 3 becomes a cell for the tile represented by this same node in the pruned tree 125.
- This cell comprises a single elevation value, which is based on the elevation values of the cells represented by the terminal nodes that have been pruned.
- the pruning criterion is advantageously chosen to represent the elevation error made when one chooses, for an intermediate node Ni,j, not to descend to the following depth levels and to give a single elevation value to the entire area represented by the intermediate node Ni,j considered.
- a pruning parameter pij is chosen as the difference between the maximum elevation value and the minimum elevation value of the cells represented by the terminal nodes from the intermediate node Ni J considered.
- the pruning criterion is then a test on this pruning parameter pij.
- the pruning parameter pij is compared to a maximum error threshold, E max, adjusted prior to the implementation of the compression method 200.
- each node Ni,j of the initial tree 115 is successively considered, starting from the root node.
- the process goes to the next node Ni,j+1 of the same depth level or, if all the remaining nodes of the depth level i have been tested, at the first node of the next depth level i+1 that remains.
- the criterion is verified for the node Ni J, then all the elevation values of the cells represented by the terminal nodes coming from the node Ni J are replaced by a single elevation value, knowing that the elevation error which results of this simplification remains below the maximum error threshold, E max.
- the unique elevation value is preferably the maximum elevation value among the elevation values of the cells represented by the terminal nodes originating from the node Ni,j.
- the choice of the maximum makes it possible to guarantee that in no case, for the same point on the earth's surface, the elevation value of the decompressed DEM file will not be lower than the elevation value of the source DEM file, in order to guarantee the security of the data provided to an aeronautical application for example.
- FIG. 3B represents a simplified tile 123 which is the result of the application of step 120 to the source tile 3 of FIG. 3A, with a pruning criterion whose maximum error threshold is fixed at 10 m.
- the elevation value retained is the maximum elevation value of the underlying cells.
- the tree 125 which represents the simplified tile 123 is represented schematically in FIG. 2.
- the tree 125 is not necessarily homogeneous, its terminal nodes possibly belonging to different levels of depth.
- a third step 130 the pruned tree 125 is traversed to encode the elevation values in order to limit the amplitude of the data and allow them to be encoded on a smaller number of bits.
- Encoding consists of replacing the elevation value of a cell represented by a terminal node of the pruned tree by its difference with the elevation value of a previous terminal node. This requires ordering the terminal nodes of the pruned tree 125.
- a reference node is first defined for the pruned tree 125. This is for example the terminal node of the pruned tree which represents an area covering the cell of the upper left corner of the initial tile .
- the elevation value of the reference node in the pruned tree is taken as the reference elevation E Ref.
- the reference elevation may be different from the elevation value of the cell of the upper left corner of the initial tile 3, when the latter was pruned in step 120.
- the elevation value of the reference node is encoded by replacing it with its difference with the reference elevation E_Ref.
- the elevation value encoded for the reference node is therefore equal to 0.
- the elevation value is encoded as a difference from the reference elevation E Ref.
- the first rule involves the neighboring area on the left and the second rule involves the neighboring area above, since the reference cell, which is the starting point of the decompression, is the corner cell top left of the initial tile.
- the reference cell which is the starting point of the decompression, is the corner cell top left of the initial tile.
- the choice of another reference cell would lead to other scheduling rules.
- FIG. 3C illustrates the encoded simplified tile 133 resulting from the application of step 130 on the simplified tile 123 of FIG. 3B.
- the arrows indicate the area neighboring the area considered for the calculation of the differential elevation value.
- the amplitude of the encoded differential elevation values is in the reduced interval [0; 22] It is therefore sufficient to encode these values on 6 bits only, instead of the 11 bits required to encode the elevation values of the source tile 3.
- Differential encoding therefore makes it possible to reduce the amplitude of the values to be encoded, two neighboring terrestrial surfaces often having similar elevations.
- the differential pruned tree 135 is serialized to obtain a stream, preferably binary, as part of a compressed DEM file.
- the binary stream is initialized with, in a first field, the reference elevation E Ref of the tile considered.
- the reference elevation is preferably coded on 16 bits.
- a second field information relating to the number of bits necessary for the coding of the differential elevation values.
- This information is for example coded on 4 bits.
- This second field is not necessary if the number of bits required for coding is fixed in advance.
- a sequence consists of a header and a payload.
- the header aims to indicate the depth level of the terminal node considered.
- the payload indicates the differential elevation value of the considered terminal node. Each elevation value is encoded on the number of bits indicated in the second field.
- the series of sequences follows a predefined reading order of the terminal nodes of the tree 135.
- the node following the node considered is the node which represents a zone close to that represented by the node considered in the simplified tile 133 when the 'one traverses its cells from left to right and from top to bottom, giving preference to a line break when it is possible to remain at the same level of resolution, that is to say at the same level of depth as the node considered.
- This reading order is represented by the arrows in FIG. 3B for more readability.
- the binary stream of Figure 4 results from the application of step 130 to the encoded simplified tile 133 of Figure 3C.
- the bitstream includes a first field indicating the reference elevation, which is the value 650.
- the bitstream includes a second field indicating the number of bits on which the differential elevation values are encoded. Given the amplitude of these values, the coding is performed on 6 bits. The second field therefore indicates the value 6. This value is for example coded on 4 bits.
- the binary stream comprises a first sequence corresponding to the reference node. In this example, it is a terminal node belonging to the third depth level.
- the header of the first sequence then comprises a first bit at 1 indicating that it is necessary to go down to the second level of depth, then a second bit at 1 indicating that it is necessary to go down to the third level of depth, then a third bit to 0 indicating the stop in the level of resolution.
- a bit at 0 is added, the writing of the header is finished and the sequence is completed by the differential elevation value of the reference node, ie the value 0, which is coded on 6 bits.
- the binary stream comprises a second sequence corresponding to a second node which is the node following the reference node. It is a terminal node belonging to the third level of depth.
- the header of the second sequence then comprises a first bit at 1 indicating that it is necessary to go down to the second level of depth, then a second bit at 1 indicating that it is necessary to go down to the third level of depth, then a third bit to 0 indicating the stop in the level of resolution.
- step by step the entire pruned tree is fully traversed to obtain a binary stream of the compressed DTM file.
- the header does not define the depth level absolutely, but relatively, taking into account the known structure of the tree.
- the reference node belongs to the third depth level (as is the case in Figures 3), we know that it is followed by three nodes of the same depth level, so the headers corresponding sequences, S2, S3 and S4, can be omitted.
- sequences S1 to S4 allow to describe a zone of the tile represented by a node of the second level, after the sequence S4, we know that we will have to describe a zone represented by another node of the second level. Thus the first bit of the header of the sequence describing this other node can be omitted.
- this other node is terminal and then the header includes a bit at 0 to indicate that it is not necessary to descend to the third depth level (case of sequences S5 and S6), or this other node n is not terminal and then the header includes a bit at 1 followed by a bit at 0 to indicate it is necessary to go down to the third level of depth (case of S7 sequences),
- the node of the sequence S7 belongs to the third level of depth, it is known that it is followed by three nodes of the same level of depth, so the headers of the corresponding sequences, S8 to S10, can be omitted.
- the sequences S1 to S10 having made it possible to describe a zone of the tile represented by a first level node, after the sequence S10, we know that we will have to describe a zone represented by another node of the first level.
- the first bit of the header of the sequence describing this other node can be omitted. Either this other node is terminal and then the header includes a bit at 0 to indicate that it is not necessary to descend to the second depth level (case of sequences S11 and S12), or this other node does not is not terminal and then the header includes a bit at 1 to indicate that it is necessary to descend to the second level of depth, followed by a bit for example at 0 indicating that it is not necessary to continue to descend (case of S13 sequences).
- the node of the sequence S13 belonging to the second depth level it is known that it is followed by three nodes of the same depth level, so that the headers of the corresponding sequences can be simplified by omitting the first bit at 1 ( case of sequences S14 to S16).
- the binary stream obtained has a high compression rate compared to the initial tile.
- the bit stream is stored in the memory of an on-board processor.
- Figure 5 illustrates one embodiment of a decompression method 200.
- a binary stream is extracted from a compressed DEM file 5.
- a first step 210 the reference elevation information and the number of bits encoding the differential elevation values are extracted from the bitstream.
- the depth level of the current sequence is determined (step 222). This current depth is determined from the header of the current sequence and/or the location of the reconstruction of the simplified tile where you are at the current decompression time.
- a value of the differential elevation is determined (step 224). It is decoded from the payload.
- step 226 an absolute elevation value is calculated from the differential elevation value taking into account the scheduling rules that were used for compression in step 120.
- the matrix of cells of the simplified tile is updated by associating the zone represented by the terminal node corresponding to the current sequence with the absolute elevation value.
- the zone concerned is identified taking into account the sequential order which was used for the compression, in step 140.
- the simplified tile is reconstructed. It constitutes all or part of the decompressed MNT file. It is represented by the pruned tree 125. This decompressed MNT file is finally transmitted to the application which requested the decompression of the corresponding binary stream.
- the compression method according to the invention by coupling a tree representation of the terrain with a fast differential compression algorithm taking into account maximum error constraints, makes it possible to achieve high compression rates while requiring only little computing power and memory for decompression and by controlling the error on the decompressed values.
- the compression method according to the invention also makes it possible to guarantee, a priori, the maximum compression error, making it easily usable in critical applications.
- the pruning criterion used can be modulated so as to suitably adapt it to the areas of interest of the tile considered. This makes it possible to modulate the precision of the modeling of a terrain surface according to an identified functional need.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
Ce procédé (100) consiste à compresser un fichier de modélisation numérique de terrain - MNT source (1) pour produire un fichier MNT compressé (5), le fichier MNT source (1) comportant une tuile source (3) constituée d'une matrice de cellules, chaque cellule comportant une valeur d'élévation d'un point géographique du terrain modélisé : en représentant (1 10) la tuile source (3) sous la forme d'un arbre initial (115), l'arbre initial ayant une pluralité de niveaux de profondeur, chaque nœud terminal de l 'arbre initial représentant une zone de la tuile correspondant à une unique cellule; en élaguant (120) l'arbre initial (115) pour obtenir un arbre élagué (125) en utilisant un critère d'élagage; en encodant (130) la valeur d'élévation associée à chacun des nœuds terminaux de l'arbre élagué (125) pour obtenir une valeur d'élévation différentielle en partant d'une élévation de référence; et, en sérialisant (130) l'arbre élagué résultant de l'encodage pour obtenir le fichier MNT compressé (5), ledit fichier indiquant l'élévation de référence, puis une pluralité de séquences, chaque séquence comportant un en-tête indicatif d'un niveau de profondeur du nœud terminal considéré, et une charge indicative de la valeur d'élévation différentielle du nœud terminal considéré.
Description
DESCRIPTION
TITRE : Procédés de compression et de décompression d’un fichier de modèle numérique de terrain ; fichiers compressé et décompressé et produit programme d’ordinateur associés.
La présente invention concerne l’utilisation de fichiers de modèle numérique de terrain - ou fichiers MNT. Elle concerne plus particulièrement les procédés de compression / décompression de fichiers MNT permettant leur utilisation sur des calculateurs embraqués.
Un fichier MNT comporte les données d’élévation pour un ensemble de points géographiques d’un terrain. Ces points permettent de construire un maillage offrant une représentation en trois dimensions du terrain. Le terrain représenté peut être tout ou partie de la surface terrestre, du fond des océans, ou encore de la surface d’une autre corps céleste que la Terre.
La disponibilité croissante de fichiers MNT a favorisé l’émergence de nombreuses fonctions de navigation ou de sûreté dans des domaines comme l’aéronautique embarquée (drones, aéronefs, etc.), la navigation marine ou sous-marine embarquée (navires de surface, sous-marins, etc.), ou encore des applications terrestres embarquées (navigation automobile avec cartographie embarquée, etc.)
La résolution d’un fichier MNT est parfois très élevée. Par exemple, la distance caractéristique entre deux points d’un fichier MNT peut être inférieure à 0,1”, c’est-à-dire inférieure à 3 m.
Le volume de données à stocker dans un calculateur peut par conséquent être très élevé, avec par exemple des valeurs supérieures à la centaine de giga-octets pour les fichiers MNT mondiaux les plus précis.
Or, une plateforme par exemple avionique est équipée d’un calculateur embarqué, qui se caractérise par quelques centaines de mégaoctets de mémoire de masse, quelques mégaoctets de mémoire vive, et un processeur mono-cœur ne tournant qu’à quelques centaines de mégahertz.
Il s’agit en fait d’une conséquence de la nécessité de certifier un calculateur embarqué avant de pouvoir l’utiliser. Comme les processus de certification sont longs et coûteux, les calculateurs embarqués en service appartiennent à des générations de calculateurs anciennes.
La complexité, le coût et le temps de développement et de certification d’un calculateur embarqué critique sont tels que l’on ne peut pas rajouter de la mémoire ou changer de processeur sans engager des frais très importants.
Il est donc nécessaire de compresser un fichier MNT source avant de le télécharger sur un calculateur embarqué aux ressources mémoires limitées.
Par ailleurs, les données de terrain doivent pouvoir être mises à la disposition des applications qui le requiert en temps-réel, notamment pour la réalisation de fonctions critiques de navigation ou de sûreté. Il faut donc que le calculateur embarqué soit capable de décompresser le fichier MNT compressé qu’il mémorise.
Or, les procédés connus de compression/décompression de données de terrain sont soit insuffisamment performants en taux de compression, de sorte que le fichier MNT compressé demande encore plusieurs giga-octets de mémoire de masse pour des représentations mondiales en haute résolution, soit insuffisamment performants en rapidité de décompression et demandent de disposer de processeurs tournant à plus d’un gigahertz pour pouvoir disposer des données décompressées en temps-réel.
Ainsi, par exemple, les documents US8665266B2 et US4890249A divulguent des procédés de compression/décompression fondés sur des représentations vectorielles. De tels procédés, quoiqu’efficaces en terme de compression, obligent le décodeur à utiliser des fonctions mathématiques (notamment des fonctions trigonométriques sin, cos, etc.) complexes pour reconstituer une matrice d’élévation du terrain environnant. L’utilisation de ces fonctions mathématiques est coûteuse en terme de performance. Ces procédés ne sont donc pas adaptés au cas de calculateurs embarqués.
Par exemple encore, les documents US9462275B2 ou CN102684703A divulguent des procédés de compression/décompression fondés sur des algorithmes du type « quad- tree » (« arbre quaternaire » ou « arbre Q »), couplés à des algorithmes de compression avec pertes du type à transformées espace-fréquence (comme des transformées en « ondelettes »), ainsi que des algorithmes d’encodage à base de codes d’Huffman ou de type CABAC (algorithmes connus de l’homme du métier). Ces procédés sont très performants en terme de taux de compression, mais ont le défaut d’être extrêmement gourmands en ressources de calcul, aussi bien pour la compression que pour la décompression. Les processeurs capables de décompresser en temps-réel les algorithmes proposés ci-dessus tournent typiquement à plus d’un gigahertz et utilisent plusieurs centaines de mégaoctets de mémoire vive.
Ces procédés connus sont par conséquent inutilisables sur des calculateurs embarqués. D’autant que ces procédés connus ne permettent pas de contrôler a priori
l’erreur maximum due à la compression, obligeant à réaliser plusieurs cycles de compression-décompression-vérification pour garantir l’erreur maximum.
Il est à noter que la complexité du procédé de compression peut être grande, puisque ce procédé n’est pas exécutée ni en temps-réel, ni sur le calculateur embarqué, mais sur un ordinateur externe, qui peut être un calculateur de dernière génération, et donc de grande puissance.
Il faut donc trouver des procédés de compression alternatifs permettant le stockage et la décompression de fichiers MNT sans avoir à changer la conception matérielle existante des plateformes.
Le but de la présente invention est par conséquent de résoudre ce problème, en proposant un procédé de compression amélioré de fichiers MNT,, ce procédé présentant un taux de compression élevé, tout en permettant au procédé de décompression correspondant, exécuté sur un calculateur embarqué, une grande vitesse de décompression, compatible d’applications temps-réel.
Pour cela l’invention a pour objet un procédé de compression d’un fichier de modélisation numérique de terrain - MNT source de manière à produire un fichier MNT compressé propre à être stocké et décompressé en temps réel par un calculateur embarqué, ledit fichier MNT source comportant une tuile source constituée d’une matrice de cellules, chaque cellule comportant une valeur d’élévation d’un point géographique d’un terrain modélisé, caractérisé en ce que ledit procédé comporte les étapes consistant à : Représenter la tuile source sous la forme d’un arbre initial comportant un nœud racine, des nœuds intermédiaires et des nœuds terminaux, l’arbre initial ayant une pluralité de niveaux de profondeur, chaque nœud de l’arbre initial représentant une zone de la tuile source, chaque nœud terminal de l’arbre initial représentant une zone de la tuile correspondant à une unique cellule ; Elaguer l’arbre initial en appliquant un critère d’élagage pour obtenir un arbre élagué, le critère d’élagage permettant, lorsqu’il est vérifié, de limiter localement un nombre de niveaux de profondeur de l’arbre initial en s’arrêtant à un nœud intermédiaire, le nœud intermédiaire étant alors considéré comme un nœud terminal de l’arbre élagué et représentant une zone d’une tuile simplifiée comportant une valeur d’élévation unique qui est fonction des valeurs d’élévation des cellules associées aux nœuds terminaux qui descendent dudit nœud intermédiaire et qui ont été élagués ; Encoder la valeur d’élévation associée à chacun des nœuds terminaux de l’arbre élagué pour obtenir une valeur d’élévation différentielle, la valeur d’élévation différentielle d’un nœud terminal de l’arbre élagué étant obtenu par différence entre la valeur d’élévation associée audit nœud terminal et la valeur d’élévation associée à un nœud terminal précédent de l’arbre élagué, défini conformément à des règles d’ordonnancement permettant d’ordonner les nœuds terminaux
de l’arbre élagué les uns à la suite des autres à partir d’un nœud terminal de référence, dont la valeur d’élévation est prise comme élévation de référence et dont la valeur d’élévation différentielle est égale à zéro ; et sérialiser l’arbre élagué résultant de l’encodage pour obtenir le fichier MNT compressé en parcourant les nœuds terminaux de l’arbre élagué selon un ordre de sérialisation à partir du nœud terminal de référence, le fichier MNT compressé comportant un premier champ indiquant l’élévation de référence, puis une pluralité de séquences, chaque séquence comportant un en-tête, indicatif d’un niveau de profondeur du nœud terminal considéré, et une charge, indicative de la valeur d’élévation différentielle du nœud terminal considéré.
Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- lequel le critère d’élagage permettant de limiter localement le nombre de niveaux de profondeur de l’arbre initial en s’arrêtant à un nœud intermédiaire consiste à vérifier que l’ensemble des valeurs d’élévation associées aux nœuds terminaux qui descendent dudit nœud intermédiaire sont à l’intérieur d’un intervalle d’erreur prédéfini.
- les règles d’ordonnancement pour l’encodage consistent : si une zone de la tuile représentée par le nœud terminal considéré possède au moins une zone voisine à gauche, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée à partir de la valeur d’élévation de la zone voisine à gauche qui est la plus au-dessus parmi ladite au moins une zone voisine à gauche ; si la zone de la tuile représentée par le nœud terminal considéré n’a pas de zone voisine à gauche, mais possède au moins une zone voisine au- dessus, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée à partir de la valeur d’élévation de la zone voisine au-dessus la plus à gauche parmi ladite au moins une zone voisine au-dessus ; sinon, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée en différence de l’élévation de référence.
- l’en-tête d’une séquence d’un fichier MNT compressé est omis lorsque le nœud terminal considéré appartient au même niveau de profondeur que le nœud terminal précédent selon l’ordre de sérialisation.
- l’en-tête d’une séquence d’un fichier MNT compressé est défini de manière absolue par rapport au nœud racine de l’arbre élagué ou le niveau de profondeur le plus bas de l’arbre initial, ou de manière relative par rapport au niveau de profondeur du nœud précédent selon l’ordre de sérialisation.
- l’encodage permettant de limiter une plage des valeurs d’élévation différentielles associées aux nœuds terminaux de l’arbre élagué, est défini un nombre minimum de bits
permettant de coder les valeurs d’élévation différentielles, et le fichier MNT compressé comportant un second champ indiquant le nombre minimum de bits.
L’invention a également pour objet un fichier MNT compressé résultant de la mise en œuvre du procédé de compression précédent.
Pour cela l’invention a pour objet un procédé de décompression d’un fichier MNT compressé, caractérisé en ce qu’il comporte les étapes consistant à : extraire du fichier MNT compressé, un flux binaire correspondant à une tuile simplifiée représentée par un arbre élagué ; et lire une élévation de référence à partir du premier champ du flux binaire ; puis, pour chaque séquence du flux binaire correspondant à un nœud terminal de l’arbre élagué en partant d’un nœud terminal de référence dont la valeur d’élévation est égale à l’élévation de référence, jusqu’à décompression complète du flux binaire, déterminer un niveau de profondeur à partir d’un en-tête de la séquence courante et lire une valeur d’élévation différentielle à partir de la charge de la séquence courante ; calculer une valeur d’élévation à partir de la valeur d’élévation différentielle lue et d’une valeur d’élévation d’un nœud terminal précédent, défini conformément à des règles d’ordonnancement ; mettre à jour, avec la valeur d’élévation calculée, les valeurs d’élévation des cellules d’une zone de la tuile simplifiée représentée par le nœud terminal courant, afin d’obtenir une matrice de cellules de la tuile simplifiée d’un fichier MNT décompressé.
L’invention a également pour objet un fichier MNT décompressé résultant de la mise en œuvre du procédé de décompression précédent.
L’invention a également pour objet un produit programme d’ordinateur comportant des instructions, qui lorsqu’elles sont exécutées par un ordinateur permettent la mise en œuvre du procédé de compression précédent ou le procédé de décompression précédent.
L’invention a également pour objet un fichier MNT compressé suite à la mise en œuvre du procédé précédent.
L’invention a également pour objet un procédé de décompression d’un fichier MNT compressé suite à la mise en œuvre du procédé précédent.
L’invention a également pour objet un produit programme d’ordinateur dont les instructions, lorsqu’elles sont exécutées par un ordinateur, permettent la mise en œuvre du procédé de compression précédent ou du procédé de décompression précédent.
L’invention et ses avantages seront mieux compris à la lecture de la description détaillée qui va suivre d’un mode de réalisation particulier, donné uniquement à titre d’exemple non limitatif, cette description étant faite en se référant aux dessins annexés sur lesquels :
[Fig 1] La figure 1 illustre la structure d’un fichier MNT source ;
[Fig 2] La figure 2 est une représentation schématique d’un mode de réalisation du procédé de compression d’un fichier MNT source selon l’invention ;
[Fig 3] Les figures 3A, 3B et 3C est un exemple numérique de mise en œuvre du procédé de compression de la figure 2 ;
[Fig 4] La figure 4 est une illustration d’un fichier MNT compressé obtenu en sortie du procédé de compression de la figure 2 sur l’exemple numérique de la figure 3 ; et,
[Fig 5] La figure 5 est une représentation schématique d’un mode de réalisation du procédé de décompression d’un fichier MNT compressé selon l’invention.
De manière générale, si le procédé de compression selon l’invention est également fondé sur une représentation en arbre du fichier MNT source, il combine avantageusement une telle représentation avec un algorithme de compression du type « codage delta » (ou « delta coding » en anglais), spécifiquement adapté à une résolution non-homogène de la représentation en arbre, c’est-à-dire un nombre de nœuds par niveau de profondeur de la représentation en arbre qui n’est pas constant à travers l’ensemble des niveaux de profondeur de l’arbre.
De manière connue en soi, comme illustré sur la figure 1 , un fichier MNT source 1 , par exemple un fichier MNT mondial de la surface terrestre, comporte des valeurs d’élévation qui sont regroupées de la manière suivante.
La surface terrestre est d’abord subdivisée en au moins un premier niveau de régions. Par exemple, une région 2 est un carré de 1 ° de côté. Une région est orientée parallèlement aux méridiens terrestres et parallèlement aux parallèles terrestres.
Pour une résolution cible élevée de l’ordre de 0,1 ”, d’autres niveaux de régions, emboîtés les uns dans les autres, sont envisageables pour limiter le volume des données à manipuler à chaque niveau de régions. Par exemple, une région du premier niveau est subdivisée en une pluralité de régions d’un second niveau de régions. Une région du second niveau est par exemple un carré de 0,25° de côté. La région de premier niveau est alors subdivisée en 16 régions du second niveau.
Dans le présent mode de réalisation, la résolution cible étant de 3”, la décomposition avec un seul niveau de régions est adaptée.
Chaque région (ou chaque région du niveau de régions le plus bas) est ensuite subdivisée en une pluralité de tuiles. Dans le présent mode de réalisation, une tuile 3 est de préférence un carré de 6’ de côté, soit 0,1 ° de côté. Une région comporte par conséquent 100 tuiles.
Une tuile 3 est l’élément du fichier MNT source 1 qui regroupe effectivement les valeurs d’élévation de la zone de la surface terrestre représentée par cette tuile.
Chaque tuile est identifiée par des coordonnées géographiques, par exemple une coordonnée de longitude et une coordonnée de latitude, qui correspondent aux coordonnées d’un point de référence de la tuile. Ce point de référence est par exemple le coin inférieur gauche de la tuile. Une tuile 3 est ensuite subdivisée en une pluralité de cellules 4.
Dans le mode de réalisation préféré, une tuile est constituée d’une matrice de 120x120 cellules. Une cellule est alors un carré de 3” de côté.
Une cellule comporte une unique valeur d’élévation, qui est l’élévation d’un point central de la zone de la surface terrestre représentée par cette cellule. En codant la valeur d’élévation de chaque cellule sur 16 bits, le volume d’une tuile
3 est d’environ 30 kilo-octets.
Pour faciliter la description du procédé selon l’invention et pouvoir l’illustrer par des figures, on considère aux figures 3 et 4 un mode de réalisation simplifié pour lequel une tuile est constituée d’une matrice de 8x8 cellules. En se référant à la figure 2, un mode de réalisation du procédé de compression 100 d’un fichier MNT source va être présenté.
Première étape
Dans une première étape 110, une tuile source 3 extraite d’un fichier MNT source 1 est représentée sous la forme d’un arbre initial 115. De manière générale, un graphe est constitué d’une pluralités de nœuds et d’arêtes, une arête connectant deux nœuds entre eux. Un arbre est définit mathématiquement comme un graphe acyclique (sans cycle) connexe (d’un seul tenant).
Dit autrement, les nœuds d’un arbre sont répartis sur N niveaux de profondeur, avec la spécificité que le niveau le moins élevé (niveau 0) comporte un unique nœud, ou nœud racine, et que, pour chaque autre niveau, un nœud du niveau de profondeur i (i entier entre 1 et N) est connecté par uniquement une arête, ou branche, à un seul nœud, ou nœud parent, appartenant au niveau de profondeur précédent, i-1. Les nœuds terminaux (c’est- à-dire des nœuds sans descendance) sont dénommés feuilles. Les nœuds autres que le nœud racine et les nœuds terminaux sont dits intermédiaires. Un nœud Ni,j de l’arbre peut être identifié par deux entiers : le premier entier i correspondant au niveau de profondeur auquel appartient ce nœud (i est donc un entier entre 0 et N) ; le second entier j correspondant à un identifiant donné à chacun des nœuds d’un même niveau de profondeur (j est donc un entier entre 1 et Ni, ou Ni est le nombre maximum de nœuds du niveau de profondeur i).
La représentation d’une tuile 3 est un arbre initial 115 qui est un arbre homogène, dans la mesure où tous les nœuds terminaux appartiennent au même niveau de profondeur, le niveau N le plus bas.
Pour le cas d’une tuile de 120 cellules de côté, le représentation en arbre ne suit pas celui d’un « quad-tree » au sens strict puisque le chiffre de 120 cellules n’est pas aligné sur une puissance de deux.
La représentation en arbre est obtenue à partir du découpage de la tuile de 120x120 cellules de la manière suivante :
La tuile 3 est représentée par le nœud racine de l’arbre ;
Un premier découpage permet de définir 5x5 premières zones dans la tuile 3 : chaque première zone recouvre 24x24 cellules 4 de la tuile 3 et est représentée par un nœud intermédiaire du premier niveau de profondeur dans l’arbre initial 115 ;
Un second découpage permet de définir 3x3 secondes zones dans chaque premier zone: chaque seconde zone recouvre à 8x8 cellules et est représentée par un nœud intermédiaire du second niveau de profondeur dans l’arbre initial 115 ;
Un troisième découpage permet de définir 2x2 troisièmes zones dans chaque seconde zone: chaque troisième zone recouvre 4x4 cellules et est représentée par un nœud intermédiaire du troisième niveau de profondeur ;
Un quatrième découpage permet de définir 2x2 quatrièmes zones dans chaque troisième zone : chaque quatrième zone recouvre 2x2 cellules et est représentée par un nœud intermédiaire du quatrième niveau de profondeur ; et,
Un cinquième découpage permet de définir 2x2 cinquièmes zones dans chaque quatrième zone : chaque cinquième zone est une cellule de la tuile 3 et est représentée par un nœud terminal de l’arbre initial 115.
Ainsi, le produit du nombre de nœuds par niveau de profondeur, 5x3x2x2x2, donne bien le nombre de 120 cellules pour la tuile 3.
Pour le mode de réalisation simplifié, d’une tuile 3 constituée d’une matrice de 8x8 cellules 4, trois niveaux de profondeur sont suffisants, chaque niveau conduisant à la subdivision du nœud parent en 2X2 nœuds enfants.
Un exemple numérique d’une tuile de 8x8 cellules est donné à la figure 3A. La subdivision de la tuile suivant le premier niveau de profondeur est indiquée par un trait fort, la subdivision suivant le second niveau de profondeur est indiquée par un trait pointillé, et la subdivision suivant le troisième niveau de profondeur est indiquée par un trait fin (qui délimite par conséquent les cellules de l’arbre initial 115 représentant la tuile source 3).
L’arbre 115 représentant la tuile 3 de la figure 3A est celui illustré schématiquement sur la figure 2. Le nœud racine correspondant à la tuile 3 est représenté par un triangle, les
nœuds terminaux correspondant aux cellules sont représentés par des ronds, et les nœuds intermédiaires sont représentés par des carrés.
Dans une seconde étape 120, l’arbre initial 115 (qui représente la tuile initiale) est élagué pour obtenir un arbre élagué 125. L’arbre élagué 125 représente une tuile simplifiée.
Une zone d’une tuile représentée par un nœud modélise une surface du terrain dont la taille dépend du niveau de profondeur de ce nœud. Il y a donc une correspondance entre résolution spatiale d’une cellule d’une tuile et niveau de profondeur d’un nœud terminal de l’arbre représentant cette cellule. L’étape 120 permet d’adapter la résolution locale de la représentation en arbre en fonction d’un critère d’élagage.
L’élagage de l’arbre initial 115 permet de limiter localement le niveau de profondeur de la représentation en arbre en transformant un nœud intermédiaire de l’arbre initial 115 en un nœud terminal de l’arbre élagué 125, lorsque les nœuds terminaux qui descendent de ce nœud intermédiaire dans l’arbre initial sont analogues entre eux, c’est-à-dire lorsque les valeurs d’élévation des cellules représentées par ces nœuds terminaux respectent un critère d’élagage prédéfini.
Dans ce cas, en devenant un nœud terminal, la zone représentée par ce nœud dans la tuile 3 devient une cellule pour la tuile représentée par ce même nœud dans l’arbre élagué 125. Cette cellule comporte une unique valeur d’élévation, qui est fonction des valeurs d’élévation des cellules représentées par les nœuds terminaux ayant été élagués.
Le critère d’élagage est avantageusement choisi pour représenter l’erreur d’élévation commise lorsque l’on choisit, pour un nœud intermédiaire Ni,j, de ne pas descendre aux niveaux de profondeur suivants et de donner une valeur d’élévation unique à toute la zone représentée par le nœud intermédiaire Ni,j considéré.
Par exemple, un paramètre d’élagage pij est choisi comme la différence entre la valeur d’élévation maximale et la valeur d’élévation minimale des cellules représentées par les nœuds terminaux issus du nœud intermédiaire Ni J considéré.
Le critère d’élagage est alors un test sur ce paramètre d’élagage pij. Par exemple, le paramètre d’élagage pij est comparé à un seuil maximum d’erreur, E max, ajusté préalablement à la mise en œuvre du procédé de compression 200.
A l’étape 120, on considère successivement chaque nœud Ni,j de l’arbre initial 115 en partant du nœud racine.
Lorsque le critère d’élagage n’est pas vérifié pour le nœud Ni,j considéré, le procédé passe au nœud suivant Ni,j+1 du même niveau de profondeur ou, si tous les nœuds du niveau de profondeur i qui subsistent ont été testés, au premier nœud du niveau de profondeur suivant i+1 qui subsiste.
Lorsque le critère est vérifié pour le nœud Ni J, alors toutes les valeurs d’élévation des cellules représentées par les nœuds terminaux issus du nœud Ni J sont remplacées par une valeur d’élévation unique, sachant que l’erreur d’élévation qui découle de cette simplification reste inférieure au seuil maximum d’erreur, E max.
La valeur d’élévation unique est de préférence la valeur d’élévation maximale parmi les valeurs d’élévation des cellules représentées par les nœuds terminaux issus du nœud Ni,j. Le choix du maximum permet de garantir qu’en aucun cas, pour un même point de la surface terrestre, la valeur d’élévation du fichier MNT décompressé ne sera plus basse que la valeur d’élévation du fichier MNT source, de manière à garantir la sécurité des données fournies à une application aéronautique par exemple.
La figure 3B représente une tuile simplifiée 123 qui est le résultat de l’application de l’étape 120 sur la tuile source 3 de la figure 3A, avec un critère d’élagage dont le seuil d’erreur maximum est fixé à 10 m. La valeur d’élévation retenue est la valeur d’élévation maximale des cellules sous-jacentes.
L’arbre 125 qui représente la tuile simplifiée 123 est représenté schématiquement sur la figure 2. L’arbre 125 n’est pas forcément homogène, ses nœuds terminaux pouvant appartenir à des niveaux de profondeur différents.
Dans une troisième étape 130, l’arbre élagué 125 est parcouru pour encoder les valeurs d’élévation afin de limiter l’amplitude des données et permettre leur codage sur un plus petit nombres de bits.
L’encodage consiste à remplacer la valeur d’élévation d’une cellule représentée par un nœud terminal de l’arbre élagué par sa différence avec la valeur d’élévation d’un nœud terminal précédent. Cela nécessite d’ordonner les nœuds terminaux de l’arbre élagué 125.
Pour ce faire, un nœud de référence est tout d’abord défini pour l’arbre élagué 125. Il s’agit par exemple du nœud terminal de l’arbre élagué qui représente une zone recouvrant la cellule du coin supérieur gauche de la tuile initiale.
La valeur de l’élévation du nœud de référence dans l’arbre élagué est prise comme élévation de référence E Ref.
On notera que l’élévation de référence peut être différente de la valeur d’élévation de la cellule du coin supérieur gauche de la tuile initiale 3, lorsque cette dernière a été élaguée à l’étape 120.
Puis, la valeur d’élévation du nœud de référence est encodée en la remplaçant par sa différence avec l’élévation de référence E_Ref. La valeur d’élévation encodée pour le nœud de référence est donc égale à 0.
Le choix du nœud terminal précédent avec lequel encoder la valeur d’élévation d’un nœud terminal est à définir précisément, car il faut s’assurer que les valeurs d’élévation initiales peuvent être reconstruites, pas à pas, à partir de la seule élévation de référence E Ref. De plus, la structure de l’arbre élagué n’étant pas homogène (c’est-à-dire que les nœuds terminaux n’appartiennent pas tous au même niveau de profondeur), ce choix n’est pas trivial.
Les règles d’ordonnancement sont avantageusement les suivantes :
- première règle : si la zone associée au nœud considéré a une zone voisine à sa gauche, sa valeur d’élévation sera encodée à partir de la valeur d’élévation du nœud associé à cette zone voisine (au cas où il existe plusieurs zones voisines à gauche, la zone voisine à gauche la plus au-dessus est choisie) ;
- deuxième règle : si la zone associée au nœud considéré n’a pas de zone voisine à sa gauche, mais a une zone voisine au-dessus, sa valeur d’élévation est encodée à partir de la valeur d’élévation du nœud associé à cette zone voisine (au cas où il existe plusieurs zones voisines au-dessus, la zone voisine au-dessus la plus à gauche est choisie);
- troisième règle : sinon, la valeur d’élévation est encodée en différence de l’élévation de référence E Ref.
Il est à noter que la première règle fait intervenir la zone voisine à gauche et que la seconde règle fait intervenir la zone voisine au-dessus, puisque la cellule de référence, qui est le point de départ de la décompression, est la cellule du coin supérieur gauche de la tuile initiale. Le choix d’une autre cellule de référence conduirait à d’autres règles d’ordonnancement.
La figure 3C illustre la tuile simplifiée encodée 133 résultant de l’application de l’étape 130 sur la tuile simplifiée 123 de la figure 3B. Les flèches indiquent la zone voisine de la zone considérée pour le calcul de la valeur d’élévation différentielle.
A l’issue de l’étape 130, l’amplitude des valeurs d’élévation différentielle encodées se situe dans l’intervalle réduit [0 ; 22] Il suffit donc de coder ces valeurs sur 6 bits seulement, au lieu des 11 bits requis pour encoder les valeurs d’élévation de la tuile source 3.
L’encodage différentiel permet donc de réduire l’amplitude des valeurs à coder, deux surfaces terrestres voisines ayant souvent des élévation proches.
Dans une quatrième étape 140, l’arbre élagué différentiel 135 est sérialisé afin d’obtenir un flux, de préférence binaire, en tant que composante d’un fichier MNT compressé.
Le flux binaire est initialisé avec, dans un premier champ, l’élévation de référence E Ref de la tuile considérée. L’élévation de référence est codée de préférence sur 16 bits.
De préférence, est ensuite insérée, dans un second champ, une information relative au nombre de bits nécessaires au codage des valeurs d’élévation différentielle. Cette information est par exemple codée sur 4 bits. Ce second champ n’est pas nécessaire si nombre de bits nécessaire au codage est fixé par avance.
Puis, on insère une série de séquences, chaque séquence correspondant à un nœud terminal de l’arbre élagué différentiel.
Une séquence est constituée d’un en-tête et d’une charge.
L’en-tête vise à indiquer le niveau de profondeur du nœud terminal considéré.
La charge utile indique la valeur d’élévation différentielle du nœud terminal considéré. Chaque valeur d’élévation est codée sur le nombre de bits indiqué dans le second champ.
La série de séquences suit un ordre de lecture prédéfini des nœuds terminaux de l’arbre 135. Par exemple, le nœud suivant le nœud considéré est le noeud qui représente une zone voisine de celle représentée par le nœud considéré dans la tuile simplifiée 133 lorsque l’on parcourt ses cellules de gauche à droite et de haut en bas, en donnant la préférence à un retour à la ligne quand on peut rester au même niveau de résolution, c’est- à-dire au même niveau de profondeur que le nœud considéré.
Cet ordre de lecture est représenté par les flèches sur la figure 3B pour plus de lisibilité.
Ainsi, le flux binaire de la figure 4 résulte de l’application de l’étape 130 sur la tuile simplifiée encodée 133 de la figure 3C.
Le flux binaire comporte un premier champ indiquant l’élévation de référence, soit la valeur 650.
Le flux binaire comporte un second champ indiquant le nombre de bits sur lequel les valeurs d’élévation différentielle sont codées. Compte tenu de l’amplitude de ces valeurs, le codage s’effectue sur 6 bits. Le second champ indique par conséquent la valeur 6. Cette valeur est par exemple codée sur 4 bits.
Le flux binaire comporte une première séquence correspond au nœud de référence. Il s’agit dans cet exemple d’un nœud terminal appartenant au troisième niveau de profondeur. L’en-tête de la première séquence comporte alors un premier bit à 1 indiquant qu’il faut descendre au second niveau de profondeur, puis un second bit à 1 indiquant qu’il faut descendre au troisième niveau de profondeur, puis un troisième bit à 0 indiquant l’arrêt dans le niveau de résolution. Dès qu’un bit à 0 est ajouté, l’écriture de l’en-tête est terminée
et la séquence est complétée par la valeur d’élévation différentielle du nœud de référence, soit la valeur 0, qui est codée sur 6 bits.
Le flux binaire comporte une seconde séquence correspond à un second nœud qui est le nœud suivant le nœud de référence. Il s’agit d’un nœud terminal appartenant au troisième niveau de profondeur. L’en-tête de la seconde séquence comporte alors un premier bit à 1 indiquant qu’il faut descendre au second niveau de profondeur, puis un second bit à 1 indiquant qu’il faut descendre au troisième niveau de profondeur, puis un troisième bit à 0 indiquant l’arrêt dans le niveau de résolution. Dès qu’un bit à 0 est ajouté, l’écriture de l’en-tête est terminée et la séquence est complétée par la valeur d’élévation différentielle du nœud de référence, soit la valeur 11 codée sur 6 bits.
Et de proche en proche l’ensemble de l’arbre élagué est parcouru entièrement pour obtenir un flux binaire du fichier MNT compressé.
Dans un mode de réalisation avantageux, l’en-tête ne définit pas le niveau de profondeur de manière absolu, mais de manière relative, en tenant compte de la structure connue de l’arbre.
Par exemple, si le nœud de référence appartient au troisième niveau de profondeur (comme c’est le cas sur les figures 3), on sait qu’il est suivi par trois nœuds de même niveau de profondeur, de sorte que les en-têtes des séquences correspondantes, S2, S3 et S4, peuvent être omis.
Les séquences S1 à S4 permettant de décrire une zone de la tuile représentée par un nœud du second niveau, après la séquence S4, on sait que l’on aura à décrire une zone représentée par un autre nœud du second niveau. Ainsi le premier bit de l’en-tête de la séquence décrivant cet autre nœud peut être omis.
Soit cet autre nœud est terminal et alors l’en-tête comprend un bit à 0 pour indiquer qu’il n’est pas nécessaire de descendre au troisième niveau de profondeur (cas de des séquences S5 et S6), soit cet autre nœud n’est pas terminal et alors l’en-tête comprend un bit à 1 suivi d’un bit à 0 pour indiquer il faut descendre au troisième niveau de profondeur (cas de des séquences S7),
Le nœud de la séquence S7 appartenant au troisième niveau de profondeur, on sait qu’il est suivi par trois nœuds de même niveau de profondeur, de sorte que les en-têtes des séquences correspondantes, S8 à S10, peuvent être omis.
Les séquences S1 à S10 ayant permis de décrire une zone de la tuile représentée par un nœud de premier niveau, après la séquence S10, on sait que l’on aura à décrire une zone représentée par un autre nœud du premier niveau. Ainsi le premier bit de l’en-tête de la séquence décrivant cet autre nœud peut être omis.
Soit cet autre nœud est terminal et alors l’en-tête comprend un bit à 0 pour indiquer qu’il n’est pas nécessaire de descendre au second niveau de profondeur (cas des séquences S11 et S12), soit cet autre nœud n’est pas terminal et alors l’en-tête comprend un bit à 1 pour indiquer qu’il faut descendre au second niveau de profondeur, suivi d’un bit par exemple à 0 indiquant qu’il n’est pas nécessaire de continuer à descendre (cas des séquences S13).
Le nœud de la séquence S13 appartenant au second niveau de profondeur, on sait qu’il est suivi par trois nœuds du même niveau de profondeur, de sorte que les en-têtes des séquences correspondantes peuvent être simplifiées en omettant le premier bit à 1 (cas des séquences S14 à S16).
Le flux binaire obtenu présente un taux de compression important par rapport à la tuile initial.
Le flux binaire est stocké dans la mémoire d’un processeur embarqué.
Il doit être décompressée pour permettre d’accéder aux valeurs d’élévation de l’arbre élagué représentant une tuile simplifié décompressé.
La figure 5 illustre un mode de réalisation d’un procédé de décompression 200.
Un flux binaire est extrait d’un fichier MNT compressé 5.
Dans une première étape 210, les informations d’élévation de référence et le nombre de bits de codage des valeurs d’élévation différentielles sont extraites du flux binaire.
Puis, pour chaque séquence du flux binaire (boucle 220), est déterminé le niveau de profondeur de la séquence courante (étape 222). Cette profondeur courante est déterminée à partir de l’en-tête de la séquence courante et/ou de l’endroit de la reconstruction de la tuile simplifiée où l’on se trouve à l’instant de décompression courant.
Puis, toujours pour cette séquence courante, est déterminée une valeur de l’élévation différentielle (étape 224). Elle est décodée à partir de la charge.
Puis, à l’étape 226, une valeur d’élévation absolue est calculée à partir de la valeur de l’élévation différentielle en tenant compte des règles d’ordonnancement qui ont été utilisées pour la compression à l’étape 120.
Enfin, à l’étape 228, la matrice de cellules de la tuile simplifiée est mise à jour en associant à la zone représentée par le nœud terminal correspondant à la séquence courante la valeur d’élévation absolue. La zone concernée est identifiée en tenant compte de l’ordre séquentiel qui a été utilisé pour la compression, à l’étape 140.
En répétant les étapes 222 à 228 pour chaque séquence du flux, la tuile simplifiée est reconstruite. Elle constitue tout ou partie du fichier MNT décompressé. Elle est représentée par l’arbre élagué 125.
Ce fichier MNT décompressé est finalement transmis à l’application qui a requis la décompression du flux binaire correspondant.
L’homme du métier constatera que le flux binaire obtenu ne requiert qu’un nombre limité d’accès mémoire par valeur d’élévation codée ainsi que des opérations arithmétiques simples et peu nombreuses (décalage et addition). Cela rend le décodage très rapide, y compris sur les processeurs de faible puissance de calculateurs embarqués.
Ainsi, le procédé de compression selon l’invention, en couplant une représentation du terrain en arbre avec un algorithme de compression différentiel rapide prenant en compte des contraintes d’erreur maximale, permet d’atteindre des taux de compression élevés tout en ne demandant que peu de puissance de calcul et de mémoire à la décompression et en maîtrisant l’erreur sur les valeurs décompressées.
Il est donc tout à fait adapté à une utilisation sur des calculateurs embarqués de faible puissance, tels que ceux que l’on trouve à bord des avions.
Le procédé de compression selon l’invention permet en outre de garantir, a priori, l’erreur de compression maximum, la rendant facilement utilisable dans des applications critiques.
Il est à noter que le critère d’élagage utilisé peut être modulé de manière à l’adapter opportunément sur des zones d’intérêt de la tuile considérée. Cela permet de moduler la précision de la modélisation d’une surface de terrain en fonction d’un besoin fonctionnel identifié.
De la même manière, afin de maximiser l’utilisation de l’espace mémoire, il est possible de configurer le niveau de profondeur maximum de l’arbre élagué sur des zones d’intérêt et ainsi limiter la résolution plancher à ce qui est fonctionnellement suffisant.
Ces mécanismes d’adaptation concourent à rationaliser la taille du fichier MNT compressé en regard d’une application donnée.
Claims
1. Procédé de compression (100) d’un fichier de modélisation numérique de terrain - MNT source (1 ) de manière à produire un fichier MNT compressé (5) propre à être stocké et décompressé en temps réel par un calculateur embarqué, ledit fichier MNT source (1 ) comportant une tuile source (3) constituée d’une matrice de cellules, chaque cellule comportant une valeur d’élévation d’un point géographique d’un terrain modélisé, caractérisé en ce que ledit procédé comporte les étapes consistant à :
Représenter (110) la tuile source (3) sous la forme d’un arbre initial (115) comportant un nœud racine, des nœuds intermédiaires et des nœuds terminaux, l’arbre initial ayant une pluralité de niveaux de profondeur, chaque nœud de l’arbre initial représentant une zone de la tuile source, chaque nœud terminal de l’arbre initial représentant une zone de la tuile correspondant à une unique cellule ;
Elaguer (120) l’arbre initial (115) en appliquant un critère d’élagage pour obtenir un arbre élagué (125), le critère d’élagage permettant, lorsqu’il est vérifié, de limiter localement un nombre de niveaux de profondeur de l’arbre initial en s’arrêtant à un nœud intermédiaire, le nœud intermédiaire étant alors considéré comme un nœud terminal de l’arbre élagué (125) et représentant une zone d’une tuile simplifiée comportant une valeur d’élévation unique qui est fonction des valeurs d’élévation des cellules associées aux nœuds terminaux qui descendent dudit nœud intermédiaire et qui ont été élagués ;
Encoder (130) la valeur d’élévation associée à chacun des nœuds terminaux de l’arbre élagué (125) pour obtenir une valeur d’élévation différentielle, la valeur d’élévation différentielle d’un nœud terminal de l’arbre élagué (125) étant obtenu par différence entre la valeur d’élévation associée audit nœud terminal et la valeur d’élévation associée à un nœud terminal précédent de l’arbre élagué, défini conformément à des règles d’ordonnancement permettant d’ordonner les nœuds terminaux de l’arbre élagué (125) les uns à la suite des autres à partir d’un nœud terminal de référence, dont la valeur d’élévation est prise comme élévation de référence et dont la valeur d’élévation différentielle est égale à zéro ; et,
Sérialiser (130) l’arbre élagué résultant de l’encodage pour obtenir le fichier MNT compressé (5) en parcourant les nœuds terminaux de l’arbre élagué selon un ordre de sérialisation à partir du nœud terminal de référence, le fichier MNT compressé (5) comportant un premier champ indiquant l’élévation de référence,
puis une pluralité de séquences, chaque séquence comportant un en-tête, indicatif d’un niveau de profondeur du nœud terminal considéré, et une charge, indicative de la valeur d’élévation différentielle du nœud terminal considéré.
2. Procédé de compression selon la revendication 1 , dans lequel le critère d’élagage permettant de limiter localement le nombre de niveaux de profondeur de l’arbre initial en s’arrêtant à un nœud intermédiaire consiste à vérifier que l’ensemble des valeurs d’élévation associées aux nœuds terminaux qui descendent dudit nœud intermédiaire sont à l’intérieur d’un intervalle d’erreur prédéfini.
3. Procédé de compression selon la revendication 1 ou la revendication 2, dans lequel les règles d’ordonnancement pour l’encodage consistent :
- si une zone de la tuile représentée par le nœud terminal considéré possède au moins une zone voisine à gauche, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée à partir de la valeur d’élévation de la zone voisine à gauche qui est la plus au-dessus parmi ladite au moins une zone voisine à gauche ;
- si la zone de la tuile représentée par le nœud terminal considéré n’a pas de zone voisine à gauche, mais possède au moins une zone voisine au-dessus, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée à partir de la valeur d’élévation de la zone voisine au-dessus la plus à gauche parmi ladite au moins une zone voisine au-dessus ;
- sinon, la valeur d’élévation différentielle associée au nœud terminal considéré est calculée en différence de l’élévation de référence.
4. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’en-tête d’une séquence d’un fichier MNT compressé (5) est omis lorsque le nœud terminal considéré appartient au même niveau de profondeur que le nœud terminal précédent selon l’ordre de sérialisation.
5. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’en-tête d’une séquence d’un fichier MNT compressé (5) est défini de manière absolue par rapport au nœud racine de l’arbre élagué ou le niveau de profondeur le plus bas de l’arbre initial, ou de manière relative par rapport au niveau de profondeur du nœud précédent selon l’ordre de sérialisation.
6. Procédé selon l’une quelconque des revendications précédentes, dans lequel, l’encodage permettant de limiter une plage des valeurs d’élévation différentielles associées aux nœuds terminaux de l’arbre élagué, est défini un nombre minimum de bits permettant de coder les valeurs d’élévation différentielles, et le fichier MNT compressé (5) comportant un second champ indiquant le nombre minimum de bits.
7. Fichier MNT compressé (5) résultant de la mise en œuvre d’un procédé de compression (100) selon l’une quelconque des revendications 1 à 6.
8. Procédé de décompression (200) d’un fichier MNT compressé (5), ledit fichier MNT compressé résultant de la mise en œuvre d’un procédé de compression (100) selon l’une quelconque des revendications 1 à 6, caractérisé en ce qu’il comporte les étapes consistant à :
Extraire du fichier MNT compressé (5), un flux binaire correspondant à une tuile simplifiée représentée par un arbre élagué ; et Lire (210) une élévation de référence à partir du premier champ du flux binaire ; puis, pour chaque séquence du flux binaire correspondant à un nœud terminal de l’arbre élagué en partant d’un nœud terminal de référence dont la valeur d’élévation est égale à l’élévation de référence, jusqu’à décompression complète du flux binaire, déterminer (222) un niveau de profondeur à partir d’un en-tête de la séquence courante et lire (224) une valeur d’élévation différentielle à partir de la charge de la séquence courante ; calculer (226) une valeur d’élévation à partir de la valeur d’élévation différentielle lue et d’une valeur d’élévation d’un nœud terminal précédent, défini conformément à des règles d’ordonnancement ; mettre à jour (228), avec la valeur d’élévation calculée, les valeurs d’élévation des cellules d’une zone de la tuile simplifiée représentée par le nœud terminal courant, afin d’obtenir une matrice de cellules de la tuile simplifiée d’un fichier MNT décompressé (225).
9. Produit programme d’ordinateur comportant des instructions, qui lorsqu’elles sont exécutées par un ordinateur permettent la mise en œuvre du procédé de compression (100) selon l’une quelconque des revendications 1 à 6 ou le procédé de décompression (200) selon la revendication 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/560,926 US20240257403A1 (en) | 2021-05-21 | 2022-05-20 | Methods for the compression and decompression of a digital terrain model file; associated compressed and decompressed files and associated computer program product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2105343A FR3123172B1 (fr) | 2021-05-21 | 2021-05-21 | Procédés de compression et de décompression d’un fichier de modèle numérique de terrain ; fichiers compressé et décompressé et produit programme d’ordinateur associés. |
FRFR2105343 | 2021-05-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022243494A1 true WO2022243494A1 (fr) | 2022-11-24 |
Family
ID=78049278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2022/063673 WO2022243494A1 (fr) | 2021-05-21 | 2022-05-20 | Procédés de compression et de décompression d'un fichier de modèle numérique de terrain; fichiers compressé et décompressé et produit programme d'ordinateur associés. |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240257403A1 (fr) |
FR (1) | FR3123172B1 (fr) |
WO (1) | WO2022243494A1 (fr) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890249A (en) | 1988-03-16 | 1989-12-26 | Hughes Simulation Systems, Inc. | Data compression and decompression for digital radar landmass simulation |
US20010023390A1 (en) * | 1999-06-28 | 2001-09-20 | Min-Chung Gia | Path planning, terrain avoidance and situation awareness system for general aviation |
US20110316854A1 (en) * | 2010-06-23 | 2011-12-29 | Bryan Vandrovec | Global Visualization Process Terrain Database Builder |
CN102684703A (zh) | 2012-04-26 | 2012-09-19 | 北京师范大学 | 一种高效的数字高程模型数据无损压缩的方法 |
US9396249B1 (en) * | 2013-06-19 | 2016-07-19 | Amazon Technologies, Inc. | Methods and systems for encoding parent-child map tile relationships |
US9462275B2 (en) | 2012-01-30 | 2016-10-04 | Qualcomm Incorporated | Residual quad tree (RQT) coding for video coding |
-
2021
- 2021-05-21 FR FR2105343A patent/FR3123172B1/fr active Active
-
2022
- 2022-05-20 WO PCT/EP2022/063673 patent/WO2022243494A1/fr active Application Filing
- 2022-05-20 US US18/560,926 patent/US20240257403A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890249A (en) | 1988-03-16 | 1989-12-26 | Hughes Simulation Systems, Inc. | Data compression and decompression for digital radar landmass simulation |
US20010023390A1 (en) * | 1999-06-28 | 2001-09-20 | Min-Chung Gia | Path planning, terrain avoidance and situation awareness system for general aviation |
US20110316854A1 (en) * | 2010-06-23 | 2011-12-29 | Bryan Vandrovec | Global Visualization Process Terrain Database Builder |
US8665266B2 (en) | 2010-06-23 | 2014-03-04 | The United States Of America, As Represented By The Secretary Of The Navy | Global visualization process terrain database builder |
US9462275B2 (en) | 2012-01-30 | 2016-10-04 | Qualcomm Incorporated | Residual quad tree (RQT) coding for video coding |
CN102684703A (zh) | 2012-04-26 | 2012-09-19 | 北京师范大学 | 一种高效的数字高程模型数据无损压缩的方法 |
US9396249B1 (en) * | 2013-06-19 | 2016-07-19 | Amazon Technologies, Inc. | Methods and systems for encoding parent-child map tile relationships |
Non-Patent Citations (1)
Title |
---|
ALLERTON D J ET AL: "OCT-TREE TERRAIN MODELLING METHODS FOR TERRAIN REFERENCE NAVIGATION SYSTEMS", AERONAUTICAL JOURNAL, ROYAL AERONAUTICAL SOCIETY, TORNBRIDGE, GB, vol. 100, no. 991, 1 May 1996 (1996-05-01), pages 157 - 164, XP000856843, ISSN: 0001-9240 * |
Also Published As
Publication number | Publication date |
---|---|
FR3123172A1 (fr) | 2022-11-25 |
FR3123172B1 (fr) | 2023-04-28 |
US20240257403A1 (en) | 2024-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713818B1 (en) | Image compression with recurrent neural networks | |
EP2589020B1 (fr) | Procédé de compression / decompression hiérarchique de maillage tridimensionnel | |
EP3353720B1 (fr) | Procede et systeme de perception de corps materiels | |
FR2754127A1 (fr) | Procede de codage/decodage de signal video sur la base d'une quantification de treillis adaptative | |
WO2000008604A1 (fr) | Affinement selectif de mailles | |
Veenadevi et al. | Fractal image compression using quadtree decomposition and huffman coding | |
CN118425967A (zh) | LiDAR数据辅助的深度神经网络InSAR相位解缠方法 | |
EP1116185B1 (fr) | Methode de compression et de codage d'un reseau maille tridimensionnel | |
CA2374896C (fr) | Methode pour deformer graduellement une repartition initiale d'objets dans un milieu heterogene pour l'adapter a des contraintes physiques imposees | |
EP2135221A1 (fr) | Procédé de codage de données répresentatives d'une texture multidimensionnelle, dispositif de codage, procédé et dispositif de décodage, signal et programme correspondants | |
EP1340195A1 (fr) | Procede de codage par ondelettes d'un maillage | |
FR2931963A1 (fr) | Procede de traitement de donnees numeriques | |
WO2022243494A1 (fr) | Procédés de compression et de décompression d'un fichier de modèle numérique de terrain; fichiers compressé et décompressé et produit programme d'ordinateur associés. | |
WO2006040270A2 (fr) | Procede de decodage local d'un train binaire de coefficients d'ondelettes | |
WO2007107659A2 (fr) | Quantification vectorielle contrainte | |
EP2270679A1 (fr) | Procédé de contrôle optimal d'un système modélisable par des équations de Hamilton Jacobi Bellman | |
WO2000008603A1 (fr) | Simplification et codage d'un maillage source | |
WO2009156606A2 (fr) | Procédé de dénombrement des vecteurs dans les réseaux réguliers de points | |
WO2000042575A1 (fr) | Procede de simplification d'un maillage source, tenant compte de la courbure locale et de la dynamique geometrique locale, et applications correspondantes | |
Valade | Compression d'images complexes avec pertes: application à l'imagerie radar | |
US12058333B1 (en) | System and methods for upsampling of decompressed data after lossy compression using a neural network | |
WO2000014969A1 (fr) | Procede d'estimation du mouvement entre deux images | |
FR3060794A1 (fr) | Procede de determination de l'etat d'un systeme, procede de determination d'une methode de projection optimale et dispositif mettant en œuvre lesdits procedes | |
FR3141582A1 (fr) | Procédé et dispositif de codage d’un ensemble de coefficients, procédé et dispositif de décodage d’un ensemble de coefficients, flux de données et programme d’ordinateur associés | |
Dubarry | Asymptotic behaviour of iterated function systems and applications to variable length Markov chains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22731500 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18560926 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22731500 Country of ref document: EP Kind code of ref document: A1 |