DE19653133A1 - System und Verfahren zur pre-entropischen Codierung - Google Patents
System und Verfahren zur pre-entropischen CodierungInfo
- Publication number
- DE19653133A1 DE19653133A1 DE1996153133 DE19653133A DE19653133A1 DE 19653133 A1 DE19653133 A1 DE 19653133A1 DE 1996153133 DE1996153133 DE 1996153133 DE 19653133 A DE19653133 A DE 19653133A DE 19653133 A1 DE19653133 A1 DE 19653133A1
- Authority
- DE
- Germany
- Prior art keywords
- characters
- data source
- coding
- character
- file
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Diese Erfindung bezieht sich allgemein auf Systeme und Verfahren zur verlustfreien
Datenkomprimierung und insbesondere auf eine Kombinationsmethode für Zeichen einer
Datenquelle sowie den Aufbau der elektronischen Schaltungen zur Codierung der
Datenquelle.
Bei einer Speicherung oder Übertragung von Daten ist im allgemeinen die Speicher
kapazität des vorgegebenen Speichermediums oder die Übertragungskapazität des Kanals
der begrenzende Faktor. Bei Verfahren, die Daten speichern oder übertragen, ist es oft
wichtig, die Daten deutlich zu komprimieren, so daß mehr Daten übertragen oder
gespeichert werden können. Je nach Anwendungsfall ist es wichtig, daß die Kom
primierung vollständig reversibel ist, so daß die Daten verlustfrei und vollständig wieder
zurückgewonnen werden können. Ein Verfahren zur verlustfreien Datenkompression
übersetzt also eine Eingabe-Zeichenkette reversibel in eine Ausgabe-Zeichenkette, die
im Mittel kürzer ist. Die Angabe "im Mittel" bezieht sich auf die Tatsache, daß
jeweils die gesamten zu komprimierenden Dateien bzw. Datenströme berücksichtigt
werden sollen, wobei es durchaus möglich ist, daß einzelne Zeichenketten (strings)
nicht verkürzt werden, da z. B. ungünstige Häufigkeitsverteilungen der Zeichen für eine
Entropiekodierung vorliegen.
Die Verfahren der verlustfreien Datenkomprimierung zeichnen sich dadurch aus, daß
ein Datum durch ein anderes Datum von kleinerem Bezeichnungsaufwand, aber mit
gleichem Informationsgehalt, codiert wird, vgl. Völz, H.: Grundlagen der Information,
Akademieverlag Berlin 1991, S. 19.
Die inverse Funktion, also das Wiederherstellen der Originaldaten, wird Dekomprimie
rung genannt. Bei verlustfreier Datenkomprimierung wird die Ausgangsdatei wieder her
gestellt. Im Gegensatz dazu werden bei verlustbehafteten Verfahren lediglich wichtige
Inhalte der Originaldatei codiert; eine exakte Rekonstruktion der Ausgangsdaten ist
nicht möglich.
In der Literatur werden die Verfahren der verlustfreien Datenkomprimierung meist nach
zwei Grundprinzipien gegliedert, vgl. z. B. Held, G. et al.: Data and Image Com
pression, 4th edition, Verlag John Wiley & Sons, Chichester 1996, oder vgl. auch
Völz, H.: Komprimierung von Bilddateien, Nachrichtentechnik, Elektronik, Berlin, Band
43 (1993), Hefte 2, 3 und 4.
- 1) Statistische Verfahren nutzen die ungleichmäßige Häufigkeitsverteilung von Zeichen einer Datenquelle und ersetzen häufige Zeichen durch kurze Codezeichen, seltene Zeichen durch lange Codezeichen. Statistische Verfahren bezeichnet man auch als Entropie-Codierungen. Zu diesen Verfahren zählen die Shannon-Fano-Codierung, die Huffman-Codierung sowie die arithmetische Codierung und deren Variationen.
- 2) Bei referenzierenden Verfahren ersetzt ein einzelnes Codezeichen mehrere aufein anderfolgende Symbole der Datenquelle. Diese Codezeichen werden mit ihrer Entsprechung (Ersatzsymbol) entweder in einer Tabelle (Codebook, Dictionary) gespeichert oder innerhalb der Kette der uncodierten Zeichen als Abstandsverweise ausgegeben. Zu den bedeutendsten Verfahren dieser Gattung zählen die Lauflängen- Codierung, die Verfahren nach dem Pattern-Matching oder Pointer-Prinzip und tabellengestützte Verfahren nach Lempel-Ziv (LZ78) bzw. nach Welch und deren Variationen.
Einige Variationen nehmen eine Zwischenrolle ein bzw. lassen sich nicht in die
obengenannten Grundprinzipien einordnen. Dazu zählen das Hilbert-Verfahren und
einige zeichen-orientierte Methoden. In der Praxis werden unterschiedliche Verfahren
oft miteinander kombiniert. In einer solchen Mehrschicht-Codierung (multi-level-coding)
kommen verschiedene Techniken gleichzeitig oder sequentiell zum Einsatz.
Jedes der eingesetzten Verfahren erzielt eine Datenreduktion durch Minderung von
Redundanz. Die Redundanz einer Datenquelle kann nach verschiedenen Methoden
ermittelt werden. Die Methoden, nach denen ein Datenkompressor die Redundanz einer
Datenquelle einbezieht, lassen sich folgendermaßen kategorisieren:
- a) Bei einer statischen Strategie wird ein fester Typ von Redundanz angenommen.
- b) Bei einer nicht-statischen Strategie wird die tatsächliche Redundanz variabel oder sogar adaptiv ermittelt. Bei einer variablen Strategie werden die zu komprimieren den Daten komplett analysiert und es wird anhand der so gewonnenen Werte ein optimales Verfahren ausgewählt. Je nachdem, wie oft die Datei komplett sequen tiell gelesen wird, spricht man von einem n-Pass-Verfahren. Die adaptive Strategie (dynamische Strategie) analysiert einen bereits gelesenen Teil der Daten und nutzt die bisherige Auswertung als Strategiegrundlage für die folgenden Daten.
Viele Kompressionsverfahren existieren in unterschiedlichen Varianten der Redund
anzanpassung, so z. B. die Huffman-Codierung als statisches oder adaptives Verfahren.
Für die Auswahl einer der genannten Strategien ist zunächst der spezifische Inhalt der
Datenquelle (Programm, Text, Bild, Ton, usw.) von Bedeutung. Darüber hinaus sind
drei Kriterien entscheidend:
- - Es kommt auf die Quellstruktur der zu komprimierenden Daten an. Sie läßt sich schematisch in Datenströme unbegrenzter Länge, Dateien von variabler, aber bestimmter Länge und Dateien fester Länge unterteilen.
- - Die Auswahl wird auch dadurch bestimmt, wieviel Speicherplatz für den ein laufenden Datenstrom sowohl auf der Komprimierungsseite als auch auf der Dekomprimierungsseite tatsächlich verfügbar ist.
- - Der Rechenaufwand für den Kompressionsvorgang begrenzt die Geschwindigkeit der Datenkomprimierung und der Rechenaufwand für die Dekomprimierung muß in der verfügbaren oder erwünschten Dekomprimierungszeit erledigt werden können.
In vielen praktischen Anwendungen hat sich das Prinzip der Block-Codierung bzw. der
gleitenden Block-Codierung durchgesetzt. Im ersten Fall wird eine feste Anzahl von
aufeinanderfolgenden Quellensymbolen zu einem Block zusammengefaßt. Jeder Block
wird unabhängig von allen anderen betrachtet. Für gleitende Block-Codes wird ein
Fenster definiert, unter dem möglichst viele Quellensymbole liegen. Das Fenster wird
mit jedem Schritt des Codierprozesses um eine oder mehrere Positionen verschoben,
wobei die Verschiebung wesentlich kleiner als die Fensterlänge ist.
Eine weitere gebräuchliche Einteilung von Kompressionsverfahren betrifft die Längen
der Quell- bzw. Zieldatensequenzen. Da bei der Codierung stets Sequenzen von
Quelldaten auf Codeworte abgebildet werden, wird danach klassifiziert, ob die Zeichen
ketten von fester Länge (fixed length) oder variabler Länge (variable length) sind.
Demnach existieren vier verschiedene Zuordnungsprinzipien: fest auf fest, fest auf
variabel, variabel auf fest und variabel auf variabel. Eine Codierung "variabel auf
variabel" entsteht beispielsweise bei einer Verkettung eines referenzierenden Tabellen
verfahrens (Codebookverfahren) mit einer rekurrenten Entropie-Codierung.
Weitere Einzelheiten, Vorteile und Nachteile von statistischen Verfahren (Shannon-Fano-
Algorithmus, Huffman-Algorithmus, arithmetische Codierung) und referenzierenden
Verfahren (Lauflängen-Codierung, Pointer-Verfahren, Code-Erweiterung) sind beispiels
weise in dem bereits genannten Artikel Völz, H.: Komprimierung von Bilddateien,
Nachrichtentechnik, Elektronik, Berlin, Band 43 (1993), Hefte 2, 3 und 4 zusammen
gestellt.
Im folgenden werden zwei Entropie-Codierungen etwas genauer beleuchtet, die im
Rahmen einer Mehrschicht-Codierung zusammen mit der Erfindung verwendet werden
können.
Die grundsätzliche Idee bei Entropiekodierungen liegt darin, die Auftrittswahrschein
lichkeiten ps unterschiedlicher Symbole der Datenquelle dem Codierungsalgorithmus
zugrunde zu legen. Enthält eine Datei z Zeichen, so sind die z Zeichen n ≦ z -
Symbolklassen mit gleichen Zeichen zugeordnet. Eine minimal erreichbare Dateilänge
berechnet sich also aus H . z. Bei der Entropie-Codierung werden Zeichen, die
häufiger als andere auftreten, durch kurze Symbole, seltenere Zeichen durch längere
Symbole kodiert.
Ähnlich den Kompressionstechniken für Bild- und Videodateien, bei denen nach
Ähnlichkeiten im Datenmaterial (Bild) gesucht wird, z. B. räumliche und spektrale
Redundanzen, werden bei den Kompressionstechniken für aus Textzeichen bestehenden
Dateien wiederkehrende Symbolfolgen zu finden und/oder Häufigkeiten der einzelnen
Zeichen auszunützen sein. Ein bekanntes Verfahren einer statistischen Codierung ist
unter dem Begriff Huffman-Codierung bekannt. Die Idee der Huffman-Codierung geht
auf das Prinzip des Morse-Alphabets zurück. Dort werden den häufig vorkommenden
Symbolen oder Zeichen kürzere Codes zugeordnet als den seltener vorkommenden. Der
Code für das häufige Symbol e besteht z. B. nur aus einem einzigen Morsezeichen.
Der Huffman-Algorithmus ordnet alle Zeichen zunächst nach ihrer Häufigkeit in einer
Tabelle. Die beiden seltensten erhalten als letzte Codeziffer eine 0 und eine 1. Beide
werden in der Tabelle mit der Summe ihrer Wahrscheinlichkeiten zusammengefaßt. Die
Häufigkeitstabelle hat damit ein Element weniger. Wieder sucht man die beiden
seltensten Elemente und stellt ihrem Code eine 0 und eine 1 vor. Nach Zusammen
fassen ihrer Wahrscheinlichkeiten beginnt der Algorithmus von vorn. Alle Zeichen sind
kodiert, wenn nur noch ein Element in der Tabelle übrig ist. Häufig wird der Huff
man-Algorithmus als Baum über die Wahrscheinlichkeiten der Zeichen dargestellt. Die
beiden Symbole mit der geringsten Wahrscheinlichkeit des Auftretens werden, wie
erwähnt, zusammengefaßt zu einem neuen Symbol mit einer Wahrscheinlichkeit addiert
aus den Wahrscheinlichkeiten der beiden einzelnen Symbole. Die Ausgangssymbole
werden als linker und rechter Teilbaum angehängt. Das letzte Symbol in der Liste
entspricht der Wurzel des Kodierbaums. Die Codes für die einzelnen Zeichen können
dann ganz einfach ermittelt werden, indem man die Nullen und Einsen der Teilbäume
aneinander reiht, die auf dem Pfad von der Wurzel zu dem gewünschten Zeichen
liegen. Die Information des Baumes - vorzugsweise in der Form einer Übersetzungs
tabelle - muß mit den Daten mitgeliefert werden. In der Praxis kann es aufwendig
sein, diese Information in Form von Headerdateien als Zuordnung zwischen dem
jeweiligen Huffman-Code und dem Original-Byte mitzuführen.
Ein weiteres bekanntes Verfahren ist die arithmetische Codierung, die mit Häufigkeiten
und Intervallen operiert. Bei diesem Schema werden die Symbole zunächst in einem
Intervall von 0 bis 1 angeordnet. Die Wahrscheinlichkeit eines Symbols entspricht
dabei der Länge seines zugehörigen Unterintervalls. Besteht also eine Datei aus z
Zeichen, so gibt es z Unterintervalle. Die Häufigkeitsverteilung der Zeichen fließt bei
dem Schema insofern ein, als daß das Codewort umso länger gewählt wird, je kleiner
das zu einem Symbol gehörige Unterintervall ist und umgekehrt. Die Codierung
erfolgt dadurch, daß jedem Symbol eine binäre Fließkommazahl zugeordnet wird, die
dem Anfang der Position des Unterintervalls entspricht. Aus den Fließkommazahlen
wird mit Hilfe der Unterintervalle eine einzige Zahlenfolge gebildet, die letztendlich in
einen Code umgesetzt wird. Der Algorithmus dieser Intervallschachtelung benötigt
allerdings unbedingt ein Sonderzeichen zum Abbruch. Da bei diesem Verfahren nicht
die Wahrscheinlichkeiten einzelner Zeichen einfließen, sondern die ganze Datei gemäß
der Häufigkeit der Zeichen kodiert wird, bringt die arithmetische Codierung meistens
eine höhere Verdichtung als der Huffman-Code. Bezüglich des algorithmischen Auf
wandes können allerdings beide Verfahren, die arithmetische Codierung meistens und
die Huffman-Codierung, einfacheren Verfahren unterlegen sein.
Eine bekannte Blockcodierung, die sich nicht ohne weiteres als statistisches Verfahren
oder referenzierendes Verfahren kategorisieren läßt, ist das sogenannte Byte-Pair-Enco
ding. Diese Blockcodierung wurde 1994 erstmals vorgestellt, vgl. Held, G. et al.: Data
and Image Compression, wie eingangs zitiert, Seiten 150-157. Das Verfahren ersetzt
Paare nebeneinanderliegender Bytes in einer Datei durch ein Byte, das nicht in der
Datei vorkommt. Für jede Ersetzung wird das Paar mit der größten Häufigkeit
ausgewählt. Sobald die Ersetzung vorgenommen wurde, werden die Häufigkeiten von
Nachbarpaaren aktualisiert. Haben zwei Paare die gleiche größte Häufigkeit, so wird
das erste Paar genommen. Die Codierung ist beendet, wenn kein unbesetztes Byte in
der Datei mehr frei ist oder wenn sämtliche Paarhäufigkeiten einen vorgegebenen
Schwellenwert von z. B. drei unterschreiten.
Wünschenswert ist es, eine noch größere Kompressionsrate als bei den bisher bekann
ten entropischen Verfahren zu erzielen. Der Erfindung liegt daher das Problem zugrun
de, ein effizienteres, übergeordnetes System zur Datenkomprimierung zur Verfügung zu
stellen, das abhängig von der Dateistruktur und der technischen Anwendung mit
bisherigen Verfahren kombinierbar ist.
Die Aufgabe der Erfindung besteht deshalb darin, ein System und ein Verfahren zur
verlustfreien Datenkomprimierung anzugeben, welches dazu beiträgt, die Redundanz
einer Datenquelle soweit wie möglich zu vermindern.
Diese Aufgabe wird durch ein Codierungssystem mit den Merkmalen des Anspruchs 1
und durch ein Codierungsverfahren mit den Merkmalen des Anspruchs 16 gelöst.
Zweckmäßige Ausgestaltungen des Erfindungsgedankens gehen aus den Unteransprüchen
hervor.
Drei besonders zweckmäßige Merkmale der Erfindung, die auch für sich genommen als
schutzwürdig angesehen werden, bilden den Gegenstand von Nebenansprüchen 31, 32
und 33. Die Verfahrensaspekte dieser Merkmale sind in den nebengeordneten Ver
fahrensansprüchen 34, 35 und 36 aufgeführt.
Der wesentliche Vorteil des erfindungsgemäßen Verfahren liegt darin, daß durch
Zusammenfassen von Symbolen der Codierungsgewinn wesentlich gesteigert werden
kann. Die neue Entropie H' und die neue Dateigröße s' errechnen sich nach den
Formeln, die in Tabelle 1 angegeben sind. Das wesentliche Kriterium ist die Senkung
der Dateigröße, die auf eine Senkung der Zahl z' neuer Zeichen zurückgeht.
Dabei bedeuten:
H: alte Entropie
z: alte Zeichenzahl
s: alte Dateigröße s = H.z
a: Anzahl des Symbols a
b: Anzahl des Symbols b
ab: Anzahl der möglichen Zusammenfassungen von a und b
H': neue Entropie
z': neue Zeichenzahl z' = z - ab.
H: alte Entropie
z: alte Zeichenzahl
s: alte Dateigröße s = H.z
a: Anzahl des Symbols a
b: Anzahl des Symbols b
ab: Anzahl der möglichen Zusammenfassungen von a und b
H': neue Entropie
z': neue Zeichenzahl z' = z - ab.
So läßt sich die komprimierte Dateigröße s' berechnen als Produkt aus H'.z'.
Bei der Erfindung wird zunächst, insoweit vergleichbar mit herkömmlichen Entropieco
dierungen, von den Auftrittswahrscheinlichkeiten ps der einzelnen Symbole ausgegangen.
Für die Symbole wird eine gleiche Bit-Länge, z. B. ein Byte, angenommen. Die Datei
enthält insgesamt n unterschiedliche Symbole und z ≦ n Zeichen. Dann gilt für die
Entropie H die Gleichung in Fig. 1. Die Gleichung gibt an, wieviel Bit im Mittel je
Zeichen erforderlich sind. Daraus bestimmt sich unter den gegebenen Bedingungen die
minimal erreichbare Dateilänge zu H.z. Da es nicht immer eine ideale Codierung zu
geben braucht, kann die Datei in der Praxis auch etwas größer sein als der theoreti
sche erreichbare Wert H.z. Mit der Huffman-Codierung kann man sich dieser Grenze
nähern; etwas besser als die Huffman-Codierung kann die arithmetische Codierung sein.
In der Fig. 1 ist die Dateilänge für die erfindungsgemäße pre-entropische Codierung
zusammengestellt. Nach dem Prinzip der pre-entropischen Codierung, das im folgenden
erklärt wird, kann die eigentliche Entropiegrenze nach Shannon deutlich - mit typischen
Faktoren von 2-4 - unterschritten werden. Dies setzt erfindungsgemäß zwar einen
größeren und iterativ anzuwendenden Analysemechanismus auf der Komprimierungsseite
voraus; da die Dekomprimierung aber fast genauso schnell wie bei üblichen Entropie
verfahren erfolgt, ist der für die Analyse erforderliche Zeitaufwand auf der Kom
primierungsseite angesichts eines um den Faktor 2-4 höheren Codierungsgewinns in
vielen Fällen unwesentlich.
Der Kern-Gedanke der pre-entropischen Codierung ist in den Fig. 1 und 3 darge
stellt. Es werden schrittweise neue Kombinationszeichen eingeführt, welche eine Gruppe
vorhandener Einzelzeichen ersetzen. Da durch das zunächst versuchsweise Ersetzen
meist nicht alle Zeichen einer Symbolklasse erfaßt werden, nimmt meist die Zahl der
Klassen von n auf n' zu. Auch die mittlere Entropie der neuen oder zweiten Daten
quelle, welche die Kombinationszeichen versuchsweise enthält, nimmt in der Regel von
H auf H' zu. Gleichzeitig sinkt jedoch die Zahl der insgesamt in der Datei vorhande
nen Zeichen von z auf z' ≦ z. Dadurch wird häufig die Dateilänge, also das Produkt
aus dem Code-Aufwand (Entropie) und der Zeichenzahl kleiner als bei der Ausgangs
datei. So entsteht bei richtiger Optimierung eine kleinere Zieldatei, insbesondere dann,
wenn anschließend die neue Datei mit den n' Klassen einer normalen Entropiecodierung
unterworfen wird (Huffman-Codierung, arithmetische Codierung). Ein Codierungsgewinn
erfolgt so lange, wie der Bezeichnungsaufwand für einen Kombinationsvermerk (also
für die Zusatzdaten zur Decodierung, die in einer Header-Datei erfaßt werden) kleiner
ist als die absolute Differenz des Bezeichnungsaufwands der Datei vor und nach der
Kombination.
Eine besonders vorteilhafte Ausgestaltung der Erfindung ist darin zu sehen, daß nicht
nur einander benachbarte Zeichen kombiniert werden können, sondern daß zusätzlich
auch Einzelzeichen mit unterschiedlichen Abständen miteinander zusammengefaßt werden
können, wobei der Abstand jeweils im Header vermerkt werden muß. Es ist möglich,
für das nächste Kombinationszeichen einen wiederum anderen Abstand zu wählen.
Im Ablauf, besonders gegen Ende des erfindungsgemäßen iterativen Verfahrens ist es
möglich, daß durch Auflösung von bereits kombinierten Zeichen ein weiterer Codie
rungsgewinn erzielt werden kann. Dieser Codierungsgewinn durch Zeichenauflösung ist
in Tabelle 2 dargestellt. Das erfindungsgemäße Verfahren erweist sich deshalb als
besonders vorteilhaft, da eine Codierungsgewinnsteigerung erzielbar ist, indem simultan
zur Prüfung auf Zusammenfassung zweier Symbole a und b eine Auflösung anderer
Symbole versucht wird. Abhängig von der günstigeren Dateigröße wird dann eine
Zusammenfassung oder Auflösung der Symbole a und b ausgeführt.
Ein besonders wichtiger Vorteil des erfindungsgemäßen Verfahren liegt darin, daß die
bei den meisten Komprimierungsverfahren mitzuführende Headerdatei kompakter
darstellbar ist, so daß der neue Bezeichnungsaufwand in der Headerdatei gegen die
Hälfte des alten konvergiert. Nach einem vorgegebenen Verfahrensschema werden die
Einträge der Headerdatei vertauscht und die auf sie verweisenden Symbolwerte in der
zu komprimierenden Datei verändert. Dadurch wird es möglich, auf einzelne Kom
ponenten der Headerdateieinträge ohne Informationsverlust zu verzichten.
Die Erfindung der preentropischen Codierung wird im folgenden anhand der beiliegen
den Zeichnungen und Tabellen und der dargestellten Ausführungsbeispiele näher
beschrieben. Es zeigt:
Fig. 1 Das Prinzip der preentropischen Codierung.
Fig. 2 Ein Blockschaltbild wesentlicher Funktionsbausteine und Speicherbausteine
zur Durchführung des Verfahrens der preentropischen Codierung.
Fig. 3 Ein Flußdiagramm einer Ablaufsteuerung zur preentropischen Codierung.
Fig. 4 Header-Tabellen, Tauschtafeln und Codierungsbäume, die durch Ver
tauschen von Header-Einträgen entstehen.
Fig. 5 Ein Beispiel einer Codierung des durch Vertauschung gemäß Fig. 4,
Zustand 4 entstandenen Header-Baums.
Tabelle 1: Eine Berechnung des Codierungsgewinns bei Zusammenfassen zweier
Symbole a und b.
Tabelle 2: Eine Berechnung des Codierungsgewinns bei Auflösen zweier Symbole a
und b.
Tabelle 3: Ein Programmierbeispiel für das Verfahren zur preentropischen Codie
rung.
Wie in Fig. 1 dargestellt, ist bei dem erfindungsgemäßen Verfahren ein iterativer
Analysemechanismus der bekannten Entropiekodierung vorangestellt.
Die Auswahl der Kombinationszeichen kann unterschiedlichen Überlegungen folgen.
Beispielsweise ist bekannt, daß - unter sonst gleichen Bedingungen - eine sehr un
gleichmäßige Häufigkeitsverteilung der Zeichen eine kleine Entropie zur Folge hat.
Demnach sollten bei der hier vorgestellten pre-entropischen Codierung das häufigste
Ausgangszeichen oder die häufigsten Ausgangszeichen nicht zur Bildung von Kom
binationszeichen herangezogen werden. Deren Codierung wird besser einem anschließen
den statistischen Verfahren überlassen.
Andererseits sollten, damit die Anzahl z der Zeichen in der Datenquelle stark sinkt,
vor allem die häufigsten Kombinationszeichen benutzt werden. Die häufigsten Kom
binationszeichen entstehen aber meist gerade aus den häufigsten Originalzeichen.
Diese Überlegungen zeigen, daß die beiden genannten Strategien sich zumindest
teilweise widersprechen. Da außerdem noch die Zeichenzahl und der Aufwand für die
Header-Datei in die Dateilänge eingehen, ist eine einfache Strategie zur Auswahl der
Kombinationszeichen zwar möglich, aber oft nicht effektiv. Statt dessen wird gemäß den
Fig. 1-3 ein komplexes iteratives Optimierungsverfahren angewandt. Die im folgen
den beschriebene Strategie stellt ein bevorzugtes Ausführungsbeispiel dar. Diese
Strategie kann in mehreren Punkten modifiziert, vereinfacht und/oder erweitert werden.
Die entstehenden Varianten werden u. a. von der Struktur der Eingangsdaten (vor allem
ihrer Länge) und vom Anwendungsfall (Zeitbedingungen, verfügbarer Speicherplatz
usw.) abhängen. Im folgenden wird ein besonders typisches und universelles Vorgehen
bei der Auswahl der Kombinationszeichen dargestellt, das sich in der praktischen
Durchführung als effektiv erwiesen hat.
Aus der ersten Datenquelle werden zunächst die Auftrittswahrscheinlichkeiten ps aller
n Symbole und die Auftrittswahrscheinlichkeiten qk aller k Kombinationszeichen
bestimmt. Die Kombinationszeichen entstehen aus der Zusammenfassung mehrerer
Zeichen und ihres Abstandes zueinander. Dabei kann die Menge der verwendeten
Abstände und die Anzahl zu kombinierender Zeichen vorher festgelegt oder aus der
Datei berechnet sein. Im einfachsten Fall werden zwei benachbarte Zeichen a und b
zur Kombination verwendet. Dann wird ein Kombinationszeichen versuchsweise ausge
wählt. Entsprechend seiner Häufigkeit entfallen dadurch entsprechend viele Originalzei
chen der beiden Klassen a und b. Mit der sich so ergebenden neuen Häufigkeitsver
teilung (einschließlich des ausgewählten Kombinationszeichens) wird die Entropie H'
berechnet und gespeichert (Speicher 1 für Entropie in Fig. 2) und mit der Zeichen
anzahl multipliziert (Speicher für Code-Aufwand und Dateigröße in Fig. 2). Danach
geschieht der gleiche Vorgang mit einer zweiten Zeichenkombination. Das neue Produkt
aus Entropie und Zeichenzahl wird mit dem vorhergehenden Produkt verglichen. Ist es
kleiner, so wird es gespeichert, andernfalls verworfen. Dieser Vergleich erfolgt
nacheinander mit allen Kombinationszeichen. Abschließend ist jenes Kombinationszeichen
bekannt, das die voraussichtlich größte Komprimierung bewirkt. Die zugehörigen
Parameter (neue Anzahl n' der Klassen, neue Häufigkeitsverteilung, Zusatzdaten im
Header) werden zwischengespeichert und die Kombinationszeichen stellen eine neue
Klasse von Symbolen dar. Nun wird eine zweite Datenquelle gebildet, indem die
zugehörigen Zeichen in der ersten Datenquelle durch das Kombinationszeichen ersetzt
werden. Die neue Symbolzahl n' liegt jetzt zwischen n - 1 und n + 1, und zwar je nach
dem, ob 0, 1 oder 2 Ursprungssymbole durch das Kombinationssymbol vollständig
ersetzt worden sind.
Mit der zweiten Datenquelle, welche die gemäß Schritt A erzeugte neue Klasse von
Zeichen enthält, werden erneut gemäß dem Schritt A Kombinationszeichen erzeugt und
überprüft. Ist für eines der Kombinationszeichen die erreichbare Dateilänge signifikant
kleiner als die vorhergehende, so wird Schritt A erneut versucht, andernfalls bricht das
Verfahren ab und es verbleibt bei dem vorhergehenden, zuletzt erfolgreichen Kom
binationszeichen.
Im Verlauf der Iteration kann es vorkommen, daß bereits erzeugte Kombinationszeichen
durch nachfolgende Prozesse überflüssig werden. Daher wird schrittweise je eines der
zuvor erzeugten Kombinationszeichen probeweise in seine Ursprungszeichen aufgelöst
und für die so entstehende Datenquelle das Produkt aus Entropie H und Zeichenzahl
z berechnet. Falls sich hieraus ein Codierungsgewinn ergibt, wird das Kombinations
zeichen tatsächlich in seine Ursprungszeichen aufgelöst. Danach beginnt ein neuer
Zyklus mit Schritt A.
Eine besonders vorteilhafte Ausgestaltung der Erfindung liegt darin, daß auch der
Codierungsgewinn, der durch Auflösung von Kombinationszeichen entsteht, berücksich
tigt wird. Die Untersuchung des Codierungsgewinns durch Auflösung wird entweder
nach bereits getätigter Zusammenfassung zweier Zeichen unternommen, oder bereits bei
der Prüfung auf Zusammenfassung zweier Symbole a und b. Wie in Fig. 3 darge
stellt, wird dies bei Schritt 8 untersucht, in dem das entstehende Produkt aus Entropie
und Zeichenzahl für Zusammenfassung bzw. Auflösung verglichen wird, so daß gegebe
nenfalls bestehende Zusammenfassungen wieder gelöscht werden und die Datei aktuali
siert wird (Schritte 9-12).
Gemäß der Fig. 4 und 5 besteht ein wesentlicher Vorteil des erfindungsgemäßen
Systems darin, daß durch Vertauschen der Header-Einträge einzelne Einträge effizienter
dargestellt werden können. Dabei ist das Ziel der Transpositionen, die Einträge nach
ihren Komponenten zu sortieren. Dadurch sinkt die Entropie des Headers.
Angenommen zwei Symbole xi und yi werden zu einem Kombinationssymbol mit dem
Wert i zusammengefaßt. Dann besteht die Header-Datei aus einer Tabelle mit Einträgen
xi/yi, wobei der Index eines Eintrags gleich dem Wert des Kombinationssymbols ist.
Werden nun zwei Einträge vertauscht, dann müssen alle auf sie verweisenden Daten
entsprechend aktualisiert werden. Das Sortieren durch Vertauschung kann z. B. mit xi
als erstem und yi als zweitem Schlüssel erfolgen oder umgekehrt. Die Komprimierung
kann dann als Läuflängen- und/oder Differenzkodierung erfolgen.
Eine weitere Transposition-Strategie sortiert alternierend mit xi und yi als Schlüsseln.
Diese Strategie läßt sich in fünf Regeln beschreiben (Fig. 4).
- 1. Anfangs ist der erste Eintrag der Referenzeintrag.
- 2. Nun werden alle Einträge gesucht, deren Komponente xi gleich dem Index des Referenzringtags ist und darunter einsortiert.
- 3. Als nächstes werden alle Einträge, deren Komponente yi gleich dem Index des Referenzeintrages ist, anschließend einsortiert.
- 4. Nun werden die in 2. und 3. einsortierten Einträge als Referenzeinträge betrachtet und mit ihnen nach Schritt 2.-4. rekursiv verfahren.
- 5. Nachdem es in Schritt 2.-4. keine Übereinstimmungen mehr gibt, ist der nächste Eintrag der Referenzeintrag und es wird mit Schritt 2.-4. weiter verfahren.
Das Verfahren endet, wenn alle Einträge einsortiert sind. Durch die rekursive Vor
gehensweise lassen sich die sortierten Einträge in baumartiger Codierung komprimieren
(Fig. 4 und Fig. 5). Die in Schritt 2. bzw. 3. einsortierten Einträge (Kinder) stimmen
in xi bzw. yi mit dem Index ihres Referenzeintrages (Vater) überein. Diese Indizes
müssen nun im Code nicht mehr angegeben werden, es reicht die Anzahl der Kinder
anzugeben. Die ausgesparten Indizes lassen sich dann durch Abzählen von der Wurzel
aus errechnen.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, daß durch den
Anwender für den spezifischen Anwendungsfall Parameter wählbar sind, die z. B.
angeben, ob und wenn ja, wann eine Auflösung von Zeichen versucht werden soll und
daß weiterhin - wie in Fig. 3 dargestellt - eine Menge der günstigen Abstände
adaptiv ermittelbar ist.
Damit ergibt sich, daß gerade in zeitkritischen Anwendungen das erfindungsgemäße
System optimal skalierbar ist. Da ein System zur verlustfreien Komprimierung von z. B.
ROM-Daten oder speziellen Bilddaten nicht ohne Bewertung der zugehörigen Dekom
primierung auskommen kann, wirkt es sich bei diesem Verfahren besonders vorteilhaft
aus, daß die Dekomprimierung extrem schnell ist und fast keinen Speicherplatz
benötigt. Dies ist z. B. bei der mobilen oder geostationären Übertragung besonders
wichtig.
Die zwei oder mehr Ursprungszeichen, die zusammengefaßt werden, können unter
schiedliche Abstände zueinander haben, d. h. die Zeichen müssen nicht unmittelbar
benachbart sein. Die Abstände der Ursprungszeichen werden in der Header-Datei
vermerkt an der Stelle, an der auch das Kombinationszeichen selbst eingetragen wurde.
Bei der Bildung des nächsten Kombinationzeichens können andere Abstände gewählt
werden.
Bei der Erfindung handelt es sich demzufolge um ein System und ein Verfahren zum
Komprimieren und Dekomprimieren von Dateien. Es besteht aus ein oder zwei Stufen,
nämlich einer neuartigen pre-entropischen Codierung und gegebenenfalls zusätzlich einer
abschließenden Entropie-Codierung bekannter Art (z. B. Hufman- oder Shannon-Fano-
Codierung). Dabei werden Wahrscheinlichkeiten/Häufigkeiten gleich langer Symbole,
z. B. von Byte-Symbolen berücksichtigt. Die Wahrscheinlichkeiten können für einen
gegebenen Datei-Inhalt bekannt sein oder es können die Häufigkeiten zu Beginn des
Verfahrens ausgezählt werden. Das Verfahren der pre-entropischen Codierung ist
dadurch gekennzeichnet, daß Symbolkombinationen nach einem neuartigen Kriterium
ausgewählt und als zusätzliche Symbole eingeführt werden. Zwar steigt dadurch
eventuell die Anzahl auftretender Klassen von Symbolen und damit eventuell auch die
Entropie; jedoch sinkt in jedem Fall die Anzahl der in der Datei insgesamt enthaltenen
Zeichen. Die Erfindung schlägt vor, daß eine Zusammenfassung mehrerer Zeichen zu
einer Symbolkombination jeweils so gewählt wird, daß das Produkt aus Entropie mal
die Anzahl der in der Datei enthaltenen Zeichen sinkt. In der Regel wird diejenige
Symbolkombination herangezogen, bei der dieses Produkt minimal ist.
Der verkürzende Prozeß wird iterativ solange wiederholt, bis kein Gewinn mehr
erreicht wird, d. h. bis durch Einführung einer neuen Symbolkombination keine Ver
kürzung der Datei insgesamt mehr möglich ist. Bei dieser Iteration wird der steigende
Aufwand für den Header berücksichtigt, der in der komprimierten Datei zum Zwecke
der Dekomprimierung mitgeführt wird.
Bei den Erprobungen des erfindungsgemäßen Verfahrens wurde zusätzlich festgestellt,
daß unter Umständen durch Auflösen früher eingeführter Zeichen ein weiterer Codie
rungsgewinn zu erzielen ist. Es wird deshalb im Verlauf der iterativen Einführung
neuer Zeichen an geeigneter Stelle untersucht, ob durch Rückkehr zu weniger stark
zusammengefaßten Zeichen die Entropie und/oder der Header-Aufwand relativ stark
zurückgehen.
Sowohl die Auswahl neuer Kombinationszeichen als auch die Auflösung bereits einge
führter Kombinationszeichen können mehrfach iterativ verschachtelt sein. Die Wiederho
lung garantiert, daß jeder Zwischenschritt zu einem guten Zwischenergebnis führt,
nimmt aber andererseits Rechenzeit in Anspruch. Im Unterschied dazu liegt es aber
auch im Rahmen der Erfindung, bei der Auswahl der Kombinationszeichen geradewegs
nach Erfahrungsregeln vorzugehen. Beispielsweise könnte man vor allem Symbolkom
binationen zulassen, die nicht den häufigsten Einzelsymbolen entsprechen. Wenn
besonders häufige Symbole zu einem kleinen Wert der Entropie führen, so kann man
deren Codierung in zweckmäßiger Weise der abschließenden entropischen Codierung
überlassen. Ein anderes Auswahlkriterium besteht darin, daß solche Symbolkombinatio
nen bevorzugt ausgewählt werden, welche die zugehörigen Einzelzeichen ganz oder
nahezu ganz verschwinden lassen. Bei bestimmten Dateistrukturen kann die Dateilänge
besonders effektiv verringert werden, wenn nicht nur benachbarte Symbole, sondern
auch Symbole mit größeren Abständen zusammengefaßt werden. Da diese Abstände im
Header zusätzlich vermerkt werden müssen, sollte die Anzahl der zu speichernden
Abstände allerdings gering gehalten werden.
Überhaupt spielt der Header gegen Ende des Iterationsprozesses eine immer größere
Rolle, da die Zahl der Kombinationsvermerke immer weiter anwächst. Im Rahmen der
vorliegenden Erfindung ist deshalb auch eine Transposition von Kombinationsvermerken
aufgezeigt, durch die Teile der Kombinationsvermerke im Header entfallen können.
Eine andere Möglichkeit, den Bezeichnungsaufwand für den Header in Grenzen zu
halten, besteht darin, auf die Header-Datei das gesamte Komprimierungsverfahren selbst
nochmals anzuwenden.
Zusammenfassend stellt das Verfahren der pre-entropischen Codierung ein verlustfreies
Datenkomprimierungsverfahren mit folgenden Eigenschaften dar:
- 1. Die pre-entropische Codierung (1. Schicht) ist Teil einer 2-stufigen Komprimie rung, die auf eine nachfolgende Entropie-Codierung (2. Schicht) optimal abge stimmt ist.
- 2. Der Komprimierungsgrad dieser mehrschichtigen Codierung liegt in den meisten Fällen deutlich über dem Komprimierungsgrad einer einfachen Codierung oder anderer bekannter Mehrschichtverfahren.
- 3. Die Dekomprimierung geschieht extrem schnell und benötigt fast keinen Speicher platz.
- 4. Die Komprimierung umfaßt ein variables n-Pass-Verfahren und kann relativ aufwendig sein, so daß das Verfahren insgesamt als bedingt asymmetrisch ein zustufen ist.
- 5. Das Verfahren kann mit variabler oder adaptiver Strategie und sowohl in Blockbil dungs- als auch in Gleitfenstertechnik betrieben werden.
- 6. In zeitkritischen Anwendungen ist das Verfahren optimal skalierbar.
Die hauptsächlichen Anwendungsgebiete der pre-entropischen Codierung sind die
Komprimierung von ROM-Daten, wie sie z. B. auf CD-ROMs, in BIOS-Speichern, in
Spielekonsolen usw. enthalten sind, und die Komprimierung von Daten, die in Compu
ter-Netzwerken übertragen werden. Ein weiteres bevorzugtes Anwendungsgebiet ist die
verlustfreie Komprimierung von bereits codierten Bilddaten, die zuvor verlustbehaftet
komprimiert wurden, z. B. durch die Verfahren MPEG I, MPEG II, DCT usw.
Es kommen auch solche Anwendungsgebiete in Frage, in denen andere Verfahren wie
z. B. Lempel-Ziv, GIF-Format usw., zu teuer sind. Bei der mobilen oder geostationären
Kommunikation, bei welcher der Arbeitsspeicher sehr knapp ist, ist die starke Kom
primierung von Daten ebenfalls vorteilhaft. Ferner ist die Erfindung in jeder Anwen
dung von Vorteil, bei der eine sehr dicht gepackte Datenmenge sehr schnell dekom
primiert werden muß.
a: Anzahl des Symbols a in einer ersten Datenquelle
ab: Anzahl des Symbols ab in einer zweiten Datenquelle
b: Anzahl des Symbols b in einer ersten Datenquelle
H: Entropie einer ersten Datenquelle
H': Entropie einer zweiten Datenquelle
H'': Entropie einer weiteren Datenquelle
i: Index in die Header-Tabelle (dies ist gleichzeitig der Symbolwert)
k: Anzahl der Kombinationszeichen
n: Anzahl unterschiedlicher Symbol-Klassen einer ersten Datenquelle
n': Anzahl unterschiedlicher Symbol-Klassen einer zweite Datenquelle
ps
ab: Anzahl des Symbols ab in einer zweiten Datenquelle
b: Anzahl des Symbols b in einer ersten Datenquelle
H: Entropie einer ersten Datenquelle
H': Entropie einer zweiten Datenquelle
H'': Entropie einer weiteren Datenquelle
i: Index in die Header-Tabelle (dies ist gleichzeitig der Symbolwert)
k: Anzahl der Kombinationszeichen
n: Anzahl unterschiedlicher Symbol-Klassen einer ersten Datenquelle
n': Anzahl unterschiedlicher Symbol-Klassen einer zweite Datenquelle
ps
: Auftrittswahrscheinlichkeit des Symbols s in einer ersten Datenquelle
p's
p's
: Auftrittswahrscheinlichkeit des Symbols s in einer zweiten Datenquelle
PT: Paar-Tabelle
qk
PT: Paar-Tabelle
qk
: Auftrittswahrscheinlichkeit des Kombinationszeichens k
s: Minimale Dateigröße einer ersten Datenquelle
s': Minimale Dateigröße einer zweiten Datenquelle
S: Ein Symbol einer Datenquelle
ST: Symbol-Tabelle
xi
s: Minimale Dateigröße einer ersten Datenquelle
s': Minimale Dateigröße einer zweiten Datenquelle
S: Ein Symbol einer Datenquelle
ST: Symbol-Tabelle
xi
: erstes Symbol des i-ten Eintrags in der Header-Tabelle
yi
yi
: zweites Symbol des i-ten Eintrags in der Header-Tabelle
z: Zeichenzahl einer ersten Datenquelle
z': Zeichenzahl einer zweiten Datenquelle
z'': Zeichenzahl einer weiteren Datenquelle
Z: Header-Tabelle
z: Zeichenzahl einer ersten Datenquelle
z': Zeichenzahl einer zweiten Datenquelle
z'': Zeichenzahl einer weiteren Datenquelle
Z: Header-Tabelle
z: alte Zeichenzahl
H: alte Entropie
s: alte Dateigröße: s = H.z
a: Anzahl des Symbols a
b: Anzahl des Symbols b
ab: Anzahl der möglichen Zusammenfassungen von a und b
z': Neue Zeichenzahl: z' = z - ab
H' Neue Entronie:
H: alte Entropie
s: alte Dateigröße: s = H.z
a: Anzahl des Symbols a
b: Anzahl des Symbols b
ab: Anzahl der möglichen Zusammenfassungen von a und b
z': Neue Zeichenzahl: z' = z - ab
H' Neue Entronie:
s': Neue Dateigröße: s' = H'.z'
z: alte Zeichenzahl
H: alte Entropie
s: alte Dateigröße: s = H.z
ab: Anzahl des Symbols ab, hervorgegangen aus Kombination von a und b
a: Anzahl des Symbols a
b: Anzahl des Symbols b
z': Neue Zeichenzahl: z' = z + ab
H' Neue Entropie:
H: alte Entropie
s: alte Dateigröße: s = H.z
ab: Anzahl des Symbols ab, hervorgegangen aus Kombination von a und b
a: Anzahl des Symbols a
b: Anzahl des Symbols b
z': Neue Zeichenzahl: z' = z + ab
H' Neue Entropie:
s': Neue Dateigröße: s' = H'.z'
Claims (36)
1. System zur Codierung einer ersten Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch
Datenkomprimierung teilweise oder vollständig auf Code-Zeichen abbildet,
dadurch gekennzeichnet, daß der Codierer
- a. für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Zeichen (a, b) der ersten Datenquelle auf ein neues Zeichen (ab) abgebildet ist, das Produkt aus der Entropie (H') der zweiten Datenquelle und der Zeichenanzahl (z') der zweiten Datenquelle ermittelt,
- b. für eine weitere Datenquelle mit einer weiteren Gruppe von zwei oder mehr abgebildeten Zeichen der ersten Datenquelle ein weiteres Produkt der Entropie (H'') der weiteren Datenquelle und der Zeichenanzahl (z'') der weiteren Datenquelle ermittelt,
- c. diejenige Gruppe von Zeichen der ersten Datenquelle speichert, der von den in a. und b. ermittelten Produkten (H'.z', H''.z'') das kleinere Produkt zu geordnet ist, und daß der Codierer
- d. eine gespeicherte Gruppe von Zeichen (a, b) der ersten Datenquelle durch ein neues Zeichen (ab) in der Folge von Zeichen der ersten Datenquelle ersetzt.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß das System eine
Zieldatei umfaßt einschließlich einer Header-Datei, die aus Einträgen der zwei
oder mehr zu kombinierenden, beispielsweise benachbarten Zeichen (a, b)
besteht.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß zwei oder mehr nicht
benachbarte Zeichen der ersten Datenquelle auf ein neues Zeichen abgebildet
werden und daß zusätzlich die Information über die Abstände der nicht
benachbarten Zeichen in der Header-Datei erfaßt wird.
4. System nach mindestens einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Codierung abhängig von einer Datenstruktur einer zu
komprimierenden Ausgangsdatei, insbesondere der Dateilänge, erfolgt.
5. System nach mindestens einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Codierung abhängig von der Art der Anwendung,
insbesondere dem Speicherplatz und dem Zeitbedarf für Komprimierung und
Dekomprimierung, erfolgt.
6. System nach mindestens einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Produktermittlung eine Iteration über eine Vielzahl
weiterer Datenquellen mit weiteren möglichen Zeichenkombinationen umfaßt,
die mit der Ermittlung eines minimalen Produkts (H'.z') endet.
7. System nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, daß der
Schritt des Ersetzens von Zeichen (a, b) durch ein Kombinationszeichen (a, b)
so lange wiederholt wird, bis eine minimale Länge der Zieldatei einschließlich
der Header-Datei als Abbruchkriterium erreicht ist.
8. System nach mindestens einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß gemäß einem vom Anwender gewählten Parameter
bestimmbar ist, wieviel Zeichen jeweils zu einem Kombinationszeichen zu
sammengefaßt werden.
9. System nach mindestens einem der Ansprüche 1 bis 7, dadurch gekennzeich
net, daß die Produktermittlung auf eine Heuristik zurückgreift, nach der
automatisch die Anzahl der zusammenfaßbaren Zeichen spezifisch für den
Anwendungsfall bestimmt wird.
10. System nach mindestens einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Zeichen zu einem Kombinations zeichen wird in einer weiteren Datenquelle ein Kombinationszeichen (a, b) durch seine ursprünglichen Einzelzeichen (a, b) ersetzt und das Produkt aus Entropie (H'') und Zeichenzahl (z'') ermittelt und mit dem entsprechenden Produkt der zweiten Datenquelle verglichen und, falls sich für die weitere Datenquelle ein kleineres Produkt ergibt, eine Auflösung des Kombinations zeichens in Einzelzeichen einer vorhergehenden Datenquelle vorgenommen.
nach einer erfolgten Zusammenfassung von Zeichen zu einem Kombinations zeichen wird in einer weiteren Datenquelle ein Kombinationszeichen (a, b) durch seine ursprünglichen Einzelzeichen (a, b) ersetzt und das Produkt aus Entropie (H'') und Zeichenzahl (z'') ermittelt und mit dem entsprechenden Produkt der zweiten Datenquelle verglichen und, falls sich für die weitere Datenquelle ein kleineres Produkt ergibt, eine Auflösung des Kombinations zeichens in Einzelzeichen einer vorhergehenden Datenquelle vorgenommen.
11. System nach Anspruch 10, dadurch gekennzeichnet, daß das System einen
vom Anwender bestimmbaren Parameter umfaßt, nach dem der Zusatzschritt
der Zeichenauflösung wahlweise verwendet oder nicht verwendet wird.
12. System nach mindestens einem der Ansprüche 10 oder 11, dadurch gekenn
zeichnet, daß das System einen vom Anwender bestimmbaren Parameter
umfaßt, nach dem der Zusatzschritt der Zeichenauflösung erst ab einer durch
den Parameter bestimmten Codierungstiefe zuschaltbar ist.
13. System zur Codierung einer Datenquelle durch Datenkomprimierung unter
Verwendung einer Header-Datei nach Anspruch 2, dadurch gekennzeichnet,
daß durch Vertauschen der Header-Einträge ohne Informationsverlust auf
einzelne Headerdaten verzichtet und dadurch eine Speicherplatzreduktion in der
Header-Datei erzielt wird.
14. System zur Codierung einer Datenquelle durch Datenkomprimierung unter
Verwendung der Zieldatei nach Anspruch 2, dadurch gekennzeichnet, daß die
in der Zieldatei enthaltene Folge von ursprünglichen Zeichen und Code-
Zeichen anschließend einer Entropie-Codierung unterworfen wird.
15. System zur Dekomprimierung der Zieldatei einschließlich der Header-Datei
nach Anspruch 2, dadurch gekennzeichnet, daß die Kombinationszeichen in
der Zieldatei mit Hilfe der Header-Datei schrittweise in Kombinationszeichen
niedrigerer Ordnung und/oder in ihre Einzelzeichen rückübersetzt werden.
16. Verfahren zur Codierung einer ersten Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch
Datenkomprimierung teilweise oder vollständig auf Code-Zeichen abbildet,
dadurch gekennzeichnet, daß der Codierer
- a. für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Zeichen (a, b) der ersten Datenquelle auf ein neues Zeichen (ab) abge bildet ist, das Produkt aus der Entropie (H') der zweiten Datenquelle und der Zeichenanzahl (z') der zweiten Datenquelle ermittelt,
- b. für eine weitere Datenquelle mit einer weiteren Gruppe von zwei oder mehr abgebildeten Zeichen der ersten Datenquelle ein weiteres Produkt der Entropie (H'') der weiteren Datenquelle und der Zeichenanzahl (z'') der weiteren Datenquelle ermittelt,
- c. diejenige Gruppe von Zeichen der ersten Datenquelle speichert, der von den in a. und b. ermittelten Produkten (H'.z', H''.z'') das kleinere Produkt zugeordnet ist, und daß der Codierer
- d. eine gespeicherte Gruppe von Zeichen (a, b) der ersten Datenquelle durch ein neues Zeichen (ab) in der Folge von Zeichen der ersten Datenquelle ersetzt.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Codierer eine
Zieldatei umfaßt einschließlich einer Header-Datei, die aus Einträgen der zwei
oder mehr zu kombinierenden, beispielsweise benachbarten Zeichen (a, b)
besteht.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß zwei oder mehr
nicht benachbarte Zeichen der ersten Datenquelle auf ein neues Zeichen
abgebildet werden und daß zusätzlich die Information über die Abstände der
nicht benachbarten Zeichen in der Header-Datei erfaßt wird.
19. Verfahren nach mindestens einem der Ansprüche 16-18, dadurch gekenn
zeichnet, daß die Codierung abhängig von einer Datenstruktur einer zu
komprimierenden Ausgangsdatei, insbesondere der Dateilänge, erfolgt.
20. Verfahren nach mindestens einem der Ansprüche 16-19, dadurch gekenn
zeichnet, daß die Codierung abhängig von der Art der Anwendung, insbeson
dere dem Speicherplatz und dem Zeitbedarf für Komprimierung und Dekom
primierung, erfolgt.
21. Verfahren nach mindestens einem der Ansprüche 16-20, dadurch gekenn
zeichnet, daß die Produktermittlung eine Iteration über eine Vielzahl weiterer
Datenquellen mit weiteren möglichen Zeichenkombinationen umfaßt, die mit
der Ermittlung eines minimalen Produkts (H'.z') endet.
22. Verfahren nach einem der Ansprüche 17-21, dadurch gekennzeichnet, daß der
Schritt des Ersetzens durch ein Kombinationszeichen so lange wiederholt wird,
bis eine minimale Länge der Zieldatei einschließlich der Header-Datei als
Abbruchkriterium erreicht ist.
23. Verfahren nach mindestens einem der Ansprüche 16-22, dadurch gekenn
zeichnet, daß gemäß einem vom Anwender gewählten Parameter bestimmbar
ist, wieviel Zeichen jeweils zu einem Kombinationszeichen zusammengefaßt
werden.
24. Verfahren nach mindestens einem der Ansprüche 16-23, dadurch gekennzeich
net, daß die Produktermittlung auf eine Heuristik zurückgreift, nach der
automatisch die Anzahl der zusammenfaßbaren Zeichen spezifisch für den
Anwendungsfall bestimmt wird.
25. Verfahren nach mindestens einem der Ansprüche 16-24, dadurch gekenn
zeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Zeichen zu einem Kombinations zeichen wird in einer weiteren Datenquelle ein Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt und das Produkt aus Entropie und Zeichenzahl ermittelt und mit dem entsprechenden Produkt der zweiten Daten quelle verglichen und, falls sich für die weitere Datenquelle ein kleineres Produkt ergibt, eine Auflösung des Kombinationszeichens in Einzelzeichen einer vorhergehenden Datenquelle vorgenommen.
nach einer erfolgten Zusammenfassung von Zeichen zu einem Kombinations zeichen wird in einer weiteren Datenquelle ein Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt und das Produkt aus Entropie und Zeichenzahl ermittelt und mit dem entsprechenden Produkt der zweiten Daten quelle verglichen und, falls sich für die weitere Datenquelle ein kleineres Produkt ergibt, eine Auflösung des Kombinationszeichens in Einzelzeichen einer vorhergehenden Datenquelle vorgenommen.
26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß das Verfahren
einen vom Anwender bestimmbaren Parameter umfaßt, nach dem der Zusatz
schritt der Zeichenauflösung wahlweise verwendet oder nicht verwendet wird.
27. Verfahren nach mindestens einem der Ansprüche 25 oder 26, dadurch ge
kennzeichnet, daß das Verfahren einen vom Anwender bestimmbaren Parame
ter umfaßt, nach dem der Zusatzschritt der Zeichenauflösung erst ab einer
durch den Parameter bestimmten Codierungstiefe zuschaltbar ist.
28. Verfahren zur Codierung einer Datenquelle durch Datenkomprimierung unter
Verwendung einer Header-Datei nach Anspruch 17, dadurch gekennzeichnet,
daß durch Vertauschen der Header-Einträge ohne Informationsverlust auf
einzelne Einträge verzichtet und dadurch eine Speicherplatzreduktion in der
Header-Datei erzielt wird.
29. Verfahren zur Codierung einer Datenquelle durch Datenkomprimierung unter
Verwendung der Zieldatei nach Anspruch 17, dadurch gekennzeichnet, daß die
in der Zieldatei enthaltene Folge von ursprünglichen Zeichen und Code-
Zeichen anschließend einer Entropie-Codierung unterworfen wird.
30. Verfahren zur Dekomprimierung der Zieldatei einschließlich der Header-Datei
nach Anspruch 17, dadurch gekennzeichnet, daß die Kombinationszeichen in
der Zieldatei mit Hilfe der Header-Datei schrittweise in Kombinationszeichen
niedrigerer Ordnung und/oder in ihre Einzelzeichen niedrigerer Ordnung
rückübersetzt werden.
31. System zur Codierung einer Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
zwei oder mehr nicht benachbarte Zeichen der Datenquelle auf ein neues Codezeichen abgebildet werden,
und daß in der Headerdatei zusätzlich zu den neuen Codezeichen eine Infor mation über die Abstände der nicht benachbarten Zeichen erfaßt wird.
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
zwei oder mehr nicht benachbarte Zeichen der Datenquelle auf ein neues Codezeichen abgebildet werden,
und daß in der Headerdatei zusätzlich zu den neuen Codezeichen eine Infor mation über die Abstände der nicht benachbarten Zeichen erfaßt wird.
32. System zur Codierung einer ersten Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Kom binationszeichen abbildet,
wobei der Codierer für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Einzelzeichen der ersten Datenquelle auf ein neues Kom binationszeichen abgebildet ist, nach einem vorgegebenen Kriterium ermittelt, ob ein Codierungsgewinn vorliegt,
dadurch gekennzeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Einzelzeichen der ersten Daten quelle zu einem Kombinationszeichen der zweiten Datenquelle wird in einer weiteren Datenquelle das Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt,
dann wird nach dem vorgegebenen Kriterium untersucht, ob ein Codierungs gewinn für die weitere Datenquelle vorliegt,
und, falls ein Codierungsgewinn eintritt, wird eine Auflösung des Kombina tionszeichens in die Einzelzeichen der ersten Datenquelle vorgenommen.
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Kom binationszeichen abbildet,
wobei der Codierer für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Einzelzeichen der ersten Datenquelle auf ein neues Kom binationszeichen abgebildet ist, nach einem vorgegebenen Kriterium ermittelt, ob ein Codierungsgewinn vorliegt,
dadurch gekennzeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Einzelzeichen der ersten Daten quelle zu einem Kombinationszeichen der zweiten Datenquelle wird in einer weiteren Datenquelle das Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt,
dann wird nach dem vorgegebenen Kriterium untersucht, ob ein Codierungs gewinn für die weitere Datenquelle vorliegt,
und, falls ein Codierungsgewinn eintritt, wird eine Auflösung des Kombina tionszeichens in die Einzelzeichen der ersten Datenquelle vorgenommen.
33. System zur Codierung einer Datenquelle
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
durch Vertauschen der Headereinträge ohne Informationsverlust auf einzelne Headerdaten verzichtet und dadurch eine Speicherplatzreduktion in der Header datei erzielt wird.
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
durch Vertauschen der Headereinträge ohne Informationsverlust auf einzelne Headerdaten verzichtet und dadurch eine Speicherplatzreduktion in der Header datei erzielt wird.
34. Verfahren zur Codierung einer Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
zwei oder mehr nicht benachbarte Zeichen der Datenquelle auf ein neues Codezeichen abgebildet werden,
und daß in der Headerdatei zusätzlich zu den neuen Codezeichen eine Infor mation über die Abstände der nicht benachbarten Zeichen erfaßt wird.
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
zwei oder mehr nicht benachbarte Zeichen der Datenquelle auf ein neues Codezeichen abgebildet werden,
und daß in der Headerdatei zusätzlich zu den neuen Codezeichen eine Infor mation über die Abstände der nicht benachbarten Zeichen erfaßt wird.
35. Verfahren zur Codierung einer ersten Datenquelle,
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf ein neues Kombinationszeichen abbildet,
wobei der Codierer für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Einzelzeichen der ersten Datenquelle auf das neue Kom binationszeichen abgebildet ist, nach einem vorgegebenen Kriterium ermittelt, ob ein Codierungsgewinn vorliegt,
dadurch gekennzeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Einzelzeichen der ersten Daten quelle zu einem Kombinationszeichen der zweiten Datenquelle wird in einer weiteren Datenquelle das Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt,
dann wird nach dem vorgegebenen Kriterium untersucht, ob ein Codierungs gewinn für die weitere Datenquelle vorliegt,
und, falls ein Codierungsgewinn eintritt, wird eine Auflösung des Kombina tionszeichens in die Einzelzeichen der ersten Datenquelle vorgenommen.
mit einem Codierer, der eine Folge von Zeichen der ersten Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf ein neues Kombinationszeichen abbildet,
wobei der Codierer für eine zweite Datenquelle, bei der eine Gruppe von zwei oder mehr Einzelzeichen der ersten Datenquelle auf das neue Kom binationszeichen abgebildet ist, nach einem vorgegebenen Kriterium ermittelt, ob ein Codierungsgewinn vorliegt,
dadurch gekennzeichnet, daß die Codierung folgenden Zusatzschritt umfaßt:
nach einer erfolgten Zusammenfassung von Einzelzeichen der ersten Daten quelle zu einem Kombinationszeichen der zweiten Datenquelle wird in einer weiteren Datenquelle das Kombinationszeichen durch seine ursprünglichen Einzelzeichen ersetzt,
dann wird nach dem vorgegebenen Kriterium untersucht, ob ein Codierungs gewinn für die weitere Datenquelle vorliegt,
und, falls ein Codierungsgewinn eintritt, wird eine Auflösung des Kombina tionszeichens in die Einzelzeichen der ersten Datenquelle vorgenommen.
36. Verfahren zur Codierung einer Datenquelle
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
durch Vertauschen der Headereinträge ohne Informationsverlust auf einzelne Headerdaten verzichtet und dadurch eine Speicherplatzreduktion in der Header datei erzielt wird.
mit einem Codierer, der eine Folge von Zeichen der Datenquelle durch referenzierende Datenkomprimierung teilweise oder vollständig auf neue Codezeichen abbildet,
und mit einer Zieldatei zur Speicherung einer die neuen Codezeichen enthal tenden komprimierten Datenquelle,
einschließlich einer Headerdatei, die aus Einträgen von zwei oder mehr zu kombinierenden Zeichen besteht,
dadurch gekennzeichnet, daß
durch Vertauschen der Headereinträge ohne Informationsverlust auf einzelne Headerdaten verzichtet und dadurch eine Speicherplatzreduktion in der Header datei erzielt wird.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1996153133 DE19653133C2 (de) | 1996-12-19 | 1996-12-19 | System und Verfahren zur pre-entropischen Codierung |
PCT/EP1997/007209 WO1998027657A1 (de) | 1996-12-19 | 1997-12-19 | System und verfahren zur pre-entropischen codierung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1996153133 DE19653133C2 (de) | 1996-12-19 | 1996-12-19 | System und Verfahren zur pre-entropischen Codierung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19653133A1 true DE19653133A1 (de) | 1998-06-25 |
DE19653133C2 DE19653133C2 (de) | 1998-11-05 |
Family
ID=7815435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1996153133 Expired - Fee Related DE19653133C2 (de) | 1996-12-19 | 1996-12-19 | System und Verfahren zur pre-entropischen Codierung |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE19653133C2 (de) |
WO (1) | WO1998027657A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010038A1 (en) * | 1999-08-02 | 2001-02-08 | The V.E. Group, Llc | System, method and algorithm for the optimization of entropy for lossless compression |
US7111094B1 (en) | 1999-08-02 | 2006-09-19 | Shin-Ping Liu | System, method and algorithm for the optimization of entropy for lossless compression |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5006849A (en) * | 1989-07-26 | 1991-04-09 | Astro, Inc. | Apparatus and method for effecting data compression |
US4955066A (en) * | 1989-10-13 | 1990-09-04 | Microsoft Corporation | Compressing and decompressing text files |
-
1996
- 1996-12-19 DE DE1996153133 patent/DE19653133C2/de not_active Expired - Fee Related
-
1997
- 1997-12-19 WO PCT/EP1997/007209 patent/WO1998027657A1/de active Application Filing
Non-Patent Citations (1)
Title |
---|
VÖLZ, Horst: Grundlagen der Information. Berlin:d Akademie-Verlag, 1991, S.19,22-31, 36,37,95,96,113-119,460-464 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010038A1 (en) * | 1999-08-02 | 2001-02-08 | The V.E. Group, Llc | System, method and algorithm for the optimization of entropy for lossless compression |
US7111094B1 (en) | 1999-08-02 | 2006-09-19 | Shin-Ping Liu | System, method and algorithm for the optimization of entropy for lossless compression |
Also Published As
Publication number | Publication date |
---|---|
DE19653133C2 (de) | 1998-11-05 |
WO1998027657A1 (de) | 1998-06-25 |
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 | |
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 | |
DE69725215T2 (de) | Verfahren und Vorrichtung zur Komprimierung und Dekomprimierung von Schrifttypen | |
DE10196890B4 (de) | Verfahren zum Ausführen einer Huffman-Decodierung | |
DE19606178C2 (de) | Verfahren zum Komprimieren einer Anordnung von Pixelwerten und zum Dekomprimieren einer Anordnung von Pixelwerten aus einem komprimierten Datensatz | |
DE60033184T2 (de) | Verfahren und Vorrichtung zur Datenkomprimierung von Netzwerkdatenpaketen unter Verwendung von paketweisen Hash Tabellen | |
DE69916661T2 (de) | Codebuchkonstruktion für entropiekodierung von variabler zu variabler länge | |
DE60127695T2 (de) | Verfahren zur komprimierung von datenpaketen | |
DE69833094T2 (de) | Verfahren und Vorrichtung zur adaptiven Datenkompression mit höherem Kompressionsgrad | |
DE69834695T2 (de) | Verfahren und Vorrichtung zur Datenkompression | |
EP1550219B1 (de) | Verfahren und anordnung zur arithmetischen enkodierung und dekodierung von binären zuständen sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium | |
DE60107964T2 (de) | Vorrichtung zur kodierung und dekodierung von strukturierten dokumenten | |
EP0260748A2 (de) | Verfahren und Schaltungsanordung zur Bitratenreduktion | |
EP1500281A2 (de) | Kodierung von transformations-koeffizienten in bild- oder videokodierern | |
DE102006062062B4 (de) | Komprimierung von Lieddaten und Komprimierer/Dekomprimierer | |
DE10196847B4 (de) | Ein Verfahren zum Erzeugen von Huffman-Code-Längeninformationen | |
DE10049571C1 (de) | Verfahren und Anordnung zum Übertragen eines Vektors | |
EP1286471B1 (de) | Verfahren zur Kompression von Daten | |
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 | |
DE102006047465A1 (de) | Verfahren und Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik | |
DE102006028469B4 (de) | Adaptives Quantisiertes Codierungsverfahren | |
DE4432436C2 (de) | Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |