EP2076964A1 - Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar - Google Patents

Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar

Info

Publication number
EP2076964A1
EP2076964A1 EP07785674A EP07785674A EP2076964A1 EP 2076964 A1 EP2076964 A1 EP 2076964A1 EP 07785674 A EP07785674 A EP 07785674A EP 07785674 A EP07785674 A EP 07785674A EP 2076964 A1 EP2076964 A1 EP 2076964A1
Authority
EP
European Patent Office
Prior art keywords
grammar
context
digital data
compression
data
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
EP07785674A
Other languages
German (de)
French (fr)
Inventor
Eric Hildebrandt
Martin Bokler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsche Telekom AG
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
Publication of EP2076964A1 publication Critical patent/EP2076964A1/en
Ceased legal-status Critical Current

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

The invention relates to a method for compressing and decompressing digital data by electronic means using a context grammar, characterized by the steps of: grammatically compressing first digital data by means of searching for repeated sequences of terminal symbols (V_T) which cannot be broken down any further in first digital data to be compressed; replacing the identified repeated sequences of terminal symbols (V_T) which cannot be broken down any further with non-terminal symbols (V_N) which can be broken down further; storing the digital data belonging to these non-terminal symbols (V_N) in an associated context grammar; and carrying out context compression, with which second digital data are compressed using this context grammar which has been produced from the first digital data.

Description

B E S C H R E I B U N G DESCRIPTION
Verfahren und Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einerMethod and device for compression and decompression of digital data by electronic means using a
Kontextgrammatikcontext grammar
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unterThe invention relates to a method and apparatus for compression and decompression of digital data by electronic means
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.Use of a context grammar, and more particularly relates to a method and system for high-efficiency and fast, lossless compression of data for short, redundant data sets.
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.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. In particular, when larger amounts of digital data are transmitted over data networks, 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.
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.For the lossless compression of data (data compression) the algorithms of Huffmann and of Ziv and Lempel (LZ) are often used. For example, those are widely used after their Publication year designated algorithms LZ77 and LZ78, in the articles "A Universal Algorithm for Sequential Data Compression", J. Ziv, A. Lempel, IEEE Transactions on Information Theory 23 (1977), pp. 337-343, and "Compression of Individual Sequences via Variable Length Coding ", J. Ziv, A. Lempel, IEEE Transactions on Information Theory 24 (1978), pp. 530-536. The Huffman algorithm is described in the article "A Method for the Construction of Minimum Redundancy Codes," Huffman, DA, Proceedings of the Institute of Radio Engineers, Sept. 1952, Vol. 40, No. 9, pp. 1098-1101, described.
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.In the LZ77 algorithm, 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.
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.A further development of the LZ78 algorithm is the LZW algorithm described in the article "A Technique for High-Performance Data Compression", Welch, TA, IEEE Computer, Vol. 17, No. 6 (1984), pp. 8-19 The LZW algorithm, like the LZ78 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.
Die vorgenannten Algorithmen sind sämtlich fensterbasierteThe aforementioned algorithms are all window-based
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.Compression methods in which, due to limited resources such as memory constraints, a so-called window with a predetermined width is moved over the data to be compressed and the data lying within the window is compressed. In this case, the windows used in the algorithms can be initialized, so that sequences of the data to be compressed, which occur in this initialization, can be cited directly on the first occurrence and thus a compression is achieved.
Die fensterbasierten Verfahren sind dahingehend nachteilig, dass lediglich Textstellen miteinander verknüpfbar sind, deren Entfernung voneinander kleiner als die Fensterbreite ist.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.
Zur grammatikalischen Kompression von digitalen Daten sind ferner folgende Algorithmen berkannt:For grammatical compression of digital data, the following algorithms are also recognized:
Sequitur: beschrieben in „identifying hierarchical structure in sequences: A linear-time algorithm", C. Nevill-Mannig, I. Witten, Journal of ArtificialSequitur: described in "identifying hierarchical structure in sequences: A linear-time algorithm", C. Nevill-Mannig, I. Witten, Journal of Artificial
Intelligence Research, 7:67—82, 1997; undIntelligence Research, 7: 67-82, 1997; and
Repair: Offline dictionary-based compression", N.J. Larsson, A.Moffat, Proceedings of the IEEE, vol. 88, no. 11 , S. 1722-1732Repair: Offline dictionary-based compression ", N.J. Larsson, A. Moffat, Proceedings of the IEEE, vol. 88, no. 11, pp. 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.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.
Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Preferred embodiments of the invention will become apparent from the dependent claims.
Somit wird die Aufgabe erfindungsgemäß gelöst durch ein Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischemThus, the object is achieved by a method for compression and decompression of digital data on electronic
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 vorkommenderPaths 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
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.Sequences of non-expandable terminal symbols (V_T) by further decomposable nonterminal symbols (V_N), memories of the digital data belonging to these nonterminal symbols (V_N) in an associated context grammar; and performing context compression by which second digital data is compressed using this context grammar generated from the first digital data.
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.In this case, 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).
Weiter bevorzugt wird ein Schritt des Erzeugens eines Startsymbols (SO), dessen Ableitung einem zu komprimierenden Text entspricht, ausgeführt.More preferably, a step of generating a start symbol (SO) whose derivative corresponds to a text to be compressed is executed.
Vorteilhaft kann es hierbei sein, wenn die zweiten digitalen Daten ähnlich zu den ersten digitalen Daten sind.It may be advantageous here if the second digital data is similar to the first digital data.
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.Preferably, when reading in the rules of the generated grammar expansions, these rules are stored in a tree structure, wherein the tree structure can be expandable with new rules obtained from the second digital data.
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.For context compression, 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.
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.It may be advantageous if the context compression is searched for the most frequently occurring grammatical rules or the grammatical rules with the longest derivation.
Zur Erzeugung der Grammatik werden bevorzugt Algorithmen gemäß Sequitur, Sequential oder Repair verwendet.To generate the grammar, algorithms according to sequitur, sequential or repair are preferably used.
Weiter vorteilhaft kann es sein, wenn die erzeugte Grammatik zusätzlich arithmetisch oder unter Verwendung eines Huffman-Codes codiert wird.It may also be advantageous if the generated grammar is additionally coded arithmetically or using a Huffman code.
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.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.
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.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.
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.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.
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.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. For example, a contextual grammar may be created for a table column, and contextual grammar may then be used to compress the column entries.
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.Furthermore, the 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. In particular, packet structures of digital to be transmitted can Data is compressed prior to data transmission using context grammar present at both transmission points.
Schließlich kann das erfindungsgemäße Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unterFinally, the inventive method for compression and decompression of digital data under electronic means
Verwendung einer Kontextgrammatik auch vorteilhaft zur Komprimierung von einer Datei oder mehreren Dateien gleichen Typs, insbesondere von XML-Dateien, verwendet werden.Use of a context grammar also advantageous for compression of a file or multiple files of the same type, in particular XML files used.
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.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.
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.More specifically, in the compression of the first data, a context grammar is generated, which is then usable for compression of the second and further data. In other words, in the compression of the first data, information is obtained, which is then used to compress second data.
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.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. For even further, improved compression, the symbols of the grammar can then be coded, for example by means of Huffman codes or arithmetically.
Die Erfindung zeichnet sich durch die folgenden Punkte aus:The invention is characterized by the following points:
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 den1. The use of the fundamentally different working, based on a grammar compression method according to the invention has the significant advantage that rules regardless of their position in the grammar and the
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 vonData can be used. On the other hand, in the window-based methods, as mentioned above, only text points whose distance is smaller than the window width can be linked together. This is especially true for large amounts of similar datasets, such as columns of
Datenbanken auftreten, sehr ungünstig.Databases occur, very unfavorable.
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 und2. According to the invention, 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
Datenmenge, flexibel gewählt werden.Amount of data to be chosen flexibly.
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 erstellte3. According to the invention, the context information can be directly extracted from similar data by first compressing that data and creating it for it during that
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.Grammar without start rule is used as context grammar for other data. This is done simultaneously and without additional effort and is therefore extremely efficient.
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.4. 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.
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.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.
Aus der folgenden Beschreibung von Ausführungsbeispielen ergeben sich weitere Vorteile und Anwendungsmöglichkeiten der vorliegenden Erfindung.From the following description of embodiments, there are further advantages and applications of the present invention.
Zunächst wird die Kompression von Daten durch Erzeugung einer kontextfreien Grammatik gemäß der Erfindung beschrieben.First, the compression of data will be described by generating a context-free grammar according to the invention.
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.Let 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.
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 -^ ABThe 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. For example, the text ABAB should be compressed, where A and B are elements of V 1 - terminals that can not be further broken down. Now a rule Si with the rule or grammar S 1 - ^ AB
erzeugt, resultieren für den komprimierten Text die Startregelgenerates the start rule for the compressed text
So""^S-|SiSi | so "" ^ S
und die Grammatik Si -> AB, die in diesem Beispiel lediglich die Abbildungsvorschrift für S1 auf AB enthält.and the grammar Si -> AB, which in this example only contains the mapping rule for S 1 on AB.
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.The context-free grammar to be generated for the data to be compressed can also be obtained by means of so-called context compression. In 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 .
Nach erfolgter Kompression mittels der kontextfreien Grammatik wird zur weiteren Verbesserung dieser ersten Kompression sodann zurAfter compression by means of the context-free grammar is to further improve this first compression then to
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.Storage of the grammar uses a code in which frequent symbols are assigned shorter codewords than rare symbols. For example, a Huffman code can be used for this purpose.
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.In the case of context compression, there are also various possibilities for coding, in particular the rules of the context grammar. 1. 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.
Werden zusätzlich neue Regeln erzeugt, so muss es für diese Regeln Codewörter geben, die bei der Kodierung derIf additional new rules are generated, then there must be codewords for these rules, which are used when coding the
Kontextgrammatik noch nicht verwendet wurden.. Hierfür stehen wiederum verschiedene Möglichkeiten zur Verfügung:Context grammar have not yet been used. There are various possibilities for this:
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.a) According to one possibility, 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.
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 unbenutztesIt can be determined in various ways to which 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
Codewort, das zum Umschalten auf den anderen Code verwendet wird.Codeword used to switch to the other code.
b) Gemäß einer weiteren Möglichkeit in Verbindung mit der vorstehenden ersten Möglichkeit sind in dem Code für dieb) According to another possibility in connection with the above first possibility are in the code for the
Kontextgrammatik unbenutzte, als Platzhalter dienende Codewörter vorhanden, welche für neu erzeugte Regeln verwendet werden können.Context grammar contains unused wildcard codewords that can be used for newly created rules.
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 neuen2. According to a second possibility, a common code is generated both for the further used rules of the context grammar and for the newly created rules. For this purpose, 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
Codeworts das zu der Kontextgrammatik-Regel gehörende Codewort angegeben wird.Code words are given to the context grammar rule associated codeword.
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.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.
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.The process according to the invention will be described in more detail below. Based on the idea underlying the invention that information obtained in the compression of first digital data is used to compress second, similar digital data, the first digital data is first of all grammatically compressed.
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.Let V_T be the set of symbols used in the first digital data. During compression, in 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.
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.In other words, for each symbol, 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.
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:In particular, according to this method, there is a special symbol SO (start rule) whose derivation corresponds to the data sequence to be compressed. For example, to compress a text "a rose is a rose is a rose" may be represented by the following grammar:
A -> a roseA -> a rose
B -> is AB -> is A
SO -» ABBSO - »FIG
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.Then a context compression is performed. 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.
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.For example, if the first digital data has been compressed and stored, and second digital data similar to that first digital data is compressed and stored, using the grammar generated for the first digital data will already contain a plurality of rules based on the second digital data can be applied. In this way, the second digital data can be compressed immediately.
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.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.
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 einerWhen reading in the grammar rules, 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
Datenzeichenkette, wobei sich im Fall von beispielsweise Textzeichen jeweils zwei Äste in ihrem ersten Buchstaben unterscheiden.Data string, wherein in the case of, for example, text characters each two branches differ in their first letter.
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.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.
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.In one example, 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.
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.The nodes of such a path may fully comply with grammar rules, or only correspond to a part of a rule. In this context, the longest prefix corresponds to the last node of a path that corresponds to a rule. Thus, 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.
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.An alternative way of context compression, in contrast to the above, is to look for the most common rules, which in some cases can further reduce the storage space required for the resulting compressed file.
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.Hereinafter, effects and advantages resulting from applications described above will be described by way of example. In databases, for example, entries are predominantly relatively short and highly redundant over an entire column of a database table. In this case, creating a context grammar for such a column and compressing the column with this context grammar can achieve significantly good compression.
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.In contrast to known database compression methods, this can be compressed globally on the column. In addition, parts of column entries are advantageously compressed in comparison with known table compression methods which compress only entire entries in each case. Through a corresponding recursive grammar, in which symbols refer to other symbols, until finally the terminals are reached, this can be achieved by an outstanding compression.
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.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.
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.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, on the other hand, 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.
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.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.
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.Moreover, by referring to, for example, one or two contextual grammars (s) in the packets already present at the two endpoints of a point-to-point connection, each for one round-trip direction, only the contextual grammars contained in the contextual grammars are used Rules referenced. This differs drastically from the conventional methods, in which all the necessary information must be contained in the respective packet, whereby the compression is further deteriorated.
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.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.
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. Also in the field of data storage, 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.

Claims

P A T E N T A N S P R Ü C H E PATENT APPLICATIONS
1. Verfahren zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik, gekennzeichnet durch die Schritte des:A method of compressing and decompressing digital data electronically using a context grammar characterized by the steps of:
- 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;- 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;
- Ersetzens aufgefundener, mehrfach vorkommender Sequenzen nicht weiter zerlegbarer Terminal-Symbole (V_T) durch weiter zerlegbare Nichtterminal-Symbole (V_N);Replacement of found, occurring multiple sequences of not further decomposable terminal symbols (V_T) by further decomposable non-terminal symbols (V_N);
- Speicherns der zu diesen Nichtterminal-Symbolen (V_N) gehörenden digitalen Daten in einer zugehörigen Kontextgrammatik; und- storing the digital data associated with these nonterminal symbols (V_N) in an associated context grammar; and
Durchführens einer Kontextkompression, mit welcher zweite digitale Daten unter Verwendung dieser Kontextgrammatik komprimiert werden, die aus den ersten digitalen Daten erzeugt wurde.Performing context compression with which second digital data is compressed using this context grammar generated from the first digital data.
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.A method according to claim 1, characterized by the step of generating a grammar such that as a derivative, a map for each symbol from the set of nonterminal symbols (V_N) is combined to one of the set of nonterminal symbols (V_N) with the set of terminal symbols (V_T).
3. Verfahren nach Anspruch 2, gekennzeichnet durch den Schritt des Erzeugens eines Startsymbols (SO), dessen Ableitung einem zu komprimierenden Text entspricht.3. The method according to claim 2, characterized by the step of generating a start symbol (SO) whose derivative corresponds to a text to be compressed.
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.4. The method according to any one of the preceding claims, characterized in that when reading the rules of the generated Grammar expansions of these rules can be stored in a tree structure.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Baumstruktur mit neuen Regeln, die aus den zweiten digitalen Daten erhalten wurden, erweiterbar ist.5. The method according to claim 4, characterized in that the tree structure with new rules, which were obtained from the second digital data, expandable.
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.6. The method according to claim 5, characterized in that for context compression, the tree structure to go through symbol by symbol and looking for a longest prefix corresponding grammatical rule for which a tree path is available from its root.
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.7. The method according to claim 5, characterized in that the context compression is searched for the most frequently occurring grammar rules or the grammatical rules with the longest derivative.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass zur Erzeugung der Grammatik Algorithmen gemäß Sequential, Sequitur oder Repair verwendet werden.8. The method according to any one of the preceding claims, characterized in that are used to generate the grammar algorithms according to Sequential, Sequitur or Repair.
9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erzeugte Grammatik zusätzlich arithmetisch codiert wird.9. The method according to any one of the preceding claims, characterized in that the generated grammar is additionally arithmetic coded.
10. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Codierung unter Verwendung eines Huffman- Codes erfolgt.10. The method according to any one of claims 1 to 8, characterized in that the coding is carried out using a Huffman code.
11. Computerprogramm zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer11. Computer program for compression and decompression of digital data by electronic means using a
Kontextgrammatik nach einem Verfahren der Ansprüche 1 bis 10, wenn es auf einem Datenverarbeitungssystem wie einem Computer ausgeführt wird.Context grammar according to a method of claims 1 to 10, when it running on a data processing system such as a computer.
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.12. Computer program product comprising a machine-readable data carrier on which a computer program according to claim 11 is stored in the form of electronically or optically readable control signals for a computer.
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.13. A device 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 method according to one of claims 1 to 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.14. Use of the method for compression and decompression of digital data by electronic means using a context grammar according to one of claims 1 to 10 for compressing data records of databases, in particular relational, object-oriented and XML-based databases.
15. Verwendung nach Anspruch 14, dadurch gekennzeichnet, dass zu einer Tabellenspalte eine Kontextgrammatik erstellt wird und mit der Kontextgrammatik die Spalteneinträge komprimiert werden.15. Use according to claim 14, characterized in that a context grammar is created for a table column and the context entries are used to compress the column entries.
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.16. Use of the method for compression and decompression of digital data by electronic means using a context grammar according to one of claims 1 to 10 for compressing a data transmission, in particular a punk-to-point connection.
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.17. Use according to claim 16, characterized in that packet structures of digital data to be transmitted before the data transmission using one at both Transfer points existing context grammar are compressed.
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. 18. Use of the method for compression and decompression of digital data by electronic means using a context grammar according to one of claims 1 to 10 for the compression of one or more files of the same type, in particular XML files.
EP07785674A 2006-10-07 2007-07-24 Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar Ceased EP2076964A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006047465A DE102006047465A1 (en) 2006-10-07 2006-10-07 Method and apparatus for compressing and decompressing digital data electronically using context grammar
PCT/DE2007/001311 WO2008040267A1 (en) 2006-10-07 2007-07-24 Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar

Publications (1)

Publication Number Publication Date
EP2076964A1 true EP2076964A1 (en) 2009-07-08

Family

ID=38740471

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07785674A Ceased EP2076964A1 (en) 2006-10-07 2007-07-24 Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar

Country Status (4)

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

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

Family Cites Families (17)

* 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
JP3273119B2 (en) * 1995-09-29 2002-04-08 京セラ株式会社 Data compression / decompression device
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
US6400289B1 (en) * 2000-03-01 2002-06-04 Hughes Electronics Corporation System and method for performing lossless data compression and decompression
JP4693292B2 (en) * 2000-09-11 2011-06-01 株式会社東芝 Ferromagnetic tunnel junction device and manufacturing method thereof
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2008040267A1 *

Also Published As

Publication number Publication date
DE102006047465A1 (en) 2008-04-10
US20100312755A1 (en) 2010-12-09
WO2008040267A1 (en) 2008-04-10

Similar Documents

Publication Publication Date Title
DE10301362B4 (en) A block data compression system consisting of a compression device and a decompression device, and methods for fast block data compression with multi-byte search
DE60000912T2 (en) Method and device for data compression of network data packets using packet-wise hash tables
DE60001210T2 (en) Method and device for data compression of network data packets
DE69704362T2 (en) DATA COMPRESSION / DECOMPRESSION SYSTEM USING IMMEDIATE CHARACTER SEARCH INTERLOCKED DICTIONARY UPDATE
DE68925798T2 (en) Data compression
DE69905343T2 (en) BLOCK ADAPTIVE STATISTICAL DATA COMPRESSOR
DE10196890B4 (en) Method for performing Huffman decoding
DE19622045C2 (en) Data compression and data decompression scheme using a search tree in which each entry is stored with an infinite length string
DE69528152T2 (en) Data compression device, data expansion device and system for data compression and expansion
DE4340591C2 (en) Data compression method using small dictionaries for application to network packets
DE69026924T2 (en) Data compression method
DE69318446T2 (en) Method and device for data compression and decompression for a transmission arrangement
DE69027606T2 (en) DEVICE FOR DATA COMPRESSION
DE69522497T2 (en) Data compression system and method
DE69833094T2 (en) Method and apparatus for adaptive data compression with higher degree of compression
DE60000380T2 (en) Method and device for data compression
EP2296282B1 (en) method and device for arithmetic encoding and decoding with use of multiple lookup tables
DE69834695T2 (en) Method and device for data compression
DE2801988A1 (en) ARITHMETIC CODING OF SYMBOL SEQUENCES
DE3485824T2 (en) DATA COMPRESSION METHOD.
DE69025160T2 (en) Method for decoding compressed data
DE69021854T2 (en) Process for decompressing compressed data.
EP2076964A1 (en) Method and apparatus for compressing and decompressing digital data by electronic means using a context grammar
DE68927939T2 (en) Monadic encoding of the start-step-stop type for data compression
DE19653133C2 (en) System and method for pre-entropic coding

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090507

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: HILDEBRANDT, ERIC

Inventor name: BOKLER, MARTIN

17Q First examination report despatched

Effective date: 20090924

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20120707