WO2009071420A1 - Method and device for coding and decoding - Google Patents

Method and device for coding and decoding Download PDF

Info

Publication number
WO2009071420A1
WO2009071420A1 PCT/EP2008/065219 EP2008065219W WO2009071420A1 WO 2009071420 A1 WO2009071420 A1 WO 2009071420A1 EP 2008065219 W EP2008065219 W EP 2008065219W WO 2009071420 A1 WO2009071420 A1 WO 2009071420A1
Authority
WO
WIPO (PCT)
Prior art keywords
codes
assignment
record
characters
association
Prior art date
Application number
PCT/EP2008/065219
Other languages
German (de)
French (fr)
Inventor
Reinhard Meschenmoser
Dirk Luedtke
Original Assignee
Robert Bosch Gmbh
Denso Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh, Denso Corporation filed Critical Robert Bosch Gmbh
Publication of WO2009071420A1 publication Critical patent/WO2009071420A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Definitions

  • the present invention relates to a method and apparatus for encoding and decoding a multi-character data set and to a corresponding program and memory device.
  • the coding of data sets is used in almost all areas of information technology, in particular for the compression of data sets and the reduction of their volumes. For example, a record is subdivided into subsets whose statistical distribution is determined. Based on the statistical distribution or frequency of occurrence of each subset in the data set, a unique association between subsets and codes is determined. Methods for determining the assignment are known, for example, as Shannon-Fano coding or as Huffman coding. With these methods, compression or reduction of the data volume is achieved by frequently associating subsets of short codes and rarely occurring subsets with longer codes (see, for example, http://www.inf.fh-flensburg.de/eng/archives/). code / huffman / huffman. htm)
  • An object of the present invention is to further improve the coding, so that, for example, an even higher compression is possible.
  • the present invention is based on the idea that an association between Untermeng - 1 s of a data set and codes to Verwer sw to which an allocation of individual characters and codes from a first set of codes and an assignment of character sequences or subsets of the data set from each multiple characters and codes from a second set of codes.
  • This is advantageous, for example, in the case of a data record in which, on the one hand, a few or a few character strings of a plurality of characters occur very frequently and, on the other hand, many character strings occur very rarely.
  • An example is a record as commonly provided to a navigation device on a CD-ROM, a DVD, HD-DVD, a Blue-Ray disk, a flash memory, or other storage medium.
  • a data set also includes names of streets, squares and local authorities (L selected, municipalities, etc.). In these names, components such as “street”, “allee”, “platz”, “nieder”, “ober”, “neu” are particularly common. Such frequently occurring strings are each assigned a code from the second set of codes.
  • the association comprises an allocation of strings of a plurality of characters and codes from a first set of codes and an assignment of words and codes from a second set of codes, wherein each word comprises at least one of a plurality of characters or one or more character strings.
  • a word is understood to mean, in particular, a word from a spoken language or from a programming language.
  • words in a record become words separated by spaces, separators or reserved characters or strings.
  • the beginning and end of a word are each identified by a reserved character or a reserved string.
  • the present invention is further based on the idea of selecting an assignment of subsets and codes independently of a specific data record and of storing or transmitting the coded data record without the assignment or without information characterizing the assignment. This can save memory space.
  • a record is called, as it is provided to a navigation device. It is desirable to be able to map on a storage medium as much information as possible, in particular as detailed as possible map information from the largest possible geographical area. Abandoning the storage of the association along with the record on the storage medium brings the desired gain in usable storage capacity. For these datasets, a frequent update is desirable to reflect current changes, such as new buildings or construction sites. The statistical distribution of names and parts of names changes only minimally.
  • FIG. 1 shows a schematic representation of an assignment of potential subsets of a data set and code
  • FIG. 2 shows a schematic representation of a data record and a coded data record
  • FIG. 3 is a schematic representation of a navigation device
  • FIG. 4 is a schematic flow diagram of a method for encoding and decoding.
  • the assignment 40 comprises an assignment 41 of individual characters 11 to a respective code 31 from a first set of Codes 21.
  • the map 40 further comprises an assignment 42 of character strings 12 and codes 32 from a second set 22 of codes and an assignment of words or names 13 and codes 33 from a third set 23 of codes.
  • the different numbers of the boxes reflect again that the individual subsets 11, 12, 13 are assigned codes 31, 32, 33 with different lengths.
  • the strings 12 particularly often include components of names and the words 13 particularly frequent names, as for example in a digital map of a predetermined geographic area occur.
  • the name element "street” as the presumably most frequent part of a name in at least one map of a German-speaking area is assigned a relatively short code 32. Also the sign "e" and the names appearing in most larger communities in the German-speaking area
  • codes 31 are generally assigned to all letters of an alphabet. Further, the lengths of the codes 31, 32, 33 shown in FIG. 1 are fictitious and are not based on an analysis of the statistical distribution of the appearance of the character 11, the name constituents 12, and the names 13.
  • FIG. 2 is a schematic representation of a data record 10 and a coded data record 30, which results from the data record 10 by coding 93.
  • decoding 96 of the encoded data set 30 one again obtains the data record 10.
  • the data record 10 comprises a plurality of words or names 13, each of a plurality of characters 11.
  • character strings 12, which are components of the names 13, can belong to those character strings as above 1, because of their frequent occurrence, own codes 32 are assigned. In this example, these are the strings "yard” and "square".
  • a name associated with its own code due to its frequent occurrence (“station place” in this example) is converted into the corresponding code 33 during encoding 93
  • Name 13 which is not assigned its own code due to its rare occurrence (in this example: "Nölkehof"), is converted into several codes 31, 32, to which individual letters 11 or name components 12 are assigned.
  • FIG. 3 is a schematic illustration of a device 50 by which a data set 10 may be encoded or decoded as described hereinabove or an encoded data set 30 may be decoded.
  • the coding and decoding can be a main purpose or the actual destination of the device. Alternatively, encoding or decoding is a means of accomplishing other tasks.
  • the device is shown here as navigation device, as it can be used for example in motor vehicles for navigation.
  • the device 50 for this purpose comprises a reading device 51 for reading a coded data record stored on a first memory device 53 (for example a CD-ROM, flash memory medium).
  • the device 50 comprises a receiving device 52 for receiving a coded data record from a data source, for example via an air interface.
  • the coded data record read by the reading device 51 from the first memory device 53 or received by the receiving device 52 comprises, in the case of the navigation device 50, digital map information which is a basis of the navigation.
  • the navigation device 50 further comprises a second memory means 54 for storing an association between subsets of a data set and code.
  • the second storage device 54 is, for example, a ROM, an EPROM, an EEPROM, a flash memory, etc.
  • a device 55 for decoding is coupled to the reading device 51 and / or the receiving device 52 and to the second memory device 54.
  • the device 55 is recommended From the reading device 51 or from the receiving device 52, a coded data record begins and from the second memory device 54 an associated association between codes and subsets of the decoded data record. By means of the association stored in and received from the second storage device 54, the device 55 decodes the coded data record.
  • the navigation device 50 comprises a GPS receiver 56 or other means for determining the position, a display 57, a route calculation unit 58 and an input device 59.
  • the display 57 and the input device 59 together form an example of a user interface which may also be different.
  • the arrangement of the reading device 51, the second memory device 54, the device 55 for decoding, the display 57, the route calculation unit 58 and the input device 59 within as well as the receiving device 52 and the GPS receiver 56 outside the navigation device 50 is not mandatory. Rather, the components shown can also be arranged differently.
  • the navigation device 50 has a second memory device 54 for storing an association between subsets of a data set and code. This assignment therefore no longer has to be read together with a coded data record by the reading device 52 from a first memory device 53 or received by the receiving device 52. Furthermore, it is advantageous for the device 55 to be designed to decode an encoded data record read by the reading device 51 or received via the receiving device 52 using an association which comprises an assignment of individual characters and codes from a first set of codes and a Assignment of strings of several characters and codes from a second set of codes.
  • FIG. 4 is a schematic flow diagram of a method of encoding a data set and decoding a coded data set.
  • reference numerals from FIGS. 1 to 3 are used for better understanding.
  • the method is also applicable to other than the above with reference to FIG. 1 exemplified assignment, for other than the above with reference to FIG. 2 exemplified data set and other than the above with reference to FIG. 3 exemplified devices shown.
  • a first step 91 the statistical distribution of individual characters 11 and of predetermined character strings 12, 13 is analyzed.
  • the analysis in this case refers either to a predetermined data record or to a data record of a specific type.
  • An example of a data record of a specific type is a digital map of a predetermined geographic area, for example Germany. This digital map can be revised or recreated over and over again, including, for example, new roads, streets and squares, longer term construction sites or renaming of local authorities. Digital maps of the same area created over a longer period of time may differ in details important for navigation in the area, but the statistical distribution of individual characters 11 and strings 12, 13 changes only slightly.
  • the statistical distribution is analyzed for all or several data records of the predetermined type or for a representative data record.
  • a second step 92 on the basis of the statistical distribution analyzed in the first step 91, an assignment of subsets of the data set or of the data records is made and codes set. This determination is made, for example, by means of one of the already mentioned methods according to Shannon-Fano or Huffman. If the association includes both an assignment 41 of individual characters 11 and codes 31 from a first group 21 of codes as well as an assignment 42, 43 of
  • the assignment may take place separately for each set 21, 22, 23 of codes.
  • the Huffman method is applied separately to individual characters 11, common word or name components 12, and frequent words or names 13, respectively.
  • the codes thus determined are then preceded, for example, by different prefix bits, for example "1" for codes 33, which are assigned to whole words or names, "Ol" for codes 32, which are assigned to word or name components, and "00" for codes 31 associated with individual characters 11.
  • the assignment is determined in a single step, for example by simultaneously using a modified Shannon-Fano method or a modified Huffman method, all occurring characters 11 and the most frequent word or name components and the most frequent words or names 13 codes 31, 32, 33 are assigned.
  • the assignment defined in the second step 92 can be used for the coding of all data records of this type.
  • the assignment defined in the second step 92 can be stored separately from a data set coded using the assignment as described below.
  • the association may be stored in a memory device 54 of a navigation device 50.
  • the navigation device with the in their Memory device 54 stored and operated over many years with repeatedly updated records as long as they were coded with the stored in the memory device 54 assignment.
  • a data record 10 is encoded using the assignment defined in the second step 92.
  • individual characters 11 are converted by codes 31 and, if the assignment 40 defined in the second step 92 also includes an assignment of character strings 12, 13 and codes 32, 33, character strings 12, 13 into assigned codes 32, 33.
  • a word or a name can, if it is assigned to a code 33, represented by this and otherwise partially or completely o by completely occurring in it strings 12 associated codes 32 and partially or completely by occurring in it individual characters 11 codes 31 become.
  • separation bits may be used. These separation bits respectively separate pure sequences of codes 31 from the first set 21, pure sequences of codes 32 from the second set 22, and pure sequences of codes 33 from the third set 23 of each other.
  • the third step 93 may be performed immediately after the second step 92 or at any later time.
  • the encoded data record 30 generated in the third step 93 is stored, for example on a CD-ROM, a flash memory medium or any other removable medium.
  • a fifth step 95 the encoded data record 30 is read or received.
  • encoded record 30 contains digital map information, it is read by a navigation device 50 from a CD-ROM, for example.
  • a sixth step 96 the encoded data record 30 read or received in the fifth step 95 is decoded using the association established in the second step 92.
  • codes 31, 32, 33 are converted into characters 11 and, if appropriate, into strings 12, 13. If the assignment is not received with the encoded data record 30 or is read by a storage device, it is read by a separate storage device 54.
  • the association 40 may include an association 42 of strings 12 of a plurality of characters 11 and codes 32 of a first set 22 of codes and an assignment 43 of words 13 and codes 33 of a second set 23 of codes.
  • the words 13 are preferably words from a spoken language or from a programming language. It is advantageous to assign codes 33 from the second set 23 to a predetermined number of the most common words 13 in the respective language.
  • the assignment 40 can also be fixed independently of the data record.
  • codes (32, 33) can be formed from the various sets (22, 23) of codes by prefixing prefix bits.
  • a group of codes 32 from the first set 22 is separated from a set of codes 33 from the second set 23 by separating bits.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Navigation (AREA)

Abstract

An allocation (40) of subsets (11, 12, 13) of the data set (10), which comprise in each case one or more characters (11) and codes (31, 32, 33), is used in a method for coding and decoding a dataset (10) having characters (11). The allocation (40) comprises an allocation (41) of individual characters (11) and codes (31) from a first quantity (21) of codes and an allocation (42, 43) of character sequences (12, 13) in each case from several characters and codes (32, 33) from a second quantity (22, 23) of codes.

Description

Verfahren und Vorrichtung zum Codieren und DecodierenMethod and device for coding and decoding
Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Codieren und Decodieren eines mehrere Zeichen aufweisenden Datensatzes sowie auf ein entsprechendes Programm und eine Speichereinrichtung.The present invention relates to a method and apparatus for encoding and decoding a multi-character data set and to a corresponding program and memory device.
Stand der TechnikState of the art
Die Codierung von Datensätzen findet in fast allen Bereichen der Informationstechnologie Anwendung, insbesondere zur Kompression der Datensätze und Reduktion ihrer Volumina. Dabei wird ein Datensatz beispielsweise in Untermengen unterteilt, deren statistische Verteilung ermittelt wird. Auf der Grundlage der statistischen Verteilung bzw. der Häufigkeit des Auftretens jeder einzelnen Untermenge in dem Datensatz wird eine eindeutige Zuordnung zwischen Untermengen und Codes bestimmt. Verfahren zum Bestimmen der Zuordnung sind beispielsweise als Shannon-Fano-Codierung oder als Huffman-Codierung bekannt. Mit diesen Verfahren wird eine Kompression bzw. eine Reduktion des Datenvolumens erreicht, indem häufig auftreten Untermengen kurze Codes und selten auftretenden Untermengen längere Codes zugeordnet werden (s. beispielsweise http : //www. inf . fh- flensburg . de/lang/algorithmen/code/huffman/huffman . htm)The coding of data sets is used in almost all areas of information technology, in particular for the compression of data sets and the reduction of their volumes. For example, a record is subdivided into subsets whose statistical distribution is determined. Based on the statistical distribution or frequency of occurrence of each subset in the data set, a unique association between subsets and codes is determined. Methods for determining the assignment are known, for example, as Shannon-Fano coding or as Huffman coding. With these methods, compression or reduction of the data volume is achieved by frequently associating subsets of short codes and rarely occurring subsets with longer codes (see, for example, http://www.inf.fh-flensburg.de/eng/archives/). code / huffman / huffman. htm)
Eine Aufgabe der vorliegenden Erfindung besteht darin, die Codierung weiter zu verbessern, so dass beispielsweise eine noch höhere Kompression möglich ist.An object of the present invention is to further improve the coding, so that, for example, an even higher compression is possible.
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen definiert. Offenbarung der ErfindungThis object is solved by the subject matters of the independent claims. Preferred developments are defined in the dependent claims. Disclosure of the invention
Die vorliegende Erfindung beruht auf der Idee, eine Zuordnung zwischen Untermeng -1en eines Datensatzes und Codes zu verwer sw den, die eine Zuordnung von einzelnen Zeichen und Codes aus einer ersten Menge von Codes und eine Zuordnung von Zeichenfolgen bzw. Untermengen des Datensatzes aus jeweils mehreren Zeichen und Codes aus einer zweiten Menge von Codes umfasst. Dies ist beispielsweise bei einem Datensatz vorteilhaft, in dem einerseits einige oder wenige Zeichenfolgen aus jeweils mehrere Zeichen sehr häufig und andererseits viele Zeichenfolgen sehr selten auftreten.The present invention is based on the idea that an association between Untermeng - 1 s of a data set and codes to Verwer sw to which an allocation of individual characters and codes from a first set of codes and an assignment of character sequences or subsets of the data set from each multiple characters and codes from a second set of codes. This is advantageous, for example, in the case of a data record in which, on the one hand, a few or a few character strings of a plurality of characters occur very frequently and, on the other hand, many character strings occur very rarely.
Ein Beispiel ist ein Datensatz, wie er gewöhnlich einem Navigationsgerät auf einer CD-ROM, einer DVD, HD-DVD, einer Blue- Ray-Disk, einem Flash-Speicher oder einem anderen Speichermedium zur Verfügung gestellt wird. Ein solcher Datensatz enthält neben der Lage und Anordnung von Straßen, Wegen und Plätzen unter anderem auch Namen von Straßen, Plätzen und Gebietskörperschaften (Länder, Gemeinden, etc.) . In diesen Namen treten besonders häufig Bestandteile wie „Straße", „al- lee", „platz", „nieder", „ober", „neu" auf. Solchen häufig auftretenden Zeichenfolgen wird jeweils ein Code aus der zweiten Menge von Codes zugeordnet.An example is a record as commonly provided to a navigation device on a CD-ROM, a DVD, HD-DVD, a Blue-Ray disk, a flash memory, or other storage medium. In addition to the location and arrangement of roads, paths and squares, such a data set also includes names of streets, squares and local authorities (Länder, municipalities, etc.). In these names, components such as "street", "allee", "platz", "nieder", "ober", "neu" are particularly common. Such frequently occurring strings are each assigned a code from the second set of codes.
Alternativ umfasst die Zuordnung eine Zuordnung von Zeichenfolgen aus jeweils mehreren Zeichen und Codes aus einer ersten Menge von Codes und eine Zuordnung von Wörtern und Codes aus einer zweiten Menge von Codes, wobei ein Wort jeweils zumindest entweder mehrere Zeichen oder eine oder mehrere Zeichenfolgen umfasst.Alternatively, the association comprises an allocation of strings of a plurality of characters and codes from a first set of codes and an assignment of words and codes from a second set of codes, wherein each word comprises at least one of a plurality of characters or one or more character strings.
Unter einem Wort wird vorliegend insbesondere ein Wort aus einer gesprochenen Sprache oder aus einer Programmiersprache verstanden. In einem Datensatz werden Wörter beispielsweise durch Leerschritte, Trennzeichen oder dafür reservierte Zeichen oder Zeichenfolgen getrennt. Alternativ werden in einem Datensatz beispielsweise Anfang und Ende eines Worts durch je ein dafür reserviertes Zeichen oder eine dafür reservierte Zeichenfolge gekennzeichnet.In the present case, a word is understood to mean, in particular, a word from a spoken language or from a programming language. For example, words in a record become words separated by spaces, separators or reserved characters or strings. Alternatively, in a record, for example, the beginning and end of a word are each identified by a reserved character or a reserved string.
Die vorliegende Erfindung beruht ferner auf der Idee, eine Zuordnung von Untermengen und Codes unabhängig von einem konkreten Datensatz zu wählen und den codierten Datensatz ohne die Zuordnung bzw. ohne Information, die die Zuordnung charakterisiert, zu speichern oder zu übertragen. Damit kann Speicherplatz eingespart werden.The present invention is further based on the idea of selecting an assignment of subsets and codes independently of a specific data record and of storing or transmitting the coded data record without the assignment or without information characterizing the assignment. This can save memory space.
Auch hier sei als Beispiel wieder ein Datensatz genannt, wie er einer Navigationsvorrichtung zur Verfügung gestellt wird. Es ist wünschenswert, auf einem Speichermedium so viel Information wie möglich, insbesondere möglichst detaillierte Karteninformation aus einem möglichst großen geographischen Gebiet abbilden zu können. Der Verzicht auf die Speicherung der Zuordnung zusammen mit dem Datensatz auf dem Speichermedium bringt den erwünschten Gewinn an nutzbarer Speicherkapazität. Bei diesen Datensätzen ist eine häufige Aktualisierung wünschenswert, um aktuelle Veränderungen, beispielsweise Neubauten oder Baustellen abbilden zu können. Die statistische Ver- teilung von Namen und Namensbestandteilen ändert sich dabei nur minimal .Again, as an example, a record is called, as it is provided to a navigation device. It is desirable to be able to map on a storage medium as much information as possible, in particular as detailed as possible map information from the largest possible geographical area. Abandoning the storage of the association along with the record on the storage medium brings the desired gain in usable storage capacity. For these datasets, a frequent update is desirable to reflect current changes, such as new buildings or construction sites. The statistical distribution of names and parts of names changes only minimally.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Bevorzugte Weiterbildungen der vorliegenden Erfindung werden nachfolgend anhand der beiliegenden Figuren näher erläutert. Es zeigen:Preferred developments of the present invention will be explained in more detail with reference to the accompanying figures. Show it:
Fig. 1 eine schematische Darstellung einer Zuordnung von po- tentiellen Untermengen eines Datensatzes und Codes; Fig. 2 eine schematische Darstellung eines Datensatzes und eines codierten Datensatzes;1 shows a schematic representation of an assignment of potential subsets of a data set and code; FIG. 2 shows a schematic representation of a data record and a coded data record; FIG.
Fig. 3 eine schematische Darstellung einer Navigationsvor- richtung; und3 is a schematic representation of a navigation device; and
Fig. 4 ein schematisches Flussdiagramm eines Verfahrens zum Codieren und Decodieren.4 is a schematic flow diagram of a method for encoding and decoding.
Ausführungsformen der ErfindungEmbodiments of the invention
Fig. 1 zeigt eine schematische Darstellung einer Zuordnung 40 zwischen potentiellen Untermengen 11, 12, 13 eines Datensatzes und Codes 31, 32, 33. Die Zuordnung 40 umfasst eine Zu- Ordnung 41 einzelner Zeichen 11 zu jeweils einem Code 31 aus einer ersten Menge von Codes 21. Die Zuordnung 40 umfasst ferner eine Zuordnung 42 von Zeichenfolgen 12 und Codes 32 aus einer zweiten Menge 22 von Codes und eine Zuordnung von Wörtern bzw. Namen 13 und Codes 33 aus einer dritten Menge 23 von Codes.1 shows a schematic representation of an assignment 40 between potential subsets 11, 12, 13 of a data set and codes 31, 32, 33. The assignment 40 comprises an assignment 41 of individual characters 11 to a respective code 31 from a first set of Codes 21. The map 40 further comprises an assignment 42 of character strings 12 and codes 32 from a second set 22 of codes and an assignment of words or names 13 and codes 33 from a third set 23 of codes.
Als Beispiele für einzelne Zeichen sind die Buchstaben A, B, C, D, E, Y genannt. Konkrete Codes sind in Fig. 1 nicht dargestellt, diese können beispielsweise nach dem Shannon-Fano- Verfahren oder dem Huffman-Verfahren bestimmt werden. DieAs examples of individual characters, the letters A, B, C, D, E, Y are called. Concrete codes are not shown in Fig. 1, these can be determined for example by the Shannon-Fano method or the Huffman method. The
Darstellung der Codes 31 aus der ersten Menge 21 wie auch der beschriebenen Codes 32, 33 aus der zweiten und dritten Menge 22, 23 umfasst jedoch jeweils mehrere Kästchen, die beispielsweise je 1 Bit darstellen. Die unterschiedlichen Anzah- len der Kästchen spiegeln wieder, dass den einzelnen Untermengen 11, 12, 13 Codes 31, 32, 33 mit unterschiedlichen Längen zugeordnet werden.Representation of the codes 31 from the first set 21 as well as the described codes 32, 33 from the second and third sets 22, 23, however, comprises in each case a plurality of boxes which, for example, each represent 1 bit. The different numbers of the boxes reflect again that the individual subsets 11, 12, 13 are assigned codes 31, 32, 33 with different lengths.
Im in Fig. 1 dargestellten Beispiel umfassen die Zeichenfol- gen 12 besonders häufig Bestandteile von Namen und die Wörter 13 besonders häufige Namen, wie sie beispielsweise in einer digitalen Karte eines vorbestimmten geographischen Gebiets auftreten. Dem Namensbestandteil „strasse" als mutmaßlich häufigsten Namensbestandteil zumindest in einer Karte eines deutschsprachigen Gebiets ist ein relativ kurzer Code 32 zugeordnet. Auch dem Zeichen „e" und den in den meisten größe- ren Gemeinden im deutschsprachigen Raum auftretenden NamenIn the example shown in FIG. 1, the strings 12 particularly often include components of names and the words 13 particularly frequent names, as for example in a digital map of a predetermined geographic area occur. The name element "street" as the presumably most frequent part of a name in at least one map of a German-speaking area is assigned a relatively short code 32. Also the sign "e" and the names appearing in most larger communities in the German-speaking area
„Bahnhofsplatz" und „Bahnhofsstraße" sind relativ kurze Codes 31 bzw. 33 zugeordnet. Weniger häufigen Buchstaben 11 (in unserem fiktiven Beispiel: A, B, C, D), weniger häufig auftretenden Namensbestandteilen 12 (in unserem fiktiven Beispiel: „hof", „weg", „platz", „allee", „ober") und weniger häufig auftretenden Namen (in unserem Beispiel: „Schillerstraße") sind längere Codes 31, 32, 33 zugeordnet. Sehr seltenen Zeichen (in unserem Beispiel: Y) sind lange Codes 31 zugeordnet. Selten auftretenden Namensbestandteilen oder Namen sind gar keine Codes zugeordnet."Bahnhofsplatz" and "Bahnhofsstraße" are assigned relatively short codes 31 and 33, respectively. Less common letter 11 (in our fictitious example: A, B, C, D), less common name parts 12 (in our fictitious example: "yard", "way", "place", "avenue", "upper") and less common names (in our example: "Schillerstrasse") are assigned longer codes 31, 32, 33. Very rare characters (in our example: Y) are assigned long codes 31. Rarely occurring name components or names are not assigned any codes.
Die anhand der Fig. 1 dargestellte Zuordnung kann einen deutlich größeren Umfang aufweisen. Beispielsweise werden in der Regel allen Buchstaben eines Alphabets Codes 31 zugeordnet. Ferner sind die in Fig. 1 dargestellten Längen der Codes 31, 32, 33 fiktiv und beruhen nicht auf einer Analyse der statistischen Verteilung des Auftretens der Zeichens 11, der Namensbestandteile 12 und der Namen 13.The assignment shown with reference to FIG. 1 can have a significantly greater extent. For example, codes 31 are generally assigned to all letters of an alphabet. Further, the lengths of the codes 31, 32, 33 shown in FIG. 1 are fictitious and are not based on an analysis of the statistical distribution of the appearance of the character 11, the name constituents 12, and the names 13.
Fig. 2 ist eine schematische Darstellung eines Datensatzes 10 und eines codierten Datensatzes 30, der aus dem Datensatz 10 durch Codieren 93 hervorgeht. Durch Decodieren 96 des codierten Datensatzes 30 erhält man wieder den Datensatz 10. Der Datensatz 10 umfasst mehrere Wörter bzw. Namen 13 aus jeweils mehreren Zeichen 11. Mehrere Zeichenfolgen 12, die Bestandteile der Namen 13 sind, können zu jenen Zeichenfolgen gehören, denen wie oben anhand der Fig. 1 dargestellt wegen ihres häufigen Auftretens eigene Codes 32 zugeordnet sind. In diesem Beispiel sind dies die Zeichenfolgen „hof" und „platz". Ein Name, dem aufgrund seines häufigen Auftretens ein eigener Code zugeordnet ist (in diesem Beispiel „Bahnhofsplatz") wird beim Codieren 93 in den entsprechenden Code 33 umgesetzt. Ein Name 13, dem aufgrund seines seltenen Auftretens kein eigener Code zugeordnet ist (in diesem Beispiel: „Nölkehof") , wird in mehrere Codes 31, 32 umgesetzt, denen einzelne Buchstaben 11 oder Namensbestandteile 12 zugeordnet sind.FIG. 2 is a schematic representation of a data record 10 and a coded data record 30, which results from the data record 10 by coding 93. By decoding 96 of the encoded data set 30 one again obtains the data record 10. The data record 10 comprises a plurality of words or names 13, each of a plurality of characters 11. Several character strings 12, which are components of the names 13, can belong to those character strings as above 1, because of their frequent occurrence, own codes 32 are assigned. In this example, these are the strings "yard" and "square". A name associated with its own code due to its frequent occurrence ("station place" in this example) is converted into the corresponding code 33 during encoding 93 Name 13, which is not assigned its own code due to its rare occurrence (in this example: "Nölkehof"), is converted into several codes 31, 32, to which individual letters 11 or name components 12 are assigned.
Fig. 3 ist eine schematische Darstellung einer Vorrichtung 50, durch die oder mit der wie vorliegend beschrieben ein Datensatz 10 codiert oder ein codierter Datensatz 30 decodiert werden kann. Das Codieren und Decodieren kann ein Hauptzweck bzw. die eigentliche Bestimmung der Vorrichtung sein. Alternativ ist die Codierung oder Decodierung Hilfsmittel zur Erfüllung anderer Aufgaben.FIG. 3 is a schematic illustration of a device 50 by which a data set 10 may be encoded or decoded as described hereinabove or an encoded data set 30 may be decoded. The coding and decoding can be a main purpose or the actual destination of the device. Alternatively, encoding or decoding is a means of accomplishing other tasks.
Als Beispiel wird die Vorrichtung hier als Navigationsvor- richtung dargestellt, wie sie beispielsweise in Kraftfahrzeugen zur Navigation eingesetzt werden kann. Die Vorrichtung 50 umfasst zu diesem Zweck eine Leseeinrichtung 51 zum Lesen eines auf einer ersten Speichereinrichtung 53 (beispielsweise CD-ROM, Flash-Speichermedium) gespeicherten, codierten Daten- satzes. Alternativ oder zusätzlich umfasst die Vorrichtung 50 eine Empfangseinrichtung 52 zum Empfangen eines codierten Datensatzes von einer Datenquelle, beispielsweise über eine Luftschnittstelle. Der durch die Leseeinrichtung 51 von der ersten Speichereinrichtung 53 gelesene oder durch die Emp- fangseinrichtung 52 empfangene, codierte Datensatz umfasst im Fall der Navigationsvorrichtung 50 digitale Karteninformation, die eine Grundlage der Navigation ist.As an example, the device is shown here as navigation device, as it can be used for example in motor vehicles for navigation. The device 50 for this purpose comprises a reading device 51 for reading a coded data record stored on a first memory device 53 (for example a CD-ROM, flash memory medium). Alternatively or additionally, the device 50 comprises a receiving device 52 for receiving a coded data record from a data source, for example via an air interface. The coded data record read by the reading device 51 from the first memory device 53 or received by the receiving device 52 comprises, in the case of the navigation device 50, digital map information which is a basis of the navigation.
Die Navigationsvorrichtung 50 umfasst ferner eine zweite Speichereinrichtung 54 zum Speichern einer Zuordnung zwischen Untermengen eines Datensatzes und Codes. Die zweite Speichereinrichtung 54 ist beispielsweise ein ROM, ein EPROM, eine EEPROM, ein Flash-Speicher, etc.The navigation device 50 further comprises a second memory means 54 for storing an association between subsets of a data set and code. The second storage device 54 is, for example, a ROM, an EPROM, an EEPROM, a flash memory, etc.
Eine Einrichtung 55 zum Decodieren ist mit der Lesseinrichtung 51 und/oder der Empfangseinrichtung 52 und mit der zweiten Speichereinrichtung 54 gekoppelt. Die Einrichtung 55 emp- fängt von der Leseeinrichtung 51 oder von der Empfangseinrichtung 52 einen codierten Datensatz und von der zweiten Speichereinrichtung 54 eine zugehörige Zuordnung zwischen Codes und Untermengen des decodierten Datensatzes. Mithilfe der in der zweiten Speichereinrichtung 54 gespeicherten und von dieser empfangenen Zuordnung decodiert die Einrichtung 55 den codierten Datensatz.A device 55 for decoding is coupled to the reading device 51 and / or the receiving device 52 and to the second memory device 54. The device 55 is recommended From the reading device 51 or from the receiving device 52, a coded data record begins and from the second memory device 54 an associated association between codes and subsets of the decoded data record. By means of the association stored in and received from the second storage device 54, the device 55 decodes the coded data record.
Ferner umfasst die Navigationsvorrichtung 50 einen GPS- Empfänger 56 oder eine andere Einrichtung zum Bestimmen der Position, ein Display bzw. eine Anzeige 57, eine Routenberechnungseinheit 58 und eine Eingabeeinrichtung 59. Das Display 57 und die Eingabeeinrichtung 59 bilden zusammen ein Beispiel einer Benutzerschnittstelle, die auch anders ausge- bildet sein kann.Furthermore, the navigation device 50 comprises a GPS receiver 56 or other means for determining the position, a display 57, a route calculation unit 58 and an input device 59. The display 57 and the input device 59 together form an example of a user interface which may also be different.
Die Anordnung der Lesseinrichtung 51, der zweiten Speichereinrichtung 54, der Einrichtung 55 zum Decodieren, des Displays 57, der Routenberechnungseinheit 58 und der Eingabe- einrichtung 59 innerhalb sowie der Empfangseinrichtung 52 und des GPS-Empfängers 56 außerhalb der Navigationsvorrichtung 50 ist nicht zwingend. Vielmehr können die dargestellten Komponenten auch beliebig anders angeordnet werden.The arrangement of the reading device 51, the second memory device 54, the device 55 for decoding, the display 57, the route calculation unit 58 and the input device 59 within as well as the receiving device 52 and the GPS receiver 56 outside the navigation device 50 is not mandatory. Rather, the components shown can also be arranged differently.
Vorteilhaft ist, dass die Navigationsvorrichtung 50 eine zweite Speichereinrichtung 54 zum Speichern einer Zuordnung zwischen Untermengen eines Datensatzes und Codes aufweist. Diese Zuordnung muss deshalb nicht mehr mit einem codierten Datensatz zusammen durch die Leseeinrichtung 52 von einer ersten Speichereinrichtung 53 gelesen oder durch die Empfangseinrichtung 52 empfangen werden. Ferner ist vorteilhaft, dass die Einrichtung 55 dazu ausgebildet ist, einen durch die Leseeinrichtung 51 gelesenen oder über die Empfangseinrichtung 52 empfangenen codierten Datensatz unter Verwendung ei- ner Zuordnung zu decodieren, die eine Zuordnung von einzelnen Zeichen und Codes aus einer ersten Menge von Codes und eine Zuordnung von Zeichenfolgen aus jeweils mehreren Zeichen und Codes aus einer zweiten Menge von Codes umfasst.It is advantageous that the navigation device 50 has a second memory device 54 for storing an association between subsets of a data set and code. This assignment therefore no longer has to be read together with a coded data record by the reading device 52 from a first memory device 53 or received by the receiving device 52. Furthermore, it is advantageous for the device 55 to be designed to decode an encoded data record read by the reading device 51 or received via the receiving device 52 using an association which comprises an assignment of individual characters and codes from a first set of codes and a Assignment of strings of several characters and codes from a second set of codes.
Fig. 4 ist ein schematisches Flussdiagramm eines Verfahrens zum Codieren eines Datensatzes und zum Decodieren eines codierten Datensatzes. In der Beschreibung des Verfahrens werden zum besseren Verständnis Bezugszeichen aus den Fig. 1 bis 3 verwendet. Das Verfahren ist jedoch auch für andere als die oben anhand der Fig. 1 beispielhaft dargestellte Zuordnung, für andere als den oben anhand der Fig. 2 beispielhaft dargestellten Datensatz und für andere als die oben anhand der Fig. 3 beispielhaft dargestellte Vorrichtungen verwendbar.4 is a schematic flow diagram of a method of encoding a data set and decoding a coded data set. In the description of the method, reference numerals from FIGS. 1 to 3 are used for better understanding. However, the method is also applicable to other than the above with reference to FIG. 1 exemplified assignment, for other than the above with reference to FIG. 2 exemplified data set and other than the above with reference to FIG. 3 exemplified devices shown.
In einem ersten Schritt 91 wird die statistische Verteilung von einzelnen Zeichen 11 und von vorbestimmten Zeichenfolgen 12, 13 analisiert. Die Analyse bezieht sich dabei entweder auf einen vorbestimmten Datensatz oder auf einen Datensatz einer bestimmten Art. Ein Beispiel für einen Datensatz einer bestimmten Art ist eine digitale Karte eines vorbestimmten geographischen Gebiets, beispielsweise Deutschlands. Diese digitale Karte kann immer wieder überarbeitet oder erneut erstellt werden, wobei beispielsweise neue Wege, Straßen und Plätzen, längerfristige Baustellen oder Umbenennungen von Gebietskörperschaften aufgenommen werden. Digitale Karten des gleichen Gebiets, die innerhalb eines längeren Zeitraums erstellt werden, können sich in für eine Navigation in dem Gebiet wichtigen Details unterscheiden, die statistische Verteilung von einzelnen Zeichen 11 und Zeichenfolgen 12, 13 ändert sich jedoch nur geringfügig.In a first step 91, the statistical distribution of individual characters 11 and of predetermined character strings 12, 13 is analyzed. The analysis in this case refers either to a predetermined data record or to a data record of a specific type. An example of a data record of a specific type is a digital map of a predetermined geographic area, for example Germany. This digital map can be revised or recreated over and over again, including, for example, new roads, streets and squares, longer term construction sites or renaming of local authorities. Digital maps of the same area created over a longer period of time may differ in details important for navigation in the area, but the statistical distribution of individual characters 11 and strings 12, 13 changes only slightly.
Im ersten Schritt 91 wird die statistische Verteilung für alle oder mehrere Datensätze der vorbestimmten Art oder für einen repräsentativen Datensatz analisiert.In the first step 91, the statistical distribution is analyzed for all or several data records of the predetermined type or for a representative data record.
In einem zweiten Schritt 92 wird auf der Grundlage der im ersten Schritt 91 analisierten statistischen Verteilung eine Zuordnung von Untermengen des Datensatzes bzw. der Datensätze und Codes festgelegt. Diese Festlegung erfolgt beispielsweise mittels eines der bereits erwähnten Verfahren nach Shannon- Fano oder nach Huffman. Wenn die Zuordnung sowohl eine Zuordnung 41 von einzelnen Zeichen 11 und Codes 31 aus einer ers- ten Gruppe 21 von Codes als auch eine Zuordnung 42, 43 vonIn a second step 92, on the basis of the statistical distribution analyzed in the first step 91, an assignment of subsets of the data set or of the data records is made and codes set. This determination is made, for example, by means of one of the already mentioned methods according to Shannon-Fano or Huffman. If the association includes both an assignment 41 of individual characters 11 and codes 31 from a first group 21 of codes as well as an assignment 42, 43 of
Zeichenketten 12, 13 und Codes 32, 33 aus einer oder mehreren weiteren Mengen 22, 23 von Codes umfassen soll, kann die Zuordnung beispielsweise für jede Menge 21, 22, 23 von Codes getrennt stattfinden. In diesem Fall wird beispielsweise das Huffman-Verfahren jeweils getrennt auf einzelne Zeichen 11, häufige Wort- oder Namensbestandteile 12 und häufige Wörter bzw. Namen 13 angewendet. Den so ermittelten Codes werden dann zur Unterscheidung beispielsweise unterschiedliche Präfixbits vorangestellt, beispielsweise „1" für Codes 33, die ganzen Wörtern bzw. Namen zugeordnet sind, „Ol" für Codes 32, die Wort- bzw. Namensbestandteilen zugeordnet sind, und „00" für Codes 31, die einzelnen Zeichen 11 zugeordnet sind.For example, to combine strings 12, 13 and codes 32, 33 from one or more further sets 22, 23 of codes, the assignment may take place separately for each set 21, 22, 23 of codes. In this case, for example, the Huffman method is applied separately to individual characters 11, common word or name components 12, and frequent words or names 13, respectively. The codes thus determined are then preceded, for example, by different prefix bits, for example "1" for codes 33, which are assigned to whole words or names, "Ol" for codes 32, which are assigned to word or name components, and "00" for codes 31 associated with individual characters 11.
Alternativ erfolgt die Festlegung der Zuordnung in einem ein- zigen Schritt, indem beispielsweise in einem modifizierten Shannon-Fano-Verfahren oder in einem modifizierten Huffman- Verfahren gleichzeitig allen auftretenden Zeichen 11 und den häufigsten Wort- bzw. Namensbestandteilen und den häufigsten Wörtern bzw. Namen 13 Codes 31, 32, 33 zugeordnet werden.Alternatively, the assignment is determined in a single step, for example by simultaneously using a modified Shannon-Fano method or a modified Huffman method, all occurring characters 11 and the most frequent word or name components and the most frequent words or names 13 codes 31, 32, 33 are assigned.
Wenn im ersten Schritt 91 die statistische Verteilung für mehrere Datensätze einer bestimmten Art oder für eine repräsentativen Datensatz der bestimmten Art analisiert wird, kann die im zweiten Schritt 92 festgelegte Zuordnung für die Co- dierung von allen Datensätzen dieser Art verwendet werden.If, in the first step 91, the statistical distribution is analyzed for a plurality of data records of a specific type or for a representative data record of the specific type, the assignment defined in the second step 92 can be used for the coding of all data records of this type.
Besonders in diesem Fall, aber nicht nur in diesem Fall, kann die im zweiten Schritt 92 festgelegte Zuordnung separat von einem wie nachfolgend beschrieben mithilfe der Zuordnung codierten Datensatz gespeichert werden. Beispielsweise kann die Zuordnung in einer Speichereinrichtung 54 einer Navigationsvorrichtung 50 gespeichert werden. Aus den oben beschriebenen Gründen kann die Navigationsvorrichtung mit der in ihrer Speichereinrichtung 54 gespeicherten Zuordnung verkauft und über viele Jahre hinweg mit immer wieder aktualisierten Datensätzen betrieben werden, solange diese mit der in der Speichereinrichtung 54 gespeicherten Zuordnung codiert wur- den .Especially in this case, but not only in this case, the assignment defined in the second step 92 can be stored separately from a data set coded using the assignment as described below. For example, the association may be stored in a memory device 54 of a navigation device 50. For the reasons described above, the navigation device with the in their Memory device 54 stored and operated over many years with repeatedly updated records as long as they were coded with the stored in the memory device 54 assignment.
In einem dritten Schritt 93 wird ein Datensatz 10 unter Verwendung der im zweiten Schritt 92 festgelegte Zuordnung codiert. Dabei werden einzelne Zeichen 11 durch Codes 31 und, wenn die im zweiten Schritt 92 festgelegte Zuordnung 40 auch eine Zuordnung von Zeichenfolgen 12, 13 und Codes 32, 33 um- fasst, Zeichenfolgen 12, 13 in zugeordnete Codes 32, 33 umgesetzt. Ein Wort bzw. ein Name kann dabei, wenn ihm ein Code 33 zugeordnet ist, durch diesen und andernfalls teilweise o- der vollständig durch in ihm auftretenden Zeichenketten 12 zugeordnete Codes 32 und teilweise oder vollständig durch in ihm auftretenden einzelnen Zeichen 11 zugeordnete Codes 31 dargestellt werden.In a third step 93, a data record 10 is encoded using the assignment defined in the second step 92. In this case, individual characters 11 are converted by codes 31 and, if the assignment 40 defined in the second step 92 also includes an assignment of character strings 12, 13 and codes 32, 33, character strings 12, 13 into assigned codes 32, 33. A word or a name can, if it is assigned to a code 33, represented by this and otherwise partially or completely o by completely occurring in it strings 12 associated codes 32 and partially or completely by occurring in it individual characters 11 codes 31 become.
Wenn, wie oben zum zweiten Schritt 92 beschrieben, die Zuordnung für jede Menge 21, 22, 23 von Codes getrennt bestimmt wird, können anstelle der dort beschriebenen Verwendung von Präfixbits im codierten Datensatz 30 Trennbits verwendet werden. Diese Trennbits trennen jeweils reine Folgen von Codes 31 aus der ersten Menge 21, reine Folgen von Codes 32 aus der zweiten Menge 22 und reine Folgen von Codes 33 aus der dritten Menge 23 von einander.If, as described above for the second step 92, the assignment is determined separately for each set 21, 22, 23 of codes, instead of the use of prefix bits described therein in the encoded data set 30, separation bits may be used. These separation bits respectively separate pure sequences of codes 31 from the first set 21, pure sequences of codes 32 from the second set 22, and pure sequences of codes 33 from the third set 23 of each other.
Der dritte Schritt 93 kann unmittelbar nach dem zweiten Schritt 92 oder zu einem beliebigen späteren Zeitpunkt durchgeführt werden.The third step 93 may be performed immediately after the second step 92 or at any later time.
In einem vierten Schritt 94 wird der im dritten Schritt 93 erzeugte codierte Datensatz 30 gespeichert, beispielsweise auf einer CD-ROM, einem Flash-Speichermedium oder einem beliebigen anderen Wechseldatenträger. Alternativ wird der co- dierte Datensatz 30 übertragen, beispielsweise über eine Luftschnittsteile .In a fourth step 94, the encoded data record 30 generated in the third step 93 is stored, for example on a CD-ROM, a flash memory medium or any other removable medium. Alternatively, the co- transmitted data record 30, for example, via an air interface parts.
In einem fünften Schritt 95 wird der codierte Datensatz 30 gelesen oder empfangen. Wenn der codierte Datensatz 30 digitale Karteninformationen enthält, wird er beispielsweise durch ein Navigationsgerät 50 von einer CD-ROM gelesen.In a fifth step 95, the encoded data record 30 is read or received. When encoded record 30 contains digital map information, it is read by a navigation device 50 from a CD-ROM, for example.
In einem sechsten Schritt 96 wird der im fünften Schritt 95 gelesene oder empfangene codierte Datensatz 30 unter Verwendung der im zweiten Schritt 92 festgelegten Zuordnung decodiert. Dabei werden in zu der Richtung im dritten Schritt 93 umgekehrter Richtung Codes 31, 32, 33 in Zeichen 11 und gegebenenfalls in Zeichenfolgen 12, 13 umgesetzt. Wenn die Zuord- nung nicht mit dem codierten Datensatz 30 empfangen bzw. von einer Speichereinrichtung gelesen wird, wird sie von einer separaten Speichereinrichtung 54 gelesen.In a sixth step 96, the encoded data record 30 read or received in the fifth step 95 is decoded using the association established in the second step 92. In this case, in the direction opposite to the direction in the third step 93, codes 31, 32, 33 are converted into characters 11 and, if appropriate, into strings 12, 13. If the assignment is not received with the encoded data record 30 or is read by a storage device, it is read by a separate storage device 54.
Die oben anhand der Figuren dargestellten Ausführungsbeispie- Ie können in mehreren Weisen variiert werden. Beispielsweise kann die Zuordnung 40 eine Zuordnung 42 von Zeichenfolgen 12 aus jeweils mehreren Zeichen 11 und Codes 32 aus einer ersten Menge 22 von Codes und eine Zuordnung 43 von Wörtern 13 und Codes 33 aus einer zweiten Menge 23 von Codes umfassen. Dabei sind die Wörter 13 vorzugsweise Wörter aus einer gesprochenen Sprache oder auch aus einer Programmiersprache. Vorteilhaft ist eine Zuordnung von Codes 33 aus der zweiten Menge 23 zu einer vorbestimmten Anzahl der in der jeweiligen Sprache häufigsten Wörter 13.The embodiments illustrated above with reference to the figures can be varied in several ways. For example, the association 40 may include an association 42 of strings 12 of a plurality of characters 11 and codes 32 of a first set 22 of codes and an assignment 43 of words 13 and codes 33 of a second set 23 of codes. The words 13 are preferably words from a spoken language or from a programming language. It is advantageous to assign codes 33 from the second set 23 to a predetermined number of the most common words 13 in the respective language.
Auch für diese Variante sind die meisten der oben dargestellten optionalen Modifikationen möglich. Beispielsweise kann auch hier bei einem Codierverfahren die Zuordnung 40 unabhängig von dem Datensatz fest vorgegeben sein. Ferner können Co- des (32, 33) aus der verschiedenen Mengen (22, 23) von Codes durch Voranstellen von Präfixbits unterschieden werden. Alternativ wird im codierten Datensatz 30 jeweils eine Gruppe von Codes 32 aus der ersten Menge 22 von einer Gruppe von Codes 33 aus der zweiten Menge 23 durch Trennbits getrennt. Also for this variant, most of the optional modifications described above are possible. For example, in the case of an encoding method, the assignment 40 can also be fixed independently of the data record. Further, codes (32, 33) can be formed from the various sets (22, 23) of codes by prefixing prefix bits. Alternatively, in the encoded data set 30, a group of codes 32 from the first set 22 is separated from a set of codes 33 from the second set 23 by separating bits.

Claims

Ansprüche claims
1. Verfahren zum Codieren oder Decodieren eines mehrere Zeichen (11) aufweisenden Datensatzes (10) mittels einer Zu- Ordnung (40) von Untermengen (11, 12, 13) des Datensatzes (10), die jeweils eines oder mehrere Zeichen (11) umfassen, und Codes (31, 32, 33), wobei die Zuordnung (40) eine Zuordnung (41) einzelner Zeichen (11) und Codes (31) aus einer ersten Menge (21) von Codes und eine Zuordnung (42, 43) von Zeichenfolgen (12, 13) aus jeweils mehreren Zeichen und Codes (32, 33) aus einer zweiten Menge (22, 23) von Codes umfasst.Method for coding or decoding a data record (10) having a plurality of characters (11) by means of an assignment order (40) of subsets (11, 12, 13) of the data record (10), each having one or more characters (11) and codes (31, 32, 33), the association (40) comprising an assignment (41) of individual characters (11) and codes (31) from a first set (21) of codes and an assignment (42, 43) of strings (12, 13) each of a plurality of characters and codes (32, 33) from a second set (22, 23) of codes.
2. Verfahren nach Anspruch 1, bei dem2. The method of claim 1, wherein
der Datensatz Wörter (13) aus einer in einem vorbestimmten geographischen Gebiet gesprochenen Sprache umfasst,the record comprises words (13) from a language spoken in a predetermined geographic area,
die Zuordnung (40) eine Zuordnung (42) von Silben (12) aus jeweils mehreren Zeichen (11), die Bestandteile der Wörter (13) sind, und Codes (32) aus der zweiten Menge von Code (22) umfasst .the assignment (40) comprises an assignment (42) of syllables (12) each of a plurality of characters (11) that are components of the words (13) and codes (32) of the second set of code (22).
3. Verfahren nach Anspruch 1 oder 2, bei dem3. The method according to claim 1 or 2, wherein
der Datensatz Wörter (13) aus einer in einem vorbestimmten geographischen Gebiet gesprochenen Sprache umfasst,the record comprises words (13) from a language spoken in a predetermined geographic area,
die Zuordnung (40) eine Zuordnung (43) von Wörtern (13) und Codes (33) umfasst.the association (40) comprises an association (43) of words (13) and codes (33).
4. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Zuordnung (40) unabhängig von dem Datensatz (10) vorgegeben ist. 4. The method according to any one of the preceding claims, wherein the assignment (40) is predetermined independently of the data set (10).
5. Verfahren zum Codieren oder Decodieren eines Zeichen (11) aufweisenden Datensatzes (10) mittels einer Zuordnung (40) von Untermengen (11, 12, 13) des Datensatzes (10), die jeweils eines oder mehrere Zeichen (11) umfassen, und Codes (31, 32, 33), wobei die Zuordnung unabhängig von dem Datensatz festgelegt ist.5. A method for encoding or decoding a character (11) having record (10) by means of an assignment (40) of subsets (11, 12, 13) of the record (10), each comprising one or more characters (11), and Codes (31, 32, 33), the association being independent of the data set.
6. Verfahren nach einem der vorangehenden Ansprüche, bei dem6. The method according to any one of the preceding claims, wherein
die Zuordnung (40) eine Zuordnung (43) von Wörtern (13) aus einer vorbestimmten Menge von Wörtern (13) und Codes aus einer dritten Menge (23) von Codes umfasst.the association (40) comprises an association (43) of words (13) from a predetermined set of words (13) and codes from a third set (23) of codes.
7. Verfahren nach dem vorangehenden Anspruch, bei dem die vorbestimmte Menge von Wörtern (13) eine vorbestimmte Anzahl von Wörtern (13) mit dem häufigsten Auftreten umfasst.A method according to the preceding claim, wherein the predetermined set of words (13) comprises a predetermined number of most common words (13).
8. Verfahren nach einem der vorangehenden Ansprüche, bei dem Codes (31, 32, 33) aus der verschiedenen Mengen (21, 22, 23) durch Voranstellen von Präfixbits unterschieden werden.A method according to any one of the preceding claims, wherein codes (31, 32, 33) are distinguished from the different sets (21, 22, 23) by prefixing prefix bits.
9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem im codierten Datensatz (30) eine Gruppe von Codes (31) aus der ersten Menge (21) von einer Gruppe von Codes (32, 33) aus der zweiten Menge (22) durch Trennbits getrennt wird.9. Method according to one of claims 1 to 8, wherein in the coded data record (30) a group of codes (31) from the first set (21) of a group of codes (32, 33) from the second set (22) is separated by separating bits.
10. Verfahren nach einem der vorangehenden Ansprüche, bei dem10. The method according to any one of the preceding claims, wherein
der Datensatz (10) Namen (13) von Straßen, Plätzen oder Ge- bietskörperschaften in einem vorbestimmten geographischen Gebiet umfasst.the dataset (10) names (13) of streets, squares or in a predetermined geographic area.
11. Verfahren nach dem vorangehenden Anspruch, und11. The method according to the preceding claim, and
die Zuordnung (40) eine Zuordnung (41) von einzelnen Zeichen (11) und Codes (31) und eine Zuordnung (42) von Namensbestandteilen (12) der Namen der Straßen, Plätze oder Gebietskörperschaften und Codes (32) umfasst.the association (40) comprises an assignment (41) of individual characters (11) and codes (31) and an association (42) of name components (12) of the names of the streets, squares or codes (32).
12. Verfahren nach dem vorangehenden Anspruch, bei dem die vorbestimmte Menge von Namensbestandteilen (12) eine vorbestimmte Anzahl von Namensbestandteilen (12) mit dem häufigsten Auftreten in den Namen (13) der Straßen, Plätzen oder Ge- bietskörperschaften in dem vorbestimmten geographischen Gebiet umfasst.12. A method according to the preceding claim, wherein the predetermined set of name components (12) comprises a predetermined number of name components (12) with the most frequent occurrence in the names (13) of the streets, squares or territorial entities in the predetermined geographic area ,
13. Verfahren nach einem der Ansprüche 8 bis 10, bei dem13. The method according to any one of claims 8 to 10, wherein
die Zuordnung (40) eine Zuordnung (43) von Namen (13) aus einer vorbestimmten Menge von Namen (13) von Straßen, Plätzen oder Gebietskörperschaften und Codes aus einer dritten Menge (23) von Codes umfasst.the mapping (40) comprises an association (43) of names (13) from a predetermined set of names (13) of streets, squares or territorial entities and codes from a third set (23) of codes.
14. Verfahren nach dem vorangehenden Anspruch, bei dem die vorbestimmte Menge von Namen (13) eine vorbestimmte Anzahl von Namen (13) mit dem häufigsten Auftreten bei den Straßen, Plätzen oder Gebietskörperschaften in dem vorbestimmten geographischen Gebiet umfasst.A method according to the preceding claim, wherein the predetermined set of names (13) comprises a predetermined number of names (13) with the most frequent occurrence in the streets, squares or localities in the predetermined geographical area.
15. Verfahren zum Codieren nach einem der vorangehenden Ansprüche, ferner mit folgendem Schritt: Speichern (94) des codierten Datensatzes (30) ohne die Zuordnung (40) in einer Speichereinrichtung (53) .15. A method of coding according to one of the preceding claims, further comprising the following step: Storing (94) the coded data set (30) without the assignment (40) in a memory device (53).
16. Verfahren zum Decodieren nach einem der Ansprüche 1 bis 15, ferner mit folgendem Schritt:16. A decoding method according to any one of claims 1 to 15, further comprising the step of:
Lesen (95) des codierten Datensatzes (30) und der Zuordnung (40) von zwei verschiedenen Speichereinrichtungen (53, 54) .Reading (95) the coded data set (30) and the mapping (40) from two different memory devices (53, 54).
17. Verfahren nach dem vorangehenden Anspruch, bei dem der codierte Datensatz (30) von einem Wechseldatenträger (53) gelesen wird, und die Zuordnung von einer Speichereinrichtung (54) gelesen wird, die Bestandteil eines Navigationsgeräts (50) ist.17. Method according to the preceding claim, wherein the coded data record (30) is read by a removable data carrier (53), and the assignment is read by a memory device (54) which is part of a navigation device (50).
18. Verfahren zum Codieren oder Decodieren eines mehrere Zeichen (11) aufweisenden Datensatzes (10) mittels einer Zuordnung (40) von Untermengen (11, 12, 13) des Datensatzes (10), die jeweils eines oder mehrere Zeichen (11) umfassen, und Codes (31, 32, 33),18. Method for coding or decoding a data record (10) having a plurality of characters (11) by means of an assignment (40) of subsets (11, 12, 13) of the data record (10), each comprising one or more characters (11), and codes (31, 32, 33),
wobei die Zuordnung (40) eine Zuordnung (41, 42) von Zeichen (11) oder Zeichenfolgen (12) aus jeweils mehreren Zeichen (11) und Codes (31, 32) aus einer ersten Menge (21, 22) von Codes und eine Zuordnung (43) von Wörtern (13) und Codes (33) aus einer zweiten Menge (23) von Codes umfasst,wherein the assignment (40) comprises an assignment (41, 42) of characters (11) or character sequences (12) of a plurality of characters (11) and codes (31, 32) from a first set (21, 22) of codes and a Comprising assignment (43) of words (13) and codes (33) from a second set (23) of codes,
wobei ein Wort (13) jeweils zumindest entweder mehrere Zeichen (11) oder eine oder mehrere Zeichenfolgen (12) umfasst.wherein one word (13) each comprises at least one of a plurality of characters (11) or one or more character strings (12).
19. Verfahren nach Anspruch 18, bei dem die Wörter (13), die den Codes (33) aus der zweiten Menge (23) von Codes zugeord- net sind, Wörter aus einer gesprochenen Sprache oder aus einer Programmiersprache sind.19. Method according to claim 18, wherein the words (13) assigned to the codes (33) from the second set (23) of codes are net words, words from a spoken language or from a programming language.
20. Verfahren nach Anspruch 18 oder 19, bei dem die Zuord- nung (40) unabhängig von dem Datensatz fest vorgegeben ist.20. The method of claim 18 or 19, wherein the assignment (40) is fixed independently of the record.
21. Verfahren nach einem der Ansprüche 18 bis 20, bei dem eine vorbestimmte Anzahl von Wörtern (13) mit dem häufigsten Auftreten den Codes (33) aus der zweiten Menge (23) von Codes zugeordnet ist.21. The method according to any one of claims 18 to 20, wherein a predetermined number of words (13) with the most frequent occurrence of the codes (33) from the second set (23) of codes is assigned.
22. Verfahren nach einem der Ansprüche 18 bis 21, bei dem Codes (31, 32, 33) aus der verschiedenen Mengen (21, 22, 23) von Codes durch Voranstellen von Präfixbits unterschieden werden.A method according to any one of claims 18 to 21, wherein codes (31, 32, 33) are distinguished from the different sets (21, 22, 23) of codes by prefixing prefix bits.
23. Verfahren nach einem der Ansprüche 18 bis 22, bei dem im codierten Datensatz (30) eine Gruppe von Codes (31, 32) aus der ersten Menge (21, 22) von einer Gruppe von Codes (33) aus der zweiten Menge (23) durch Trennbits getrennt wird.23. The method according to any one of claims 18 to 22, wherein in the coded record (30) a group of codes (31, 32) from the first set (21, 22) of a group of codes (33) from the second set ( 23) is separated by separating bits.
24. Verfahren zum Komprimieren oder Dekomprimieren eines Datensatzes (10; 30), wobei das Verfahren zum Komprimieren oder Dekomprimieren eine Verfahren nach einem der vorangehenden Ansprüche umfasst.A method for compressing or decompressing a data set (10; 30), the method for compressing or decompressing comprising a method according to any one of the preceding claims.
25. Programm mit Anweisungen zum Steuern eines Verfahrens nach einem der vorangehenden Ansprüche.25. A program with instructions for controlling a method according to any one of the preceding claims.
26. Vorrichtung (50), mit:26. Device (50), with:
einer Lese- oder Empfangseinrichtung (51, 52) zum Lesen oder Empfangen eines codierten Datensatzes (30); einer Speichereinrichtung (54) zum Speichern einer festen und von einem gelesenen oder empfangenen codierten Datensatz (30) unabhängigen Zuordnung (40) zwischen Untermengen (11, 12, 13) eines Datensatzes (10) und Codes (31, 32, 33);a reading or receiving device (51, 52) for reading or receiving a coded record (30); storage means (54) for storing a fixed association (40) between subsets (11, 12, 13) of a record (10) and codes (31, 32, 33) independent of a read or encoded coded record (30);
einer Einrichtung (55) zum Decodieren des codierten Datensatzes (30) unter Verwendung der von der Speichereinrichtung gelesenen festen Zuordnung (40) .means (55) for decoding the encoded data set (30) using the fixed map (40) read from the memory means.
27. Vorrichtung (50) nach dem vorangehenden Anspruch, wobei die Speichereinrichtung (54) zum Speichern einer Zuordnung27. The device (50) according to the preceding claim, wherein the memory means (54) for storing an association
(40) ausgebildet ist, die eine Zuordnung (41) einzelner Zeichen (11) und Codes (31) aus einer ersten Menge (21) von Co- des und eine Zuordnung (42, 43) von Zeichenfolgen (12, 13) aus jeweils mehreren Zeichen (11) und Codes (32, 33) aus einer zweiten Menge (22, 23) von Codes umfasst.(40) having an association (41) of individual characters (11) and codes (31) from a first set (21) of codes and an assignment (42, 43) of character strings (12, 13) respectively a plurality of characters (11) and codes (32, 33) from a second set (22, 23) of codes.
28. Vorrichtung (50), mit:28. Device (50), with:
einer Lese- oder Empfangseinrichtung (51, 52) zum Lesen oder Empfangen eines codierten Datensatzes (30);a reading or receiving device (51, 52) for reading or receiving a coded record (30);
einer Einrichtung (55) zum Decodieren des codierten Datensat- zes (30) unter Verwendung einer Zuordnung (40) zwischen Untermengen (11, 12, 13) eines Datensatzes (10) und Codes (31, 32, 33), die eine Zuordnung (41) einzelner Zeichen (11) und Codes (31) aus einer ersten Menge (21) von Codes und eine Zuordnung (42, 43) von Zeichenfolgen (12, 13) aus jeweils meh- reren Zeichen (11) und Codes (32, 33) aus einer zweiten Menge (22, 23) von Codes umfasst.means (55) for decoding the encoded dataset (30) using an association (40) between subsets (11, 12, 13) of a dataset (10) and codes (31, 32, 33) representing an association ( 41) of individual characters (11) and codes (31) from a first set (21) of codes and an assignment (42, 43) of character strings (12, 13) each comprising a plurality of characters (11) and codes (32, 33) from a second set (22, 23) of codes.
29. Vorrichtung (50) nach einem der vorangehenden Vorrichtungsansprüche, wobei die Vorrichtung (50) eine Navigations- Vorrichtung ist. A device (50) according to any one of the preceding apparatus claims, wherein the device (50) is a navigation device.
30. Vorrichtung (50) nach einem der vorangehenden Vorrichtungsansprüche, wobei die Vorrichtung (50) zum Ausführen eines Verfahrens nach einem der vorangehenden Verfahrensansprüche ausgebildet ist.30. Device (50) according to one of the preceding device claims, wherein the device (50) is designed to carry out a method according to one of the preceding method claims.
31. Speichereinrichtung (53) mit einem codierten Datensatz (30), wobei die Speichereinrichtung (53) eine Zuordnung (40), die der Codierung des codierten Datensatzes (30) zugrunde liegt, nicht enthält.31. A memory device (53) having a coded data record (30), wherein the memory device (53) does not include an assignment (40) on which the coding of the coded data record (30) is based.
32. Speichereinrichtung (53) nach dem vorangehenden Anspruch, bei welcher32. Memory device (53) according to the preceding claim, in which
der codierte Datensatz (30) ein komprimierter Datensatz ist,the coded record (30) is a compressed record,
der codierte Datensatz (30) Namen von Straßen, Plätzen und Gebietskörperschaften in einem vorbestimmten geographischen Gebiet in codierter Form umfasst.the coded data record (30) comprises names of streets, squares and local authorities in a predetermined geographic area in coded form.
33. Speichereinrichtung (53) nach dem vorangehenden Anspruch, bei welcher der codierte Datensatz (30) eine Karte des vorbestimmten geographischen Gebiets in codierter Form darstellt . A memory device (53) as claimed in the preceding claim, wherein the coded record (30) represents a map of the predetermined geographical area in coded form.
PCT/EP2008/065219 2007-12-07 2008-11-10 Method and device for coding and decoding WO2009071420A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007059122.7 2007-12-07
DE200710059122 DE102007059122A1 (en) 2007-12-07 2007-12-07 Method and device for coding and decoding

Publications (1)

Publication Number Publication Date
WO2009071420A1 true WO2009071420A1 (en) 2009-06-11

Family

ID=40340482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/065219 WO2009071420A1 (en) 2007-12-07 2008-11-10 Method and device for coding and decoding

Country Status (2)

Country Link
DE (1) DE102007059122A1 (en)
WO (1) WO2009071420A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0395906A2 (en) * 1989-05-03 1990-11-07 Robert Bosch Gmbh Data compression method for street names

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0395906A2 (en) * 1989-05-03 1990-11-07 Robert Bosch Gmbh Data compression method for street names

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BELL T ET AL: "MODELING FOR TEXT COMPRESSION", ACM COMPUTING SURVEYS, ACM, NEW YORK, NY, US, US, vol. 21, no. 4, 1 December 1989 (1989-12-01), pages 557 - 591, XP000972666, ISSN: 0360-0300 *
COOPER D ET AL: "Text compression using variable- to fixed-length encodings", JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCE USA, vol. 33, no. 1, January 1982 (1982-01-01), pages 18 - 31, XP002515613, ISSN: 0002-8231 *
KATZOURAKI M ET AL: "A NATURAL-SUCCESSION BASED TEXT COMPRESSION TECHNIQUE", PROCEEDINGS OF THE MEDITERRANEAN ELECTROTECHNICAL CONFERENCE. (MELECON). ATHENS, MAY 24 - 26, 1983; [PROCEEDINGS OF THE MEDITERRANEAN ELECTROTECHNICAL CONFERENCE. (MELECON)], NEW YORK, IEEE, US, vol. 2, 1 May 1983 (1983-05-01), pages B11.11 - 01/02, XP000744616 *
PIKE J: "TEXT COMPRESSION USING A 4 BIT CODING SCHEME", THE COMPUTER JOURNAL, XX, XX, vol. 24, no. 4, 1 January 1981 (1981-01-01), pages 324 - 330, XP000748322 *
RADHAKRISHNAN T: "Selection of prefix and postfix word fragments for data compression", INFORMATION PROCESSING & MANAGEMENT UK, vol. 14, no. 2, 1978, pages 97 - 106, XP002515612, ISSN: 0306-4573 *
SESSA M I ET AL: "A text compression algorithm", INFORMATION SYSTEMS, PERGAMON PRESS, OXFORD, GB, vol. 15, no. 3, 1 January 1990 (1990-01-01), pages 391, XP024234544, ISSN: 0306-4379, [retrieved on 19900101] *

Also Published As

Publication number Publication date
DE102007059122A1 (en) 2009-06-10

Similar Documents

Publication Publication Date Title
WO2006111471A1 (en) Process for selecting elements in a driver information or navigation system, or in a mobile terminal
DE10036851A1 (en) Method for selecting a place name in a navigation system by voice input
EP0769181A1 (en) Device for providing a vehicle driver with information
DE60202847T2 (en) NATURAL LANGUAGE RECEIVING SYSTEM FOR ACCESSING AN INFORMATION SYSTEM
EP1376063B1 (en) Method for destination input in a navigation apparatus and navigation data base
EP1290409A1 (en) Device for inputting names into a navigation system and a corresponding navigation system for motor vehicles
DE102020206751A1 (en) Procedure for forecasting a transport requirement
WO2009071420A1 (en) Method and device for coding and decoding
DE112012006308T5 (en) Speech synthesis device
EP1046019B1 (en) Navigation system and navigation data carrier
EP2997333A1 (en) Method for operating a navigation system, navigation system and motor vehicle
DE112008002690T5 (en) The map information processing device
WO2008068087A1 (en) Navigation device
EP1979837B1 (en) Method for outputting data records, and apparatus therefor
DE112017007852T5 (en) Speech recognition dictionary data construction unit, speech recognition device, speech recognition dictionary data construction method
DE10355578A1 (en) Apparatus and method for displaying information
EP2040039B1 (en) Device for and method of providing routes
WO2007057276A1 (en) Method for operating a navigation system and navigation system
WO2004099720A1 (en) Navigation system and method for supporting destination input in a navigation system
WO2007062820A1 (en) Method and apparatus for finding and outputting a data record from a memory
EP1514077A1 (en) Method for compressing and decompressing data of a data stream
WO2012119707A1 (en) Navigation device for a motor vehicle
DE102009032732A1 (en) Target selection method for navigation device, involves entering identification of geographical place into navigation device during ambiguity within destination, and automatically examining identification and place name
EP2290326A1 (en) Method for operating a navigation system
DE10017717B4 (en) Voice input controlled controller

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: 08856576

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 08856576

Country of ref document: EP

Kind code of ref document: A1