DE69925774T2 - Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren - Google Patents

Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren Download PDF

Info

Publication number
DE69925774T2
DE69925774T2 DE69925774T DE69925774T DE69925774T2 DE 69925774 T2 DE69925774 T2 DE 69925774T2 DE 69925774 T DE69925774 T DE 69925774T DE 69925774 T DE69925774 T DE 69925774T DE 69925774 T2 DE69925774 T2 DE 69925774T2
Authority
DE
Germany
Prior art keywords
probability
symbol
occurrence
symbols
coding
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 - Lifetime
Application number
DE69925774T
Other languages
English (en)
Other versions
DE69925774D1 (de
Inventor
Taichi Chiyoda-ku Yanagiya
Tomohiro Chiyoda-ku Kimura
Ikuro Chiyoda-ku Ueno
Masayuki Chiyoda-ku Yoshida
Fumitaka Chiyoda-ku Ono
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of DE69925774D1 publication Critical patent/DE69925774D1/de
Publication of DE69925774T2 publication Critical patent/DE69925774T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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
    • H03M7/4006Conversion to or from arithmetic code

Landscapes

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

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf ein Codier- bzw. Decodierverfahren.
  • Hintergrund
  • Adaptives Codieren ist ein bekanntes Verfahren zum wirksamen Codieren von Datensignalen. Eine adaptive Codiervorrichtung codiert ein Datensignal, während sie die Auftrittswahrscheinlichkeit des Objekts der Codierung oder Decodierung untersucht. Daher vermeidet das adaptive Codieren einen verringerten Codierwirkungsgrad.
  • Eine adaptive Codier- und Decodiervorrichtung ist in fünf Artikeln beschrieben, betreffend "Q-Coder adaptive binary arithmetic coder", und erschienen im IBM Journal of Research and Development, Band 32, Nr. 6, November 1988, Seiten 717–774. Zusätzlich ist das Prinzip eines arithmetischen Codierers und Decodierers mit Entropiecodier- und -Decodiermitteln beschrieben im US-Patent 5 059 976. 1 dieses Patents, hier als 12 wiedergegeben, illustriert ein Beispiel, bei dem das binäre Symbol 001 (Sequenzlänge 3) durch einen arithmetischen Codierer codiert wird. Dieses Codieren wird in den folgenden Absätzen beschrieben.
  • Beim Codieren einer Markov-Informationsquelle wird ein Nummernliniendarstellungs-Codiersystem verwendet. Bei diesem System wird eine Sequenz von Symbolen auf Nummernlinien von 0.00 bis 1.0 kartiert und hat Koordinaten, die als Codewörter codiert sind, die beispielsweise in einem binären Ausdruck dargestellt sind. 12 ist ein begriffliches Diagramm des Nummernliniendarstellungssystems. Aus Gründen der Einfachheit ist eine speicherlose Zweipegel-Informationsquelle gezeigt. Die Auftrittswahrscheinlichkeit für "1" ist auf r gesetzt und die Auftrittswahrscheinlich für "0" ist auf 1 – r gesetzt. Wenn eine Ausgangssequenzlänge auf 3 gesetzt ist, werden die Koordinaten von jedem der am weitesten rechten C(000) bis C(111), dargestellt als ein binärer Ausdruck, an der Stelle abgeschnitten, die eine Unterscheidung von anderen ermöglicht, und ist definiert als ihr jeweiliges Codewort. Das Decodieren ist möglich auf einer Empfangsseite, indem derselbe Vorgang wie auf der Sendeseite durchgeführt wird.
  • In einer derartigen Sequenz sind das Kartierungsintervall Ai und die Koordinaten Ci des unteren Endes der Symbolsequenz zur Zeit i wie folgt gegeben:
    Wenn das Ausgangssymbol ai gleich 0 ist (wahrscheinlicheres Symbol: nachfolgend als MPS bezeichnet), Ai = (1 – r)Ai-1 und Ci = Ci-1 Wenn das Ausgangssymbol ai gleich 1 ist (weniger wahrscheinliches Symbol: nachfolgend LPS bezeichnet), Ai = rAi-1 und Ci = Ci-1 + (1 – r)Ai-1
  • Wie in "An overview of the basic principles of the Q-Coder adaptive binary arithmetic coder", IBM Journal of Research and Development, Band 32, Nr. 6, November 1988, Seiten 717–763, beschrieben ist, wird, um die Anzahl von Berechnungen wie Multiplikationen zu verringern, ein Satz von festen Werten erzeugt und ein bestimmter Wert wird aus diesen ausgewählt, nicht notwendigerweise rAi-1 berechnend.
  • D.h., wenn rAi-1 des vorhergehenden Ausdrucks auf S gesetzt wird, wenn ai = 0, Ai = Ai-1 – S C1 = Ci-1 wenn ai = 1 Ai = S Ci = Ci-1 + (Ai-1 – S)
  • Jedoch muss in diesem Fall, wenn Ai-1 aufeinander folgend kleiner wird, S ebenfalls kleiner sein. Um die Berechnungsgenauigkeit aufrecht zu erhalten ist es erforderlich, Ai-1 mit der zweiten Potenz zu multiplizieren (nachfolgend Normierung genannt). Bei einem tatsächlichen Codewort wird angenommen, dass der fes te Wert zu allen Zeiten derselbe ist und multipliziert wird durch Potenzen von ½ zu der Zeit der Berechnung (d.h., um ein Bit verschoben).
  • Wenn ein konstanter Wert für S verwendet wird, wie vorstehend beschrieben ist, tritt ein Problem auf, wenn insbesondere S groß ist und ein normierter Wert Ai-1 relativ klein ist. Ein Beispiel folgt.
  • Wenn Ai-1 etwas über 0,5 ist, ist Ai sehr klein, wenn ai ein MPS ist, und ist sogar kleiner als der gegebene Bereich, wenn ai ein LPS ist. D.h., trotz der Tatsache, dass die Auftrittswahrscheinlichkeit des MPS hoch ist, ist der dem MPS zugewiesene Bereich kleiner als der dem LPS zugewiesen, was zu einer Abnahme des Codierwirkungsgrads führt. Wenn angenommen wird, dass ein dem MPS zugewiesener Bereich immer größer als der dem LPS zugewiesene ist, da Ai-1 > 0,5, muss S 0,25 oder kleiner sein. Wenn daher Ai-1 gleich 1,0, r = 0,25 und wenn Ai-1 nahe 0,5 ist, ist r = 0,5, mit dem Ergebnis, dass die Auftrittswahrscheinlichkeit des LPS so betrachtet wird, dass sie zwischen ¼ und ½ während des Codierens variiert. Wenn diese Variation kleiner gemacht werden kann, kann ein zu einer Auftrittswahrscheinlichkeit proportionaler Bereich zugewiesen werden und eine Verbesserung des Codierwirkungsgrads kann erwartet werden.
  • Das US-Patent 5 025 258 beschreibt ein Verfahren zum Berechnen einer Auftrittswahrscheinlichkeit (Qe) auf der Grundlage der Anzahl der Male des Auftretens. Um den Qe des Symbols 1 anzunehmen, wendet das US-Patent 5 059 976 das Lernen in den Wahrscheinlichkeitsschätzmitteln an, synchronisiert mit der Renormierung in den Entropiecodiermitteln, was grundsätzlich unabhängig von den Wahrscheinlichkeitsschätzmitteln ist.
  • D.h., die Anpassungsfähigkeit an eine Änderung der Informationsquelle hängt vom Zufall ab, wie in 13 angezeigt ist.
  • Arithmetisches Codieren und Decodieren sind in den folgenden Druckschriften beschrieben:
    • (1) Langdon et al., "Compression of Black-White Images with Arithmetic coding", IEEE Transactions, Band Com-29, Nr. 6, Juni 1981, Seiten 858–867,
    • (2) US-Patent 4 633 490,
    • (3) Witten et al., "Arithmetic coding for Data Compression", Communcations of the ACM, Band 30, Nr. 6, Juni 1987, Seiten 520–540.
  • 11 ist ein Blockschaltbild einer adaptiven Codiervorrichtung und einer adaptiven Decodiervorrichtung. In 11 nimmt eine Wahrscheinlichkeitsschätzvorrichtung 30 eine Auftrittswahrscheinlichkeit eines Datenwertes für die Codierung an und erzeugt einen vorhergesagten Wert als einen Datenwert mit einer hohen Auftrittswahrscheinlichkeit. Wenn ein mehrwertiges Datensignal (nicht binäre Daten) eingegeben wird, analysiert eine Modellierungsvorrichtung 33 das Eingangssignal und klassifiziert es hinsichtlich seines Textes. In der Codiervorrichtung wandelt die Modellierungsvorrichtung 33 das eingegebene mehrwertige Datensignal in ein binäres Datensignal um.
  • In der Decodiervorrichtung analysiert eine Modellierungsvorrichtung 34 ein Ausgangssignal und klassifiziert es hinsichtlich seines Textes. Wenn ein mehrwertiges Datensignal (nicht binäre Daten) ausgegeben wird, wandelt eine Modellierungsvorrichtung 34 das eingegebene binäre Datensignal in ein mehrwertiges Datensignal um.
  • In der Codiervorrichtung wandelt eine Symbolbeurteilungsvorrichtung 38 das eingegebene Datensignal in binäres Symbol um, um eine Übereinstimmung oder Nichtübereinstimmung mit dem Datenwert für die Codierung zu zeigen, auf der Grundlage der binären Daten und eines vorhergesagten Wertes, der von einem Teil 36 eines Speichers empfangen wurde, wie nachfolgend beschrieben wird. Eine Entropiecodiervorrichtung 31 codiert den von der Symbolbeurteilungsvorrichtung ausgegebenen Datenwert auf der Grundlage der Wahrscheinlichkeit, die getrennt gebildet und von dem nachfolgend beschriebenen Qe-Speicher 37 geliefert wurde.
  • In der Decodiervorrichtung wandelt eine Datenbeurteilungsvorrichtung 39 ein von einer Entropiedecodiervorrichtung 32 empfangenes binäres Symbol in binäre Daten um auf der Grundlage des binären Symbols und eines vorhergesagten Wertes, der von einem Teil 36 eines Speichers in der Decodiervorrichtung empfangen wurde. Die Entropiedecodierung basiert auf der Wahrscheinlichkeit, die getrennt gebildet wurde und in einem Qe-Speicher in der Decodiervorrichtung gespeichert ist.
  • Die Struktur nach 11 hat getrennte Modellierungsvorrichtungen 33 und 34 in der Codier- und der Decodiervorrichtung. Diese Modellierungsvorrichtungen können eine allgemein bekannte Wahrscheinlichkeitsschätzvorrichtung 30 enthaltend eine Daten- und Symbolumwandlungs- und -Umkehrungsfunktion enthalten. In der beschriebenen Struktur werden keine Umwandlungs- und Umkehrungsfunktionen in den Modellierungsvorrich tungen 33 und 34 benötigt, wenn die Modellierungsvorrichtung binäre Signale empfangen.
  • Eine Zustandsnummer ist in einem Teil 35 eines Speichers als ein Index für die Auswahl eines Schätzwahrscheinlichkeitswertes (MPS oder LPS) für den Qe-Speicher 37 gespeichert. Ein arithmetischer Codierer und ein arithmetischer Decodierer sind in der Entropiecodiervorrichtung 31 bzw. der Entropiedecodiervorrichtung 32 enthalten. In der Codiervorrichtung nach 11 empfängt der Zustandsnummernspeicherteil 35 den Kontext von der Modellierungsvorrichtung 33. Der Speicherteil 36 speichert einen vorhergesagten Wert 36 auf der Grundlage des Kontextes und der Zustandsnummer. Der Qe-Speicher 37 erfasst einen Wahrscheinlichkeitsdarstellungswert (MPS oder LPS). Die Symbolbeurteilungsvorrichtung 38 erzeugt ein binäres Symbol, um eine Übereinstimmung oder Nichtübereinstimmung des Datenwertes für die Codierung auf der Grundlage der binären Daten und dem vorhergesagten Wert herzustellen. Der Wahrscheinlichkeitsdarstellungswert (LPS oder MPS) und das binäre Symbol werden zu der Entropiecodiervorrichtung 31 gesandt und die Entropiecodiervorrichtung 31 erzeugt als Antwort einen Code.
  • Für die Decodierung sendet die Entropiecodiervorrichtung 31 den Code zu einer Entropiedecodiervorrichtung 32. Die Entropiedecodiervorrichtung 32 empfängt einen Wahrscheinlichkeitsdarstellungswert (LPS oder MPS) von dem Qe-Speicher 37 und dem Eingangscode. Die Entropiedecodiervorrichtung 32 erzeugt ein binäres Symbol. Eine Datenbeurteilungsvorrichtung 39 empfängt einen vorhergesagten Wert von einem Teil 36 eines Speichers und das binäre Symbol von der Entropiedecodiervorrichtung 32 und erfasst binäre Daten auf der Grundlage des binären Symbols und des vorhergesagten Wertes.
  • Die Modellierungsvorrichtung 34 empfängt binäre Daten von der Datenbeurteilungsvorrichtung 39 und erfasst ein Datensignal auf der Grundlage der binären Daten. Darüber hinaus wandelt die Modellierungsvorrichtung 34 ein mehrwertiges Datensignal in ein binäres Datensignal um.
  • Wenn ein mehrwertiges Datensignal ausgegeben wird, wird das ausgegebene Datensignal analysiert und klassifiziert hinsichtlich seines Textes, und mehrwertiges Datensignal wird ausgegeben. Die Modellierungsvorrichtung 34 wandelt das binäre Datensignal um, um es zu decodieren. Der Speicher enthaltend den Zustandsnummernteil 35 und den Speicherteil 36 für den vorhergesagten Wert und der Qe-Speicher 37 der Codiervorrichtung sind dieselben wie auf der Seite der Decodierung. Darüber hinaus sind der Speicher enthaltend die Teile 35 und 36, der Qe-Speicher 37, die Symbolbeurteilungsvorrichtung 38 und die Datenbeurteilungsvorrichtung 39 in einer Figur und einem Flussdiagramm in den zuerst erwähnten Artikeln und in der TU-T Recommendation T. 82, "Information Technology-coded Representation of Picture and Audio information-Progressive Bi-Level Image Compression", Seiten 23–45, 1993, beschrieben.
  • Herkömmliche adaptive Wahrscheinlichkeitsschätzverfahren, die Zustandsübergänge verwendet, haben ein Problem dahingehend, dass das Wahrscheinlichkeitsschätzvermögen nicht ausreichend ist, da das Lernen in der Wahrscheinlichkeitsschätzvorrichtung mit der Renormierung in der Entropiecodiervorrichtung synchronisiert ist. Die Entropiecodiervorrichtung ist grundsätzlich unabhängig von der Wahrscheinlichkeitsschätzvorrichtung, so dass die Anpassungsfähigkeit an eine Änderung in der Informationsquelle vom Zufall abhängt.
  • Herkömmliche adaptive Wahrscheinlichkeitsschätzverfahren, die die Auftrittswahrscheinlichkeiten anhand von Auftrittszählungen von Daten oder Symbolen schätzen, haben ein Problem dahingehend, dass Teilung zum Berechnen einer Wahrscheinlichkeit und Multiplikation zum Teilen einer numerischen Linie bei der arithmetischen Codierung erforderlich ist und eine schwere Operationslast bewirkt.
  • Die US 5 363 099 offenbart eine Codier- und Decodiervorrichtung, die für die Verdichtung und Dehnung von Daten verwendet wird. Eine Zustandsmaschine mit mehreren Zuständen ist vorgesehen. Jeder Zustand hat zumindest ein Übergangspaar. Jedes Element des Übergangspaares weist null oder mehr Bits auf, die repräsentativ für den auszugebenden Kontaktcode und die Identifikation des nächsten Zustands, zu welchem zu gehen ist, auf. Das Übergangspaar reflektiert ein Ausgangssignal für eine Ja- und Nein-Antwort, die mit der Wahrscheinlichkeit der zu verdichtenden Daten verbunden ist, und ob die Daten in diese Wahrscheinlichkeit fallen. Insbesondere wird eine Erscheinungswahrscheinlichkeit eines Symbols berechnet auf der Grundlage der Anzahl von Malen, die das Symbol erscheint. Eine derartige Berechnung der Wahrscheinlichkeit wird durchgeführt unter Anwendung von Multiplikation oder Division, was rechenmäßig kostenaufwendig ist. Obere und untere Grenzschwellenwerte dienen zum Trennen von Zuständen, die mit entsprechenden Codiersymbolen assoziiert sind. Auf diese Weise wird der Wahrscheinlichkeitswert, der vorher berechnet wurde, dann mit dem oberen und dem unteren Grenzschwellenwert verwendet, um einen mit einem Symbol assoziierten Zustand zu identifizieren, so dass ein zu haltender Zustand ausgewählt wird durch Folgend der Übergänge zwischen den verschiedenen Zuständen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Codierverfahren und ein Decodierverfahren anzugeben, die einen Index bestimmen zur Auswahl eines zweckmäßigen Codierparameters gemäß einer Auftrittswahrscheinlichkeit, und die eine kleinere Operationslast erzeugen.
  • Gemäß einem Aspekt der Erfindung ist ein Codierverfahren gemäß Anspruch 1 vorgesehen.
  • Gemäß einem anderen Aspekt der Erfindung ist ein Decodierverfahren gemäß Anspruch 8 vorgesehen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Aufgaben und neuen Merkmale der Erfindung werden augenscheinlicher anhand der folgenden detaillierten Beschreibung, wenn diese in Verbindung mit den begleitenden Zeichnungsfiguren gelesen wird. Es ist jedoch ausdrücklich darauf hinzuweisen, dass die Zeichnung nur für den Zweck der Illustration ist und keine Definition der Grenzen der Erfindung sein soll.
  • 1 ist ein Blockschaltbild eines Codierverfahrens gemäß der vorliegenden Erfindung;
  • 2 ist ein Blockschaltbild einer Symbolzählvorrichtung gemäß der vorliegenden Erfindung;
  • 3 ist ein Flussdiagramm eines Codiervorgangs gemäß der vorliegenden Erfindung;
  • 4 zeigt eine Schwelle für Wahrscheinlichkeitswerte und Wahrscheinlichkeitsrepräsentationswerte für die Auswahl eines Wahrscheinlichkeitsrepräsentationswertes gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 ist ein Flussdiagramm für die Auswahl eines Wahrscheinlichkeitsrepräsentationswertes gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 zeigt eine Schwelle für Wahrscheinlichkeitswerte und Wahrscheinlichkeitsrepräsentationswerte zur Auswahl eines Wahrscheinlichkeitsrepräsentationswertes gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 ist ein Flussdiagramm für die Auswahl eines Wahrscheinlichkeitsrepräsentationswertes gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 8 ist ein Blockschaltbild eines Decodierverfahrens gemäß der vorliegenden Erfindung;
  • 9 ist ein Flussdiagramm für ein Decodierverfahren gemäß der vorliegenden Erfindung;
  • 10 ist ein Flussdiagramm für einen Vorgang zum Korrigieren des Wahrscheinlichkeitsrepräsentationswertes eines Wahrscheinlichkeitsin tervalls gemäß der Erfindung;
  • 11 ist ein Blockschaltbild eines Codier- und Decodierverfahrens;
  • 12 ist ein Diagramm, das das Konzept der arithmetischen Entropiecodierung und -decodierung illustriert; und
  • 13 ist ein Diagramm, das die Wahrscheinlichkeitsschätzung beim Codieren und Decodieren illustriert.
  • DETAILLIERTE BESCHREIBUNG
  • Ausführungsbeispiel 1
  • Bei der Erfindung wird eine adaptive Wahrscheinlichkeitsschätzung auf arithmetisches Codieren angewendet. 1 ist ein Blockschaltbild, das die Struktur einer Codiervorrichtung zeigt, die arithmetisches Codieren gemäß der Erfindung anwendet. Die Codierung von binären Informationsquellen wird beschrieben zur Erleichterung des Verständnisses. Wie bei den herkömmlichen Beispielen werden bei arithmetischen Codieren Binärquellen codiert durch Vergleichen eines zu codierenden Symbols mit einem vorhergesagten Symbolen und Bestimmen, ob das Symbol mit größerer Wahrscheinlichkeit auftritt als das andere Symbol (MPS: Wahrscheinlicheres Symbol), oder ein Symbol, das mit geringerer Wahrscheinlichkeit auftritt als das andere Symbol (LPS: Weniger wahrscheinliches Symbol). Die Symbolbeurteilungsvorrichtung 10 bestimmt, ob ein Eingangssymbol ein MPS oder LPS ist. Die Symbolzählvorrichtung 11 zählt das Auftreten von LPS und das Auftreten beider binärerer Symbole, zusätzlich zu der Speicherung eines vorhergesagten Wertes. Die Wahrscheinlichkeitsschätzvorrichtung 12 schätzt eine LPS-Auftrittswahrscheinlichkeit gemäß dem akkumulierten Zählwert von LPS-Auftritten und den beiden Symbolen. Die Codiervorrichtung 13 codiert arithmetisch Codiereingangssequenzen von Symbolen und gibt codierte Daten aus. Bei diesem Codiervorgang wird eine Operation des rekursiven Unterteilens der numerischen Linie gemäß der LPS-Auftrittswahrscheinlichkeit und des Auswählens eines geteilten Intervalls, das dem zu codierenden Symbol entspricht, wiederholt. Die Symbolzählvorrichtung 11 kann in die in 2 gezeigten Elemente aufgeteilt werden.
  • In 2 zählt die Gesamtsymbol-Zählvorrichtung 14 das Auftreten beider binärer Symbole und den Gesamtauftritts-Zählwert. Die LPS-Beurteilungsvorrichtung 15 bestimmt, ob das Eingangssymbol ein LPS oder MPS ist. Wenn es ein LPS ist, wird das Auftreten von der LPS-Zählvorrichtung 16 gezählt. Der Vorhersagewertspeicher 17 zählt den vorhergesagten Wert und, wenn der LPS-Auftrittszählwert die Hälfte des Gesamtauftritts-Zählwerts überschreitet, wird der Vorhersagewert umgekehrt und der LPS-Auftrittszählwert und der MPS-Auftrittswert (der Gesamtauftritts-Zählwert – der LPS-Auftrittszählwert) werden ausgetauscht.
  • Auf der Grundlage der vorbeschriebenen Struktur wird ein arithmetisches Codierverfahren, das gemäß der Erfindung die adaptive Wahrscheinlichkeitsschätzung anwendet, in 3 illustriert. Bei diesem Verfahren wird durch die Symbolbeurteilungsvorrichtung 10 bestimmt, ob das zu codierende Eingangssymbol ein MPS oder ein LPS ist, durch Bezugnahme auf den in den Vorhersagewertspeicher gespeicherten vorhergesagten Wert (Schritt 102). Dann wird einer der vorher gebil deten mehreren Wahrscheinlichkeitsrepräsentationswerte bei dem Wahrscheinlichkeitsschätzverfahren (wird später im Einzelnen erläutert) ausgewählt durch Bezugnahme auf den LPS-Auftrittszählwert und den Gesamtauftritts-Zählwert (Schritte 103 und 106). Ein MPS oder ein LPS, das durch die Symbolbeurteilungsvorrichtung 10 bestimmt wurde, wird von der Codiervorrichtung 13 unter Verwendung des durch die Wahrscheinlichkeitsschätzvorrichtung ausgewählten Wahrscheinlichkeitsrepräsentationswertes codiert (Schritte 104 und 107). Nach dem Codieren werden der LPS-Auftrittszählwert und der Gesamtauftritts-Zählwert durch die Symbolzählvorrichtung 11 aktualisiert. Wenn bestimmt wird, dass das Symbol ein MPS ist, wird der Gesamtauftritts-Zählwert erhöht (Schritt 105). Wenn bestimmt wird, dass das Symbol ein LPS ist, werden sowohl der LPS-Auftrittszählwert und der Gesamtauftritts-Zählwert erhöht (Schritt 108) und, wenn der LPS-Auftrittszählwert die Hälfte des Gesamtauftritts-Zählwerts überschreitet, wird der vorhergesagte Wert umgekehrt. Gleichzeitig werden der LPS-Auftrittszählwert und der MPS-Auftrittszählwert gegeneinander ausgetauscht (Schritt 111), da der LPS-Auftrittszählwert größer als der MPS-Auftrittszählwert (Gesamtauftritts-Zählwert – LPS-Auftrittszählwert) ist. Dieser Austausch hält den LPS-Auftrittszählwert kleiner als die Hälfte des Gesamtauftritts-Zählwerts.
  • Der Vorgang der Auswahl eines Wahrscheinlichkeitsrepräsentationswertes wird nun beschrieben. 4 zeigt Schwellen für Wahrscheinlichkeitswerte (T0, T1, T2) und Wahrscheinlichkeitsrepräsentationswert (A0, A1, A2, A3), die zu entsprechenden, durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervallen gehören. Hier werden die Schwellenwerte als ein Beispiel so gesetzt, dass sie Potenzen von zwei sind. Jeder Wahrscheinlichkeitsrepräsentationswert kann auf einen beliebigen Wert zwischen zwei benachbarten Schwellen für Wahrscheinlichkeitswerte gesetzt werden. Bei diesem Beispiel wird jeder Wahrscheinlichkeitsrepräsentationswert in die Mitte von zwei benachbarten Schwellen von Wahrscheinlichkeitswerten gesetzt, die sich zwischen den Kanten eines jeweiligen Wahrscheinlichkeitsintervalls befindet. Tabelle 1 zeigt die Schwellen für Wahrscheinlichkeitswerte mit den drei geringstwertigsten Bits in ihrer binären Darstellung.
  • Tabelle 1
    Figure 00150001
  • Da die Schwellen für Wahrscheinlichkeitswerte auf Potenzen von zwei gesetzt sind, kann bestimmt werden, ob eine LPS-Wahrscheinlichkeit größer als ein Wahrscheinlichkeitsschwellenwert ist, indem der LPS-Auftrittszählwert, um einige Bits verschoben, mit dem Gesamtauftritts-Zählwert verglichen wird.
  • 5 zeigt einen Vorgang der Wahrscheinlichkeitsschätzung. Zuerst werden der LPS-Auftrittszählwert und der Gesamtauftritts-Zählwert in dem Register L bzw. dem Register N gespeichert (Schritt 113). Dann wird ein Vergleich mit der Schwelle für Wahrscheinlichkeitswerte T0 gemacht, d.h., das um zwei Bits nach links verschobene (Schritt 114) Register L wird mit dem Register N verglichen (Schritt 115).
  • Wenn L größer als oder gleich N ist (Die LPS-Auftrittswahrscheinlichkeit > T0), wird das Wahrscheinlichkeitsintervall bestimmt, was bedeutet, dass A0 als ein Wahrscheinlichkeitsrepräsentationswert ausgewählt wird (Schritt 116). Wenn L kleiner als N ist, wird ein Vergleich mit der Schwelle für Wahrscheinlichkeitswerte T1 gemacht, d.h., das um ein Bit mehr nach links verschobene (Schritt 117) Register L wird mit dem Register N verglichen (Schritt 118). Wenn L größer als oder gleich N ist (LPS-Auftrittswahrscheinlichkeit > T1), wird das Wahrscheinlichkeitsintervall bestimmt, was bedeutet, dass A1 als ein Wahrscheinlichkeitsrepräsentationswert ausgewählt wird (Schritt 119). Wenn L kleiner als N ist, ist der Vergleich mit der Schwelle für Wahrscheinlichkeitswerte T2 derselbe wie der Vergleich mit der Schwelle für Wahrscheinlichkeitswerte T1 (Schritte 120 und 121). Wenn L größer als oder gleich N ist (die LPS-Auftrittswahrscheinlichkeit > T2), wird das Wahrscheinlichkeitsintervall bestimmt, was bedeutet, dass A2 als ein Wahrscheinlichkeitsrepräsentationswert ausgewählt wird (Schritt 122). Wenn L kleiner als N ist (LPS-Auftrittswahrscheinlichkeit < T2), wird das Wahrscheinlichkeitsintervall bestimmt, was bedeutet, dass A3 als ein Wahrscheinlichkeitsrepräsentationswert ausgewählt wird (Schritt 123). Somit wird durch Setzen der Schwellen für Wahrscheinlichkeitswerte als Potenzen von zwei eine schnelle Suche nach dem Wahrscheinlichkeitsrepräsentationswert entsprechend einem durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervall ohne Teilung und geringere Operationslast möglich gemacht.
  • Ausführungsbeispiel 2
  • Eine Erläuterung der Struktur und der Arbeitsweise der Codiervorrichtung unter Verwendung dieser Erfindung mit arithmetischer Codierung wird weggelassen, da sie dieselben wie beim Ausführungsbeispiel 1 sind. Der Vorgang der Auswahl eines Wahrscheinlichkeitsrepräsentationswertes wird nachfolgend beschrieben.
  • 6 zeigt Schwellen für Wahrscheinlichkeitswerte (T0, T1, ... T7) und Wahrscheinlichkeitsrepräsentationswerte (A0, A1, ..., A8), die zu den entsprechenden durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervallen gehören. Hier werden als ein Beispiel die Schwellenwerte so gesetzt, dass sie Potenzen von zwei oder Werte sind, die durch rekursives Teilen eines durch Potenzen von zwei bestimmten Intervalls in zwei gleiche Teile erhalten wurden, sind. Beispielsweise ist das Intervall zwischen ½ und ¼ in vier Teile geteilt (zweifaches Halbieren des Intervalls). Die Intervalle zwischen und 1/8 und zwischen 1/8 und 1/16 sind in zwei Teile geteilt aufgrund der Beschränkung der Binärstellenlänge bei diesem Beispiel. Jeder Wahrscheinlichkeitsrepräsentationswert kann auf einen beliebigen Wert zwischen zwei benachbarten Schwellen für Wahrscheinlichkeitswerte gesetzt werden.
  • Bei diesem Beispiel wird jeder Wahrscheinlichkeitsrepräsentationswert in die Mitte von zwei benachbarten Schwellen für Wahrscheinlichkeitswerte gesetzt, die sich an den Kanten jedes Wahrscheinlichkeitsintervalls befinden. Tabelle 2 zeigt die Schwellen für Wahrscheinlichkeitswerte mit den vier geringstwertigsten Bits in ihrer binären Darstellung.
  • Tabelle 2
    Figure 00180001
  • Ob eine LPS-Wahrscheinlichkeit größer als eine Schwelle für Wahrscheinlichkeitswerte ist, kann bestimmt werden, indem wiederholt bestimmt wird, ob jedes Bit von dem höchstwertigsten Bit zu dem geringstwertigsten Bit (in der Reihenfolge von b0 bis b3) eins oder null in einer binären Darstellung ist. Ob jedes Bit eins oder null ist, kann bestimmt werden durch Vergleichen des Gesamtauftritts-Zählwerts mit einem Wert, der durch zweckmäßiges Verschieben oder durch Subtraktion (Subtraktion des Gesamtauftritts-Zählwerts von dem LPS-Auftrittszählwerts) des LPS-Auftrittszählwerts erhalten wurde.
  • 7 zeigt den Vorgang der Wahrscheinlichkeitsschätzung. Zuerst werden der LPS-Auftrittszählwert und der Gesamtauftritts-Zählwert in dem Register L bzw. dem Register N gespeichert (Schritt 124). Dann wird das Bit b0 in dem LPS-Auftrittszählwert bestimmt durch Vergleichen des um zwei Bits nach links verschobenen (Schritt 125) Registers L mit dem Register N (Schritt 126). Wenn L größer als oder gleich N ist (das Bit b0 der LPS-Wahrscheinlichkeit ist ein: JA im Schritt 126) und das Wahrscheinlichkeitsintervall nicht bestimmt ist (NEIN im Schritt 128), dann wird der Wert des Register N von dem Wert des Registers L subtrahiert (das Bit b0 der LPS-Auftrittswahrscheinlichkeit ist auf null gesetzt: Schritt 128), und das nächste Bit b1 wird bestimmt. Wenn L kleiner als N ist (das Bit b0 der LPS-Wahrscheinlichkeit ist null: NEIN im Schritt 126) und das Wahrscheinlichkeitsintervall nicht bestimmt ist (NEIN im Schritt 129), dann wird das nächste Bit b1 bestimmt.
  • Der Vorgang zum Bestimmen des Bits b1 in der LPS-Auftrittswahrscheinlichkeit wird beschrieben. Das um ein Bit nach links verschobene (Schritt 131) Register L wird mit dem Register N verglichen (Schritt 126). Die Bestimmung, ob jedes Bit eins oder null ist, ist dieselbe wie die Bestimmung des Bits b1. Die Bestimmung der Bits b2 und b3 erfolgt in derselben Weise wie die Bestimmung von b1. Somit wird jedes Bit in der LPS-Auftrittswahrscheinlichkeit aufeinander folgend bestimmt, und wenn ein Wahrscheinlichkeitsintervall bestimmt ist (JA im Schritt 127 oder 129), wird die wiederholte Beurteilung abgebrochen und der Wahrscheinlichkeitsrepräsentationswert entsprechend dem Wahrscheinlichkeitsintervall wird ausgewählt (Schritt 130).
  • Es folgt ein praktisches Beispiel, bei dem der LPS-Auftrittszählwert L = 21 und der Gesamtauftritts-Zählwert N = 60 sind. Zuerst ergibt sich, dass das Bit 0 in dem LPS-Auftrittszählwert gleich eins ist, da der Vergleich zwischen dem um zwei Bits nach links verschobenen Register L (L = 84) und dem Register N zeigt, dass L ≥ N. Das nächste Bit b1 in dem LPS-Auftrittszählwert ist null, da der Vergleich zwischen dem Register L, von dem der Wert des Registers N subtrahiert wurde (L = 24) und das um ein Bit nach links verschoben wurde (L = 48) und dem Register N zeigt, dass L < N. Dann ist das Bit b2 in der LPS-Auftrittswahrscheinlichkeit gleich 1, da der Vergleich zwischen dem um ein Bit nach links verschobenen Register L (L = 96) und dem Register N zeigt, dass L ≥ N.
  • Nach den vorstehenden Operationen wurde das Wahrscheinlichkeitsintervall bestimmt, d.h., A2 wird als ein Wahrscheinlichkeitsrepräsentationswert ausgewählt. Somit wird durch Setzen der Schwellen für Wahrscheinlichkeitswerte als Potenzen von zwei oder Werte, die durch rekursiven Teilen eines durch Potenzen von zwei bestimmten Intervalls in zwei gleiche Teile erhalten wurden, eine schnelle Suche des Wahrscheinlichkeitsrepräsentationswertes entsprechend einem Wahrscheinlichkeitsintervall, das durch die Schwellen für Wahrscheinlichkeitswerte bestimmt ist, ohne Teilungsschritt und mit kleinerer Operationslast erzielt.
  • Ausführungsbeispiel 3
  • Das Ausführungsbeispiel 3 betrifft eine Decodiervorrichtung entsprechend der im Ausführungsbeispiel 1 eingeführten Codiervorrichtung. 8 ist ein Blockschaltbild, das die Struktur einer Decodiervorrichtung zeigt, die eine arithmetische Decodierung gemäß der Erfindung anwendet. Eine Erläuterung der Symbolzählvorrichtung 11 und der Wahrscheinlichkeitsschätzvorrichtung 12 wird weggelassen, da sie in Ver bindung mit der Codiervorrichtung nach Ausführungsbeispiel 1 beschrieben wurden. Die Decodiervorrichtung 20 gibt Symbole aus durch Teilen der numerischen Linie gemäß den LPS-Auftrittswahrscheinlichkeiten und Bestimmen, welches Symbol dem durch die Eingangscodedaten angezeigten Intervall entspricht. Die Datenbeurteilungsvorrichtung 21 wandelt ein decodiertes MPS oder LPS in binäre Daten um durch Bezugnahme auf den vorhergesagten Wert und gibt binäre Daten aus.
  • Auf der Grundlage der beschriebenen Struktur ist ein Vorgang der arithmetischen Decodierung unter Verwendung der adaptiven Wahrscheinlichkeitsschätzung gemäß dieser Erfindung in 9 illustriert. Einer der mehreren Wahrscheinlichkeitsrepräsentationswerte, die vorher gebildet wurden, wird in der Wahrscheinlichkeitsschätzvorrichtung 12 ausgewählt durch Bezugnahme auf den LPS-Auftrittszählwert und den Gesamtauftritts-Zählwert (Schritt 201). Dann wird ein MPS oder LPS durch die Decodiervorrichtung 20 decodiert, wobei der durch die Wahrscheinlichkeitsschätzvorrichtung ausgewählte Wahrscheinlichkeitsrepräsentationswert verwendet wird (Schritt 202). Wenn das decodierte Symbol ein MPS ist, wird der in dem Vorhersagewertspeicher 17 gespeicherte vorhergesagte Wert durch die Datenbeurteilungsvorrichtung 21 ausgegeben (Schritt 204). Wenn das decodierte Symbol ein LPS ist, wird der umgekehrte Wert des in dem Vorhersagewertspeicher 17 gespeicherten vorhergesagten Wertes durch die Datenbeurteilungsvorrichtung 21 ausgegeben (Schritt 206). Nach dem Ausgeben der Daten werden der LPS-Auftrittszählwert und der Gesamtauftritts-Zählwert durch die Symbolzählvorrichtung 11 aktualisiert.
  • Der Vorgang der Auswahl von Wahrscheinlichkeitsrepräsentationswerten ist bei diesem Ausführungsbeispiel derselbe wie beim Ausführungsbeispiel 1. Wie beim Ausführungsbeispiel 1 wird durch Setzen der Schwellen für Wahrscheinlichkeitswerte als Potenzen von zwei eine schnelle Suche nach Wahrscheinlichkeitsrepräsentationswerten entsprechend durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervallen ohne Teilung und mit kleinerer Operationslast ermöglicht.
  • Ausführungsbeispiel 4
  • Ausführungsbeispiel 4 betrifft eine Decodiervorrichtung entsprechend der Codiervorrichtung nach Ausführungsbeispiel 2. Die Struktur und die Arbeitsweise der Decodiervorrichtung, die eine arithmetische Decodierung gemäß dieser Erfindung anwendet, sind dieselben wie diejenigen des Ausführungsbeispiels 3. Daher ist eine Beschreibung des Vorgangs der Auswahl von Wahrscheinlichkeitsrepräsentationswerten dieselbe wie beim Ausführungsbeispiel 2. Daher wird eine doppelte Erläuterung weggelassen. Wie beim Ausführungsbeispiel 2 wird durch Setzen der Schwellen für Wahrscheinlichkeitswerte als Potenzen von zwei oder als durch rekursives Teilen eines durch Potenzen von zwei bestimmten Intervalls in zwei gleiche Teile gegebenen Werten eine schnelle Suche des Wahrscheinlichkeitsrepräsentationswertes entsprechend einem durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervall ohne Teilung und mit geringerer Operationslast ermöglicht.
  • Ausführungsbeispiel 5
  • Bei diesem Ausführungsbeispiel wird ein Verfahren zum Bestimmen eines der Codierparameter, ein Wahrscheinlichkeitsrepräsentationswert, gemäß zwei benachbarten Schwellen für Wahrscheinlichkeitswerte, die sich an beiden Kanten eines Wahrscheinlichkeitsintervalls befinden, beschrieben. Hier werden die Wahrscheinlichkeitsrepräsentationswerte unter dem Gesichtspunkt des Codierwirkungsgrads bestimmt. Im Allgemeinen ist der Codierwirkungsgrad für Informationsquellen mit Auftrittwahrscheinlichkeiten um die Mitte eines Wahrscheinlichkeitsintervalls herum höher als wenn die Wahrscheinlichkeiten nahe den Schwellen für Wahrscheinlichkeitswerte sind. D.h., je größer die Differenz von der Mitte eines Wahrscheinlichkeitsintervalls ist, desto niedriger ist der Codierwirkungsgrad. Der Codierwirkungsgrad mit arithmetischer Codierung, die keine Multiplikation verwendet, ist niedriger als bei der arithmetischen Codierung unter Anwendung der Multiplikation, da ein Bereich fester Länge einem zu codierenden Symbol zugewiesen ist, ungeachtet der Länge des Bereichs, mit Bereichen von 0,5 bis 1,0 (nur die anfängliche Länge ist 1,0). Jedoch ermöglicht sie eine praktische und einfache Implementierung. In diesem Fall sollten zumindest Wahrscheinlichkeitsrepräsentationswerte korrigiert werden. Wenn eine Auftrittswahrscheinlichkeit einer Informationsquelle angenommen, kann der Codierwirkungsgrad nur durch einen Faktor, die Codelänge (Zähler) gemessen werden, da der andere Faktor, die Entropie (Nenner) von der Auftrittswahrscheinlichkeit abhängt.
  • 10 illustriert ein Beispiel für einen Vorgang der Berechnung der Korrekturwerte für den Wahrscheinlichkeitsrepräsentationswert. Zuerst werden Schwellen für Wahrscheinlichkeitswerte gesetzt (Schritt 301). Im nächsten Schritt wird ein versuchsweiser Wahrscheinlichkeitsrepräsentationswert gesetzt (Schritt 302). Beispielsweise kann der Anfangswert in die Mitte von zwei benachbarten Schwellen für Wahrschein lichkeitswerte gesetzt werden. Dann werden Codelängen für zwei Informationsquellen mit Auftrittswahrscheinlichkeiten an den Schwellen für Wahrscheinlichkeitswerte berechnet (Schritt 303) und die Größe des Fehlers zwischen den beiden Codelängen wird mit einer vorbestimmten Fehlertoleranz e verglichen (Schritt 304). Wenn die Fehlergröße größer als e ist (NEIN) wird der versuchsweise Wahrscheinlichkeitsrepräsentationswert wieder gesetzt. Da der versuchsweise Wahrscheinlichkeitsrepräsentationswert geändert wird, ändern sich auch die Codelängen für die beiden Informationsquellen. Daher werden im Schritt 302, in welchem der versuchsweise Wahrscheinlichkeitsrepräsentationswert gesetzt wird, Schritt 304 und Schritt 305 wiederholt, und wenn die Fehlergröße kleiner als e ist (JA), dann wird der Wahrscheinlichkeitsrepräsentationswert auf den versuchsweisen Wahrscheinlichkeitsrepräsentationswert gesetzt, von dem angenommen wird, dass er den besten Codierwirkungsgrad liefert. Beispielsweise kann die obere Spitze der Codierwirkungsgradkurve ein Kandidat für diesen Wert sein. Unter Verwendung derselben Technik können die Wahrscheinlichkeitsrepräsentationswerte für alle Wahrscheinlichkeitsintervalle bestimmt werden.
  • Ausführungsbeispiel 6
  • Wie vorstehend beschrieben ist, war eine Division erforderlich, um die Auftrittswahrscheinlichkeiten von zu codierenden Symbolen mit akkumulierten Auftrittszählwerten von Symbolen zu schätzen. Daher war das Problem eine erhöhte Komplexität der Hardwareimplementierung und eine erhöhte Operationslast für die Codierung. Die beschriebenen Ausführungsbeispiele enthalten Codierverfahren, bei denen mehrere Wahrscheinlichkeitsrepräsentationswerte vorher gebildet wurden und einer der Wahrscheinlichkeitsrepräsentationswerte entsprechend den akkumulierten Auftrittszählwerten als eine geschätzte Auftrittswahrscheinlichkeit des zu codierenden Symbols ausgewählt wird. Bei dem Codierverfahren werden die Schwellen für Wahrscheinlichkeitswerte, d.h., Grenzen für die Auswahl eines Wahrscheinlichkeitsrepräsentationswerts, sorgfältig bestimmt (beispielsweise Potenzen von zwei oder Werte, die durch rekursives Teilen eines durch Potenzen von zwei bestimmten Intervalls in zwei gleiche Teile erhalten wurden), der Wahrscheinlichkeitsrepräsentationswert entsprechend einem durch die Schwellen für Wahrscheinlichkeitswerte bestimmten Wahrscheinlichkeitsintervall wird durch Verschieben, Subtraktion und Vergleich mit dem akkumulierten Auftrittszählwert von Symbolen ausgewählt, und Auftrittswahrscheinlichkeiten von Symbolen werden entsprechend den akkumulierten Auftrittszählwerten geschätzt. Eine schnelle Suche des Wahrscheinlichkeitsrepräsentationswerts ohne Teilung und mit geringerer Operationslast wird somit ermöglicht. Obgleich bei dieser Wahrscheinlichkeitsschätzung ein Zustandsübergang nicht verwendet wird, kann jedes Wahrscheinlichkeitsintervall als ein Zustand betrachtet werden. Bei den beschriebenen Ausführungsbeispielen wird ein Wahrscheinlichkeitsrepräsentationswert bestimmt durch Auswahl des entsprechenden Wahrscheinlichkeitsintervalls. Dies bedeutet, dass ein Index, der sich auf ein als Zustand betrachtetes Wahrscheinlichkeitsintervall bezieht, ausgewählt werden kann durch eine schnell Suche, die die Auftrittswahrscheinlichkeit ohne Teilung und mit geringerer Operationslast verwendet, und der Wahrscheinlichkeitsrepräsentationswert wird aus dem Index erhalten. Der erhaltene Index kann leicht nicht nur für die Auswahl eines Wahrscheinlichkeitsrepräsentationswerts verwendet werden, sondern auch für die Auswahl anderer Parameter.
  • Die Erfindung verringert die Operationslast für die Codierung, die eine Verringerung der Multiplikation in dem Fall eines Zustandsübergangs und eine Verringerung der Teilung in dem Fall der Verwendung akkumulierter Auftrittszählwerte ist. Auch erhöht diese Erfindung die Wahrscheinlichkeitsschätztreue und den Codierwirkungsgrad in einem Zustandsübergang aufgrund der Verbesserung der Anpassungsfähigkeit an eine Änderung der Auftrittswahrscheinlichkeit.
  • Wenn ein Zustandsübergang nicht verwendet wird, wird das Wahrscheinlichkeitsschätzvermögen unabhängiger und verbessert. Bei einem Zustandsübergang ist das Lernen in der Wahrscheinlichkeitsschätzvorrichtung mit der Renormierung in der Entropiecodiervorrichtung synchronisiert, welche grundsätzlich unabhängig von der Wahrscheinlichkeitsschätzvorrichtung ist. D.h., die Anpassungsfähigkeit an die Änderung in der Informationsquelle hängt vom Zufall ab. Die Wahrscheinlichkeitsrepräsentationswerte können näher an den optimalen Werten sein aufgrund der Weise, in der die Wahrscheinlichkeitsrepräsentationswerte gesetzt werden, so dass die Codierwirkungsgrade an beiden Kanten eines Wahrscheinlichkeitsintervalls, die den schlechtesten Codierwirkungsgrad in dem Bereich ergeben, denselben Codierwirkungsgrad liefern.
  • Eine Codiervorrichtung und eine Decodiervorrichtung gemäß der Erfindung können entweder getrennt oder zusammen implementiert werden. Jedes Medium wie drahtlose Übertragung, drahtgebundene Übertragung, Speichervorrichtungen, die Platten, Bänder, Halbleiterspeicher und dergleichen verwenden, kann als ein Medium verwendet werden, über das von der Codiervor richtung ausgegebene Codedaten zu der Decodiervorrichtung übertragen werden, oder ein Medium in welche von der Codiervorrichtung ausgegebene Codedaten gespeichert werden. Die Übertragung oder Speicherung kann elektrisch, magnetisch oder optische realisiert werden.
  • Ausführungsbeispiel 7
  • Bei den vorhergehenden Ausführungsbeispielen wird die Wahrscheinlichkeitsschätzung in einer Codiererstruktur und einer Decodiererstruktur verwendet. Das Wahrscheinlichkeitsschätzverfahren wird in einer Berechnungsvorrichtung anstelle einer Codiererstruktur oder einer Decodiererstruktur angewendet. Die Berechnungsvorrichtung ist mit der Wahrscheinlichkeitsschätzstruktur verbunden, die den Wahrscheinlichkeitsrepräsentationswert bestimmt. Die Berechnungsvorrichtung empfängt den Wahrscheinlichkeitsrepräsentationswert und ein binäres Symbol, führt weitere Berechnungen auf der Grundlage des Wahrscheinlichkeitsrepräsentationswerts durch und gibt ein zu einer anderen Struktur gesendetes Ergebnis aus. Die Berechnungsvorrichtung kann das berechnete Ergebnis sehr schnell zu einer anderen Struktur senden, da das Schätzverfahren sehr schnell ist.

Claims (14)

  1. Kodierverfahren, aufweisend die Schritte des Bestimmens eines Symbols aus einem eingegebenen Datensignal (10), welches Symbol als weniger wahrscheinliches Symbol oder mehr wahrscheinliches Symbol klassifiziert ist; Bestimmen eines von mehreren Wahrscheinlichkeitsintervallen; Bestimmen eines Kodierparameters (103, 106; 113123) durch Verwenden des bestimmten Wahrscheinlichkeitsintervalls; und Kodieren (104, 107) des aus dem eingegebenen Datensignal bestimmten Symbols auf der Grundlage des Kodierparameters; dadurch gekennzeichnet, dass das Gesamtauftreten von Symbolen und das Auftreten von weniger wahrscheinlichen Symbolen gezählt werden; und dass eines von mehreren Wahrscheinlichkeitsintervallen bestimmt wird auf der Grundlage des Vergleichs des bitverschobenen Zählwertes für das Auftreten des weniger wahrscheinlichen Symbols mit dem Zählwert für das Gesamtauftreten von Symbolen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Schwellenwerte (T) für Wahrscheinlichkeitswerte, die die Wahrscheinlichkeitsintervalle begrenzen, so gesetzt werden, dass sie eine Potenz von zwei sind, nämlich 2–N.
  3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Kodierparameter ein Wahrscheinlichkeitsrepräsentationswert (A) ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, enthaltend die Verwendung eines Mittelpunktes von zwei benachbarten Schwellenwerten als einen anderen Schwellenwert.
  5. Verfahren nach einem der Ansprüche 1 bis 4, enthaltend die Verwendung von Schwellenwerten, die erhalten wurden durch Teilen von zwei benachbarten Schwellenwerten (2–N und 2–(N+1)) in 21 (eine Potenz von zwei) gleiche Teile.
  6. Verfahren nach einem der Ansprüche 1 bis 5, enthaltend das Einstellen der Schwellenwerte derart, dass Berechnungskosten zum Bestimmen des Schwellenwertes herabgesetzt werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die Symbole binäre Symbole sind.
  8. Dekodierverfahren, aufweisend die Schritte des Bestimmens von einem von mehreren Wahrscheinlichkeitsintervallen; des Bestimmens eines Dekodierparameters (201) durch Verwendung des bestimmten Wahrscheinlichkeitsintervalls; des Dekodierens (202) eines eingegebenen Codes auf der Grundlage des Dekodierparameters und des Ausgebens eines Symbols, welches Symbol als weniger wahrscheinliches Symbol oder als mehr wahrscheinliches Symbol klassifiziert ist; des Bestimmens von Ausgangsdaten auf der Grundlage des durch Dekodieren des eingegebenen Codes ausgegebenen Symbols, dadurch gekennzeichnet, dass das Gesamtauftreten von Symbolen und das Auftreten von weniger wahrscheinlichen Symbolen gezählt werden; und dass eine von mehreren Wahrscheinlichkeitsintervallen bestimmt wird auf der Grundlage des Vergleichs des bitverschobenen Zählwertes für das Auftreten von weniger wahrscheinlichen Symbolen mit dem Zählwert für das Gesamtauftreten von Symbolen.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass Schwellenwerte (T) für Wahrscheinlichkeitswerte, die die Wahrscheinlichkeitsintervalle begrenzen, so gesetzt sind, dass sie eine Potenz von zwei sind, nämlich 2–N.
  10. Verfahren nach einem der Ansprüche 8 oder 9, dadurch gekennzeichnet, dass der Kodierparameter ein Wahrscheinlichkeitsrepräsentationswert (A) ist.
  11. Verfahren nach einem der Ansprüche 8 bis 10, enthaltend das Einstellen der Schwellenwerte derart, dass die Berechnungskosten zum Bestimmen des Schwellenwertes verringert werden.
  12. Verfahren nach einem der Ansprüche 8 bis 11, enthaltend die Verwendung eines Mittelpunktes von zwei benachbarten Schwellenwerten als einen anderen Schwellenwert.
  13. Verfahren nach einem Ansprüche 8 bis 12, enthaltend die Verwendung von Schwellenwerten, die durch Teilen von zwei benachbarten Schwellenwerten (2–N und 2–(N+1)) in 21 (eine Potenz von zwei) gleiche Teile erhalten werden.
  14. Verfahren nach einem der Ansprüche 8 bis 13, bei dem die Symbole binäre Symbole sind.
DE69925774T 1998-03-25 1999-03-23 Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren Expired - Lifetime DE69925774T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7724898 1998-03-25
JP07724898A JP3391251B2 (ja) 1998-03-25 1998-03-25 適応確率推定方法及び適応符号化方法並びに適応復号方法

Publications (2)

Publication Number Publication Date
DE69925774D1 DE69925774D1 (de) 2005-07-21
DE69925774T2 true DE69925774T2 (de) 2006-05-11

Family

ID=13628567

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69925774T Expired - Lifetime DE69925774T2 (de) 1998-03-25 1999-03-23 Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren

Country Status (6)

Country Link
US (1) US6411231B1 (de)
EP (1) EP0945988B1 (de)
JP (1) JP3391251B2 (de)
KR (1) KR100340828B1 (de)
CN (1) CN100459437C (de)
DE (1) DE69925774T2 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100405819B1 (ko) * 2001-01-15 2003-11-14 한국과학기술원 이진 영상의 데이터 압축 및 복원방법
EP1322117A1 (de) * 2001-12-06 2003-06-25 Koninklijke Philips Electronics N.V. Arithmetischer Kodierer und Dekodierer
EP3709217A1 (de) * 2002-04-23 2020-09-16 NTT DoCoMo, Inc. System und verfahren zur arithmetischen codierung und decodierung
US9577667B2 (en) * 2002-04-23 2017-02-21 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
KR100701810B1 (ko) * 2002-04-26 2007-04-02 가부시키가이샤 엔티티 도코모 신호 부호화 방법, 신호 복호 방법, 신호 부호화 장치, 신호 복호 장치, 및 컴퓨터로 판독가능한 기록매체
JP3853710B2 (ja) * 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 ディジタル画像符号化装置およびディジタル画像符号化方法
US6825782B2 (en) * 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US6906647B2 (en) 2002-09-20 2005-06-14 Ntt Docomo, Inc. Method and apparatus for arithmetic coding, including probability estimation state table creation
US6850175B1 (en) * 2003-09-18 2005-02-01 Ntt Docomo, Inc. Method and apparatus for arithmetic coding
DK1540962T3 (en) * 2002-09-20 2016-08-22 Ntt Docomo Inc Method and apparatus for arithmetic coding and decoding
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US8577026B2 (en) 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
US20110064214A1 (en) * 2003-09-09 2011-03-17 Ternarylogic Llc Methods and Apparatus in Alternate Finite Field Based Coders and Decoders
US7659839B2 (en) * 2007-08-15 2010-02-09 Ternarylogic Llc Methods and systems for modifying the statistical distribution of symbols in a coded message
KR101035219B1 (ko) * 2003-10-08 2011-05-18 디지털 파운튼, 인크. Fec-기반 신뢰도 제어 프로토콜
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US7064684B2 (en) * 2004-06-01 2006-06-20 Peter Lablans Sequence detection by multi-valued coding and creation of multi-code sequences
KR100609697B1 (ko) * 2004-06-02 2006-08-08 한국전자통신연구원 이득 고정형 광증폭기를 이용한 광 선로 감시 시스템
US7839312B2 (en) * 2006-11-30 2010-11-23 Panasonic Corporation Coder
EP2096439A4 (de) * 2006-12-21 2011-01-05 Ajinomoto Kk Verfahren zur beurteilung von kolorektalkarzinom, kolorektalkarzinom-beurteilungsvorrichtung, -verfahren, -system, -programm und aufzeichnungsmedium
US8837575B2 (en) * 2007-03-29 2014-09-16 Cisco Technology, Inc. Video processing architecture
US8422552B2 (en) * 2007-03-29 2013-04-16 James Au Entropy coding for video processing applications
US8369411B2 (en) * 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
US8416857B2 (en) * 2007-03-29 2013-04-09 James Au Parallel or pipelined macroblock processing
US7522076B1 (en) * 2007-10-16 2009-04-21 Mediatek Inc. Parallel context adaptive binary arithmetic coding
US7895171B2 (en) * 2008-03-27 2011-02-22 International Business Machines Corporation Compressibility estimation of non-unique indexes in a database management system
CN102264099B (zh) * 2010-05-28 2014-09-10 中兴通讯股份有限公司 一种自适应编码调制装置及方法
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN102438140B (zh) * 2011-06-02 2013-07-31 东南大学 一种用于图像压缩的算术编码器顺序重归一化方法
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2013026196A1 (en) 2011-08-23 2013-02-28 Huawei Technologies Co., Ltd. Estimator for estimating a probability distribution of a quantization index
US9558109B2 (en) 2014-04-04 2017-01-31 Samsung Israel Research Corporation Method and apparatus for flash memory arithmetic encoding and decoding
US9965550B2 (en) * 2014-07-03 2018-05-08 Ca, Inc. Estimating full text search results of log records
CN109474281B (zh) * 2018-09-30 2022-07-08 湖南瑞利德信息科技有限公司 数据编码、解码方法及装置
CN119520783A (zh) * 2019-08-06 2025-02-25 现代自动车株式会社 熵解码、编码方法,发送比特流的方法
CN111488927B (zh) * 2020-04-08 2023-07-21 中国医学科学院肿瘤医院 分类阈值确定方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168513A (en) * 1977-09-12 1979-09-18 Xerox Corporation Regenerative decoding of binary data using minimum redundancy codes
US4633490A (en) 1984-03-15 1986-12-30 International Business Machines Corporation Symmetrical optimized adaptive data compression/transfer/decompression system
US4933883A (en) * 1985-12-04 1990-06-12 International Business Machines Corporation Probability adaptation for arithmetic coders
US4652856A (en) * 1986-02-04 1987-03-24 International Business Machines Corporation Multiplication-free multi-alphabet arithmetic code
JPH0834432B2 (ja) * 1989-01-31 1996-03-29 三菱電機株式会社 符号化装置及び符号化方法
US5025258A (en) 1989-06-01 1991-06-18 At&T Bell Laboratories Adaptive probability estimator for entropy encoding/decoding
US5272478A (en) * 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
US5546080A (en) * 1994-01-03 1996-08-13 International Business Machines Corporation Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus
US6081213A (en) * 1997-03-26 2000-06-27 Sony Corporation Method and apparatus for arithmetic coding, method and apparatus for arithmetic decoding, and storage medium

Also Published As

Publication number Publication date
KR100340828B1 (ko) 2002-06-15
EP0945988A3 (de) 2002-06-26
EP0945988B1 (de) 2005-06-15
CN1230054A (zh) 1999-09-29
JPH11274938A (ja) 1999-10-08
US6411231B1 (en) 2002-06-25
EP0945988A2 (de) 1999-09-29
CN100459437C (zh) 2009-02-04
KR19990078037A (ko) 1999-10-25
US20020021234A1 (en) 2002-02-21
DE69925774D1 (de) 2005-07-21
JP3391251B2 (ja) 2003-03-31

Similar Documents

Publication Publication Date Title
DE69925774T2 (de) Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE68923875T2 (de) Entropie-Kodierer/Dekodierer mit einem Kontextextrahierer.
DE3789273T2 (de) Kodierungssystem zur Reduktion der Redundanz.
DE19506164C2 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE69637223T2 (de) Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem
DE69028176T2 (de) Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken
DE69321781T2 (de) Kodierung und Dekodierung von digitalen Daten
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE69026292T2 (de) Methode zur Bilddatenkodierung
DE69126940T2 (de) Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung
DE69026320T2 (de) Halbtonbilddatenkomprimierungsverfahren und -vorrichtung
DE69128801T2 (de) Kodierungssystem
DE3109795A1 (de) Bandeinengungsverfahren fuer getoente bilder
DE2550928C2 (de) Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte
EP2296282B1 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Nachschlagtabellen
DE2652459C2 (de) Umsetzvorrichtung für Binärsignale variabler Länge
DE68926676T2 (de) Verfahren und gerät zur statistischen kodierung von digitalen daten
DE3750390T2 (de) Simultane Fehlererkennung bei der Kodierung durch arithmetische Datenkodierung.
DE69224546T2 (de) Kodier- und Dekodiereinrichtungen
DE19802860B4 (de) Verfahren und Vorrichtung zum kontext-basierten arithmetischen Codieren/Decodieren
DE69125424T2 (de) Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung
EP3624456A1 (de) Verfahren zur kompression und dekompression von bilddaten
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes
DE2340250C2 (de) Verfahren und Vorrichtung zur redundanzreduzierenden Codierung eines aus Blöcken zu je N Bits bestehenden Nachrichtenstromes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)