DE10000932A1 - Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms - Google Patents
Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines DatenstromsInfo
- Publication number
- DE10000932A1 DE10000932A1 DE2000100932 DE10000932A DE10000932A1 DE 10000932 A1 DE10000932 A1 DE 10000932A1 DE 2000100932 DE2000100932 DE 2000100932 DE 10000932 A DE10000932 A DE 10000932A DE 10000932 A1 DE10000932 A1 DE 10000932A1
- Authority
- DE
- Germany
- Prior art keywords
- code word
- branch
- sequence
- information
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6312—Error control coding in combination with data compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Bei einem Verfahren zum Decodieren einer Folge von Codewörtern variabler Länge, um die zugrunde liegende Folge von Informationssymbolen zu erhalten, wird zunächst die Anzahl der Codewörter der Folge und die Anzahl der Codewort-Einheiten der Folge bereitgestellt, um dann ein Trellis-Diagramm zu liefern, das Zweige und Knoten für Codewort-Übergänge bzw. Codewort-Zustände der Folge hat, und das darüber hinaus Unterzweige und Unterknoten für Codewort-Einheiten-Übergänge und Codewort-Einheiten-Zustände der Folge von Codewörtern aufweist. Unter Verwendung des Trellis-Diagramms, das in einem definierten Anfangszustand beginnt und in einem definierten Endzustand endet, der von der Anzahl von Codewörtern der Folge und von der Anzahl der Codewort-Einheiten der Folge abhängt, unter Verwendung von Soft-Input-Informationen für den Datenstrom kann in einem Schritt des Decodierens dann eine Sequenzschätzung mittels des Viterbi-Algorithmus oder eine symbolweise oder Codewort-Einheiten-weise Maximum-A-Posteriori-Schätzung unter Verwendung eines beliebigen Soft-Input-Soft-Algorithmus durchgeführt werden, um die Fehlertolernaz beim Decodieren von Codewörtern variabler Länge zu verbessern. Durch Einsatz dieses Verfahrens in einem verketteten Decodierschema mit einem äußeren und einem inneren Codierer kann unter Einsatz einer iterativen Decodierung bei gleichbleibender Sendeleistung die Symbolfehlerrate bzw. bei gleichbleibender Symbolfehlerrate die Sendeleistung reduziert werden.
Description
Die vorliegende Erfindung bezieht sich auf Codiertechniken
und insbesondere auf Codier- und Decodiertechniken, die zur
Datenreduktion eingesetzt werden, und die insbesondere in
der digitalen Übertragungstechnik Anwendung finden können.
In fast allen modernen Datenkompressionsverfahren werden
heutzutage Variable-Länge-Codes (VLCs) eingesetzt. VL-Codes
zeichnen sich dadurch aus, daß nicht alle Codewörter eines
Codes dieselbe Länge haben, sondern daß die Codewörter eines
Codes unterschiedliche Längen haben können. Im Falle einer
digitalen Applikation entspricht die Länge eines Codeworts
der Anzahl der Bits, die ein Codewort hat. Allgemein gespro
chen werden Codewörter variabler Länge aus unterschiedlichen
Anzahlen von Codewort-Einheiten gebildet.
Die Huffman-Codierung ist die bekannteste Codierung auf die
sem Gebiet. Wird eine Folge von Informationssymbolen
Huffman-codiert, so wird üblicherweise zunächst festge
stellt, welche Symbole wie oft in der Folge von Symbolen
auftreten. Dem Nachrichtensymbol, das am häufigsten auf
tritt, wird dann das kürzeste Wort einer Codetabelle, die
auch als Codebook bezeichnet wird, gegeben. Dem Informa
tionssymbol, das am seltensten auftritt, wird dagegen das
längste Codewort gegeben. Die restlichen Codewörter werden
entsprechend ihrer Länge vergeben. Damit wird erreicht, daß
die Folge von Nachrichtensymbolen unter minimalem Aufwand an
Codewort-Einheiten, bzw. Bits im binären Fall, übertragen
oder gespeichert werden kann. Ein Beispiel für einen Code
mit Codewörtern variabler Länge ist das allseits bekannte
Morse-Alphabet.
Huffman-Codes sind präfixfrei. Dies bedeutet, daß die ein
zelnen Codewörter nicht durch irgendeine Markierung oder
ähnliches voneinander getrennt sind, sondern daß in einem
Strom von Huffman-Codewörtern die Codewörter ohne irgend
welche Trennzeichen einfach nacheinander übertragen werden,
also eine Folge von Bits sind. Ein Decodierer steht nun vor
der Aufgabe, zu erkennen, wann ein Codewort endet und wann
das nächste Codewort anfängt. Dieses Erkennen wird dem Deco
dierer durch die Konstruktion des VL-Codes ermöglicht.
Dies kann man sich anschaulich anhand eines Codebaums für
binäre Codewörter vorstellen. Der Baum startet von einer
Wurzel und hat von dort ausgehend zwei Zweige, nämlich einen
zum Bit 0 und einen zum Bit 1. Wenn das Bit 0 ein gültiges
Codewort ist, was oftmals der Fall ist, da das Codewort nur
ein Bit, nämlich das Bit 0 hat, und das Informationssymbol
darstellt, das am häufigsten auftritt, kann kein anderes
Codewort mehr mit einem Bit 0 beginnen, sondern alle anderen
Codewörter können nur noch mit einer 1 beginnen. Der Zweig,
der von der Wurzel des Baumes zum Bit 0 geht, ist somit
durch ein gültiges Codewort abgeschlossen. Ein Huffman-De
codierer weiß dann, daß die 0 ein Codewort ist, da es an dem
ihm bekannten Baum im Falle einer 0 einfach nicht mehr wei
tergeht.
Entsprechend werden dann die Codewörter für einen typischer
weise weit verzweigten Baum verglichen, wobei jedes Codewort
einen Zweig abschließt, und der Decodierer dann, wenn er
dort angelangt ist, weiß, daß er nun das ganze Codewort hat,
und daß das nächste Bit im zu decodierenden Datenstrom, der
im binären Fall ein Bitstrom ist, der Beginn eines neuen
Codeworts ist.
Dieses Prozedere läuft gut, sicher und zuverlässig ab, wenn
während der Übertragung oder Speicherung der zu decodieren
den Folge von VL-Codewörtern kein Übertragungsfehler aufge
treten ist. Ist jedoch lediglich ein Bit gestört worden, z.
B. von einer 0 auf eine 1 "umgesprungen", so wird der Deco
dierer beim Decodieren fehlgeleitet und gelangt zu einem
anderen Codewort aufgrund der Störung, was dazu führt, daß
er einen Fehler ausgibt, der jedoch nicht unmittelbar als
Fehler erkannt werden kann.
Schlimmer ist jedoch die Tatsache, daß der Anfang des näch
sten Codeworts ebenfalls nicht mehr richtig erkannt werden
kann, da der Decodierer ein Bit für den Anfang eines näch
sten Codeworts hält, das sehr wahrscheinlich nicht der An
fang des gesendeten Codeworts ist. Der Decodierer erzeugt
somit unaufhörlich Folgefehler, was dazu führen kann, daß er
sämtliche VL-Codewörter nach dem einzigen fehlerhaften Bit
falsch decodiert. Wenn die Bitstörung ganz am Anfang einer
Sequenz von Codewörtern auftritt, wird dies aufgrund eines
einzigen Bitfehlers von beispielsweise 1000 Bit zum völligen
Verlust der 1000 Bit bzw. der Informationen, die durch die
1000 Bit repräsentiert werden, führen.
VL-Codes und insbesondere der Huffman-Code, der datenkom
pressionsmäßig optimal ist, werden heutzutage z. B. in den
modernen Datenkompressionsverfahren für Audiosignale
und/oder Videosignale nach einem der MPEG-Standards einge
setzt.
Im Falle einer Übertragung von derart komprimierten Audio
signalen und/oder Videosignalen über einen fehlerbehafteten
Kanal, wie z. B. einen Freiluftübertragungskanal, ist die
Wahrscheinlichkeit groß, daß Übertragungsfehler zu Bitstö
rungen führen werden. Um diesen Störungen entgegen zu wir
ken, haben übliche Nachrichtensender ein Vorwärtsfehlerkor
rektur-Modul (FEC-Modul), das auch als Kanalcodierer be
zeichnet wird. Hierbei wird auf für Fachleute bekannte Art
und Weise in den komprimierten Datenstrom eine Redundanz
eingeführt, die durch die sogenannte Coderate des Kanalco
dierers bestimmt ist. Wird ein Kanalcodierer mit einer Code
rate von 1/2 verwendet, so bedeutet dies, daß aus einem zu
codierenden Bit zwei Bits erzeugt werden, die dann nach weiteren
bekannten Signalverarbeitungen übertragen werden.
Typischerweise liefert ein digitaler Nachrichtenempfänger
zunächst keine harten Bitentscheidungen, sondern beispiels
weise am Ausgang eines Detektors z. B. einen Spannungswert,
der erst in eine binäre Information transformiert werden
muß. Dies sei anhand des folgenden einfachen Beispiels er
läutert. Es sei angenommen, daß eine binäre Null durch einen
Spannungspegel von 0 V dargestellt wird, während eine binäre
Eins durch einen Spannungspegel von 1,0 V dargestellt wird.
Nun liefert ein Detektor beispielsweise einen Ausgangsspan
nungswert von 0,7 V. Im Falle einer sogenannten harten Ent
scheidung wird dieser erhaltene Spannungswert von 0,7 V
einer harten Schwellenentscheidung unterzogen, welche im
Falle eines Spannungswerts, der beispielsweise größer als
0,5 V ist, anzeigt, daß eine binäre Eins vorliegt, und der
im Falle eines Spannungswerts kleiner als 0,5 V angibt, daß
eine binäre Null vorliegt. Derartige harte Entscheidungen
werden für übliche Huffman-Decodierer benötigt, da dieselben
als Eingangswerte lediglich die Folge von Bits aufnehmen
können, um das einem Codewort zugeordneten Informationssym
bol ausgeben zu können.
Wird eine sogenannte weiche Entscheidung durchgeführt, so
wird im vorliegenden Falle bestimmt, daß eine binäre Eins zu
70% vorliegt und eine binäre Null zu 30% vorliegt. Diese
beiden Informationen können über ein sogenanntes Log-Likeli
hood-Ratio zusammengefaßt werden, welches aus dem Logarith
mus des Verhältnisses der beiden Wahrscheinlichkeiten be
stimmt wird. Im vorliegenden Falle würde das Log-Likeli
hood-Verhältnis einen Wert von log(0,3/0,7) = -0,37 haben.
Ein positives Log-Likelihood-Verhältnis bedeutet, daß die
Wahrscheinlichkeit größer ist, daß eine binäre Null vor
liegt, während ein negatives Log-Likelihood-Verhältnis, wie
im vorliegenden Fall gegeben, bedeutet, daß mit größerer
Wahrscheinlichkeit eine binäre Eins vorhanden ist.
Einfache Huffman-Codierer sind nicht in der Lage, solche
sogenannten Soft-Input-Informationen zu verwenden, um die
Symbol- bzw. Bitfehlerrate zu reduzieren.
In der Fachveröffentlichung "Improved Joint Source-Channel
Decoding For Variable-Length Encoded Data Using Soft
Decisions And MMSE Estimation" von M. Park und D. Miller,
IEEE DCC 1999, Snowbird, UT, USA ist ein Verfahren beschrie
ben, bei dem ein solcher "Soft-Input" verarbeitet werden
kann, um die Decodierung von Variablen-Längen-Codes zuver
lässiger zu machen, wobei generell nicht jedes Codewort für
sich decodiert, sondern für die Codierung die gesamte Folge
betrachtet wird, die sich aus einzelnen Codewörtern zusam
mensetzt. Hierzu wird ein Trellis-Diagramm vorgeschlagen,
welches eine Darstellung mittels eines gerichteten Graphens
ist, um die Decodierung des VLC auf eine sogenannte MAP-Se
quenzschätzung (MAP = Maximum A Posteriori) zurück zu füh
ren. Die horizontale Achse entspricht dabei der Bitzeit, und
die vertikale Achse gibt die entsprechenden Codewörter an.
Das Trellis-Diagramm startet von einem definierten Anfangs
zustand aus und endet in so vielen Endpunkten, wie Huffman-
Codewörter vorhanden sind. Insbesondere ist jedem Decodie
rer-Zustand, der einen Knoten symbolisiert, eine Zahl zuge
ordnet, die die Länge in Bit angibt, die benötigt wird, um
ausgehend von Anfangszustand diesen Zustand zu erreichen.
Wenn dabei von zwei unterschiedlichen Zweigen aus ein Knoten
erreicht wird, muß für diesen Knoten eine unterschiedlich
lange Anzahl von Bitlängen gespeichert werden. Dies führt
letztendlich dazu, daß sich ein sehr komplexes Trellis-Dia
gramm ergibt, das zum einen nicht in einem einzigen Endpunkt
endet, und das zum anderen in seiner Erzeugung, insbesondere
wenn an längere Codes gedacht wird, sehr aufwendig ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
Konzept zum Decodieren einer Folge von Codewörtern variabler
Länge zu schaffen, das in der Anwendung einfacher und über
sichtlicher ist und weniger rechenzeitintensiv implementiert
werden kann.
Diese Aufgabe wird durch ein Verfahren zum Decodieren nach
Patentanspruch 1, durch eine Vorrichtung zum Decodieren nach
Patentanspruch 11, durch eine Vorrichtung zum Erzeugen eines
Datenstroms nach Patentanspruch 14, durch ein Verfahren zum
Erzeugen eines Datenstroms nach Patentanspruch 18, durch ei
ne Vorrichtung zum Decodieren eines Datenstroms nach Patent
anspruch 19 und durch ein Verfahren zum Decodieren eines Da
tenstroms nach Patentanspruch 21 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde,
daß für eine Folge von Codewörtern, die decodiert werden
soll, ein Trellis-Diagramm gefunden und verwendet werden
muß, das einerseits mit überschaubarem Aufwand erzeugt
werden kann, und das sich andererseits dazu eignet, von
bekannten Verfahren zur Sequenzschätzung, wie z. B. dem
Viterbi-Algorithmus, oder von bekannten Verfahren zur sym
bolweisen Schätzung, wie z. B. dem sogenannten BCJR-Algo
rithmus, verwendet zu werden.
Ein solches Trellis-Diagramm kann dann mit den seit langem
bekannten und daher mittlerweile relativ leistungsstark im
plementierten Algorithmen kombiniert werden, wodurch sowohl
der Entwicklungsaufwand als auch die Implementationsprobleme
in einem vertretbaren Rahmen gehalten werden.
Erfindungsgemäß wird zum Decodieren einer Folge von Informa
tionssymbolen ein Trellis-Diagramm bereitgestellt, das einen
definierten Anfangszustand hat, und das einen definierten
Endzustand hat. Der definierte Endzustand hängt von der An
zahl der Codewörter und damit der Anzahl der codierten In
formationssymbole und zugleich von der Anzahl der Codewort
einheiten, d. h. Bits im binären Fall, ab. Dieses Trellis-
Diagramm setzt sich aus Knoten und Zweigen zusammen, wobei
ein Knoten einen Endzustand einer Teilfolge von Codewörtern
darstellt, und wobei ein Zweig ein Codewort darstellt, durch
das von einem Endzustand einer Teilfolge, von dem der Zweig
ausgeht, zu einem Endzustand einer anderen Teilfolge überge
gangen wird, zu dem der Zweig gerichtet ist, wobei die an
dere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt
ist.
Erfindungsgemäß besteht ferner jeder Zweig aus einer Anzahl
von Unterzweigen, wobei die Anzahl von Unterzweigen gleich
der Anzahl von Codewort-Einheiten, d. h. im binären Fall
Bits, ist, wobei jeder Unterzweig eines Zweigs, dem ein
Codewort mit zumindest zwei Codewort-Einheiten zugeordnet
ist, über einen Unterknoten mit einem anderen Unterzweig
verbunden ist, wobei jedoch keine Verbindung zwischen einem
Unterknoten eines Zweigs mit einem Unterknoten eines anderen
Zweiges existiert.
Diese gewissermaßen überlagerte Trellis-Diagrammdarstellung
erlaubt die Anwendung eines Trellis-Diagramms auf Codewörter
variabler Länge. Die eine "Ebene" des Trellis-Diagramms be
faßt sich lediglich mit der Symbolstruktur der Folge von
Codewörtern, so daß die Zweige Codewörter insgesamt darstel
len und die Knoten Endzustände von Teilfolgen bezogen auf
Codewörter darstellen. Die zweite Ebene befaßt sich dagegen
mit der Codewort-Einheiten-Struktur, d. h. Bitstruktur im
binären Fall, der Folge von Codewörtern und ist der ersten
Ebene gewissermaßen überlagert, so daß ein Zweig, der einem
Codewort zugeordnet ist, das z. B. zwei Codewort-Einheiten
hat, zwei Unterzweige aufweist, wobei jeder Unterzweig für
eine Codewort-Einheit steht. Die beiden Unterzweige sind
durch einen Unterknoten verbunden, wobei der Unterknoten als
Endzustand einer Unterfolge jedoch nicht auf Symbolebene
sondern auf Codewort-Einheiten-Ebene betrachtet werden kann.
Das Trellis-Diagramm gemäß der vorliegenden Erfindung be
sitzt die Eigenschaft, daß es Verzweigungen nur zwischen
Knoten gibt, jedoch nicht zwischen Unterknoten. Dies bedeu
tet in anderen Worten, daß ein Codewort durch eine Folge von
Codewort-Einheiten eindeutig festgelegt ist.
Das erfindungsgemäße Trellis-Diagramm stellt sämtliche mög
lichen Teilfolgen dar, jedoch unter der wesentlichen Randbe
dingung, daß die Gesamtanzahl der Codewörter einerseits und
die Gesamtanzahl der Codewort-Einheiten der Folge von Codewörtern
andererseits festgelegt ist. Dies schränkt die An
zahl der möglichen Übergänge, d. h. Zweige, im Trellis-Dia
gramm wesentlich ein. So sind beispielsweise am Anfang eines
Trellis-Diagramms üblicherweise noch sämtliche Übergänge
möglich, da die Gesamtanzahl der zur Verfügung stehenden
Codewort-Einheiten noch kein Problem darstellt. Die Anzahl
der möglichen Übergänge wird jedoch immer mehr eingeschränkt
sein, da sonst die zur Verfügung stehenden Codewort-Einhei
ten nicht mehr "ausreichen" werden, um einen vollständigen
Weg im Trellis-Diagramm von Anfangspunkt zum Endpunkt auszu
bilden.
Nachdem das erfindungsgemäße Trellis-Diagramm sowohl Knoten
hat, die einen Endzustand einer Teilfolge darstellen, als
auch Teilknoten hat, die einen Endzustand auf Bitebene einer
Teilfolge darstellen, können je nach erwünschter Implementa
tion sämtliche für Trellis-Diagramme mit einem festen An
fangspunkt und einem festen Endpunkt geeignete Decodier-Al
gorithmen eingesetzt werden, was es wiederum möglich macht,
Wahrscheinlichkeitsinformationen als Soft-Input verwenden zu
können, welche für jede Codewort-Einheit vorliegen. Es sei
darauf hingewiesen, daß aufgrund der Tatsache, daß die Län
gen der einzelnen Codewörter nicht bekannt sind, zunächst
keine Wahrscheinlichkeitsinformationen pro Symbol vorliegen.
Das erfindungsgemäße Trellis-Diagramm umfaßt jedoch die
Codewort-Einheiten-Struktur der Codewortfolge und erlaubt
somit die Verarbeitung von pro Codewort-Einheit vorliegenden
Wahrscheinlichkeitsinformationen.
Je nach erwünschten Ausgangswerten können verschiedene Deco
dier-Algorithmen eingesetzt werden, um mit dem erfindungsge
mäßen Trellis-Diagramm zu arbeiten. Wenn lediglich eine Se
quenzschätzung erwünscht ist, d. h. wenn eine harte Ent
scheidung darüber gewünscht wird, welche empfangene Code
wort- bzw. Informationssymbolsequenz der gesendeten Informa
tionssymbolsequenz am wahrscheinlichsten entspricht, so kann
der bekannte Viterbi-Algorithmus eingesetzt werden, welcher
für jeden möglichen Endzustand einer Teilfolge zu einem
Zeitpunkt den wahrscheinlichsten Weg durch ein Trellis-Dia
gramm speichert, der zu diesem Zustand führt. Die weniger
wahrscheinlichen Wege werden dagegen verworfen. Der Viter
bi-Algorithmus wird eine Folge von Informationssymbolen aus
geben, die am wahrscheinlichsten der gesendeten Folge von
Informationssymbolen entspricht, es wird jedoch keine Ausga
be darüber enthalten, wie wahrscheinlich denn eigentlich die
ausgegebene Folge von Informationssymbolen ist.
Es sei darauf hingewiesen, daß es die erfindungsgemäße Kon
zeption des Trellis-Diagramms ermöglicht, da für jeden Zweig
die Anzahl der Unterzweige bekannt ist, die Soft-Input-In
formation, die pro Codewort-Einheit vorliegen, bei der Be
rechnung der Zweig-Metriken bzw. Übergangsmetriken zu ver
wenden. Bei der Berechnung einer Zweigmetrik von einem Sym
bolzustand zum nächsten Symbolzustand wird dazu nicht eine
konstante Anzahl von Soft-Input-Informationen für einen
einzigen Übergang verwendet. Statt dessen werden die Soft-
Input-Informationen einer variablen Anzahl von Codewort-Ein
heiten berücksichtigt, welche dem gerade betrachteten Zweig
bzw. Übergang bzw. Codewort zugeordnet sind.
Werden dagegen auch Wahrscheinlichkeitsinformationen über
die Ausgabe des Decodierers gewünscht, d. h. besteht der Be
darf nicht einfach nach der Codewortsequenz, die der ge
sendeten Sequenz von Informationssymbolen am ehesten ent
spricht, so kann unter Verwendung desselben erfindungsge
mäßen Trellis-Diagramms auch ein symbolweiser Maximum-A-Po
steriori- (MAP-) Decodieralgorithmus eingesetzt werden. Ein
Beispiel für einen solchen symbolweisen MAP-Decodieralgo
rithmus ist der bekannte BCJR-Algorithmus, welcher für die
vorliegende Erfindung bevorzugt wird. Der BCJR-Algorithmus
in Verbindung mit dem erfindungsgemäßen Trellis-Diagramm er
möglicht also nicht nur die Verwendung von Soft-Input-In
formationen pro Codewort-Einheit sondern auch die Ausgabe
von Soft-Output-Informationen pro Informationssymbol oder
aber auch pro Codewort-Einheit, d. h. pro Bit im binären
Fall, so daß ausgangsseitig auch untersucht werden kann, wie
wahrscheinlich denn ein Informationssymbol bzw. ein Bit
eines Codeworts, das ein Informationssymbol darstellt, dem
gesendeten Informationssymbol bzw. Bit entspricht.
Die Erzeugung von Soft-Output-Informationen erlaubt darüber
hinaus den Einsatz des erfindungsgemäßen VLC-Decodierers in
einem digitalen Empfänger, wobei derselbe mit einem übli
cherweise vorhandenen FECMAP-Decodierer verkettet werden
kann, um in Verbindung mit demselben in einem iterativen Be
triebsmodus die Symbolfehlerrate bezogen auf ein bestimmtes
Signal/Rausch-Verhältnis des Kanals im Vergleich zu einer
nicht-iterativen Betriebsart zu reduzieren.
Vorteilhaft an dem erfindungsgemäßen Decodierkonzept ist die
Tatsache, daß das Trellis-Diagramm, das zwar für jede Folge
von Codewörtern, welche eine unterschiedliche Anzahl von
Codewörtern bzw. eine unterschiedliche Anzahl von Codewort
einheiten hat, unterschiedlich ist, relativ einfach und
übersichtlich gehalten ist, so daß es für beliebige Folgen
von Codewörtern entweder "Off-Line" berechnet und abgespei
chert werden kann, um im Bedarfsfalle von einem Speicher
abgerufen zu werden, oder sogar erzeugt werden kann.
Ein weiterer Vorteil des erfindungsgemäßen Decodierkonzepts
ist die hohe Flexibilität, die durch ein einziges Trellis-
Diagramm ermöglicht wird, nämlich daß ausgangsseitig je nach
verwendetem Algorithmus keine Soft-Output-Informationen,
symbolweise Soft-Output-Informationen oder bitweise Soft-
Output-Informationen erzeugt werden können, um entweder ein
iteratives Decodierschema durchzuführen oder die Soft-Out
put-Informationen für Fehlerverschleierungstechniken und
ähnliches einzusetzen.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar
in, daß aufgrund des neuartigen Trellis-Diagramms keine neu
en Decodier-Algorithmen entwickelt werden müssen, sondern
daß auf seit längerem bekannte Algorithmen zurückgegriffen
werden kann, welche bereits in vielerlei Hinsicht analysiert
worden sind, und für welche effiziente Implementationen so
wohl in Software als auch in Hardware existieren.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen detailliert erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Vor
richtung zum Decodieren;
Fig. 2 ein neuartiges Trellis-Diagramm für einen Beispiel
code;
Fig. 3 ein Symbol-Trellis-Diagramm, das aus dem Trellis-
Diagramm von Fig. 2 abgeleitet ist;
Fig. 4 ein Bit-Trellis-Diagramm, das aus dem Trellis-Dia
gramm von Fig. 2 abgeleitet ist;
Fig. 5 ein Flußdiagramm zur Darstellung des BCJR-Algorith
mus;
Fig. 6A-6D eine gleichungsmäßige Darstellung des BCJR-Al
gorithmus bezogen auf das Flußdiagramm von Fig. 5;
Fig. 7 ein Blockdiagramm einer Übertragungsstrecke mit ei
nem erfindungsgemäßen VLCMAP-Decodierer;
Fig. 8 ein Blockdiagramm einer erfindungsgemäßen Vorrich
tung zum Erzeugen eines Datenstroms mit Seitenin
formationen; und
Fig. 9 eine Darstellung zur Verdeutlichung der Bildung
eines Datenstroms mittels eines Interleavers mit
einer Tiefe von mehr als einer terminierten Folge
von Dodewörtern.
Fig. 1 zeigt ein Blockdiagramm einer erfindungsgemäßen Vorrichtung
zum Decodieren einer Folge von Codewörtern varia
bler Länge. Die Folge von Codewörtern variabler Länge liegt
an einem Eingang 10 der Vorrichtung an. An einem Ausgang 12
der Vorrichtung wird eine Folge von Informationssymbolen
ausgegeben, die vorzugsweise am wahrscheinlichsten der Folge
von Informationssymbolen entspricht, die in einem Sender in
Codewörter codiert worden ist, um nach Übertragung über ei
nen Kanal beispielsweise in Form einer Funkstrecke oder ei
ner Übertragungsleitungsstruktur die an dem Eingang 10 an
liegende Folge von Codewörtern zu bilden. Die erfindungsge
mäße Vorrichtung zum Decodieren umfaßt als Herzstück eine
Einrichtung 14 zum Decodieren der Folge von Codewörtern. Die
Einrichtung 14 wird von einer Einrichtung 16 zum Bereitstel
len von Wahrscheinlichkeitsinformationen für die am Eingang
10 anliegende Folge von Codewörtern gespeist. Je nach Imple
mentation liegen die Wahrscheinlichkeitsinformationen, die
die Einrichtung 16 bereitstellt, in Form von z. B. Log-
Likelihood-Verhältnissen pro Codewort-Einheit vor und werden
durch einen Kanaldetektor geliefert, oder aber, wie es be
zugnehmend auf Fig. 7 erläutert wird, von einem vorgeschal
teten Kanal-Decodierer.
Vorzugsweise hat die Folge von Codewörtern am Eingang 10 als
Seiteninformationen die Anzahl der Codewörter in der Folge
sowie die Anzahl der Codewort-Einheiten der Folge. Diese
Seiteninformationen werden durch eine Einrichtung 18 zum Be
reitstellen der Anzahl der Codewörter und Codewort-Einheiten
der Folge extrahiert. Es ist jedoch auch der Fall denkbar,
daß die Anzahl der Codewörter und die Anzahl der Codewort-
Einheiten einer Folge nicht als Seiteninformationen im Da
tenstrom übertragen werden, sondern auf andere Art und Weise
von einem Sender zu einem Empfänger gebracht werden.
Die Einrichtung 18 ist mit einer Einrichtung 20 zum Bereit
stellen eines Trellis-Diagramms, das Zweige und Knoten sowie
Unterzweige und Unterknoten aufweist, gekoppelt. Das neuar
tige Trellis-Diagramm, auf das bezugnehmend auf die Fig. 2
bis 4 näher eingegangen werden wird, hängt von der Anzahl
der Codewörter der Folge von Codewörtern sowie von der An
zahl der Codewort-Einheiten der Folge von Codewörtern ab, da
diese beiden Parameter einen definierten Endzustand des
Trellis-Diagramms festlegen, so daß das Trellis-Diagramm,
das erfindungsgemäß verwendet wird, ein Trellis-Diagramm mit
einem fest definierten Anfangspunkt und mit einem fest defi
nierten Endpunkt ist, wobei sich zwischen dem Anfangspunkt
und dem Endpunkt sämtliche möglichen Folgen erstrecken.
Die Einrichtung 14 zum Decodieren hat nun die Aufgabe, die
wahrscheinlichste Folge dieser Folgen abhängig von den
Wahrscheinlichkeitsinformationen, welche auch als Soft-In
put-Informationen bezeichnet werden, herauszufinden und
wahlweise mit oder ohne Wahrscheinlichkeitsinformationen,
welche auch als Soft-Output-Informationen bezeichnet werden,
an dem Ausgang 12 auszugeben.
Wie es bereits erwähnt worden ist, werden Codes mit Code
wörtern variabler Länge mittlerweile bei fast allen modernen
Datenkompressionsverfahren eingesetzt, wobei nachfolgend
beispielhaft auf moderne Audiocodierverfahren gemäß bei
spielsweise dem Standard MPEG Layer 3 oder MPEG2-AAC einge
gangen wird. Hierbei wird in einem Audiocodierer ein Block
von Audioabtastwerten gefenstert und in eine spektrale Dar
stellung überführt, um ein Kurzzeitspektrum des Blocks von
Audioabtastwerten zu erzeugen. Die spektrale Darstellung, d. h.
ein Kurzzeitspektrum, setzt sich aus einer Anzahl von z. B.
1024 Spektralwerten zusammen, welche dann nach einer
Quantisierung basierend auf einem psychoakustischen Modell
als quantisierte Spektralwerte vorliegen, die dann mittels
einer bzw. mehrerer Huffman-Codetabellen codiert werden, um
eine Folge von Huffman-Codewörtern, d. h. Codewörtern varia
bler Länge, zu erzeugen. Ein solcher Audiocodierer arbeitet
blockweise, weshalb der ausgangsseitige Datenstrom des
Audiocodierers immer aus Folgen von Codewörtern variabler
Länge besteht, wobei eine Folge von Codewörtern variabler
Länge einem Kurzzeitspektrum eines Blocks von Audioabtast
werten entsprechen wird.
Eine solche Folge von Codewörtern wird beim Übertragen über
einen wie auch immer gearteten Kanal am Eingang 10 der er
findungsgemäßen Vorrichtung, die in Fig. 1 dargestellt ist,
anliegen, um von der Einrichtung 14 decodiert zu werden. Am
Ausgang der Einrichtung 14 werden dann, wenn das Beispiel
der Audiocodierung weitergeführt wird, wieder quantisierte
Spektralwerte anliegen, welche dann einer inversen Quanti
sierung unterzogen werden, wonach die dort erhaltenen nun
invers-quantisierten Spektralwerte z. B. mittels einer Syn
these-Filterbank wieder in eine zeitliche Darstellung über
führt werden, die dann nach Digital/Analog-Wandlung über ei
nen Lautsprecher ausgegeben werden kann. Die in Fig. 1 dar
gestellte erfindungsgemäße Vorrichtung kann somit als Teil
eines Audio-Decodierers anstatt eines bisher vorgesehenen
Huffman-Decodierers, welcher ohne Verwendung von Soft-In
put-Informationen arbeitet, eingesetzt werden. Während ein
derartiger einfacher Huffman-Decodierer keine Informationen
über Anzahl der Codewörter und Anzahl der Codewort-Einheiten
in einer Folge benötigt, werden diese Informationen von ei
nem erfindungsgemäßen VLC-Decodierer verwendet, um das neu
artige Trellis-Diagramm mit Zweigen und Unterzweigen zu kon
struieren.
Im nachfolgenden wird auf Fig. 2 eingegangen, welche ein
erfindungsgemäßes Trellis-Diagramm für einen in einer Tabel
le 22 dargestellten Beispielcode sowie für eine Folge von
Informationssymbolen 24 bzw. eine Folge von Codewörtern va
riabler Länge 26 zeigt. Im einzelnen umfaßt der Beispielcode
C drei verschiedene Codewörter c(u) für drei verschiedene
Informationssymbole u, wobei die Wahrscheinlichkeit, wie oft
ein Informationssymbol u in einer zu decodierenden Folge von
Informationssymbolen auftritt, in der mittleren Spalte der
Tabelle 22 dargestellt ist.
Die mit dem Bezugszeichen 24 gekennzeichnete Folge von In
formationssymbolen lautet 1, 0, 0, 1 und führt zu der mit
dem Bezugszeichen 26 bezeichneten Folge c von Codewörtern
11, 0, 0, 11. Die Folge c von Codewörtern variabler Länge
umfaßt somit vier Codewörter und sechs Codewort-Einheiten,
welche im vorliegenden Fall einzelne Bits sind.
Im nachfolgenden wird ohne Beschränkung der Allgemeinheit
das erfindungsgemäße Trellis-Diagramm unter Bezugnahme auf
Bits beschrieben, wobei im binären Fall ein Bit einer Code
wort-Einheit entspricht. Eine Codewort-Einheit muß jedoch
nicht notwendigerweise genau einem Bit entsprechen sondern
kann je nach Implementation auch einer Gruppe von mehreren
Bits etc. entsprechen.
Das in Fig. 2 gezeigte Trellis-Diagramm ist ein zweidimen
sionales Trellis-Diagramm, bei dem entlang der Abszisse die
Anzahl k von Codewörtern aufgetragen ist, während entlang
der Ordinate die Anzahl n von Bits aufgetragen ist. Für die
vorliegende Beispiel-Codewortfolge ist das in Fig. 2 ge
zeigte Trellis-Diagramm vollständig, da vier Codewörter
variabler Länge und sechs Bits in der Folge c vorhanden
sind. Das Trellis-Diagramm geht von einem definierten An
fangszustand 100, der der Koordinate (k = 0, n = 0) ent
spricht, aus und endet an einem definierten Endzustand 102,
der der Koordinate (k = 4; n = 6) entspricht. Zwischen dem
Anfangspunkt 100 und dem Endpunkt 102 befindet sich eine
Mehrzahl von Knoten 104, 106, 108, wobei aus Übersichtlich
keitsgründen lediglich die Knoten bei k = 1 mit Bezugszei
chen bezeichnet wurden. Allgemein sind alle Knoten durch
weiß ausgefüllte Kreise in Fig. 2 gekennzeichnet. Daher sind
auch der Anfangspunkt 100 und der Endpunkt 102 Knoten des
Trellis-Diagramms. Das Trellis-Diagramm umfaßt ferner eine
Mehrzahl von Zweigen 110, 112, 114, wobei ein Knoten immer
über einen Zweig mit einem anderen Knoten verbunden ist.
Es sei angemerkt, daß, wenn mehrere unterschiedliche Code
wörter mit gleicher Länge, d. h. mit einer gleichen Anzahl
von Bits, vorhanden sind, parallele Übergänge auftreten.
Dies bedeutet, daß zwei Knoten auch durch zwei oder mehrere
Zweige miteinander verbunden sein können.
Durch die Knoten und Zweige ist die Symbol-Struktur der Fol
ge von Codewörtern dargestellt. Das erfindungsgemäße Trel
lis-Diagramm enthält jedoch ebenfalls die Bit-Struktur der
Folge von Codewörtern, indem neben den Knoten und Zweigen
auch Unterknoten 116-120 vorgesehen sind. Es sei darauf
hingewiesen, daß lediglich drei Unterknoten mit Bezugszei
chen bezeichnet sind, um die Übersichtlichkeit der Figuren
nicht zu gefährden. Sämtliche Unterknoten sind in Unter
scheidung zu den Knoten als schwarz ausgefüllte Kreise dar
gestellt. Die Unterknoten teilen einen Zweig des Trellis-
Diagramms in eine Anzahl von Unterzweigen 112a, 112b, wobei
die Anzahl der Unterzweige, die ein Zweig hat, durch die
Länge des Codeworts bestimmt ist, das diesem Zweig zugeord
net ist. Am Beispiel des Zweigs 112 ist zu sehen, daß der
selbe einem Codewort mit einer Länge von zwei Bits zugeord
net ist, so daß der Zweig 112 ferner einen Unterknoten 113
aufweist, der die beiden Unterzweige 112a, 112b miteinander
verbindet. Analog dazu umfaßt der Zweig 114, welcher einem
Codewort mit einer Länge von drei Bits zugeordnet ist, drei
Unterzweige und dementsprechend auch zwei Unterknoten. Der
Zweig 110 dagegen, der einem Codewort zugeordnet ist, das
lediglich eine Länge von einem Bit hat, enthält genau einen
Unterzweig, oder, anders ausgedrückt, ist mit dem Unterzweig
identisch und enthält ferner keinen Unterknoten.
Aus dem Trellis-Diagramm von Fig. 2 ist ersichtlich, daß
Verzweigungen lediglich von Knoten 104, 106, 108 ausgehen
können, jedoch nicht von Unterknoten 116, 118, 120, da jedes
Codewort durch eine eindeutige Folge von Bits bzw. Code
wort-Einheiten festgelegt ist.
Im Trellis-Diagramm von Fig. 2 steht jeder Knoten, d. h.
jeder Zustand des Graphen, der durch einen weiß ausgefüllten
Kreis dargestellt ist, für den Endzustand einer Teilfolge
von Codewörtern der Länge k Symbole und n Bits. Verbindun
gen, d. h. Zweige, zweier solcher Zustände stellen ein Sym
bol bzw. ein Codewort des Variablen-Längen-Codes dar. Neben
diesen Zuständen, d. h. Knoten, existieren auch die Unter
knoten, die auch als Zwischenzustände bezeichnet werden, und
die durch schwarz ausgefüllte Kreise dargestellt sind. Diese
Unterknoten bzw. Zwischenzustände stellen die einzelnen Bit
positionen innerhalb eines Codeworts dar. Alle möglichen
Folgen der Länge k = 4 Symbole und n = 6 Bits können als
Pfade durch den Graphen von Fig. 2 aufgefaßt werden. Die
Beispielfolge 26 ist zur Veranschaulichung in Fig. 2 fett
eingetragen.
Vom Anfangszustand 100 gelangt man über das Codewort 0 zum
Zustand 108. Über das Codewort 11 gelangt man dagegen vom
Anfangszustand 100 zum Zustand 106. Über das Codewort 101
wiederum gelangt man vom Anfangszustand 100 zum Zustand 104.
Dieses Prozedere wird ausgehend von den Zuständen 104, 106,
108 fortgesetzt, wobei vom Zustand 108 aus wieder alle drei
Codewörter 0, 11 und 101 möglich sind. Es ist jedoch bereits
zu sehen, daß vom Zustand 106 aus lediglich Übergänge mög
lich sind, die den Codewörtern 0 und 11 entsprechen, daß je
doch ein Übergang, der dem Codewort 101 entspricht, nicht
mehr möglich ist, da für diesen Fall die Gesamtanzahl der
Bits nicht mehr ausreichen würde, da die Folge noch zwei
weitere Codewörter enthalten muß. Vom Zustand 104 aus ist
sogar nur noch ein einziger Übergang möglich, der dem
Codewort 0 entspricht, das eine Länge von nur einem Bit hat.
Ein Übergang, der dem Codewort 11 entspricht, d. h. der eine
Länge von zwei Bits hat, ist nicht mehr möglich, da noch
zwei weitere Codewörter in der Folge von Codewörtern enthal
ten sein müssen. Man beachte, daß im mittleren Teil des
Trellis-Diagramms eine reguläre, sich wiederholende Struktur
vorhanden ist.
Das in Fig. 2 gezeigte Trellis-Diagramm kann nun einer ver
tikalen Transformation unterzogen werden, derart, daß das
Trellis-Diagramm mit vertikalen Linien, wie der Linie A-A
"durchsetzt" wird und die Anzahl der möglichen Zustände über
der Anzahl k der Symbole bzw. Codewörter aufgetragen wird.
Dieser in Fig. 3 durch vertikale Transformation vom Trellis-Diagramm
von Fig. 2 abgeleitete Graph enthält nun nur
noch die "Symbolzustände", die das Ende bzw. den Anfang ei
nes Codeworts des Variablen-Längen-Codes kennzeichnen. Jeder
Abschnitt des Graphen in horizontaler Richtung ist somit ei
ner bestimmten Symbolposition innerhalb der betrachteten
Symbolfolge zugeordnet. Daher wird der Graph in Fig. 3 auch
als Symbol-Trellis bezeichnet. Im Symbol-Trellis von Fig. 3
wurden ferner die Zweige k = 0 bis k = 2 mit einer Notation
bezeichnet, die aus zwei Werten besteht, die durch einen
Strich voneinander getrennt sind. Der erste Wert bezieht
sich dabei auf das Symbol u, das diesem Zweig bzw. Übergang
zugeordnet ist, während der zweite Wert das Codewort, das
diesem Symbol zugeordnet ist, angibt.
Es wird darauf hingewiesen, daß das in Fig. 3 gezeigte Sym
bol-Trellis-Diagramm z. B. über die Bezeichnung der Zweige
nach wie vor Informationen darüber enthält, wie viele Bits
einem Zweig zugeordnet sind, um zu wissen, wieviel Soft-In
put-Informationen, die ja pro Codewort-Einheit vorliegen,
berücksichtigt werden müssen, um die Zweigmetriken für die
einzelnen Zweige zu berechnen. Dadurch, daß in dem Symbol-
Trellis-Diagramm von Fig. 3 nur noch die Symbol-Zustände, d. h.
Knoten eingezeichnet sind, soll jedoch verdeutlicht wer
den, daß ein Decodieralgorithmus nur noch an den Symbolwer
ten an sich bzw. an den A-Posteriori-Wahrscheinlichkeiten
für die einzelnen Symbolwerte interessiert ist.
Wie es bereits ausgeführt worden ist, können die Symbolwerte
an sich beispielsweise mittels eines Viterbi-Algorithmus
erhalten werden, der jedoch in Abwandlung vom üblichen Vi
terbi-Algorithmus für die Berechnung der Zweigmetriken bzw.
der Übergangsmetriken ("Transition Metrics") nicht nur
Soft-Input-Informationen für eine feste Anzahl von
Codewort-Einheiten sondern Soft-Input-Informationen für eine
variable Anzahl von Codewort-Einheiten berücksichtigt. So
würde ein Viterbi-Algorithmus, der die Übergangsmetrik bzw.
Zweigmetrik des Zweigs vom Anfangszustand 102 bis zum
Zustand 104 berechnet, das Produkt aus den Wahrscheinlichkeitswerten
der ersten drei Bits des Datenstroms bilden.
Für den Zweig zwischen den Anfangszustand 100 und dem
Zustand 106 würde ein Viterbi-Algorithmus das Produkt der
Wahrscheinlichkeitsinformationen für die ersten zwei Bits
des zu decodierenden Datenstroms verwenden, während für die
Zweigmetrik des Zweigs zwischen dem Anfangszustand 100 und
dem Zustand 108 lediglich die Wahrscheinlichkeitsinformation
der ersten Codewort-Einheit herangezogen wird. Eine
detaillierte Darstellung des Viterbi-Algorithmus findet sich
in "The Viterbi Algorithm", G. D. Forney, Proc. IEEE, Bd.
61, S. 268-278, März 1973.
Wenn neben der Folge von Informationssymbolen am Ausgang des
Decodierers auch Soft-Output-Informationen benötigt werden,
kann das in Fig. 3 gezeigte Trellis-Diagramm dazu verwendet
werden, um Soft-Output-Informationen pro ausgegebenem Infor
mationssymbol zu liefern. Hierzu wird ein symbolweiser MAP-
Decodieralgorithmus eingesetzt, wie z. B. der BCJR-Algorith
mus, der in "Optimal Decoding Of Linear Codes For Minimizing
Symbol Error Rate", L. R. Bahl, J. Cocke, F. Jelinek, J.
Raviv, "IEEE Transactions on Information Theory, März 1974,
S. 284-287, detailliert beschrieben wird.
Der BCJR-Algorithmus verwendet Wahrscheinlichkeiten. Aus
numerischen Gründen wird es jedoch bevorzugt, logarithmische
Wahrscheinlichkeiten zu verwenden.
Auch hier werden in Abkehr von einem üblichen Einsatz dieses
Algorithmus für die Berechnung einer Zweigmetrik nicht nur
immer Soft-Input-Informationen für eine feste Anzahl von
Codewort-Einheiten, d. h. Bits, verwendet, sondern
Soft-Input-Informationen für eine variable Anzahl von
Codewort-Einheiten, die der Anzahl von Bits des Codeworts
entspricht, das dem betrachteten Zweig zugeordnet ist. Aus
gangsseitig erhält man dadurch die Folge von den wahr
scheinlichsten Informationssymbolen sowie Informationen dar
über, wie wahrscheinlich die Informationssymbole sind. Wenn
an das oben bezeichnete Beispiel eines Audiocodierers gedacht
wird, so können die Wahrscheinlichkeitsinformationen
dazu verwendet werden, einzelne Spektralwerte, welche Wahr
scheinlichkeitsinformationen haben, die unter einer bestimm
ten Schwelle liegen, einfach auszublenden und durch Inter
polation bzw. durch irgendeine andere Fehlerverschleierungs
technik zu ersetzen.
Wenn hingegen als Ausgangswerte nicht die bereits decodier
ten Informationssymbole an sich sondern die wahrschein
lichste Folge von Codewort-Einheiten, d. h. Bits, benötigt
wird, und wenn insbesondere bitweise, d. h. Codewort-Ein
heiten-Weise, Soft-Output-Informationen benötigt werden, wie
es beispielsweise für den Fall der verketteten Decodierer
zutrifft, der anhand von Fig. 7 noch detailliert beschrieben
wird, dann wird statt des Symbol-Trellis-Diagramms von Fig.
3 ein Bit-Trellis-Diagramm verwendet, das in Fig. 4 darge
stellt ist. Das Bit-Trellis-Diagramm von Fig. 4 entsteht
durch horizontale Transformation, indem das Trellis-Diagramm
von Fig. 2 mit horizontalen Linien, wie der Linie B-B pro
Bit, "durchsetzt" wird, so daß das Bit-Trellis-Diagramm von
Fig. 4 entsteht. Bei dem Bit-Trellis-Diagramm wird nicht zu
sehr Wert darauf gelegt, die Zustände des Datenstroms zu
ermitteln, sondern die einzelnen Bits sowie bitweise Soft-
Output-Informationen für dieselben zu ermitteln.
Dazu werden die Unterknoten 116, 118 gleichwertig zu den
Knoten 104, 106, 108 behandelt, derart, daß sowohl ein Un
terknoten als auch ein Knoten als Trellis-Knoten betrachtet
werden, und auch jeder Unterzweig als "normaler" Trellis-
Zweig betrachtet wird. Dadurch liegt ein Trellis-Diagrarnm
vor, das wieder entweder mit einem Sequenz-Ermittlungs-Al
gorithmus, wie z. B. dem Viterbi-Algorithmus, oder mittels
eines symbolweisen MAP-Algorithmus, wie z. B. dem BCJR-Algo
rithmus, verarbeitet werden kann, um die erwünschten Aus
gangsinformationen zu erhalten. Werden neben den bitweisen
Ausgangsinformationen, die durch das Trellis-Diagramm von
Fig. 4 ermittelt werden, auch die Informationssymbole be
nötigt, so kann der am Ausgang des Decodierers vorliegende
Bitstrom in einen einfachen Huffman-Decodierer bzw. einen
allgemeinen VL-Decodierer eingespeist werden, der beispiels
weise durch Nachschlagen in einem Codebuch aus einem Code
wort wieder ein Informationssymbol ermittelt.
Im nachfolgenden wird anhand von Fig. 5 auf den BCJR-Algo
rithmus näher eingegangen, der in Verbindung mit dem neuar
tigen Trellis-Diagramm eingesetzt wird, um entweder Soft-
Output-Informationen symbolweise oder Soft-Output-Informa
tionen bitweise zu liefern. Der BCJR-Algorithmus ist ein
Algorithmus, der die A-Posteriori-Wahrscheinlichkeiten von
Zuständen und Übergängen einer Markow-Informationsquelle
berechnet, welche durch einen verrauschten diskreten Kanal
ohne Speichereigenschaft betrachtet wird.
"A-Posteriori" bedeutet, daß die Wahrscheinlichkeiten nach
Betrachtung der gesamten Folge von Codewörtern bzw. Code
wort-Einheiten geliefert werden. Im Gegensatz dazu bedeutet
"A-Priori", daß bereits Informationen vorhanden sind, bevor
die Folge von Codewörtern untersucht wird.
Allgemein besteht der Wunsch, den wahrscheinlichsten Über
gang von einer Teilfolge zur nächsten Teilfolge zu bestim
men. Der Übergang entspricht damit dem Codewort, das der
ersten Teilfolge hinzugefügt wird, um die zweite Teilfolge
zu erhalten. Dazu werden nach einem Starten (50) des Algo
rithmus zunächst die Übergangs-Wahrscheinlichkeiten bzw.
Zweigmetriken berechnet. Diese werden als .0 für einen Über
gang von einem Zustand zu einem anderen Zustand verbunden
mit einem Bitwert 0 und als .1 für einen Übergang von einem
Zustand zum nächsten verbunden mit einem Bitwert 1 bezeich
net. Die Übergangswahrscheinlichkeiten bzw. Zweigmetriken
werden somit in einem Schritt 52 für alle möglichen Zweige
des Trellis-Diagramms berechnet. Anschließend wird in einem
Schritt 54 eine Vorwärtsrekursion ausgeführt, um auf
rekursive Art und Weise die sogenannten α-Werte her
auszufinden. Der α-Wert zum Zeitpunkt k = 0 wird per Defi
nition zu 1 gesetzt.
Anschließend wird in einem Schritt 56 eine Rückwärtsre
kursion durchgeführt, um die sogenannten β-werte ausgehend
von dem Ende der Folge, d. h. dem Endzustand 102 (Fig. 2) zu
berechnen. Per Definition wird der β-Wert für den Endzustand
102, d. h. für den Zeitpunkt K, zu 1 gesetzt. Nun liegen die
α-Werte sowie die β-Werte sowie die Übergangswahrscheinlich
keiten vor. Nun können in einem Schritt 58 die A-Poste
riori-Wahrscheinlichkeiten für alle Übergänge berechnet wer
den, indem die α-Werte, die β-Werte und die Übergangswahr
scheinlichkeiten, d. h. die Zweigmetriken, miteinander mul
tipliziert und für die entsprechenden Ausgangszustände und
Zielzustände aufsummiert werden, wie es detaillierter bezug
nehmend auf Fig. 6 ausgeführt wird. Dann ist der BCJR-Algo
rithmus beendet (60).
Fig. 6A zeigt eine Illustration für den Schritt 52 des Fluß
diagramms von Fig. 5, um die Übergangswahrscheinlichkeiten
vom Zeitpunkt (k - 1) zum Zeitpunkt k zu berechnen. Fig. 6B
zeigt dann die Berechnung der Vorwärtsrekursion sowie die
dafür benötigte Gleichung. Die Gleichung von Fig. 6B macht
deutlich, daß, wenn die Übergangsmetriken bekannt sind, al
lein aufgrund der Übergangsmetriken und der Initialisierung
für αk(0) die α-Werte Schritt für Schritt berechnet werden
können.
Dasselbe trifft für die Rückwärts-Rekursion zu, die in Fig.
6C beispielhaft und gleichungsmäßig dargestellt ist. In Fig.
6D sind zwei Doppelsummen gezeigt, die ausgeführt werden
müssen, um die A-Posteriori-Wahrscheinlichkeiten (APP-Wahr
scheinlichkeiten) zu erhalten. Die obere linke Gleichung in
Fig. 6D gibt die Wahrscheinlichkeit dafür an, daß der Über
gang zum Zeitpunkt (k - 1) zum Zeitpunkt k eine binäre 0 ist,
während die darunterstehende Gleichung die Wahrscheinlich
keit liefert, daß der Übergang vom Zeitpunkt (k - 1) zum Zeit
punkt k eine binäre 1 darstellt. Die Soft-Output-Informa
tion, die diesem Bit dann zugeordnet ist, wird durch die in
Fig. 6D rechts gezeigte Gleichung berechnet.
Im nachfolgenden wird noch einmal auf Fig. 3 Bezug genommen,
um die Vorgehensweise, die anhand der Fig. 5 und 6A-6D all
gemein erläutert worden ist, zu veranschaulichen. Es besteht
z. B. die Aufgabe, herauszufinden, welcher Übergang, d. h.
welches Codewort, zwischen dem Zeitpunkt k = 1 und dem Zeit
punkt k = 2 am wahrscheinlichsten ist. Hierzu wird zunächst
die A-Posteriori-Wahrscheinlichkeit dafür berechnet, daß das
Codewort eine 0 ist. Dazu wird zunächst der α-Wert für den
Zustand 108 und dann der β-Wert für den Zustand 120 berech
net, um dann das Produkt des α-Werts des Zustands 108, des
β-Werts des Zustands 120 und der Übergangsmetrik des Zweigs
122 berechnet. Dann wird dasselbe für den Zweig 124 durch
geführt. Dies bedeutet, daß wieder der α-Wert für den Zu
stand 106, der β-Wert für den Zustand 126 und die Zweigme
trik für den Zweig 124 miteinander multipliziert werden.
Schließlich wird dasselbe für den Zweig 110 durchgeführt,
indem wieder der α-Wert für den Zustand 104, der β-Wert für
den Zustand 128 und die Zweigmetrik des Zweigs 110 mitein
ander multipliziert werden.
Die drei Wahrscheinlichkeiten werden nun aufsummiert, um
eine A-Posteriori-Wahrscheinlichkeit dafür zu erhalten, daß
der Übergang von Zeitpunkt k = 1 zum Zeitpunkt k = 2 für das
Codewort 0 steht.
Dann wird dasselbe wiederholt für den Zweig 112 und den
Zweig 130, um die A-Posteriori-Wahrscheinlichkeit dafür zu
erhalten, daß dem Übergang von Zeitpunkt k = 1 zum Zeitpunkt
k = 2 das Codewort 11, d. h. das Informationssymbol mit der
Nummer 1, zugrunde liegt.
Schließlich wird die A-Posteriori-Wahrscheinlichkeit für den
Zweig 132 berechnet, indem der α-Wert des Zustands 108, der
β-Wert des Zustands 128 und die Zweigmetrik des Zweigs 132
miteinander multipliziert werden.
Nun liegen drei A-Posteriori-Wahrscheinlichkeiten für die
drei verschiedenen Codewörter vor, die dem Übergang vom Zu
stand k = 1 zum Zustand k = 2 zugrunde liegen können. Nun
wird die maximale A-Posteriori-Wahrscheinlichkeit der drei
vorliegenden Wahrscheinlichkeiten ausgewählt, um ausgegeben
zu werden. Das Codewort, dem die maximale A-Posteriori-Wahr
scheinlichkeit zugeordnet ist, stellt nun das Informations
symbol dar, das am wahrscheinlichsten von der Informations
quelle erzeugt worden ist.
An dem gerade beschriebenen Beispiel ist zu sehen, daß
selbstverständlich auch für sämtliche anderen, weniger
wahrscheinlichen Codewörter die A-Posteriori-Wahrscheinlich
keiten vorliegen. In den allermeisten Fällen wird jedoch
lediglich die maximale A-Posteriori-Wahrscheinlichkeit benö
tigt. Grundsätzlich könnten jedoch zu jedem Übergang die
A-Posteriori-Wahrscheinlichkeiten für alle Codewörter, d. h.
für alle Informationssymbole, ausgegeben werden.
Im nachfolgenden wird auf Fig. 7 eingegangen, welche eine
Anwendung eines erfindungsgemäßen Decodierers zur iterativen
Decodierung zeigt. Der erfindungsgemäße Decodierer, der für
diese Anwendung geeignet ist, umfaßt als Decodier-Algorith
mus einen MAP-Decodieralgorithmus mit Codewort-Einheiten
weisen Soft-Input-Informationen und Soft-Output-Informatio
nen. Dieser Decodierer ist in Fig. 7 als VLCMAP-Decodierer
200 (VLCMAP = Variable Length Code Maximum A Posteriori) be
zeichnet. Allgemein wird das Übertragungssystem in Fig. 7 in
einen Sender 202, einen Kanal 204 und einen Empfänger 206
aufteilen. An einem Eingang des Senders, der mit 208 be
zeichnet ist, liegt eine Folge von Informationssymbolen (u)
an. Diese wird in einen VLC-Codierer 210 eingespeist, der
eine Folge von Codewörtern variabler Länge erzeugt, die mit
b bezeichnet ist. Der VLC-Codierer 210 erzeugt darüberhinaus
Seiteninformationen 212, die die Anzahl der Bits der Folge
von Codewörtern b sowie die Zahl der Codewörter in der Folge
von Codewörtern b enthalten müssen.
Wie es in der digitalen Übertragungstechnik üblich ist, kann
ein Interleaver 212 eingesetzt werden, um eine verschach
telte Folge b' von Codewörtern zu erzeugen. Grundsätzlich
führt ein Interleaver 212 eine Permutation der Codewort-Ein
heiten durch, um die Anfälligkeit gegenüber sogenannten
Burst-Fehlern zu verringern. Die Folge b' wird schließlich
in einen Kanalcodierer 214 eingespeist, der als FEC-Codierer
(FEC = Forward Error Correction) ausgeführt sein wird. Der
FEC-Codierer erzeugt somit aus der verschachtelten Folge b'
mit einer ersten Anzahl von Bits eine Folge von Sendebits x,
wobei die Anzahl der Bits der Folge x um einen Faktor größer
als die Anzahl der Bits der Folge b' ist. Der inverse Wert
dieses Faktors wird als Coderate des FEC-Codierers 214 be
zeichnet. Der Übertragungskanal 204 kann allgemein durch
multiplikative Kanalkoeffizienten a dargestellt werden, die
einen Kanal mit Fading-Eigenschaften symbolisieren. Darüber
hinaus wird einem Kanal ein weißes Rauschen additiv
überlagert sein, was durch den Koeffizienten f dargestellt
ist.
Als FEC-Codierer kann jeder bekannte FEC-Codierer verwendet
werden, wie z. B. ein Codierer mit einem Block-Code, ein Co
dierer mit einem Faltungscode oder ein Codierer mit einer
Trellis-codierten Modulation.
Von den Rayleigh-Koeffizienten a können Schätzwerte abge
leitet werden, welche als Kanalzustandsinformationen einem
FECMAP-Decodierer (FECMAP = Forward Error Correction Maximum
A Posteriori) 216 zugeführt werden können. Der FECMAP-Deco
dierer 216 enthält ferner aus den Seiteninformationen die
Anzahl der Bits einer Folge, um beispielsweise ebenfalls
unter der Verwendung des BCJR-Algorithmus die Übergangsme
triken von Bit zu Bit sowie die Vorwärtsrekursion und die
Rückwärtsrekursion durchführen zu können.
Der FECMAP-Decodierer ist die erste Einrichtung zum Deco
dieren des Datenstroms, um die durch den FEC-Codierer 214
eingeführte Kanalcodierung zu entfernen, wobei derselbe
Wahrscheinlichkeitsinformationen für den Datenstrom
verwendet, wobei der FECMAP-Decodierer 216 an seinem Ausgang
Soft-Output-Informationen für jede ausgegebene Codewort-Ein
heit liefert, welche auch als erster Wahrscheinlichkeitswert
250 pro Codewort-Einheit bezeichnet wird.
Der Empfänger 206 umfaßt ferner den VLCMAP-Decodierer 200
als zweite Einrichtung zum Decodieren einer Folge von Code
wort-Einheiten unter Verwendung von Wahrscheinlichkeitswer
ten für die Codewort-Einheiten, wobei der VCLMAP-Decodierer
einen zweiten Wahrscheinlichkeitswert 252 pro Codewort-Ein
heit ausgibt. Der Empfänger 206 umfaßt ferner einen ersten
Subtrahierer 218, der als Addierer mit einem invertierten
Eingang dargestellt ist, sowie einen zweiten Subtrahierer
220, der ebenfalls als Addierer mit einem invertierten Ein
gang dargestellt ist. Der zweite Subtrahierer 220 bildet die
Differenz zwischen dem ersten Wahrscheinlichkeitswert 250
und einem Ausgangswert des zweiten Addierers 218, um einen
ersten Differenz-Wahrscheinlichkeitswert 254 zu liefern. Der
erste Subtrahierer 218 wiederum bildet die Differenz zwi
schen dem zweiten Wahrscheinlichkeitswert 252 und dem ersten
Differenz-Wahrscheinlichkeitswert 254, um einen zweiten Dif
ferenz-Wahrscheinlichkeitswert 256 zu erzeugen, der einer
seits in den invertierten Eingang des zweiten Subtrahierers
220 eingespeist wird, wie es in Fig. 7 gezeigt ist, und der
andererseits als A-Priori-Information für den FECMAP-Deco
dierer 216 dient, um durch iterative Decodierung wesentliche
Verbesserungen der Symbolfehlerrate zu erreichen, wie es
nachfolgend beschrieben wird.
Nachdem der Code des FEC-Codierers 214 und der Code des
VLC-Codierers 210 unabhängig voneinander sind, kann durch
iterative Decodierung eine Verbesserung der Symbolfehlerrate
bei gleichem Signal/Rausch-Verhältnis bzw. eine gleichblei
bende Symbolfehlerrate bei schlechterem Signal/Rausch-Ver
hältnis im Vergleich zum Fall der nicht-iterativen Decodie
rung erreicht werden.
So ist es in der Kanalcodierung allgemein bekannt, seriell
oder parallele verkettete Codes iterativ zu decodieren. In
Nachrichtenübertragungssystemen, die zur Datenratenreduktion
Variable-Längen-Codes einsetzen, werden solche Codes oft,
wie es in Fig. 7 dargestellt ist, in Verbindung mit Codes
zur Fehlerkorrektur verwendet. Dies muß besonders dann getan
werden, wenn die Übertragung auf gestörten Übertragungska
nälen erfolgen soll, da sich Fehler bei der Übertragung, wie
es oben bereits erwähnt wurde, in einer schlechten Decodie
rung des Variablen-Längen-Codes auswirken können.
Die Kombination eines Variablen-Längen-Codes zur Datenraten
reduktion mit einem Kanalcode zur Fehlerkorrektur stellt
somit ein seriell verkettetes System dar, wie es am Beispiel
des Senders 202 in Fig. 7 dargestellt ist. Wenn zwischen die
beiden Codierer ein Interleaver 212 geschaltet ist, wie es
in Fig. 7 der Fall ist, muß zwischen den beiden Decodierern
ein Deinterleaver 222 sowie in der Rückkopplung des Empfän
gers 206 wieder ein Interleaver 224 eingesetzt werden, wobei
der Interleaver 224 dem Interleaver 212 genau entspricht,
damit die Zuordnung der Soft-Output-Informationen des
VLCMAP-Decodierers 200 im FECMAP-Decodierer korrekt abläuft.
Im nachfolgenden wird als äußerer Code der VL-Code bezeich
net. Als innerer Code wird dagegen der FEC-Code oder Kanal
code bezeichnet. Nach der Übertragung der komprimierten und
Kanalcodierten Daten über einen im allgemeinen Fall fehler
behafteten Übertragungskanal wird zunächst der innere Code
(Kanalcode) und anschließend der äußere Code (VL-Code) deco
diert.
Im Fall einer iterativen Decodierung des verketteten Systems
wird ein Teil der Zuverlässigkeitsinformationen des äußeren
Decodierers 200 zum inneren Decodierer 216 als A-Priori-In
formationen zurückübertragen, um in einem zweiten Decodier
durchgang den inneren Decodierer 216 mit der im ersten
Durchgang bereits gewonnenen Information zu unterstützen.
Diese iterative Decodierung erfordert aber Decodierer-Modu
le, die sowohl Eingangswerte mit Zuverlässigkeitsinformationen
akzeptieren als auch selbst Ausgangwerte mit Zuverläs
sigkeitsinformationen erzeugen, also Soft-Input/Soft-Out
put-Module. So ist es in der Technik zwar generell bekannt,
eine verkettete iterative Decodierung auszuführen, jedoch
bisher nicht für VLC-Decodierer.
Im nachfolgenden wird auf die Funktionsweise des neuartigen
verketteten Decodierschemas mit einem VLCMAP-Decodierer als
äußerem Codierer beschrieben.
In einem ersten Schritt erhält der FECMAP-Decodierer von
einem Kanal-Detektor Soft-Input-Informationen, um bitweise
Soft-Output-Informationen zu erzeugen, welche als erster
Wahrscheinlichkeitswert pro Bit erzeugt werden. Im ersten
Schritt liegen noch keine A-Priori-Informationen vor. Daher
wird der erste Differenz-Wahrscheinlichkeitswert in diesem
ersten Schritt gleich dem ersten Wahrscheinlichkeitswert
sein, da der zweite Differenz-Wahrscheinlichkeitswert 256,
der dem Subtrahierer 220 zugeführt ist, in diesem ersten
Schritt zu 0 initialisiert ist.
Diese Soft-Output-Informationen in Form des ersten Diffe
renz-Wahrscheinlichkeitswerts werden dem VLCMAP-Decodierer
200 als Soft-Input-Informationen zugeführt, der dann seiner
seits Soft-Output-Informationen erzeugt, die als zweiter
Wahrscheinlichkeitswert pro Bit (252) bezeichnet worden
sind.
Der erste Subtrahierer 218 bildet nun die Differenz zwischen
dem zweiten Wahrscheinlichkeitswert und dem ersten Diffe
renz-Wahrscheinlichkeitswert, um einen zweiten Differenz-
Wahrscheinlichkeitswert 256 pro Bit zu erhalten. Die Diffe
renzbildung mittels des ersten Subtrahierers 218 wird durch
geführt, um den FECMAP-Decodierer 216 nicht mit seiner eige
nen Ausgabe zu speisen, sondern lediglich mit der durch den
VLCMAP-Decodierer 200 erzeugten zusätzlichen Information zu
versorgen.
Der zweite Differenz-Wahrscheinlichkeitswert 256 pro Bit
wird dann nach einer optionalen Interleaving-Operation dem
FECMAP-Decodierer als A-Priori-Information zugeführt, um
dann dieselbe Folge von Codewörtern in einem zweiten Schritt
erneut zu verarbeiten.
Im zweiten Schritt liefert der FECMAP-Decodierer nun unter
Berücksichtigung der A-Priori-Informationen 256 einen ersten
Wahrscheinlichkeitswert für den zweiten Schritt, von dem nun
jedoch der zweite Differenzwahrscheinlichkeitswert pro Bit
im zweiten Subtrahierer 220 abgezogen wird, um den VLCMAP-
Decodierer 200 nicht mit seiner eigenen Ausgabe wieder zu
speisen, sondern nur durch den Teil, den der FECMAP-Decodie
rer 216 im zweiten Schritt zusätzlich erzeugt hat. Der erste
Differenz-Wahrscheinlichkeitswert 254 im zweiten Schritt
entspricht nun - im Gegensatz zum ersten Schritt - nicht
mehr dem ersten Wahrscheinlichkeitswert, da am negativen
Eingang des Subtrahierers 220 definierte Werte ungleich 0
anliegen. Der erste Differenz-Wahrscheinlichkeitswert pro
Bit wird nun wieder als Soft-Input-Information in den
VLCMAP-Decodierer 200 eingespeist, damit derselbe wieder
neue Soft-Output-Informationen als zweiten Wahrscheinlich
keitswert 252 für den zweiten Iterationsschritt erzeugt, von
dem wieder mittels des ersten Subtrahierers 218 der erste
Differenz-Wahrscheinlichkeitswert 254 abgezogen wird, um
wieder nur die durch den VLCMAP-Decodierer 200 im ersten
Schritt neu erzeugten Wahrscheinlichkeitsinformationen in
den FECMAP-Decodierer 216 einzuspeisen.
Dieses iterative Verfahren kann prizipiell eine beliebige
Anzahl von Schritten wiederholt werden, wobei sich jedoch in
den ersten Schritten die stärksten Verbesserungen bezüglich
der Symbolfehlerrate ergeben werden, weshalb es sich emp
fiehlt, die Iteration bereits nach einigen wenigen Schrit
ten, wie z. B. neun Schritten, abzubrechen. Wenn ein Ab
bruchkriterium der Iteration erreicht ist, das beispielswei
se darin bestehen könnte, daß sich die Differenz-Wahrschein
lichkeitswerte für die einzelnen Bits nicht mehr besonders
stark von Schritt zu Schritt ändern, wird der VLCMAP-Deco
dierer 200 angesteuert, um schließlich die wahrscheinlichste
Folge von Informationssymbolen mit oder ohne Soft-Output-In
formationen pro Bit oder pro Symbol auszugeben.
Bereits nach neun Iterationen können Gewinne bis zu 4 dB be
züglich des Signal/Rausch-Verhältnisses im Vergleich zu ei
nem Empfänger mit einem FEC-Decodierer und einem herkömmli
chen Huffman-Decodierer erreicht werden. Dies bedeutet in
anderen Worten, daß für ein um 4 dB niedrigeres Si
gnal/Rausch-Verhältnis (Eb/N0), d. h. um eine um 4 B (um
einen Faktor von 2,6) geringere Sendeleistung, dieselbe
Symbolfehlerrate erhalten wird, wie sie durch den herkömmli
chen Codierer erzielt werden kann.
Bei einer bevorzugten Ausführungsform wird der erste Wahr
scheinlichkeitswert 250 als Soft-Output des Kanaldecodierers
als A-Posteriori-L-Wert pro Bit in Form eines Log-Likeli
hood-Verhältnisses verwendet, wie es weiter vorne definiert
worden ist. Der zweite Wahrscheinlichkeitswert 252 kann auch
als bitweiser Soft-Output des VLCMAP-Decodierers bezeichnet
werden, welcher wieder als A-Posteriori-L-Wert verwendet
werden kann. Der zweite Differenz-Wahrscheinlichkeitswert
256 kann auch als extrinsische Information des äußeren
VLCMAP-Decodierers bezeichnet werden. Diese extrinsische
Information ist die Differenz der Soft-Outputs der beiden
Decodierer. Sie stellt also, wie es ausgeführt worden ist,
die Information dar, die in einem Decodierer "neu" erzeugt
wird. Diese Information wird, wie es in Fig. 7 gezeigt ist,
als A-Priori-Information für den nächsten Iterationsschritt
an den (inneren) FECMAP-Decodierer 216 zurückgeführt.
Es sei darauf hingewiesen, daß der erste und der zweite Sub
trahierer in Fig. 7 deshalb als Subtrahierer ausgeführt
sind, da als Wahrscheinlichkeitswerte Log-Likelihood-Ver
hältnisse verwendet bzw. verarbeitet werden. Werden dagegen
"normale" Wahrscheinlichkeiten verwendet, so wird statt der
Differenzbildung für logarithmische Werte eine Division der
normalen Wahrscheinlichkeiten durchgeführt. Allgemein kann
gesagt werden, daß die Wahrscheinlichkeitswerte durch den
ersten und zweiten Subtrahierer (Fig. 7 für Log-Likelihood-
Verhältnisse) bzw. einen ersten und einen zweiten Dividierer
(für Wahrscheinlichkeiten) als Kombinationseinrichtung kom
biniert werden, um nur den "neuen" Beitrag eines Codierers
zu dem anderen Codierer zu liefern. Dies stellt sicher, daß
ein Codierer nicht mit den von ihm erzeugten Wahrscheinlich
keiten in einem nächsten Iterationsschritt erneut gespeist
wird. Die Subtrahierer sind also ein Beispiel für eine
Kombinationseinrichtung. Differenz-Wahrscheinlichkeitswerte
sind ein Beispiel für Kombinations-Wahrscheinlichkeitswerte
und das Subtrahieren ist ein Beispiel für ein Kombinieren.
Im nachfolgenden wird anhand von Fig. 8 ein erfindungsge
mäßer Codierer beschrieben. Derselbe umfaßt eine Einrichtung
80, die Informationssymbolen Codewörter variabler Länge
zuweist, optional eine Einrichtung zum Bestimmen der Anzahl
der Codewörter und der Codewort-Einheiten 82 der Folge von
Codewörtern sowie eine Einrichtung 84 zum Eintragen der
Seiteninformationen in den Datenstrom, um aus der Folge von
Informationssymbolen einen Datenstrom mit Seiteninforma
tionen zu erzeugen.
Da das erfindungsgemäße Decodierkonzept zur Erzeugung des
Trellis-Diagramms die Anzahl der Codewörter einer Folge von
Codewörtern und die Anzahl der Codewort-Einheiten der Folge
von Codewörtern zur Konstruktion des Trellis-Diagramms bzw.
zur Auswahl des geeigneten Trellis-Diagramms benötigt, müs
sen diese Informationen als Seiteninformationen in den Da
tenstrom eingebracht werden.
Es wird bevorzugt, diese zusätzlichen Informationen als
hochgeschützte Seiteninformationen zu übertragen, da ein
Verlust derselben fatal ist, da dann kein korrektes Trel
lis-Diagramm mehr generiert bzw. aufgerufen werden kann. Für
den Schutz der Seiteninformationen kann wieder ein FEC-Co
dierer mit einer sehr niedrigen Coderate verwendet werden,
wie z. B. einer Coderate kleiner als 1/2. Da bei modernen
Datenkompressionsverfahren zur Video- und/oder Audiocodie
rung im Falle einer Übertragung über fehlerbehaftete Kanäle
immer sehr empfindliche Abschnitte hochgeschützt übertragen
werden müssen, stellen diese zusätzlichen Seiteninforma
tionen bzw. die Anforderung nach einem guten Schutz für
diese Seiteninformationen keine großen Einschränkungen für
ein Übertragungssystem dar.
Bei Anwendungsfällen, bei denen die Anzahl der Codewörter in
einem Datenstrom immer festgelegt ist, kann dieselbe im Co
dierer fest voreingestellt werden und muß nicht als Seiten
informationen übertragen werden.
Zur Verbesserung der Fehlertoleranz wird eine Inter
leavertiefe verwendet, die größer als eine Folge von
Codewörtern ist. Dies wird nachfolgend beispielhaft anhand
von Fig. 9 dargestellt. Betrachtet werden fünf aufeinan
derfolgende "Segmente" von jeweils 32 Informationssymbolen
u. Diese 5 Segmente werden jedes für sich dem VLC-Codierer
210 bzw. dem in Fig. 8 dargestellten Codierer zugeführt, um
fünf Folgen von Codewörtern zu erhalten, die jeweils sehr
wahrscheinlich eine unterschiedliche Anzahl von Bits N1 bis
N5 haben. Die Seiteninformationen für jede Folge von
Codewörtern werden beim gezeigten Beispiel vor die Folgen
nacheinander in einen Datenstrom eingetragen, der dann dem
Interleaver 212 (Fig. 7) zugeführt wird. Es entsteht ein
verschachtelter Datenstrom b', der die Seiteninformationen
der fünf Folgen sowie die fünf Folgen nun jedoch in ver
schachtelter Form aufweist, wobei sich jedoch die insgesamte
Anzahl von Bits durch die Verschachtelung nicht geändert
hat. Die höhere Interleavertiefe hat den Vorteil, daß
Burst-Fehler im Übertragungskanal über einen größeren Zeit
raum verteilt werden, so daß aus einem Burst-Fehler, also
aus einer Störung über eine gewisse Zeit, eine Vielzahl von
Einzelfehlern wird, die insbesondere von dem verketteten
Iterationsschema sogar idealerweise vollständig korrigiert
werden können.
In Abweichung von dem beschriebenen Ausführungsbeispiel kann
als Decodieralgorithmus auch ein suboptimaler Soft-Input-
Soft-Output-Algorithmus eingesetzt werden. Beispielhafte Al
gorithmen, die statt des BCJR-Algorithmus eingesetzt werden
können, sind der SOVA-Algorithmus (SOVA = Soft Output
Viterbi Algorithm) oder der MAX-LOG-MAP-Algorithmus.
Das erfindungsgemäße Konzept zum Decodieren von Codewörtern
variabler Länge kann in allen Systemen eingesetzt werden,
die zur Datenreduktion solche Codes verwenden. Insbesondere
bieten sich Einsatzmöglichkeiten für Audio-Decodierer gemäß
MP3 oder MPEG2-AAC an. Darüberhinaus kann das erfindungsge
mäße Konzept auch bei der Komprimierung bzw. Dekomprimierung
von Bild- und Videodaten gemäß JPEG oder MPEG eingesetzt
werden. Schließlich werden auch Codes mit Codewörtern varia
bler Länge zur Datenreduktion im Fax-Standard verwendet.
Auch hier kann das erfindungsgemäße Konzept vorteilhaft ein
gesetzt werden.
Wird das erfindungsgemäße Konzept anstelle von herkömmlichen
Verfahren zur Decodierung bzw. Codierung von Codes variabler
Länge eingesetzt, kann die Fehlerrate insbesondere bei Ver
wendung der iterativen Decodierung erheblich gesenkt werden,
bzw. bei gleicher Fehlerrate kann die aufzuwendende Sende
leistung deutlich gesenkt werden.
Claims (21)
1. Verfahren zum Decodieren einer Folge von Codewörtern
variabler Länge, wobei ein Codewort aus einer variablen
Anzahl von Codewort-Einheiten zusammengesetzt ist und
über eine Codiervorschrift einem Informationssymbol zu
geordnet ist, mit folgenden Schritten:
Bereitstellen (18) der Anzahl von Codewörtern der Folge sowie der Anzahl von Codewort-Einheiten der Folge;
Bereitstellen (20) eines Trellis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Code wort-Einheiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Codewort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert;
Bereitstellen (16) von Wahrscheinlichkeitsinformationen für jede Codewort-Einheit der Folge von Codewörtern va riabler Länge; und
Decodieren (14) der Folge von Codewörtern unter Verwen dung des Trellis-Diagramms und der Wahrscheinlichkeits informationen für die Codewort-Einheiten, um die Infor mationssymbole zu erhalten, die der Folge von Codewör tern zugeordnet sind.
Bereitstellen (18) der Anzahl von Codewörtern der Folge sowie der Anzahl von Codewort-Einheiten der Folge;
Bereitstellen (20) eines Trellis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Code wort-Einheiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Codewort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert;
Bereitstellen (16) von Wahrscheinlichkeitsinformationen für jede Codewort-Einheit der Folge von Codewörtern va riabler Länge; und
Decodieren (14) der Folge von Codewörtern unter Verwen dung des Trellis-Diagramms und der Wahrscheinlichkeits informationen für die Codewort-Einheiten, um die Infor mationssymbole zu erhalten, die der Folge von Codewör tern zugeordnet sind.
2. Verfahren nach Anspruch 1, bei dem im Schritt des Be
reitstellens (20) eines Trellis-Diagranuns ein zweidi
mensionales Trellis-Diagramm bereitgestellt wird, bei
dem eine Dimension die Anzahl k der Symbole einer Teil
folge von Codewörtern umfaßt, und die andere Dimension
die Anzahl n der Codewort-Einheiten für eine Teilfolge
von Codewörtern umfaßt.
3. Verfahren nach Anspruch 1, bei dem im Schritt des Be
reitstellens (20) eines Trellis-Diagramms ein zweidi
mensionales Trellis-Diagramm bereitgestellt wird, bei
dem eine Dimension die Anzahl k der Symbole einer Teil
folge umfaßt, und die andere Dimension einen Index für
mögliche Knoten einer Teilfolge mit k Symbolen umfaßt.
4. Verfahren nach Anspruch 1, bei dem im Schritt das Be
reitstellens (20) eines Trellis-Diagramms ein zweidi
mensionales Trellis-Diagramm bereitgestellt wird, bei
dem die eine Dimension die Anzahl der Codewort-Ein
heiten einer Codewort-Einheiten-Teilfolge umfaßt, und
die andere Dimension einen Index für mögliche Codewort-Einheiten-Positionen
der Teilfolge umfaßt, wobei
die Endknoten der Codewort-Einheiten-Teilfolge Knoten
oder Unterknoten sein können.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem im Schritt des Decodierens (14) eine Sequenzschät
zung unter Verwendung des Viterbi-Algorithmus durchge
führt wird.
6. Verfahren nach Anspruch 5, bei dem die Sequenzschätzung
durchgeführt wird, indem für jeden zu einem Knoten des
Trellis-Diagramms führenden Zweig unter Verwendung ei
ner Pfadmetrik aus einem vorausgehenden Berechnungs
schritt für den Knoten, von dem der Zweig ausgeht, und
unter Verwendung einer Übergangsmetrik, die aus den
Wahrscheinlichkeitsinformationen der Codewort-Einheiten
abgeleitet ist, die diesem Zweig zugeordnet sind, eine
Zustandsmetrik für den Zustand ermittelt wird, worauf
hin der Zweig gespeichert wird, der die günstigste Zu
standsmetrik liefert, so daß nach einer Mehrzahl von
Berechnungsschritten eine Folge von decodierten Infor
mationssymbolen erhalten wird, die den Informations
symbolen am wahrscheinlichsten entspricht, die durch
die Codewörter codiert worden sind.
7. Verfahren nach Anspruch 1 oder 2, bei dem im Schritt
des Decodierens (14) eine Codewort-weise Maximum-A-Po
steriori-Schätzung durchgeführt wird.
8. Verfahren nach Anspruch 7, bei dem die Maximum-A-Po
steriori-Schätzung derart durchgeführt wird, daß für
jedes Informationssymbol ein A-Posteriori-Wahrschein
lichkeitswert erhalten wird, indem folgende Schritte
ausgeführt werden:
Berechnen (52) einer Zweigmetrik für jeden Zweig unter Verwendung der Wahrscheinlichkeitsinformationen für die dem jeweiligen Zweig zugeordneten Codewort-Einheiten;
Durchführen (54) einer Vorwärtsrekursion, um Vorwärts- Wahrscheinlichkeitsinformationen (α) für jeden Symbol zustand zu erhalten, von dem ein Zweig ausgeht, unter Verwendung von Zweigmetriken für Zweige, die diesem Symbolzustand vorausgehen;
Durchführen (56) einer Rückwärtsrekursion, um Rück wärts-Wahrscheinlichkeitsinformationen (β) für jeden Symbolzustand zu erhalten, in den ein Zweig mündet, un ter Verwendung von Zweigmetriken aus den Zweigen, die dem Symbolzustand folgen;
Berechnen (58) eines Wahrscheinlichkeitswerts für ein Informationssymbol durch Ermitteln eines Wahrschein lichkeitswerts für jeden Zweig, der diesem Informa tionssymbol zugeordnet ist, durch Multiplikation der Vorwärts-Wahrscheinlichkeitsinformationen (a) für den Symbolzustand, von dem der Zweig ausgeht, mit der Zweigmetrik des Zweigs und mit den Rückwärts-Informa tionen (β) des Zustands, zu dem der Zweig gerichtet ist;
Summieren der für die einem Informationssymbol zugeord neten Zweige erhaltenen Wahrscheinlichkeitswerte, um einen Gesamt-Wahrscheinlichkeitswert für das Informati onssymbol zu erhalten, das den Zweigen zugeordnet ist; und
Ausführen des Schritts des Berechnens für sämtliche an deren Informationssymbole und Auswählen des Informa tionssymbols als Ausgabe, das den höchsten Gesamt-Wahr scheinlichkeitswert hat und Ausgeben des ausgewählten Informationssymbols samt seinem Wahrscheinlichkeits wert.
Berechnen (52) einer Zweigmetrik für jeden Zweig unter Verwendung der Wahrscheinlichkeitsinformationen für die dem jeweiligen Zweig zugeordneten Codewort-Einheiten;
Durchführen (54) einer Vorwärtsrekursion, um Vorwärts- Wahrscheinlichkeitsinformationen (α) für jeden Symbol zustand zu erhalten, von dem ein Zweig ausgeht, unter Verwendung von Zweigmetriken für Zweige, die diesem Symbolzustand vorausgehen;
Durchführen (56) einer Rückwärtsrekursion, um Rück wärts-Wahrscheinlichkeitsinformationen (β) für jeden Symbolzustand zu erhalten, in den ein Zweig mündet, un ter Verwendung von Zweigmetriken aus den Zweigen, die dem Symbolzustand folgen;
Berechnen (58) eines Wahrscheinlichkeitswerts für ein Informationssymbol durch Ermitteln eines Wahrschein lichkeitswerts für jeden Zweig, der diesem Informa tionssymbol zugeordnet ist, durch Multiplikation der Vorwärts-Wahrscheinlichkeitsinformationen (a) für den Symbolzustand, von dem der Zweig ausgeht, mit der Zweigmetrik des Zweigs und mit den Rückwärts-Informa tionen (β) des Zustands, zu dem der Zweig gerichtet ist;
Summieren der für die einem Informationssymbol zugeord neten Zweige erhaltenen Wahrscheinlichkeitswerte, um einen Gesamt-Wahrscheinlichkeitswert für das Informati onssymbol zu erhalten, das den Zweigen zugeordnet ist; und
Ausführen des Schritts des Berechnens für sämtliche an deren Informationssymbole und Auswählen des Informa tionssymbols als Ausgabe, das den höchsten Gesamt-Wahr scheinlichkeitswert hat und Ausgeben des ausgewählten Informationssymbols samt seinem Wahrscheinlichkeits wert.
9. Verfahren nach Anspruch 1, 2 oder 4, bei dem im Schritt
des Decodierens eine Codewort-Einheiten-weise Maximum-
A-Posteriori-Schätzung durchgeführt wird.
10. Verfahren nach einem der Ansprüche 7 bis 9, bei dem die
Codewort-Einheiten binär sind, und bei dem die Wahr
scheinlichkeitswerte für eine Codewort-Einheit als
Log-Likelihood-Verhältnis berechnet werden, wobei das
Log-Likelihood-Verhältnis als Logarithmus des Verhält
nisses der Wahrscheinlichkeit, daß die Codewort-Einheit
eine binäre 0 darstellt, zu der Wahrscheinlichkeit, daß
die Codewort-Einheit eine binäre 1 darstellt, definiert
ist.
11. Vorrichtung zum Decodieren einer Folge von Codewörtern
variabler Länge, wobei ein Codewort aus einer variablen
Anzahl von Codewort-Einheiten zusammengesetzt ist und
über eine Codiervorschrift einem Informationssymbol zu
geordnet ist, mit folgenden Merkmalen:
einer Einrichtung zum Bereitstellen (18) der Anzahl von Codewörtern der Folge sowie der Anzahl von Codewort- Einheiten der Folge;
einer Einrichtung zum Bereitstellen (20) eines Trel lis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Codewort-Einheiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten 113 mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert;
einer Einrichtung zum Bereitstellen (16) von Wahr scheinlichkeitsinformationen für jede Codewort-Einheit der Folge von Codewörtern variabler Länge; und
einer Einrichtung zum Decodieren (14) der Folge von Codewörtern unter Verwendung des Trellis-Diagramms und der Wahrscheinlichkeitsinformationen für die Codewort- Einheiten, um die Informationssymbole zu erhalten, die der Folge von Codewörtern zugeordnet sind.
einer Einrichtung zum Bereitstellen (18) der Anzahl von Codewörtern der Folge sowie der Anzahl von Codewort- Einheiten der Folge;
einer Einrichtung zum Bereitstellen (20) eines Trel lis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Codewort-Einheiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten 113 mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert;
einer Einrichtung zum Bereitstellen (16) von Wahr scheinlichkeitsinformationen für jede Codewort-Einheit der Folge von Codewörtern variabler Länge; und
einer Einrichtung zum Decodieren (14) der Folge von Codewörtern unter Verwendung des Trellis-Diagramms und der Wahrscheinlichkeitsinformationen für die Codewort- Einheiten, um die Informationssymbole zu erhalten, die der Folge von Codewörtern zugeordnet sind.
12. Vorrichtung nach Anspruch 11, bei der die Einrichtung
(20) zum Bereitstellen eines Trellis-Diagramms ein
Nur-Lese-Speicher ist, der eine Vielzahl von Trellis-
Diagrammen für verschiedene Anzahlen von Codewörtern
und Codewort-Einheiten umfaßt und durch eine bestimmte
Codewort-Anzahl und eine bestimmte Codewort-Einheiten-
Anzahl adressierbar ist.
13. Vorrichtung nach Anspruch 11, bei der die Einrichtung
(20) zum Bereitstellen ein Rechner ist, der abhängig
von der bereitgestellten Anzahl von Codewörtern der
Folge und der bereitgestellten Anzahl von Codewort-
Einheiten der Folge ein entsprechendes Trellis-Diagramm
erzeugt.
14. Vorrichtung zum Erzeugen eines Datenstroms mit einer
Folge von Codewörtern variabler Länge, die aus einer
variablen Anzahl von Codewort-Einheiten zusammengesetzt
ist, aus einer Folge von Informationssymbolen, mit fol
genden Merkmalen:
einer Einrichtung (80) zum Codieren eines Informations symbols mit einem Codewort variabler Länge, um nachein ander eine Folge von Codewörtern variabler Länge zu er halten;
einer Einrichtung (82) zum Bestimmen der Anzahl der Codewort-Einheiten der Folge von Codewörtern; und
einer Einrichtung zum Eintragen der Anzahl der Code wort-Einheiten als Seiteninformationen in den Daten strom.
einer Einrichtung (80) zum Codieren eines Informations symbols mit einem Codewort variabler Länge, um nachein ander eine Folge von Codewörtern variabler Länge zu er halten;
einer Einrichtung (82) zum Bestimmen der Anzahl der Codewort-Einheiten der Folge von Codewörtern; und
einer Einrichtung zum Eintragen der Anzahl der Code wort-Einheiten als Seiteninformationen in den Daten strom.
15. Vorrichtung nach Anspruch 14,
bei der die Einrichtung (82) zum Bestimmen angeordnet ist, um ferner die Anzahl der Codewörter der Folge zu erfassen, und
bei der die Einrichtung zum Eintragen angeordnet ist, um ferner die Anzahl der Codewörter als Seiteninforma tionen in den Datenstrom einzutragen.
bei der die Einrichtung (82) zum Bestimmen angeordnet ist, um ferner die Anzahl der Codewörter der Folge zu erfassen, und
bei der die Einrichtung zum Eintragen angeordnet ist, um ferner die Anzahl der Codewörter als Seiteninforma tionen in den Datenstrom einzutragen.
16. Vorrichtung nach Anspruch 14 oder 15, die ferner fol
gendes Merkmal aufweist:
eine Einrichtung zum Redundanz-Codieren der Seitenin
formationen, um die Seiteninformationen gegen Übertragungsfehler
zu schützen.
17. Vorrichtung nach einem der Ansprüche 14 bis 16, die
ferner einen Interleaver (212) aufweist, wobei die
Vorrichtung angeordnet ist, um dem Interleaver (212)
als Eingangsdaten eine Mehrzahl von terminierten Folgen
von Codewörtern zu liefern, um eine Interleavertiefe zu
schaffen, die zumindest zwei terminierte Folgen von
Codewörtern umfaßt.
18. Verfahren zum Erzeugen eines Datenstroms mit einer Fol
ge von Codewörtern variabler Länge, die aus einer va
riablen Anzahl von Codewort-Einheiten zusammengesetzt
ist, aus einer Folge von Informationssymbolen, mit fol
genden Schritten:
Zuweisen (80) eines Codeworts variabler Länge zu einem Informationssignal, um nacheinander eine Folge von Codewörtern variabler Länge zu erhalten;
Bestimmen (82) der Anzahl der Codewörter und der Anzahl der Codewort-Einheiten der Folge von Codewörtern; und
Eintragen der Anzahl der Codewörter und der Anzahl der Codewort-Einheiten als Seiteninformationen in den Da tenstrom.
Zuweisen (80) eines Codeworts variabler Länge zu einem Informationssignal, um nacheinander eine Folge von Codewörtern variabler Länge zu erhalten;
Bestimmen (82) der Anzahl der Codewörter und der Anzahl der Codewort-Einheiten der Folge von Codewörtern; und
Eintragen der Anzahl der Codewörter und der Anzahl der Codewort-Einheiten als Seiteninformationen in den Da tenstrom.
19. Vorrichtung zum Decodieren eines Datenstroms (y), der
durch Entropie-Codieren (210) einer Folge (u) von In
formationssymbolen mittels Codewörter variabler Länge,
die aus einer variablen Anzahl von Codewort-Einheiten
zusammengesetzt sind, und durch Kanalcodieren (214) zur
Fehlerkorrektur erzeugt worden ist, mit folgenden Merk
malen:
einer Einrichtung zum Bereitstellen von Wahrscheinlich keitsinformationen für den Datenstrom (y);
einer ersten Einrichtung (216) zum Decodieren des Da tenstroms, um die Kanalcodierung zu entfernen, unter Verwendung der Wahrscheinlichkeitsinformationen für den Datenstrom, wobei die erste Einrichtung (216) zum Deco dieren angeordnet ist, um eine Soft-Input-Soft-Output- Decodierung durchzuführen, so daß jeder Codewort-Ein heit an einem Ausgang der ersten Einrichtung (216) zum Decodieren ein erster Wahrscheinlichkeitswert (250) zugeordnet ist;
einer zweiten Einrichtung (200) zum Decodieren einer Folge von Codewort-Einheiten, die aus den Codewort-Ein heiten an dem Ausgang der ersten Einrichtung (216) zum Decodieren besteht, mit folgenden Merkmalen:
einer ersten Einrichtung zum Bereitstellen einer Anzahl der Codewörter in der Folge von Codewörtern und der Anzahl von Codewort-Einheiten der Folge von Codewörtern;
einer zweiten Einrichtung (20) zum Bereitstellen eines Trellis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Codewort-Ein heiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert; und
einer Einrichtung (14) zum Ermitteln der Folge von Informationssymbolen unter Verwendung des Trel lis-Diagramms und von Wahrscheinlichkeitswerten für die Codewort-Einheiten, wobei die Einrichtung (14) zum Ermitteln angeordnet ist, um eine Code wort-Weise Soft-Input-Soft-Output-Decodierung durchzuführen, um für jede Codewort-Einheit einen zweiten Wahrscheinlichkeitswert (252) zu erzeugen;
einem ersten Kombinierer (218) zum Codewort-Einheiten weisen Kombinieren eines ersten Kombinations-Wahr scheinlichkeitswerts (254) mit dem zweiten Wahrschein lichkeitswert (252), um einen zweiten Kombinations- Wahrscheinlichkeitswert (256) für jede Codewort-Einheit zu erzeugen, wobei der zweite Kombinations-Wahrschein lichkeitswert (256) für jede Codewort-Einheit der er sten Einrichtung (216) zum Decodieren als A-Priori- Wahrscheinlichkeitsinformation bereitgestellt wird, um neben den für den Datenstrom bereitgestellten Wahr scheinlichkeitsinformationen verwendet zu werden, und wobei der zweite Kombinations-Wahrscheinlichkeitswert im wesentlichen den Beitrag der zweiten Einrichtung (200) zum Decodieren betrifft; und
einem zweiten Kombinierer (220) zum Codewort-Einhei ten-weisen Kombinieren des zweiten Kombinations-Wahr scheinlichkeitswerts (256) mit dem ersten Wahrschein lichkeitswert (250), um den ersten Kombinations-Wahr scheinlichkeitswert (254) für jede Codewort-Einheit zu liefern, wobei der erste Kombinations-Wahrscheinlich keitswert im wesentlichen den Beitrag der ersten Ein richtung (216) zum Decodieren betrifft;
wobei die Vorrichtung zum Decodieren angeordnet ist, um einen iterativen Betrieb auszuführen,
indem in einem ersten Schritt die erste Einrichtung (216) zum Decodieren keine A-Priori-Wahrscheinlich keitsinformationen verwendet, der erste Kombinations- Wahrscheinlichkeitswert (254) gleich dem ersten Wahr scheinlichkeitswert (250) ist, und die Wahrscheinlich keitsinformationen, die die zweite Einrichtung (200) zum Decodieren verwendet, gleich dem ersten Wahrschein lichkeitswert (250) sind; und
indem in einem zweiten und jedem optionalen weiteren Schritt die erste Einrichtung (216) zum Decodieren A- Priori-Wahrscheinlichkeitsinformationen verwendet werden, die gleich dem zweiten Kombinations-Wahrschein lichkeitswert (256) der entsprechenden Ergebnisse des vorausgehenden Schritts sind, und die zweite Einrich tung (200) zum Decodieren als Wahrscheinlichkeitswerte den ersten Kombinations-Wahrscheinlichkeitswert (254) der entsprechenden Ergebnisse des vorausgehenden Schritts verwendet, und
wobei die zweite Einrichtung (200) zum Decodieren fer ner angeordnet ist, um im Falle eines Endes des iterativen Betriebs die wahrscheinlichste Folge von Informa tionssymbolen und/oder symbolweise Wahrscheinlichkeits informationen für die wahrscheinlichste Folge von In formationssymbolen auszugeben.
einer Einrichtung zum Bereitstellen von Wahrscheinlich keitsinformationen für den Datenstrom (y);
einer ersten Einrichtung (216) zum Decodieren des Da tenstroms, um die Kanalcodierung zu entfernen, unter Verwendung der Wahrscheinlichkeitsinformationen für den Datenstrom, wobei die erste Einrichtung (216) zum Deco dieren angeordnet ist, um eine Soft-Input-Soft-Output- Decodierung durchzuführen, so daß jeder Codewort-Ein heit an einem Ausgang der ersten Einrichtung (216) zum Decodieren ein erster Wahrscheinlichkeitswert (250) zugeordnet ist;
einer zweiten Einrichtung (200) zum Decodieren einer Folge von Codewort-Einheiten, die aus den Codewort-Ein heiten an dem Ausgang der ersten Einrichtung (216) zum Decodieren besteht, mit folgenden Merkmalen:
einer ersten Einrichtung zum Bereitstellen einer Anzahl der Codewörter in der Folge von Codewörtern und der Anzahl von Codewort-Einheiten der Folge von Codewörtern;
einer zweiten Einrichtung (20) zum Bereitstellen eines Trellis-Diagramms abhängig von der Anzahl von Codewörtern und der Anzahl von Codewort-Ein heiten,
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert; und
einer Einrichtung (14) zum Ermitteln der Folge von Informationssymbolen unter Verwendung des Trel lis-Diagramms und von Wahrscheinlichkeitswerten für die Codewort-Einheiten, wobei die Einrichtung (14) zum Ermitteln angeordnet ist, um eine Code wort-Weise Soft-Input-Soft-Output-Decodierung durchzuführen, um für jede Codewort-Einheit einen zweiten Wahrscheinlichkeitswert (252) zu erzeugen;
einem ersten Kombinierer (218) zum Codewort-Einheiten weisen Kombinieren eines ersten Kombinations-Wahr scheinlichkeitswerts (254) mit dem zweiten Wahrschein lichkeitswert (252), um einen zweiten Kombinations- Wahrscheinlichkeitswert (256) für jede Codewort-Einheit zu erzeugen, wobei der zweite Kombinations-Wahrschein lichkeitswert (256) für jede Codewort-Einheit der er sten Einrichtung (216) zum Decodieren als A-Priori- Wahrscheinlichkeitsinformation bereitgestellt wird, um neben den für den Datenstrom bereitgestellten Wahr scheinlichkeitsinformationen verwendet zu werden, und wobei der zweite Kombinations-Wahrscheinlichkeitswert im wesentlichen den Beitrag der zweiten Einrichtung (200) zum Decodieren betrifft; und
einem zweiten Kombinierer (220) zum Codewort-Einhei ten-weisen Kombinieren des zweiten Kombinations-Wahr scheinlichkeitswerts (256) mit dem ersten Wahrschein lichkeitswert (250), um den ersten Kombinations-Wahr scheinlichkeitswert (254) für jede Codewort-Einheit zu liefern, wobei der erste Kombinations-Wahrscheinlich keitswert im wesentlichen den Beitrag der ersten Ein richtung (216) zum Decodieren betrifft;
wobei die Vorrichtung zum Decodieren angeordnet ist, um einen iterativen Betrieb auszuführen,
indem in einem ersten Schritt die erste Einrichtung (216) zum Decodieren keine A-Priori-Wahrscheinlich keitsinformationen verwendet, der erste Kombinations- Wahrscheinlichkeitswert (254) gleich dem ersten Wahr scheinlichkeitswert (250) ist, und die Wahrscheinlich keitsinformationen, die die zweite Einrichtung (200) zum Decodieren verwendet, gleich dem ersten Wahrschein lichkeitswert (250) sind; und
indem in einem zweiten und jedem optionalen weiteren Schritt die erste Einrichtung (216) zum Decodieren A- Priori-Wahrscheinlichkeitsinformationen verwendet werden, die gleich dem zweiten Kombinations-Wahrschein lichkeitswert (256) der entsprechenden Ergebnisse des vorausgehenden Schritts sind, und die zweite Einrich tung (200) zum Decodieren als Wahrscheinlichkeitswerte den ersten Kombinations-Wahrscheinlichkeitswert (254) der entsprechenden Ergebnisse des vorausgehenden Schritts verwendet, und
wobei die zweite Einrichtung (200) zum Decodieren fer ner angeordnet ist, um im Falle eines Endes des iterativen Betriebs die wahrscheinlichste Folge von Informa tionssymbolen und/oder symbolweise Wahrscheinlichkeits informationen für die wahrscheinlichste Folge von In formationssymbolen auszugeben.
20. Vorrichtung nach Anspruch 19, bei der der Datenstrom
(b) vor dem Kanalcodieren (214) einer Interleaving-Ope
ration (212) unterzogen wurde, wobei die Vorrichtung
ferner folgende Merkmale aufweist:
einen Deinterleaver (222) zum Rückgängigmachen der In terleaving-Operation, der zwischen den zweiten Kombi nierer (220) und die zweite Einrichtung (200) zum Deco dieren geschaltet ist; und
einen Interleaver (224), der zwischen dem ersten Kom binierer (218) und dem zweiten Kombinierer (220) an geordnet ist, um mit den Codewort-Einheiten-weisen zweiten Kombinations-Wahrscheinlichkeitswerten (256) eine Interleaving-Operation durchzuführen, die der Interleaving-Operation entspricht, mit der der Datenstrom vor dem Kanalcodieren unterzogen worden ist.
einen Deinterleaver (222) zum Rückgängigmachen der In terleaving-Operation, der zwischen den zweiten Kombi nierer (220) und die zweite Einrichtung (200) zum Deco dieren geschaltet ist; und
einen Interleaver (224), der zwischen dem ersten Kom binierer (218) und dem zweiten Kombinierer (220) an geordnet ist, um mit den Codewort-Einheiten-weisen zweiten Kombinations-Wahrscheinlichkeitswerten (256) eine Interleaving-Operation durchzuführen, die der Interleaving-Operation entspricht, mit der der Datenstrom vor dem Kanalcodieren unterzogen worden ist.
21. Verfahren zum Decodieren eines Datenstroms (y), der
durch Entropie-Codieren (210) einer Folge (u) von In
formationssymbolen mittels Codewörter variabler Länge,
die aus einer variablen Anzahl von Codewort-Einheiten
zusammengesetzt sind, und durch Kanalcodieren (214) zur
Fehlerkorrektur erzeugt worden ist, mit folgenden
Schritten:
Bereitstellen von Wahrscheinlichkeitsinformationen für den Datenstrom (y);
Decodieren (216) des Datenstroms, um die Kanalcodierung zu entfernen, unter Verwendung der Wahrscheinlichkeits informationen für den Datenstrom, um eine Soft-Input- Soft-Output-Decodierung durchzuführen, so daß jeder Codewort-Einheit ein erster Wahrscheinlichkeitswert (250) zugeordnet wird;
Decodieren (200) einer Folge von Codewort-Einheiten, die aus den Codewort-Einheiten, denen der erste Wahr scheinlichkeitswert (250) zugeordnet ist, besteht, durch folgende Teilschritte:
Bereitstellen (18) einer Anzahl der Codewörter in der Folge von Codewörtern und der Anzahl von Code wort-Einheiten der Folge von Codewörtern;
Bereitstellen (20) eines Trellis-Diagramms abhän gig von der Anzahl von Codewörtern und der Anzahl von Codewort-Einheiten;
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert; und
Ermitteln (14) der Folge von Informationssymbolen unter Verwendung des Trellis-Diagramms und von Wahrscheinlichkeitswerten für die Codewort-Einhei ten, um eine Codewort-Weise Soft-Input-Soft-Out put-Decodierung durchzuführen, um für jede Code wort-Einheit einen zweiten Wahrscheinlichkeitswert (252) zu erzeugen;
Codewort-Einheiten-weises Kombinieren (218) eines er sten Kombinations-Wahrscheinlichkeitswerts (254) mit dem zweiten Wahrscheinlichkeitswert (252), um einen zweiten Kombinations-Wahrscheinlichkeitswert (256) für jede Codewort-Einheit zu erzeugen, wobei der zweite Kombinations-Wahrscheinlichkeitswert (256) für jede Codewort-Einheit beim Decodieren (216) des Datenstroms als A-Priori-Wahrscheinlichkeitsinformation bereitge stellt wird, um neben den für den Datenstrom bereitge stellten Wahrscheinlichkeitsinformationen verwendet zu werden, und wobei der zweite Kombinations-Wahrschein lichkeitswert im wesentlichen den Beitrag des Decodie rens der Folge (200) betrifft; und
Codewort-Einheiten-weises Kombinieren (220) des zweiten Kombinations-Wahrscheinlichkeitswerts (256) mit dem er sten Wahrscheinlichkeitswert (250), um den ersten Kom binations-Wahrscheinlichkeitswert (254) für jede Code wort-Einheit zu liefern, wobei der erste Kombinations- Wahrscheinlichkeitswert im wesentlichen den Beitrag des Decodierens (216) des Datenstroms betrifft;
wobei das Verfahren zum Decodieren iterativ ausgeführt wird,
wobei in einem ersten Iterationsschritt keine A-Pri ori-Wahrscheinlichkeitsinformationen verwendet werden, der erste Kombinations-Wahrscheinlichkeitswert (254) gleich dem ersten Wahrscheinlichkeitswert (250) ist, und die Wahrscheinlichkeitsinformationen, die beim De codieren (200) der Folge verwendet, gleich dem ersten Wahrscheinlichkeitswert (250) sind; und
wobei in einem zweiten und jedem optionalen weiteren Iterationschritt beim Decodieren (216) des Datenstroms A-Priori-Wahrscheinlichkeitsinformationen verwendet werden, die gleich dem zweiten Kombinations-Wahrschein lichkeitswert (256) der entsprechenden Ergebnisse des vorausgehenden Schritts sind, und beim Decodieren (200) der Folge als Wahrscheinlichkeitswert der erste Kombi nations-Wahrscheinlichkeitswert (254) der entsprechen den Ergebnisse des vorausgehenden Sehritts verwendet wird, und
wobei der Schritt des Decodierens (200) der Folge im Falle eines Endes der Iteration den Schritt des Ausge bens der wahrscheinlichsten Folge von Informationssym bolen und/oder symbolweise Wahrscheinlichkeitsinforma tionen für die wahrscheinlichste Folge von Informati onssymbolen umfaßt.
Bereitstellen von Wahrscheinlichkeitsinformationen für den Datenstrom (y);
Decodieren (216) des Datenstroms, um die Kanalcodierung zu entfernen, unter Verwendung der Wahrscheinlichkeits informationen für den Datenstrom, um eine Soft-Input- Soft-Output-Decodierung durchzuführen, so daß jeder Codewort-Einheit ein erster Wahrscheinlichkeitswert (250) zugeordnet wird;
Decodieren (200) einer Folge von Codewort-Einheiten, die aus den Codewort-Einheiten, denen der erste Wahr scheinlichkeitswert (250) zugeordnet ist, besteht, durch folgende Teilschritte:
Bereitstellen (18) einer Anzahl der Codewörter in der Folge von Codewörtern und der Anzahl von Code wort-Einheiten der Folge von Codewörtern;
Bereitstellen (20) eines Trellis-Diagramms abhän gig von der Anzahl von Codewörtern und der Anzahl von Codewort-Einheiten;
wobei das Trellis-Diagramm von einem einzigen de finierten Ausgangszustand (100) startet und an ei nem einzigen definierten Endzustand (102) endet, der durch die Anzahl von Codewörtern und die An zahl von Codewort-Einheiten festgelegt ist,
wobei das Trellis-Diagramm Knoten (104, 106, 108) und Zweige (110, 112, 114) aufweist, wobei ein Knoten einen Endzustand einer Teilfolge von Code wörtern darstellt, und wobei ein Zweig ein Code wort darstellt, durch das von einem Endzustand ei ner Teilfolge, von dem der Zweig ausgeht, zu einem Endzustand einer anderen Teilfolge übergegangen wird, zu dem der Zweig gerichtet ist, wobei die andere Teilfolge das Codewort umfaßt, das durch den Zweig dargestellt wird; und
wobei jeder Zweig aus einer Anzahl von Unterzwei gen (112a, 112b) besteht, die gleich der Anzahl von Codewort-Einheiten des diesem Zweig zugeord neten Codeworts ist, so daß jedem Unterzweig (112a, 112b) eine Codewort-Einheit zugeordnet ist, wobei jeder Unterzweig eines Zweigs, dem ein Code wort mit zumindest zwei Codewort-Einheiten zuge ordnet ist, über einen Unterknoten (113) mit einem anderen Unterzweig dieses Zweigs verbunden ist, wobei keine Verbindung zwischen einem Unterknoten eines Zweigs mit einem Unterknoten eines anderen Zweigs existiert; und
Ermitteln (14) der Folge von Informationssymbolen unter Verwendung des Trellis-Diagramms und von Wahrscheinlichkeitswerten für die Codewort-Einhei ten, um eine Codewort-Weise Soft-Input-Soft-Out put-Decodierung durchzuführen, um für jede Code wort-Einheit einen zweiten Wahrscheinlichkeitswert (252) zu erzeugen;
Codewort-Einheiten-weises Kombinieren (218) eines er sten Kombinations-Wahrscheinlichkeitswerts (254) mit dem zweiten Wahrscheinlichkeitswert (252), um einen zweiten Kombinations-Wahrscheinlichkeitswert (256) für jede Codewort-Einheit zu erzeugen, wobei der zweite Kombinations-Wahrscheinlichkeitswert (256) für jede Codewort-Einheit beim Decodieren (216) des Datenstroms als A-Priori-Wahrscheinlichkeitsinformation bereitge stellt wird, um neben den für den Datenstrom bereitge stellten Wahrscheinlichkeitsinformationen verwendet zu werden, und wobei der zweite Kombinations-Wahrschein lichkeitswert im wesentlichen den Beitrag des Decodie rens der Folge (200) betrifft; und
Codewort-Einheiten-weises Kombinieren (220) des zweiten Kombinations-Wahrscheinlichkeitswerts (256) mit dem er sten Wahrscheinlichkeitswert (250), um den ersten Kom binations-Wahrscheinlichkeitswert (254) für jede Code wort-Einheit zu liefern, wobei der erste Kombinations- Wahrscheinlichkeitswert im wesentlichen den Beitrag des Decodierens (216) des Datenstroms betrifft;
wobei das Verfahren zum Decodieren iterativ ausgeführt wird,
wobei in einem ersten Iterationsschritt keine A-Pri ori-Wahrscheinlichkeitsinformationen verwendet werden, der erste Kombinations-Wahrscheinlichkeitswert (254) gleich dem ersten Wahrscheinlichkeitswert (250) ist, und die Wahrscheinlichkeitsinformationen, die beim De codieren (200) der Folge verwendet, gleich dem ersten Wahrscheinlichkeitswert (250) sind; und
wobei in einem zweiten und jedem optionalen weiteren Iterationschritt beim Decodieren (216) des Datenstroms A-Priori-Wahrscheinlichkeitsinformationen verwendet werden, die gleich dem zweiten Kombinations-Wahrschein lichkeitswert (256) der entsprechenden Ergebnisse des vorausgehenden Schritts sind, und beim Decodieren (200) der Folge als Wahrscheinlichkeitswert der erste Kombi nations-Wahrscheinlichkeitswert (254) der entsprechen den Ergebnisse des vorausgehenden Sehritts verwendet wird, und
wobei der Schritt des Decodierens (200) der Folge im Falle eines Endes der Iteration den Schritt des Ausge bens der wahrscheinlichsten Folge von Informationssym bolen und/oder symbolweise Wahrscheinlichkeitsinforma tionen für die wahrscheinlichste Folge von Informati onssymbolen umfaßt.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000100932 DE10000932C2 (de) | 2000-01-12 | 2000-01-12 | Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000100932 DE10000932C2 (de) | 2000-01-12 | 2000-01-12 | Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10000932A1 true DE10000932A1 (de) | 2001-08-30 |
DE10000932C2 DE10000932C2 (de) | 2002-01-10 |
Family
ID=7627255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2000100932 Expired - Fee Related DE10000932C2 (de) | 2000-01-12 | 2000-01-12 | Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10000932C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023236128A1 (en) * | 2022-06-09 | 2023-12-14 | Huawei Technologies Co., Ltd. | Apparatus and methods for source coding and channel coding of low entropy signals |
-
2000
- 2000-01-12 DE DE2000100932 patent/DE10000932C2/de not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
HAGENAUER J., OFFER E., PAPKE L.: Improving the standard coding system for deep space misions, in:Conference Record, :ICC '93 Geneve, IEEE International Conference on Communications, p. 1092-7, Vol. 2 of 3, Geneva, Schwitzerland, * |
MURAD A.H., FUJA T.E.: Robust transmission of variable-length encoded sources, in: Proceedings of Conference: WCNC 1999 Wireless Communication and Networking Conferences, p. 968-72, Vol. 2 of 3New Orleans, LA, USA, 21-24 September 1999 * |
PARK MOONSEO, MILLER D.: Improved joint source-channel decoding for variable-length encoded data using soft decission and MMSE estimation, in: IEEE DOC 1999, Snowbird, UT, USA * |
WEN J., VILLASENOR J.: Utilizing soft information in Decoding of variable length codes, in: Proceedings of Conference: DCC'99 Data Compression Conference, p. 131-9, Snowbird, UT, USA, 29-31 März 1999 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023236128A1 (en) * | 2022-06-09 | 2023-12-14 | Huawei Technologies Co., Ltd. | Apparatus and methods for source coding and channel coding of low entropy signals |
Also Published As
Publication number | Publication date |
---|---|
DE10000932C2 (de) | 2002-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60113053T2 (de) | Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes | |
DE3910739C2 (de) | ||
DE60001988T2 (de) | Turbo Dekodierung mit variabler Anzahl von Iterationen | |
DE69936908T2 (de) | Iterative dekodierung von produktkoden | |
DE69925151T2 (de) | Effiziente normalisierung vom trelliszustandsmetrischem wert | |
DE60003071T2 (de) | Verfahren zur dekodierung von mit einem entropie-code kodierten daten, entsprechende dekodierungsvorrichtung und übertragungssystem | |
WO1996013105A1 (de) | Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf | |
DE60111974T2 (de) | Abbruchkriterium für einen Turbodekoder | |
DE19937506A1 (de) | ACS-Einheit für einen Viterbi-Decodierer | |
DE10310812B4 (de) | Dekodiervorrichtung, Trellis-Prozessor und Verfahren | |
DE19934646C2 (de) | Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes | |
WO2000044100A1 (de) | Verfahren und vorrichtung zur decodierung von faltungscodes | |
WO2002060071A2 (de) | Viterbi-decoder | |
WO2001069789A2 (de) | Optimierter turbo-decodierer | |
EP1249074B1 (de) | Verfahren zur decodierung eines datensignals | |
DE10000932C2 (de) | Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms | |
DE19725275C2 (de) | Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen | |
DE60118716T2 (de) | Log-MAP Dekodierung | |
DE19647653A1 (de) | Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren | |
DE60026109T2 (de) | Kombinierte Kanal - und Entropiedekodierung | |
WO2001069788A2 (de) | Turbo-decodierer und turbo-decodierverfahren | |
DE10120155B4 (de) | Modulation mit paralleler Turbotrelliscodierung | |
EP0912021A2 (de) | Verfahren und Einrichtung zur Datenübertragung | |
DE102014215015B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und /oder beschädigter Daten | |
DE19732122C2 (de) | Verfahren und Einrichtung zur Datenübertragung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |