WO2008040267A1 - Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik - Google Patents

Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik Download PDF

Info

Publication number
WO2008040267A1
WO2008040267A1 PCT/DE2007/001311 DE2007001311W WO2008040267A1 WO 2008040267 A1 WO2008040267 A1 WO 2008040267A1 DE 2007001311 W DE2007001311 W DE 2007001311W WO 2008040267 A1 WO2008040267 A1 WO 2008040267A1
Authority
WO
WIPO (PCT)
Prior art keywords
grammar
context
digital data
compression
data
Prior art date
Application number
PCT/DE2007/001311
Other languages
English (en)
French (fr)
Inventor
Eric Hildebrandt
Martin Bokler
Original Assignee
Deutsche Telekom Ag
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 Deutsche Telekom Ag filed Critical Deutsche Telekom Ag
Priority to US12/444,434 priority Critical patent/US20100312755A1/en
Priority to EP07785674A priority patent/EP2076964A1/de
Publication of WO2008040267A1 publication Critical patent/WO2008040267A1/de

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

Definitions

  • the invention relates to a method and apparatus for compression and decompression of digital data by electronic means
  • the compression of digital data by electronic means i. in an electronic system for information processing or data transmission, is used primarily to save storage space and transmission capacity.
  • compression is important not only for efficiently utilizing existing transmission capacities, such as available bandwidth, but also for speeding up transmission. But even when storing large volumes of gigabyte or even terabyte digital data, such as databases, efficient compression is often required to reduce the storage space required for uncompressed digital data, thereby conserving technical resources can.
  • identical symbol sequences are not stored multiple times in a symbol sequence to be compressed, but a reference to a first occurrence of a symbol sequence is established. The reference indicates how many symbols in the sequence must be returned and how long the sequence to be repeated is.
  • the LZ78 algorithm creates a table of common symbol sequences. If such a symbol sequence occurs in a symbol sequence to be compressed, only the corresponding code has to be inserted from the table which is shorter than the symbol sequence itself.
  • the LZW algorithm is a table-based compression method, which is formed by a predetermined table of 256 entries which is extended in the course of the compression process to the requirements of the symbol sequence to be compressed If the existing symbol sequence appears in the symbol sequence to be compressed, then the table index can be stored in its place
  • the LZW algorithm is used, for example, in data compression in the case of modems and in Computer systems used when storing GIF and TIFF files.
  • U.S. Patent No. 4,558,302 describes the LZW algorithm in detail.
  • the window-based methods are disadvantageous in that only text passages whose distance from one another is smaller than the window width can be linked to one another.
  • the object of the invention is to propose an improved method and a device for the compression and decompression of digital data by electronic means with which short, redundancy-related data can be efficiently and quickly compressed or decompressed.
  • This object is achieved by a method for compression and decompression of digital data by electronic means using a context grammar with the features of claim 1, a computer program having the features of claim 11, a computer program product having the features of claim 12, and an apparatus having the features of claim 13 solved.
  • the invention further relates to various uses of the method according to the invention as specified in claims 14, 16 and 18.
  • the object is achieved by a method for compression and decompression of digital data on electronic
  • Paths using a context grammar characterized by the steps of grammatically compressing first digital data by searching multiple occurrence sequences of non-decomposable terminal symbols (V_T) in the first digital data to be compressed, replacing found multiple occurrences
  • the step of generating a grammar preferably takes place in such a way that, as a derivation, an image for each symbol from the set of nonterminal symbols (V_N) on a symbol from the set of nonterminal symbols (V_N) combined with the set of terminal symbols (V_T).
  • a step of generating a start symbol (SO) whose derivative corresponds to a text to be compressed is executed.
  • the second digital data is similar to the first digital data.
  • these rules are stored in a tree structure, wherein the tree structure can be expandable with new rules obtained from the second digital data.
  • the tree structure is preferably traversed symbol by symbol in ascending order and is hereby searched for a grammatical rule corresponding to a longest prefix, for which a tree path exists starting from its root.
  • the generated grammar is additionally coded arithmetically or using a Huffman code.
  • a computer program for compressing and decompressing digital data electronically using a context grammar having the above embodiment achieves the Task-based solution when running on a data processing system such as a computer.
  • Such a computer program is preferably designed as a computer program product and comprises a machine-readable data carrier on which the computer program is stored in the form of electronically or optically readable control signals for a computer.
  • An apparatus for compression and decompression of digital data by electronic means using a context grammar with an input device, a processing device, a memory device and an output device for carrying out the aforementioned method is used for practicing the method according to the invention.
  • the inventive method for compression and decompression of digital data by electronic means using a context grammar is particularly efficient in compressing datasets of databases, in particular relational, object-oriented and XML-based databases.
  • a contextual grammar may be created for a table column, and contextual grammar may then be used to compress the column entries.
  • inventive method for compression and decompression of digital data by electronic means using a context grammar for compressing a data transmission in particular a punk-to-point connection.
  • This can increase the effective bandwidth of a data connection.
  • the relatively short data packets, as they often occur in data transmissions, are suitable for context compression.
  • packet structures of digital to be transmitted can Data is compressed prior to data transmission using context grammar present at both transmission points.
  • An essential idea underlying embodiments of the invention is thus that, upon compression of first data, information is gained which can be used to efficiently compress second data similar to the first data. In other words, the information obtained from the first data can be used efficiently.
  • a context grammar is generated, which is then usable for compression of the second and further data.
  • information is obtained, which is then used to compress second data.
  • the grammar generated in the compression of the second data contains, in particular, a special rule, which is also referred to below as the start rule and whose expansion corresponds to the data to be compressed. While this starting rule is generally characteristic of the particular data set to be compressed, other rules which are "inserted" into the starting rule following the context grammar are more general in nature.
  • the information obtained from similar data is thus used as the basis for generating the grammar currently available for compression compressive, additional data is applied.
  • the symbols of the grammar can then be coded, for example by means of Huffman codes or arithmetically.
  • the amount of information that should be used for the context grammar in the simplest way, for example, depending on the application, data type and
  • Amount of data to be chosen flexibly.
  • the context information can be directly extracted from similar data by first compressing that data and creating it for it during that
  • the invention allows for more flexible coding possibilities, since the code of a grammar newly created for other data is independent of the context grammar code for the previous ones compressed data can be created and used. This results in each additional, advantageous options for further optimization.
  • the greatest advantage of the method and the device according to the invention thus lies in particular in an efficient compression of small or short data sets which are not or substantially less efficiently compressible with the known compression methods. This results in significant advantages for the storage, transmission and processing of data for applications for such data sets.
  • V ⁇ be the alphabet used in the data to be compressed, for example the set of 256 possible character values or symbols, for example those of the extended ASCII code, which can be coded with one byte.
  • the elements of V ⁇ are called terminals and indicate those symbols that can not be decomposed further.
  • the grammar to be generated for compression is then described by a set VN of non-terminal symbols, ie variables, a special start rule So and derivation rules Si to S n .
  • the derivation rules Si to S n each contain a nonterminal symbol on the left side and at least 2 symbols of V ⁇ on the right side combine VN.
  • a short example should clarify this.
  • the text ABAB should be compressed, where A and B are elements of V 1 - terminals that can not be further broken down.
  • the context-free grammar to be generated for the data to be compressed can also be obtained by means of so-called context compression.
  • context compression a plurality of (base) rules K 1 to K n are either predefined or used from a previously created grammar, which can then be referenced to generate a new, context-free grammar from the data currently being compressed.
  • the rules of the context grammar K 1 to K n can thus be used both for creating new rules and in the start rule S 0 .
  • Storage of the grammar uses a code in which frequent symbols are assigned shorter codewords than rare symbols.
  • a Huffman code can be used for this purpose.
  • a first possibility consists first of all that the codewords of the context grammar continue to be used. In this case, the entire context grammar is stored coded so that the codeword lengths used reflect the frequencies or frequency of occurrence of the corresponding expanded rules. Assuming that the data to be compressed is of the same type as that, ie, similar to the data for generating the context grammar, the frequencies in the data to be compressed behave similarly to the frequencies in the generation of the context grammar. It is therefore advantageous to continue to use the codewords from the context grammar for coding the context rules.
  • two codes are used in parallel in connection with the aforementioned first possibility, i. h., in addition to the codewords that are still used, a separate code is also generated for the newly generated, record-specific rules. To store the compressed data then further used codewords from the context grammar and codewords are used from this newly generated code.
  • code the next codeword belongs i) For example, in one of the two codes there are otherwise unused code symbols which are used to identify one or more code words of the other code, or ii) there is an otherwise unused code in both codes
  • Context grammar contains unused wildcard codewords that can be used for newly created rules.
  • a common code is generated both for the further used rules of the context grammar and for the newly created rules.
  • the assignment to a new code word must be possible for a used context rule. This can be done, for example, by defining the corresponding new one
  • Code words are given to the context grammar rule associated codeword.
  • the establishment of the association with the new code word is not limited to the above modes, but may be appropriately selected according to the characteristics of the data to be compressed in order to achieve the best possible compression.
  • first digital data is first of all grammatically compressed.
  • V_T be the set of symbols used in the first digital data.
  • this data for example a text
  • multiple sequences of terminal symbols V_T i. not further separable symbols or characters, searched.
  • Found symbols V_T are then replaced by a nonterminal symbol, i. a symbol that can be further decomposed according to rules, and a partial data sequence belonging to this symbol, for example a subtext, is stored in a grammar containing rules. This results in a set of nonterminal symbols V_N.
  • the resulting grammar indicates A from the set V_N to which symbols from V_N combined V_T are mapped. This is also referred to as derivative of (symbol) A.
  • Context compression uses similar, second digital data with the predetermined, generated from the first digital data grammar compressed. If the grammar generated from the first digital data was stored in a different way, the amount of data to be stored for the compressed second digital data is advantageously reduced.
  • the second digital data can be compressed immediately.
  • the generation of the grammar can be done in various ways, for example according to the methods Sequential, Sequitur, or Repair.
  • the Sequential example below describes how a grammar can be used efficiently as context grammar and read in such a way that it can be used with little computational effort.
  • expansions of these rules are preferably stored in a tree.
  • a node of such a tree corresponds in this case to a data string or a string, and branches branching off from such a node correspond to the continuations according to the grammar rules of a tree
  • Such a tree can be extended by inserting new grammar rules by inserting from the root of the tree a data string corresponding to an expanded grammar rule into the tree. Now that all rules of the grammar are inserted into the tree, this tree can be used for context compression.
  • underlying text is traversed from front to back, with the aim of finding the grammatical rule that corresponds to the longest possible prefix of the text. In other words, this searches for the longest prefix of the text for which there is a path within the tree from its root. This is efficiently possible because at each node there is at most one corresponding branch for each letter.
  • the nodes of such a path may fully comply with grammar rules, or only correspond to a part of a rule.
  • the longest prefix corresponds to the last node of a path that corresponds to a rule.
  • this rule can be applied and the underlying algorithm continues after the data string that matches the rule. If no rule is found, the first terminal symbol of the text to be compressed is used and the algorithm applied to the text following it.
  • Another class of compression method compresses the column entries individually. However, in the case of short database entries considered here, these lead to a maximum of low compression.
  • the compression methods used in known databases such as Oracle or IBM DB2 are fundamentally different: The compression method used in Oracle works locally on memory pages. So some lines of the table are always compressed at once. With the method according to the invention, however, the entries of an entire column are compressed.
  • the compression used in IBM DB2 uses a global dictionary with a codeword length of 12 bits.
  • Advantages of context compression according to the method according to the invention are the variable code word length and the possibility that partial strings can also be compressed. Zwasr can be compressed with Oracle and other databases and individual database entries, for example, with LZ77. This is worthwhile only for longer entries, which are redundant. In the scope of context compression (columns with short entries, where the entries of a column contain redundant parts), this type of compression can not be used profitably.
  • context compression Another application of the context compression described above is the compression of point-to-point connections in data transfers to increase the effective bandwidth of such connections. Relatively short data packets, such as frequently occur during data transmission, are particularly suitable for context compression. In contrast to the known standard methods, which can only use the relatively low redundancy in a packet, context compression allows highly efficient compression of typical packet structures.
  • the proposed context compression may also be designed to be adaptive such that rules within context grammars are synchronous or renewable at sender and receiver.
  • context compression is the compression of small files that can be individually compressed only slightly, for example, when storing many small files of the same type, using contextual grammar advantageous applicable. Examples include XML formatted order forms and other records of similar structure and structure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik, gekennzeichnet durch die Schritte des: grammatikalischen Komprimierens erster digitaler Daten durch Suchen von mehrfach vorkommenden Sequenzen von nicht weiter zerlegbaren Terminal-Symbolen (V_T) in den zu komprimierenden ersten digitalen Daten; Ersetzens aufgefundener, mehrfach vorkommender Sequenzen nicht weiter zerlegbarer Terminal-Symbole (V_T) durch weiter zerlegbare Nichtterminal-Symbole (V_N); Speichems der zu diesen Nichtterminal-Symbolen (V_N) gehörenden digitalen Daten in einer zugehörigen Kontextgrammatik; und Durchführens einer Kontextkompression, mit welcher zweite digitale Daten unter Verwendung dieser Kontextgrammatik komprimiert werden, die aus den ersten digitalen Daten erzeugt wurde.

Description

B E S C H R E I B U N G
Verfahren und Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer
Kontextgrammatik
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter
Verwendung einer Kontextgrammatik, und bezieht sich insbesondere auf ein Verfahren und ein System zur hoch effizienten und schnellen, verlustfreien Kompression von Daten für kurze, redundanzbehaftete Datensätze.
Die Kompression digitaler Daten auf elektronischem Wege, d.h. in einem elektronischen System zur Informationsverarbeitung oder Datenübertragung, wird vor allem zur Einsparung von Speicherplatz und Übertragungskapazität eingesetzt. Insbesondere wenn größere Mengen digitaler Daten über Datennetze übertragen werden, ist die Kompression nicht nur zur effizienten Nutzung vorhandener Übertragungskapazitäten, beispielsweise von verfügbarer Bandbreite, sondern auch zur Beschleunigung der Übertragung von Bedeutung. Aber auch bei der Speicherung großer Mengen digitaler Daten im Gigabyte- oder gar Terabyte-Bereich, wie beispielsweise in Datenbanken, ist eine effiziente Kompression häufig erforderlich, um den Speicherplatzbedarf, der für die unkomprimierten digitalen Daten erforderlich wäre, verringern und so technische Ressourcen einsparen zu können.
Zur verlustfreien Komprimierung von Daten (Datenkompression) werden häufig die Algorithmen von Huffmann und von Ziv und Lempel (LZ) eingesetzt. Weit verbreitet sind beispielsweise die nach ihrem Publikationsjahr bezeichneten Algorithmen LZ77 und LZ78, die in den Aufsätzen "A Universal Algorithm for Sequential Data Compression", J. Ziv, A. Lempel, IEEE Transactions on Information Theory 23 (1977), S. 337-343, und "Compression of Individual Sequences via Variable Length Coding", J. Ziv, A. Lempel, IEEE Transactions on Information Theory 24 (1978), S. 530-536, beschrieben sind. Der Huffmann-Algorithmus ist in dem Aufsatz „A Method for the Construction of Minimum Redundancy Codes", Huffmann, D. A., Proceedings of the Institute of Radio Engineers, Sept. 1952, Vol. 40, No. 9, S. 1098-1101 , beschrieben.
Beim LZ77-Algorithmus werden identische Symbolsequenzen in einer zu komprimierenden Symbolfolge nicht mehrfach gespeichert, sondern es wird ein Bezug zu einem ersten Auftreten einer Symbolsequenz hergestellt. Der Bezug gibt hierbei an, um wie viele Symbole in der Sequenz zurückgegangen werden muss und wie lang die zu wiederholende Sequenz ist. Der LZ78-Algorithmus legt eine Tabelle mit häufig vorkommenden Symbolsequenzen an. Taucht eine solche Symbolsequenz in einer zu komprimierenden Symbolfolge auf, muss nur der entsprechende Code aus der Tabelle eingefügt werden, der kürzer ist als die Symbolsequenz selbst.
Eine Weiterentwicklung des LZ78-Algorithmus ist der LZW-Algorithmus, der in dem Aufsatz „A Technique for High-Performance Data Compression", Welch, T. A., IEEE Computer, Vol. 17, No. 6 (1984), S. 8- 19, beschrieben ist. Der LZW-Algoritmus ist wie der LZ78-Algorithmus ein tabellenbasiertes Kompressionsverfahren. Die Basis wird durch eine vorgegebene Tabelle mit 256 Einträgen gebildet, die im Lauf des Kompressionsvorgangs nach den Erfordernissen der zu komprimierenden Symbolsequenz erweitert wird. Sobald eine in der Tabelle vorhandene Symbolsequenz in der zu komprimierenden Symbolsequenz auftaucht, kann an ihrer Stelle der Tabellenindex abgespeichert werden. Der LZW- Algorithmus wird z. B. bei der Datenkompression bei Modems und in Computersystemen bei der Speicherung von GIF- und TIFF-Dateien verwendet. Das US-Patent Nr. 4,558,302 beschreibt den LZW-Algorithmus im Detail.
Die vorgenannten Algorithmen sind sämtlich fensterbasierte
Kompressionsverfahren, bei denen aufgrund begrenzter Ressourcen wie etwa Speicherbeschränkungen ein so genanntes Fenster mit einer vorbestimmten Breite über den zu komprimierenden Daten verschoben wird und die innerhalb des Fensters liegenden Daten komprimiert werden. Hierbei können die bei den Algorithmen verwendeten Fenster initialisiert werden, so dass Sequenzen der zu komprimierenden Daten, die in dieser Initialisierung vorkommen, direkt beim ersten Auftreten zitiert werden können und somit eine Kompression erreicht wird.
Die fensterbasierten Verfahren sind dahingehend nachteilig, dass lediglich Textstellen miteinander verknüpfbar sind, deren Entfernung voneinander kleiner als die Fensterbreite ist.
Zur grammatikalischen Kompression von digitalen Daten sind ferner folgende Algorithmen berkannt:
Sequitur: beschrieben in „identifying hierarchical structure in sequences: A linear-time algorithm", C. Nevill-Mannig, I. Witten, Journal of Artificial
Intelligence Research, 7:67—82, 1997; und
Repair: Offline dictionary-based compression", N.J. Larsson, A.Moffat, Proceedings of the IEEE, vol. 88, no. 11 , S. 1722-1732
Der Erfindung liegt nun die Aufgabe zugrunde, ein verbessertes Verfahren und eine Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege vorzuschlagen, mit welchen kurze, redundanzbehaftete Daten effizient und schnell komprimiert bzw. dekomprimiert werden können. Diese Aufgabe wird durch ein Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik mit den Merkmalen des Patentanspruchs 1 , ein Computerprogramm mit den Merkmalen des Patentanspruchs 11 , ein Computerprogramm-Produkt mit den Merkmalen des Patentanspruchs 12, und eine Vorrichtung mit den Merkmalen des Patentanspruchs 13 gelöst. Die Erfindung betrifft ferner verschiedene Verwendungen des erfindungsgemäßen Verfahrens wie in den Patentansprüchen 14, 16 und 18 spezifiziert.
Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
Somit wird die Aufgabe erfindungsgemäß gelöst durch ein Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem
Wege unter Verwendung einer Kontextgrammatik, gekennzeichnet durch die Schritte des grammatikalischen Komprimierens erster digitaler Daten durch Suchen von mehrfach vorkommenden Sequenzen von nicht weiter zerlegbaren Terminal-Symbolen (V_T) in den zu komprimierenden ersten digitalen Daten, Ersetzens aufgefundener, mehrfach vorkommender
Sequenzen nicht weiter zerlegbarer Terminal-Symbole (V_T) durch weiter zerlegbare Nichtterminal-Symbole (V_N), Speichems der zu diesen Nichtterminal-Symbolen (V_N) gehörenden digitalen Daten in einer zugehörigen Kontextgrammatik; und Durchführens einer Kontextkompression, mit welcher zweite digitale Daten unter Verwendung dieser Kontextgrammatik komprimiert werden, die aus den ersten digitalen Daten erzeugt wurde.
Bevorzugt erfolgt hierbei der Schritt des Erzeugens einer Grammatik derart, dass als eine Ableitung eine Abbildung für jedes Symbol aus der Menge der Nichtterminal-Symbole (V_N) auf ein Symbol aus der Menge der Nichtterminal-Symbole (V_N) vereinigt mit der Menge der Terminal- Symbole (V_T) angegeben wird.
Weiter bevorzugt wird ein Schritt des Erzeugens eines Startsymbols (SO), dessen Ableitung einem zu komprimierenden Text entspricht, ausgeführt.
Vorteilhaft kann es hierbei sein, wenn die zweiten digitalen Daten ähnlich zu den ersten digitalen Daten sind.
Bevorzugt werden bei einem Einlesen der Regeln der erzeugten Grammatik Expansionen diese Regeln in einer Baumstruktur gespeichert, wobei die Baumstruktur mit neuen Regeln, die aus den zweiten digitalen Daten erhalten wurden, erweiterbar sein kann.
Zur Kontextkompression wird bevorzugt die Baumstruktur symbolweise aufsteigend durchlaufen und wird hierbei nach einer einem längsten Präfix entsprechenden Grammatikregel gesucht, für welche ein Baumpfad ausgehend von dessen Wurzel vorhanden ist.
Vorteilhaft kann es dann sein, wenn zur Kontextkompression nach den am häufigsten auftretenden Grammatikregeln oder den Grammatikregeln mit der längsten Ableitung gesucht wird.
Zur Erzeugung der Grammatik werden bevorzugt Algorithmen gemäß Sequitur, Sequential oder Repair verwendet.
Weiter vorteilhaft kann es sein, wenn die erzeugte Grammatik zusätzlich arithmetisch oder unter Verwendung eines Huffman-Codes codiert wird.
Ein Computerprogramm zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik mit der vorstehenden Ausgestaltung erzielt die aufgabengemäße Lösung, wenn es auf einem Datenverarbeitungssystem wie einem Computer ausgeführt wird.
Ein solches Computerprogramm ist bevorzugt als Computerprogramm- Produkt ausgebildet und umfasst einen maschinenlesbaren Datenträger, auf dem das Computerprogramm in Form von elektronisch oder optisch auslesbaren Steuersignalen für einen Computer gespeichert ist.
Eine Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik, mit einer Eingabeeinrichtung, einer Verarbeitungseinrichtung, einer Speichereinrichtung und einer Ausgabeeinrichtung zur Durchführung des vorgenannten Verfahrens dient zur praktischen Durchführung des erfindungsgemäßen Verfahrens.
Das erfindungsgemäße Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik ist besonders effizient bei der Komprimierung von Datensätzen von Datenbanken, insbesondere von relationalen, objektorientierten und XML-basierten Datenbanken. Beispielsweise kann zu einer Tabellenspalte eine Kontextgrammatik erstellt werden, und es können dann mit der Kontextgrammatik die Spalteneinträge komprimiert werden.
Weiterhin eignet sich das erfindungsgemäße Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik zur Komprimierung einer Datenübertragung, insbesondere einer Punk-zu-Punkt-Verbindung. Dadurch kann die effektiv nutzbare Bandbreite einer Datenverbindung erhöht werden. Die relativ kurzen Datenpakete, wie sie gerade oft bei Datenübertragungen vorkommen, bieten sich für eine Kontextkompression an. Insbesondere können Paketstrukturen von zu übertragenden digitalen Daten vor der Datenübertragung unter Verwendung einer an beiden Übertragungspunkten vorhandenen Kontextgrammatik komprimiert werden.
Schließlich kann das erfindungsgemäße Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter
Verwendung einer Kontextgrammatik auch vorteilhaft zur Komprimierung von einer Datei oder mehreren Dateien gleichen Typs, insbesondere von XML-Dateien, verwendet werden.
Ein Ausführungsformen der Erfindung zu Grunde liegender wesentlicher Gedanke besteht somit darin, dass bei einer Kompression von ersten Daten Informationen gewonnen werden, die genutzt werden können, um zu den ersten Daten ähnliche, zweite Daten effizient zu komprimieren. Mit anderen Worten können die aus den ersten Daten gewonnen Informationen effizient verwendet werden.
Genauer ausgedrückt wird bei der Kompression der ersten Daten eine Kontextgrammatik erzeugt, welche sodann zur Kompression der zweiten und auch weiterer Daten verwendbar ist. In anderen Worten werden bei der Kompression der ersten Daten Informationen gewonnen, welche sodann genutzt werden, um zweite Daten zu komprimieren.
Die bei der Kompression der zweiten Daten erzeugte Grammatik enthält insbesondere eine spezielle Regel, die im Folgenden auch kurz als Startregel bezeichnet wird und deren Expansion den zu komprimierenden Daten entspricht. Während diese Startregel im Allgemeinen charakteristisch für den jeweils zu komprimierenden Datensatz ist, sind weitere Regeln, welche der Kontextgrammatik folgend in die Startregel "eingesetzt" werden, eher allgemeiner Natur. Die aus ähnlichen Daten gewonnenen Informationen werden somit als Grundlage zur Erzeugung der Grammatik genutzt, welche zur Kompression gegenwärtig zu komprimierender, weiterer Daten angewandt wird. Zur nochmals weiteren, verbesserten Kompression können die Symbole der Grammatik sodann beispielsweise mittels Huffman-Codes oder arithmetisch codiert werden.
Die Erfindung zeichnet sich durch die folgenden Punkte aus:
1. Die Verwendung des grundsätzlich anders arbeitenden, auf einer Grammatik basierenden erfindungsgemäßen Kompressionsverfahrens weist den wesentlichen Vorteil auf, dass Regeln unabhängig von ihrer Position in der Grammatik und den
Daten verwendet werden können. Wie vorstehend erwähnt wurde, können bei den fensterbasierten Verfahren hingegen nur Textstellen miteinander verknüpft werden, deren Entfernung kleiner als die Fensterbreite ist. Dies ist insbesondere bei großen Mengen ähnlicher Datensätze, wie sie beispielsweise in Spalten von
Datenbanken auftreten, sehr ungünstig.
2. Erfindungsgemäß kann die Menge der Informationen, die für die Kontextgrammatik verwendet werden sollen, auf einfachste Weise, beispielsweise in Abhängigkeit von Anwendung, Datenart und
Datenmenge, flexibel gewählt werden.
3. Die Kontextinformationen können erfindungsgemäß direkt aus ähnlichen Daten extrahiert werden, indem zunächst diese Daten komprimiert werden und die während dessen für sie erstellte
Grammatik ohne Startregel als Kontextgrammatik für andere Daten verwendet wird. Dies erfolgt gleichzeitig und ohne zusätzlichen Aufwand und ist somit außerordentlich effizient.
4. Die Erfindung erlaubt flexiblere Möglichkeiten bei der Codierung, da der Code einer für andere Daten neu erstellten Grammatik unabhängig von dem Code der Kontextgrammatik für die zuvor komprimierten Daten erstellt und verwendet werden kann. Hieraus resultieren jeweils zusätzliche, vorteilhafte Möglichkeiten zur weiteren Optimierung.
Der größte Vorteil des Verfahrens und der Vorrichtung gemäß der Erfindung besteht somit insbesondere in einer effizienten Kompression von kleinen bzw. kurzen Datensätzen, die mit den bekannten Kompressionsverfahren nicht oder wesentlich weniger effizient komprimierbar sind. Hieraus resultieren für Anwendungen für solche Datensätze deutliche Vorteile bei der Speicherung, Übertragung und Verarbeitung von Daten.
Aus der folgenden Beschreibung von Ausführungsbeispielen ergeben sich weitere Vorteile und Anwendungsmöglichkeiten der vorliegenden Erfindung.
Zunächst wird die Kompression von Daten durch Erzeugung einer kontextfreien Grammatik gemäß der Erfindung beschrieben.
Zunächst sei Vτ das in zu komprimierenden Daten verwendete Alphabet, beispielsweise die Menge der 256 möglichen Zeichenwerte bzw. Symbole, etwa diejenigen des erweiterten ASCII-Codes, die mit einem Byte codierbar sind. Die Elemente von Vτ werden als Terminale bezeichnet und geben diejenigen Symbole an, die nicht weiter zerlegt werden können.
Die zur Kompression zu erzeugende Grammatik wird sodann durch eine Menge VN von Nichtterminalsymbolen, d. h. Variablen, eine besondere Startregel So und Ableitungsregeln Si bis Sn beschrieben. Die Ableitungsregeln Si bis Sn enthalten auf der linken Seite jeweils ein Nichtterminalsymbol und auf der rechten Seite mindestens 2 Symbole aus Vτ vereinigt VN. Ein kurzes Beispiel soll dies verdeutlichen. Es soll etwa der Text ABAB komprimiert werden, wobei A und B Elemente von V1-, also nicht weiter zerlegbare Terminale, sind. Wird nun eine Regel Si mit der Vorschrift bzw. Grammatik S1 -^ AB
erzeugt, resultieren für den komprimierten Text die Startregel
So""^S-|Si
und die Grammatik Si -> AB, die in diesem Beispiel lediglich die Abbildungsvorschrift für S1 auf AB enthält.
Die für zu komprimierende Daten zu erzeugende kontextfreie Grammatik kann zudem mittels einer so genannten Kontextkompression erhalten werden. Bei der Kontextkompression werden eine Vielzahl von (Basis-) Regeln K1 bis Kn entweder vorgegeben oder aus einer vorher erstellten Grammatik verwendet, die sodann zur Erzeugung einer neuen, kontextfreien Grammatik aus den aktuell zu komprimierenden Daten referenziert werden können. Die Regeln der Kontextgrammatik K1 bis Kn können somit sowohl für zur Erstellung neuer Regeln als auch in der Startregel S0 verwendet werden.
Nach erfolgter Kompression mittels der kontextfreien Grammatik wird zur weiteren Verbesserung dieser ersten Kompression sodann zur
Speicherung der Grammatik ein Code verwendet, bei dem häufigen Symbolen kürzere Codewörter zugeordnet sind als seltenen Symbolen. Beispielsweise kann hierfür ein Huffman-Code verwendet werden.
Bei der Kontextkompression bestehen ferner verschiedene Möglichkeiten zur Codierung insbesondere der Regeln der Kontextgrammatik. 1. Eine erste Möglichkeit besteht zunächst darin, dass die Codewörter der Kontextgrammatik weiter verwendet werden. In diesem Fall wird die gesamte Kontextgrammatik codiert so gespeichert, dass die verwendeten Codewortlängen die Frequenzen bzw. die Häufigkeit des Auftretens der entsprechenden expandierten Regeln widerspiegeln. Unter der Annahme, dass die zu komprimierenden Daten vom gleichen Typ wie die, d.h. ähnlich zu den Daten zur Erzeugung der Kontextgrammatik sind, verhalten sich die Häufigkeiten in den zu komprimierenden Daten ähnlich den Häufigkeiten bei der Erzeugung der Kontextgrammatik. Es ist daher vorteilhaft, zur Codierung der Kontextregeln die Codewörter aus der Kontextgrammatik weiter zu verwenden.
Werden zusätzlich neue Regeln erzeugt, so muss es für diese Regeln Codewörter geben, die bei der Kodierung der
Kontextgrammatik noch nicht verwendet wurden.. Hierfür stehen wiederum verschiedene Möglichkeiten zur Verfügung:
a) Gemäß einer Möglichkeit werden in Verbindung mit der vorgenannten ersten Möglichkeit zwei Codes parallel verwendet, d. h., es wird neben den weiter verwendeten Codewörtern auch für die neu erzeugten, datensatzspezifischen Regeln ein eigener Code erzeugt. Zur Speicherung der komprimierten Daten werden sodann weiter verwendete Codewörter aus der Kontextgrammatik und Codewörter aus diesem neu erzeugten Code benutzt.
Hierbei kann auf verschiedene Arten festgelegt werden, zu welchem Code das nächste Codewort gehört: i) Beispielsweise gibt es in einem der beiden Codes sonst unbenutzte Codesymbole, die zur Kennzeichnung von einem oder mehreren Codewörtern des anderen Codes verwendet werden, oder ii) es gibt in beiden Codes jeweils ein sonst unbenutztes
Codewort, das zum Umschalten auf den anderen Code verwendet wird.
b) Gemäß einer weiteren Möglichkeit in Verbindung mit der vorstehenden ersten Möglichkeit sind in dem Code für die
Kontextgrammatik unbenutzte, als Platzhalter dienende Codewörter vorhanden, welche für neu erzeugte Regeln verwendet werden können.
2. Gemäß einer zweiten Möglichkeit wird ein gemeinsamer Code sowohl für die weiter verwendeten Regeln der Kontextgrammatik als auch für die neu erzeugten Regeln erzeugt. Dazu muss für eine verwendete Kontextregel die Zuordnung zu einem neuen Codewort möglich sein. Dies kann zum Beispiel dadurch erfolgen, dass zur Definition des entsprechenden neuen
Codeworts das zu der Kontextgrammatik-Regel gehörende Codewort angegeben wird.
Die Herstellung der Zuordnung zu dem neuen Codewort ist nicht auf die vorstehenden Arten beschränkt, sondern kann auf zweckmäßig andere Weise entsprechend den Eigenschaften der zu komprimierenden Daten ausgewählt werden, um eine möglichst gute Kompression zu erreichen.
Das erfindungsgemäße Verfahren wird nachstehend in weiteren Einzelheiten beschrieben. Ausgehend von dem der Erfindung zugrunde liegenden Gedanken, dass bei der Kompression von ersten digitalen Daten gewonnene Informationen zur Komprimierung zweiter, ähnlicher digitaler Daten genutzt werden, werden zunächst die ersten digitalen Daten grammatikalisch komprimiert.
Hierbei sei V_T die Menge der in den ersten digitalen Daten verwendeten Symbole. Während der Kompression werden in diesen Daten, beispielsweise einem Text, mehrfach auftretende Sequenzen von Terminal-Symbolen V_T, d.h. nicht weiter zerlegbaren Symbolen bzw. Zeichen, gesucht. Aufgefundene Symbole V_T werden sodann durch ein Nichtterminal-Symbol, d.h. ein gemäß Regeln weiter zerlegbares Symbol, ersetzt, und eine zu diesem Symbol gehörende Teildatenfolge, beispielsweise ein Teiltext, wird in einer Regeln enthaltenden Grammatik gespeichert. Hieraus ergibt sich eine Menge von Nichtterminal-Symbolen V_N.
In anderen Worten gibt die resultierende Grammatik für jedes Symbol A aus der Menge V_N an, auf weiche Symbole aus V_N vereinigt V_T es abgebildet wird. Dies wird auch als Ableitung von (Symbol) A bezeichnet.
Insbesondere gibt es gemäß diesem Verfahren ein spezielles Symbol SO (Startregel), dessen Ableitung der zu komprimierenden Datenfolge entspricht. Ist zum Beispiel ein Text "a rose is a rose is a rose" zu komprimieren, kann dies durch die folgende Grammatik komprimiert dargestellt werden:
A -> a rose
B -> is A
SO -» ABB
Sodann wird eine Kontextkompression durchgeführt. Bei der Kontextkompression werden ähnliche, zweite digitale Daten mit der vorgegebenen, aus den ersten digitalen Daten erzeugten Grammatik komprimiert. Wurde die aus den ersten digitalen Daten erzeugte Grammatik auf einem anderen Weg gespeichert, reduziert sich vorteilhaft die Datenmenge, die für die komprimierten zweiten digitalen Daten zu speichern ist.
Wurden beispielsweise die ersten digitalen Daten komprimiert und gespeichert, und sollen zu diesen ersten digitalen Daten ähnliche zweite digitale Daten komprimiert und gespeichert werden, enthält bei Verwendung der für die ersten digitalen Daten erzeugten Grammatik diese bereits eine Vielzahl von Regeln, die auf die zweiten digitalen Daten angewandt werden können. Auf diese Art und Weise können die zweiten digitalen Daten sofort komprimiert werden.
Die Erzeugung der Grammatik kann auf verschiedene Arten erfolgen, beispielsweise gemäß den Verfahren Sequential, Sequitur, oder Repair. Anhand des Beispiels Sequential wird nachstehend beschrieben, wie eine Grammatik effizient als Kontextgrammatik verwendet und so eingelesen werden kann, dass sie mit geringem Rechenaufwand anwendbar ist.
Bevorzugt werden bei dem Einlesen der Grammatikregeln Expansionen dieser Regeln in einem Baum gespeichert. Ein Knoten eines solchen Baumes entspricht hierbei einer Datenzeichenkette bzw. einem String, und von einem solchen Knoten abzweigende Äste entsprechen den gemäß den Grammatikregeln möglichen Fortsetzungen einer
Datenzeichenkette, wobei sich im Fall von beispielsweise Textzeichen jeweils zwei Äste in ihrem ersten Buchstaben unterscheiden.
Ein solcher Baum kann durch Einfügen neuer Grammatikregeln erweitert werden, indem von der Wurzel des Baums ausgehend eine einer expandierten Grammatikregel entsprechende Datenzeichenkette in den Baum eingefügt wird. Sind nun alle Regeln der Grammatik in den Baum eingefügt, kann dieser Baum zur Kontextkompression verwendet werden.
In einem Beispiel wird zugrunde liegender Text von vorne nach hinten durchlaufen, mit dem Ziel, diejenige Grammatikregel aufzufinden, welche dem längstmöglichen Präfix des Textes entspricht. In anderen Worten wird hierzu das längste Präfix des Textes gesucht, für das es einen Pfad innerhalb des Baums ausgehend von dessen Wurzel gibt. Dies ist effizient möglich, da an jedem Knoten zu jedem Buchstaben höchstens ein entsprechender Ast vorhanden ist.
Die Knoten eines solchen Pfades können Grammatikregeln vollständig entsprechen, oder nur einem Teil einer Regel entsprechen. In diesem Zusammenhang entspricht das längste Präfix dem letzten Knoten eines Pfades, der einer Regel entspricht. Somit kann diese Regel angewandt werden, und der zugrunde liegende Algorithmus wird hinter der der Regel entsprechenden Datenzeichenkette fortgesetzt. Wird keine Regel aufgefunden, wird das erste Terminal-Symbol des zu komprimierenden Textes verwendet und der Algorithmus auf den darauf folgenden Text angewandt.
Eine dem Vorstehenden gegenüber andere Möglichkeit der Kontextkompression besteht in einer Vorgehensweise dahin gehend, dass die häufigsten Regeln gesucht werden, wodurch in gewissen Fällen der Speicherplatzbedarf für die resultierende, komprimierte Datei nochmals weiter verringert werden kann.
Nachstehend werden aus dem vorstehend Beschriebenen für Anwendungen resultierende Wirkungen und Vorteile beispielhaft beschrieben. In Datenbanken etwa sind Einträge vorwiegend relativ kurz und über eine gesamte Spalte einer Datenbanktabelle stark redundant. In diesem Fall kann durch die Erstellung einer Kontextgrammatik für eine solche Spalte und eine Komprimierung der Spalte mit dieser Kontextgrammatik eine signifikant gute Kompression erzielt werden.
Im Gegensatz zu bekannten Datenbank-Kompressionsverfahren kann hierbei global auf der Spalte komprimiert werden. Darüber hinaus vorteilhaft werden gegenüber bekannten, jeweils nur ganze Einträge komprimierenden Tabellenkompressionsverfahren auch Teile von Spalteneinträgen komprimiert. Durch eine entsprechende rekursive Grammatik, in welcher Symbole auf weitere Symbole verweisen, bis schließlich die Terminale erreicht sind, kann hierdurch eine herausragende Kompression erzielt werden.
Eine andere Klasse von Kompressionsverfahren komprimiert die Spalteneinträge einzeln. Diese führen aber in dem hierin betrachteten Fall kurzer Datenbankeinträge maximal zu einer geringen Kompression.
Die bei bekannten Datenbanken wie Oracle oder IBM DB2 verwendeten Kompressionsverfahren unterscheiden sich davon grundlegend: Das in Oracle verwendete Kompressionsverfahren arbeitet lokal auf Speicherseiten. Es werden also immer einige Zeilen der Tabelle auf einmal komprimiert. Mit dem erfindungsgemäßen Verfahren werden dagegen die Einträge einer ganzen Spalte komprimiert. Bei der in IBM DB2 eingesetzten Kompression wird ein globales Wörterbuch verwendet, wobei die Codewortlänge mit 12 Bit fest ist. Vorteile der Kontextkompression gemäß dem erfindungsgemäßen Verfahren sind dagegen die variable Codewortlänge und die Möglichkeit, dass auch Teilstrings komprimiert werden können. Zwasr können bei Oracle und anderen Datenbanken auch einzelne Datenbankeinträge zum Beispiel mit LZ77 komprimiert werden. Das lohnt sich aber nur für längere Einträge, die redundant sind. Bei dem Anwendungsbereich der Kontextkompression (Spalten mit kurzen Einträgen, wobei die Einträge einer Spalte redundante Teile enthalten) kann diese Art der Kompression nicht gewinnbringend eingesetzt werden.
Ein weiteres Anwendungsgebiet der vorstehend beschriebenen Kontextkompression ist die Kompression von Punkt-zu-Punkt- Verbindungen bei Datenübertragungen, um die effektiv nutzbare Bandbreite solcher Verbindungen zu erhöhen. Relativ kurze Datenpakete, wie sie gerade bei Datenübertragungen häufig auftreten, sind zur Kontextkompression besonders geeignet. Im Gegensatz zu den bekannten Standardverfahren, welche nur die relativ geringe Redundanz in einem Paket nutzen können, erlaubt es die Kontextkompression, typische Paketstrukturen hoch effizient zu komprimieren.
Darüber hinaus wird durch Bezugnahme auf beispielsweise eine oder - für jeweils eine Hin- und Rückübertragungsrichtung - zwei unterschiedliche, bereits an den beiden Endpunkten einer Punkt-zu-Punkt-Verbindung vorhandene Kontextgrammatik(en) in den Paketen häufig nur auf die in den Kontextgrammatiken enthaltenen Regeln referenziert. Dies unterscheidet sich drastisch von den herkömmlichen Verfahren, bei welchen alle notwendigen Informationen im jeweiligen Paket enthalten sein müssen, wodurch die Kompression weiter verschlechtert wird.
Die vorgeschlagene Kontextkompression kann ferner derart adaptiv gestaltet sein, dass Regeln innerhalb von Kontextgrammatiken synchron bei Sender und Empfänger veränderbar bzw. erneuerbar sind.
Auch auf dem Gebiet der Datenspeicherung ist die Kontextkompression bei der Kompression kleiner Dateien, die sich einzeln nur geringfügig komprimieren lassen, zum Beispiel bei der Speicherung vieler kleiner Dateien gleichen Typs, unter Verwendung einer Kontextgrammatik vorteilhaft anwendbar. Ein Beispiel hierfür sind etwa XML-formatierte Bestellformulare und andere Datensätze ähnlicher Struktur und ähnlichen Aufbaus.

Claims

P A T E N T A N S P R Ü C H E
1. Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik, gekennzeichnet durch die Schritte des:
- grammatikalischen Komprimierens erster digitaler Daten durch Suchen von mehrfach vorkommenden Sequenzen von nicht weiter zerlegbaren Terminal-Symbolen (V_T) in den zu komprimierenden ersten digitalen Daten;
- Ersetzens aufgefundener, mehrfach vorkommender Sequenzen nicht weiter zerlegbarer Terminal-Symbole (V_T) durch weiter zerlegbare Nichtterminal-Symbole (V_N);
- Speicherns der zu diesen Nichtterminal-Symbolen (V_N) gehörenden digitalen Daten in einer zugehörigen Kontextgrammatik; und
Durchführens einer Kontextkompression, mit welcher zweite digitale Daten unter Verwendung dieser Kontextgrammatik komprimiert werden, die aus den ersten digitalen Daten erzeugt wurde.
2. Verfahren nach Anspruch 1 , gekennzeichnet durch den Schritt des Erzeugens einer Grammatik derart, dass als eine Ableitung eine Abbildung für jedes Symbol aus der Menge der Nichtterminal-Symbole (V_N) auf ein Symbol aus der Menge der Nichtterminal-Symbole (V_N) vereinigt mit der Menge der Terminal-Symbole (V_T) angegeben wird.
3. Verfahren nach Anspruch 2, gekennzeichnet durch den Schritt des Erzeugens eines Startsymbols (SO), dessen Ableitung einem zu komprimierenden Text entspricht.
4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass bei einem Einlesen der Regeln der erzeugten Grammatik Expansionen dieser Regeln in einer Baumstruktur gespeichert werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Baumstruktur mit neuen Regeln, die aus den zweiten digitalen Daten erhalten wurden, erweiterbar ist.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass zur Kontextkompression die Baumstruktur symbolweise aufsteigend durchlaufen und nach einer einem längsten Präfix entsprechenden Grammatikregel gesucht wird, für welche ein Baumpfad ausgehend von dessen Wurzel vorhanden ist.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass zur Kontextkompression nach den am häufigsten auftretenden Grammatikregeln oder den Grammatikregeln mit der längsten Ableitung gesucht wird.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass zur Erzeugung der Grammatik Algorithmen gemäß Sequential, Sequitur oder Repair verwendet werden.
9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erzeugte Grammatik zusätzlich arithmetisch codiert wird.
10. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Codierung unter Verwendung eines Huffman- Codes erfolgt.
11. Computerprogramm zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer
Kontextgrammatik nach einem Verfahren der Ansprüche 1 bis 10, wenn es auf einem Datenverarbeitungssystem wie einem Computer ausgeführt wird.
12. Computerprogramm-Produkt, umfassend einen maschinenlesbaren Datenträger, auf dem ein Computerprogramm nach Anspruch 11 in Form von elektronisch oder optisch auslesbaren Steuersignalen für einen Computer gespeichert ist.
13. Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik, mit einer Eingabeeinrichtung, einer Verarbeitungseinrichtung, einer Speichereinrichtung und einer Ausgabeeinrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 10.
14. Verwendung des Verfahrens zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik nach einem der Ansprüche 1 bis 10 zur Komprimierung von Datensätzen von Datenbanken, insbesondere von relationalen, objektorientierten und XML-basierten Datenbanken.
15. Verwendung nach Anspruch 14, dadurch gekennzeichnet, dass zu einer Tabellenspalte eine Kontextgrammatik erstellt wird und mit der Kontextgrammatik die Spalteneinträge komprimiert werden.
16. Verwendung des Verfahrens zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik nach einem der Ansprüche 1 bis 10 zur Komprimierung einer Datenübertragung, insbesondere einer Punk-zu-Punkt-Verbindung.
17. Verwendung nach Anspruch 16, dadurch gekennzeichnet, dass Paketstrukturen von zu übertragenden digitalen Daten vor der Datenübertragung unter Verwendung einer an beiden Übertragungspunkten vorhandenen Kontextgrammatik komprimiert werden.
18. Verwendung des Verfahrens zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik nach einem der Ansprüche 1 bis 10 zur Komprimierung von einer Datei oder mehreren Dateien gleichen Typs, insbesondere von XML-Dateien.
PCT/DE2007/001311 2006-10-07 2007-07-24 Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik WO2008040267A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/444,434 US20100312755A1 (en) 2006-10-07 2007-07-24 Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar
EP07785674A EP2076964A1 (de) 2006-10-07 2007-07-24 Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006047465.1 2006-10-07
DE102006047465A DE102006047465A1 (de) 2006-10-07 2006-10-07 Verfahren und Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik

Publications (1)

Publication Number Publication Date
WO2008040267A1 true WO2008040267A1 (de) 2008-04-10

Family

ID=38740471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2007/001311 WO2008040267A1 (de) 2006-10-07 2007-07-24 Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik

Country Status (4)

Country Link
US (1) US20100312755A1 (de)
EP (1) EP2076964A1 (de)
DE (1) DE102006047465A1 (de)
WO (1) WO2008040267A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495034B2 (en) * 2010-12-30 2013-07-23 Teradata Us, Inc. Numeric, decimal and date field compression
US11995058B2 (en) * 2022-07-05 2024-05-28 Sap Se Compression service using FPGA compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558302A (en) 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
US6400289B1 (en) * 2000-03-01 2002-06-04 Hughes Electronics Corporation System and method for performing lossless data compression and decompression

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3273119B2 (ja) * 1995-09-29 2002-04-08 京セラ株式会社 データ圧縮・伸長装置
US6006232A (en) * 1997-10-21 1999-12-21 At&T Corp. System and method for multirecord compression in a relational database
US6489902B2 (en) * 1997-12-02 2002-12-03 Hughes Electronics Corporation Data compression for use with a communications channel
US6327699B1 (en) * 1999-04-30 2001-12-04 Microsoft Corporation Whole program path profiling
US6762699B1 (en) * 1999-12-17 2004-07-13 The Directv Group, Inc. Method for lossless data compression using greedy sequential grammar transform and sequential encoding
JP4693292B2 (ja) * 2000-09-11 2011-06-01 株式会社東芝 強磁性トンネル接合素子およびその製造方法
US8868544B2 (en) * 2002-04-26 2014-10-21 Oracle International Corporation Using relational structures to create and support a cube within a relational database system
US6801141B2 (en) * 2002-07-12 2004-10-05 Slipstream Data, Inc. Method for lossless data compression using greedy sequential context-dependent grammar transform
US20050273274A1 (en) * 2004-06-02 2005-12-08 Evans Scott C Method for identifying sub-sequences of interest in a sequence
US20060117307A1 (en) * 2004-11-24 2006-06-01 Ramot At Tel-Aviv University Ltd. XML parser
US7840774B2 (en) * 2005-09-09 2010-11-23 International Business Machines Corporation Compressibility checking avoidance
US7447865B2 (en) * 2005-09-13 2008-11-04 Yahoo ! Inc. System and method for compression in a distributed column chunk data store
US7403951B2 (en) * 2005-10-07 2008-07-22 Nokia Corporation System and method for measuring SVG document similarity
US7464247B2 (en) * 2005-12-19 2008-12-09 Yahoo! Inc. System and method for updating data in a distributed column chunk data store
US7921087B2 (en) * 2005-12-19 2011-04-05 Yahoo! Inc. Method for query processing of column chunks in a distributed column chunk data store

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558302A (en) 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
US4558302B1 (de) 1983-06-20 1994-01-04 Unisys Corp
US6400289B1 (en) * 2000-03-01 2002-06-04 Hughes Electronics Corporation System and method for performing lossless data compression and decompression

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
BANERJI A ET AL: "APPLICATIONS OF YK ALGORITHM TO THE INTERNET TRANSMISSION OF WEB-DATA: IMPLEMENTATION ISSUES AND MODIFICATIONS", DATA COMPRESSION CONFERENCE, PROCEEDINGS. DCC, IEEE COMPUTER SOCIETY PRESS, LOS ALAMITOS, CA, US, March 2000 (2000-03-01), pages 546, XP000937761 *
C. NEVILL-MANNIG: "identifying hierarchical structure in sequences: A linear-time algorithm", JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH, vol. 7, 1997, pages 67 - 82
CHARIKAR M ET AL: "The Smallest Grammar Problem", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 51, no. 7, July 2005 (2005-07-01), pages 2554 - 2576, XP011135587, ISSN: 0018-9448 *
LARSSON N J ET AL: "Offline dictionary-based compression", DATA COMPRESSION CONFERENCE, 1999. PROCEEDINGS. DCC '99 SNOWBIRD, UT, USA 29-31 MARCH 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 29 March 1999 (1999-03-29), pages 296 - 305, XP010329132, ISBN: 0-7695-0096-X *
N.J. LARSSON; A.MOFFAT, PROCEEDINGS OF THE IEEE, vol. 88, no. 11, pages 1722 - 1732
NEVILL-MANNING C G ET AL: "Compression and Explanation using Hierarchical Grammars", THE COMPUTER JOURNAL, XX, XX, vol. 40, no. 2/3, 1997, pages 103 - 116, XP002412000 *
NEVILL-MANNING C G ET AL: "Identifying hierarchical structure in sequences: a linear-time algorithm", JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH, MORGAN KAUFMAN PUBLISHERS, SAN FRANCISCO, CA, US, vol. 7, 1997, pages 67 - 82, XP002318679, ISSN: 1076-9757 *
YANG E-H ET AL: "Efficient universal lossless data compression algorithms based on a greedy sequential grammar transform - part one: without context models", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 46, no. 3, May 2000 (2000-05-01), pages 755 - 777, XP002261312, ISSN: 0018-9448 *

Also Published As

Publication number Publication date
DE102006047465A1 (de) 2008-04-10
EP2076964A1 (de) 2009-07-08
US20100312755A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
DE10301362B4 (de) Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
DE60033184T2 (de) Verfahren und Vorrichtung zur Datenkomprimierung von Netzwerkdatenpaketen unter Verwendung von paketweisen Hash Tabellen
DE10196890B4 (de) Verfahren zum Ausführen einer Huffman-Decodierung
DE19622045C2 (de) Datenkomprimierungs- und Datendekomprimierungsschema unter Verwendung eines Suchbaums, bei dem jeder Eintrag mit einer Zeichenkette unendlicher Länge gespeichert ist
DE4340591C2 (de) Datenkompressionsverfahren unter Verwendung kleiner Wörterbücher zur Anwendung auf Netzwerkpakete
DE69833094T2 (de) Verfahren und Vorrichtung zur adaptiven Datenkompression mit höherem Kompressionsgrad
DE60127695T2 (de) Verfahren zur komprimierung von datenpaketen
EP2296282B1 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Nachschlagtabellen
DE69834695T2 (de) Verfahren und Vorrichtung zur Datenkompression
DE2614916A1 (de) Konverter zur codeumwandlung
DE2801988A1 (de) Arithmetische codierung von symbolfolgen
WO2008040267A1 (de) Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik
EP0479787B1 (de) Verfahren zur codierung einer elementfolge und einrichtung zur durchführung des verfahrens
DE19653133C2 (de) System und Verfahren zur pre-entropischen Codierung
DE10131801B4 (de) Verfahren zur Datenkompression und Navigationssystem
DE60311886T2 (de) Verfahren und vorrichtung zum sortieren zyklischer daten in lexikographischer reihenfolge
WO2014114506A1 (de) Verfahren zur kompression von quelldaten unter nutzung von symmetrien und einrichtung zur durchführung des verfahrens
DE102006028469B4 (de) Adaptives Quantisiertes Codierungsverfahren
DE19803845C2 (de) Verfahren und Einrichtung zur Übertragung einer durch digitale Daten repräsentierten Nachricht
DE60319501T2 (de) Verfahren und Gerät zur Punktierung von Kodesymbolen
DE102016201408A1 (de) Verfahren zum Übertragen von Daten
DE102014215477B3 (de) Verfahren zum Übertragen von Daten
EP1261137B1 (de) Verfahren zum Kodieren und Dekodieren von Datenströmen
DE102010009263B4 (de) Verfahren zur Datenübertragung zu einem elektronischen Steuergerät
WO1998033280A1 (de) Verfahren zum kodieren und dekodieren von daten

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

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2007785674

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12444434

Country of ref document: US