This patent application claims priority from EP Application No. 11 185 269.5 filed Oct. 14, 2011, which is hereby incorporated by reference.
The present invention relates to a method for generating compressed navigation map data from uncompressed navigation map data.
Navigation systems are known which perform functions such as route searches between two locations. Modern navigation systems may also provide additional functionalities, such as serving as a travel guide that outputs, upon demand, information on points of interest, etc. Some navigation systems may even include travel guide functions to output detailed explanations in textual and/or multimedia form.
Furthermore, it has become common to display a three-dimensional view of the vehicle surrounding in which, in addition to the road, buildings, etc. are displayed in a three-dimensional form. The three-dimensional representation should facilitate the finding of the correct way.
The different kinds of information provided to the user are stored on a removable data storage unit, such as a CD ROM or DVD, or the information is provided on a hard disk.
There exists a need to reduce the storage space required by the navigation map data, wherein the navigation map data includes different kinds of information used to inform the user of needed information.
According to a first aspect of the invention, a method for generating a compressed navigation map database from uncompressed navigation map data is provided. The uncompressed navigation data contains different building blocks of navigation data, each building block addressing a specific functional aspect of the navigation data and each building block containing byte sequences or strings of data. For the different building blocks of the uncompressed navigation map data most frequent substrings contained in the building blocks are determined. Furthermore, for the building blocks, the determined most frequent substrings of the building blocks are stored in at least one seed block. Furthermore, in the building blocks, the determined most frequent substrings stored in the at least one seed block are replaced in the strings by reference to the at least one seed block thereby generating compressed blocks. Furthermore, the compressed blocks and the at least one seed block are stored in order to generate the compressed navigation map database.
All navigational data is regarded as belonging to one of the building blocks, each building block describing a predefined functional aspect of the navigation data, e.g., a functional block is a route building block, a name building block. It should be understood that the navigation map data are further divided into different geographical regions and that the data may additionally be partitioned into different levels of detail. In the context of the present invention, however, the separation into functional blocks is discussed, each functional building block describing a different aspect used in a navigation system to provide an output to the user, e.g., a driving recommendation. By way of example the route building block provides the features for a routing calculation, the name building block containing the names of the streets shown on a map. In each building block the data are stored in strings and depending on the content of a block the string may be a street name or may provide color information for an image. By determining in the building blocks the most frequent substrings that are present in each block, it is possible to combine the most frequent substrings in the at least one seed block and to include, in the building blocks, instead of the most frequent substring, a reference to the at least one seed block. In this way a compressed block is obtained needing less storage capacity than the uncompressed navigation map data. It is clear from the above that the compression degree depends on the number of most frequent substrings stored in the seed block and which are not contained any more in the compressed blocks, but which are replaced by the reference to the seed block.
In one embodiment it is possible that the most frequent substrings of a plurality of building blocks are stored in one seed block. This means that in one seed block the most frequent substrings of two or more building blocks may be contained. In another embodiment, it is however possible that a seed block containing the most frequent substrings is determined for each building block. In this embodiment for each building block, a seed block and a compressed block exist, whereas in the embodiment for each building block a compressed block exists but not necessarily one seed block for each compressed block.
Furthermore it is possible that each building block is separated in several parts before compression, wherein the most frequent substrings are determined for each part of a building block. The most frequent substrings of the different parts of a building block can then be stored in a single seed block.
Preferably the replaced reference contains an offset information and a length information, the offset information indicating where in the seed block the replaced most frequent substring is located. The length information provides the information about the length of the replaced most frequent substring. The reference with the offset information and the length information may be necessary when the compressed navigation map data should be used again by a navigation system. For generating the full information, the reference is replaced by the most frequent substring stored in the seed block again. For this replacement the information is used where in the seed block the corresponding replaced most frequent substring is stored. Additionally, the information is used regarding how long the replaced most frequent substring is.
One possibility to determine the most frequent substrings of a block is to generate a prefix tree of the strings contained in a block and to determine the most frequent substrings in the prefix tree. In a prefix tree the position of a string in the tree defines the strings it is associated with. All the decendents of a node have a common prefix of a string associated with that node. When frequency values are associated with each node, it is easily possible to determine the most frequent substrings of a block.
The uncompressed navigation map data can contain different blocks, the route building block, the name building block, a traffic information building block, a 3D object building block, a junction view building block, or a digital terrain building block.
The invention also relates to a compression module configured to generate the compressed navigation map data, the module comprising the first database containing the uncompressed navigation map data, the uncompressed navigation map data containing the different building blocks of the navigation data, each building block addressing a specific functional aspect of the navigation map data and each block containing strings of data. Furthermore, a second database is provided in the compression module and a processing unit configured to determine the compressed blocks and the at least one seed block as mentioned above.
The invention furthermore relates to a navigation system providing navigation information to the user, the navigation system comprising a storage unit containing compressed navigation map data, the compressed navigation map data containing different building blocks of navigation map data and each building block addresses a specific functional aspect of the navigation map data. The compressed navigation data contain at least one seed block and compressed blocks, the at least one seed block containing the most frequent substrings of the compressed blocks, wherein in the compressed blocks the determined most frequent substrings stored in the at least one seed block are replaced by a reference to the at least one seed block. Furthermore, the navigation system comprises an information unit providing navigation information to the user. By way of example the navigation information may be a visual output in 2D or 3D. The navigation system also comprises a decompression unit configured to generate uncompressed navigation map data from the compressed navigation map data. The decompression unit accesses, for each building block, the compressed block and the at least one seed block and replaces the references contained in the compressed block by the corresponding most frequent substring of the at least one seed block in order to generate the uncompressed navigation map data. The decompression unit is further configured to generate the navigation information based on the uncompressed navigation map data, the information unit using the uncompressed navigation map data to provide the navigation information to the user.
In one embodiment, for the decompression, the seed block is used as a virtual prefix for compression and decompression to simplify the compression and decompression algorithm. Normally, without the seed block of each block, the decompression is not possible. This also provides a light weight encryption of the navigation map data if the seed block is stored separately from the compressed blocks as the use of the navigation map data is not possible when for the compressed blocks the seed block is not provided. The invention further provides a method for providing the navigation information to the user, wherein the uncompressed navigation map data are generated from the compressed navigation data, and wherein the uncompressed navigation data are generated by accessing, for each block, the compressed blocks and the at least one seed block and by replacing the references contained in the compressed blocks by the corresponding most frequent substrings stored in the at least one seed block. The navigation information for the user is then generated based on the uncompressed navigation map data and the navigation information is provided to the user based on the uncompressed navigation map data.
These and other objects, features and advantages of the present invention will become apparent in light of the detailed description of the embodiments thereof, as illustrated in the accompanying drawings. In the figures, like reference numerals designate corresponding parts.
The foregoing and other features and embodiments will become more apparent from the following detailed description of embodiments when read in conjunction with the accompanying drawings. In the drawings,
In
The more substrings are identified as most frequent substrings to be substituted, the higher the compression rate will be. The processing unit 100 will now replace the determined most frequent substrings which occur in the different blocks 111a-11c by references to a block named seed block in which the determined most frequent substrings are stored. This seed block with the most frequent substrings can play the role of a (virtual) prefix of the data to be compressed. The processing unit stores the compressed data in a second database. As shown in
In the embodiment shown compressed navigation map data are generated for each of the building blocks contained in the first storage unit 110. However, it should be understood that the compressed block and the seed block are not necessarily generated for each of the blocks contained in the first database 110. By way of example if one of the blocks 111a-111c of the first database 110 is much smaller in size compared to the other blocks, the compression of such a block may be omitted.
In the embodiment shown in
Additionally it is possible that the blocks 111a-111c, before compression, are separated into different parts wherein the most frequent substrings are determined for each of the different parts of a building block so that for each compressed block compressed parts are generated such as parts 125, 126 and 127 illustrated in
In
In the embodiment shown in
The compressed navigation map data stored in the second database 120 can be used by a navigation system shown in
Furthermore, the different modules may be incorporated by software or hardware or by a combination of software and hardware.
The navigation system further comprises a decompression unit which decompresses the navigation data stored in the database 310 before they can be used by the route calculation unit 320 or before they can be displayed on. the display 340. The decompression unit replaces in the compressed blocks 122a, 122b the references by the substrings stored in the corresponding seed blocks 121a, 121b.
In other words for the decompression the seed block or substring block is used as a virtual prefix of the compressed data block when it has been stored with the seed block as virtual prefix. As can be also seen from the above, the decompression of the navigation map data is not possible without the seed block. This means that the use of a seed block and the compressed block for the different functional blocks provides an encryption to the data as the navigation data cannot be used without the corresponding seed blocks. When the decompression unit 350 has decompressed a block by replacing all the references by the corresponding substrings, the uncompressed navigation map data can then be used by the route calculation unit and by other modules of the navigation system.
A first encryption is obtained when the seed block is stored separate from the compressed blocks. Furthermore it is possible to store the seed block or seed blocks together with the compressed blocks and to encrypt the seed blocks using known encryption methods such as AES (Advanced Encryption Standard) or RSA (Rivest Shamir and Adleman Encryption).
In
As can be seen from the above, efficient compression of navigation map data is provided. At the same time the compression method provides an encryption of the data, as the navigation map data cannot be used without the corresponding seed blocks. In order to improve the encryption, the information provided in a seed block may furthermore be encrypted using known encryption methods.
Although the present invention has been illustrated and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
11185269.5 | Oct 2011 | EP | regional |
Number | Date | Country | |
---|---|---|---|
20140108360 A1 | Apr 2014 | US |