DE4429585C1 - Verfahren zur arithmetischen Decodierung - Google Patents

Verfahren zur arithmetischen Decodierung

Info

Publication number
DE4429585C1
DE4429585C1 DE4429585A DE4429585A DE4429585C1 DE 4429585 C1 DE4429585 C1 DE 4429585C1 DE 4429585 A DE4429585 A DE 4429585A DE 4429585 A DE4429585 A DE 4429585A DE 4429585 C1 DE4429585 C1 DE 4429585C1
Authority
DE
Germany
Prior art keywords
data
reliability information
decoded
channel
date
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
DE4429585A
Other languages
English (en)
Inventor
Pelz Rodolfo Dr Mann
Bechir Jannet
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.)
Ipcom GmbH and Co KG
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE4429585A priority Critical patent/DE4429585C1/de
Priority to DE59510488T priority patent/DE59510488D1/de
Priority to EP95112839A priority patent/EP0697770B1/de
Priority to JP21085895A priority patent/JP3746092B2/ja
Priority to US08/517,540 priority patent/US5737345A/en
Application granted granted Critical
Publication of DE4429585C1 publication Critical patent/DE4429585C1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation

Description

Stand der Technik
Die Erfindung geht aus von einem Verfahren zur arithmetischen Decodierung nach der Gattung des Hauptanspruchs. Es ist aus der Patentschrift US 5025258 bereits ein Verfahren zur arithmetischen Decodierung bekannt, bei dem eine Änderung der Verteilungsdichtefunktion der übertragenen Daten während der Übertragung erfolgt. Dazu wird sowohl auf der Empfänger- als auch auf der Senderseite eine adaptive Wahrscheinlichkeitsschätzung, d. h. eine Schätzung der Verteilungsdichtefunktion, der gesendeten bzw. der empfangenen Daten durchgeführt und die geschätzte Verteilungsdichtefunktion dem arithmetischen Encoder bzw. dem arithmetischen Decoder zur arithmetischen Encodierung bzw. zur arithmetischen Decodierung zur Verfügung gestellt. Bei der Wahrscheinlichkeitsschätzung auf der Empfängerseite werden die entschiedenen Daten berücksichtigt. Es erfolgt keine Abschätzung, ob die entschiedenen Daten aufgrund eines Übertragungsfehlers falsch entschieden wurden. Damit werden Übertragungsfehler bei der arithmetischen Decodierung nicht berücksichtigt. Dies führt zu einer höheren Fehlerrate.
Weiterhin ist es von R. Mann Pelz, "Bild- und Sprachübertragung in Mobilfunkkanälen", Nachrichtentechnik, Elektronik, Berlin 42, 1992, S. 7 ff, bekannt, bei der Kanalcodierung und der Kanaldecodierung einen Soft-Output-Viterbi-Algorithmus zu verwenden. Der Soft-Output-Viterbi-Algorithmus (SOVA) liefert eine Zuverlässigkeitsinformation, die angibt, wie groß die Wahrscheinlichkeit ist, daß das entschiedene Datum richtig entschieden wurde.
Vorteile der Erfindung
Das erfindungsgemäße Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat demgegenüber den Vorteil, daß die kanalcodierten Daten nach dem Soft-Output-Viterbi-Algorithmus kanaldecodiert werden und somit eine erste Zuverlässigkeitsinformation über eine richtige Kanaldecodierung erhalten wird. Weiterhin wird das zu entscheidende Datum mit einem aus zuvor übertragenen Daten prädizierten Datum verglichen und bei Nichtübereinstimmung des Datums mit dem prädizierten Datum eine Änderung der Verteilungsdichtefunktion, die zur arithmetischen Decodierung verwendet wird, durchgeführt und das kanaldecodierte Datum mit der veränderten Verteilungsdichtefunktion arithmetisch decodiert.
Auf diese Weise wird erreicht, daß ein z. B. durch Übertragungsfehler falsch kanaldecodiertes Datum trotzdem richtig arithmetisch decodiert wird. Damit wird einrobustes arithmetisches Decodierverfahren ermöglicht, das eine hohe Zuverlässigkeit bietet.
Durch die in den Unteransprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Verfahrens möglich. Besonders vorteilhaft ist es, die kanaldecodierten Daten mit unveränderter Verteilungsdichtefunktion arithmetisch zu decodieren, aus den arithmetisch decodierten Daten zeitlich folgende Daten zu prädizieren und aus den prädizierten Daten eine zweite Zuverlässigkeitsinformation abzuschätzen. Daraufhin werden die erste und die zweite Zuverlässigkeitsinformation jedes Datums miteinander verglichen und das Datum der größeren Zuverlässigkeitsinformation und die größere Zuverlässigkeitsinformation ausgewählt. Parallel wird aus dem Datum, das mit der veränderten Verteilungsdichtefunktion arithmetisch decodiert wurde, eine dritte Zuverlässigkeitsinformation abgeschätzt. Die dritte Zuverlässigkeitsinformation wird mit der ausgewählten Zuverlässigkeitsinformation verglichen und es wird das Datum als entschiedenes Datum ausgewählt, das die größere Zuverlässigkeitsinformation aufweist. Auf diese Weise wird erreicht, daß das Datum mit der größten Zuverlässigkeitsinformation als entschiedenes Datum erkannt wird. Dadurch wird die Wahrscheinlichkeit, ein richtiges Datum zu entscheiden, zusätzlich erhöht.
Weiterhin ist es von Vorteil, die Daten mittels zyklischer Blockcodes einer Kanalcodierung zu unterziehen. Auf diese Weise wird bei der Kanalcodierung mittels zyklischer Blockcodes eine Fehlerdetektion durchgeführt und ein Hinweis erhalten, ob Fehler bei der Übertragung auftreten. Dadurch wird die Zuverlässigkeit weiter erhöht.
Zeichnung
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und in der folgenden Beschreibung näher erläutert. Es zeigen
Fig. 1 eine Übertragungsstrecke,
Fig. 2 einen schematischen Programmablauf,
Fig. 3 Bildpunkte und
Fig. 4 eine schematische Darstellung der arithmetischen Decodierung.
Beschreibung des Ausführungsbeispiels
Fig. 1 zeigt schematisch eine Übertragungsstrecke. Von der Datenquelle 1 werden Bilddaten in digitaler Form geliefert. Die von der Datenquelle 1 gelieferten Daten könnten jedoch auch andere Informationen wie z. B. Sprache beinhalten. Als Bilddaten werden z. B. Helligkeitsinformationen von Bildpixeln übertragen. Die Bilddaten werden von der Datenquelle 1 über eine erste Datenleitung 10 an einen arithmetischen Coder 2 geleitet. Der arithmetische Coder 2 führt eine arithmetische Codierung der Bilddaten durch.
Arithmetische Codierverfahren sind bereits bekannt und z. B. bei I.H. Witten, et al., Arithmetic Coding for Datacompression", Communications of the ACM, Computing Practices, June 1987, Volume 30, No. 6, S. 520 ff beschrieben.
Die arithmetisch codierten Bilddaten werden über eine erste Coderleitung 11 vom arithmetischen Coder 2 an einen Kanalcoder 3 geführt. Der Kanalcoder 3 führt eine Faltungscodierung der zugeführten Daten durch. Anschließend werden die faltungscodierten Daten über eine zweite Coderleitung 12 an einen Interleaver 4 gegeben. Der Interleaver 4 führt ein Interleaving der zugeführten Daten durch und gibt die verarbeiteten Daten an einen Übertragungskanal 5. Vom Übertragungskanal 5 werden die Daten an einen Deinterleaver 6 gegeben. Der Deinterleaver 6 führt ein zum Interleaver 4 inverses Interleavingverfahren durch. Anschließend werden die Daten über eine dritte Coderleitung 13 an einen Kanaldecoder 7 geführt. Der Kanaldecoder 7 führt unter Verwendung des Soft-Output-Viterbi-Algorithmus (SOVA) eine Kanaldecodierung durch.
Der Soft-Output-Viterby-Algorithmus ist bekannt und z. B. bei Hagenauer "A Viterbi Algorithm with Soft-Decision Outputs and its Applications", Global Telecommunications Conference, Dallas, 1989, S. 1680 ff, beschrieben. Der Kanaldecoder 7 ermittelt für jedes kanaldecodierte Datum ein entschiedenes Datum ui und eine Zuverlässigkeitsinformation Li. Das entschiedene Datum ui wird über eine vierte Coderleitung 14 an einen arithmetischen Decoder 8 geführt. Zusätzlich wird die Zuverlässigkeitsinformation Li an den arithmetischen Decoder 8 über eine fünfte Coderleitung 15 geleitet. Der arithmetische Decoder 8 führt unter Verwendung des entschiedenen Datums und der Zuverlässigkeitsinformation eine arithmetische Decodierung der Daten durch. Die arithmetisch decodierten Daten werden über eine zweite Datenleitung 16 an eine Datensenke 9 gegeben. Die Datensenke 9 ist zum Beispiel eine Bildwiedergabeeinheit.
Bei einer realen Übertragung von Daten treten Störungen des Übertragungskanals 5 auf. Diese sind in Fig. 1 schematisch als Pfeile mit einer Multipliziereinheit bzw. Addiereinheit dargestellt. Diese Störungen können dazu führen, daß im Kanaldecoder 7 ein falsches Datum ui entschieden wird. Ein Anzeichen dafür ist ein kleiner Wert der Zuverlässigkeitsinformation Li. Die Funktionsweise des arithmetischen Decoders 8 wird anhand der Fig. 2 erläutert.
Fig. 2 beschreibt in Form eines schematischen Programmablaufes die Funktionsweise des arithmetischen Decoders 8.
Im folgenden wird davon ausgegangen, daß die übertragenen Daten vor dem Kanalencoder 3 einer zyklischen Blockcodierung unterzogen worden sind.
Als Blockcoder wird ein Generatorpolynom mit der Funktion g (x) = 1 + x + x³ verwendet. Hierbei werden für eine vorgegebene Anzahl von Daten drei Prüfbits angefügt.
Deshalb wird bei Programmpunkt 100 eine zyklische Blockcodedecodierung durchgeführt. Dabei wird eine Fehlerdetektion durchgeführt, die eine Aussage darüber erlaubt, ob die übertragenen Daten fehlerhaft übertragen wurden. Zyklische Blockcodes sind z. B. bei S. Lin, "Error Control Coding", Prentice-Hall, 1983, Seite 85 ff, beschrieben. Die Information, ob ein Fehler bei der Übertragung aufgetreten ist, wird in einem Speicher abgelegt. Die zyklisch Blockcode decodierten Daten werden in einen Speicher kopiert. Anschließend werden bei Programmpunkt 101 die zyklisch Blockcode decodierten Daten einer arithmetischen Decodierung unterzogen. Bei dieser arithmetischen Decodierung wird eine Verteilungsdichtefunktion der Daten verwendet, die bei der Datenquelle 1 zuvor gemessen wurde. Die arithmetisch decodierten Daten xi werden in einem Speicher abgelegt. Der Index i bezeichnet den Zeittakt des Datums. Bei Programmpunkt 102 werden aus den arithmetisch decodierten Daten zeitlich folgende Daten prädiziert.
Bei der Übertragung von Bilddaten eines Bildes werden z. B. die Luminanzwerte pixelweise von links nach rechts und zeilenweise von oben nach unten übertragen. Fig. 3 zeigt schematisch einen Bildausschnitt, der aus aufeinanderfolgenden Bildzeilen 20, 21 besteht. Bildzeile 20 weist einen ersten Bildpunkt D 22 und einen zweiten Bildpunkt C 23 auf. Die zweite Bildzeile 21 zeigt einen ersten Bildpunkt D 24 und einen zweiten Bildpunkt A 25. Sind nun die Luminanzwerte des ersten und zweiten Bildpunktes 22, 23 der ersten Zeile 20 und des ersten Bildpunktes 24 der zweiten Bildzeile 21 bekannt, so wird der Luminanzwert des zweiten Bildpunktes 25 der zweiten Bildzeile 21 aus den Luminanzwerten des ersten und zweiten Bildpunktes 22, 23 der ersten Bildzeile und des ersten Bildpunktes 24 der zweiten Bildzeile 21 ermittelt.
Dabei wird eine örtliche lineare Prädiktion dritter Ordnung durchgeführt. Der Bildpunkt A wird mit Hilfe der Bildpunkte B, C und D prädiziert.
Der Luminanzwert XA im Bildpunkt A wird berechnet nach:
A = 0.52 * (XB + XC) - 0.058 XD (1)
wobei mit XB, XC und XD die Luminanzwerte an den Bildpunkten B, C und D bezeichnet sind. Mit werden die prädizierten Luminanzwerte gekennzeichnet.
Die Wahrscheinlichkeitsdichtefunktion des Prädiktionsfehlers e = X - wurde gemessen und durch eine Laplace-Verteilung approximiert.
Mit δe ist die Standardabweichung bezeichnet.
Aus der Laplace-Verteilung pe läßt sich ein Zuverlässigkeitswert Lpräd wie folgt berechnen. Repräsentativ für die Prädiktion einer vorgegebenen Anzahl N von Bildpunkten wird eine Mittelwertdifferenz gebildet:
= 1/N (Xi - i) (3)
Die Wahrscheinlichkeit für eine richtige Prädiktion ist:
Pr = pe(e) (4)
Die Zuverlässigkeit ist dann in Form eines Log-Likelihood-Verhältnisses zu berechnen:
Lpräd = log [(1 - Pr)/Pr) (5)
Die prädizierten Luminanzwerte i werden in einem Speicher zwischengespeichert.
Beim folgenden Programmpunkt 103 werden die präzidierten Luminanzwerte i einer arithmetischen Codierung unterzogen. So werden arithmetisch codierte und präzidierte Luminanzwerte i erhalten. Beim folgenden Programmpunkt 104 werden die arithmetisch codierten und präzidierten Luminanzwerte i mit den kanaldecodierten Luminanzwerten vi des gleichen Zeittaktes i verglichen. Dabei erfolgt die Abfrage, ob der präzidierte, arithmetisch codierte Luminanzwert i gleich dem kanaldecodierten Luminanzwert vi ist. Ist dies nicht der Fall, so wird nach Programmpunkt 105 verzweigt. Bei Programmpunkt 105 wird eine Änderung der Verteilungsdichtefunktion der Daten, die zur arithmetischen Decodierung verwendet wird, vorgenommen.
Die Änderungen der Verteilungsdichtefunktion wird anhand der Fig. 4 beschrieben. Fig. 4 zeigt unter a) schematisch eine Verteilungsdichtefunktion der Daten, die z. B. bei der Datenquelle 1 gemessen wurde. Dabei ist ein Wertebereich von 0 bis 1 in einzelne Teilwertebereiche unterteilt. Die Grenzen der Teilwertebereiche werden durch kumulative Wahrscheinlichkeiten Pi gebildet. Die kumulativen Wahrscheinlichkeiten Pi berechnen sich folgendermaßen:
wobei mit pj die Auftrittswahrscheinlichkeit eines Symboles si der Datenquelle 1 bezeichnet ist. Jede Folge von Symbolen si wird mit Hilfe der arithmetischen Codierung einer reellen Zahl C zugeordnet. Die reelle Zahl C wird nach folgender Formel
Ci+1 = Ci + Ii · Pi+1
gebildet.
Das Intervall Ii stellt den Wertebereich von 0 bis 1 dar. Die folgenden Intervalle Ii+1 werden nach folgender Formel:
Ii+1 = Ii · Pi
bestimmt.
Für die Decodierung wird die reelle Zahl Ci mit den kumulativen Wahrscheinlichkeiten Pi verglichen. Aus dem folgenden Vergleich ergibt sich, daß das Symbol si decodiert wurde, wenn Pi<Ci<Pi+1 ist. Daraufhin wird
Ci+1=Ci-Pi und ein neues Intervall
Ii+1=Ii/Pi
gebildet, wobei das neue Intervall wieder entsprechend den kumulativen Wahrscheinlichkeiten unterteilt ist. Die neue reelle Zahl Ci+1 wird wiederum mit den kumulativen Wahrscheinlichkeiten des neuen Intervalls Ii+1 verglichen und ein weiteres Symbol si+1 decodiert.
Es lassen sich bei der Verwendung binärer Symbole der Datenquelle 1 zwei Fälle unterscheiden. Ist das entschiedene Datum uj = 0, so gibt die entsprechende Zuverlässigkeitsinformation Lj die Zuverlässigkeit dafür an, daß eine gesendete zweite Anzahl C₂ an Symbolen länger ist als eine empfangene erste Anzahl C₁ an Symbolen, da ja uj = 0 anstelle von uj = 1 falsch detektiert sein könnte.
Die empfangene Anzahl C₁ ist in Fig. 4 b) schematisch dargestellt. Die gesendete Anzahl C₂ ist in Fig. 4c) schematisch dargestellt. In diesem Fall wird, wenn die Anzahl C₁ der empfangenen Symbole in den Teilwertebereich zwischen Pi und Pi+1 der Verteilungsdichtefunktion fällt, der kumulativen Wahrscheinlichkeit Pi+1 ein neuer Wert Pi+1, zugewiesen werden, wobei die Zuverlässigkeitsinformation dabei berücksichtigt wird.
Ist umgekehrt das entschiedene Datum uj gleich 1, so bezeichnet die entsprechende Zuverlässigkeitsinformation Lj, daß die Anzahl C₂ der gesendeten Symbole ui kleiner/gleich der Anzahl C₁ der empfangenen Symbole ui ist, da ja, obwohl eine 1 detektiert wurde, eine 0 gesendet worden sein kann. Dies bedeutet, daß die kumulative Wahrscheinlichkeit Pi unter Berücksichtigung der Zuverlässigkeitsinformation aktualisiert werden muß. Dieser Fall ist in den Fig. 4 d-f dargestellt. Die Aktualisierung der kumulativen Wahrscheinlichkeiten Pi bzw. Pi+1 erfolgt durch folgende Formeln:
Pi,neu = (1-Lj) (Pi,alt+2-j) + LjPi,alt (7)
Pi+1,neu = (1-Lj) (Pi+1,alt-2-j) + LjPi+1,alt (8)
wobei der Index j eine Laufvariable darstellt, mit der die Daten der Datenquelle 1 innerhalb einer vorgegebenen Anzahl von Datenbits, z. B. einer Zeile eines Bildes, numeriert sind.
Ist das Datum uj sicher decodiert worden, dann ergibt sich für die Zuverlässigkeitsinformation Lj der Wert 1, d. h. die kumulativen Wahrscheinlichkeiten Pi und Pi+1 behalten ihre Werte bei. Im Falle einer extrem unsicheren Kanaldecodierung erhält die Zuverlässigkeitsinformation Lj den Wert 0, d. h. es erfolgt eine Aktualisierung nach den Formeln (7) und (8). Diese Aktualisierung entspricht bei binären Daten dem Umkippen eines Bits bzw. einer ganzzahligen Anzahl von Datenbits. Nimmt die Zuverlässigkeitsinformation Lj Zwischenwerte an, so entspricht die beschriebene Aktualisierung dem Umkippen einer nicht ganzzahligen Anzahl von Datenbits. Es muß dafür gesorgt werden, daß durch die Aktualisierung der Verteilungsdichtefunktion keine unmöglichen Ereignisse auftreten. Die Werte der kumulativen Wahrscheinlichkeiten Pi sind der Größe nach geordnet:
P₁ < P₂ < . . . Pi-1 < Pi < Pi+1 < Pn.
Diese Ordnung muß auch nach der Aktualisierung beibehalten werden. Damit diese Bedingung immer erfüllt bleibt, ist eine Zwischenvariable a eingeführt worden, die Werte zwischen 0 und 1 einnehmen kann. Mit Hilfe der Zwischenvariablen läßt sich die Gleichung (7) wie folgt umschreiben:
Pi,neu = (1-Lj)[(1-a)Pi-1 + a Pi+1] + LjPi,alt (9)
mit
Pi+1,neu = (1-Lj) [(1-b)Pi + bPi+2] + LjPi+1,alt (10)
mit
Die beschriebenen Formeln zur Aktualisierung der Verteilungsdichtefunktion können je nach Anwendung auch anders lauten.
Ergibt die Abfrage bei Programmpunkt 104, daß das prädizierte und arithmetisch codierte Datum i gleich dem kanaldecodierten Datum vi ist, so wird nach Programmpunkt 114 verzweigt. Bei Programmpunkt 114 erfolgt eine arithmetische Decodierung des kanaldecodierten Datums vi mit der ersten Verteilungsdichtefunktion. Anschließend wird nach Programmpunkt 107 verzweigt.
Bei Programmpunkt 106 erfolgt eine arithmetische Decodierung des kanaldecodierten Datums vi mit der veränderten Verteilungsdichtefunktion. Stellt das kanaldecodierte Datum eine 0 dar, so wird bei der arithmetischen Decodierung eine neue obere Grenze Pi+1 entsprechend Formel (8) oder (10) verwendet. Stellt das kanaldecodierte Datum vi eine 1 dar, so wird bei der arithmetischen Decodierung eine neue untere Grenze Pi entsprechend Formel (7) oder (9) verwendet. Anschließend erfolgt bei Programmpunkt 107 die Abspeicherung des arithmetisch decodierten Datums als erstes entschiedenes Datum ui (1).
Anschließend erfolgt bei Programmpunkt 115 die Abfrage, ob eine weitere Verarbeitung des ersten entschiedenen Datums erfolgen soll oder nicht. Soll bei einfachen Verfahren keine weitere Verarbeitung des ersten entschiedenen Datums erfolgen, so wird nach Programmpunkt 100 zurückverzweigt. Soll jedoch eine weitere Bearbeitung erfolgen, so wird bei Programmpunkt 108 aus dem abgespeicherten prädizierten Datum xi eine zweite Zuverlässigkeitsinformation Lxi mit der Formel (5) berechnet und abgespeichert.
Beim folgenden Programmpunkt 109 wird aus der Zuverlässigkeitsinformation Li der entschiedenen Daten eine Entropie H (L) der Zuverlässigkeitsinformationen einer vorgegebenen Anzahl N an Datenbits unter Verwendung der folgenden Formel ermittelt:
wobei p(Ln) die Auftrittswahrscheinlichkeit des Wertes Ln bezeichnet. Mit L ist ein Vektor entsprechend der folgenden Formel: L = (L₁, L₂, . . . , LN), bezeichnet. In diesem Ausführungsbeispiel wird als vorgegebene Anzahl N an Datenbits die Anzahl an Datenbits verwendet, die zur Darstellung der Bildpunkte eines Bildes notwendig ist. Aus zeitlich aufeinanderfolgenden Bildzeilen wird ein Aktualisierungswert E nach folgender Formel Ei, (i-1) = 10 log₁₀ H(Li)/H(Li-1) berechnet. Dabei bedeutet der Index i bzw. i-1 die Bildzeile i bzw. i-1. Li stellt in diesem Fall eine über die Bildzeile i gemittelte Zuverlässigkeitsinformation dar. Der Aktualisierungswert wird zwischengespeichert.
Bei Programmpunkt 110 wird das arithmetisch decodierte Datum xi als zweites entschiedenes Datum ui (1) mit der entsprechenden Zuverlässigkeitsinformation Li ausgewählt wenn die Fehlerrate der BCH-Decodierung unter einem vorgegebenen Wert liegt und wenn der Aktualisierungswert kleiner als eine vorgegebene Schwelle ist, und wenn die Zuverlässigkeitsinformation Li größer ist als die aus dem prädizierten Datum ermittelte zweite Zuverlässigkeitsinformation Lxi. In allen anderen Fällen wird das prädizierte Datum i mit der zweiten Zuverlässigkeitsinformation Lxi als zweites entschiedenes Datum ermittelt. An Stelle der ersten über eine Bildzeile gemittelten Zuverlässigkeitsinformation Li kann auch für jeden Bildpunkt eine Zuverlässigkeitsinformation verwendet werden. Der Aktualisierungswert Ei, i-1 wird dann auch für jeden Bildpunkt gebildet.
Daraufhin folgt Programmpunkt 111, bei dem aus dem ersten entschiedenen Datum xi unter Verwendung einer Laplace-Verteilung eine dritte Zuverlässigkeitsinformation nach Formel (5) ermittelt wird. Anschließend erfolgt bei Programmpunkt 112 ein Vergleich der dritten Zuverlässigkeitsinformation mit der im Programmschritt 110 ausgewählten Zuverlässigkeitsinformation, wobei als drittes entschiedenes Datum das Datum mit der größten Zuverlässigkeitsinformation ausgewählt wird. Anschließend wird bei Programmpunkt 113 das dritte entschiedene Datum an die Datensenke 9 weitergegeben und nach Programmpunkt 100 zurückverzweigt.
Bei einfachen Kanalcodierungsverfahren kann die zyklische Blockcodierung entfallen.
Anhand des folgenden einfachen Beispiels wird das Prinzip der arithmetischen Codierung beschrieben. Wir betrachten ein Alphabet mit N = 5 Symbolen A, B, C, D und E mit den folgenden Auftritts- pA und Kumulativwahrscheinlichkeiten PA:
pA = 0.07;
PA = 0.00
pB = 0.30 PB = 0.07
pC = 0.09 PC = 0.37
pD = 0.42 pD = 0.46
pE = 0.12 PE = 0.88
Nun bilden wir den arithmetischen Code für die Symbolfolge CBD.
Für das Symbol C ergibt sich als Anfangspunkt Cc und als Intervall IC nach folgender Berechnung:
Cc = C₀ + I₀ * Pc
= 0.0 + 1.0 * 0.37 = 0.37
Ic = I₀ * pc
= 1.0 * 0.09 = 0.09
Für den Anfangswert C₀ wurde 0.0 und für das Anfangsintervall I₀ wurde 1.0 eingesetzt.
Für das Symbol B, das nach dem Symbol C folgt ergeben sich für den Anfangspunkt CCB und für das Intervall ICB folgende Werte:
CCB = Cc + Ic * pB
= 0.37 + 0.09 * 0.07 = 0.3763
ICB = IC * pB
= 0.09 * 0.30 = 0.027
Für das Symbol D, das auf die Symbole C und B folgt, ergeben sich für den Anfangspunkt CCBD und das Intervall ICBC folgende Werte:
CCBD = CCB + ICB * PD
= 0.3763 + 0.027 * 0.46 = 0.38872
ICBD = ICB * pD
= 0.027 * 0.42 = 0.01134
Wie man aus diesem Beispiel erkennen kann, ist es notwendig ein End Of String (EOS) Codewort einzuführen. Die binäre Darstellung von CCBD = 0.38872 = (0.011000111 . . .) muß übertragen werden. Da aber jede reelle Zahl im Bereich zwischen 0.38872 und 0.40006 die selbe Nachricht darstellt, muß nur die binäre Zahl 011000111 übertragen werden.
Der Empfänger erhält die Bitfolge Cemp = 011000111 . . . Durch Intervallsuche erhalten wir:
PC </= Cemp = 0.38872 < PD → Das erste Symbol ist C
Cneu = (Calt - PC)/PD = 0.01872/0.09 = 0.208
PB </= Cnew = 0,208 < PC → Das zweite Symbol ist B
Cneu = (Calt - PB)/pB = 0.138/0.3 = 0.46
PD </= Cnew = 0.46 < PE → Das letzte Symbol ist D.
Auf diese Weise wird aus der Bitfolge Cemp = 011000111 die Symbolfolge CBD durch arithmetische Decodierung ermittelt.

Claims (5)

1. Verfahren zur arithmetischen Decodierung von Daten, wobei eine ermittelte Verteilungsdichtefunktion der Daten, die zur arithmetischen Decodierung der Daten verwendet wird, geändert wird, dadurch gekennzeichnet, daß die kanalcodierten Daten nach einem Soft-Viterbi-Algorithmus kanaldecodiert werden und erste Zuverlässigkeitsinformationen ermittelt werden, daß die kanaldecodierten Daten gespeichert werden, daß aus den kanaldecodierten Daten arithmetisch decodierte Daten ermittelt werden, daß aus einer vorgegebenen Anzahl der arithmetisch decodierten Daten Daten prädiziert werden, daß die prädizierten Daten arithmetisch codiert werden und mit den entsprechenden, d. h. örtlich oder zeitlich gleichen, gespeicherten kanaldecodierten Daten verglichen werden, und daß bei nicht Übereinstimmung der prädizierten arithmetisch codierten Daten mit den kanaldecodierten Daten bei einem kleinen Wert des kanaldecodierten Datums und einer kleinen ersten Zuverlässigkeitsinformation ein oberer Wert eines Wertebereiches der Verteilungsdichtefunktion, in den das kanaldecodierte Datum fällt, hin zu kleineren Werten geändert wird, und daß bei einem großen Wert des kanaldecodierten Datums und einer kleinen ersten Zuverlässigkeitsinformation ein unterer Wert eines Wertebereiches der Verteilungsdichtefunktion, in den das kanaldecodierte Datum fällt, hin zu größeren Werten geändert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß aus einer vorgegebenen Anzahl prädizierter Daten eine zweite Zuverlässigkeitsinformation ermittelt wird, daß aus der ersten Zuverlässigkeitsinformation ein Maß für die Fehlerfreiheit einer vorgegebenen Anzahl an Daten in Form einer Entropie berechnet wird, daß das arithmetisch decodierte Datum und die erste Zuverlässigkeitsinformation ausgewählt werden, wenn das Maß für die Fehlerfreiheit über einer vorgegebenen Schwelle liegt und die zweite Zuverlässigkeitsinformation kleiner als die erste Zuverlässigkeitsinformation ist, und daß das prädizierte Datum und die zweite Zuverlässigkeitsinformation in den anderen Fällen ausgewählt werden, daß aus dem Datum, das nach der geänderten Verteilungsdichtefunktion arithmetisch decodiert worden ist, eine dritte Zuverlässigkeitsinformation gebildet wird, daß die ausgewählte erste oder zweite Zuverlässigkeitsinformation mit der dritten Zuverlässigkeitsinformation verglichen wird, und daß das Datum mit der größeren Zuverlässigkeitsinformation als entschiedenes Datum verwendet wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die kanalcodierten Daten mittels zyklischer Blockcodes (BCH) codiert sind und unter Verwendung der zyklischen Blockcodes (BCH) decodiert werden, daß bei der zyklischen Blockcode-Decodierung eine Fehlerdetektion durchgeführt wird, und daß das arithmetisch decodierte Datum nur als entschiedenes Datum ausgewählt wird, wenn die detektierte Anzahl an Fehlern unter einer vorgegebenen Schwelle liegt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die erste und/oder zweite und/oder die dritte Zuverlässigkeitsinformation über eine vorgegebene Anzahl von Daten gemittelt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein Maß für fehlerhaft übertragene Daten ermittelt wird und daß das Maß über eine vorgegebene Anzahl von Daten gemittelt wird.
DE4429585A 1994-08-19 1994-08-19 Verfahren zur arithmetischen Decodierung Expired - Lifetime DE4429585C1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE4429585A DE4429585C1 (de) 1994-08-19 1994-08-19 Verfahren zur arithmetischen Decodierung
DE59510488T DE59510488D1 (de) 1994-08-19 1995-08-16 Verfahren zur arithmetischen Decodierung
EP95112839A EP0697770B1 (de) 1994-08-19 1995-08-16 Verfahren zur arithmetischen Decodierung
JP21085895A JP3746092B2 (ja) 1994-08-19 1995-08-18 データを算術デコーディングする方法
US08/517,540 US5737345A (en) 1994-08-19 1995-08-21 Method for arithmetic decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4429585A DE4429585C1 (de) 1994-08-19 1994-08-19 Verfahren zur arithmetischen Decodierung

Publications (1)

Publication Number Publication Date
DE4429585C1 true DE4429585C1 (de) 1995-11-23

Family

ID=6526179

Family Applications (2)

Application Number Title Priority Date Filing Date
DE4429585A Expired - Lifetime DE4429585C1 (de) 1994-08-19 1994-08-19 Verfahren zur arithmetischen Decodierung
DE59510488T Expired - Lifetime DE59510488D1 (de) 1994-08-19 1995-08-16 Verfahren zur arithmetischen Decodierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE59510488T Expired - Lifetime DE59510488D1 (de) 1994-08-19 1995-08-16 Verfahren zur arithmetischen Decodierung

Country Status (4)

Country Link
US (1) US5737345A (de)
EP (1) EP0697770B1 (de)
JP (1) JP3746092B2 (de)
DE (2) DE4429585C1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19717546A1 (de) * 1996-12-05 1998-06-10 Deutsche Telekom Ag Verfahren und Vorrichtung zur Decodierung bei einem CDMA-Übertragungssystem zum Demodulieren eines Empfangssignals, das in serieller Codeverkettung vorliegt
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2306866B (en) * 1995-10-26 1998-08-05 Bosch Gmbh Robert Method of obtaining information about the residual errors in a transmitted channel-decoded digital signal
US5936559A (en) * 1997-06-09 1999-08-10 At&T Corporation Method for optimizing data compression and throughput
JP4033245B2 (ja) * 1997-09-02 2008-01-16 ソニー株式会社 ターボ符号化装置およびターボ符号化方法
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US6318156B1 (en) * 1999-10-28 2001-11-20 Micro Motion, Inc. Multiphase flow measurement system
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US7844579B2 (en) * 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US7117418B2 (en) 2000-09-11 2006-10-03 Comtech Aha Corporation Soft input-soft output forward error correction decoding for turbo codes
EP3407610B1 (de) 2011-06-24 2019-09-04 Sun Patent Trust Kodierungsverfahren und kodierungsvorrichtung
RU2611022C1 (ru) * 2016-01-28 2017-02-17 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ совместного арифметического и помехоустойчивого кодирования (варианты)
RU2702724C2 (ru) * 2018-02-19 2019-10-09 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ совместного арифметического и помехоустойчивого кодирования и декодирования
RU2718213C1 (ru) * 2019-10-08 2020-03-31 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ совместного арифметического и помехоустойчивого кодирования и декодирования

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0412047A1 (de) * 1989-07-28 1991-02-06 International Business Machines Corporation Verfahren und System der arithmetischen Kodierung und Dekodierung
US5025258A (en) * 1989-06-01 1991-06-18 At&T Bell Laboratories Adaptive probability estimator for entropy encoding/decoding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792954A (en) * 1986-10-31 1988-12-20 International Business Machines Corporation Concurrent detection of errors in arithmetic data compression coding
DE59009376D1 (de) * 1990-01-30 1995-08-10 Siemens Ag Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes.
US5167034A (en) * 1990-06-18 1992-11-24 International Business Machines Corporation Data integrity for compaction devices
JP3237864B2 (ja) * 1991-06-17 2001-12-10 沖電気工業株式会社 軟判定ビタビ復号方法
JPH05199124A (ja) * 1992-01-21 1993-08-06 Nec Corp 音声通信方式
DE4224214C2 (de) * 1992-07-22 1995-02-09 Deutsche Forsch Luft Raumfahrt Verfahren zur quellengesteuerten Kanaldecodierung durch Erweiterung des Viterbi-Algorithmus
US5671156A (en) * 1995-03-31 1997-09-23 Lucent Technologies Inc. Transmission method and system for JPEG images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025258A (en) * 1989-06-01 1991-06-18 At&T Bell Laboratories Adaptive probability estimator for entropy encoding/decoding
EP0412047A1 (de) * 1989-07-28 1991-02-06 International Business Machines Corporation Verfahren und System der arithmetischen Kodierung und Dekodierung

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HAGENAUER, J.: A Viterbi Algorithm with Soft- Decision Outputs and its Appliction. In: Global Telecommunication Conference, Dallas, 1989, S.1680-1686 *
LIN, S.: Error Control Coding, Prentice-Hall, 1983, S.85ff *
MANN PELZ, R.: Bild- und Sprachübertragung in Mobilfunkkanälen. In: Nachrichtentechnik, Elektronik, Berlin 42, 1992, Nr.1, S.7-12 *
WITTEN et al.: Arithmetic Coding for Data Compression. In: Communications of the ACM, June 1987, Nr.6, S.520-540 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19717546A1 (de) * 1996-12-05 1998-06-10 Deutsche Telekom Ag Verfahren und Vorrichtung zur Decodierung bei einem CDMA-Übertragungssystem zum Demodulieren eines Empfangssignals, das in serieller Codeverkettung vorliegt
DE19717546B4 (de) * 1996-12-05 2014-05-15 Deutsche Telekom Ag Verfahren und Vorrichtung zur Decodierung bei einem CDMA-Übertragungssystem zum Demodulieren eines Empfangssignals, das in serieller Codeverkettung vorliegt
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation

Also Published As

Publication number Publication date
EP0697770A1 (de) 1996-02-21
DE59510488D1 (de) 2003-01-16
JP3746092B2 (ja) 2006-02-15
US5737345A (en) 1998-04-07
JPH0879095A (ja) 1996-03-22
EP0697770B1 (de) 2002-12-04

Similar Documents

Publication Publication Date Title
DE4429585C1 (de) Verfahren zur arithmetischen Decodierung
DE19630343B4 (de) Verfahren und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
DE69634155T2 (de) Erfassung einer Konfidenz und eines Rahmen-Qualitäts-Signals in einem &#34;soft decision&#34;-Faltungs-Dekoder
EP0392603B1 (de) Übertragungssystem
EP1198913B1 (de) Verfahren zum fehlerschutz eines datenbitstromes
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
DE3910739A1 (de) Verfahren zur verallgemeinerung des viterbi-algorithmus
EP0749211A2 (de) Verfahren und Codiereinrichtung zur gesicherten Übertragung von Daten mittels Mehrkomponenten-Codierung
EP0698316B1 (de) Verfahren zum Übertragen von Bildern mit ungleichem Fehlerschutz
DE19952683A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Video-Daten
DE60316428T2 (de) Verfahren, Kodierer und Kommunikationsvorrichtung zur Kodierung von parallel verketteten Daten
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE10010238C2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE69836119T2 (de) Tail-biting Faltungskode-Dekodierverfahren und -system
DE19521327A1 (de) Verfahren und Codiereinrichtung zur gesicherten Übertragung von Information mittels Mehrkomponenten-Codierung
DE2826454A1 (de) Faksimilesignal-codiersystem
DE69531124T2 (de) Vorrichtung zur Empfangsverarbeitung mit umschaltbarem Entscheidungsblock zur Verringerung des Energieverbrauchs
DE60118716T2 (de) Log-MAP Dekodierung
DE60316537T2 (de) Verfahren zur Dekodierung von Kodes variabler Länge sowie entsprechender Empfänger
DE19520987A1 (de) Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
EP1826911A1 (de) Codierung und Decodierung mit Trellis-codierter Modulation
DE102016201408B4 (de) Verfahren zum Übertragen von Daten
DE1944963A1 (de) Stoerungsgesichertes UEbertragungssystem
DE2163105A1 (de) Verfahren und schaltungsanordnung zum dekodieren und korrigieren eines sogenannten convolutional-code

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8321 Willingness to grant licences paragraph 23 withdrawn
8327 Change in the person/name/address of the patent owner

Owner name: IPCOM GMBH & CO. KG, 82049 PULLACH, DE

R071 Expiry of right
R071 Expiry of right