[go: up one dir, main page]

DE102006028469B4 - Adaptives Quantisiertes Codierungsverfahren - Google Patents

Adaptives Quantisiertes Codierungsverfahren Download PDF

Info

Publication number
DE102006028469B4
DE102006028469B4 DE200610028469 DE102006028469A DE102006028469B4 DE 102006028469 B4 DE102006028469 B4 DE 102006028469B4 DE 200610028469 DE200610028469 DE 200610028469 DE 102006028469 A DE102006028469 A DE 102006028469A DE 102006028469 B4 DE102006028469 B4 DE 102006028469B4
Authority
DE
Germany
Prior art keywords
length
codeword
symbol
symbols
code
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.)
Expired - Fee Related
Application number
DE200610028469
Other languages
English (en)
Other versions
DE102006028469A1 (de
Inventor
Iakov Nekritch
Marek Karpinski
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.)
Karpinski Marek Prof Dr
Original Assignee
Karpinski Marek Prof Dr
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 Karpinski Marek Prof Dr filed Critical Karpinski Marek Prof Dr
Priority to DE200610028469 priority Critical patent/DE102006028469B4/de
Publication of DE102006028469A1 publication Critical patent/DE102006028469A1/de
Application granted granted Critical
Publication of DE102006028469B4 publication Critical patent/DE102006028469B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

Verfahren für die adaptive präfix-freie Codierung eines Datenstroms über einem Alphabet aus n Elementen mit zwei Parameter p und q, wobei p größer als q ist, gekennzeichnet dadurch, dass die Codewortlängen aufgrund von der Länge des bereits codierten Teils des Textes geteilt durch Parameter q und aufgerundet, weiterhin quantisierte Textlänge genannt, sowie der Häufigkeit des Symbols im bereits codierten Teil des Textes geteilt durch Parameter q und abgerundet, weiterhin quantisierte Häufigkeit genannt, bestimmt werden, und weist auf:
– eine Liste R von bereits codierten Symbolen
– ein Verfahren A für die Aktualisierung der Länge des codierten Symbols
– ein Verfahren B, das den Code modifiziert, nachdem die Länge eines Symbols geändert wurde.

Description

  • Unsere Erfindung ist ein adaptives Verfahren für die präfixfreie Codierung. Die präfixfreie Codierung ist eine der am weitesten verbreiteten Kompressionsmethoden und findet in vielen Kompressionsprogrammen und Dateiformaten (z. B. gzip, JPEG, PNG usw.) ihre Anwendung.
  • Das Problem der statischen präfixfreien Codierung kann wie folgt formuliert werden: Gegeben ist ein Datenstrom S = s1...sm über dem Alphabet a1, a2, ..., an. Jedem Symbol ai ∈ A wird ein Codewort ci zugewiesen, so dass die Gesamtcodierungslänge möglichst klein ist. Man unterscheidet zwischen der statischen und der adaptiven präfixfreien Codierung. Bei der statischen Codierung wird der Datenstrom zweimal gelesen. Beim ersten Durchlauf durch die Daten werden die Häufigkeiten von Symbolen ermittelt. Wenn die Symbolhäufigkeiten bekannt sind, wird ein Code erzeugt. Beim zweiten Durchlauf werden die Symbole codiert. Ein optimaler statischer präfixfreier Code kann mit dem klassischen Huffman-Algorithmus erzeugt werden. Um den statischen Code zu erzeugen, benötigen die statische Verfahren die Häufigkeiten von allen Symbolen. Dies bedeutet, dass der Text S zweimal gelesen werden muss. Außerdem muss die Information über den Code mit dem codierten Datenstrom gespeichert werden.
  • Bei der adaptiven Codierung benutzt man den (optimalen) Code für den Datenstrom s1s2...si-1, um das Symbol si zu codieren. Der Vorteil von adaptiven Verfahren ist, dass die Datei nur einmal gelesen wird. Die Algorithmen für adaptive Huffman Codierung wurden z. B. von Faller, Gallager und Knuth sowie vom Vitter entwickelt. Die Laufzeit von diesen Algorithmen ist proportional zu M, wobei M die Anzahl der Bits in dem codierten Datenstrom ist.
  • Dieses Patent beschreibt ein Verfahren mit einer Laufzeit, die linear in m ist, wobei m die Anzahl der Symbole im Datenstrom S ist. Das vorgestellte Verfahren garantiert außerdem eine gute obere Schranke für die Länge des codierten Datenstroms.
  • Im folgenden Abschnitt beschreiben wir die allgemeine Struktur von adaptiven Kompressionsverfahren. Im Abschnitt 3 beschreiben wir kanonische Codes. Unsere Erfindung wird in den Abschnitten 4 und 5 erklärt.
  • 1 Adaptive Verfahren
  • Wir bezeichnen mit m die Länge des zu codierenden Datenstroms S = s1s2...sm und M bezeichnet die Codierungslänge, d. h. M ist die Anzahl der Bits, die wir benötigen, um den Datenstrom S zu codieren. Wir bezeichnen mit occ(a, i) die Häufigkeit des Symbol a in s1s2...si. Wir bezeichnen mit occ(a) = occ(a, m) die Häufigkeit des Symbols a in S. Mit (NYT) bezeichnen wir ein spezielles Symbol, das sich von allen Symbolen in S unterscheidet. Ein adaptives Codierungsverfahren besteht aus folgenden Schritten:
    • 1. Wir erzeugen einen präfixfreien Code für (NYT)s1s2...si-1. Der Code für (NYT)s1s2...si-1 wird in der Regel dadurch erzeugt, dass man den Code für (NYT)s1s2...si-2 modifiziert. Dazu kann man z. B. den Algorithmus von Gallager, Faller und Knuth (siehe [1]–[3]) verwenden, oder das hier beschriebene Verfahren.
    • 2. Falls das Symbol si bereits in s1s2...si-1 wenigstens einmal aufgetreten ist, wird das Codewort für si verwendet, um das Symbol si zu codieren.
    • 3. Falls si zum ersten mal in S1...si vorkommt, wird das Codewort für das spezielle Symbol (NYT) ausgegeben, gefolgt von einer Binärdarstellung des Indizes von si. Das Symbol (NYT) wird verwendet, um anzugeben, dass das nächste Symbol ein ”neues” Symbol ist.
  • Die Schritte 2 und 3 sind leicht zu implementieren. Unsere Erfindung beschäftigt sich hauptsächlich mit dem Schritt 1.
  • 2 Vorherige Verfahren
  • In diesem Abschnitt befassen wir uns mit anderen adaptiven Codierungsverfahren, die vor unserer Arbeit entwickelt wurden. Der so genannte FGK Algorithmus wurde unabhängig von Faller und Gallager entwickelt und von Knuth wesentlich verbessert. Dieser Algorithmus wird in den Arbeiten [1], [2] und [3] beschrieben. Der FGK Algorithmus ermöglicht uns, den optimalen Code für den bereits codierten Teil des Datenstroms (NYT)s1...si-1 aufrechtzuerhalten. Das Verfahren von Vitter [5] basiert ebenfalls darauf, dass man den optimalen Code für den (NYT)s1...si-1 aufrechterhält. Dadurch, dass man einen speziellen optimalen Code verwendet, wird in dem Verfahren von Vitter [5] eine bessere obere Schranke für die Länge des codierten Datenstroms erreicht. Beide Algorithmen ermitteln die Codewortlänge des nächsten zu codierenden Symbols anhand von Häufigkeiten von allen Symbolen in dem bereits codierten Teil des Textes.
  • Ein weiteres relevantes Verfahren wurde von Turpin und Moffat entwickelt und wird in der Arbeit [4] beschrieben. Das Verfahren basiert darauf dass man den optimalen Code anhand von approximierten Häufigkeiten der Symbole ermittelt. Da in dem Verfahren von Turpin und Moffat ebenfalls ein optimaler Code benutzt wird, wird die Länge des nächsten zu codierenden Symbols anhand von approximierten Häufigkeiten von allen Symbolen ermittelt.
  • In unserem Verfahren hängt die Länge des nächsten zu codierenden Symbols nur von der approximierten Häufigkeit dieses Symbols in dem bereits codierten Teil des Datenstroms und von der approximierten Länge des bereits codierten Teils des Datenstroms ab. Dies unterscheidet unseren Algorithmus von den Algorithmen, die in [1, 2, 3, 5, 4] beschrieben werden.
  • Ein weiteres wichtiges Merkmal unseres Verfahrens besteht darin, dass in unserem Verfahren die Codewortlänge des nächsten zu codierenden Symbols anhand approximierten Häufigkeit und approximierten Länge des Textes ermittelt wird. Die Idee, approximierte Häufigkeiten anstatt exakten Häufigkeiten zu verwenden, wurde vorher nur in der Arbeit von Turpin und Moffat [4] verwendet. In ihrem Verfahren wird aber eine andere Approximationsformel verwendet: anstatt Symbolhäufigkeit f wird die größte Zahl f' < f verwendet, so dass f' = 2r/k für ein Parameter k und r eine beliebige ganze Zahl ist. In unserem Verfahren werden die Häufigkeit des Symbols und die Länge des Textes einfach durch Parameter q geteilt und abgerundet (quantisiert).
  • 3 Kanonische Codes
  • Kanonische Codes sind eine Klasse von präfix-freien Codes. Ein kanonischer Code hat die sog. numerical sequence property; Codewörter mit der gleichen Länge sind Binärdarstellungen von aufeinanderfolgenden ganzen Zahlen. Ein Beispiel von einem kanonischen Code kann man in der 1 sehen.
  • Sei lmax die maximale Codewortlänge, und sei ni, i = 1, ..., lmax, die Anzahl der Codewörter mit Länge i. Mit base[i] bezeichnen wir das erste (kleinste) Codewort der Länge i. Man kann base[i] nach der folgenden rekursiven Formel erzeugen: base[0] = 0, base[i] = (base[i – 1] + ni-1) × 2. Das j-te Codewort der Länge i ist die Binärdarstellung der Zahl base[i] + j – 1. Daher, falls die Länge l des Codewortes für das Symbol a und der Index von a unter allen Codewörtern der Länge l bekannt sind, kann man das Codewort für das Symbol a in konstante Zeit finden. Z. B. für den Code in 1 ist n1 = n2 = 0, n3 = 2, n4 = 6, und n5 = 8. Dann ist base[1] = base[2] = 0, base[3] = 0, base[4] = 4 und base[5] = 20. Das Codewort für das Symbol a6 ist das 4-te Codewort der Länge 4. Für a6 ist das Codewort also base[4] + (4 – 1) = 4 + 3 = 7 oder (0111)2 in Binärdarstellung. Somit ist der kanonische Code durch Parameter ni, i = 1, ..., lmax, eindeutig definiert.
  • 4 Codierung mit Quantisierung
  • In unserem Verfahren werden die Codewortlängen (und Parameter ni) aufgrund der quantisierten Häufigkeiten der Symbole festgestellt. Sei occq(a, i) = ⌊occ(a, i)/q⌋ und Pq(i) = ⌈i/q⌉. Das Parameter q > 1 wird im folgenden Quantisierungsparameter genannt. Angenommen, dass der Datenstrom S1s2...si-1 bereits codiert wurde. Die Codewortlänge
    Figure 00040001
    für das nächste Symbol si erfüllt die folgende Bedingung:
    Figure 00040002
  • Betrachten wir den Fall occ(si, i – 1 > q. Der Zähler des Bruchs
    Figure 00040003
    wird inkrementiert nachdem q neue Symbole codiert wurden. Wenn occq(si, i – 1) inkrementiert wurde, wird die Codewortlänge für das Symbol si eventuell geändert. Wenn dies der Fall ist, wird der Code modifiziert. Man kann das Quantisierungparameter q so wählen, dass der Code in konstanter amortisierter Zeit modifiziert werden kann. Der Nenner des Bruchs
    Figure 00040004
    wird inkrementiert, nachdem q beliebige Symbole codiert wurden. Falls aber Pq(i) inkrementiert wurde, können sich die Codewortlängen von mehreren Symbolen ändern. Um die Invariante
    Figure 00040005
    zu erhalten, werden alle Symbole si in einer Liste R gespeichert. Nachdem q Symbole codiert wurden, werden die ersten q Symbole aus der Liste R entfernt. Für jedes entfernte Symbol ar wird seine Codewortlänge aktualisiert. Danach werden die q entfernten Symbole am Ende der Liste R eingefügt und der Code C wird entsprechend modifiziert. Man kann das Parameter q so wählen, dass der Code C in Zeit, die linear in q ist, aktualisiert werden kann (also in konstanter amortisierter Zeit).
  • 5 Adaptives Quantisiertes Codierungsverfahren
  • In diesem Abschnitt geben wir eine detaillierte Beschreibung des Verfahrens, mit dem man den quantisierten Code aktualisieren kann.
  • Für jedes Symbol a speichern wir die Länge len(a) des Codewortes für a und den Index ind(a) des Codewortes für a unter allen Codewörtern mit der Länge len(a). Alle Symbole a mit occ(a, i) > 0 (alle Symbole, die in dem bereits codierten Teil des Textes wenigstens einmal vorkommen) werden in der Liste R gespeichert. Alle Symbole, deren Codewörter die Länge l haben, werden in einer Liste C[l] gespeichert.
  • Falls die Codewortlänge von einem Symbol a von l1 auf l2 geändert wird, werden die folgenden Operationen durchgeführt. Sei ind(a) = i, sei a' das letzte Codewort der Länge l1. Der Index von a' wird von
    Figure 00050001
    auf i geändert. Wir entfernen a' aus C[l1] und ersetzen a mit a' in C[l1],
    Figure 00050002
    wird um 1 gesenkt. Somit wird a' zum i-ten Codewort mit der Länge l1 (d. h. das neue Codewort für a' ist nun das alte Codewort für a). Das neue Codewort für a ist das letzte Codewort mit der Länge l2. Wir setzen ind(a) auf
    Figure 00050003
    inkrementieren
    Figure 00050004
    und fügen a am Ende von C[l2] ein. Alle diese Operationen können schnell implementiert werden. Wenn die Werte von
    Figure 00050005
    aktualisiert wurden, kann man das Array base[] aktualisieren. Zum Beispiel, betrachten wir den Code in der 1 und nehmen an, dass die Länge des Codewortes für das Symbol a6 auf 5 geändert wurde. Wir dekrementieren n4 und ersetzen a6 durch a8. Der Index von a8 wird auf 4 gesetzt (das neue Codewort für a8 ist (0111)2). Das neue Codewort für a6 ist das letzte Codewort der Länge 5: ind[a6] = 9, len[a6] = 5 und n5 = 9. Das Array base[] wird entsprechend geändert: base[5] = 18 = (10010)2. Das neue Codewort für a6 ist also base[5] + ind[a6] – 1 = (11010)2.
  • Der Algorithmus codiert den Datenstrom s1s2...sm. Nachdem das Symbol si codiert wurde, wird der Code wie folgt modifiziert:
    • 1. Falls das Symbol si zum ersten Mal vorkommt, wird die Länge von si auf ⌈log(i + n + 1)⌉ gesetzt und si wird am Ende der Liste R eingefügt.
    • 2. Falls occ(si, i – 1) > 0 und occ(si, i) ≡ 0 (mod q) (falls si mehr als einmal im s1...si vorkommt und die Häufigkeit von si durch q teilbar ist), wird das Symbol si aus der Liste R entfernt und die Länge von si auf
      Figure 00050006
      gesetzt. Der Code wird wie oben beschrieben aktualisiert.
    • 3. Sei p ein Parameter. Falls i > 0 und i ≡ 0 (mod q), werden die erste p Elemente
      Figure 00050007
      aus der Liste R entfernt. Die Codewortlängen für die entfernten Symbole werden aktualisiert. Falls
      Figure 00050008
      wird die Länge des Codewortes für das Symbol
      Figure 00050009
      auf
      Figure 00050010
      gesetzt. Falls
      Figure 00050011
      wird die Länge des Codewortes für das Symbol
      Figure 00060001
      auf ⌈log(i + n + 1)⌉ gesetzt. Zum Schluss werden die entfernten Symbole am Ende der Liste R eingefügt.
  • Man kann zeigen, dass die obere Schranke für die Anzahl der Bits, die man braucht, um mit diesem Verfahren einen Datenstrom S zu codieren, (H + 1)m + O(nlog2m) ist, falls der Parameter q = logm ist. In dieser Formel ist
    Figure 00060002
    die empirische Entropie.
  • Der beschriebene Algorithmus kann auch in der Praxis effizient eingesetzt werden.
  • Literatur
    • [1] N. Faller, ”An adaptive system for data compression”, in Record of the 7th Asilomar. Conference on Circuits, Systems, and Computers (1973), 593–597.
    • [2] R. G. Gallager, ”Variations on a Theme by Huffman”, IEEE Trans. on Information Theory 24(1978), 668–674.
    • [3] D. E. Knuth, ”Dynamic Huffman Coding”, J. Algorithms 6(1985), 163–180.
    • [4] A. Turpin, A. Moffat, ”On-line Adaptive Canonical Prefix Coding with Bounded Compression Loss”, IEEE Trans. on Information Theory, 47(2001), 88–98.
    • [5] J. S. Vitter, ”Design and Analysis of Dynamic Huffman Codes”, J. ACM 34(1987), 825–845.

Claims (14)

  1. Verfahren für die adaptive präfix-freie Codierung eines Datenstroms über einem Alphabet aus n Elementen mit zwei Parameter p und q, wobei p größer als q ist, gekennzeichnet dadurch, dass die Codewortlängen aufgrund von der Länge des bereits codierten Teils des Textes geteilt durch Parameter q und aufgerundet, weiterhin quantisierte Textlänge genannt, sowie der Häufigkeit des Symbols im bereits codierten Teil des Textes geteilt durch Parameter q und abgerundet, weiterhin quantisierte Häufigkeit genannt, bestimmt werden, und weist auf: – eine Liste R von bereits codierten Symbolen – ein Verfahren A für die Aktualisierung der Länge des codierten Symbols – ein Verfahren B, das den Code modifiziert, nachdem die Länge eines Symbols geändert wurde.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jedes mindestens einmal codiertes Element des Eingabealphabets seine Codewortlänge und sein Index unter allen Codewörtern mit der gleichen Länge bekannt sind, wobei die Indizes der Symbole mit der gleichen Codewortlänge eine mit Eins anfangende Folge von aufeinanderfolgenden ganzen Zahlen bilden.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedes neues Codewort mit der Länge l, das in den Code eingefügt wird, zum letzten Codewort mit der Länge l wird, d. h. das neue Codewort hat den größten Index unter allen Codewörtern mit der Länge l.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das erste Codewort mit der Länge 1 den Wert 0 hat und das erste Codewort mit der Länge l als das Doppelte der Summe von dem ersten Codewort mit der Länge l – 1 und der Anzahl der Codewörter mit der Länge l – 1 bestimmt wird.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Liste R von bereits codierten Elementen des Eingabealphabets wie folgt regelmäßig aktualisiert wird: nachdem eine Folge von q Eingabesymbolen codiert wurde, werden die erste p Elementen aus der Liste R entfernt und die Codewortlängen der entfernten Symbole werden aktualisiert; die Codewortlänge eines jeden entfernten Symbols a wird wie folgt geändert: – Falls die Häufigkeit von a kleiner oder gleich q ist und i Eingabesymbolen bereits codiert wurden, wird die Codewortlänge von a auf die kleinste ganze Zahl k gesetzt, so dass die k-te Zweierpotenz mindestens so groß wie die Summe von i und n um eins inkrementiert ist. – Falls die Häufigkeit von a größer als q ist, wird die Codewortlänge von a auf die kleinste ganze Zahl k gesetzt, so dass die k-te Zweierpotenz mindestens so groß wie das Verhältnis von der Summe der quantisierten Textlänge und n zur quantisierten Häufigkeit ist. Abschließend werden die Symbole am Ende der Liste R wieder eingefügt.
  6. Verfahren B entsprechend Anspruch 1, dadurch gekennzeichnet, dass bei Veränderung der Länge des Codewortes für ein Symbol a von l1 auf l2 die folgende Operationen durchführt werden: – dem Symbol mit dem größten Codewort der Länge l1 wird der Index des alten Codewortes für a zugewiesen – das neue Codewort des Symbols a wird zum letzten Codewort mit der Länge l2 – die Anzahl der Codewörter mit Längen l1 und l2 wird entsprechend geändert.
  7. Verfahren A entsprechend Anspruch 1, gekennzeichnet dadurch, dass nach der Codierung des i-ten Symbols in dem Datenstrom, weiterhin s genannt, die folgende Operationen durchführt werden: – falls s zum ersten Mal in dem Datenstrom vorkommt, wird die Codewortlänge für s auf die kleinste ganze Zahl k gesetzt, so dass die k-te Zweierpotenz mindestens so groß wie die Summe von i und n um eins inkrementiert ist. – falls die Häufigkeit von s ein mehrfaches von q ist, wird die Codewortlänge von s auf die kleinste ganze Zahl k gesetzt, so dass die k-te Zweierpotenz mindestens so groß wie das Verhältnis von der Summe der quantisierten Textlänge und n zur quantisierten Häufigkeit ist.
  8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Code vor dem Anfang der Codierung leer ist und keine Codewörter enthält.
  9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein neues Codewort mit der Länge l, das in den Code hingefügt wird, zum letzten Codewort mit der Länge l wird.
  10. Verfahren nach Anspruch 1, wobei das allererste Symbol in dem Datenstrom als eine Binärdarstellung des Indexes von diesem Symbol im Eingabealphabet codiert wird.
  11. Verfahren nach Anspruch 10, wobei nachdem das allererste Symbol s codiert wurde, werden die Codewörter für Symbole (NYT) und das Symbol s in den Code eingefügt.
  12. Verfahren nach Anspruch 1, bei dem ein Symbol a das zum ersten mal codiert wird, aber nicht das allererste Symbol in dem Datenstrom ist, als ein spezielles Symbol (NYT) gefolgt von dem Index von a in dem Eingabealphabet codiert wird.
  13. Verfahren entsprechend Anspruch 1, bei dem ein nächstes zu codierendes Symbol a, das im bereits codierten Teil des Datenstroms wenigstens einmal vorkam, mit dem Codewort, das dem Symbol a entspricht, codiert wird.
  14. Verfahren nach Anspruch 13, bei dem das Codewort für ein Symbol mit der Länge l und dem Index i als die Binärdarstellung der Summe von dem ersten Codewort mit der Länge l und des Indexes i um 1 decrementiert bestimmt wird.
DE200610028469 2006-06-21 2006-06-21 Adaptives Quantisiertes Codierungsverfahren Expired - Fee Related DE102006028469B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610028469 DE102006028469B4 (de) 2006-06-21 2006-06-21 Adaptives Quantisiertes Codierungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610028469 DE102006028469B4 (de) 2006-06-21 2006-06-21 Adaptives Quantisiertes Codierungsverfahren

Publications (2)

Publication Number Publication Date
DE102006028469A1 DE102006028469A1 (de) 2007-12-27
DE102006028469B4 true DE102006028469B4 (de) 2010-12-02

Family

ID=38721040

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610028469 Expired - Fee Related DE102006028469B4 (de) 2006-06-21 2006-06-21 Adaptives Quantisiertes Codierungsverfahren

Country Status (1)

Country Link
DE (1) DE102006028469B4 (de)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
FALLER, N. 1973. An adaptive system for data compression. In Record of the 7th Asilomar Conference on Circuits, Systems and Computers (Pacific Grove, Calif., Nov.). Naval Postgraduate School, Monterey, Calif., pp. 593-597 *
GALLAGER, R.: Variations on a Theme y Huffman. In: IEEE transaction on information theory, Vol. It-24, No. 6, November 1978, pp. 668-674 *
KNUTH, D.E.: Dynamic Huffman Coding. In: J. Algorithms 6, 1985, pp. 163-180 *
TURPIN, A., MOFFAT, A.: On-Line Adaptive Canonical Prefix Coding with Bounded Compression Loss. In: IEEE transaction on information theory, Vol. 47, No. 1, January 2001, pp. 88-98 *
TURPIN, A., MOFFAT, A.: On-Line Adaptive Canonical Prefix Coding with Bounded Compression Loss. In: IEEE transaction on information theory, Vol. 47, No. 1, January 2001, pp. 88-98 GALLAGER, R.: Variations on a Theme y Huffman. In: IEEE transaction on information theory, Vol. It-24, No. 6, November 1978, pp. 668-674 VITTER, J.S.: Design and analysis of dynamic Huffman coding. Proceedings of the 26th Annual IEEE Symposium on Foundations of Computer Science, 1985, IEEE, New York, pp. 293-302 KNUTH, D.E.: Dynamic Huffman Coding. In: J. Algorithms 6, 1985, pp. 163-180 FALLER, N. 1973. An adaptive system for data compression. In Record of the 7th Asilomar Conference on Circuits, Systems and Computers (Pacific Grove, Calif., Nov.). Naval Postgraduate School, Monterey, Calif., pp. 593-597
VITTER, J.S.: Design and analysis of dynamic Huffman coding. Proceedings of the 26th Annual IEEE Symposium on Foundations of Computer Science, 1985, IEEE, New York, pp. 293-302 *

Also Published As

Publication number Publication date
DE102006028469A1 (de) 2007-12-27

Similar Documents

Publication Publication Date Title
DE69833094T2 (de) Verfahren und Vorrichtung zur adaptiven Datenkompression mit höherem Kompressionsgrad
DE69527679T2 (de) Verfahren zur Datenkomprimierung und -Dekomprimierung
DE60129643T2 (de) Verfahren und Gerät für die Ermittlung vom längsten Prefixzusammenbringen in einem Kommunikationsnetz
DE10196890B4 (de) Verfahren zum Ausführen einer Huffman-Decodierung
EP1467491B1 (de) Arithmetische Codierung von Transformationskoeffizienten
DE69425769T2 (de) Kodierung von digitalen Signalen
EP0260748B1 (de) Verfahren und Schaltungsanordung zur Bitratenreduktion
DE19506164C2 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE4340591C2 (de) Datenkompressionsverfahren unter Verwendung kleiner Wörterbücher zur Anwendung auf Netzwerkpakete
DE69802520T2 (de) Verfahren und vorrichtung zur verlustfreien datenkompression
DE69522497T2 (de) System und Verfahren zur Datenkompression
DE69026292T2 (de) Methode zur Bilddatenkodierung
EP1550219B1 (de) Verfahren und anordnung zur arithmetischen enkodierung und dekodierung von binären zuständen sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE2614916A1 (de) Konverter zur codeumwandlung
DE68926676T2 (de) Verfahren und gerät zur statistischen kodierung von digitalen daten
DE68918590T2 (de) Gerät zur dekodierung von mit variabler länge kodierten daten.
DE10049571C1 (de) Verfahren und Anordnung zum Übertragen eines Vektors
DE60012717T2 (de) Bildcodierung unter verwendung einer umordnung von wavelet-koeffizienten
DE102006028469B4 (de) Adaptives Quantisiertes Codierungsverfahren
DE69530470T2 (de) Verfahren und vorrichtung für einen speziellen und effizienten gebrauch einer datenstruktur zur datenkompression
DE19653133C2 (de) System und Verfahren zur pre-entropischen Codierung
DE10131801A1 (de) Verfahren zur Datenkompression und Navigationssystem
DE19907729C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Datenstroms aus Codeworten variabler Länge und Verfahren und Vorrichtung zum Lesen eines Datenstroms aus Codeworten variabler Länge
EP2076964A1 (de) Verfahren und vorrichtung zur kompression und dekompression digitaler daten auf elektronischem wege unter verwendung einer kontextgrammatik
DE4432436C2 (de) Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R020 Patent grant now final

Effective date: 20110302

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120103